[Spice-commits] display.js makequic quic.c quic.js quic.shell spicetype.js TODO

Alon Levy alon at kemper.freedesktop.org
Thu Sep 13 08:33:48 PDT 2012


 TODO         |    8 
 display.js   |    9 
 makequic     |    8 
 quic.c       | 7364 ---------------
 quic.js      |27948 ++---------------------------------------------------------
 quic.shell   |   91 
 spicetype.js |   10 
 7 files changed, 984 insertions(+), 34454 deletions(-)

New commits:
commit b4ab3ac5e92a28f9228feaef137ed08863d71797
Author: Aric Stewart <aric at codeweavers.com>
Date:   Thu Sep 13 18:32:38 2012 +0300

    rewrite quic.js to be a native javascript implementation
    
    There remain a few TODOs including implementing more than just rgb32 images
    
    Signed-off-by: Aric Stewart <aric at codeweavers.com>

diff --git a/TODO b/TODO
index fcb6ea2..8cf0994 100644
--- a/TODO
+++ b/TODO
@@ -28,9 +28,6 @@ Medium Tasks:
 
   . Use the 'real' DataView if we have it
 
-  . Remove main() from quic.c and respin it
-      - It's causing unneeded bloat and memory use.
-
   . Consider passing a status change event back to the front end
     (e.g. indicators for numlock, connection status, all that jazz)
 
@@ -71,11 +68,6 @@ Big Tasks:
   . Profile the whole mess
     - Initial profiling suggests image decompression is the big hog
 
-  . Quic:  faster implementations
-      * current implementation is approximately 13x slower
-        than equivalent C code.  Should be able to do
-        much better than that.
-
   . Implement agent support
 
   . Build a test suite for measuring performance
diff --git a/display.js b/display.js
index dd0a2e2..15d43d3 100644
--- a/display.js
+++ b/display.js
@@ -50,9 +50,6 @@ function stripAlpha(d)
         d.data[i + 3] = 255;
 }
 
-// FIXME - this is a hack for quic.js, I should fix this...
-var global_ctx;
-
 /*----------------------------------------------------------------------------
 **  SpiceDisplayConn
 **      Drive the Spice Display Channel
@@ -108,16 +105,19 @@ SpiceDisplayConn.prototype.process_channel_message = function(msg)
 
             if (draw_copy.data.src_bitmap.descriptor.type == SPICE_IMAGE_TYPE_QUIC)
             {
+                var canvas = this.surfaces[draw_copy.base.surface_id].canvas;
                 if (! draw_copy.data.src_bitmap.quic)
                 {
                     this.log_warn("FIXME: DrawCopy could not handle this QUIC file.");
                     return false;
                 }
+                var source_img = convert_spice_quic_to_web(canvas.context,
+                                        draw_copy.data.src_bitmap.quic);
 
                 return this.draw_copy_helper(
                     { base: draw_copy.base,
                       src_area: draw_copy.data.src_area,
-                      image_data: draw_copy.data.src_bitmap.quic.imgData,
+                      image_data: source_img,
                       tag: "copyquic." + draw_copy.data.src_bitmap.quic.type,
                       has_alpha: (draw_copy.data.src_bitmap.quic.type == QUIC_IMAGE_TYPE_RGBA ? true : false) ,
                       descriptor : draw_copy.data.src_bitmap.descriptor
@@ -404,7 +404,6 @@ SpiceDisplayConn.prototype.process_channel_message = function(msg)
 
             /* This .save() is done entirely to enable SPICE_MSG_DISPLAY_RESET */
             canvas.context.save();
-            global_ctx = canvas.context; // FIXME - this is a hack entirely for the emscripten quic.js
             document.getElementById(this.parent.screen_id).appendChild(canvas);
             document.getElementById(this.parent.screen_id).setAttribute('width', m.surface.width);
             document.getElementById(this.parent.screen_id).setAttribute('height', m.surface.height);
diff --git a/makequic b/makequic
deleted file mode 100644
index c32f91c..0000000
--- a/makequic
+++ /dev/null
@@ -1,8 +0,0 @@
-./emcc -o quic.js --shell-file quic.shell quic.c
-echo Okay, quic.js is partly ready.  Three things to do:
-echo 1.  In function _quic_decode_js, after the call to  simple_quic_decode,
-echo     add the code as given by quic.shell
-echo 2.  Delete the run() 3 line block near the bottom.
-echo 3.  Add the getQuic() function to the bottom (see quic.shell)
-        
-
diff --git a/quic.c b/quic.c
deleted file mode 100644
index d101d8b..0000000
--- a/quic.c
+++ /dev/null
@@ -1,7364 +0,0 @@
-/*----------------------------------------------------------------------------
-**  quic.c
-**      This file was created initially by performing a gcc -E on the spice
-**  quic code.  Utility functions were then added.  It is then passed through
-**  emscripten to create an initial quic.js, which is also then mangled a bit
-**  (see quic.shell), to create a quic.js we can use with our Javascript client.
-**      FIXME:  Take this out back and kill it.
-**--------------------------------------------------------------------------*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int ptrdiff_t;
-
-typedef unsigned int size_t;
-
-typedef int wchar_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef signed char int8_t;
-typedef short int int16_t;
-typedef int int32_t;
-
-
-
-__extension__
-typedef long long int int64_t;
-
-
-
-
-typedef unsigned char uint8_t;
-typedef unsigned short int uint16_t;
-
-typedef unsigned int uint32_t;
-
-
-
-
-
-__extension__
-typedef unsigned long long int uint64_t;
-
-
-
-
-
-
-typedef signed char int_least8_t;
-typedef short int int_least16_t;
-typedef int int_least32_t;
-
-
-
-__extension__
-typedef long long int int_least64_t;
-
-
-
-typedef unsigned char uint_least8_t;
-typedef unsigned short int uint_least16_t;
-typedef unsigned int uint_least32_t;
-
-
-
-__extension__
-typedef unsigned long long int uint_least64_t;
-
-
-
-
-
-
-typedef signed char int_fast8_t;
-
-
-
-
-
-typedef int int_fast16_t;
-typedef int int_fast32_t;
-__extension__
-typedef long long int int_fast64_t;
-
-
-
-typedef unsigned char uint_fast8_t;
-
-
-
-
-
-typedef unsigned int uint_fast16_t;
-typedef unsigned int uint_fast32_t;
-__extension__
-typedef unsigned long long int uint_fast64_t;
-
-typedef int intptr_t;
-
-
-typedef unsigned int uintptr_t;
-
-__extension__
-typedef long long int intmax_t;
-__extension__
-typedef unsigned long long int uintmax_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern void *memcpy (void *__restrict __dest,
-       __const void *__restrict __src, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern void *memmove (void *__dest, __const void *__src, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-
-
-extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
-        int __c, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-
-extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern void *memchr (__const void *__s, int __c, size_t __n)
-      __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern char *strncpy (char *__restrict __dest,
-        __const char *__restrict __src, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
-        size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int strcmp (__const char *__s1, __const char *__s2)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int strcoll (__const char *__s1, __const char *__s2)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern size_t strxfrm (char *__restrict __dest,
-         __const char *__restrict __src, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
-
-
-
-
-
-
-
-
-typedef struct __locale_struct
-{
-
-  struct __locale_data *__locales[13];
-
-
-  const unsigned short int *__ctype_b;
-  const int *__ctype_tolower;
-  const int *__ctype_toupper;
-
-
-  const char *__names[13];
-} *__locale_t;
-
-
-typedef __locale_t locale_t;
-
-
-
-extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
-
-extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
-    __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
-
-
-
-
-
-extern char *strdup (__const char *__s)
-     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern char *strndup (__const char *__string, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern char *strchr (__const char *__s, int __c)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
-
-extern char *strrchr (__const char *__s, int __c)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern size_t strcspn (__const char *__s, __const char *__reject)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern size_t strspn (__const char *__s, __const char *__accept)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern char *strpbrk (__const char *__s, __const char *__accept)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern char *strstr (__const char *__haystack, __const char *__needle)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
-
-
-
-
-extern char *__strtok_r (char *__restrict __s,
-    __const char *__restrict __delim,
-    char **__restrict __save_ptr)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
-
-extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
-         char **__restrict __save_ptr)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
-
-
-
-extern size_t strlen (__const char *__s)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern size_t strnlen (__const char *__string, size_t __maxlen)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
-
-
-extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__))
-
-                        __attribute__ ((__nonnull__ (2)));
-
-extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__));
-
-
-
-
-
-extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern void bcopy (__const void *__src, void *__dest, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern char *index (__const char *__s, int __c)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
-
-extern char *rindex (__const char *__s, int __c)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
-
-extern int strcasecmp (__const char *__s1, __const char *__s2)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern char *strsep (char **__restrict __stringp,
-       __const char *__restrict __delim)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-extern char *strsignal (int __sig) __attribute__ ((__nothrow__));
-
-
-extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-extern char *__stpncpy (char *__restrict __dest,
-   __const char *__restrict __src, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-extern char *stpncpy (char *__restrict __dest,
-        __const char *__restrict __src, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned char __u_char;
-typedef unsigned short int __u_short;
-typedef unsigned int __u_int;
-typedef unsigned long int __u_long;
-
-
-typedef signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef signed short int __int16_t;
-typedef unsigned short int __uint16_t;
-typedef signed int __int32_t;
-typedef unsigned int __uint32_t;
-
-
-
-
-__extension__ typedef signed long long int __int64_t;
-__extension__ typedef unsigned long long int __uint64_t;
-
-
-
-
-
-
-
-__extension__ typedef long long int __quad_t;
-__extension__ typedef unsigned long long int __u_quad_t;
-
-
-
-
-
-__extension__ typedef __u_quad_t __dev_t;
-__extension__ typedef unsigned int __uid_t;
-__extension__ typedef unsigned int __gid_t;
-__extension__ typedef unsigned long int __ino_t;
-__extension__ typedef __u_quad_t __ino64_t;
-__extension__ typedef unsigned int __mode_t;
-__extension__ typedef unsigned int __nlink_t;
-__extension__ typedef long int __off_t;
-__extension__ typedef __quad_t __off64_t;
-__extension__ typedef int __pid_t;
-__extension__ typedef struct { int __val[2]; } __fsid_t;
-__extension__ typedef long int __clock_t;
-__extension__ typedef unsigned long int __rlim_t;
-__extension__ typedef __u_quad_t __rlim64_t;
-__extension__ typedef unsigned int __id_t;
-__extension__ typedef long int __time_t;
-__extension__ typedef unsigned int __useconds_t;
-__extension__ typedef long int __suseconds_t;
-
-__extension__ typedef int __daddr_t;
-__extension__ typedef long int __swblk_t;
-__extension__ typedef int __key_t;
-
-
-__extension__ typedef int __clockid_t;
-
-
-__extension__ typedef void * __timer_t;
-
-
-__extension__ typedef long int __blksize_t;
-
-
-
-
-__extension__ typedef long int __blkcnt_t;
-__extension__ typedef __quad_t __blkcnt64_t;
-
-
-__extension__ typedef unsigned long int __fsblkcnt_t;
-__extension__ typedef __u_quad_t __fsblkcnt64_t;
-
-
-__extension__ typedef unsigned long int __fsfilcnt_t;
-__extension__ typedef __u_quad_t __fsfilcnt64_t;
-
-__extension__ typedef int __ssize_t;
-
-
-
-typedef __off64_t __loff_t;
-typedef __quad_t *__qaddr_t;
-typedef char *__caddr_t;
-
-
-__extension__ typedef int __intptr_t;
-
-
-__extension__ typedef unsigned int __socklen_t;
-
-
-extern void *__rawmemchr (const void *__s, int __c);
-
-extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (__const char *__s, int __reject);
-extern __inline __attribute__ ((__gnu_inline__)) size_t
-__strcspn_c1 (__const char *__s, int __reject)
-{
-  register size_t __result = 0;
-  while (__s[__result] != '\0' && __s[__result] != __reject)
-    ++__result;
-  return __result;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (__const char *__s, int __reject1,
-         int __reject2);
-extern __inline __attribute__ ((__gnu_inline__)) size_t
-__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
-{
-  register size_t __result = 0;
-  while (__s[__result] != '\0' && __s[__result] != __reject1
-  && __s[__result] != __reject2)
-    ++__result;
-  return __result;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (__const char *__s, int __reject1,
-         int __reject2, int __reject3);
-extern __inline __attribute__ ((__gnu_inline__)) size_t
-__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
-       int __reject3)
-{
-  register size_t __result = 0;
-  while (__s[__result] != '\0' && __s[__result] != __reject1
-  && __s[__result] != __reject2 && __s[__result] != __reject3)
-    ++__result;
-  return __result;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (__const char *__s, int __accept);
-extern __inline __attribute__ ((__gnu_inline__)) size_t
-__strspn_c1 (__const char *__s, int __accept)
-{
-  register size_t __result = 0;
-
-  while (__s[__result] == __accept)
-    ++__result;
-  return __result;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (__const char *__s, int __accept1,
-        int __accept2);
-extern __inline __attribute__ ((__gnu_inline__)) size_t
-__strspn_c2 (__const char *__s, int __accept1, int __accept2)
-{
-  register size_t __result = 0;
-
-  while (__s[__result] == __accept1 || __s[__result] == __accept2)
-    ++__result;
-  return __result;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (__const char *__s, int __accept1,
-        int __accept2, int __accept3);
-extern __inline __attribute__ ((__gnu_inline__)) size_t
-__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
-{
-  register size_t __result = 0;
-
-  while (__s[__result] == __accept1 || __s[__result] == __accept2
-  || __s[__result] == __accept3)
-    ++__result;
-  return __result;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c2 (__const char *__s, int __accept1,
-         int __accept2);
-extern __inline __attribute__ ((__gnu_inline__)) char *
-__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
-{
-
-  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
-    ++__s;
-  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c3 (__const char *__s, int __accept1,
-         int __accept2, int __accept3);
-extern __inline __attribute__ ((__gnu_inline__)) char *
-__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
-       int __accept3)
-{
-
-  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
-  && *__s != __accept3)
-    ++__s;
-  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
-extern __inline __attribute__ ((__gnu_inline__)) char *
-__strtok_r_1c (char *__s, char __sep, char **__nextp)
-{
-  char *__result;
-  if (__s == ((void *)0))
-    __s = *__nextp;
-  while (*__s == __sep)
-    ++__s;
-  __result = ((void *)0);
-  if (*__s != '\0')
-    {
-      __result = __s++;
-      while (*__s != '\0')
- if (*__s++ == __sep)
-   {
-     __s[-1] = '\0';
-     break;
-   }
-    }
-  *__nextp = __s;
-  return __result;
-}
-
-extern char *__strsep_g (char **__stringp, __const char *__delim);
-
-extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_1c (char **__s, char __reject);
-extern __inline __attribute__ ((__gnu_inline__)) char *
-__strsep_1c (char **__s, char __reject)
-{
-  register char *__retval = *__s;
-  if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0))
-    *(*__s)++ = '\0';
-  return __retval;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_2c (char **__s, char __reject1, char __reject2);
-extern __inline __attribute__ ((__gnu_inline__)) char *
-__strsep_2c (char **__s, char __reject1, char __reject2)
-{
-  register char *__retval = *__s;
-  if (__retval != ((void *)0))
-    {
-      register char *__cp = __retval;
-      while (1)
- {
-   if (*__cp == '\0')
-     {
-       __cp = ((void *)0);
-   break;
-     }
-   if (*__cp == __reject1 || *__cp == __reject2)
-     {
-       *__cp++ = '\0';
-       break;
-     }
-   ++__cp;
- }
-      *__s = __cp;
-    }
-  return __retval;
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_3c (char **__s, char __reject1, char __reject2,
-       char __reject3);
-extern __inline __attribute__ ((__gnu_inline__)) char *
-__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
-{
-  register char *__retval = *__s;
-  if (__retval != ((void *)0))
-    {
-      register char *__cp = __retval;
-      while (1)
- {
-   if (*__cp == '\0')
-     {
-       __cp = ((void *)0);
-   break;
-     }
-   if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
-     {
-       *__cp++ = '\0';
-       break;
-     }
-   ++__cp;
- }
-      *__s = __cp;
-    }
-  return __retval;
-}
-
-
-
-
-
-
-
-
-
-
-extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
-
-extern void *calloc (size_t __nmemb, size_t __size)
-     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
-
-
-
-
-
-
-
-
-extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
-
-extern char *__strndup (__const char *__string, size_t __n)
-     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum {
-    QUIC_IMAGE_TYPE_INVALID,
-    QUIC_IMAGE_TYPE_GRAY,
-    QUIC_IMAGE_TYPE_RGB16,
-    QUIC_IMAGE_TYPE_RGB24,
-    QUIC_IMAGE_TYPE_RGB32,
-    QUIC_IMAGE_TYPE_RGBA
-} QuicImageType;
-
-
-
-
-typedef void *QuicContext;
-
-typedef struct QuicUsrContext QuicUsrContext;
-struct QuicUsrContext {
-    __attribute__((format(printf,2,3))) void (*error)(QuicUsrContext *usr, const char *fmt, ...);
-    __attribute__((format(printf,2,3))) void (*warn)(QuicUsrContext *usr, const char *fmt, ...);
-    __attribute__((format(printf,2,3))) void (*info)(QuicUsrContext *usr, const char *fmt, ...);
-    void *(*malloc)(QuicUsrContext *usr, int size);
-    void (*free)(QuicUsrContext *usr, void *ptr);
-    int (*more_space)(QuicUsrContext *usr, uint32_t **io_ptr, int rows_completed);
-    int (*more_lines)(QuicUsrContext *usr, uint8_t **lines);
-
-};
-
-int quic_encode(QuicContext *quic, QuicImageType type, int width, int height,
-                uint8_t *lines, unsigned int num_lines, int stride,
-                uint32_t *io_ptr, unsigned int num_io_words);
-
-int quic_decode_begin(QuicContext *quic, uint32_t *io_ptr, unsigned int num_io_words,
-                      QuicImageType *type, int *width, int *height);
-int quic_decode(QuicContext *quic, QuicImageType type, uint8_t *buf, int stride);
-
-
-QuicContext *quic_create(QuicUsrContext *usr);
-void quic_destroy(QuicContext *quic);
-
-void quic_init(void);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct _IO_FILE;
-
-
-
-typedef struct _IO_FILE FILE;
-
-
-
-
-
-
-typedef struct _IO_FILE __FILE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct
-{
-  int __count;
-  union
-  {
-
-    unsigned int __wch;
-
-
-
-    char __wchb[4];
-  } __value;
-} __mbstate_t;
-
-
-typedef struct
-{
-  __off_t __pos;
-  __mbstate_t __state;
-} _G_fpos_t;
-typedef struct
-{
-  __off64_t __pos;
-  __mbstate_t __state;
-} _G_fpos64_t;
-
-typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
-typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
-typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
-typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
-
-
-
-
-typedef __builtin_va_list __gnuc_va_list;
-
-
-struct _IO_jump_t; struct _IO_FILE;
-
-typedef void _IO_lock_t;
-
-
-
-
-
-struct _IO_marker {
-  struct _IO_marker *_next;
-  struct _IO_FILE *_sbuf;
-
-
-
-  int _pos;
-
-};
-
-
-enum __codecvt_result
-{
-  __codecvt_ok,
-  __codecvt_partial,
-  __codecvt_error,
-  __codecvt_noconv
-};
-
-struct _IO_FILE {
-  int _flags;
-
-
-
-
-  char* _IO_read_ptr;
-  char* _IO_read_end;
-  char* _IO_read_base;
-  char* _IO_write_base;
-  char* _IO_write_ptr;
-  char* _IO_write_end;
-  char* _IO_buf_base;
-  char* _IO_buf_end;
-
-  char *_IO_save_base;
-  char *_IO_backup_base;
-  char *_IO_save_end;
-
-  struct _IO_marker *_markers;
-
-  struct _IO_FILE *_chain;
-
-  int _fileno;
-
-
-
-  int _flags2;
-
-  __off_t _old_offset;
-
-
-
-  unsigned short _cur_column;
-  signed char _vtable_offset;
-  char _shortbuf[1];
-
-
-
-  _IO_lock_t *_lock;
-
-  __off64_t _offset;
-
-  void *__pad1;
-  void *__pad2;
-  void *__pad3;
-  void *__pad4;
-  size_t __pad5;
-
-  int _mode;
-
-  char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
-
-};
-
-
-typedef struct _IO_FILE _IO_FILE;
-
-
-struct _IO_FILE_plus;
-
-extern struct _IO_FILE_plus _IO_2_1_stdin_;
-extern struct _IO_FILE_plus _IO_2_1_stdout_;
-extern struct _IO_FILE_plus _IO_2_1_stderr_;
-
-typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
-
-
-
-
-
-
-
-typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
-     size_t __n);
-
-
-
-
-
-
-
-typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
-
-
-typedef int __io_close_fn (void *__cookie);
-
-extern int __underflow (_IO_FILE *);
-extern int __uflow (_IO_FILE *);
-extern int __overflow (_IO_FILE *, int);
-
-extern int _IO_getc (_IO_FILE *__fp);
-extern int _IO_putc (int __c, _IO_FILE *__fp);
-extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
-extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
-
-extern int _IO_peekc_locked (_IO_FILE *__fp);
-
-
-
-
-
-extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
-extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
-extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
-
-extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
-   __gnuc_va_list, int *__restrict);
-extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
-    __gnuc_va_list);
-extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
-extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
-
-extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
-extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
-
-extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
-
-
-
-
-
-typedef __gnuc_va_list va_list;
-
-typedef __off_t off_t;
-
-typedef __ssize_t ssize_t;
-
-
-
-
-
-
-
-typedef _G_fpos_t fpos_t;
-
-
-
-
-
-
-
-
-
-
-extern struct _IO_FILE *stdin;
-extern struct _IO_FILE *stdout;
-extern struct _IO_FILE *stderr;
-
-
-
-
-
-
-
-extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
-
-extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
-
-
-
-
-extern int renameat (int __oldfd, __const char *__old, int __newfd,
-       __const char *__new) __attribute__ ((__nothrow__));
-
-
-
-
-
-
-
-
-extern FILE *tmpfile (void) ;
-
-extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ;
-
-
-
-
-
-extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ;
-
-extern char *tempnam (__const char *__dir, __const char *__pfx)
-     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
-
-
-
-
-
-
-
-
-extern int fclose (FILE *__stream);
-
-
-
-
-extern int fflush (FILE *__stream);
-
-
-extern int fflush_unlocked (FILE *__stream);
-
-
-
-
-
-
-
-extern FILE *fopen (__const char *__restrict __filename,
-      __const char *__restrict __modes) ;
-
-
-
-
-extern FILE *freopen (__const char *__restrict __filename,
-        __const char *__restrict __modes,
-        FILE *__restrict __stream) ;
-
-
-
-extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ;
-
-extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
-  __attribute__ ((__nothrow__)) ;
-
-
-
-
-extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__)) ;
-
-
-
-
-
-
-extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
-
-
-
-extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
-      int __modes, size_t __n) __attribute__ ((__nothrow__));
-
-
-
-
-
-extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
-         size_t __size) __attribute__ ((__nothrow__));
-
-
-extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
-
-
-
-
-
-
-
-
-extern int fprintf (FILE *__restrict __stream,
-      __const char *__restrict __format, ...);
-
-
-
-
-extern int printf (__const char *__restrict __format, ...);
-
-extern int sprintf (char *__restrict __s,
-      __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
-
-
-
-
-
-extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
-       __gnuc_va_list __arg);
-
-
-
-
-extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
-
-extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
-       __gnuc_va_list __arg) __attribute__ ((__nothrow__));
-
-
-
-
-
-extern int snprintf (char *__restrict __s, size_t __maxlen,
-       __const char *__restrict __format, ...)
-     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
-
-extern int vsnprintf (char *__restrict __s, size_t __maxlen,
-        __const char *__restrict __format, __gnuc_va_list __arg)
-     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
-
-
-extern int vdprintf (int __fd, __const char *__restrict __fmt,
-       __gnuc_va_list __arg)
-     __attribute__ ((__format__ (__printf__, 2, 0)));
-extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
-     __attribute__ ((__format__ (__printf__, 2, 3)));
-
-
-
-
-
-
-
-
-extern int fscanf (FILE *__restrict __stream,
-     __const char *__restrict __format, ...) ;
-
-
-
-
-extern int scanf (__const char *__restrict __format, ...) ;
-
-extern int sscanf (__const char *__restrict __s,
-     __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
-
-extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
-
-                               ;
-extern int scanf (__const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
-                              ;
-extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__))
-
-                      ;
-
-
-
-
-
-
-
-
-
-extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
-      __gnuc_va_list __arg)
-     __attribute__ ((__format__ (__scanf__, 2, 0))) ;
-
-
-
-
-
-extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
-     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
-
-
-extern int vsscanf (__const char *__restrict __s,
-      __const char *__restrict __format, __gnuc_va_list __arg)
-     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
-
-extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
-
-
-
-     __attribute__ ((__format__ (__scanf__, 2, 0))) ;
-extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
-
-     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
-extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__))
-
-
-
-     __attribute__ ((__format__ (__scanf__, 2, 0)));
-
-
-
-
-
-
-
-
-
-
-extern int fgetc (FILE *__stream);
-extern int getc (FILE *__stream);
-
-
-
-
-
-extern int getchar (void);
-
-
-extern int getc_unlocked (FILE *__stream);
-extern int getchar_unlocked (void);
-
-extern int fgetc_unlocked (FILE *__stream);
-
-
-
-
-
-
-
-
-
-
-
-extern int fputc (int __c, FILE *__stream);
-extern int putc (int __c, FILE *__stream);
-
-
-
-
-
-extern int putchar (int __c);
-
-
-extern int fputc_unlocked (int __c, FILE *__stream);
-
-
-
-
-
-
-
-extern int putc_unlocked (int __c, FILE *__stream);
-extern int putchar_unlocked (int __c);
-
-
-
-
-
-
-extern int getw (FILE *__stream);
-
-
-extern int putw (int __w, FILE *__stream);
-
-
-
-
-
-
-
-
-extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
-     ;
-
-
-
-
-
-
-extern char *gets (char *__s) ;
-
-
-extern __ssize_t __getdelim (char **__restrict __lineptr,
-          size_t *__restrict __n, int __delimiter,
-          FILE *__restrict __stream) ;
-extern __ssize_t getdelim (char **__restrict __lineptr,
-        size_t *__restrict __n, int __delimiter,
-        FILE *__restrict __stream) ;
-
-
-
-
-
-
-
-extern __ssize_t getline (char **__restrict __lineptr,
-       size_t *__restrict __n,
-       FILE *__restrict __stream) ;
-
-
-
-
-
-
-
-
-extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
-
-
-
-
-
-extern int puts (__const char *__s);
-
-
-
-
-
-
-extern int ungetc (int __c, FILE *__stream);
-
-
-
-
-
-
-extern size_t fread (void *__restrict __ptr, size_t __size,
-       size_t __n, FILE *__restrict __stream) ;
-
-
-
-
-extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
-        size_t __n, FILE *__restrict __s);
-
-
-extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
-         size_t __n, FILE *__restrict __stream) ;
-extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
-          size_t __n, FILE *__restrict __stream);
-
-
-
-
-
-
-
-
-extern int fseek (FILE *__stream, long int __off, int __whence);
-
-
-
-
-extern long int ftell (FILE *__stream) ;
-
-
-
-
-extern void rewind (FILE *__stream);
-
-
-extern int fseeko (FILE *__stream, __off_t __off, int __whence);
-
-
-
-
-extern __off_t ftello (FILE *__stream) ;
-
-
-
-
-
-
-
-extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
-
-
-
-
-extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
-
-
-
-
-
-extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
-
-extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
-
-extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
-
-
-
-
-extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
-extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
-extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
-
-
-
-
-
-
-
-
-extern void perror (__const char *__s);
-
-
-
-
-
-
-
-
-extern int sys_nerr;
-extern __const char *__const sys_errlist[];
-
-
-
-
-
-extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
-
-
-
-
-extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
-
-extern FILE *popen (__const char *__command, __const char *__modes) ;
-
-
-
-
-
-extern int pclose (FILE *__stream);
-
-
-
-
-
-extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
-
-extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
-
-
-
-extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
-
-
-extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
-
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
-{
-  return vfprintf (stdout, __fmt, __arg);
-}
-
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-getchar (void)
-{
-  return _IO_getc (stdin);
-}
-
-
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-fgetc_unlocked (FILE *__fp)
-{
-  return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
-}
-
-
-
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-getc_unlocked (FILE *__fp)
-{
-  return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
-}
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-getchar_unlocked (void)
-{
-  return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
-}
-
-
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-putchar (int __c)
-{
-  return _IO_putc (__c, stdout);
-}
-
-
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-fputc_unlocked (int __c, FILE *__stream)
-{
-  return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
-}
-
-
-
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-putc_unlocked (int __c, FILE *__stream)
-{
-  return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
-}
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-putchar_unlocked (int __c)
-{
-  return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
-}
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-__attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream)
-{
-  return (((__stream)->_flags & 0x10) != 0);
-}
-
-
-extern __inline __attribute__ ((__gnu_inline__)) int
-__attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream)
-{
-  return (((__stream)->_flags & 0x20) != 0);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef __clock_t clock_t;
-
-
-
-
-
-
-typedef __time_t time_t;
-
-
-
-
-typedef __clockid_t clockid_t;
-
-typedef __timer_t timer_t;
-
-struct timespec
-  {
-    __time_t tv_sec;
-    long int tv_nsec;
-  };
-
-
-
-
-
-
-
-
-struct tm
-{
-  int tm_sec;
-  int tm_min;
-  int tm_hour;
-  int tm_mday;
-  int tm_mon;
-  int tm_year;
-  int tm_wday;
-  int tm_yday;
-  int tm_isdst;
-
-
-  long int tm_gmtoff;
-  __const char *tm_zone;
-
-
-
-
-};
-
-
-
-
-
-
-
-
-struct itimerspec
-  {
-    struct timespec it_interval;
-    struct timespec it_value;
-  };
-
-
-struct sigevent;
-
-
-
-
-
-typedef __pid_t pid_t;
-
-
-
-
-
-
-
-
-extern clock_t clock (void) __attribute__ ((__nothrow__));
-
-
-extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
-
-
-extern double difftime (time_t __time1, time_t __time0)
-     __attribute__ ((__nothrow__)) __attribute__ ((__const__));
-
-
-extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
-
-
-
-
-
-extern size_t strftime (char *__restrict __s, size_t __maxsize,
-   __const char *__restrict __format,
-   __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
-
-
-extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
-     __const char *__restrict __format,
-     __const struct tm *__restrict __tp,
-     __locale_t __loc) __attribute__ ((__nothrow__));
-
-
-
-
-extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
-
-
-
-extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
-
-
-
-
-
-extern struct tm *gmtime_r (__const time_t *__restrict __timer,
-       struct tm *__restrict __tp) __attribute__ ((__nothrow__));
-
-
-
-extern struct tm *localtime_r (__const time_t *__restrict __timer,
-          struct tm *__restrict __tp) __attribute__ ((__nothrow__));
-
-
-
-
-
-extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
-
-
-extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
-
-
-
-
-
-
-
-extern char *asctime_r (__const struct tm *__restrict __tp,
-   char *__restrict __buf) __attribute__ ((__nothrow__));
-
-
-extern char *ctime_r (__const time_t *__restrict __timer,
-        char *__restrict __buf) __attribute__ ((__nothrow__));
-
-
-
-
-extern char *__tzname[2];
-extern int __daylight;
-extern long int __timezone;
-
-
-
-
-extern char *tzname[2];
-
-
-
-extern void tzset (void) __attribute__ ((__nothrow__));
-
-
-
-extern int daylight;
-extern long int timezone;
-
-
-
-
-
-extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
-
-extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
-
-
-extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
-
-
-extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
-
-extern int nanosleep (__const struct timespec *__requested_time,
-        struct timespec *__remaining);
-
-
-
-extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
-
-
-extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
-
-
-extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
-     __attribute__ ((__nothrow__));
-
-
-
-
-
-
-extern int clock_nanosleep (clockid_t __clock_id, int __flags,
-       __const struct timespec *__req,
-       struct timespec *__rem);
-
-
-extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__));
-
-
-
-
-extern int timer_create (clockid_t __clock_id,
-    struct sigevent *__restrict __evp,
-    timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
-
-
-extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
-
-
-extern int timer_settime (timer_t __timerid, int __flags,
-     __const struct itimerspec *__restrict __value,
-     struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
-
-
-extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
-     __attribute__ ((__nothrow__));
-
-
-extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-union wait
-  {
-    int w_status;
-    struct
-      {
-
- unsigned int __w_termsig:7;
- unsigned int __w_coredump:1;
- unsigned int __w_retcode:8;
- unsigned int:16;
-
-
-
-
-
-
-
-      } __wait_terminated;
-    struct
-      {
-
- unsigned int __w_stopval:8;
- unsigned int __w_stopsig:8;
- unsigned int:16;
-
-
-
-
-
-
-      } __wait_stopped;
-  };
-
-
-typedef union
-  {
-    union wait *__uptr;
-    int *__iptr;
-  } __WAIT_STATUS __attribute__ ((__transparent_union__));
-
-
-
-typedef struct
-  {
-    int quot;
-    int rem;
-  } div_t;
-
-
-
-typedef struct
-  {
-    long int quot;
-    long int rem;
-  } ldiv_t;
-
-
-
-
-
-
-
-__extension__ typedef struct
-  {
-    long long int quot;
-    long long int rem;
-  } lldiv_t;
-
-
-
-extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
-
-
-
-
-extern double atof (__const char *__nptr)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-extern int atoi (__const char *__nptr)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-extern long int atol (__const char *__nptr)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-__extension__ extern long long int atoll (__const char *__nptr)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-extern double strtod (__const char *__restrict __nptr,
-        char **__restrict __endptr)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-extern float strtof (__const char *__restrict __nptr,
-       char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-extern long double strtold (__const char *__restrict __nptr,
-       char **__restrict __endptr)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-extern long int strtol (__const char *__restrict __nptr,
-   char **__restrict __endptr, int __base)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-extern unsigned long int strtoul (__const char *__restrict __nptr,
-      char **__restrict __endptr, int __base)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-__extension__
-extern long long int strtoq (__const char *__restrict __nptr,
-        char **__restrict __endptr, int __base)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-__extension__
-extern unsigned long long int strtouq (__const char *__restrict __nptr,
-           char **__restrict __endptr, int __base)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-__extension__
-extern long long int strtoll (__const char *__restrict __nptr,
-         char **__restrict __endptr, int __base)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-__extension__
-extern unsigned long long int strtoull (__const char *__restrict __nptr,
-     char **__restrict __endptr, int __base)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-extern __inline __attribute__ ((__gnu_inline__)) double
-__attribute__ ((__nothrow__)) atof (__const char *__nptr)
-{
-  return strtod (__nptr, (char **) ((void *)0));
-}
-extern __inline __attribute__ ((__gnu_inline__)) int
-__attribute__ ((__nothrow__)) atoi (__const char *__nptr)
-{
-  return (int) strtol (__nptr, (char **) ((void *)0), 10);
-}
-extern __inline __attribute__ ((__gnu_inline__)) long int
-__attribute__ ((__nothrow__)) atol (__const char *__nptr)
-{
-  return strtol (__nptr, (char **) ((void *)0), 10);
-}
-
-
-
-
-__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
-__attribute__ ((__nothrow__)) atoll (__const char *__nptr)
-{
-  return strtoll (__nptr, (char **) ((void *)0), 10);
-}
-
-
-extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
-
-
-extern long int a64l (__const char *__s)
-     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef __u_char u_char;
-typedef __u_short u_short;
-typedef __u_int u_int;
-typedef __u_long u_long;
-typedef __quad_t quad_t;
-typedef __u_quad_t u_quad_t;
-typedef __fsid_t fsid_t;
-
-
-
-
-typedef __loff_t loff_t;
-
-
-
-typedef __ino_t ino_t;
-
-typedef __dev_t dev_t;
-
-
-
-
-typedef __gid_t gid_t;
-
-
-
-
-typedef __mode_t mode_t;
-
-
-
-
-typedef __nlink_t nlink_t;
-
-
-
-
-typedef __uid_t uid_t;
-
-typedef __id_t id_t;
-
-typedef __daddr_t daddr_t;
-typedef __caddr_t caddr_t;
-
-
-
-
-
-typedef __key_t key_t;
-
-
-
-
-
-
-typedef unsigned long int ulong;
-typedef unsigned short int ushort;
-typedef unsigned int uint;
-
-typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
-typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
-typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
-typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
-
-typedef int register_t __attribute__ ((__mode__ (__word__)));
-
-
-
-
-
-
-
-
-
-typedef int __sig_atomic_t;
-
-
-
-
-typedef struct
-  {
-    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
-  } __sigset_t;
-
-
-
-
-typedef __sigset_t sigset_t;
-
-
-
-
-
-
-
-
-
-struct timeval
-  {
-    __time_t tv_sec;
-    __suseconds_t tv_usec;
-  };
-
-
-
-typedef __suseconds_t suseconds_t;
-
-
-
-
-
-typedef long int __fd_mask;
-
-typedef struct
-  {
-
-
-
-
-
-
-    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
-
-
-  } fd_set;
-
-
-
-
-
-
-typedef __fd_mask fd_mask;
-
-
-
-extern int select (int __nfds, fd_set *__restrict __readfds,
-     fd_set *__restrict __writefds,
-     fd_set *__restrict __exceptfds,
-     struct timeval *__restrict __timeout);
-
-extern int pselect (int __nfds, fd_set *__restrict __readfds,
-      fd_set *__restrict __writefds,
-      fd_set *__restrict __exceptfds,
-      const struct timespec *__restrict __timeout,
-      const __sigset_t *__restrict __sigmask);
-
-
-
-
-
-
-
-
-__extension__
-extern unsigned int gnu_dev_major (unsigned long long int __dev)
-     __attribute__ ((__nothrow__));
-__extension__
-extern unsigned int gnu_dev_minor (unsigned long long int __dev)
-     __attribute__ ((__nothrow__));
-__extension__
-extern unsigned long long int gnu_dev_makedev (unsigned int __major,
-            unsigned int __minor)
-     __attribute__ ((__nothrow__));
-
-
-__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int
-__attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
-{
-  return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
-}
-
-__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int
-__attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
-{
-  return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
-}
-
-__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned long long int
-__attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
-{
-  return ((__minor & 0xff) | ((__major & 0xfff) << 8)
-   | (((unsigned long long int) (__minor & ~0xff)) << 12)
-   | (((unsigned long long int) (__major & ~0xfff)) << 32));
-}
-
-
-
-
-
-
-typedef __blksize_t blksize_t;
-
-
-
-
-
-
-typedef __blkcnt_t blkcnt_t;
-
-
-
-typedef __fsblkcnt_t fsblkcnt_t;
-
-
-
-typedef __fsfilcnt_t fsfilcnt_t;
-
-
-
-typedef unsigned long int pthread_t;
-
-
-typedef union
-{
-  char __size[36];
-  long int __align;
-} pthread_attr_t;
-
-
-typedef struct __pthread_internal_slist
-{
-  struct __pthread_internal_slist *__next;
-} __pthread_slist_t;
-
-
-
-
-typedef union
-{
-  struct __pthread_mutex_s
-  {
-    int __lock;
-    unsigned int __count;
-    int __owner;
-
-
-    int __kind;
-    unsigned int __nusers;
-    __extension__ union
-    {
-      int __spins;
-      __pthread_slist_t __list;
-    };
-  } __data;
-  char __size[24];
-  long int __align;
-} pthread_mutex_t;
-
-typedef union
-{
-  char __size[4];
-  long int __align;
-} pthread_mutexattr_t;
-
-
-
-
-typedef union
-{
-  struct
-  {
-    int __lock;
-    unsigned int __futex;
-    __extension__ unsigned long long int __total_seq;
-    __extension__ unsigned long long int __wakeup_seq;
-    __extension__ unsigned long long int __woken_seq;
-    void *__mutex;
-    unsigned int __nwaiters;
-    unsigned int __broadcast_seq;
-  } __data;
-  char __size[48];
-  __extension__ long long int __align;
-} pthread_cond_t;
-
-typedef union
-{
-  char __size[4];
-  long int __align;
-} pthread_condattr_t;
-
-
-
-typedef unsigned int pthread_key_t;
-
-
-
-typedef int pthread_once_t;
-
-
-
-
-
-typedef union
-{
-  struct
-  {
-    int __lock;
-    unsigned int __nr_readers;
-    unsigned int __readers_wakeup;
-    unsigned int __writer_wakeup;
-    unsigned int __nr_readers_queued;
-    unsigned int __nr_writers_queued;
-
-
-    unsigned char __flags;
-    unsigned char __shared;
-    unsigned char __pad1;
-    unsigned char __pad2;
-    int __writer;
-  } __data;
-  char __size[32];
-  long int __align;
-} pthread_rwlock_t;
-
-typedef union
-{
-  char __size[8];
-  long int __align;
-} pthread_rwlockattr_t;
-
-
-
-
-
-typedef volatile int pthread_spinlock_t;
-
-
-
-
-typedef union
-{
-  char __size[20];
-  long int __align;
-} pthread_barrier_t;
-
-typedef union
-{
-  char __size[4];
-  int __align;
-} pthread_barrierattr_t;
-
-
-
-
-
-
-
-
-
-
-
-extern long int random (void) __attribute__ ((__nothrow__));
-
-
-extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
-
-
-
-
-
-extern char *initstate (unsigned int __seed, char *__statebuf,
-   size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
-
-
-
-extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-
-struct random_data
-  {
-    int32_t *fptr;
-    int32_t *rptr;
-    int32_t *state;
-    int rand_type;
-    int rand_deg;
-    int rand_sep;
-    int32_t *end_ptr;
-  };
-
-extern int random_r (struct random_data *__restrict __buf,
-       int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern int srandom_r (unsigned int __seed, struct random_data *__buf)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
-
-extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
-   size_t __statelen,
-   struct random_data *__restrict __buf)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
-
-extern int setstate_r (char *__restrict __statebuf,
-         struct random_data *__restrict __buf)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-
-
-extern int rand (void) __attribute__ ((__nothrow__));
-
-extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
-
-
-
-
-extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
-
-
-
-
-
-
-
-extern double drand48 (void) __attribute__ ((__nothrow__));
-extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-extern long int lrand48 (void) __attribute__ ((__nothrow__));
-extern long int nrand48 (unsigned short int __xsubi[3])
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-extern long int mrand48 (void) __attribute__ ((__nothrow__));
-extern long int jrand48 (unsigned short int __xsubi[3])
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
-extern unsigned short int *seed48 (unsigned short int __seed16v[3])
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-struct drand48_data
-  {
-    unsigned short int __x[3];
-    unsigned short int __old_x[3];
-    unsigned short int __c;
-    unsigned short int __init;
-    unsigned long long int __a;
-  };
-
-
-extern int drand48_r (struct drand48_data *__restrict __buffer,
-        double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-extern int erand48_r (unsigned short int __xsubi[3],
-        struct drand48_data *__restrict __buffer,
-        double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int lrand48_r (struct drand48_data *__restrict __buffer,
-        long int *__restrict __result)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-extern int nrand48_r (unsigned short int __xsubi[3],
-        struct drand48_data *__restrict __buffer,
-        long int *__restrict __result)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int mrand48_r (struct drand48_data *__restrict __buffer,
-        long int *__restrict __result)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-extern int jrand48_r (unsigned short int __xsubi[3],
-        struct drand48_data *__restrict __buffer,
-        long int *__restrict __result)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
-
-extern int seed48_r (unsigned short int __seed16v[3],
-       struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern int lcong48_r (unsigned short int __param[7],
-        struct drand48_data *__buffer)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-
-
-
-extern void *realloc (void *__ptr, size_t __size)
-     __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
-
-extern void free (void *__ptr) __attribute__ ((__nothrow__));
-
-
-
-
-extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
-
-
-
-
-
-
-
-
-
-
-
-
-extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
-
-
-
-
-extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
-
-
-
-extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
-
-
-
-
-
-
-
-extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
-
-
-
-
-
-
-extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-extern char *__secure_getenv (__const char *__name)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern int setenv (__const char *__name, __const char *__value, int __replace)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
-
-
-extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern int clearenv (void) __attribute__ ((__nothrow__));
-
-extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
-
-extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ;
-
-extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-
-extern int system (__const char *__command) ;
-
-
-extern char *realpath (__const char *__restrict __name,
-         char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
-
-
-
-
-
-
-typedef int (*__compar_fn_t) (__const void *, __const void *);
-
-
-
-
-extern void *bsearch (__const void *__key, __const void *__base,
-        size_t __nmemb, size_t __size, __compar_fn_t __compar)
-     __attribute__ ((__nonnull__ (1, 2, 5))) ;
-
-
-
-extern void qsort (void *__base, size_t __nmemb, size_t __size,
-     __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
-
-extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
-extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
-
-
-
-__extension__ extern long long int llabs (long long int __x)
-     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
-
-
-
-
-
-
-
-extern div_t div (int __numer, int __denom)
-     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
-extern ldiv_t ldiv (long int __numer, long int __denom)
-     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
-
-
-
-
-__extension__ extern lldiv_t lldiv (long long int __numer,
-        long long int __denom)
-     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
-
-
-extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
-     int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
-
-
-
-
-extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
-     int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
-
-
-
-
-extern char *gcvt (double __value, int __ndigit, char *__buf)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
-
-
-
-
-extern char *qecvt (long double __value, int __ndigit,
-      int *__restrict __decpt, int *__restrict __sign)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
-extern char *qfcvt (long double __value, int __ndigit,
-      int *__restrict __decpt, int *__restrict __sign)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
-extern char *qgcvt (long double __value, int __ndigit, char *__buf)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
-
-
-
-
-extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
-     int *__restrict __sign, char *__restrict __buf,
-     size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
-extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
-     int *__restrict __sign, char *__restrict __buf,
-     size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
-
-extern int qecvt_r (long double __value, int __ndigit,
-      int *__restrict __decpt, int *__restrict __sign,
-      char *__restrict __buf, size_t __len)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
-extern int qfcvt_r (long double __value, int __ndigit,
-      int *__restrict __decpt, int *__restrict __sign,
-      char *__restrict __buf, size_t __len)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
-
-
-
-
-
-
-
-extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ;
-
-
-extern int mbtowc (wchar_t *__restrict __pwc,
-     __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
-
-
-extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
-
-
-
-extern size_t mbstowcs (wchar_t *__restrict __pwcs,
-   __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
-
-extern size_t wcstombs (char *__restrict __s,
-   __const wchar_t *__restrict __pwcs, size_t __n)
-     __attribute__ ((__nothrow__));
-
-
-
-
-
-
-
-
-extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
-
-extern int getsubopt (char **__restrict __optionp,
-        char *__const *__restrict __tokens,
-        char **__restrict __valuep)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) ;
-
-extern int getloadavg (double __loadavg[], int __nelem)
-     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-void spice_backtrace(void);
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum {
-    SPICE_LOG_LEVEL_ERROR,
-    SPICE_LOG_LEVEL_CRITICAL,
-    SPICE_LOG_LEVEL_WARNING,
-    SPICE_LOG_LEVEL_INFO,
-    SPICE_LOG_LEVEL_DEBUG,
-} SpiceLogLevel;
-
-void spice_logv(const char *log_domain,
-                SpiceLogLevel log_level,
-                const char *strloc,
-                const char *function,
-                const char *format,
-                va_list args) __attribute__((format(printf,5,0)));
-
-void spice_log(const char *log_domain,
-               SpiceLogLevel log_level,
-               const char *strloc,
-               const char *function,
-               const char *format,
-               ...) __attribute__((format(printf,5,6)));
-
-
-
-
-
-
-
-
-
-static inline int spice_bit_find_msb(unsigned int val)
-{
-    int ret;
-
-    asm ("bsrl %1,%0\n\t"
-         "jnz 1f\n\t"
-         "movl $-1,%0\n"
-         "1:"
-         : "=r"(ret) : "r"(val));
-    return ret + 1;
-}
-
-static inline int spice_bit_next_pow2(unsigned int val)
-{
-    if ((val & (val - 1)) == 0) {
-        return val;
-    }
-    return 1 << spice_bit_find_msb(val);
-}
-
-
-
-
-typedef uint8_t BYTE;
-
-typedef struct QuicFamily {
-    unsigned int nGRcodewords[8];
-
-    unsigned int notGRcwlen[8];
-
-    unsigned int notGRprefixmask[8];
-
-    unsigned int notGRsuffixlen[8];
-
-
-
-
-    BYTE xlatU2L[256];
-
-
-
-    unsigned int xlatL2U[256];
-} QuicFamily;
-
-static QuicFamily family_8bpc;
-static QuicFamily family_5bpc;
-
-typedef unsigned COUNTER;
-
-typedef struct s_bucket {
-    COUNTER *pcounters;
-    unsigned int bestcode;
-} s_bucket;
-
-typedef struct Encoder Encoder;
-
-typedef struct CommonState {
-    Encoder *encoder;
-
-    unsigned int waitcnt;
-    unsigned int tabrand_seed;
-    unsigned int wm_trigger;
-    unsigned int wmidx;
-    unsigned int wmileft;
-
-
-    int melcstate;
-
-    int melclen;
-
-
-
-
-
-
-    unsigned long melcorder;
-
-} CommonState;
-
-
-
-
-typedef struct FamilyStat {
-    s_bucket **buckets_ptrs;
-    s_bucket *buckets_buf;
-    COUNTER *counters;
-} FamilyStat;
-
-typedef struct Channel {
-    Encoder *encoder;
-
-    int correlate_row_width;
-    BYTE *correlate_row;
-
-    s_bucket **_buckets_ptrs;
-
-    FamilyStat family_stat_8bpc;
-    FamilyStat family_stat_5bpc;
-
-    CommonState state;
-} Channel;
-
-struct Encoder {
-    QuicUsrContext *usr;
-    QuicImageType type;
-    unsigned int width;
-    unsigned int height;
-    unsigned int num_channels;
-
-    unsigned int n_buckets_8bpc;
-    unsigned int n_buckets_5bpc;
-
-    unsigned int io_available_bits;
-    uint32_t io_word;
-    uint32_t io_next_word;
-    uint32_t *io_now;
-    uint32_t *io_end;
-    uint32_t io_words_count;
-
-    int rows_completed;
-
-    Channel channels[4];
-
-    CommonState rgb_state;
-};
-
-
-static int wmimax = 6;
-
-
-static int wminext = 2048;
-
-
-static int evol = 3;
-
-
-static const unsigned long int bppmask[33] = {
-    0x00000000,
-    0x00000001, 0x00000003, 0x00000007, 0x0000000f,
-    0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff,
-    0x000001ff, 0x000003ff, 0x000007ff, 0x00000fff,
-    0x00001fff, 0x00003fff, 0x00007fff, 0x0000ffff,
-    0x0001ffff, 0x0003ffff, 0x0007ffff, 0x000fffff,
-    0x001fffff, 0x003fffff, 0x007fffff, 0x00ffffff,
-    0x01ffffff, 0x03ffffff, 0x07ffffff, 0x0fffffff,
-    0x1fffffff, 0x3fffffff, 0x7fffffff, 0xffffffff
-};
-
-static const unsigned int bitat[32] = {
-    0x00000001, 0x00000002, 0x00000004, 0x00000008,
-    0x00000010, 0x00000020, 0x00000040, 0x00000080,
-    0x00000100, 0x00000200, 0x00000400, 0x00000800,
-    0x00001000, 0x00002000, 0x00004000, 0x00008000,
-    0x00010000, 0x00020000, 0x00040000, 0x00080000,
-    0x00100000, 0x00200000, 0x00400000, 0x00800000,
-    0x01000000, 0x02000000, 0x04000000, 0x08000000,
-    0x10000000, 0x20000000, 0x40000000, 0x80000000
-};
-
-
-
-
-
-static const unsigned int tabrand_chaos[256] = {
-    0x02c57542, 0x35427717, 0x2f5a2153, 0x9244f155, 0x7bd26d07, 0x354c6052, 0x57329b28, 0x2993868e,
-    0x6cd8808c, 0x147b46e0, 0x99db66af, 0xe32b4cac, 0x1b671264, 0x9d433486, 0x62a4c192, 0x06089a4b,
-    0x9e3dce44, 0xdaabee13, 0x222425ea, 0xa46f331d, 0xcd589250, 0x8bb81d7f, 0xc8b736b9, 0x35948d33,
-    0xd7ac7fd0, 0x5fbe2803, 0x2cfbc105, 0x013dbc4e, 0x7a37820f, 0x39f88e9e, 0xedd58794, 0xc5076689,
-    0xfcada5a4, 0x64c2f46d, 0xb3ba3243, 0x8974b4f9, 0x5a05aebd, 0x20afcd00, 0x39e2b008, 0x88a18a45,
-    0x600bde29, 0xf3971ace, 0xf37b0a6b, 0x7041495b, 0x70b707ab, 0x06beffbb, 0x4206051f, 0xe13c4ee3,
-    0xc1a78327, 0x91aa067c, 0x8295f72a, 0x732917a6, 0x1d871b4d, 0x4048f136, 0xf1840e7e, 0x6a6048c1,
-    0x696cb71a, 0x7ff501c3, 0x0fc6310b, 0x57e0f83d, 0x8cc26e74, 0x11a525a2, 0x946934c7, 0x7cd888f0,
-    0x8f9d8604, 0x4f86e73b, 0x04520316, 0xdeeea20c, 0xf1def496, 0x67687288, 0xf540c5b2, 0x22401484,
-    0x3478658a, 0xc2385746, 0x01979c2c, 0x5dad73c8, 0x0321f58b, 0xf0fedbee, 0x92826ddf, 0x284bec73,
-    0x5b1a1975, 0x03df1e11, 0x20963e01, 0xa17cf12b, 0x740d776e, 0xa7a6bf3c, 0x01b5cce4, 0x1118aa76,
-    0xfc6fac0a, 0xce927e9b, 0x00bf2567, 0x806f216c, 0xbca69056, 0x795bd3e9, 0xc9dc4557, 0x8929b6c2,
-    0x789d52ec, 0x3f3fbf40, 0xb9197368, 0xa38c15b5, 0xc3b44fa8, 0xca8333b0, 0xb7e8d590, 0xbe807feb,
-    0xbf5f8360, 0xd99e2f5c, 0x372928e1, 0x7c757c4c, 0x0db5b154, 0xc01ede02, 0x1fc86e78, 0x1f3985be,
-    0xb4805c77, 0x00c880fa, 0x974c1b12, 0x35ab0214, 0xb2dc840d, 0x5b00ae37, 0xd313b026, 0xb260969d,
-    0x7f4c8879, 0x1734c4d3, 0x49068631, 0xb9f6a021, 0x6b863e6f, 0xcee5debf, 0x29f8c9fb, 0x53dd6880,
-    0x72b61223, 0x1f67a9fd, 0x0a0f6993, 0x13e59119, 0x11cca12e, 0xfe6b6766, 0x16b6effc, 0x97918fc4,
-    0xc2b8a563, 0x94f2f741, 0x0bfa8c9a, 0xd1537ae8, 0xc1da349c, 0x873c60ca, 0x95005b85, 0x9b5c080e,
-    0xbc8abbd9, 0xe1eab1d2, 0x6dac9070, 0x4ea9ebf1, 0xe0cf30d4, 0x1ef5bd7b, 0xd161043e, 0x5d2fa2e2,
-    0xff5d3cae, 0x86ed9f87, 0x2aa1daa1, 0xbd731a34, 0x9e8f4b22, 0xb1c2c67a, 0xc21758c9, 0xa182215d,
-    0xccb01948, 0x8d168df7, 0x04238cfe, 0x368c3dbc, 0x0aeadca5, 0xbad21c24, 0x0a71fee5, 0x9fc5d872,
-    0x54c152c6, 0xfc329483, 0x6783384a, 0xeddb3e1c, 0x65f90e30, 0x884ad098, 0xce81675a, 0x4b372f7d,
-    0x68bf9a39, 0x43445f1e, 0x40f8d8cb, 0x90d5acb6, 0x4cd07282, 0x349eeb06, 0x0c9d5332, 0x520b24ef,
-    0x80020447, 0x67976491, 0x2f931ca3, 0xfe9b0535, 0xfcd30220, 0x61a9e6cc, 0xa487d8d7, 0x3f7c5dd1,
-    0x7d0127c5, 0x48f51d15, 0x60dea871, 0xc9a91cb7, 0x58b53bb3, 0x9d5e0b2d, 0x624a78b4, 0x30dbee1b,
-    0x9bdf22e7, 0x1df5c299, 0x2d5643a7, 0xf4dd35ff, 0x03ca8fd6, 0x53b47ed8, 0x6f2c19aa, 0xfeb0c1f4,
-    0x49e54438, 0x2f2577e6, 0xbf876969, 0x72440ea9, 0xfa0bafb8, 0x74f5b3a0, 0x7dd357cd, 0x89ce1358,
-    0x6ef2cdda, 0x1e7767f3, 0xa6be9fdb, 0x4f5f88f8, 0xba994a3a, 0x08ca6b65, 0xe0893818, 0x9e00a16a,
-    0xf42bfc8f, 0x9972eedc, 0x749c8b51, 0x32c05f5e, 0xd706805f, 0x6bfbb7cf, 0xd9210a10, 0x31a1db97,
-    0x923a9559, 0x37a7a1f6, 0x059f8861, 0xca493e62, 0x65157e81, 0x8f6467dd, 0xab85ff9f, 0x9331aff2,
-    0x8616b9f5, 0xedbd5695, 0xee7e29b1, 0x313ac44f, 0xb903112f, 0x432ef649, 0xdc0a36c0, 0x61cf2bba,
-    0x81474925, 0xa8b6c7ad, 0xee5931de, 0xb2f8158d, 0x59fb7409, 0x2e3dfaed, 0x9af25a3f, 0xe1fed4d5,
-};
-
-static unsigned int stabrand(void)
-{
-
-
-
-    return 0x0ff;
-}
-
-static unsigned int tabrand(unsigned int *tabrand_seed)
-{
-    return tabrand_chaos[++*tabrand_seed & 0x0ff];
-}
-
-static const unsigned short besttrigtab[3][11] = {
-
-            { 550, 900, 800, 700, 500, 350, 300, 200, 180, 180, 160},
-            { 110, 550, 900, 800, 550, 400, 350, 250, 140, 160, 140},
-            { 100, 120, 550, 900, 700, 500, 400, 300, 220, 250, 160}
-};
-
-
-static void set_wm_trigger(CommonState *state)
-{
-    unsigned int wm = state->wmidx;
-    if (wm > 10) {
-        wm = 10;
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (evol < 6) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "269", __FUNCTION__, "assertion `%s' failed","evol < 6"); } while (0); } } while (0);
-
-    state->wm_trigger = besttrigtab[evol / 2][wm];
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (state->wm_trigger <= 2000) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "273", __FUNCTION__, "assertion `%s' failed","state->wm_trigger <= 2000"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (state->wm_trigger >= 1) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "274", __FUNCTION__, "assertion `%s' failed","state->wm_trigger >= 1"); } while (0); } } while (0);
-}
-
-static int ceil_log_2(int val)
-{
-    int result;
-
-
-
-    if (val == 1) {
-        return 0;
-    }
-
-    result = 1;
-    val -= 1;
-    while (val >>= 1) {
-        result++;
-    }
-
-    return result;
-}
-
-
-static const BYTE lzeroes[256] = {
-    8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
-    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-    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,
-    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,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-
-static unsigned int cnt_l_zeroes(const unsigned int bits)
-{
-    if (bits & 0xff800000) {
-        return lzeroes[bits >> 24];
-    } else if (bits & 0xffff8000) {
-        return 8 + lzeroes[(bits >> 16) & 0x000000ff];
-    } else if (bits & 0xffffff80) {
-        return 16 + lzeroes[(bits >> 8) & 0x000000ff];
-    } else {
-        return 24 + lzeroes[bits & 0x000000ff];
-    }
-}
-
-
-
-
-
-
-
-static unsigned int golomb_code_len_8bpc(const BYTE n, const unsigned int l)
-{
-    if (n < family_8bpc.nGRcodewords[l]) {
-        return (n >> l) + 1 + l;
-    } else {
-        return family_8bpc.notGRcwlen[l];
-    }
-}
-
-static void golomb_coding_8bpc(const BYTE n, const unsigned int l, unsigned int * const codeword,
-                                 unsigned int * const codewordlen)
-{
-    if (n < family_8bpc.nGRcodewords[l]) {
-        (*codeword) = bitat[l] | (n & bppmask[l]);
-        (*codewordlen) = (n >> l) + l + 1;
-    } else {
-        (*codeword) = n - family_8bpc.nGRcodewords[l];
-        (*codewordlen) = family_8bpc.notGRcwlen[l];
-    }
-}
-
-static unsigned int golomb_decoding_8bpc(const unsigned int l, const unsigned int bits,
-                                           unsigned int * const codewordlen)
-{
-    if (bits > family_8bpc.notGRprefixmask[l]) {
-        const unsigned int zeroprefix = cnt_l_zeroes(bits);
-        const unsigned int cwlen = zeroprefix + 1 + l;
-        (*codewordlen) = cwlen;
-        return (zeroprefix << l) | ((bits >> (32 - cwlen)) & bppmask[l]);
-    } else {
-        const unsigned int cwlen = family_8bpc.notGRcwlen[l];
-        (*codewordlen) = cwlen;
-        return family_8bpc.nGRcodewords[l] + ((bits) >> (32 - cwlen) &
-                                                bppmask[family_8bpc.notGRsuffixlen[l]]);
-    }
-}
-
-
-static void update_model_8bpc(CommonState *state, s_bucket * const bucket,
-                                const BYTE curval, unsigned int bpp)
-{
-    COUNTER * const pcounters = bucket->pcounters;
-    unsigned int i;
-    unsigned int bestcode;
-    unsigned int bestcodelen;
-
-
-
-
-    bestcode = bpp - 1;
-    bestcodelen = (pcounters[bestcode] += golomb_code_len_8bpc(curval, bestcode));
-
-    for (i = bpp - 2; i < bpp; i--) {
-        const unsigned int ithcodelen = (pcounters[i] += golomb_code_len_8bpc(curval, i));
-
-        if (ithcodelen < bestcodelen) {
-            bestcode = i;
-            bestcodelen = ithcodelen;
-        }
-    }
-
-    bucket->bestcode = bestcode;
-
-    if (bestcodelen > state->wm_trigger) {
-        for (i = 0; i < bpp; i++) {
-            pcounters[i] >>= 1;
-        }
-    }
-}
-
-static s_bucket *find_bucket_8bpc(Channel *channel, const unsigned int val)
-{
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (val < (0x1U << 8)) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_family_tmpl.c" ":" "110", __FUNCTION__, "assertion `%s' failed","val < (0x1U << BPC)"); } while (0); } } while (0);
-
-    return channel->_buckets_ptrs[val];
-}
-
-
-
-
-
-
-
-
-
-static unsigned int golomb_code_len_5bpc(const BYTE n, const unsigned int l)
-{
-    if (n < family_5bpc.nGRcodewords[l]) {
-        return (n >> l) + 1 + l;
-    } else {
-        return family_5bpc.notGRcwlen[l];
-    }
-}
-
-static void golomb_coding_5bpc(const BYTE n, const unsigned int l, unsigned int * const codeword,
-                                 unsigned int * const codewordlen)
-{
-    if (n < family_5bpc.nGRcodewords[l]) {
-        (*codeword) = bitat[l] | (n & bppmask[l]);
-        (*codewordlen) = (n >> l) + l + 1;
-    } else {
-        (*codeword) = n - family_5bpc.nGRcodewords[l];
-        (*codewordlen) = family_5bpc.notGRcwlen[l];
-    }
-}
-
-static unsigned int golomb_decoding_5bpc(const unsigned int l, const unsigned int bits,
-                                           unsigned int * const codewordlen)
-{
-    if (bits > family_5bpc.notGRprefixmask[l]) {
-        const unsigned int zeroprefix = cnt_l_zeroes(bits);
-        const unsigned int cwlen = zeroprefix + 1 + l;
-        (*codewordlen) = cwlen;
-        return (zeroprefix << l) | ((bits >> (32 - cwlen)) & bppmask[l]);
-    } else {
-        const unsigned int cwlen = family_5bpc.notGRcwlen[l];
-        (*codewordlen) = cwlen;
-        return family_5bpc.nGRcodewords[l] + ((bits) >> (32 - cwlen) &
-                                                bppmask[family_5bpc.notGRsuffixlen[l]]);
-    }
-}
-
-
-static void update_model_5bpc(CommonState *state, s_bucket * const bucket,
-                                const BYTE curval, unsigned int bpp)
-{
-    COUNTER * const pcounters = bucket->pcounters;
-    unsigned int i;
-    unsigned int bestcode;
-    unsigned int bestcodelen;
-
-
-
-
-    bestcode = bpp - 1;
-    bestcodelen = (pcounters[bestcode] += golomb_code_len_5bpc(curval, bestcode));
-
-    for (i = bpp - 2; i < bpp; i--) {
-        const unsigned int ithcodelen = (pcounters[i] += golomb_code_len_5bpc(curval, i));
-
-        if (ithcodelen < bestcodelen) {
-            bestcode = i;
-            bestcodelen = ithcodelen;
-        }
-    }
-
-    bucket->bestcode = bestcode;
-
-    if (bestcodelen > state->wm_trigger) {
-        for (i = 0; i < bpp; i++) {
-            pcounters[i] >>= 1;
-        }
-    }
-}
-
-static s_bucket *find_bucket_5bpc(Channel *channel, const unsigned int val)
-{
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (val < (0x1U << 5)) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_family_tmpl.c" ":" "110", __FUNCTION__, "assertion `%s' failed","val < (0x1U << BPC)"); } while (0); } } while (0);
-
-    return channel->_buckets_ptrs[val];
-}
-
-
-
-static void decorelate_init(QuicFamily *family, int bpc)
-{
-    const unsigned int pixelbitmask = bppmask[bpc];
-    const unsigned int pixelbitmaskshr = pixelbitmask >> 1;
-    unsigned int s;
-
-
-
-    for (s = 0; s <= pixelbitmask; s++) {
-        if (s <= pixelbitmaskshr) {
-            family->xlatU2L[s] = s << 1;
-        } else {
-            family->xlatU2L[s] = ((pixelbitmask - s) << 1) + 1;
-        }
-    }
-}
-
-static void corelate_init(QuicFamily *family, int bpc)
-{
-    const unsigned long int pixelbitmask = bppmask[bpc];
-    unsigned long int s;
-
-
-
-    for (s = 0; s <= pixelbitmask; s++) {
-        if (s & 0x01) {
-            family->xlatL2U[s] = pixelbitmask - (s >> 1);
-        } else {
-            family->xlatL2U[s] = (s >> 1);
-        }
-    }
-}
-
-static void family_init(QuicFamily *family, int bpc, int limit)
-{
-    int l;
-
-    for (l = 0; l < bpc; l++) {
-        int altprefixlen, altcodewords;
-
-        altprefixlen = limit - bpc;
-        if (altprefixlen > (int)(bppmask[bpc - l])) {
-            altprefixlen = bppmask[bpc - l];
-        }
-
-        altcodewords = bppmask[bpc] + 1 - (altprefixlen << l);
-
-        family->nGRcodewords[l] = (altprefixlen << l);
-        family->notGRcwlen[l] = altprefixlen + ceil_log_2(altcodewords);
-        family->notGRprefixmask[l] = bppmask[32 - altprefixlen];
-        family->notGRsuffixlen[l] = ceil_log_2(altcodewords);
-    }
-
-    decorelate_init(family, bpc);
-    corelate_init(family, bpc);
-}
-
-static void more_io_words(Encoder *encoder)
-{
-    uint32_t *io_ptr;
-    int num_io_words = encoder->usr->more_space(encoder->usr, &io_ptr, encoder->rows_completed);
-    if (num_io_words <= 0) {
-        encoder->usr->error(encoder->usr, "%s: no more words\n", __FUNCTION__);
-    }
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (io_ptr) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "394", __FUNCTION__, "assertion `%s' failed","io_ptr"); } while (0); } } while (0);
-    encoder->io_words_count += num_io_words;
-    encoder->io_now = io_ptr;
-    encoder->io_end = encoder->io_now + num_io_words;
-}
-
-static void __write_io_word(Encoder *encoder)
-{
-    more_io_words(encoder);
-    *(encoder->io_now++) = encoder->io_word;
-}
-
-static void (*__write_io_word_ptr)(Encoder *encoder) = __write_io_word;
-
-static inline void write_io_word(Encoder *encoder)
-{
-    if (encoder->io_now == encoder->io_end) {
-        __write_io_word_ptr(encoder);
-        return;
-    }
-    *(encoder->io_now++) = encoder->io_word;
-}
-
-static inline void encode(Encoder *encoder, unsigned int word, unsigned int len)
-{
-    int delta;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (len > 0 && len < 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "421", __FUNCTION__, "assertion `%s' failed","len > 0 && len < 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (!(word & ~bppmask[len])) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "422", __FUNCTION__, "assertion `%s' failed","!(word & ~bppmask[len])"); } while (0); } } while (0);
-    if ((delta = ((int)encoder->io_available_bits - len)) >= 0) {
-        encoder->io_available_bits = delta;
-        encoder->io_word |= word << encoder->io_available_bits;
-        return;
-    }
-    delta = -delta;
-    encoder->io_word |= word >> delta;
-    write_io_word(encoder);
-    encoder->io_available_bits = 32 - delta;
-    encoder->io_word = word << encoder->io_available_bits;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->io_available_bits < 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "434", __FUNCTION__, "assertion `%s' failed","encoder->io_available_bits < 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((encoder->io_word & bppmask[encoder->io_available_bits]) == 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "435", __FUNCTION__, "assertion `%s' failed","(encoder->io_word & bppmask[encoder->io_available_bits]) == 0"); } while (0); } } while (0);
-}
-
-static inline void encode_32(Encoder *encoder, unsigned int word)
-{
-    encode(encoder, word >> 16, 16);
-    encode(encoder, word & 0x0000ffff, 16);
-}
-
-static inline void flush(Encoder *encoder)
-{
-    if (encoder->io_available_bits > 0 && encoder->io_available_bits != 32) {
-        encode(encoder, 0, encoder->io_available_bits);
-    }
-    encode_32(encoder, 0);
-    encode(encoder, 0, 1);
-}
-
-static void __read_io_word(Encoder *encoder)
-{
-    more_io_words(encoder);
-    encoder->io_next_word = *(encoder->io_now++);
-}
-
-static void (*__read_io_word_ptr)(Encoder *encoder) = __read_io_word;
-
-
-static inline void read_io_word(Encoder *encoder)
-{
-    if (encoder->io_now == encoder->io_end) {
-        __read_io_word_ptr(encoder);
-        return;
-    }
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->io_now < encoder->io_end) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "468", __FUNCTION__, "assertion `%s' failed","encoder->io_now < encoder->io_end"); } while (0); } } while (0);
-    encoder->io_next_word = *(encoder->io_now++);
-}
-
-static inline void decode_eatbits(Encoder *encoder, int len)
-{
-    int delta;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (len > 0 && len < 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "476", __FUNCTION__, "assertion `%s' failed","len > 0 && len < 32"); } while (0); } } while (0);
-    encoder->io_word <<= len;
-
-    if ((delta = ((int)encoder->io_available_bits - len)) >= 0) {
-        encoder->io_available_bits = delta;
-        encoder->io_word |= encoder->io_next_word >> encoder->io_available_bits;
-        return;
-    }
-
-    delta = -delta;
-    encoder->io_word |= encoder->io_next_word << delta;
-    read_io_word(encoder);
-    encoder->io_available_bits = 32 - delta;
-    encoder->io_word |= (encoder->io_next_word >> encoder->io_available_bits);
-}
-
-static inline void decode_eat32bits(Encoder *encoder)
-{
-    decode_eatbits(encoder, 16);
-    decode_eatbits(encoder, 16);
-}
-
-
-
-
-
-static inline void encode_ones(Encoder *encoder, unsigned int n)
-{
-    unsigned int count;
-
-    for (count = n >> 5; count; count--) {
-        encode(encoder, ~0U, 32);
-    }
-
-    if ((n &= 0x1f)) {
-        encode(encoder, (1U << n) - 1, n);
-    }
-}
-
-
-
-static int zeroLUT[256];
-
-static int J[32] = {
-    0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7,
-    7, 8, 9, 10, 11, 12, 13, 14, 15
-};
-
-
-static void init_zeroLUT(void)
-{
-    int i, j, k, l;
-
-    j = k = 1;
-    l = 8;
-    for (i = 0; i < 256; ++i) {
-        zeroLUT[i] = l;
-        --k;
-        if (k == 0) {
-            k = j;
-            --l;
-            j *= 2;
-        }
-    }
-}
-
-static void encoder_init_rle(CommonState *state)
-{
-    state->melcstate = 0;
-    state->melclen = J[0];
-    state->melcorder = 1 << state->melclen;
-}
-
-
-
-static void encode_run(Encoder *encoder, unsigned int runlen)
-{
-    int hits = 0;
-
-    while (runlen >= encoder->rgb_state.melcorder) {
-        hits++;
-        runlen -= encoder->rgb_state.melcorder;
-        if (encoder->rgb_state.melcstate < 32) {
-            encoder->rgb_state.melclen = J[++encoder->rgb_state.melcstate];
-            encoder->rgb_state.melcorder = (1L << encoder->rgb_state.melclen);
-        }
-    }
-
-
-
-
-
-
-    encode_ones(encoder, hits);
-
-    encode(encoder, runlen, encoder->rgb_state.melclen + 1);
-
-
-    if (encoder->rgb_state.melcstate) {
-        encoder->rgb_state.melclen = J[--encoder->rgb_state.melcstate];
-        encoder->rgb_state.melcorder = (1L << encoder->rgb_state.melclen);
-    }
-}
-
-
-
-static void encode_channel_run(Encoder *encoder, Channel *channel, unsigned int runlen)
-{
-
-    int hits = 0;
-
-    while (runlen >= channel->state.melcorder) {
-        hits++;
-        runlen -= channel->state.melcorder;
-        if (channel->state.melcstate < 32) {
-            channel->state.melclen = J[++channel->state.melcstate];
-            channel->state.melcorder = (1L << channel->state.melclen);
-        }
-    }
-
-
-
-
-
-
-    encode_ones(encoder, hits);
-
-    encode(encoder, runlen, channel->state.melclen + 1);
-
-
-    if (channel->state.melcstate) {
-        channel->state.melclen = J[--channel->state.melcstate];
-        channel->state.melcorder = (1L << channel->state.melclen);
-    }
-}
-
-
-
-
-
-static int decode_run(Encoder *encoder)
-{
-    int runlen = 0;
-
-    do {
-        register int temp, hits;
-        temp = zeroLUT[(BYTE)(~(encoder->io_word >> 24))];
-
-        for (hits = 1; hits <= temp; hits++) {
-            runlen += encoder->rgb_state.melcorder;
-
-            if (encoder->rgb_state.melcstate < 32) {
-                encoder->rgb_state.melclen = J[++encoder->rgb_state.melcstate];
-                encoder->rgb_state.melcorder = (1U << encoder->rgb_state.melclen);
-            }
-        }
-        if (temp != 8) {
-            decode_eatbits(encoder, temp + 1);
-
-            break;
-        }
-        decode_eatbits(encoder, 8);
-    } while (1);
-
-
-    if (encoder->rgb_state.melclen) {
-        runlen += encoder->io_word >> (32 - encoder->rgb_state.melclen);
-        decode_eatbits(encoder, encoder->rgb_state.melclen);
-    }
-
-
-    if (encoder->rgb_state.melcstate) {
-        encoder->rgb_state.melclen = J[--encoder->rgb_state.melcstate];
-        encoder->rgb_state.melcorder = (1U << encoder->rgb_state.melclen);
-    }
-
-    return runlen;
-}
-
-
-
-static int decode_channel_run(Encoder *encoder, Channel *channel)
-{
-    int runlen = 0;
-
-    do {
-        register int temp, hits;
-        temp = zeroLUT[(BYTE)(~(encoder->io_word >> 24))];
-
-        for (hits = 1; hits <= temp; hits++) {
-            runlen += channel->state.melcorder;
-
-            if (channel->state.melcstate < 32) {
-                channel->state.melclen = J[++channel->state.melcstate];
-                channel->state.melcorder = (1U << channel->state.melclen);
-            }
-        }
-        if (temp != 8) {
-            decode_eatbits(encoder, temp + 1);
-
-            break;
-        }
-        decode_eatbits(encoder, 8);
-    } while (1);
-
-
-    if (channel->state.melclen) {
-        runlen += encoder->io_word >> (32 - channel->state.melclen);
-        decode_eatbits(encoder, channel->state.melclen);
-    }
-
-
-    if (channel->state.melcstate) {
-        channel->state.melclen = J[--channel->state.melcstate];
-        channel->state.melcorder = (1U << channel->state.melclen);
-    }
-
-    return runlen;
-}
-
-static inline void init_decode_io(Encoder *encoder)
-{
-    encoder->io_next_word = encoder->io_word = *(encoder->io_now++);
-    encoder->io_available_bits = 0;
-}
-
-typedef struct __attribute__ ((__packed__)) one_byte_pixel_t {
-    BYTE a;
-} one_byte_t;
-
-typedef struct __attribute__ ((__packed__)) three_bytes_pixel_t {
-    BYTE a;
-    BYTE b;
-    BYTE c;
-} three_bytes_t;
-
-typedef struct __attribute__ ((__packed__)) four_bytes_pixel_t {
-    BYTE a;
-    BYTE b;
-    BYTE c;
-    BYTE d;
-} four_bytes_t;
-
-typedef struct __attribute__ ((__packed__)) rgb32_pixel_t {
-    BYTE b;
-    BYTE g;
-    BYTE r;
-    BYTE pad;
-} rgb32_pixel_t;
-
-typedef struct __attribute__ ((__packed__)) rgb24_pixel_t {
-    BYTE b;
-    BYTE g;
-    BYTE r;
-} rgb24_pixel_t;
-
-typedef uint16_t rgb16_pixel_t;
-
-
-
-
-
-
-static inline BYTE quic_one_decorelate_0(const one_byte_t * const curr, const unsigned int bpc_mask)
-{
-    return family_8bpc.xlatU2L[(unsigned)((int)curr[0].a - (int)((unsigned int)curr[-1].a)) & bpc_mask];
-}
-
-static inline void quic_one_corelate_0(one_byte_t *curr, const BYTE corelate,
-                                     const unsigned int bpc_mask)
-{
-    curr->a = (family_8bpc.xlatL2U[corelate] + ((unsigned int)curr[-1].a)) & bpc_mask;
-}
-
-
-
-
-static inline BYTE quic_one_decorelate(const one_byte_t *const prev, const one_byte_t * const curr,
-                                     const unsigned int bpc_mask)
-{
-    return family_8bpc.xlatU2L[(unsigned)((int)curr->a - (int)((((unsigned int)curr[-1].a) + ((unsigned int)prev[0].a)) >> 1)) & bpc_mask];
-}
-
-
-static inline void quic_one_corelate(const one_byte_t *prev, one_byte_t *curr, const BYTE corelate,
-                                   const unsigned int bpc_mask)
-{
-    curr->a = (family_8bpc.xlatL2U[corelate] + (int)((((unsigned int)curr[-1].a) + ((unsigned int)prev[0].a)) >> 1)) & bpc_mask;
-}
-
-static void quic_one_compress_row0_seg(Encoder *encoder, Channel *channel, int i,
-                                     const one_byte_t * const cur_row,
-                                     const int end,
-                                     const unsigned int waitmask,
-                                     const unsigned int bpc,
-                                     const unsigned int bpc_mask)
-{
-    BYTE * const decorelate_drow = channel->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "161", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (i == 0) {
-        unsigned int codeword, codewordlen;
-
-        decorelate_drow[0] = family_8bpc.xlatU2L[cur_row->a];
-        golomb_coding_8bpc(decorelate_drow[0], find_bucket_8bpc(channel, decorelate_drow[-1])->bestcode,
-                      &codeword, &codewordlen);
-        encode(encoder, codeword, codewordlen);
-
-        if (channel->state.waitcnt) {
-            channel->state.waitcnt--;
-        } else {
-            channel->state.waitcnt = (tabrand(&channel->state.tabrand_seed) & waitmask);
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, decorelate_drow[-1]),
-                         decorelate_drow[i], bpc);
-        }
-        stopidx = ++i + channel->state.waitcnt;
-    } else {
-        stopidx = i + channel->state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codeword, codewordlen;
-            decorelate_drow[i] = quic_one_decorelate_0(&cur_row[i], bpc_mask);
-            golomb_coding_8bpc(decorelate_drow[i],
-                          find_bucket_8bpc(channel, decorelate_drow[i - 1])->bestcode, &codeword,
-                          &codewordlen);
-            encode(encoder, codeword, codewordlen);
-        }
-
-        update_model_8bpc(&channel->state, find_bucket_8bpc(channel, decorelate_drow[stopidx - 1]),
-                     decorelate_drow[stopidx], bpc);
-        stopidx = i + (tabrand(&channel->state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codeword, codewordlen;
-        decorelate_drow[i] = quic_one_decorelate_0(&cur_row[i], bpc_mask);
-        golomb_coding_8bpc(decorelate_drow[i], find_bucket_8bpc(channel, decorelate_drow[i - 1])->bestcode,
-                      &codeword, &codewordlen);
-        encode(encoder, codeword, codewordlen);
-    }
-    channel->state.waitcnt = stopidx - end;
-}
-
-static void quic_one_compress_row0(Encoder *encoder, Channel *channel, const one_byte_t *cur_row,
-                                 unsigned int width)
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    int pos = 0;
-
-    while ((wmimax > (int)channel->state.wmidx) && (channel->state.wmileft <= width)) {
-        if (channel->state.wmileft) {
-            quic_one_compress_row0_seg(encoder, channel, pos, cur_row, pos + channel->state.wmileft,
-                                     bppmask[channel->state.wmidx], bpc, bpc_mask);
-            width -= channel->state.wmileft;
-            pos += channel->state.wmileft;
-        }
-
-        channel->state.wmidx++;
-        set_wm_trigger(&channel->state);
-        channel->state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_one_compress_row0_seg(encoder, channel, pos, cur_row, pos + width,
-                                 bppmask[channel->state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)channel->state.wmidx) {
-            channel->state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)channel->state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "236", __FUNCTION__, "assertion `%s' failed","(int)channel->state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channel->state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "237", __FUNCTION__, "assertion `%s' failed","channel->state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "238", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_one_compress_row_seg(Encoder *encoder, Channel *channel, int i,
-                                    const one_byte_t * const prev_row,
-                                    const one_byte_t * const cur_row,
-                                    const int end,
-                                    const unsigned int waitmask,
-                                    const unsigned int bpc,
-                                    const unsigned int bpc_mask)
-{
-    BYTE * const decorelate_drow = channel->correlate_row;
-    int stopidx;
-
-    int run_index = 0;
-    int run_size;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "256", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codeword, codewordlen;
-
-        decorelate_drow[0] = family_8bpc.xlatU2L[(unsigned)((int)cur_row->a -
-                                                       (int)prev_row->a) & bpc_mask];
-
-        golomb_coding_8bpc(decorelate_drow[0],
-                      find_bucket_8bpc(channel, decorelate_drow[-1])->bestcode,
-                      &codeword,
-                      &codewordlen);
-        encode(encoder, codeword, codewordlen);
-
-        if (channel->state.waitcnt) {
-            channel->state.waitcnt--;
-        } else {
-            channel->state.waitcnt = (tabrand(&channel->state.tabrand_seed) & waitmask);
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, decorelate_drow[-1]),
-                         decorelate_drow[0], bpc);
-        }
-        stopidx = ++i + channel->state.waitcnt;
-    } else {
-        stopidx = i + channel->state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codeword, codewordlen;
-
-                ;
-                if (prev_row[i - 1].a == prev_row[i].a) { if (run_index != i && i > 2 && cur_row[i - 1].a == cur_row[i - 2].a) { goto do_run; } };
-                ;
-
-                decorelate_drow[i] = quic_one_decorelate(&prev_row[i], &cur_row[i], bpc_mask);
-                golomb_coding_8bpc(decorelate_drow[i],
-                              find_bucket_8bpc(channel, decorelate_drow[i - 1])->bestcode, &codeword,
-                              &codewordlen);
-                encode(encoder, codeword, codewordlen);
-            }
-
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, decorelate_drow[stopidx - 1]),
-                         decorelate_drow[stopidx], bpc);
-            stopidx = i + (tabrand(&channel->state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codeword, codewordlen;
-
-            ;
-            if (prev_row[i - 1].a == prev_row[i].a) { if (run_index != i && i > 2 && cur_row[i - 1].a == cur_row[i - 2].a) { goto do_run; } };
-            ;
-
-            decorelate_drow[i] = quic_one_decorelate(&prev_row[i], &cur_row[i], bpc_mask);
-            golomb_coding_8bpc(decorelate_drow[i], find_bucket_8bpc(channel,
-                                                          decorelate_drow[i - 1])->bestcode,
-                          &codeword, &codewordlen);
-            encode(encoder, codeword, codewordlen);
-        }
-        channel->state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        run_index = i;
-        channel->state.waitcnt = stopidx - i;
-        run_size = 0;
-
-        while (cur_row[i].a == cur_row[i - 1].a) {
-            run_size++;
-            if (++i == end) {
-
-                encode_channel_run(encoder, channel, run_size);
-
-
-
-                return;
-            }
-        }
-
-        encode_channel_run(encoder, channel, run_size);
-
-
-
-        stopidx = i + channel->state.waitcnt;
-
-    }
-}
-
-static void quic_one_compress_row(Encoder *encoder, Channel *channel,
-                                const one_byte_t * const prev_row,
-                                const one_byte_t * const cur_row,
-                                unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)channel->state.wmidx) && (channel->state.wmileft <= width)) {
-        if (channel->state.wmileft) {
-            quic_one_compress_row_seg(encoder, channel, pos, prev_row, cur_row,
-                                    pos + channel->state.wmileft, bppmask[channel->state.wmidx],
-                                    bpc, bpc_mask);
-            width -= channel->state.wmileft;
-            pos += channel->state.wmileft;
-        }
-
-        channel->state.wmidx++;
-        set_wm_trigger(&channel->state);
-        channel->state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_one_compress_row_seg(encoder, channel, pos, prev_row, cur_row, pos + width,
-                                bppmask[channel->state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)channel->state.wmidx) {
-            channel->state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)channel->state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "378", __FUNCTION__, "assertion `%s' failed","(int)channel->state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channel->state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "379", __FUNCTION__, "assertion `%s' failed","channel->state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "380", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_one_uncompress_row0_seg(Encoder *encoder, Channel *channel, int i,
-                                       BYTE * const correlate_row,
-                                       one_byte_t * const cur_row,
-                                       const int end,
-                                       const unsigned int waitmask,
-                                       const unsigned int bpc,
-                                       const unsigned int bpc_mask)
-{
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "393", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (i == 0) {
-        unsigned int codewordlen;
-
-        correlate_row[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel,
-                                                             correlate_row[-1])->bestcode,
-                                                 encoder->io_word, &codewordlen);
-        cur_row[0].a = (BYTE)family_8bpc.xlatL2U[correlate_row[0]];
-        decode_eatbits(encoder, codewordlen);
-
-        if (channel->state.waitcnt) {
-            --channel->state.waitcnt;
-        } else {
-            channel->state.waitcnt = (tabrand(&channel->state.tabrand_seed) & waitmask);
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, correlate_row[-1]),
-                         correlate_row[0], bpc);
-        }
-        stopidx = ++i + channel->state.waitcnt;
-    } else {
-        stopidx = i + channel->state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        struct s_bucket * pbucket = ((void *)0);
-
-        for (; i <= stopidx; i++) {
-            unsigned int codewordlen;
-
-            pbucket = find_bucket_8bpc(channel, correlate_row[i - 1]);
-            correlate_row[i] = (BYTE)golomb_decoding_8bpc(pbucket->bestcode, encoder->io_word,
-                                                     &codewordlen);
-            quic_one_corelate_0(&cur_row[i], correlate_row[i], bpc_mask);
-            decode_eatbits(encoder, codewordlen);
-        }
-
-        update_model_8bpc(&channel->state, pbucket, correlate_row[stopidx], bpc);
-
-        stopidx = i + (tabrand(&channel->state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codewordlen;
-
-        correlate_row[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel,
-                                                             correlate_row[i - 1])->bestcode,
-                                                 encoder->io_word, &codewordlen);
-        quic_one_corelate_0(&cur_row[i], correlate_row[i], bpc_mask);
-        decode_eatbits(encoder, codewordlen);
-    }
-    channel->state.waitcnt = stopidx - end;
-}
-
-static void quic_one_uncompress_row0(Encoder *encoder, Channel *channel,
-                                   one_byte_t * const cur_row,
-                                   unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    BYTE * const correlate_row = channel->correlate_row;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)channel->state.wmidx) && (channel->state.wmileft <= width)) {
-        if (channel->state.wmileft) {
-            quic_one_uncompress_row0_seg(encoder, channel, pos, correlate_row, cur_row,
-                                       pos + channel->state.wmileft, bppmask[channel->state.wmidx],
-                                       bpc, bpc_mask);
-            pos += channel->state.wmileft;
-            width -= channel->state.wmileft;
-        }
-
-        channel->state.wmidx++;
-        set_wm_trigger(&channel->state);
-        channel->state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_one_uncompress_row0_seg(encoder, channel, pos, correlate_row, cur_row, pos + width,
-                                   bppmask[channel->state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)channel->state.wmidx) {
-            channel->state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)channel->state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "478", __FUNCTION__, "assertion `%s' failed","(int)channel->state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channel->state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "479", __FUNCTION__, "assertion `%s' failed","channel->state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "480", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_one_uncompress_row_seg(Encoder *encoder, Channel *channel,
-                                      BYTE *correlate_row,
-                                      const one_byte_t * const prev_row,
-                                      one_byte_t * const cur_row,
-                                      int i,
-                                      const int end,
-                                      const unsigned int bpc,
-                                      const unsigned int bpc_mask)
-{
-    const unsigned int waitmask = bppmask[channel->state.wmidx];
-    int stopidx;
-
-    int run_index = 0;
-    int run_end;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "499", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (i == 0) {
-        unsigned int codewordlen;
-
-        correlate_row[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel, correlate_row[-1])->bestcode,
-                                                             encoder->io_word, &codewordlen);
-        cur_row[0].a = (family_8bpc.xlatL2U[correlate_row[0]] + prev_row[0].a) & bpc_mask;
-        decode_eatbits(encoder, codewordlen);
-
-        if (channel->state.waitcnt) {
-            --channel->state.waitcnt;
-        } else {
-            channel->state.waitcnt = (tabrand(&channel->state.tabrand_seed) & waitmask);
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, correlate_row[-1]),
-                         correlate_row[0], bpc);
-        }
-        stopidx = ++i + channel->state.waitcnt;
-    } else {
-        stopidx = i + channel->state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            struct s_bucket * pbucket = ((void *)0);
-
-            for (; i <= stopidx; i++) {
-                unsigned int codewordlen;
-
-                ;
-                if (prev_row[i - 1].a == prev_row[i].a) { if (run_index != i && i > 2 && cur_row[i - 1].a == cur_row[i - 2].a) { goto do_run; } };
-                ;
-
-                pbucket = find_bucket_8bpc(channel, correlate_row[i - 1]);
-                correlate_row[i] = (BYTE)golomb_decoding_8bpc(pbucket->bestcode, encoder->io_word,
-                                                         &codewordlen);
-                quic_one_corelate(&prev_row[i], &cur_row[i], correlate_row[i], bpc_mask);
-                decode_eatbits(encoder, codewordlen);
-            }
-
-            update_model_8bpc(&channel->state, pbucket, correlate_row[stopidx], bpc);
-
-            stopidx = i + (tabrand(&channel->state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codewordlen;
-
-            ;
-            if (prev_row[i - 1].a == prev_row[i].a) { if (run_index != i && i > 2 && cur_row[i - 1].a == cur_row[i - 2].a) { goto do_run; } };
-            ;
-
-            correlate_row[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel,
-                                                                 correlate_row[i - 1])->bestcode,
-                                                     encoder->io_word, &codewordlen);
-            quic_one_corelate(&prev_row[i], &cur_row[i], correlate_row[i], bpc_mask);
-            decode_eatbits(encoder, codewordlen);
-        }
-
-        channel->state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        channel->state.waitcnt = stopidx - i;
-        run_index = i;
-
-        run_end = i + decode_channel_run(encoder, channel);
-
-
-
-
-        for (; i < run_end; i++) {
-            cur_row[i].a = cur_row[i - 1].a;
-        }
-
-        if (i == end) {
-            return;
-        }
-
-        stopidx = i + channel->state.waitcnt;
-
-    }
-}
-
-static void quic_one_uncompress_row(Encoder *encoder, Channel *channel,
-                                  const one_byte_t * const prev_row,
-                                  one_byte_t * const cur_row,
-                                  unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    BYTE * const correlate_row = channel->correlate_row;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)channel->state.wmidx) && (channel->state.wmileft <= width)) {
-        if (channel->state.wmileft) {
-            quic_one_uncompress_row_seg(encoder, channel, correlate_row, prev_row, cur_row, pos,
-                                      pos + channel->state.wmileft, bpc, bpc_mask);
-            pos += channel->state.wmileft;
-            width -= channel->state.wmileft;
-        }
-
-        channel->state.wmidx++;
-        set_wm_trigger(&channel->state);
-        channel->state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_one_uncompress_row_seg(encoder, channel, correlate_row, prev_row, cur_row, pos,
-                                  pos + width, bpc, bpc_mask);
-        if (wmimax > (int)channel->state.wmidx) {
-            channel->state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)channel->state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "616", __FUNCTION__, "assertion `%s' failed","(int)channel->state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channel->state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "617", __FUNCTION__, "assertion `%s' failed","channel->state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "618", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-
-
-
-
-
-
-
-static inline BYTE quic_four_decorelate_0(const four_bytes_t * const curr, const unsigned int bpc_mask)
-{
-    return family_8bpc.xlatU2L[(unsigned)((int)curr[0].a - (int)((unsigned int)curr[-1].a)) & bpc_mask];
-}
-
-static inline void quic_four_corelate_0(four_bytes_t *curr, const BYTE corelate,
-                                     const unsigned int bpc_mask)
-{
-    curr->a = (family_8bpc.xlatL2U[corelate] + ((unsigned int)curr[-1].a)) & bpc_mask;
-}
-
-
-
-
-static inline BYTE quic_four_decorelate(const four_bytes_t *const prev, const four_bytes_t * const curr,
-                                     const unsigned int bpc_mask)
-{
-    return family_8bpc.xlatU2L[(unsigned)((int)curr->a - (int)((((unsigned int)curr[-1].a) + ((unsigned int)prev[0].a)) >> 1)) & bpc_mask];
-}
-
-
-static inline void quic_four_corelate(const four_bytes_t *prev, four_bytes_t *curr, const BYTE corelate,
-                                   const unsigned int bpc_mask)
-{
-    curr->a = (family_8bpc.xlatL2U[corelate] + (int)((((unsigned int)curr[-1].a) + ((unsigned int)prev[0].a)) >> 1)) & bpc_mask;
-}
-
-static void quic_four_compress_row0_seg(Encoder *encoder, Channel *channel, int i,
-                                     const four_bytes_t * const cur_row,
-                                     const int end,
-                                     const unsigned int waitmask,
-                                     const unsigned int bpc,
-                                     const unsigned int bpc_mask)
-{
-    BYTE * const decorelate_drow = channel->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "161", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (i == 0) {
-        unsigned int codeword, codewordlen;
-
-        decorelate_drow[0] = family_8bpc.xlatU2L[cur_row->a];
-        golomb_coding_8bpc(decorelate_drow[0], find_bucket_8bpc(channel, decorelate_drow[-1])->bestcode,
-                      &codeword, &codewordlen);
-        encode(encoder, codeword, codewordlen);
-
-        if (channel->state.waitcnt) {
-            channel->state.waitcnt--;
-        } else {
-            channel->state.waitcnt = (tabrand(&channel->state.tabrand_seed) & waitmask);
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, decorelate_drow[-1]),
-                         decorelate_drow[i], bpc);
-        }
-        stopidx = ++i + channel->state.waitcnt;
-    } else {
-        stopidx = i + channel->state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codeword, codewordlen;
-            decorelate_drow[i] = quic_four_decorelate_0(&cur_row[i], bpc_mask);
-            golomb_coding_8bpc(decorelate_drow[i],
-                          find_bucket_8bpc(channel, decorelate_drow[i - 1])->bestcode, &codeword,
-                          &codewordlen);
-            encode(encoder, codeword, codewordlen);
-        }
-
-        update_model_8bpc(&channel->state, find_bucket_8bpc(channel, decorelate_drow[stopidx - 1]),
-                     decorelate_drow[stopidx], bpc);
-        stopidx = i + (tabrand(&channel->state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codeword, codewordlen;
-        decorelate_drow[i] = quic_four_decorelate_0(&cur_row[i], bpc_mask);
-        golomb_coding_8bpc(decorelate_drow[i], find_bucket_8bpc(channel, decorelate_drow[i - 1])->bestcode,
-                      &codeword, &codewordlen);
-        encode(encoder, codeword, codewordlen);
-    }
-    channel->state.waitcnt = stopidx - end;
-}
-
-static void quic_four_compress_row0(Encoder *encoder, Channel *channel, const four_bytes_t *cur_row,
-                                 unsigned int width)
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    int pos = 0;
-
-    while ((wmimax > (int)channel->state.wmidx) && (channel->state.wmileft <= width)) {
-        if (channel->state.wmileft) {
-            quic_four_compress_row0_seg(encoder, channel, pos, cur_row, pos + channel->state.wmileft,
-                                     bppmask[channel->state.wmidx], bpc, bpc_mask);
-            width -= channel->state.wmileft;
-            pos += channel->state.wmileft;
-        }
-
-        channel->state.wmidx++;
-        set_wm_trigger(&channel->state);
-        channel->state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_four_compress_row0_seg(encoder, channel, pos, cur_row, pos + width,
-                                 bppmask[channel->state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)channel->state.wmidx) {
-            channel->state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)channel->state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "236", __FUNCTION__, "assertion `%s' failed","(int)channel->state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channel->state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "237", __FUNCTION__, "assertion `%s' failed","channel->state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "238", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_four_compress_row_seg(Encoder *encoder, Channel *channel, int i,
-                                    const four_bytes_t * const prev_row,
-                                    const four_bytes_t * const cur_row,
-                                    const int end,
-                                    const unsigned int waitmask,
-                                    const unsigned int bpc,
-                                    const unsigned int bpc_mask)
-{
-    BYTE * const decorelate_drow = channel->correlate_row;
-    int stopidx;
-
-    int run_index = 0;
-    int run_size;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "256", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codeword, codewordlen;
-
-        decorelate_drow[0] = family_8bpc.xlatU2L[(unsigned)((int)cur_row->a -
-                                                       (int)prev_row->a) & bpc_mask];
-
-        golomb_coding_8bpc(decorelate_drow[0],
-                      find_bucket_8bpc(channel, decorelate_drow[-1])->bestcode,
-                      &codeword,
-                      &codewordlen);
-        encode(encoder, codeword, codewordlen);
-
-        if (channel->state.waitcnt) {
-            channel->state.waitcnt--;
-        } else {
-            channel->state.waitcnt = (tabrand(&channel->state.tabrand_seed) & waitmask);
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, decorelate_drow[-1]),
-                         decorelate_drow[0], bpc);
-        }
-        stopidx = ++i + channel->state.waitcnt;
-    } else {
-        stopidx = i + channel->state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codeword, codewordlen;
-
-                ;
-                if (prev_row[i - 1].a == prev_row[i].a) { if (run_index != i && i > 2 && cur_row[i - 1].a == cur_row[i - 2].a) { goto do_run; } };
-                ;
-
-                decorelate_drow[i] = quic_four_decorelate(&prev_row[i], &cur_row[i], bpc_mask);
-                golomb_coding_8bpc(decorelate_drow[i],
-                              find_bucket_8bpc(channel, decorelate_drow[i - 1])->bestcode, &codeword,
-                              &codewordlen);
-                encode(encoder, codeword, codewordlen);
-            }
-
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, decorelate_drow[stopidx - 1]),
-                         decorelate_drow[stopidx], bpc);
-            stopidx = i + (tabrand(&channel->state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codeword, codewordlen;
-
-            ;
-            if (prev_row[i - 1].a == prev_row[i].a) { if (run_index != i && i > 2 && cur_row[i - 1].a == cur_row[i - 2].a) { goto do_run; } };
-            ;
-
-            decorelate_drow[i] = quic_four_decorelate(&prev_row[i], &cur_row[i], bpc_mask);
-            golomb_coding_8bpc(decorelate_drow[i], find_bucket_8bpc(channel,
-                                                          decorelate_drow[i - 1])->bestcode,
-                          &codeword, &codewordlen);
-            encode(encoder, codeword, codewordlen);
-        }
-        channel->state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        run_index = i;
-        channel->state.waitcnt = stopidx - i;
-        run_size = 0;
-
-        while (cur_row[i].a == cur_row[i - 1].a) {
-            run_size++;
-            if (++i == end) {
-
-                encode_channel_run(encoder, channel, run_size);
-
-
-
-                return;
-            }
-        }
-
-        encode_channel_run(encoder, channel, run_size);
-
-
-
-        stopidx = i + channel->state.waitcnt;
-
-    }
-}
-
-static void quic_four_compress_row(Encoder *encoder, Channel *channel,
-                                const four_bytes_t * const prev_row,
-                                const four_bytes_t * const cur_row,
-                                unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)channel->state.wmidx) && (channel->state.wmileft <= width)) {
-        if (channel->state.wmileft) {
-            quic_four_compress_row_seg(encoder, channel, pos, prev_row, cur_row,
-                                    pos + channel->state.wmileft, bppmask[channel->state.wmidx],
-                                    bpc, bpc_mask);
-            width -= channel->state.wmileft;
-            pos += channel->state.wmileft;
-        }
-
-        channel->state.wmidx++;
-        set_wm_trigger(&channel->state);
-        channel->state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_four_compress_row_seg(encoder, channel, pos, prev_row, cur_row, pos + width,
-                                bppmask[channel->state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)channel->state.wmidx) {
-            channel->state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)channel->state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "378", __FUNCTION__, "assertion `%s' failed","(int)channel->state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channel->state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "379", __FUNCTION__, "assertion `%s' failed","channel->state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "380", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_four_uncompress_row0_seg(Encoder *encoder, Channel *channel, int i,
-                                       BYTE * const correlate_row,
-                                       four_bytes_t * const cur_row,
-                                       const int end,
-                                       const unsigned int waitmask,
-                                       const unsigned int bpc,
-                                       const unsigned int bpc_mask)
-{
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "393", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (i == 0) {
-        unsigned int codewordlen;
-
-        correlate_row[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel,
-                                                             correlate_row[-1])->bestcode,
-                                                 encoder->io_word, &codewordlen);
-        cur_row[0].a = (BYTE)family_8bpc.xlatL2U[correlate_row[0]];
-        decode_eatbits(encoder, codewordlen);
-
-        if (channel->state.waitcnt) {
-            --channel->state.waitcnt;
-        } else {
-            channel->state.waitcnt = (tabrand(&channel->state.tabrand_seed) & waitmask);
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, correlate_row[-1]),
-                         correlate_row[0], bpc);
-        }
-        stopidx = ++i + channel->state.waitcnt;
-    } else {
-        stopidx = i + channel->state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        struct s_bucket * pbucket = ((void *)0);
-
-        for (; i <= stopidx; i++) {
-            unsigned int codewordlen;
-
-            pbucket = find_bucket_8bpc(channel, correlate_row[i - 1]);
-            correlate_row[i] = (BYTE)golomb_decoding_8bpc(pbucket->bestcode, encoder->io_word,
-                                                     &codewordlen);
-            quic_four_corelate_0(&cur_row[i], correlate_row[i], bpc_mask);
-            decode_eatbits(encoder, codewordlen);
-        }
-
-        update_model_8bpc(&channel->state, pbucket, correlate_row[stopidx], bpc);
-
-        stopidx = i + (tabrand(&channel->state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codewordlen;
-
-        correlate_row[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel,
-                                                             correlate_row[i - 1])->bestcode,
-                                                 encoder->io_word, &codewordlen);
-        quic_four_corelate_0(&cur_row[i], correlate_row[i], bpc_mask);
-        decode_eatbits(encoder, codewordlen);
-    }
-    channel->state.waitcnt = stopidx - end;
-}
-
-static void quic_four_uncompress_row0(Encoder *encoder, Channel *channel,
-                                   four_bytes_t * const cur_row,
-                                   unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    BYTE * const correlate_row = channel->correlate_row;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)channel->state.wmidx) && (channel->state.wmileft <= width)) {
-        if (channel->state.wmileft) {
-            quic_four_uncompress_row0_seg(encoder, channel, pos, correlate_row, cur_row,
-                                       pos + channel->state.wmileft, bppmask[channel->state.wmidx],
-                                       bpc, bpc_mask);
-            pos += channel->state.wmileft;
-            width -= channel->state.wmileft;
-        }
-
-        channel->state.wmidx++;
-        set_wm_trigger(&channel->state);
-        channel->state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_four_uncompress_row0_seg(encoder, channel, pos, correlate_row, cur_row, pos + width,
-                                   bppmask[channel->state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)channel->state.wmidx) {
-            channel->state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)channel->state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "478", __FUNCTION__, "assertion `%s' failed","(int)channel->state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channel->state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "479", __FUNCTION__, "assertion `%s' failed","channel->state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "480", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_four_uncompress_row_seg(Encoder *encoder, Channel *channel,
-                                      BYTE *correlate_row,
-                                      const four_bytes_t * const prev_row,
-                                      four_bytes_t * const cur_row,
-                                      int i,
-                                      const int end,
-                                      const unsigned int bpc,
-                                      const unsigned int bpc_mask)
-{
-    const unsigned int waitmask = bppmask[channel->state.wmidx];
-    int stopidx;
-
-    int run_index = 0;
-    int run_end;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "499", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (i == 0) {
-        unsigned int codewordlen;
-
-        correlate_row[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel, correlate_row[-1])->bestcode,
-                                                             encoder->io_word, &codewordlen);
-        cur_row[0].a = (family_8bpc.xlatL2U[correlate_row[0]] + prev_row[0].a) & bpc_mask;
-        decode_eatbits(encoder, codewordlen);
-
-        if (channel->state.waitcnt) {
-            --channel->state.waitcnt;
-        } else {
-            channel->state.waitcnt = (tabrand(&channel->state.tabrand_seed) & waitmask);
-            update_model_8bpc(&channel->state, find_bucket_8bpc(channel, correlate_row[-1]),
-                         correlate_row[0], bpc);
-        }
-        stopidx = ++i + channel->state.waitcnt;
-    } else {
-        stopidx = i + channel->state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            struct s_bucket * pbucket = ((void *)0);
-
-            for (; i <= stopidx; i++) {
-                unsigned int codewordlen;
-
-                ;
-                if (prev_row[i - 1].a == prev_row[i].a) { if (run_index != i && i > 2 && cur_row[i - 1].a == cur_row[i - 2].a) { goto do_run; } };
-                ;
-
-                pbucket = find_bucket_8bpc(channel, correlate_row[i - 1]);
-                correlate_row[i] = (BYTE)golomb_decoding_8bpc(pbucket->bestcode, encoder->io_word,
-                                                         &codewordlen);
-                quic_four_corelate(&prev_row[i], &cur_row[i], correlate_row[i], bpc_mask);
-                decode_eatbits(encoder, codewordlen);
-            }
-
-            update_model_8bpc(&channel->state, pbucket, correlate_row[stopidx], bpc);
-
-            stopidx = i + (tabrand(&channel->state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codewordlen;
-
-            ;
-            if (prev_row[i - 1].a == prev_row[i].a) { if (run_index != i && i > 2 && cur_row[i - 1].a == cur_row[i - 2].a) { goto do_run; } };
-            ;
-
-            correlate_row[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel,
-                                                                 correlate_row[i - 1])->bestcode,
-                                                     encoder->io_word, &codewordlen);
-            quic_four_corelate(&prev_row[i], &cur_row[i], correlate_row[i], bpc_mask);
-            decode_eatbits(encoder, codewordlen);
-        }
-
-        channel->state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        channel->state.waitcnt = stopidx - i;
-        run_index = i;
-
-        run_end = i + decode_channel_run(encoder, channel);
-
-
-
-
-        for (; i < run_end; i++) {
-            cur_row[i].a = cur_row[i - 1].a;
-        }
-
-        if (i == end) {
-            return;
-        }
-
-        stopidx = i + channel->state.waitcnt;
-
-    }
-}
-
-static void quic_four_uncompress_row(Encoder *encoder, Channel *channel,
-                                  const four_bytes_t * const prev_row,
-                                  four_bytes_t * const cur_row,
-                                  unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    BYTE * const correlate_row = channel->correlate_row;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)channel->state.wmidx) && (channel->state.wmileft <= width)) {
-        if (channel->state.wmileft) {
-            quic_four_uncompress_row_seg(encoder, channel, correlate_row, prev_row, cur_row, pos,
-                                      pos + channel->state.wmileft, bpc, bpc_mask);
-            pos += channel->state.wmileft;
-            width -= channel->state.wmileft;
-        }
-
-        channel->state.wmidx++;
-        set_wm_trigger(&channel->state);
-        channel->state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_four_uncompress_row_seg(encoder, channel, correlate_row, prev_row, cur_row, pos,
-                                  pos + width, bpc, bpc_mask);
-        if (wmimax > (int)channel->state.wmidx) {
-            channel->state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)channel->state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "616", __FUNCTION__, "assertion `%s' failed","(int)channel->state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channel->state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "617", __FUNCTION__, "assertion `%s' failed","channel->state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_tmpl.c" ":" "618", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-
-
-
-
-
-
-
-
-
-static void quic_rgb32_compress_row0_seg(Encoder *encoder, int i,
-                                     const rgb32_pixel_t * const cur_row,
-                                     const int end,
-                                     const unsigned int waitmask,
-                                     const unsigned int bpc,
-                                     const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "238", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[0] = family_8bpc.xlatU2L[((cur_row)->r)]; golomb_coding_8bpc(correlate_row_r[0], find_bucket_8bpc(channel_r, correlate_row_r[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[0] = family_8bpc.xlatU2L[((cur_row)->g)]; golomb_coding_8bpc(correlate_row_g[0], find_bucket_8bpc(channel_g, correlate_row_g[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[0] = family_8bpc.xlatU2L[((cur_row)->b)]; golomb_coding_8bpc(correlate_row_b[0], find_bucket_8bpc(channel_b, correlate_row_b[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            encoder->rgb_state.waitcnt--;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codeword, codewordlen;
-            correlate_row_r[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->r) - (int)((unsigned int)(((&cur_row[i]) - 1)->r))) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[i], find_bucket_8bpc(channel_r, correlate_row_r[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_g[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->g) - (int)((unsigned int)(((&cur_row[i]) - 1)->g))) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[i], find_bucket_8bpc(channel_g, correlate_row_g[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_b[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->b) - (int)((unsigned int)(((&cur_row[i]) - 1)->b))) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[i], find_bucket_8bpc(channel_b, correlate_row_b[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        }
-
-        update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-        stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->r) - (int)((unsigned int)(((&cur_row[i]) - 1)->r))) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[i], find_bucket_8bpc(channel_r, correlate_row_r[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->g) - (int)((unsigned int)(((&cur_row[i]) - 1)->g))) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[i], find_bucket_8bpc(channel_g, correlate_row_g[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->b) - (int)((unsigned int)(((&cur_row[i]) - 1)->b))) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[i], find_bucket_8bpc(channel_b, correlate_row_b[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-    }
-    encoder->rgb_state.waitcnt = stopidx - end;
-}
-
-static void quic_rgb32_compress_row0(Encoder *encoder, const rgb32_pixel_t *cur_row,
-                                 unsigned int width)
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb32_compress_row0_seg(encoder, pos, cur_row, pos + encoder->rgb_state.wmileft,
-                                     bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-            width -= encoder->rgb_state.wmileft;
-            pos += encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb32_compress_row0_seg(encoder, pos, cur_row, pos + width,
-                                 bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "308", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "309", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "310", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb32_compress_row_seg(Encoder *encoder, int i,
-                                    const rgb32_pixel_t * const prev_row,
-                                    const rgb32_pixel_t * const cur_row,
-                                    const int end,
-                                    const unsigned int waitmask,
-                                    const unsigned int bpc,
-                                    const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    int run_index = 0;
-    int run_size;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "350", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[0] = family_8bpc.xlatU2L[(unsigned)((int)((cur_row)->r) - (int)((prev_row)->r) ) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[0], find_bucket_8bpc(channel_r, correlate_row_r[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[0] = family_8bpc.xlatU2L[(unsigned)((int)((cur_row)->g) - (int)((prev_row)->g) ) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[0], find_bucket_8bpc(channel_g, correlate_row_g[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[0] = family_8bpc.xlatU2L[(unsigned)((int)((cur_row)->b) - (int)((prev_row)->b) ) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[0], find_bucket_8bpc(channel_b, correlate_row_b[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            encoder->rgb_state.waitcnt--;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codeword, codewordlen;
-
-                ;
-                if ((((&prev_row[i - 1])->r) == ((&prev_row[i])->r) && ((&prev_row[i - 1])->g) == ((&prev_row[i])->g) && ((&prev_row[i - 1])->b) == ((&prev_row[i])->b))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r) == ((&cur_row[i - 2])->r) && ((&cur_row[i - 1])->g) == ((&cur_row[i - 2])->g) && ((&cur_row[i - 1])->b) == ((&cur_row[i - 2])->b))) { goto do_run; } };
-                ;
-
-                correlate_row_r[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->r) - (int)((((unsigned int)(((&cur_row[i]) - 1)->r)) + ((unsigned int)((&prev_row[i])->r))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[i], find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-                correlate_row_g[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->g) - (int)((((unsigned int)(((&cur_row[i]) - 1)->g)) + ((unsigned int)((&prev_row[i])->g))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[i], find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-                correlate_row_b[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->b) - (int)((((unsigned int)(((&cur_row[i]) - 1)->b)) + ((unsigned int)((&prev_row[i])->b))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[i], find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            }
-
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-            stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codeword, codewordlen;
-
-            ;
-            if ((((&prev_row[i - 1])->r) == ((&prev_row[i])->r) && ((&prev_row[i - 1])->g) == ((&prev_row[i])->g) && ((&prev_row[i - 1])->b) == ((&prev_row[i])->b))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r) == ((&cur_row[i - 2])->r) && ((&cur_row[i - 1])->g) == ((&cur_row[i - 2])->g) && ((&cur_row[i - 1])->b) == ((&cur_row[i - 2])->b))) { goto do_run; } };
-            ;
-
-            correlate_row_r[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->r) - (int)((((unsigned int)(((&cur_row[i]) - 1)->r)) + ((unsigned int)((&prev_row[i])->r))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[i], find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_g[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->g) - (int)((((unsigned int)(((&cur_row[i]) - 1)->g)) + ((unsigned int)((&prev_row[i])->g))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[i], find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_b[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->b) - (int)((((unsigned int)(((&cur_row[i]) - 1)->b)) + ((unsigned int)((&prev_row[i])->b))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[i], find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        }
-        encoder->rgb_state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        run_index = i;
-        encoder->rgb_state.waitcnt = stopidx - i;
-        run_size = 0;
-
-        while ((((&cur_row[i])->r) == ((&cur_row[i - 1])->r) && ((&cur_row[i])->g) == ((&cur_row[i - 1])->g) && ((&cur_row[i])->b) == ((&cur_row[i - 1])->b))) {
-            run_size++;
-            if (++i == end) {
-                encode_run(encoder, run_size);
-                return;
-            }
-        }
-        encode_run(encoder, run_size);
-        stopidx = i + encoder->rgb_state.waitcnt;
-
-    }
-}
-
-static void quic_rgb32_compress_row(Encoder *encoder,
-                                const rgb32_pixel_t * const prev_row,
-                                const rgb32_pixel_t * const cur_row,
-                                unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb32_compress_row_seg(encoder, pos, prev_row, cur_row,
-                                    pos + encoder->rgb_state.wmileft,
-                                    bppmask[encoder->rgb_state.wmidx],
-                                    bpc, bpc_mask);
-            width -= encoder->rgb_state.wmileft;
-            pos += encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb32_compress_row_seg(encoder, pos, prev_row, cur_row, pos + width,
-                                bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "454", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "455", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "456", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb32_uncompress_row0_seg(Encoder *encoder, int i,
-                                       rgb32_pixel_t * const cur_row,
-                                       const int end,
-                                       const unsigned int waitmask,
-                                       const unsigned int bpc,
-                                       const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "493", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codewordlen;
-
-        ((&cur_row[i])->pad = 0);
-        correlate_row_r[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->r = (BYTE)family_8bpc.xlatL2U[correlate_row_r[0]]); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->g = (BYTE)family_8bpc.xlatL2U[correlate_row_g[0]]); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->b = (BYTE)family_8bpc.xlatL2U[correlate_row_b[0]]); decode_eatbits(encoder, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            --encoder->rgb_state.waitcnt;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codewordlen;
-
-            ((&cur_row[i])->pad = 0);
-            correlate_row_r[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((family_8bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)(((&cur_row[i]) - 1)->r))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_g[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((family_8bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)(((&cur_row[i]) - 1)->g))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_b[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((family_8bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(((&cur_row[i]) - 1)->b))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-        }
-        update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-        stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codewordlen;
-
-        ((&cur_row[i])->pad = 0);
-        correlate_row_r[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((family_8bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)(((&cur_row[i]) - 1)->r))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((family_8bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)(((&cur_row[i]) - 1)->g))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((family_8bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(((&cur_row[i]) - 1)->b))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-    }
-    encoder->rgb_state.waitcnt = stopidx - end;
-}
-
-static void quic_rgb32_uncompress_row0(Encoder *encoder,
-                                   rgb32_pixel_t * const cur_row,
-                                   unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb32_uncompress_row0_seg(encoder, pos, cur_row,
-                                       pos + encoder->rgb_state.wmileft,
-                                       bppmask[encoder->rgb_state.wmidx],
-                                       bpc, bpc_mask);
-            pos += encoder->rgb_state.wmileft;
-            width -= encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb32_uncompress_row0_seg(encoder, pos, cur_row, pos + width,
-                                   bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "570", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "571", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "572", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb32_uncompress_row_seg(Encoder *encoder,
-                                      const rgb32_pixel_t * const prev_row,
-                                      rgb32_pixel_t * const cur_row,
-                                      int i,
-                                      const int end,
-                                      const unsigned int bpc,
-                                      const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    const unsigned int waitmask = bppmask[encoder->rgb_state.wmidx];
-    int stopidx;
-
-    int run_index = 0;
-    int run_end;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "614", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codewordlen;
-
-        ((&cur_row[i])->pad = 0);
-        correlate_row_r[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->r = (family_8bpc.xlatL2U[correlate_row_r[0]] + ((prev_row)->r)) & bpc_mask); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->g = (family_8bpc.xlatL2U[correlate_row_g[0]] + ((prev_row)->g)) & bpc_mask); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->b = (family_8bpc.xlatL2U[correlate_row_b[0]] + ((prev_row)->b)) & bpc_mask); decode_eatbits(encoder, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            --encoder->rgb_state.waitcnt;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codewordlen;
-
-                ;
-                if ((((&prev_row[i - 1])->r) == ((&prev_row[i])->r) && ((&prev_row[i - 1])->g) == ((&prev_row[i])->g) && ((&prev_row[i - 1])->b) == ((&prev_row[i])->b))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r) == ((&cur_row[i - 2])->r) && ((&cur_row[i - 1])->g) == ((&cur_row[i - 2])->g) && ((&cur_row[i - 1])->b) == ((&cur_row[i - 2])->b))) { goto do_run; } };
-                ;
-
-                ((&cur_row[i])->pad = 0);
-                correlate_row_r[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((family_8bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->r)) + ((unsigned int)((&prev_row[i])->r))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-                correlate_row_g[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((family_8bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->g)) + ((unsigned int)((&prev_row[i])->g))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-                correlate_row_b[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((family_8bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->b)) + ((unsigned int)((&prev_row[i])->b))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            }
-
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-
-            stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codewordlen;
-
-            ;
-            if ((((&prev_row[i - 1])->r) == ((&prev_row[i])->r) && ((&prev_row[i - 1])->g) == ((&prev_row[i])->g) && ((&prev_row[i - 1])->b) == ((&prev_row[i])->b))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r) == ((&cur_row[i - 2])->r) && ((&cur_row[i - 1])->g) == ((&cur_row[i - 2])->g) && ((&cur_row[i - 1])->b) == ((&cur_row[i - 2])->b))) { goto do_run; } };
-            ;
-
-            ((&cur_row[i])->pad = 0);
-            correlate_row_r[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((family_8bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->r)) + ((unsigned int)((&prev_row[i])->r))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_g[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((family_8bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->g)) + ((unsigned int)((&prev_row[i])->g))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_b[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((family_8bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->b)) + ((unsigned int)((&prev_row[i])->b))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-        }
-
-        encoder->rgb_state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        encoder->rgb_state.waitcnt = stopidx - i;
-        run_index = i;
-        run_end = i + decode_run(encoder);
-
-        for (; i < run_end; i++) {
-            ((&cur_row[i])->pad = 0);
-            ((&cur_row[i])->r = ((&cur_row[i - 1])->r));
-            ((&cur_row[i])->g = ((&cur_row[i - 1])->g));
-            ((&cur_row[i])->b = ((&cur_row[i - 1])->b));
-        }
-
-        if (i == end) {
-            return;
-        }
-
-        stopidx = i + encoder->rgb_state.waitcnt;
-
-    }
-}
-
-static void quic_rgb32_uncompress_row(Encoder *encoder,
-                                  const rgb32_pixel_t * const prev_row,
-                                  rgb32_pixel_t * const cur_row,
-                                  unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb32_uncompress_row_seg(encoder, prev_row, cur_row, pos,
-                                      pos + encoder->rgb_state.wmileft, bpc, bpc_mask);
-            pos += encoder->rgb_state.wmileft;
-            width -= encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb32_uncompress_row_seg(encoder, prev_row, cur_row, pos,
-                                  pos + width, bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "724", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "725", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "726", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-
-
-
-
-
-
-
-static void quic_rgb24_compress_row0_seg(Encoder *encoder, int i,
-                                     const rgb24_pixel_t * const cur_row,
-                                     const int end,
-                                     const unsigned int waitmask,
-                                     const unsigned int bpc,
-                                     const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "238", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[0] = family_8bpc.xlatU2L[((cur_row)->r)]; golomb_coding_8bpc(correlate_row_r[0], find_bucket_8bpc(channel_r, correlate_row_r[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[0] = family_8bpc.xlatU2L[((cur_row)->g)]; golomb_coding_8bpc(correlate_row_g[0], find_bucket_8bpc(channel_g, correlate_row_g[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[0] = family_8bpc.xlatU2L[((cur_row)->b)]; golomb_coding_8bpc(correlate_row_b[0], find_bucket_8bpc(channel_b, correlate_row_b[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            encoder->rgb_state.waitcnt--;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codeword, codewordlen;
-            correlate_row_r[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->r) - (int)((unsigned int)(((&cur_row[i]) - 1)->r))) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[i], find_bucket_8bpc(channel_r, correlate_row_r[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_g[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->g) - (int)((unsigned int)(((&cur_row[i]) - 1)->g))) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[i], find_bucket_8bpc(channel_g, correlate_row_g[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_b[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->b) - (int)((unsigned int)(((&cur_row[i]) - 1)->b))) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[i], find_bucket_8bpc(channel_b, correlate_row_b[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        }
-
-        update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-        stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->r) - (int)((unsigned int)(((&cur_row[i]) - 1)->r))) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[i], find_bucket_8bpc(channel_r, correlate_row_r[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->g) - (int)((unsigned int)(((&cur_row[i]) - 1)->g))) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[i], find_bucket_8bpc(channel_g, correlate_row_g[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->b) - (int)((unsigned int)(((&cur_row[i]) - 1)->b))) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[i], find_bucket_8bpc(channel_b, correlate_row_b[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-    }
-    encoder->rgb_state.waitcnt = stopidx - end;
-}
-
-static void quic_rgb24_compress_row0(Encoder *encoder, const rgb24_pixel_t *cur_row,
-                                 unsigned int width)
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb24_compress_row0_seg(encoder, pos, cur_row, pos + encoder->rgb_state.wmileft,
-                                     bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-            width -= encoder->rgb_state.wmileft;
-            pos += encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb24_compress_row0_seg(encoder, pos, cur_row, pos + width,
-                                 bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "308", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "309", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "310", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb24_compress_row_seg(Encoder *encoder, int i,
-                                    const rgb24_pixel_t * const prev_row,
-                                    const rgb24_pixel_t * const cur_row,
-                                    const int end,
-                                    const unsigned int waitmask,
-                                    const unsigned int bpc,
-                                    const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    int run_index = 0;
-    int run_size;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "350", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[0] = family_8bpc.xlatU2L[(unsigned)((int)((cur_row)->r) - (int)((prev_row)->r) ) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[0], find_bucket_8bpc(channel_r, correlate_row_r[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[0] = family_8bpc.xlatU2L[(unsigned)((int)((cur_row)->g) - (int)((prev_row)->g) ) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[0], find_bucket_8bpc(channel_g, correlate_row_g[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[0] = family_8bpc.xlatU2L[(unsigned)((int)((cur_row)->b) - (int)((prev_row)->b) ) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[0], find_bucket_8bpc(channel_b, correlate_row_b[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            encoder->rgb_state.waitcnt--;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codeword, codewordlen;
-
-                ;
-                if ((((&prev_row[i - 1])->r) == ((&prev_row[i])->r) && ((&prev_row[i - 1])->g) == ((&prev_row[i])->g) && ((&prev_row[i - 1])->b) == ((&prev_row[i])->b))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r) == ((&cur_row[i - 2])->r) && ((&cur_row[i - 1])->g) == ((&cur_row[i - 2])->g) && ((&cur_row[i - 1])->b) == ((&cur_row[i - 2])->b))) { goto do_run; } };
-                ;
-
-                correlate_row_r[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->r) - (int)((((unsigned int)(((&cur_row[i]) - 1)->r)) + ((unsigned int)((&prev_row[i])->r))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[i], find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-                correlate_row_g[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->g) - (int)((((unsigned int)(((&cur_row[i]) - 1)->g)) + ((unsigned int)((&prev_row[i])->g))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[i], find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-                correlate_row_b[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->b) - (int)((((unsigned int)(((&cur_row[i]) - 1)->b)) + ((unsigned int)((&prev_row[i])->b))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[i], find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            }
-
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-            stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codeword, codewordlen;
-
-            ;
-            if ((((&prev_row[i - 1])->r) == ((&prev_row[i])->r) && ((&prev_row[i - 1])->g) == ((&prev_row[i])->g) && ((&prev_row[i - 1])->b) == ((&prev_row[i])->b))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r) == ((&cur_row[i - 2])->r) && ((&cur_row[i - 1])->g) == ((&cur_row[i - 2])->g) && ((&cur_row[i - 1])->b) == ((&cur_row[i - 2])->b))) { goto do_run; } };
-            ;
-
-            correlate_row_r[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->r) - (int)((((unsigned int)(((&cur_row[i]) - 1)->r)) + ((unsigned int)((&prev_row[i])->r))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_r[i], find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_g[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->g) - (int)((((unsigned int)(((&cur_row[i]) - 1)->g)) + ((unsigned int)((&prev_row[i])->g))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_g[i], find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_b[i] = family_8bpc.xlatU2L[(unsigned)((int)((&cur_row[i])->b) - (int)((((unsigned int)(((&cur_row[i]) - 1)->b)) + ((unsigned int)((&prev_row[i])->b))) >> 1)) & bpc_mask]; golomb_coding_8bpc(correlate_row_b[i], find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        }
-        encoder->rgb_state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        run_index = i;
-        encoder->rgb_state.waitcnt = stopidx - i;
-        run_size = 0;
-
-        while ((((&cur_row[i])->r) == ((&cur_row[i - 1])->r) && ((&cur_row[i])->g) == ((&cur_row[i - 1])->g) && ((&cur_row[i])->b) == ((&cur_row[i - 1])->b))) {
-            run_size++;
-            if (++i == end) {
-                encode_run(encoder, run_size);
-                return;
-            }
-        }
-        encode_run(encoder, run_size);
-        stopidx = i + encoder->rgb_state.waitcnt;
-
-    }
-}
-
-static void quic_rgb24_compress_row(Encoder *encoder,
-                                const rgb24_pixel_t * const prev_row,
-                                const rgb24_pixel_t * const cur_row,
-                                unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb24_compress_row_seg(encoder, pos, prev_row, cur_row,
-                                    pos + encoder->rgb_state.wmileft,
-                                    bppmask[encoder->rgb_state.wmidx],
-                                    bpc, bpc_mask);
-            width -= encoder->rgb_state.wmileft;
-            pos += encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb24_compress_row_seg(encoder, pos, prev_row, cur_row, pos + width,
-                                bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "454", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "455", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "456", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb24_uncompress_row0_seg(Encoder *encoder, int i,
-                                       rgb24_pixel_t * const cur_row,
-                                       const int end,
-                                       const unsigned int waitmask,
-                                       const unsigned int bpc,
-                                       const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "493", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codewordlen;
-
-        ;
-        correlate_row_r[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->r = (BYTE)family_8bpc.xlatL2U[correlate_row_r[0]]); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->g = (BYTE)family_8bpc.xlatL2U[correlate_row_g[0]]); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->b = (BYTE)family_8bpc.xlatL2U[correlate_row_b[0]]); decode_eatbits(encoder, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            --encoder->rgb_state.waitcnt;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codewordlen;
-
-            ;
-            correlate_row_r[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((family_8bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)(((&cur_row[i]) - 1)->r))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_g[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((family_8bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)(((&cur_row[i]) - 1)->g))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_b[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((family_8bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(((&cur_row[i]) - 1)->b))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-        }
-        update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-        stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codewordlen;
-
-        ;
-        correlate_row_r[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((family_8bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)(((&cur_row[i]) - 1)->r))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((family_8bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)(((&cur_row[i]) - 1)->g))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((family_8bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(((&cur_row[i]) - 1)->b))) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-    }
-    encoder->rgb_state.waitcnt = stopidx - end;
-}
-
-static void quic_rgb24_uncompress_row0(Encoder *encoder,
-                                   rgb24_pixel_t * const cur_row,
-                                   unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb24_uncompress_row0_seg(encoder, pos, cur_row,
-                                       pos + encoder->rgb_state.wmileft,
-                                       bppmask[encoder->rgb_state.wmidx],
-                                       bpc, bpc_mask);
-            pos += encoder->rgb_state.wmileft;
-            width -= encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb24_uncompress_row0_seg(encoder, pos, cur_row, pos + width,
-                                   bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "570", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "571", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "572", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb24_uncompress_row_seg(Encoder *encoder,
-                                      const rgb24_pixel_t * const prev_row,
-                                      rgb24_pixel_t * const cur_row,
-                                      int i,
-                                      const int end,
-                                      const unsigned int bpc,
-                                      const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    const unsigned int waitmask = bppmask[encoder->rgb_state.wmidx];
-    int stopidx;
-
-    int run_index = 0;
-    int run_end;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "614", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codewordlen;
-
-        ;
-        correlate_row_r[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->r = (family_8bpc.xlatL2U[correlate_row_r[0]] + ((prev_row)->r)) & bpc_mask); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->g = (family_8bpc.xlatL2U[correlate_row_g[0]] + ((prev_row)->g)) & bpc_mask); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[0] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->b = (family_8bpc.xlatL2U[correlate_row_b[0]] + ((prev_row)->b)) & bpc_mask); decode_eatbits(encoder, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            --encoder->rgb_state.waitcnt;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codewordlen;
-
-                ;
-                if ((((&prev_row[i - 1])->r) == ((&prev_row[i])->r) && ((&prev_row[i - 1])->g) == ((&prev_row[i])->g) && ((&prev_row[i - 1])->b) == ((&prev_row[i])->b))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r) == ((&cur_row[i - 2])->r) && ((&cur_row[i - 1])->g) == ((&cur_row[i - 2])->g) && ((&cur_row[i - 1])->b) == ((&cur_row[i - 2])->b))) { goto do_run; } };
-                ;
-
-                ;
-                correlate_row_r[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((family_8bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->r)) + ((unsigned int)((&prev_row[i])->r))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-                correlate_row_g[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((family_8bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->g)) + ((unsigned int)((&prev_row[i])->g))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-                correlate_row_b[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((family_8bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->b)) + ((unsigned int)((&prev_row[i])->b))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            }
-
-            update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_8bpc(&encoder->rgb_state, find_bucket_8bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-
-            stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codewordlen;
-
-            ;
-            if ((((&prev_row[i - 1])->r) == ((&prev_row[i])->r) && ((&prev_row[i - 1])->g) == ((&prev_row[i])->g) && ((&prev_row[i - 1])->b) == ((&prev_row[i])->b))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r) == ((&cur_row[i - 2])->r) && ((&cur_row[i - 1])->g) == ((&cur_row[i - 2])->g) && ((&cur_row[i - 1])->b) == ((&cur_row[i - 2])->b))) { goto do_run; } };
-            ;
-
-            ;
-            correlate_row_r[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((family_8bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->r)) + ((unsigned int)((&prev_row[i])->r))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_g[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((family_8bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->g)) + ((unsigned int)((&prev_row[i])->g))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_b[i] = (BYTE)golomb_decoding_8bpc(find_bucket_8bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((family_8bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->b)) + ((unsigned int)((&prev_row[i])->b))) >> 1)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-        }
-
-        encoder->rgb_state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        encoder->rgb_state.waitcnt = stopidx - i;
-        run_index = i;
-        run_end = i + decode_run(encoder);
-
-        for (; i < run_end; i++) {
-            ;
-            ((&cur_row[i])->r = ((&cur_row[i - 1])->r));
-            ((&cur_row[i])->g = ((&cur_row[i - 1])->g));
-            ((&cur_row[i])->b = ((&cur_row[i - 1])->b));
-        }
-
-        if (i == end) {
-            return;
-        }
-
-        stopidx = i + encoder->rgb_state.waitcnt;
-
-    }
-}
-
-static void quic_rgb24_uncompress_row(Encoder *encoder,
-                                  const rgb24_pixel_t * const prev_row,
-                                  rgb24_pixel_t * const cur_row,
-                                  unsigned int width)
-
-{
-    const unsigned int bpc = 8;
-    const unsigned int bpc_mask = 0xffU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb24_uncompress_row_seg(encoder, prev_row, cur_row, pos,
-                                      pos + encoder->rgb_state.wmileft, bpc, bpc_mask);
-            pos += encoder->rgb_state.wmileft;
-            width -= encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb24_uncompress_row_seg(encoder, prev_row, cur_row, pos,
-                                  pos + width, bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "724", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "725", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "726", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-
-
-
-
-
-
-
-static void quic_rgb16_compress_row0_seg(Encoder *encoder, int i,
-                                     const rgb16_pixel_t * const cur_row,
-                                     const int end,
-                                     const unsigned int waitmask,
-                                     const unsigned int bpc,
-                                     const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "238", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[0] = family_5bpc.xlatU2L[((*(cur_row) >> 10) & 0x1f)]; golomb_coding_5bpc(correlate_row_r[0], find_bucket_5bpc(channel_r, correlate_row_r[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[0] = family_5bpc.xlatU2L[((*(cur_row) >> 5) & 0x1f)]; golomb_coding_5bpc(correlate_row_g[0], find_bucket_5bpc(channel_g, correlate_row_g[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[0] = family_5bpc.xlatU2L[(*(cur_row) & 0x1f)]; golomb_coding_5bpc(correlate_row_b[0], find_bucket_5bpc(channel_b, correlate_row_b[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            encoder->rgb_state.waitcnt--;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codeword, codewordlen;
-            correlate_row_r[i] = family_5bpc.xlatU2L[(unsigned)((int)((*(&cur_row[i]) >> 10) & 0x1f) - (int)((unsigned int)((*((&cur_row[i]) - 1) >> 10) & 0x1f))) & bpc_mask]; golomb_coding_5bpc(correlate_row_r[i], find_bucket_5bpc(channel_r, correlate_row_r[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_g[i] = family_5bpc.xlatU2L[(unsigned)((int)((*(&cur_row[i]) >> 5) & 0x1f) - (int)((unsigned int)((*((&cur_row[i]) - 1) >> 5) & 0x1f))) & bpc_mask]; golomb_coding_5bpc(correlate_row_g[i], find_bucket_5bpc(channel_g, correlate_row_g[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_b[i] = family_5bpc.xlatU2L[(unsigned)((int)(*(&cur_row[i]) & 0x1f) - (int)((unsigned int)(*((&cur_row[i]) - 1) & 0x1f))) & bpc_mask]; golomb_coding_5bpc(correlate_row_b[i], find_bucket_5bpc(channel_b, correlate_row_b[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        }
-
-        update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-        stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[i] = family_5bpc.xlatU2L[(unsigned)((int)((*(&cur_row[i]) >> 10) & 0x1f) - (int)((unsigned int)((*((&cur_row[i]) - 1) >> 10) & 0x1f))) & bpc_mask]; golomb_coding_5bpc(correlate_row_r[i], find_bucket_5bpc(channel_r, correlate_row_r[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[i] = family_5bpc.xlatU2L[(unsigned)((int)((*(&cur_row[i]) >> 5) & 0x1f) - (int)((unsigned int)((*((&cur_row[i]) - 1) >> 5) & 0x1f))) & bpc_mask]; golomb_coding_5bpc(correlate_row_g[i], find_bucket_5bpc(channel_g, correlate_row_g[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[i] = family_5bpc.xlatU2L[(unsigned)((int)(*(&cur_row[i]) & 0x1f) - (int)((unsigned int)(*((&cur_row[i]) - 1) & 0x1f))) & bpc_mask]; golomb_coding_5bpc(correlate_row_b[i], find_bucket_5bpc(channel_b, correlate_row_b[i -1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-    }
-    encoder->rgb_state.waitcnt = stopidx - end;
-}
-
-static void quic_rgb16_compress_row0(Encoder *encoder, const rgb16_pixel_t *cur_row,
-                                 unsigned int width)
-{
-    const unsigned int bpc = 5;
-    const unsigned int bpc_mask = 0x1fU;
-    int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb16_compress_row0_seg(encoder, pos, cur_row, pos + encoder->rgb_state.wmileft,
-                                     bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-            width -= encoder->rgb_state.wmileft;
-            pos += encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb16_compress_row0_seg(encoder, pos, cur_row, pos + width,
-                                 bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "308", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "309", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "310", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb16_compress_row_seg(Encoder *encoder, int i,
-                                    const rgb16_pixel_t * const prev_row,
-                                    const rgb16_pixel_t * const cur_row,
-                                    const int end,
-                                    const unsigned int waitmask,
-                                    const unsigned int bpc,
-                                    const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    int run_index = 0;
-    int run_size;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "350", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codeword, codewordlen;
-
-        correlate_row_r[0] = family_5bpc.xlatU2L[(unsigned)((int)((*(cur_row) >> 10) & 0x1f) - (int)((*(prev_row) >> 10) & 0x1f) ) & bpc_mask]; golomb_coding_5bpc(correlate_row_r[0], find_bucket_5bpc(channel_r, correlate_row_r[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_g[0] = family_5bpc.xlatU2L[(unsigned)((int)((*(cur_row) >> 5) & 0x1f) - (int)((*(prev_row) >> 5) & 0x1f) ) & bpc_mask]; golomb_coding_5bpc(correlate_row_g[0], find_bucket_5bpc(channel_g, correlate_row_g[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        correlate_row_b[0] = family_5bpc.xlatU2L[(unsigned)((int)(*(cur_row) & 0x1f) - (int)(*(prev_row) & 0x1f) ) & bpc_mask]; golomb_coding_5bpc(correlate_row_b[0], find_bucket_5bpc(channel_b, correlate_row_b[-1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            encoder->rgb_state.waitcnt--;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codeword, codewordlen;
-
-                ;
-                if ((((*(&prev_row[i - 1]) >> 10) & 0x1f) == ((*(&prev_row[i]) >> 10) & 0x1f) && ((*(&prev_row[i - 1]) >> 5) & 0x1f) == ((*(&prev_row[i]) >> 5) & 0x1f) && (*(&prev_row[i - 1]) & 0x1f) == (*(&prev_row[i]) & 0x1f))) { if (run_index != i && i > 2 && (((*(&cur_row[i - 1]) >> 10) & 0x1f) == ((*(&cur_row[i - 2]) >> 10) & 0x1f) && ((*(&cur_row[i - 1]) >> 5) & 0x1f) == ((*(&cur_row[i - 2]) >> 5) & 0x1f) && (*(&cur_row[i - 1]) & 0x1f) == (*(&cur_row[i - 2]) & 0x1f))) { goto do_run; } };
-                ;
-
-                correlate_row_r[i] = family_5bpc.xlatU2L[(unsigned)((int)((*(&cur_row[i]) >> 10) & 0x1f) - (int)((((unsigned int)((*((&cur_row[i]) - 1) >> 10) & 0x1f)) + ((unsigned int)((*(&prev_row[i]) >> 10) & 0x1f))) >> 1)) & bpc_mask]; golomb_coding_5bpc(correlate_row_r[i], find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-                correlate_row_g[i] = family_5bpc.xlatU2L[(unsigned)((int)((*(&cur_row[i]) >> 5) & 0x1f) - (int)((((unsigned int)((*((&cur_row[i]) - 1) >> 5) & 0x1f)) + ((unsigned int)((*(&prev_row[i]) >> 5) & 0x1f))) >> 1)) & bpc_mask]; golomb_coding_5bpc(correlate_row_g[i], find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-                correlate_row_b[i] = family_5bpc.xlatU2L[(unsigned)((int)(*(&cur_row[i]) & 0x1f) - (int)((((unsigned int)(*((&cur_row[i]) - 1) & 0x1f)) + ((unsigned int)(*(&prev_row[i]) & 0x1f))) >> 1)) & bpc_mask]; golomb_coding_5bpc(correlate_row_b[i], find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            }
-
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-            stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codeword, codewordlen;
-
-            ;
-            if ((((*(&prev_row[i - 1]) >> 10) & 0x1f) == ((*(&prev_row[i]) >> 10) & 0x1f) && ((*(&prev_row[i - 1]) >> 5) & 0x1f) == ((*(&prev_row[i]) >> 5) & 0x1f) && (*(&prev_row[i - 1]) & 0x1f) == (*(&prev_row[i]) & 0x1f))) { if (run_index != i && i > 2 && (((*(&cur_row[i - 1]) >> 10) & 0x1f) == ((*(&cur_row[i - 2]) >> 10) & 0x1f) && ((*(&cur_row[i - 1]) >> 5) & 0x1f) == ((*(&cur_row[i - 2]) >> 5) & 0x1f) && (*(&cur_row[i - 1]) & 0x1f) == (*(&cur_row[i - 2]) & 0x1f))) { goto do_run; } };
-            ;
-
-            correlate_row_r[i] = family_5bpc.xlatU2L[(unsigned)((int)((*(&cur_row[i]) >> 10) & 0x1f) - (int)((((unsigned int)((*((&cur_row[i]) - 1) >> 10) & 0x1f)) + ((unsigned int)((*(&prev_row[i]) >> 10) & 0x1f))) >> 1)) & bpc_mask]; golomb_coding_5bpc(correlate_row_r[i], find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_g[i] = family_5bpc.xlatU2L[(unsigned)((int)((*(&cur_row[i]) >> 5) & 0x1f) - (int)((((unsigned int)((*((&cur_row[i]) - 1) >> 5) & 0x1f)) + ((unsigned int)((*(&prev_row[i]) >> 5) & 0x1f))) >> 1)) & bpc_mask]; golomb_coding_5bpc(correlate_row_g[i], find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-            correlate_row_b[i] = family_5bpc.xlatU2L[(unsigned)((int)(*(&cur_row[i]) & 0x1f) - (int)((((unsigned int)(*((&cur_row[i]) - 1) & 0x1f)) + ((unsigned int)(*(&prev_row[i]) & 0x1f))) >> 1)) & bpc_mask]; golomb_coding_5bpc(correlate_row_b[i], find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, &codeword, &codewordlen); encode(encoder, codeword, codewordlen);;
-        }
-        encoder->rgb_state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        run_index = i;
-        encoder->rgb_state.waitcnt = stopidx - i;
-        run_size = 0;
-
-        while ((((*(&cur_row[i]) >> 10) & 0x1f) == ((*(&cur_row[i - 1]) >> 10) & 0x1f) && ((*(&cur_row[i]) >> 5) & 0x1f) == ((*(&cur_row[i - 1]) >> 5) & 0x1f) && (*(&cur_row[i]) & 0x1f) == (*(&cur_row[i - 1]) & 0x1f))) {
-            run_size++;
-            if (++i == end) {
-                encode_run(encoder, run_size);
-                return;
-            }
-        }
-        encode_run(encoder, run_size);
-        stopidx = i + encoder->rgb_state.waitcnt;
-
-    }
-}
-
-static void quic_rgb16_compress_row(Encoder *encoder,
-                                const rgb16_pixel_t * const prev_row,
-                                const rgb16_pixel_t * const cur_row,
-                                unsigned int width)
-
-{
-    const unsigned int bpc = 5;
-    const unsigned int bpc_mask = 0x1fU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb16_compress_row_seg(encoder, pos, prev_row, cur_row,
-                                    pos + encoder->rgb_state.wmileft,
-                                    bppmask[encoder->rgb_state.wmidx],
-                                    bpc, bpc_mask);
-            width -= encoder->rgb_state.wmileft;
-            pos += encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb16_compress_row_seg(encoder, pos, prev_row, cur_row, pos + width,
-                                bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "454", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "455", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "456", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb16_uncompress_row0_seg(Encoder *encoder, int i,
-                                       rgb16_pixel_t * const cur_row,
-                                       const int end,
-                                       const unsigned int waitmask,
-                                       const unsigned int bpc,
-                                       const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "493", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codewordlen;
-
-        (*(&cur_row[i]) = 0);
-        correlate_row_r[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[-1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[0]) = (*(&cur_row[0]) & ~(0x1f << 10)) | (((BYTE)family_5bpc.xlatL2U[correlate_row_r[0]]) << 10)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[-1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[0]) = (*(&cur_row[0]) & ~(0x1f << 5)) | (((BYTE)family_5bpc.xlatL2U[correlate_row_g[0]]) << 5)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[-1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[0]) = (*(&cur_row[0]) & ~0x1f) | ((BYTE)family_5bpc.xlatL2U[correlate_row_b[0]])); decode_eatbits(encoder, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            --encoder->rgb_state.waitcnt;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codewordlen;
-
-            (*(&cur_row[i]) = 0);
-            correlate_row_r[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 10)) | ((((family_5bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)((*((&cur_row[i]) - 1) >> 10) & 0x1f))) & bpc_mask)) << 10)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_g[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 5)) | ((((family_5bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)((*((&cur_row[i]) - 1) >> 5) & 0x1f))) & bpc_mask)) << 5)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_b[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~0x1f) | (((family_5bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(*((&cur_row[i]) - 1) & 0x1f))) & bpc_mask))); decode_eatbits(encoder, codewordlen);;
-        }
-        update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-        stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codewordlen;
-
-        (*(&cur_row[i]) = 0);
-        correlate_row_r[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 10)) | ((((family_5bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)((*((&cur_row[i]) - 1) >> 10) & 0x1f))) & bpc_mask)) << 10)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 5)) | ((((family_5bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)((*((&cur_row[i]) - 1) >> 5) & 0x1f))) & bpc_mask)) << 5)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~0x1f) | (((family_5bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(*((&cur_row[i]) - 1) & 0x1f))) & bpc_mask))); decode_eatbits(encoder, codewordlen);;
-    }
-    encoder->rgb_state.waitcnt = stopidx - end;
-}
-
-static void quic_rgb16_uncompress_row0(Encoder *encoder,
-                                   rgb16_pixel_t * const cur_row,
-                                   unsigned int width)
-
-{
-    const unsigned int bpc = 5;
-    const unsigned int bpc_mask = 0x1fU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb16_uncompress_row0_seg(encoder, pos, cur_row,
-                                       pos + encoder->rgb_state.wmileft,
-                                       bppmask[encoder->rgb_state.wmidx],
-                                       bpc, bpc_mask);
-            pos += encoder->rgb_state.wmileft;
-            width -= encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb16_uncompress_row0_seg(encoder, pos, cur_row, pos + width,
-                                   bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "570", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "571", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "572", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb16_uncompress_row_seg(Encoder *encoder,
-                                      const rgb16_pixel_t * const prev_row,
-                                      rgb16_pixel_t * const cur_row,
-                                      int i,
-                                      const int end,
-                                      const unsigned int bpc,
-                                      const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    const unsigned int waitmask = bppmask[encoder->rgb_state.wmidx];
-    int stopidx;
-
-    int run_index = 0;
-    int run_end;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "614", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codewordlen;
-
-        (*(&cur_row[i]) = 0);
-        correlate_row_r[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[-1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[0]) = (*(&cur_row[0]) & ~(0x1f << 10)) | (((family_5bpc.xlatL2U[correlate_row_r[0]] + ((*(prev_row) >> 10) & 0x1f)) & bpc_mask) << 10)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[-1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[0]) = (*(&cur_row[0]) & ~(0x1f << 5)) | (((family_5bpc.xlatL2U[correlate_row_g[0]] + ((*(prev_row) >> 5) & 0x1f)) & bpc_mask) << 5)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[-1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[0]) = (*(&cur_row[0]) & ~0x1f) | ((family_5bpc.xlatL2U[correlate_row_b[0]] + (*(prev_row) & 0x1f)) & bpc_mask)); decode_eatbits(encoder, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            --encoder->rgb_state.waitcnt;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codewordlen;
-
-                ;
-                if ((((*(&prev_row[i - 1]) >> 10) & 0x1f) == ((*(&prev_row[i]) >> 10) & 0x1f) && ((*(&prev_row[i - 1]) >> 5) & 0x1f) == ((*(&prev_row[i]) >> 5) & 0x1f) && (*(&prev_row[i - 1]) & 0x1f) == (*(&prev_row[i]) & 0x1f))) { if (run_index != i && i > 2 && (((*(&cur_row[i - 1]) >> 10) & 0x1f) == ((*(&cur_row[i - 2]) >> 10) & 0x1f) && ((*(&cur_row[i - 1]) >> 5) & 0x1f) == ((*(&cur_row[i - 2]) >> 5) & 0x1f) && (*(&cur_row[i - 1]) & 0x1f) == (*(&cur_row[i - 2]) & 0x1f))) { goto do_run; } };
-                ;
-
-                (*(&cur_row[i]) = 0);
-                correlate_row_r[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 10)) | ((((family_5bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)((*((&cur_row[i]) - 1) >> 10) & 0x1f)) + ((unsigned int)((*(&prev_row[i]) >> 10) & 0x1f))) >> 1)) & bpc_mask)) << 10)); decode_eatbits(encoder, codewordlen);;
-                correlate_row_g[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 5)) | ((((family_5bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)((*((&cur_row[i]) - 1) >> 5) & 0x1f)) + ((unsigned int)((*(&prev_row[i]) >> 5) & 0x1f))) >> 1)) & bpc_mask)) << 5)); decode_eatbits(encoder, codewordlen);;
-                correlate_row_b[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~0x1f) | (((family_5bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(*((&cur_row[i]) - 1) & 0x1f)) + ((unsigned int)(*(&prev_row[i]) & 0x1f))) >> 1)) & bpc_mask))); decode_eatbits(encoder, codewordlen);;
-            }
-
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-
-            stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codewordlen;
-
-            ;
-            if ((((*(&prev_row[i - 1]) >> 10) & 0x1f) == ((*(&prev_row[i]) >> 10) & 0x1f) && ((*(&prev_row[i - 1]) >> 5) & 0x1f) == ((*(&prev_row[i]) >> 5) & 0x1f) && (*(&prev_row[i - 1]) & 0x1f) == (*(&prev_row[i]) & 0x1f))) { if (run_index != i && i > 2 && (((*(&cur_row[i - 1]) >> 10) & 0x1f) == ((*(&cur_row[i - 2]) >> 10) & 0x1f) && ((*(&cur_row[i - 1]) >> 5) & 0x1f) == ((*(&cur_row[i - 2]) >> 5) & 0x1f) && (*(&cur_row[i - 1]) & 0x1f) == (*(&cur_row[i - 2]) & 0x1f))) { goto do_run; } };
-            ;
-
-            (*(&cur_row[i]) = 0);
-            correlate_row_r[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 10)) | ((((family_5bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)((*((&cur_row[i]) - 1) >> 10) & 0x1f)) + ((unsigned int)((*(&prev_row[i]) >> 10) & 0x1f))) >> 1)) & bpc_mask)) << 10)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_g[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 5)) | ((((family_5bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)((*((&cur_row[i]) - 1) >> 5) & 0x1f)) + ((unsigned int)((*(&prev_row[i]) >> 5) & 0x1f))) >> 1)) & bpc_mask)) << 5)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_b[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); (*(&cur_row[i]) = (*(&cur_row[i]) & ~0x1f) | (((family_5bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(*((&cur_row[i]) - 1) & 0x1f)) + ((unsigned int)(*(&prev_row[i]) & 0x1f))) >> 1)) & bpc_mask))); decode_eatbits(encoder, codewordlen);;
-        }
-
-        encoder->rgb_state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        encoder->rgb_state.waitcnt = stopidx - i;
-        run_index = i;
-        run_end = i + decode_run(encoder);
-
-        for (; i < run_end; i++) {
-            (*(&cur_row[i]) = 0);
-            (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 10)) | ((((*(&cur_row[i - 1]) >> 10) & 0x1f)) << 10));
-            (*(&cur_row[i]) = (*(&cur_row[i]) & ~(0x1f << 5)) | ((((*(&cur_row[i - 1]) >> 5) & 0x1f)) << 5));
-            (*(&cur_row[i]) = (*(&cur_row[i]) & ~0x1f) | ((*(&cur_row[i - 1]) & 0x1f)));
-        }
-
-        if (i == end) {
-            return;
-        }
-
-        stopidx = i + encoder->rgb_state.waitcnt;
-
-    }
-}
-
-static void quic_rgb16_uncompress_row(Encoder *encoder,
-                                  const rgb16_pixel_t * const prev_row,
-                                  rgb16_pixel_t * const cur_row,
-                                  unsigned int width)
-
-{
-    const unsigned int bpc = 5;
-    const unsigned int bpc_mask = 0x1fU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb16_uncompress_row_seg(encoder, prev_row, cur_row, pos,
-                                      pos + encoder->rgb_state.wmileft, bpc, bpc_mask);
-            pos += encoder->rgb_state.wmileft;
-            width -= encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb16_uncompress_row_seg(encoder, prev_row, cur_row, pos,
-                                  pos + width, bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "724", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "725", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "726", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-
-
-
-
-
-
-
-static void quic_rgb16_to_32_uncompress_row0_seg(Encoder *encoder, int i,
-                                       rgb32_pixel_t * const cur_row,
-                                       const int end,
-                                       const unsigned int waitmask,
-                                       const unsigned int bpc,
-                                       const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    int stopidx;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "493", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codewordlen;
-
-        ((&cur_row[i])->pad = 0);
-        correlate_row_r[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->r = (((BYTE)family_5bpc.xlatL2U[correlate_row_r[0]]) << 3) | ((((BYTE)family_5bpc.xlatL2U[correlate_row_r[0]]) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->g = (((BYTE)family_5bpc.xlatL2U[correlate_row_g[0]]) << 3) | ((((BYTE)family_5bpc.xlatL2U[correlate_row_g[0]]) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->b = (((BYTE)family_5bpc.xlatL2U[correlate_row_b[0]]) << 3) | ((((BYTE)family_5bpc.xlatL2U[correlate_row_b[0]]) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            --encoder->rgb_state.waitcnt;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-
-    while (stopidx < end) {
-        for (; i <= stopidx; i++) {
-            unsigned int codewordlen;
-
-            ((&cur_row[i])->pad = 0);
-            correlate_row_r[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((((family_5bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)(((&cur_row[i]) - 1)->r >> 3))) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)(((&cur_row[i]) - 1)->r >> 3))) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_g[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((((family_5bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)(((&cur_row[i]) - 1)->g >> 3))) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)(((&cur_row[i]) - 1)->g >> 3))) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_b[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((((family_5bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(((&cur_row[i]) - 1)->b >> 3))) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(((&cur_row[i]) - 1)->b >> 3))) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-        }
-        update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-        stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-    }
-
-    for (; i < end; i++) {
-        unsigned int codewordlen;
-
-        ((&cur_row[i])->pad = 0);
-        correlate_row_r[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((((family_5bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)(((&cur_row[i]) - 1)->r >> 3))) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_r[i]] + ((unsigned int)(((&cur_row[i]) - 1)->r >> 3))) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((((family_5bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)(((&cur_row[i]) - 1)->g >> 3))) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_g[i]] + ((unsigned int)(((&cur_row[i]) - 1)->g >> 3))) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((((family_5bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(((&cur_row[i]) - 1)->b >> 3))) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_b[i]] + ((unsigned int)(((&cur_row[i]) - 1)->b >> 3))) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-    }
-    encoder->rgb_state.waitcnt = stopidx - end;
-}
-
-static void quic_rgb16_to_32_uncompress_row0(Encoder *encoder,
-                                   rgb32_pixel_t * const cur_row,
-                                   unsigned int width)
-
-{
-    const unsigned int bpc = 5;
-    const unsigned int bpc_mask = 0x1fU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb16_to_32_uncompress_row0_seg(encoder, pos, cur_row,
-                                       pos + encoder->rgb_state.wmileft,
-                                       bppmask[encoder->rgb_state.wmidx],
-                                       bpc, bpc_mask);
-            pos += encoder->rgb_state.wmileft;
-            width -= encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb16_to_32_uncompress_row0_seg(encoder, pos, cur_row, pos + width,
-                                   bppmask[encoder->rgb_state.wmidx], bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "570", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "571", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "572", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-static void quic_rgb16_to_32_uncompress_row_seg(Encoder *encoder,
-                                      const rgb32_pixel_t * const prev_row,
-                                      rgb32_pixel_t * const cur_row,
-                                      int i,
-                                      const int end,
-                                      const unsigned int bpc,
-                                      const unsigned int bpc_mask)
-{
-    Channel * const channel_r = encoder->channels;
-    Channel * const channel_g = channel_r + 1;
-    Channel * const channel_b = channel_g + 1;
-
-    BYTE * const correlate_row_r = channel_r->correlate_row;
-    BYTE * const correlate_row_g = channel_g->correlate_row;
-    BYTE * const correlate_row_b = channel_b->correlate_row;
-    const unsigned int waitmask = bppmask[encoder->rgb_state.wmidx];
-    int stopidx;
-
-    int run_index = 0;
-    int run_end;
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (end - i > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "614", __FUNCTION__, "assertion `%s' failed","end - i > 0"); } while (0); } } while (0);
-
-    if (!i) {
-        unsigned int codewordlen;
-
-        ((&cur_row[i])->pad = 0);
-        correlate_row_r[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->r = (((family_5bpc.xlatL2U[correlate_row_r[0]] + ((prev_row)->r >> 3)) & bpc_mask) << 3) | ((((family_5bpc.xlatL2U[correlate_row_r[0]] + ((prev_row)->r >> 3)) & bpc_mask) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_g[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->g = (((family_5bpc.xlatL2U[correlate_row_g[0]] + ((prev_row)->g >> 3)) & bpc_mask) << 3) | ((((family_5bpc.xlatL2U[correlate_row_g[0]] + ((prev_row)->g >> 3)) & bpc_mask) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-        correlate_row_b[0] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[-1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[0])->b = (((family_5bpc.xlatL2U[correlate_row_b[0]] + ((prev_row)->b >> 3)) & bpc_mask) << 3) | ((((family_5bpc.xlatL2U[correlate_row_b[0]] + ((prev_row)->b >> 3)) & bpc_mask) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-
-        if (encoder->rgb_state.waitcnt) {
-            --encoder->rgb_state.waitcnt;
-        } else {
-            encoder->rgb_state.waitcnt = (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[0 - 1]), correlate_row_r[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[0 - 1]), correlate_row_g[0], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[0 - 1]), correlate_row_b[0], bpc);;
-        }
-        stopidx = ++i + encoder->rgb_state.waitcnt;
-    } else {
-        stopidx = i + encoder->rgb_state.waitcnt;
-    }
-    for (;;) {
-        while (stopidx < end) {
-            for (; i <= stopidx; i++) {
-                unsigned int codewordlen;
-
-                ;
-                if ((((&prev_row[i - 1])->r >> 3) == ((&prev_row[i])->r >> 3) && ((&prev_row[i - 1])->g >> 3) == ((&prev_row[i])->g >> 3) && ((&prev_row[i - 1])->b >> 3) == ((&prev_row[i])->b >> 3))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r >> 3) == ((&cur_row[i - 2])->r >> 3) && ((&cur_row[i - 1])->g >> 3) == ((&cur_row[i - 2])->g >> 3) && ((&cur_row[i - 1])->b >> 3) == ((&cur_row[i - 2])->b >> 3))) { goto do_run; } };
-                ;
-
-                ((&cur_row[i])->pad = 0);
-                correlate_row_r[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((((family_5bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->r >> 3)) + ((unsigned int)((&prev_row[i])->r >> 3))) >> 1)) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->r >> 3)) + ((unsigned int)((&prev_row[i])->r >> 3))) >> 1)) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-                correlate_row_g[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((((family_5bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->g >> 3)) + ((unsigned int)((&prev_row[i])->g >> 3))) >> 1)) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->g >> 3)) + ((unsigned int)((&prev_row[i])->g >> 3))) >> 1)) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-                correlate_row_b[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((((family_5bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->b >> 3)) + ((unsigned int)((&prev_row[i])->b >> 3))) >> 1)) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->b >> 3)) + ((unsigned int)((&prev_row[i])->b >> 3))) >> 1)) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-            }
-
-            update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_r, correlate_row_r[stopidx - 1]), correlate_row_r[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_g, correlate_row_g[stopidx - 1]), correlate_row_g[stopidx], bpc); update_model_5bpc(&encoder->rgb_state, find_bucket_5bpc(channel_b, correlate_row_b[stopidx - 1]), correlate_row_b[stopidx], bpc);;
-
-            stopidx = i + (tabrand(&encoder->rgb_state.tabrand_seed) & waitmask);
-        }
-
-        for (; i < end; i++) {
-            unsigned int codewordlen;
-
-            ;
-            if ((((&prev_row[i - 1])->r >> 3) == ((&prev_row[i])->r >> 3) && ((&prev_row[i - 1])->g >> 3) == ((&prev_row[i])->g >> 3) && ((&prev_row[i - 1])->b >> 3) == ((&prev_row[i])->b >> 3))) { if (run_index != i && i > 2 && (((&cur_row[i - 1])->r >> 3) == ((&cur_row[i - 2])->r >> 3) && ((&cur_row[i - 1])->g >> 3) == ((&cur_row[i - 2])->g >> 3) && ((&cur_row[i - 1])->b >> 3) == ((&cur_row[i - 2])->b >> 3))) { goto do_run; } };
-            ;
-
-            ((&cur_row[i])->pad = 0);
-            correlate_row_r[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_r, correlate_row_r[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->r = ((((family_5bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->r >> 3)) + ((unsigned int)((&prev_row[i])->r >> 3))) >> 1)) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_r[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->r >> 3)) + ((unsigned int)((&prev_row[i])->r >> 3))) >> 1)) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_g[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_g, correlate_row_g[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->g = ((((family_5bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->g >> 3)) + ((unsigned int)((&prev_row[i])->g >> 3))) >> 1)) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_g[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->g >> 3)) + ((unsigned int)((&prev_row[i])->g >> 3))) >> 1)) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-            correlate_row_b[i] = (BYTE)golomb_decoding_5bpc(find_bucket_5bpc(channel_b, correlate_row_b[i - 1])->bestcode, encoder->io_word, &codewordlen); ((&cur_row[i])->b = ((((family_5bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->b >> 3)) + ((unsigned int)((&prev_row[i])->b >> 3))) >> 1)) & bpc_mask)) << 3) | (((((family_5bpc.xlatL2U[correlate_row_b[i]] + (int)((((unsigned int)(((&cur_row[i]) - 1)->b >> 3)) + ((unsigned int)((&prev_row[i])->b >> 3))) >> 1)) & bpc_mask)) & 0x1f) >> 2)); decode_eatbits(encoder, codewordlen);;
-        }
-
-        encoder->rgb_state.waitcnt = stopidx - end;
-
-        return;
-
-
-do_run:
-        encoder->rgb_state.waitcnt = stopidx - i;
-        run_index = i;
-        run_end = i + decode_run(encoder);
-
-        for (; i < run_end; i++) {
-            ((&cur_row[i])->pad = 0);
-            ((&cur_row[i])->r = ((((&cur_row[i - 1])->r >> 3)) << 3) | (((((&cur_row[i - 1])->r >> 3)) & 0x1f) >> 2));
-            ((&cur_row[i])->g = ((((&cur_row[i - 1])->g >> 3)) << 3) | (((((&cur_row[i - 1])->g >> 3)) & 0x1f) >> 2));
-            ((&cur_row[i])->b = ((((&cur_row[i - 1])->b >> 3)) << 3) | (((((&cur_row[i - 1])->b >> 3)) & 0x1f) >> 2));
-        }
-
-        if (i == end) {
-            return;
-        }
-
-        stopidx = i + encoder->rgb_state.waitcnt;
-
-    }
-}
-
-static void quic_rgb16_to_32_uncompress_row(Encoder *encoder,
-                                  const rgb32_pixel_t * const prev_row,
-                                  rgb32_pixel_t * const cur_row,
-                                  unsigned int width)
-
-{
-    const unsigned int bpc = 5;
-    const unsigned int bpc_mask = 0x1fU;
-    unsigned int pos = 0;
-
-    while ((wmimax > (int)encoder->rgb_state.wmidx) && (encoder->rgb_state.wmileft <= width)) {
-        if (encoder->rgb_state.wmileft) {
-            quic_rgb16_to_32_uncompress_row_seg(encoder, prev_row, cur_row, pos,
-                                      pos + encoder->rgb_state.wmileft, bpc, bpc_mask);
-            pos += encoder->rgb_state.wmileft;
-            width -= encoder->rgb_state.wmileft;
-        }
-
-        encoder->rgb_state.wmidx++;
-        set_wm_trigger(&encoder->rgb_state);
-        encoder->rgb_state.wmileft = wminext;
-    }
-
-    if (width) {
-        quic_rgb16_to_32_uncompress_row_seg(encoder, prev_row, cur_row, pos,
-                                  pos + width, bpc, bpc_mask);
-        if (wmimax > (int)encoder->rgb_state.wmidx) {
-            encoder->rgb_state.wmileft -= width;
-        }
-    }
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((int)encoder->rgb_state.wmidx <= wmimax) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "724", __FUNCTION__, "assertion `%s' failed","(int)encoder->rgb_state.wmidx <= wmimax"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (encoder->rgb_state.wmidx <= 32) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "725", __FUNCTION__, "assertion `%s' failed","encoder->rgb_state.wmidx <= 32"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (wminext > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic_rgb_tmpl.c" ":" "726", __FUNCTION__, "assertion `%s' failed","wminext > 0"); } while (0); } } while (0);
-}
-
-
-static void fill_model_structures(Encoder *encoder, FamilyStat *family_stat,
-                                  unsigned int rep_first, unsigned int first_size,
-                                  unsigned int rep_next, unsigned int mul_size,
-                                  unsigned int levels, unsigned int ncounters,
-                                  unsigned int nbuckets, unsigned int n_buckets_ptrs)
-{
-    unsigned int
-    bsize,
-    bstart,
-    bend = 0,
-    repcntr,
-    bnumber;
-
-    COUNTER * free_counter = family_stat->counters;
-
-
-    bnumber = 0;
-
-    repcntr = rep_first + 1;
-    bsize = first_size;
-
-    do {
-        if (bnumber) {
-            bstart = bend + 1;
-        } else {
-            bstart = 0;
-        }
-
-        if (!--repcntr) {
-            repcntr = rep_next;
-            bsize *= mul_size;
-        }
-
-        bend = bstart + bsize - 1;
-        if (bend + bsize >= levels) {
-            bend = levels - 1;
-        }
-
-        family_stat->buckets_buf[bnumber].pcounters = free_counter;
-        free_counter += ncounters;
-
-        do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (bstart < n_buckets_ptrs) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "861", __FUNCTION__, "assertion `%s' failed","bstart < n_buckets_ptrs"); } while (0); } } while (0);
-        {
-            unsigned int i;
-            do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (bend < n_buckets_ptrs) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "864", __FUNCTION__, "assertion `%s' failed","bend < n_buckets_ptrs"); } while (0); } } while (0);
-            for (i = bstart; i <= bend; i++) {
-                family_stat->buckets_ptrs[i] = family_stat->buckets_buf + bnumber;
-            }
-        }
-
-        bnumber++;
-    } while (bend < levels - 1);
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (free_counter - family_stat->counters == nbuckets * ncounters) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "873", __FUNCTION__, "assertion `%s' failed","free_counter - family_stat->counters == nbuckets * ncounters"); } while (0); } } while (0);
-}
-
-static void find_model_params(Encoder *encoder,
-                              const int bpc,
-                              unsigned int *ncounters,
-                              unsigned int *levels,
-                              unsigned int *n_buckets_ptrs,
-                              unsigned int *repfirst,
-                              unsigned int *firstsize,
-                              unsigned int *repnext,
-                              unsigned int *mulsize,
-                              unsigned int *nbuckets)
-{
-    unsigned int bsize;
-    unsigned int bstart, bend = 0;
-    unsigned int repcntr;
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (bpc <= 8 && bpc > 0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "891", __FUNCTION__, "assertion `%s' failed","bpc <= 8 && bpc > 0"); } while (0); } } while (0);
-
-
-    *ncounters = 8;
-
-    *levels = 0x1 << bpc;
-
-    *n_buckets_ptrs = 0;
-
-    switch (evol) {
-    case 1:
-        *repfirst = 3;
-        *firstsize = 1;
-        *repnext = 2;
-        *mulsize = 2;
-        break;
-    case 3:
-        *repfirst = 1;
-        *firstsize = 1;
-        *repnext = 1;
-        *mulsize = 2;
-        break;
-    case 5:
-        *repfirst = 1;
-        *firstsize = 1;
-        *repnext = 1;
-        *mulsize = 4;
-        break;
-    case 0:
-    case 2:
-    case 4:
-        encoder->usr->error(encoder->usr, "findmodelparams(): evol value obsolete!!!\n");
-    default:
-        encoder->usr->error(encoder->usr, "findmodelparams(): evol out of range!!!\n");
-    }
-
-    *nbuckets = 0;
-    repcntr = *repfirst + 1;
-    bsize = *firstsize;
-
-    do {
-        if (nbuckets) {
-            bstart = bend + 1;
-        } else {
-            bstart = 0;
-        }
-
-        if (!--repcntr) {
-            repcntr = *repnext;
-            bsize *= *mulsize;
-        }
-
-        bend = bstart + bsize - 1;
-        if (bend + bsize >= *levels) {
-            bend = *levels - 1;
-        }
-
-        if (!*n_buckets_ptrs) {
-            *n_buckets_ptrs = *levels;
-
-        }
-
-        (*nbuckets)++;
-    } while (bend < *levels - 1);
-}
-
-static int init_model_structures(Encoder *encoder, FamilyStat *family_stat,
-                                 unsigned int rep_first, unsigned int first_size,
-                                 unsigned int rep_next, unsigned int mul_size,
-                                 unsigned int levels, unsigned int ncounters,
-                                 unsigned int n_buckets_ptrs, unsigned int n_buckets)
-{
-    family_stat->buckets_ptrs = (s_bucket **)encoder->usr->malloc(encoder->usr,
-                                                                  n_buckets_ptrs *
-                                                                  sizeof(s_bucket *));
-    if (!family_stat->buckets_ptrs) {
-        return (0);
-    }
-
-    family_stat->counters = (COUNTER *)encoder->usr->malloc(encoder->usr,
-                                                            n_buckets * sizeof(COUNTER) *
-                                                            8);
-    if (!family_stat->counters) {
-        goto error_1;
-    }
-
-    family_stat->buckets_buf = (s_bucket *)encoder->usr->malloc(encoder->usr,
-                                                                n_buckets * sizeof(s_bucket));
-    if (!family_stat->buckets_buf) {
-        goto error_2;
-    }
-
-    fill_model_structures(encoder, family_stat, rep_first, first_size, rep_next, mul_size, levels,
-                          ncounters, n_buckets, n_buckets_ptrs);
-
-    return (!(0));
-
-error_2:
-    encoder->usr->free(encoder->usr, family_stat->counters);
-
-error_1:
-    encoder->usr->free(encoder->usr, family_stat->buckets_ptrs);
-
-    return (0);
-}
-
-static void free_family_stat(QuicUsrContext *usr, FamilyStat *family_stat)
-{
-    usr->free(usr, family_stat->buckets_ptrs);
-    usr->free(usr, family_stat->counters);
-    usr->free(usr, family_stat->buckets_buf);
-}
-
-static int init_channel(Encoder *encoder, Channel *channel)
-{
-    unsigned int ncounters;
-    unsigned int levels;
-    unsigned int rep_first;
-    unsigned int first_size;
-    unsigned int rep_next;
-    unsigned int mul_size;
-    unsigned int n_buckets;
-    unsigned int n_buckets_ptrs;
-
-    channel->encoder = encoder;
-    channel->state.encoder = encoder;
-    channel->correlate_row_width = 0;
-    channel->correlate_row = ((void *)0);
-
-    find_model_params(encoder, 8, &ncounters, &levels, &n_buckets_ptrs, &rep_first,
-                      &first_size, &rep_next, &mul_size, &n_buckets);
-    encoder->n_buckets_8bpc = n_buckets;
-    if (!init_model_structures(encoder, &channel->family_stat_8bpc, rep_first, first_size,
-                               rep_next, mul_size, levels, ncounters, n_buckets_ptrs,
-                               n_buckets)) {
-        return (0);
-    }
-
-    find_model_params(encoder, 5, &ncounters, &levels, &n_buckets_ptrs, &rep_first,
-                      &first_size, &rep_next, &mul_size, &n_buckets);
-    encoder->n_buckets_5bpc = n_buckets;
-    if (!init_model_structures(encoder, &channel->family_stat_5bpc, rep_first, first_size,
-                               rep_next, mul_size, levels, ncounters, n_buckets_ptrs,
-                               n_buckets)) {
-        free_family_stat(encoder->usr, &channel->family_stat_8bpc);
-        return (0);
-    }
-
-    return (!(0));
-}
-
-static void destroy_channel(Channel *channel)
-{
-    QuicUsrContext *usr = channel->encoder->usr;
-    if (channel->correlate_row) {
-        usr->free(usr, channel->correlate_row - 1);
-    }
-    free_family_stat(usr, &channel->family_stat_8bpc);
-    free_family_stat(usr, &channel->family_stat_5bpc);
-}
-
-static int init_encoder(Encoder *encoder, QuicUsrContext *usr)
-{
-    int i;
-
-    encoder->usr = usr;
-    encoder->rgb_state.encoder = encoder;
-
-    for (i = 0; i < 4; i++) {
-        if (!init_channel(encoder, &encoder->channels[i])) {
-            for (--i; i >= 0; i--) {
-                destroy_channel(&encoder->channels[i]);
-            }
-            return (0);
-        }
-    }
-    return (!(0));
-}
-
-static int encoder_reste(Encoder *encoder, uint32_t *io_ptr, uint32_t *io_ptr_end)
-{
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (((unsigned long)io_ptr % 4) == ((unsigned long)io_ptr_end % 4)) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1079", __FUNCTION__, "assertion `%s' failed","((unsigned long)io_ptr % 4) == ((unsigned long)io_ptr_end % 4)"); } while (0); } } while (0);
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (io_ptr <= io_ptr_end) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1080", __FUNCTION__, "assertion `%s' failed","io_ptr <= io_ptr_end"); } while (0); } } while (0);
-
-    encoder->rgb_state.waitcnt = 0;
-    encoder->rgb_state.tabrand_seed = stabrand();
-    encoder->rgb_state.wmidx = 0;
-    encoder->rgb_state.wmileft = wminext;
-    set_wm_trigger(&encoder->rgb_state);
-
-
-    encoder_init_rle(&encoder->rgb_state);
-
-
-    encoder->io_words_count = io_ptr_end - io_ptr;
-    encoder->io_now = io_ptr;
-    encoder->io_end = io_ptr_end;
-    encoder->rows_completed = 0;
-
-    return (!(0));
-}
-
-static int encoder_reste_channels(Encoder *encoder, int channels, int width, int bpc)
-{
-    int i;
-
-    encoder->num_channels = channels;
-
-    for (i = 0; i < channels; i++) {
-        s_bucket *bucket;
-        s_bucket *end_bucket;
-
-        if (encoder->channels[i].correlate_row_width < width) {
-            encoder->channels[i].correlate_row_width = 0;
-            if (encoder->channels[i].correlate_row) {
-                encoder->usr->free(encoder->usr, encoder->channels[i].correlate_row - 1);
-            }
-            if (!(encoder->channels[i].correlate_row = (BYTE *)encoder->usr->malloc(encoder->usr,
-                                                                                    width + 1))) {
-                return (0);
-            }
-            encoder->channels[i].correlate_row++;
-            encoder->channels[i].correlate_row_width = width;
-        }
-
-        if (bpc == 8) {
-            memset(encoder->channels[i].family_stat_8bpc.counters, 0, encoder->n_buckets_8bpc * sizeof(COUNTER) * 8)
-                                                                             ;
-            bucket = encoder->channels[i].family_stat_8bpc.buckets_buf;
-            end_bucket = bucket + encoder->n_buckets_8bpc;
-            for (; bucket < end_bucket; bucket++) {
-                bucket->bestcode = 8 - 1;
-            }
-            encoder->channels[i]._buckets_ptrs = encoder->channels[i].family_stat_8bpc.buckets_ptrs;
-        } else if (bpc == 5) {
-            memset(encoder->channels[i].family_stat_5bpc.counters, 0, encoder->n_buckets_5bpc * sizeof(COUNTER) * 8)
-                                                                             ;
-            bucket = encoder->channels[i].family_stat_5bpc.buckets_buf;
-            end_bucket = bucket + encoder->n_buckets_5bpc;
-            for (; bucket < end_bucket; bucket++) {
-                bucket->bestcode = 5 - 1;
-            }
-            encoder->channels[i]._buckets_ptrs = encoder->channels[i].family_stat_5bpc.buckets_ptrs;
-        } else {
-            encoder->usr->warn(encoder->usr, "%s: bad bpc %d\n", __FUNCTION__, bpc);
-            return (0);
-        }
-
-        encoder->channels[i].state.waitcnt = 0;
-        encoder->channels[i].state.tabrand_seed = stabrand();
-        encoder->channels[i].state.wmidx = 0;
-        encoder->channels[i].state.wmileft = wminext;
-        set_wm_trigger(&encoder->channels[i].state);
-
-
-        encoder_init_rle(&encoder->channels[i].state);
-
-    }
-    return (!(0));
-}
-
-static void quic_image_params(Encoder *encoder, QuicImageType type, int *channels, int *bpc)
-{
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (channels && bpc) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1161", __FUNCTION__, "assertion `%s' failed","channels && bpc"); } while (0); } } while (0);
-    switch (type) {
-    case QUIC_IMAGE_TYPE_GRAY:
-        *channels = 1;
-        *bpc = 8;
-        break;
-    case QUIC_IMAGE_TYPE_RGB16:
-        *channels = 3;
-        *bpc = 5;
-
-
-
-        break;
-    case QUIC_IMAGE_TYPE_RGB24:
-        *channels = 3;
-        *bpc = 8;
-        break;
-    case QUIC_IMAGE_TYPE_RGB32:
-        *channels = 3;
-        *bpc = 8;
-        break;
-    case QUIC_IMAGE_TYPE_RGBA:
-        *channels = 4;
-        *bpc = 8;
-        break;
-    case QUIC_IMAGE_TYPE_INVALID:
-    default:
-        *channels = 0;
-        *bpc = 0;
-        encoder->usr->error(encoder->usr, "bad image type\n");
-    }
-}
-
-int quic_encode(QuicContext *quic, QuicImageType type, int width, int height,
-                uint8_t *line, unsigned int num_lines, int stride,
-                uint32_t *io_ptr, unsigned int num_io_words)
-{
-    Encoder *encoder = (Encoder *)quic;
-    uint32_t *io_ptr_end = io_ptr + num_io_words;
-    uint8_t *lines_end;
-    int row;
-    uint8_t *prev;
-    int channels;
-    int bpc;
-
-
-
-
-    lines_end = line + num_lines * stride;
-    if (line == ((void *)0) && lines_end != line) {
-        do { spice_log("Spice", SPICE_LOG_LEVEL_WARNING, "quic.c" ":" "1243", __FUNCTION__, "should not be reached"); } while (0);
-        return -1;
-    }
-
-    quic_image_params(encoder, type, &channels, &bpc);
-
-    if (!encoder_reste(encoder, io_ptr, io_ptr_end) ||
-        !encoder_reste_channels(encoder, channels, width, bpc)) {
-        return -1;
-    }
-
-    encoder->io_word = 0;
-    encoder->io_available_bits = 32;
-
-    encode_32(encoder, (*(uint32_t *)"QUIC"));
-    encode_32(encoder, ((0U << 16) | (0U & 0xffff)));
-    encode_32(encoder, type);
-    encode_32(encoder, width);
-    encode_32(encoder, height);
-
-    { if (line == lines_end) { int n = encoder->usr->more_lines(encoder->usr, &line); if (n <= 0 || line == ((void *)0)) { encoder->usr->error(encoder->usr, "more lines failed\n"); } lines_end = line + n * stride; } };
-
-    switch (type) {
-
-    case QUIC_IMAGE_TYPE_RGB32:
-        do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= width * 4) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1268", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= width * 4"); } while (0); } } while (0);
-        encoder->channels[0].correlate_row[-1] = 0; encoder->channels[1].correlate_row[-1] = 0; encoder->channels[2].correlate_row[-1] = 0; quic_rgb32_compress_row0(encoder, (rgb32_pixel_t *)(line), width); encoder->rows_completed++; for (row = 1; row < height; row++) { prev = line; { line += stride; { if (line == lines_end) { int n = encoder->usr->more_lines(encoder->usr, &line); if (n <= 0 || line == ((void *)0)) { encoder->usr->error(encoder->usr, "more lines failed\n"); } lines_end = line + n * stride; } }; }; encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0]; encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0]; encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0]; quic_rgb32_compress_row(encoder, (rgb32_pixel_t *)prev, (rgb32_pixel_t *)line, width); encoder->rows_completed++; };
-        break;
-    case QUIC_IMAGE_TYPE_RGB24:
-        do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= width * 3) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1272", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= width * 3"); } while (0); } } while (0);
-        encoder->channels[0].correlate_row[-1] = 0; encoder->channels[1].correlate_row[-1] = 0; encoder->channels[2].correlate_row[-1] = 0; quic_rgb24_compress_row0(encoder, (rgb24_pixel_t *)(line), width); encoder->rows_completed++; for (row = 1; row < height; row++) { prev = line; { line += stride; { if (line == lines_end) { int n = encoder->usr->more_lines(encoder->usr, &line); if (n <= 0 || line == ((void *)0)) { encoder->usr->error(encoder->usr, "more lines failed\n"); } lines_end = line + n * stride; } }; }; encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0]; encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0]; encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0]; quic_rgb24_compress_row(encoder, (rgb24_pixel_t *)prev, (rgb24_pixel_t *)line, width); encoder->rows_completed++; };
-        break;
-    case QUIC_IMAGE_TYPE_RGB16:
-        do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= width * 2) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1276", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= width * 2"); } while (0); } } while (0);
-        encoder->channels[0].correlate_row[-1] = 0; encoder->channels[1].correlate_row[-1] = 0; encoder->channels[2].correlate_row[-1] = 0; quic_rgb16_compress_row0(encoder, (rgb16_pixel_t *)(line), width); encoder->rows_completed++; for (row = 1; row < height; row++) { prev = line; { line += stride; { if (line == lines_end) { int n = encoder->usr->more_lines(encoder->usr, &line); if (n <= 0 || line == ((void *)0)) { encoder->usr->error(encoder->usr, "more lines failed\n"); } lines_end = line + n * stride; } }; }; encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0]; encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0]; encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0]; quic_rgb16_compress_row(encoder, (rgb16_pixel_t *)prev, (rgb16_pixel_t *)line, width); encoder->rows_completed++; };
-        break;
-    case QUIC_IMAGE_TYPE_RGBA:
-        do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= width * 4) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1280", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= width * 4"); } while (0); } } while (0);
-
-        encoder->channels[0].correlate_row[-1] = 0;
-        encoder->channels[1].correlate_row[-1] = 0;
-        encoder->channels[2].correlate_row[-1] = 0;
-        quic_rgb32_compress_row0(encoder, (rgb32_pixel_t *)(line), width);
-
-        encoder->channels[3].correlate_row[-1] = 0;
-        quic_four_compress_row0(encoder, &encoder->channels[3], (four_bytes_t *)(line + 3), width);
-
-        encoder->rows_completed++;
-
-        for (row = 1; row < height; row++) {
-            prev = line;
-            { line += stride; { if (line == lines_end) { int n = encoder->usr->more_lines(encoder->usr, &line); if (n <= 0 || line == ((void *)0)) { encoder->usr->error(encoder->usr, "more lines failed\n"); } lines_end = line + n * stride; } }; };
-            encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0];
-            encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0];
-            encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0];
-            quic_rgb32_compress_row(encoder, (rgb32_pixel_t *)prev, (rgb32_pixel_t *)line, width);
-
-            encoder->channels[3].correlate_row[-1] = encoder->channels[3].correlate_row[0];
-            quic_four_compress_row(encoder, &encoder->channels[3], (four_bytes_t *)(prev + 3),
-                                   (four_bytes_t *)(line + 3), width);
-            encoder->rows_completed++;
-        }
-        break;
-
-    case QUIC_IMAGE_TYPE_GRAY:
-        do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= width) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1348", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= width"); } while (0); } } while (0);
-        encoder->channels[0].correlate_row[-1] = 0;
-        quic_one_compress_row0(encoder, &encoder->channels[0], (one_byte_t *)line, width);
-        encoder->rows_completed++;
-        for (row = 1; row < height; row++) {
-            prev = line;
-            { line += stride; { if (line == lines_end) { int n = encoder->usr->more_lines(encoder->usr, &line); if (n <= 0 || line == ((void *)0)) { encoder->usr->error(encoder->usr, "more lines failed\n"); } lines_end = line + n * stride; } }; };
-            encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0];
-            quic_one_compress_row(encoder, &encoder->channels[0], (one_byte_t *)prev,
-                                  (one_byte_t *)line, width);
-            encoder->rows_completed++;
-        }
-        break;
-    case QUIC_IMAGE_TYPE_INVALID:
-    default:
-        encoder->usr->error(encoder->usr, "bad image type\n");
-    }
-
-    flush(encoder);
-    encoder->io_words_count -= (encoder->io_end - encoder->io_now);
-
-    return encoder->io_words_count;
-}
-
-int quic_decode_begin(QuicContext *quic, uint32_t *io_ptr, unsigned int num_io_words,
-                      QuicImageType *out_type, int *out_width, int *out_height)
-{
-    Encoder *encoder = (Encoder *)quic;
-    uint32_t *io_ptr_end = io_ptr + num_io_words;
-    QuicImageType type;
-    int width;
-    int height;
-    uint32_t magic;
-    uint32_t version;
-    int channels;
-    int bpc;
-
-    if (!encoder_reste(encoder, io_ptr, io_ptr_end)) {
-        return -1;
-    }
-
-    init_decode_io(encoder);
-
-    magic = encoder->io_word;
-    decode_eat32bits(encoder);
-    if (magic != (*(uint32_t *)"QUIC")) {
-        encoder->usr->warn(encoder->usr, "bad magic\n");
-        return -1;
-    }
-
-    version = encoder->io_word;
-    decode_eat32bits(encoder);
-    if (version != ((0U << 16) | (0U & 0xffff))) {
-        encoder->usr->warn(encoder->usr, "bad version\n");
-        return -1;
-    }
-
-    type = (QuicImageType)encoder->io_word;
-    decode_eat32bits(encoder);
-
-    width = encoder->io_word;
-    decode_eat32bits(encoder);
-
-    height = encoder->io_word;
-    decode_eat32bits(encoder);
-
-    quic_image_params(encoder, type, &channels, &bpc);
-
-    if (!encoder_reste_channels(encoder, channels, width, bpc)) {
-        return -1;
-    }
-
-    *out_width = encoder->width = width;
-    *out_height = encoder->height = height;
-    *out_type = encoder->type = type;
-    return 0;
-}
-
-static void uncompress_rgba(Encoder *encoder, uint8_t *buf, int stride)
-{
-    unsigned int row;
-    uint8_t *prev;
-
-    encoder->channels[0].correlate_row[-1] = 0;
-    encoder->channels[1].correlate_row[-1] = 0;
-    encoder->channels[2].correlate_row[-1] = 0;
-    quic_rgb32_uncompress_row0(encoder, (rgb32_pixel_t *)buf, encoder->width);
-
-    encoder->channels[3].correlate_row[-1] = 0;
-    quic_four_uncompress_row0(encoder, &encoder->channels[3], (four_bytes_t *)(buf + 3),
-                              encoder->width);
-
-    encoder->rows_completed++;
-    for (row = 1; row < encoder->height; row++) {
-        prev = buf;
-        buf += stride;
-
-        encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0];
-        encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0];
-        encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0];
-        quic_rgb32_uncompress_row(encoder, (rgb32_pixel_t *)prev, (rgb32_pixel_t *)buf,
-                                  encoder->width);
-
-        encoder->channels[3].correlate_row[-1] = encoder->channels[3].correlate_row[0];
-        quic_four_uncompress_row(encoder, &encoder->channels[3], (four_bytes_t *)(prev + 3),
-                                 (four_bytes_t *)(buf + 3), encoder->width);
-
-        encoder->rows_completed++;
-    }
-}
-
-
-
-static void uncompress_gray(Encoder *encoder, uint8_t *buf, int stride)
-{
-    unsigned int row;
-    uint8_t *prev;
-
-    encoder->channels[0].correlate_row[-1] = 0;
-    quic_one_uncompress_row0(encoder, &encoder->channels[0], (one_byte_t *)buf, encoder->width);
-    encoder->rows_completed++;
-    for (row = 1; row < encoder->height; row++) {
-        prev = buf;
-        buf += stride;
-        encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0];
-        quic_one_uncompress_row(encoder, &encoder->channels[0], (one_byte_t *)prev,
-                                (one_byte_t *)buf, encoder->width);
-        encoder->rows_completed++;
-    }
-}
-
-int quic_decode(QuicContext *quic, QuicImageType type, uint8_t *buf, int stride)
-{
-    Encoder *encoder = (Encoder *)quic;
-    unsigned int row;
-    uint8_t *prev;
-
-
-
-
-    do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (buf) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1518", __FUNCTION__, "assertion `%s' failed","buf"); } while (0); } } while (0);
-
-    switch (encoder->type) {
-
-    case QUIC_IMAGE_TYPE_RGB32:
-    case QUIC_IMAGE_TYPE_RGB24:
-        if (type == QUIC_IMAGE_TYPE_RGB32) {
-            do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= (int)encoder->width * 4) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1525", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= (int)encoder->width * 4"); } while (0); } } while (0);
-            encoder->channels[0].correlate_row[-1] = 0;
-            encoder->channels[1].correlate_row[-1] = 0;
-            encoder->channels[2].correlate_row[-1] = 0;
-            quic_rgb32_uncompress_row0(encoder, (rgb32_pixel_t *)buf, encoder->width);
-            encoder->rows_completed++;
-            for (row = 1; row < encoder->height; row++) 
-            {
-                prev = buf;
-                buf += stride;
-                encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0];
-                encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0];
-                encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0];
-                quic_rgb32_uncompress_row(encoder, (rgb32_pixel_t *)prev, (rgb32_pixel_t *)buf, encoder->width);
-                encoder->rows_completed++; 
-            };
-            break;
-        } else if (type == QUIC_IMAGE_TYPE_RGB24) {
-            do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= (int)encoder->width * 3) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1529", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= (int)encoder->width * 3"); } while (0); } } while (0);
-            encoder->channels[0].correlate_row[-1] = 0; encoder->channels[1].correlate_row[-1] = 0; encoder->channels[2].correlate_row[-1] = 0; quic_rgb24_uncompress_row0(encoder, (rgb24_pixel_t *)buf, encoder->width); encoder->rows_completed++; for (row = 1; row < encoder->height; row++) { prev = buf; buf += stride; encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0]; encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0]; encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0]; quic_rgb24_uncompress_row(encoder, (rgb24_pixel_t *)prev, (rgb24_pixel_t *)buf, encoder->width); encoder->rows_completed++; };
-            break;
-        }
-        encoder->usr->warn(encoder->usr, "unsupported output format\n");
-        return -1;
-    case QUIC_IMAGE_TYPE_RGB16:
-        if (type == QUIC_IMAGE_TYPE_RGB16) {
-            do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= (int)encoder->width * 2) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1537", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= (int)encoder->width * 2"); } while (0); } } while (0);
-            encoder->channels[0].correlate_row[-1] = 0; encoder->channels[1].correlate_row[-1] = 0; encoder->channels[2].correlate_row[-1] = 0; quic_rgb16_uncompress_row0(encoder, (rgb16_pixel_t *)buf, encoder->width); encoder->rows_completed++; for (row = 1; row < encoder->height; row++) { prev = buf; buf += stride; encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0]; encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0]; encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0]; quic_rgb16_uncompress_row(encoder, (rgb16_pixel_t *)prev, (rgb16_pixel_t *)buf, encoder->width); encoder->rows_completed++; };
-        } else if (type == QUIC_IMAGE_TYPE_RGB32) {
-            do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= (int)encoder->width * 4) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1540", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= (int)encoder->width * 4"); } while (0); } } while (0);
-            encoder->channels[0].correlate_row[-1] = 0; encoder->channels[1].correlate_row[-1] = 0; encoder->channels[2].correlate_row[-1] = 0; quic_rgb16_to_32_uncompress_row0(encoder, (rgb32_pixel_t *)buf, encoder->width); encoder->rows_completed++; for (row = 1; row < encoder->height; row++) { prev = buf; buf += stride; encoder->channels[0].correlate_row[-1] = encoder->channels[0].correlate_row[0]; encoder->channels[1].correlate_row[-1] = encoder->channels[1].correlate_row[0]; encoder->channels[2].correlate_row[-1] = encoder->channels[2].correlate_row[0]; quic_rgb16_to_32_uncompress_row(encoder, (rgb32_pixel_t *)prev, (rgb32_pixel_t *)buf, encoder->width); encoder->rows_completed++; };
-        } else {
-            encoder->usr->warn(encoder->usr, "unsupported output format\n");
-            return -1;
-        }
-
-        break;
-    case QUIC_IMAGE_TYPE_RGBA:
-
-        if (type != QUIC_IMAGE_TYPE_RGBA) {
-            encoder->usr->warn(encoder->usr, "unsupported output format\n");
-            return -1;
-        }
-        do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= (int)encoder->width * 4) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1554", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= (int)encoder->width * 4"); } while (0); } } while (0);
-        uncompress_rgba(encoder, buf, stride);
-        break;
-
-    case QUIC_IMAGE_TYPE_GRAY:
-
-        if (type != QUIC_IMAGE_TYPE_GRAY) {
-            encoder->usr->warn(encoder->usr, "unsupported output format\n");
-            return -1;
-        }
-        do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_; if ((((stride) < 0) ? -(stride) : (stride)) >= (int)encoder->width) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) { } else { do { spice_log("Spice", SPICE_LOG_LEVEL_ERROR, "quic.c" ":" "1630", __FUNCTION__, "assertion `%s' failed","ABS(stride) >= (int)encoder->width"); } while (0); } } while (0);
-        uncompress_gray(encoder, buf, stride);
-        break;
-    case QUIC_IMAGE_TYPE_INVALID:
-    default:
-        encoder->usr->error(encoder->usr, "bad image type\n");
-    }
-    return 0;
-}
-
-static int need_init = (!(0));
-
-QuicContext *quic_create(QuicUsrContext *usr)
-{
-    Encoder *encoder;
-
-    if (!usr || need_init || !usr->error || !usr->warn || !usr->info || !usr->malloc ||
-        !usr->free || !usr->more_space || !usr->more_lines) {
-        return ((void *)0);
-    }
-
-    if (!(encoder = (Encoder *)usr->malloc(usr, sizeof(Encoder)))) {
-        return ((void *)0);
-    }
-
-    if (!init_encoder(encoder, usr)) {
-        usr->free(usr, encoder);
-        return ((void *)0);
-    }
-    return (QuicContext *)encoder;
-}
-
-void quic_destroy(QuicContext *quic)
-{
-    Encoder *encoder = (Encoder *)quic;
-    int i;
-
-    if (!quic) {
-        return;
-    }
-
-    for (i = 0; i < 4; i++) {
-        destroy_channel(&encoder->channels[i]);
-    }
-    encoder->usr->free(encoder->usr, encoder);
-}
-
-void quic_init(void)
-{
-    if (!need_init) {
-        return;
-    }
-    need_init = (0);
-
-    family_init(&family_8bpc, 8, 26);
-    family_init(&family_5bpc, 5, 26);
-
-    init_zeroLUT();
-
-}
-
-
-
-
-
-
-
-
-
-#include <stdarg.h>
-
-void spice_log(const char *log_domain,
-               SpiceLogLevel log_level,
-               const char *strloc,
-               const char *function,
-               const char *format,
-               ...)
-{
-    va_list ap;
-
-    fprintf(stderr, "%s-%s-%s: ", log_domain, strloc, function);
-    va_start(ap, format);
-    vfprintf(stderr, format, ap);
-    va_end(ap);
-
-}
-void usr_msg(QuicUsrContext *usr, const char *fmt, ...)
-{
-    va_list ap;
-
-    va_start(ap, fmt);
-    vfprintf(stderr, fmt, ap);
-    va_end(ap);
-
-}
-
-void *usr_malloc(QuicUsrContext *usr, int size)
-{
-    return malloc(size);
-}
-
-void usr_free(QuicUsrContext *usr, void *ptr)
-{
-    free(ptr);
-}
-
-int usr_more_space(QuicUsrContext *usr, uint32_t **io_ptr, int rows_completed)
-{
-printf("wants more space, complete is %d\n", rows_completed);
-    return 0;
-}
-int usr_more_lines(QuicUsrContext *usr, uint8_t **lines)
-{
-printf("what does more_lines mean?\n");
-    return 0;
-}
-
-void print_a_line(uint8_t *p, int width)
-{
-    uint32_t *pixel = (uint32_t *) p;
-    for (; width > 0; width--)
-    {
-        int r, g, b, a;
-        p = (uint8_t *) pixel++;
-        b = *(p++);
-        g = *(p++);
-        r = *(p++);
-        a = *(p++);
-        printf("%02x,%02x,%02x,%02x|", r, g, b, a);
-    }
-    printf("\n");
-}
-
-QuicContext *simple_quic_init(void)
-{
-    QuicUsrContext *usr = malloc(sizeof(*usr));
-
-    usr->warn = usr->error = usr->info = usr_msg;
-    usr->malloc = usr_malloc;
-    usr->free = usr_free;
-    usr->more_space = usr_more_space;
-    usr->more_lines = usr_more_lines;
-
-    quic_init();
-    return quic_create(usr);
-}
-
-void simple_quic_term(QuicContext *q)
-{
-    quic_destroy(q);
-}
-
-int simple_quic_decode(QuicContext *q, uint8_t *in, int inlen, 
-        QuicImageType *type, int *width, int *height, uint8_t **out)
-{
-    int rc;
-    int stride = 4; /* FIXME - proper stride calc please */
-    rc = quic_decode_begin(q, (uint32_t *)in, inlen / sizeof(uint32_t),
-              type, width, height);
-    if (rc != 0)
-        return rc;
-    if (*type != QUIC_IMAGE_TYPE_RGB32 && *type != QUIC_IMAGE_TYPE_RGBA)
-    {
-        fprintf(stderr, "Error - can't handle type %d yet\n", *type);
-        return -1;
-    }
-
-    *out = malloc((*width) * (*height) * stride);
-    **out = 69;
-    rc = quic_decode(q, *type, *out, (*width) * stride);
-    return rc;
-}
-
-int quic_decode_js(uint8_t *in, int inlen)
-{
-        int rc;
-        QuicImageType type;
-        int width;
-        int height;
-        uint8_t *out;
-
-    static QuicContext *q = 0;
-    if (!q)
-        q = simple_quic_init();
-
-    rc = simple_quic_decode(q, in, inlen, &type, &width, &height, &out);
-
-    /* Hack the Javascript *here* */
-    return rc;
-}
-
-void one_timeloop(uint8_t *in, int inlen)
-{
-    int rc;
-    QuicImageType type;
-    int width;
-    int height;
-    uint8_t *out;
-
-    QuicContext *q = simple_quic_init();
-
-    rc = simple_quic_decode(q, in, inlen, &type, &width, &height, &out);
-    if (rc != 0)
-        fprintf(stderr, "Failure...");
-    else
-        free(out);
-
-    simple_quic_term(q);
-}
-
-
-int main(int argc, char *argv[])
-{
-    QuicContext *q;
-    uint8_t membuf1[] = { 0x51,0x55,0x49,0x43,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x81,0x81,0x81,0xFF,0xAB,0x80,0x80,0xFF,0xFF,0x24,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x58,0x07,0x00,0x80,0x00,0xD6,0x01,0x00,0x40,0xC0,0x75,0x00,0xFA,0x3F,0x7F,0x40,0xC0,0x3A,0x00,0x00,0x00,0xB0,0x0E,0x00,0xFF,0xF5,0xAF,0x03,0xD6,0x01,0x00,0xB0,0x80,0x75,0x00,0x00,0x8F,0x7F,0x1D,0x00,0x0E,0x00,0x80,0xFD,0xAC,0x03,0x00,0xB0,0xFA,0xEB,0x00,0x00,0x00,0x00,0xD8,0xFF,0x3A,0x00,0x00,0xEB,0xBF,0x0E,0x00,0xC0,0x00,0x80,0xFD,0xAF,0x03,0x00,0xB0,0x0E,0xEB,0x00,0x00,0xAC,0x00,0x40,0x92,0xFA,0x03,0x00,0xB0,0x0E,0xEB,0x00,0x00,0xAC,0xC0,0x3A,0x00,0x00,0x00,0xB0,0x0E,0x00,0xFF,0x97,0xAF,0x03,0xFE,0x6F,0xFF,0x97,0xFB,0xBF,0xFD,0xDF,0xED,0xFF,0xF6,0x7F,0xB7,0xFF,0xDB,0xFF,0xDF,0xFE,0x6F,0xFF,0x7F,0xFB,0xBF,0xFD,0xFF,0xED,0xFF,0xF6,0xFF,0xB7,0xFF,0xDB,0xFD,0xDF,0xFE,0x6F,0xF6,0x7F,0xFB,0xBF,0xDA,0xFF,0xED,0xFF,0x00,0x00,0x00,0x00 };
-    uint8_t membuf2[] = { 0x51,0x55,0x49,0x43,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0x03,0x00,0x00,0x58,0x02,0x00,0x00,0xFF,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF
 F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFD,0x00,0x30,0xFA,0xFF,0x00,0xD6,0x01,0x00,0x00,0x80,0x75,0x00,0x10,0x10,0x70,0x1D,0x00,0x00,0xCF,0x1B,0x0E,0x00,0x40,0x3B,0xB7,0x03,0x00,0xD0,0x00,0x50,0xD2,0xEB,0x00,0x00,0xAC,0x03,0x3A,0x00,0x00,0xEB,0x00,0xE0,0x39,0xFE,0x01,0x00,0x68,0x07,0x76,0x00,0x00,0xDA,0x92,0x00,0x10,0xF8,0x08,0xFA,0xFA,0xFA,0xED,0x00,0x
 00,0x00,0x40,0x3B,0x00,0x00,0xD5,0xDF,0x0E,0x00,0xB0,0x0E,0x00,0x80,0x00,0xAC,0x03,0x00,0xE7,0xF8,0xEB,0x00,0xA0,0x1D,0x00,0x80,0x00,0x68,0x07,0x00,0x40,0xC0,0xDB,0x01,0xAF,0xAF,0x2F,0x09,0x00,0x00,0x40,0xA0,0x07,0x00,0xA0,0x1D,0xDB,0x01,0x00,0x68,0x2F,0x09,0x60,0xF2,0x80,0xA0,0xAF,0xAF,0x80,0x76,0x00,0x00,0x00,0xA0,0x1D,0x00,0x00,0x30,0x6F,0x07,0x00,0x00,0xD6,0x01,0x1D,0x00,0x80,0x75,0x07,0x00,0x80,0x7C,0xDA,0x01,0x00,0x68,0xFF,0x76,0x00,0x00,0x07,0x00,0xC0,0xED,0xD6,0x01,0x00,0x58,0xFD,0x75,0x00,0x00,0x1D,0x00,0x80,0xE7,0x68,0x07,0x00,0xA0,0xC0,0xDB,0x01,0x00,0xB0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0xFD,0x55,0xEB,0x00,0x00,0xAC,0xFF,0xFD,0x7F,0x7F,0x7F,0x49,0xDF,0x5F,0x12,0xE0,0x24,0x60,0xF8,0xDF,0xF3,0xBF,0xBF,0xBF,0xF5,0xF5,0x25,0x81,0x0E,0x00,0x00,0xF4,0xB4,0x03,0x00,0xD0,0xF8,0xED,0x00,0x00,0xFD,0xFD,0x25,0x01,0x00,0x60,0x97,0xFF,0x00,0xC0,0x3A,0x00,0x03,0x00,0xB0,0x0E,0xED,0x00,0x00,0xAC,0x40,0x3B,0x00,0x00,0xC0,0xDE,0x0E,0x00,0x00,0x58,0x07,0x00,0x00,0x00,0xD6,0x01,0
 x00,0x00,0xF4,0x75,0x0E,0x00,0x40,0x3B,0xB7,0x03,0x00,0xD0,0x00,0x20,0xF5,0xFF,0x00,0x00,0xAC,0x03,0x3A,0x00,0x00,0xEB,0x00,0xC0,0xF3,0xFE,0x03,0x00,0xD0,0x0E,0xED,0x00,0x00,0xB4,0x07,0x00,0x20,0xE0,0xD6,0x01,0x00,0x58,0x80,0x75,0x00,0x00,0x00,0xA0,0x1D,0x00,0x01,0x00,0x68,0x07,0x24,0x00,0xCE,0xDB,0xF3,0xBF,0xBF,0xBF,0xC0,0xC0,0x24,0x40,0x41,0x41,0xC1,0xC0,0x80,0xBF,0xBF,0x3F,0x00,0x60,0x1D,0x00,0x01,0x00,0x58,0x07,0x76,0x00,0x00,0xD6,0xA0,0x1D,0x00,0x80,0x18,0x6F,0x07,0x00,0x00,0xD6,0x01,0x00,0x00,0x80,0x75,0x00,0x07,0x00,0x60,0x1D,0xDA,0x01,0x00,0x68,0xF3,0x76,0x00,0x00,0x06,0x06,0x26,0x01,0xFC,0xFD,0xFD,0x05,0xFF,0xFE,0xFE,0x92,0x75,0x00,0x00,0xEE,0x60,0x1D,0x00,0x80,0x00,0x58,0x07,0x00,0x00,0x00,0xDA,0x01,0x1D,0x00,0x80,0x76,0x7F,0x49,0xA0,0xBE,0x00,0xF8,0x7F,0x7F,0x00,0x60,0x1D,0x00,0x01,0x00,0x58,0x07,0x76,0x00,0x00,0xD6,0xA0,0x1D,0x00,0x80,0x60,0x6F,0x07,0x00,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0x00,0x00,0xFA,0x3A,0x07,0x00,0xA0,0x1D,0xDB,0x01,0x00,0x68,0x00,0x60,
 0xF5,0xFF,0x00,0x00,0xAC,0x03,0x3A,0x00,0x00,0xEB,0x00,0xC0,0xF3,0xFE,0x03,0x00,0xD0,0x0E,0xED,0x00,0x00,0xB4,0x07,0x00,0x20,0xE0,0xD6,0x01,0x00,0x58,0x80,0x75,0x00,0x00,0x00,0xA0,0x1D,0x00,0x01,0x00,0x68,0x07,0x24,0x00,0xD4,0xDB,0xF0,0xBF,0xBF,0xBF,0xB0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0x0E,0x00,0x40,0x3B,0xB4,0x03,0x00,0xD0,0x00,0xED,0x00,0x00,0x00,0x40,0x3B,0x00,0x0C,0x4C,0xD2,0x0E,0x04,0x04,0x0C,0x0C,0xC0,0x24,0x60,0x00,0x40,0xC0,0xC0,0xC0,0x00,0x00,0x1C,0x40,0x3A,0x00,0x00,0xEB,0xB0,0x0E,0x00,0xC0,0x00,0xB4,0x03,0x00,0x00,0x00,0xED,0x00,0x01,0x00,0x78,0x3B,0x76,0x00,0x00,0xDA,0xBE,0x1D,0x00,0x80,0x14,0x0A,0x85,0x70,0x04,0x0C,0x0C,0x0C,0x00,0x08,0x07,0x04,0x00,0x00,0xD6,0x01,0x1D,0x00,0x80,0x75,0x68,0x07,0x00,0x60,0x00,0xDA,0x01,0x00,0x0F,0xF3,0x76,0x00,0x83,0xDE,0xA3,0x47,0xFF,0xFF,0xF8,0xF1,0xA3,0x47,0x0F,0xB3,0x40,0x80,0xE7,0xDE,0x3F,0x7E,0x00,0x81,0xE8,0x11,0xF0,0x1F,0x00,0x00,0x7A,0xF4,0x1D,0x00,0x80,0x76,0x6F,0x07,0x00,0xA0,0x28,0x14,0x02,0x06
 ,0xA0,0xAF,0xAF,0x4F,0x8F,0x1F,0x3F,0x80,0x84,0x42,0x21,0xF8,0x20,0xFA,0xFA,0xFA,0xFC,0xC7,0x8F,0x1F,0x4F,0x28,0x14,0x42,0x07,0xA2,0xAF,0xAF,0x10,0xFF,0xF1,0xE3,0x7F,0x7F,0x42,0xA1,0x85,0x42,0xE4,0x7F,0xFF,0xFD,0xFD,0x09,0x7D,0x42,0xA1,0x90,0x00,0x00,0x7D,0x7D,0x03,0x00,0xD0,0x0E,0xED,0x00,0x00,0xB4,0x13,0x0A,0x85,0xF0,0x1F,0xEA,0xEB,0xEB,0x42,0xFE,0xC7,0x8F,0x02,0x02,0x0A,0x85,0x1E,0x3D,0x7A,0x00,0xD0,0x0E,0x00,0x80,0x00,0xB4,0x03,0x00,0xF1,0xE3,0xED,0x00,0x1E,0xFD,0xFF,0xF8,0x00,0xA0,0x47,0x8F,0x01,0x00,0x68,0x07,0x76,0x00,0x00,0xDA,0x4F,0x28,0x14,0xF2,0x21,0xFE,0xEF,0xEF,0xFE,0xFE,0x84,0x42,0xD1,0xA3,0xC7,0xFF,0xDA,0x01,0x00,0xE8,0x80,0x76,0x00,0x00,0x50,0xBF,0x1D,0x00,0x7D,0x7D,0x42,0xA1,0xF8,0xF1,0x83,0x7D,0x84,0x42,0xA1,0xFF,0x49,0xFE,0xFE,0xFE,0x00,0x7D,0x7D,0x7D,0x00,0xA0,0x1D,0x00,0x01,0x00,0x68,0x07,0x3D,0x7A,0xF8,0xDB,0x1D,0x00,0x80,0x1E,0x68,0x07,0x00,0xA0,0xE4,0xDB,0x01,0x00,0x5F,0x9F,0x50,0x28,0x7E,0xFC,0x60,0x5F,0xA1,0x50,0xE8,0x3F,0xE0,0xBE,0xBE,0x3E,0xF2,0x3
 F,0x7E,0xFC,0xAF,0x4F,0x28,0x14,0x03,0x00,0xA0,0xAF,0xED,0x00,0x00,0xB4,0x7E,0x3B,0x00,0x00,0xF5,0x09,0x85,0x42,0xC7,0x0F,0xF6,0xF5,0x42,0x21,0xFF,0xE3,0xFB,0xFA,0xFA,0x84,0xFF,0xF1,0xE3,0x07,0xAC,0x03,0x00,0xE0,0x00,0xEB,0x00,0x00,0x00,0xC0,0x3A,0x00,0x03,0x00,0xD0,0x0E,0xED,0x00,0x00,0xB4,0xA3,0x47,0x0F,0xFE,0xF8,0xF1,0x83,0xDF,0xA1,0xFF,0xFF,0xFF,0xDF,0xA3,0x47,0x0F,0x00,0x81,0xC0,0xBC,0xF0,0x1F,0x3F,0x7E,0x7A,0xF4,0xE8,0x11,0x80,0x76,0x00,0x00,0x00,0xA0,0x1D,0x00,0x0A,0x0D,0x6F,0x07,0xF7,0xF7,0x27,0x14,0xAC,0x03,0x00,0xF0,0x00,0xEB,0x00,0x00,0x7F,0xD5,0x3A,0x00,0x0A,0x03,0x7F,0x7F,0xF7,0xF7,0x27,0x14,0x0C,0x0C,0x4C,0xF2,0xF8,0xFB,0xFB,0x0B,0x7F,0x42,0xA1,0x30,0x00,0x00,0x7F,0x7F,0x0E,0x00,0xC0,0x3A,0xAC,0x03,0x00,0xB0,0x00,0xED,0x00,0x00,0x00,0x40,0x3B,0x00,0xF4,0x08,0xDE,0x0E,0x00,0x00,0x3D,0x7A,0x0E,0x00,0x40,0x3B,0xB6,0x03,0x00,0xD0,0xF1,0x03,0x08,0x04,0xD1,0x03,0xFC,0xF8,0x3F,0x7E,0xF4,0xE8,0x00,0x81,0xC0,0x1F,0x7F,0x42,0xA1,0xB0,0xF1,0xE3,0x7F,0x7F,0x00,0x00,0xFC,0x
 F8,0x03,0x00,0xB0,0x0E,0xEB,0x00,0x00,0xAC,0x02,0x02,0x02,0x56,0x28,0x14,0x0A,0x21,0x08,0x18,0x18,0x18,0x82,0x82,0x02,0x08,0x7F,0x7F,0x7F,0x82,0xC0,0xC0,0xC0,0x24,0x04,0x40,0x40,0xC0,0x20,0xA0,0x50,0x28,0xD1,0xA3,0x07,0x20,0xF8,0xF1,0x03,0xE9,0xA1,0x50,0x88,0xFF,0xBF,0xC0,0xC0,0x40,0x50,0x98,0xBF,0xBF,0xBF,0xBF,0x3F,0xA1,0x60,0x1D,0x00,0x80,0x00,0x58,0x07,0x00,0x00,0x00,0xD6,0x01,0x1D,0x00,0x80,0x75,0x5C,0x07,0x00,0x60,0xDF,0x5F,0x30,0x18,0x84,0x42,0xE1,0xDF,0x02,0xFF,0xFE,0xFE,0x0A,0x85,0x04,0x04,0x0C,0x0C,0x0C,0x14,0x42,0x02,0x04,0x04,0x06,0x06,0x0A,0x85,0xFE,0xFD,0xFD,0x05,0xFD,0x09,0x85,0x42,0x3D,0x7A,0xFC,0xFD,0x05,0x83,0xC1,0x1E,0x42,0xFE,0xFD,0xFD,0xFD,0xFD,0x09,0x85,0x03,0x08,0x04,0xFE,0x00,0xFC,0xF8,0xF1,0x00,0x80,0x75,0x00,0x07,0x00,0x60,0x1D,0xDA,0x01,0x00,0x58,0x80,0x76,0x00,0x00,0x20,0xB0,0x1D,0x00,0x42,0xA1,0x90,0x40,0x7F,0x81,0x81,0x81,0x42,0xA1,0x7F,0x7F,0xFF,0xFE,0xFE,0x84,0x18,0x28,0x14,0x0A,0xF7,0xF7,0x17,0x18,0x4F,0x28,0x14,0xFA,0x20,0xF0,0xEF,0xEF,0xE8,0
 xD1,0xC3,0x40,0x1F,0x3F,0x7E,0xF4,0xC1,0x03,0x81,0xC0,0x02,0x7B,0xF4,0xE8,0x8F,0x1F,0x0C,0x04,0xFD,0xFF,0xFF,0xC7,0x1E,0x3D,0x7A,0x08,0x08,0x04,0xE6,0xFD,0xFF,0xF8,0xF1,0x03,0xA3,0x47,0x8F,0x80,0xB4,0x03,0x00,0xD0,0x00,0xED,0x00,0x00,0x30,0x78,0x3B,0x00,0x7D,0x42,0xA1,0x10,0xFD,0x09,0x7D,0x7D,0x00,0x00,0xFC,0xFD,0x3A,0x00,0x00,0xEB,0xB0,0x0E,0x00,0xC0,0x00,0xB4,0x03,0x00,0x00,0x00,0xED,0x00,0xD1,0x23,0x78,0x3B,0x00,0x00,0xF4,0xE8,0x3B,0x00,0x00,0xED,0xD0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0xD1,0xA3,0xC7,0x3A,0xDF,0xDF,0xDF,0xE8,0xE8,0xD1,0xA3,0xC7,0x81,0x3F,0x7E,0xFC,0xA3,0x47,0x00,0x02,0x7E,0xFC,0xE8,0xD1,0x00,0x02,0x81,0x3F,0xD1,0xA3,0x47,0x8F,0x02,0x7F,0xFC,0xF8,0x50,0x08,0x02,0x04,0xBE,0xBE,0x3E,0xA1,0xFC,0xFB,0xFB,0x93,0x08,0x30,0x10,0x08,0xC0,0x40,0xA1,0x50,0x40,0x40,0xC0,0xC0,0x0A,0x0A,0x0A,0x42,0x02,0x06,0x06,0x06,0xD7,0x07,0x01,0x02,0x60,0x30,0xD8,0xD7,0xC0,0xBF,0xBF,0xBF,0x47,0x8F,0x00,0x81,0xF4,0xE8,0xD1,0xA3,0xDF,0xDF,0xDF,0x7A,0xEC,0xD1,0xA3,
 0xC7,0x20,0x60,0x30,0x18,0x0A,0x85,0x28,0x20,0x0C,0x0C,0x0C,0x14,0x82,0x05,0x04,0x04,0x7D,0x7D,0x82,0x82,0xF1,0xE3,0x07,0x7D,0x3F,0x7E,0xFC,0xF8,0xF4,0x00,0x02,0x81,0x8F,0x1F,0x3D,0x7A,0x40,0x20,0xF0,0xC7,0xE8,0xD1,0xA3,0x47,0x81,0x3F,0x7E,0xFC,0x1E,0x3D,0x02,0x02,0xF1,0xE3,0x47,0x8F,0x20,0x10,0x08,0xFC,0x1F,0x3D,0x7A,0xF4,0x20,0xF0,0xC7,0x8F,0xF4,0xE8,0xC1,0x40,0x8F,0x1E,0x3D,0x7A,0xFC,0xFB,0xFB,0x6B,0xF4,0x20,0x10,0x08,0x8F,0x1F,0x3D,0x7A,0x40,0x20,0xF0,0xC7,0x3D,0x7A,0xF4,0xE0,0x07,0x06,0x02,0x81,0x08,0xFC,0xF1,0xE3,0xFC,0xDF,0x3F,0x10,0x1E,0x3D,0x7A,0xD4,0x79,0x03,0x81,0xC0,0xFC,0x00,0x02,0x81,0x02,0x81,0x3F,0x7E,0x7A,0xF4,0x08,0x00,0xC7,0x8F,0x1F,0x3D,0x04,0x40,0x20,0xF0,0x50,0x28,0x14,0x02,0xEF,0x2F,0x30,0x30,0x3D,0x80,0xE0,0xEF,0xE3,0x47,0x8F,0x1E,0x7A,0xF4,0xF8,0xF1,0xC7,0x8F,0x1F,0x3D,0x08,0x40,0x20,0xF0,0x1F,0x3D,0x7A,0xF4,0xD1,0xE3,0xC7,0x8F,0x18,0x0C,0xF6,0xE8,0xE4,0xEF,0xEF,0x2F,0xFB,0x13,0x0A,0x85,0x50,0x28,0xFC,0xFB,0x60,0x60,0x60,0xA0,0x7A,0x08,0x20,0x20,0xC7
 ,0x8F,0x1E,0x3D,0x20,0x10,0xF8,0xE3,0x0A,0x85,0x42,0x08,0xFD,0x05,0x06,0x06,0xF4,0x40,0xFC,0xFD,0x8F,0x1F,0x3D,0x7A,0x40,0x20,0xF0,0xC7,0x1E,0x3D,0x7A,0xD0,0xF8,0xE3,0xC7,0x8F,0xF5,0x41,0x20,0x10,0x3F,0x7E,0xF4,0xF5,0x01,0x81,0xC0,0x1F,0x8F,0xBE,0xBE,0x3E,0x10,0xF8,0xE3,0xC7,0xF4,0xE8,0x21,0x20,0x17,0x0C,0x06,0x7B,0x3D,0xF6,0xF7,0xF7,0xE3,0x47,0x8F,0x1E,0x10,0x08,0xFC,0xF1,0x1E,0x3D,0x7A,0x20,0xF8,0xE3,0xC7,0x8F,0x28,0x4C,0x20,0x10,0xDF,0xDF,0x9F,0x50,0x3D,0x80,0x40,0xE0,0xE3,0x47,0x8F,0x1E,0x10,0x08,0xFC,0xF1,0x3D,0x7A,0xF4,0x08,0xF0,0xC7,0x8F,0x1F,0xA3,0x47,0x40,0x20,0x7E,0xFC,0xE8,0xD1,0x02,0x02,0x81,0x3F,0x47,0x8F,0x1E,0x3D,0x08,0xFC,0xF1,0xE3,0x7A,0xF4,0x28,0x10,0x0B,0x06,0x83,0x3D,0x03,0xFF,0xFB,0xFB,0x7E,0xF4,0xE8,0xD1,0x81,0xC0,0x1F,0x3F,0xE8,0xD1,0x03,0x03,0x10,0x08,0x04,0xF6,0xE0,0x8F,0x1F,0x3F,0xFA,0xFF,0x81,0x40,0x3D,0x7A,0xF4,0x30,0xF3,0x06,0x02,0x81,0xF8,0x01,0x04,0x02,0x04,0x02,0x7F,0xFC,0xF4,0xE8,0x11,0x00,0x8F,0x1F,0x3F,0x7A,0x08,0x80,0x40,0xE0,0x8F,0x1E,0x3
 D,0x7A,0x10,0xF8,0xE3,0xC7,0x0A,0x85,0x00,0x20,0x00,0x04,0x04,0x14,0x1E,0x3F,0x7E,0xFC,0xD1,0xA3,0x47,0x8F,0x30,0x28,0xF4,0xE8,0x40,0x40,0xC0,0x60,0xD1,0xA3,0x47,0x0F,0x02,0x7F,0xFC,0xF8,0x0A,0x41,0x00,0x04,0xF7,0xF7,0x27,0x14,0x0F,0x20,0x10,0xF8,0xF8,0xD1,0xA3,0x47,0x1E,0x3D,0x7E,0xFC,0xF1,0xE3,0x47,0x8F,0x04,0x10,0x08,0xFC,0x47,0x8F,0x1E,0x3D,0x08,0xFC,0xF1,0xE3,0x3D,0x7A,0x04,0x10,0xE3,0xC7,0x8F,0x1E,0x04,0x20,0x10,0xF8,0x20,0xA0,0x50,0x28,0xF1,0xE3,0x07,0x20,0x04,0x10,0x08,0xFC,0xFE,0x84,0x42,0x21,0x04,0x02,0xFF,0xFE,0xA1,0x50,0x88,0x09,0xC0,0xC0,0xC0,0x40,0x82,0x40,0x40,0x40,0x81,0x81,0x82,0x82,0x82,0x82,0x82,0x81,0x81,0x7F,0x7F,0x7F,0x7D,0x7D,0x01,0x02,0xC7,0x8F,0x1F,0x7D,0x43,0x40,0x20,0xF0,0x7E,0xF4,0xE8,0xD1,0x81,0xC0,0x1F,0x3F,0x84,0x42,0x21,0x01,0x3D,0xFE,0xFE,0xFE,0xE3,0x47,0x8F,0x1E,0x10,0x08,0xFC,0xF1,0x28,0x14,0x0A,0x29,0x08,0x18,0x18,0x18,0x85,0x42,0x0A,0x08,0xFE,0xFD,0xFD,0x09,0xF1,0x03,0x08,0x04,0x28,0x14,0xFE,0xF8,0xE3,0xEF,0xEF,0x4F,0x7A,0xF4,0xE8,0xD1,0x
 30,0xD8,0x1E,0x3D,0x40,0x40,0xC0,0x60,0x7A,0xF4,0xE8,0x51,0xE0,0x8F,0x1F,0x3F,0xA3,0x07,0x81,0x40,0x7E,0xFC,0xE8,0xD1,0x04,0x02,0x81,0x3F,0xFD,0x09,0x85,0x42,0x3D,0x7A,0xFC,0xFD,0xE3,0xC7,0x8F,0x1E,0x48,0x20,0x10,0xF8,0xBF,0x3F,0xA1,0x50,0x03,0x81,0xC0,0xBF,0xD1,0xA3,0x47,0x0F,0x02,0x7F,0xFC,0xF8,0xA3,0x07,0x0F,0x04,0x10,0x08,0xEC,0xD1,0x1F,0x3F,0x7E,0x30,0xFF,0x03,0x81,0xC0,0x3D,0x7A,0x08,0xFD,0x02,0x81,0xC0,0x1E,0x02,0x81,0x60,0xB3,0x3F,0x7E,0xFC,0x00,0x11,0x00,0x02,0x81,0x3F,0x7A,0xF4,0xE8,0x40,0xE0,0x8F,0x1F,0x28,0x14,0x0E,0x80,0xB0,0xAF,0xAF,0x4F,0x7D,0x7D,0xC1,0x60,0xC7,0x8F,0x1F,0x7D,0xF6,0xE8,0xD1,0xE3,0xEF,0x2F,0x18,0x0C,0x85,0x42,0xE2,0xEF,0xF4,0xF5,0xF5,0x09,0xC0,0x60,0x30,0x18,0x14,0x0A,0x40,0x40,0x30,0x30,0x50,0x28,0x02,0x10,0x10,0x30,0x40,0xA1,0x50,0x08,0x47,0x0F,0x40,0x40,0x8F,0x1F,0xD0,0xA3,0x40,0x20,0xF0,0xC7,0xF0,0xC7,0x8F,0x1F,0x7D,0x7D,0x42,0xA1,0x0B,0x06,0x83,0x7D,0xFC,0xE8,0xEB,0xEB,0x02,0x81,0x3F,0x7E,0x0A,0x85,0x42,0x00,0x7A,0x00,0x02,0x02,0xFC,0x80,0
 x1E,0x3D,0x02,0x81,0x3F,0x7E,0xD1,0xA3,0x87,0x04,0x3F,0x7E,0xFC,0xE8,0x10,0x03,0x02,0x81,0x81,0x81,0x42,0xA1,0x80,0x80,0x80,0x81,0xF0,0xC7,0x8F,0x1F,0x7F,0x7F,0x42,0xA1,0x00,0x02,0x81,0x7F,0x1F,0x3D,0x7A,0xF4,0x20,0xF0,0xC7,0x8F,0x42,0xA1,0x70,0x40,0x30,0x7D,0x7D,0x7D,0x80,0x80,0xC1,0x60,0x47,0x8F,0x1E,0x80,0xFE,0xF8,0xF1,0xA3,0x3D,0x12,0x08,0x04,0xE3,0x47,0x8F,0x1E,0x10,0x08,0xFC,0xF1,0x09,0x0A,0x0A,0x2A,0x83,0xF5,0xF5,0xF5,0x04,0x04,0x0C,0x06,0x3D,0x7A,0xF4,0x00,0xFB,0x0B,0x06,0x83,0x50,0x08,0xFE,0xFB,0x40,0x40,0x40,0xA1,0xD0,0xA3,0x47,0x0F,0xC0,0x1F,0x3F,0x7E,0x3F,0x7E,0x00,0x81,0x09,0x85,0xC2,0x1F,0x83,0xF5,0xF5,0xF5,0x04,0x04,0x0C,0x06,0x3F,0x7E,0xFC,0x00,0xEB,0x13,0x0A,0x85,0x0C,0x06,0xEB,0xEB,0x0C,0x08,0x08,0x18,0xA3,0x47,0x8F,0x1E,0x04,0xFE,0xF8,0xF1,0x8F,0x1E,0x1C,0x08,0x40,0x20,0xB0,0x47,0x3F,0x7E,0xFC,0xC0,0xFF,0x07,0x02,0x81,0xF4,0xE8,0x41,0xF4,0x0D,0x04,0x02,0x7B,0x03,0x08,0x04,0xE6,0x04,0xFE,0xF8,0xF1,0xD1,0x23,0x00,0x08,0x3D,0x7A,0xF4,0xE8,0x3F,0x00,0x81,0x1E,
 0x40,0xE0,0x8F,0x1F,0x7A,0xF4,0x30,0x80,0xC7,0x8F,0x1F,0x3D,0x74,0x40,0x20,0xF0,0xB0,0xAF,0xAF,0x0F,0x80,0x80,0xC1,0x60,0x8F,0x1E,0xD1,0x80,0xF8,0xF1,0xA3,0x47,0x11,0x08,0x04,0xFE,0x27,0x14,0x0A,0x81,0x10,0xD8,0xD7,0xD7,0xE3,0xC7,0x0F,0x20,0x18,0x20,0x10,0xF8,0xC0,0x1E,0x3D,0x7A,0xE3,0x07,0x01,0x81,0x10,0x08,0xFC,0xF1,0xA3,0x87,0xD9,0x3F,0x10,0x08,0xEC,0xD1,0x20,0x10,0x98,0x37,0xF8,0xE3,0xC7,0x0F,0x0F,0x06,0x20,0x10,0xF8,0xD1,0xA3,0x47,0x04,0x02,0x7F,0xFC,0x7A,0xF4,0x88,0x08,0xC7,0x8F,0x1F,0x3D,0x42,0x40,0x20,0xF0,0x60,0x8F,0x1E,0x3D,0x7E,0x10,0x80,0x40,0x81,0xC0,0x1F,0x3F,0x8F,0xA2,0x63,0x03,0x10,0xD8,0xA3,0x47,0x20,0x30,0x6F,0x20,0xC7,0x8F,0x1F,0x40,0xDC,0x40,0x20,0xF0,0xF6,0xE8,0xD1,0x43,0xCC,0x15,0x08,0x04,0xE3,0x07,0x10,0x08,0x10,0x08,0xFC,0xF1,0x3D,0x7A,0x88,0x31,0x02,0x81,0xC0,0x1E,0x00,0x81,0xC0,0x1C,0xC0,0x1F,0x3F,0x7E,0x0F,0x71,0x02,0x81,0x10,0xD8,0xA3,0x47,0x10,0x98,0x43,0x20,0xE3,0xC7,0x0F,0x20,0x4E,0x20,0x10,0xF8,0x7B,0xF4,0xE8,0x21,0x73,0x08,0x04,0x02,0xF8,0x01
 ,0x04,0x02,0x04,0x02,0x7F,0xFC,0x1E,0x3D,0xC4,0x09,0x81,0x40,0x60,0x8F,0x80,0x40,0x60,0x0E,0xE0,0x8F,0x1F,0x3F,0x87,0x38,0x81,0x40,0x08,0xEC,0xD1,0xA3,0x08,0xCC,0x21,0x10,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0xFC,0x3D,0x7A,0xF4,0x10,0x39,0x04,0x02,0x81,0xFC,0x00,0x02,0x81,0x02,0x81,0x3F,0x7E,0x8F,0x1E,0xE2,0x04,0x40,0x20,0xB0,0x47,0x40,0x20,0x30,0x87,0xF0,0xC7,0x8F,0x1F,0x43,0x9C,0x40,0x20,0x04,0xF6,0xE8,0xD1,0x04,0xE6,0x10,0x08,0xF8,0xF1,0x03,0x08,0x13,0x08,0x04,0xFE,0x1E,0x3D,0x7A,0x88,0x1C,0x02,0x81,0xC0,0x7E,0x00,0x81,0xC0,0x81,0xC0,0x1F,0x3F,0x47,0x0F,0x71,0x02,0x20,0x10,0xD8,0xA3,0x20,0x10,0x98,0x43,0xF8,0xE3,0xC7,0x0F,0x21,0x4E,0x20,0x10,0x02,0x7B,0xF4,0xE8,0x02,0x73,0x08,0x04,0xFC,0xF8,0x01,0x04,0x09,0x04,0x02,0x7F,0x8F,0x1E,0x3D,0xC4,0x0E,0x81,0x40,0x60,0x3F,0x80,0x40,0x60,0x40,0xE0,0x8F,0x1F,0xA3,0x87,0x38,0x81,0x10,0x08,0xEC,0xD1,0x10,0x08,0xCC,0x21,0xFC,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0x81,0x3D,0x7A,0xF4,0x81,0x39,0x04,0x02,0x7E,0xFC,0x00,0x02,0x04,0x02,0x81,0x3
 F,0x47,0x8F,0x1E,0xE2,0x87,0x40,0x20,0xB0,0x1F,0x40,0x20,0x30,0x20,0xF0,0xC7,0x8F,0xD1,0x43,0x9C,0x40,0x08,0x04,0xF6,0xE8,0x08,0x04,0xE6,0x10,0xFE,0xF8,0xF1,0x03,0x88,0x13,0x08,0x04,0xC0,0x1E,0x3D,0x7A,0xC0,0x1C,0x02,0x81,0x3F,0x7E,0x00,0x81,0x02,0x81,0xC0,0x1F,0xA3,0x47,0x0F,0x71,0x43,0x20,0x10,0xD8,0x0F,0x20,0x10,0x98,0x10,0xF8,0xE3,0xC7,0xE8,0x21,0x4E,0x20,0x04,0x02,0x7B,0xF4,0x04,0x02,0x73,0x08,0x7F,0xFC,0xF8,0x01,0xC4,0x09,0x04,0x02,0x60,0x8F,0x1E,0x3D,0x60,0x0E,0x81,0x40,0x1F,0x3F,0x80,0x40,0x81,0x40,0xE0,0x8F,0xD1,0xA3,0x87,0x38,0x21,0x10,0x08,0xEC,0x07,0x10,0x08,0xCC,0x08,0xFC,0xF1,0xE3,0xF4,0x10,0x27,0x10,0x02,0x81,0x3D,0x7A,0x02,0x81,0x39,0x04,0x3F,0x7E,0xFC,0x00,0xE2,0x04,0x02,0x81,0xB0,0x47,0x8F,0x1E,0x30,0x87,0x40,0x20,0x8F,0x1F,0x40,0x20,0x40,0x20,0xF0,0xC7,0xE8,0xD1,0x43,0x9C,0x10,0x08,0x04,0xF6,0x03,0x08,0x04,0xE6,0x04,0xFE,0xF8,0xF1,0x7A,0x88,0x13,0x08,0x81,0xC0,0x1E,0x3D,0x81,0xC0,0x1C,0x02,0x1F,0x3F,0x7E,0x00,0x71,0x02,0x81,0xC0,0xD8,0xA3,0x47,0x0F,0x98,0x
 43,0x20,0x10,0xC7,0x0F,0x20,0x10,0x20,0x10,0xF8,0xE3,0xF4,0xE8,0x21,0x4E,0x08,0x04,0x02,0x7B,0x01,0x04,0x02,0x73,0x02,0x7F,0xFC,0xF8,0x3D,0xC4,0x09,0x04,0x40,0x60,0x8F,0x1E,0x40,0x60,0x0E,0x81,0x8F,0x1F,0x3F,0x80,0x38,0x81,0x40,0xE0,0xEC,0xD1,0xA3,0x87,0xCC,0x21,0x10,0x08,0xE3,0x07,0x10,0x08,0x10,0x08,0xFC,0xF1,0x7A,0xF4,0x10,0x27,0x04,0x02,0x81,0x3D,0x00,0x02,0x81,0x39,0x81,0x3F,0x7E,0xFC,0x1E,0xE2,0x04,0x02,0x20,0xB0,0x47,0x8F,0x20,0x30,0x87,0x40,0xC7,0x8F,0x1F,0x40,0x9C,0x40,0x20,0xF0,0xF6,0xE8,0xD1,0x43,0xE6,0x10,0x08,0x04,0xF1,0x03,0x08,0x04,0x08,0x04,0xFE,0xF8,0x3D,0x7A,0x88,0x13,0x02,0x81,0xC0,0x1E,0x00,0x81,0xC0,0x1C,0xC0,0x1F,0x3F,0x7E,0x0F,0x71,0x02,0x81,0x10,0xD8,0xA3,0x47,0x10,0x98,0x43,0x20,0xE3,0xC7,0x0F,0x20,0x4E,0x20,0x10,0xF8,0x7B,0xF4,0xE8,0x21,0x73,0x08,0x04,0x02,0xF8,0x01,0x04,0x02,0x04,0x02,0x7F,0xFC,0x1E,0x3D,0xC4,0x09,0x81,0x40,0x60,0x8F,0x80,0x40,0x60,0x0E,0xE0,0x8F,0x1F,0x3F,0x87,0x38,0x81,0x40,0x08,0xEC,0xD1,0xA3,0x08,0xCC,0x21,0x10,0xF1,0xE3,0x07,0
 x10,0x27,0x10,0x08,0xFC,0x3D,0x7A,0xF4,0x10,0x39,0x04,0x02,0x81,0xFC,0x00,0x02,0x81,0x02,0x81,0x3F,0x7E,0x8F,0x1E,0xE2,0x04,0x40,0x20,0xB0,0x47,0x40,0x20,0x30,0x87,0xF0,0xC7,0x8F,0x1F,0x43,0x9C,0x40,0x20,0x04,0xF6,0xE8,0xD1,0x04,0xE6,0x10,0x08,0xF8,0xF1,0x03,0x08,0x13,0x08,0x04,0xFE,0x1E,0x3D,0x7A,0x88,0x1C,0x02,0x81,0xC0,0x7E,0x00,0x81,0xC0,0x81,0xC0,0x1F,0x3F,0x47,0x0F,0x71,0x02,0x20,0x10,0xD8,0xA3,0x20,0x10,0x98,0x43,0xF8,0xE3,0xC7,0x0F,0x21,0x4E,0x20,0x10,0x02,0x7B,0xF4,0xE8,0x02,0x73,0x08,0x04,0xFC,0xF8,0x01,0x04,0x09,0x04,0x02,0x7F,0x8F,0x1E,0x3D,0xC4,0x0E,0x81,0x40,0x60,0x3F,0x80,0x40,0x60,0x40,0xE0,0x8F,0x1F,0xA3,0x87,0x38,0x81,0x10,0x08,0xEC,0xD1,0x10,0x08,0xCC,0x21,0xFC,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0x81,0x3D,0x7A,0xF4,0x81,0x39,0x04,0x02,0x7E,0xFC,0x00,0x02,0x04,0x02,0x81,0x3F,0x47,0x8F,0x1E,0xE2,0x87,0x40,0x20,0xB0,0x1F,0x40,0x20,0x30,0x20,0xF0,0xC7,0x8F,0xD1,0x43,0x9C,0x40,0x08,0x04,0xF6,0xE8,0x08,0x04,0xE6,0x10,0xFE,0xF8,0xF1,0x03,0x88,0x13,0x08,0x04,0xC0,
 0x1E,0x3D,0x7A,0xC0,0x1C,0x02,0x81,0x3F,0x7E,0x00,0x81,0x02,0x81,0xC0,0x1F,0xA3,0x47,0x0F,0x71,0x43,0x20,0x10,0xD8,0x07,0x08,0x08,0x98,0x10,0xF8,0xF7,0xF7,0xD7,0x27,0x4E,0x20,0x20,0x10,0xD8,0xD7,0x08,0x08,0x98,0x43,0xF8,0xF7,0xF7,0x07,0x27,0x4E,0x20,0x10,0x10,0xD8,0xD7,0xD7,0x08,0x98,0x43,0x20,0xF7,0xF7,0x07,0x08,0x4E,0x20,0x10,0xF8,0xD8,0xD7,0xD7,0x27,0x98,0x43,0x20,0x10,0xF7,0x07,0x08,0x08,0x20,0x10,0xF8,0xF7,0xD7,0xD7,0x27,0x4E,0x43,0x20,0x10,0xD8,0x07,0x08,0x08,0x98,0x10,0xF8,0xF7,0xF7,0xD7,0x27,0x4E,0x20,0x20,0x10,0xD8,0xD7,0x08,0x08,0x98,0x43,0xF8,0xF7,0xF7,0x07,0x27,0x4E,0x20,0x10,0x10,0xD8,0xD7,0xD7,0x08,0x98,0x43,0x20,0xF7,0xF7,0x07,0x08,0x4E,0x20,0x10,0xF8,0xD8,0xD7,0xD7,0x27,0x98,0x43,0x20,0x10,0xF7,0x07,0x08,0x08,0x20,0x10,0xF8,0xF7,0xD7,0xD7,0x27,0x4E,0x43,0x20,0x10,0xD8,0x01,0x08,0x08,0x98,0x02,0x7F,0xFC,0xF8,0x3D,0xC4,0x09,0x04,0x40,0x60,0x8F,0x1E,0x40,0x60,0x0E,0x81,0x8F,0x1F,0x3F,0x80,0x38,0x81,0x40,0xE0,0xEC,0xD1,0xA3,0x87,0xCC,0x21,0x10,0x08,0xE3,0x07,0x10
 ,0x08,0x10,0x08,0xFC,0xF1,0x7A,0xF4,0x10,0x27,0x04,0x02,0x81,0x3D,0x00,0x02,0x81,0x39,0x81,0x3F,0x7E,0xFC,0x1E,0xE2,0x04,0x02,0x20,0xB0,0x47,0x8F,0x20,0x30,0x87,0x40,0xC7,0x8F,0x1F,0x40,0x9C,0x40,0x20,0xF0,0xF6,0xE8,0xD1,0x43,0xE6,0x10,0x08,0x04,0xF1,0x03,0x08,0x04,0x08,0x04,0xFE,0xF8,0x3D,0x7A,0x88,0x13,0x02,0x81,0xC0,0x1E,0x00,0x81,0xC0,0x1C,0xC0,0x1F,0x3F,0x7E,0x0F,0x71,0x02,0x81,0x10,0xD8,0xA3,0x47,0x10,0x98,0x43,0x20,0xE3,0xC7,0x0F,0x20,0x4E,0x20,0x10,0xF8,0x7B,0xF4,0xE8,0x21,0x73,0x08,0x04,0x02,0xF8,0x01,0x04,0x02,0x04,0x02,0x7F,0xFC,0x1E,0x3D,0xC4,0x09,0x81,0x40,0x60,0x8F,0x80,0x40,0x60,0x0E,0xE0,0x8F,0x1F,0x3F,0x87,0x38,0x81,0x40,0x08,0xEC,0xD1,0xA3,0x08,0xCC,0x21,0x10,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0xFC,0x3D,0x7A,0xF4,0x10,0x39,0x04,0x02,0x81,0xFC,0x00,0x02,0x81,0x02,0x81,0x3F,0x7E,0x8F,0x1E,0xE2,0x04,0x40,0x20,0xB0,0x47,0x40,0x20,0x30,0x87,0xF0,0xC7,0x8F,0x1F,0x43,0x9C,0x40,0x20,0x04,0xF6,0xE8,0xD1,0x04,0xE6,0x10,0x08,0xF8,0xF1,0x03,0x08,0x13,0x08,0x04,0xFE,0x1
 E,0x3D,0x7A,0x88,0x1C,0x02,0x81,0xC0,0x7E,0x00,0x81,0xC0,0x81,0xC0,0x1F,0x3F,0x47,0x0F,0x71,0x02,0x20,0x10,0xD8,0xA3,0x20,0x10,0x98,0x43,0xF8,0xE3,0xC7,0x0F,0x21,0x4E,0x20,0x10,0x02,0x7B,0xF4,0xE8,0x02,0x73,0x08,0x04,0xFC,0xF8,0x01,0x04,0x09,0x04,0x02,0x7F,0x8F,0x1E,0x3D,0xC4,0x0E,0x81,0x40,0x60,0x3F,0x80,0x40,0x60,0x40,0xE0,0x8F,0x1F,0xA3,0x87,0x38,0x81,0x10,0x08,0xEC,0xD1,0x10,0x08,0xCC,0x21,0xFC,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0x81,0x3D,0x7A,0xF4,0x81,0x39,0x04,0x02,0x7E,0xFC,0x00,0x02,0x04,0x02,0x81,0x3F,0x47,0x8F,0x1E,0xE2,0x87,0x40,0x20,0xB0,0x1F,0x40,0x20,0x30,0x20,0xF0,0xC7,0x8F,0xD1,0x43,0x9C,0x40,0x08,0x04,0xF6,0xE8,0x08,0x04,0xE6,0x10,0xFE,0xF8,0xF1,0x03,0x88,0x13,0x08,0x04,0xC0,0x1E,0x3D,0x7A,0xC0,0x1C,0x02,0x81,0x3F,0x7E,0x00,0x81,0x02,0x81,0xC0,0x1F,0xA3,0x47,0x0F,0x71,0x43,0x20,0x10,0xD8,0x0F,0x20,0x10,0x98,0x10,0xF8,0xE3,0xC7,0xE8,0x21,0x4E,0x20,0x04,0x02,0x7B,0xF4,0x04,0x02,0x73,0x08,0x7F,0xFC,0xF8,0x01,0xC4,0x09,0x04,0x02,0x60,0x8F,0x1E,0x3D,0x60,0x0E,0x
 81,0x40,0x1F,0x3F,0x80,0x40,0x81,0x40,0xE0,0x8F,0xD1,0xA3,0x87,0x38,0x21,0x10,0x08,0xEC,0x07,0x10,0x08,0xCC,0x08,0xFC,0xF1,0xE3,0xF4,0x10,0x27,0x10,0x02,0x81,0x3D,0x7A,0x02,0x81,0x39,0x04,0x3F,0x7E,0xFC,0x00,0xE2,0x04,0x02,0x81,0xB0,0x47,0x8F,0x1E,0x30,0x87,0x40,0x20,0x8F,0x1F,0x40,0x20,0x40,0x20,0xF0,0xC7,0xE8,0xD1,0x43,0x9C,0x10,0x08,0x04,0xF6,0x03,0x08,0x04,0xE6,0x04,0xFE,0xF8,0xF1,0x7A,0x88,0x13,0x08,0x81,0xC0,0x1E,0x3D,0x81,0xC0,0x1C,0x02,0x1F,0x3F,0x7E,0x00,0x71,0x02,0x81,0xC0,0xD8,0xA3,0x47,0x0F,0x98,0x43,0x20,0x10,0xC7,0x0F,0x20,0x10,0x20,0x10,0xF8,0xE3,0xF4,0xE8,0x21,0x4E,0x08,0x04,0x02,0x7B,0x01,0x04,0x02,0x73,0x02,0x7F,0xFC,0xF8,0x3D,0xC4,0x09,0x04,0x40,0x60,0x8F,0x1E,0x40,0x60,0x0E,0x81,0x8F,0x1F,0x3F,0x80,0x38,0x81,0x40,0xE0,0xEC,0xD1,0xA3,0x87,0xCC,0x21,0x10,0x08,0xE3,0x07,0x10,0x08,0x10,0x08,0xFC,0xF1,0x7A,0xF4,0x10,0x27,0x04,0x02,0x81,0x3D,0x00,0x02,0x81,0x39,0x81,0x3F,0x7E,0xFC,0x1E,0xE2,0x04,0x02,0x20,0xB0,0x47,0x8F,0x20,0x30,0x87,0x40,0xC7,0x8F,0x1F,0x40,0
 x9C,0x40,0x20,0xF0,0xF6,0xE8,0xD1,0x43,0xE6,0x10,0x08,0x04,0xF1,0x03,0x08,0x04,0x08,0x04,0xFE,0xF8,0x3D,0x7A,0x88,0x13,0x02,0x81,0xC0,0x1E,0x00,0x81,0xC0,0x1C,0xC0,0x1F,0x3F,0x7E,0x0F,0x71,0x02,0x81,0x10,0xD8,0xA3,0x47,0x10,0x98,0x43,0x20,0xE3,0xC7,0x0F,0x20,0x4E,0x20,0x10,0xF8,0x7B,0xF4,0xE8,0x21,0x73,0x08,0x04,0x02,0xF8,0x01,0x04,0x02,0x04,0x02,0x7F,0xFC,0x1E,0x3D,0xC4,0x09,0x81,0x40,0x60,0x8F,0x80,0x40,0x60,0x0E,0xE0,0x8F,0x1F,0x3F,0x87,0x38,0x81,0x40,0x08,0xEC,0xD1,0xA3,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,
 0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB
 ,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x0
 3,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x
 13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0
 x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,
 0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08
 ,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xF
 B,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x
 04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0
 xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,
 0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10
 ,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xE
 B,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x50,0xE4,0xFF,0xFE,0x09,0x
 0A,0x0A,0x02,0x04,0xF4,0xF5,0xF5,0xFC,0xFD,0xFD,0x01,0xFA,0xFA,0xFA,0x92,0xFB,0xFB,0x03,0x04,0x7D,0x7D,0xAF,0xFF,0x01,0x33,0xFE,0x7D,0xFE,0xFE,0x00,0x01,0x00,0x60,0xF4,0xFF,0x00,0xD6,0x01,0x00,0x00,0x80,0x75,0x00,0x07,0x00,0x60,0x1D,0xD6,0x01,0x00,0x58,0xF0,0x75,0x00,0x00,0x17,0x18,0x18,0x08,0x10,0xFF,0xF7,0xF7,0xFB,0x7D,0x7D,0x7D,0x03,0x04,0x04,0xCC,0xD1,0xFF,0xFB,0xFB,0x07,0x00,0x00,0xA0,0xD6,0x01,0x00,0x58,0xAB,0x75,0x00,0x00,0xA4,0x00,0x01,0x01,0xF7,0xFB,0xFA,0xFA,0x07,0x08,0x08,0x98,0xA3,0xFF,0xF7,0xF7,0xB0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0x0E,0x00,0x40,0x3B,0xB7,0x03,0x00,0xD0,0xBE,0xBE,0x3E,0xA9,0x01,0x01,0x73,0xFC,0xFF,0xFE,0xFE,0x00,0x00,0x00,0x34,0xF0,0x3A,0x00,0x00,0xEB,0xB0,0x0E,0x00,0xC0,0x00,0xB4,0x03,0x00,0x00,0x00,0xED,0x00,0xF5,0x49,0x79,0x3B,0x30,0xD7,0xF7,0xF5,0xEF,0x0F,0x10,0x10,0x40,0x03,0xFF,0xEF,0x00,0xB0,0x0E,0x00,0x00,0x00,0xAC,0x03,0x3B,0x00,0x00,0xEB,0xD0,0x0E,0x00,0x40,0x94,0xB7,0x03,0x00,0x7D,0x5F,0x5F,0x9F,0x00,0x01,0x01,0
 x73,0xF0,0xFF,0xFE,0xFE,0xEB,0x00,0x00,0x34,0xC0,0x3A,0x00,0x00,0x00,0xB0,0x0E,0x00,0x00,0x00,0xB4,0x03,0x3B,0x00,0x00,0xED,0xF5,0xF5,0x49,0x79,0x10,0x30,0xD7,0xF7,0xEF,0xEF,0x0F,0x10,0x00,0x40,0x03,0xFF,0x03,0x00,0xB0,0x0E,0xEB,0x00,0x00,0xAC,0x40,0x3B,0x00,0x00,0x00,0xD0,0x0E,0x00,0x9F,0x94,0xB7,0x03,0x73,0x7D,0x5F,0x5F,0xFE,0x00,0x01,0x01,0x34,0xF0,0xFF,0xFE,0x00,0xEB,0x00,0x00,0x00,0xC0,0x3A,0x00,0x03,0x00,0xB0,0x0E,0xED,0x00,0x00,0xB4,0x79,0x3B,0x00,0x00,0xF7,0xF5,0xF5,0x49,0x10,0x10,0x30,0xD7,0xFF,0xEF,0xEF,0x0F,0x0E,0x00,0x40,0x03,0xAC,0x03,0x00,0xB0,0x00,0xEB,0x00,0x00,0x00,0x40,0x3B,0x00,0x03,0x00,0xD0,0x0E,0x5F,0x9F,0x94,0xB7,0x01,0x73,0x7D,0x5F,0xFE,0xFE,0x00,0x01,0x00,0x34,0xF0,0xFF,0x00,0x00,0xEB,0x00,0x0E,0x00,0xC0,0x3A,0xB4,0x03,0x00,0xB0,0x00,0xED,0x00,0x00,0x49,0x79,0x3B,0x00,0xD7,0xF7,0xF5,0xF5,0x0F,0x10,0x10,0x30,0x03,0xFF,0xEF,0xEF,0xB0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0x0E,0x00,0x40,0x3B,0xB7,0x03,0x00,0xD0,0x5F,0x5F,0x9F,0x94,0x01,
 0x01,0x73,0x7D,0xFF,0xFE,0xFE,0x00,0x49,0x00,0x30,0xF0,0x7D,0x80,0x80,0x80,0x00,0x00,0x7D,0x7D,0x00,0x40,0x3B,0x00,0x03,0x00,0xD0,0x0E,0xBE,0xBE,0xA8,0xB7,0x02,0xE6,0xFD,0xBE,0xFD,0xFD,0x01,0x02,0x08,0xA0,0xE8,0xFF,0xD7,0x27,0x28,0x28,0x03,0x01,0xDE,0xD7,0xFA,0xFA,0x02,0x03,0x75,0x00,0x00,0xFA,0x60,0x1D,0x00,0x80,0x10,0x58,0x07,0x00,0xFE,0xEF,0xEF,0x0F,0xF7,0xF5,0xF5,0xBD,0x04,0x04,0xCC,0xF8,0xFF,0xFB,0xFB,0x03,0xAF,0xAF,0x4F,0xDC,0x80,0x80,0xB9,0xBE,0x7F,0x7F,0x7F,0x80,0xFA,0xFA,0xC4,0xF8,0x04,0xCC,0xE1,0xFB,0xFB,0xFB,0x03,0x04,0xAF,0x4F,0x9C,0xFF,0xC0,0x1C,0xBE,0xAF,0xBF,0x3F,0x40,0x40,0xFA,0xC4,0xF9,0xBF,0xCC,0xE1,0xFB,0xFA,0xFB,0x03,0x04,0x04,0x4F,0x9C,0xFF,0xFB,0x1C,0xBE,0xAF,0xAF,0x3F,0x40,0x40,0xC0,0xC4,0xF9,0xBF,0xBF,0xE1,0xFB,0xFA,0xFA,0x03,0x04,0x04,0xCC,0x9C,0xFF,0xFB,0xFB,0xBE,0xAF,0xAF,0x4F,0x40,0x40,0xC0,0x1C,0xF9,0xBF,0xBF,0x3F,0xFB,0xFA,0xFA,0xC4,0x04,0x04,0xCC,0xE1,0xFF,0xFB,0xFB,0x03,0xAF,0xAF,0x4F,0x9C,0x40,0xC0,0x1C,0xBE,0xBF,0xBF,0x3F,0x40,0xFA,0xFA,0xC4
 ,0xF9,0x04,0xCC,0xE1,0xFB,0xEB,0xEB,0x03,0x04,0xD6,0x01,0x00,0xE8,0x80,0x75,0x00,0x00,0x1D,0x78,0x1D,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0
 8,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x
 08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0
 x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x20,0x10,0x08,0x08,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,
 0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0x02,0x81,0x1D,0x40,0x20,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40,0x20,0x10,0x08,0x8E,0x04,0x02,0x81,0x04,0x02,0x81,0xC0
 ,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0x02,0x81,0x1D,0x40,0x2
 0,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40,0x20,0x10,0x08,0x8E,0x04,0x02,0x81,0x04,0x02,0x81,0xC0,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x
 08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0x02,0x81,0x1D,0x40,0x20,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40,0x20,0x10,0x08,0x8E,0
 x04,0x02,0x81,0x04,0x02,0x81,0xC0,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,
 0x81,0x04,0x02,0x81,0x1D,0x40,0x20,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40,0x20,0x10,0x08,0x8E,0x04,0x02,0x81,0x04,0x02,0x81,0xC0,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04
 ,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0x02,0x81,0x1D,0x40,0x20,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x2
 4,0x10,0x40,0x20,0x10,0x08,0x8E,0x04,0x02,0x81,0x04,0x02,0x81,0xC0,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0xBF,0x23,0xFF,0x77,0xC8,0xFF,0x1D,0xF9,0x7F,0x47,0xFE,0xEF,0x91,0xFF,0x3B,0xF2,0xFF,0x8E,0xFC,0xDF,0x23,0xFF,0x77,0xE4,0xFF,0x1D,0xF9,0xBF,0x47,0xFE,0xEF,0xC8,0xFF,0x3B,0xF2,0x7F,0x8E,0xFC,0xDF,0x91,0xFF,0x77,0xE4,0xFF,0x1D,0xF9,0xBF,0x23,0x
 FE,0xEF,0xC8,0xFF,0x3B,0xF2,0x7F,0x47,0xFC,0xDF,0x91,0xFF,0x77,0xE4,0xFF,0x8E,0xF9,0xBF,0x23,0xFF,0xEF,0xC8,0xFF,0x1D,0xF2,0x7F,0x47,0xFE,0xDF,0x91,0xFF,0x3B,0xE4,0xFF,0x8E,0xFC,0xBF,0x23,0xFF,0x77,0xC8,0xFF,0x1D,0xF9,0x7F,0x47,0xFE,0xEF,0x91,0xFF,0x3B,0xF2,0xFF,0x8E,0xFC,0xDF,0x23,0xFF,0x77,0xE4,0xFF,0x1D,0xF9,0xBF,0x47,0xFE,0xEF,0xC8,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00};
-    static uint8_t buf[1024 * 1024];
-    uint8_t *p;
-    uint8_t *buf2;
-    FILE *fp;
-    int i;
-    int rc;
-    int len;
-    QuicImageType type;
-    int width;
-    int height;
-
-    q = simple_quic_init();
-    if (q)
-    {
-        for (i = 1; i < argc; i++)
-        {
-            if (strcmp(argv[i], "membuf1") == 0)
-            {
-                p = membuf1; len = sizeof(membuf1);
-            }
-            else if (strcmp(argv[i], "membuf2") == 0)
-            {
-                p = membuf2; len = sizeof(membuf2);
-            }
-            else if (strcmp(argv[i], "timecheck") == 0)
-            {
-                int j, count;
-                if (i == (argc -1))
-                {
-                    fprintf(stderr, "Error: give the number of times to run the loop\n");
-                    exit(1);
-                }
-                count = atoi(argv[++i]);
-                printf("Starting %d loops at %ld\n", count, clock());
-                for (j = 0; j < count; j++)
-                    one_timeloop(membuf2, sizeof(membuf2));
-                printf("finished %d loops at %ld\n", count, clock());
-                continue;
-            }
-
-            else
-            {
-                fp = fopen(argv[i], "rb");
-                if (fp)
-                {
-                    len = fread(buf, 1, sizeof(buf), fp);
-                    printf("%s: read %d bytes\n", argv[i], len);
-                    p = buf;
-                    if (len >= sizeof(buf) - sizeof(uint32_t))
-                    {
-                        fprintf(stderr, "Whoa!  file [%s] too big...\n", argv[i]);
-                        exit(1);
-                    }
-                    if (len == 0)
-                    {
-                        fprintf(stderr, "Whoa!  nothing in file [%s]\n", argv[i]);
-                        exit(1);
-                    }
-                    fclose(fp);
-                }
-                else
-                {
-                        fprintf(stderr, "Whoa!  couldn't open file [%s]\n", argv[i]);
-                        exit(1);
-                }
-            }
-
-            rc = simple_quic_decode(q, p, len, &type, &width, &height, &buf2);
-            if (rc == 0)
-            {
-                int j;
-                printf("%s: type %d, width %d, height %d\n", argv[i], type, width, height);
-                for (j = 0; j < height; j++)
-                {
-                    print_a_line(buf2 + (j * width * 4), width);
-                }
-            }
-        }
-
-        simple_quic_term(q);
-    }
-
-    quic_decode_js(membuf2, sizeof(membuf2));
-
-    return 0;
-}
-
diff --git a/quic.js b/quic.js
index 735b20b..7c5be6b 100644
--- a/quic.js
+++ b/quic.js
@@ -1,27125 +1,1133 @@
 /*
-   Copyright (C) 2012 by Jeremy P. White <jwhite at codeweavers.com>
-
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*----------------------------------------------------------------------------
-**  HACK HACK HACK
-**          This file was largely auto generated by emscripten
-**  from a 'C' source code file.  See the file quic.shell for more details.
-**--------------------------------------------------------------------------*/
+ *    Copyright (C) 2012 by Jeremy P. White <jwhite at codeweavers.com>
+ *    Copyright (C) 2012 by Aric Stewart <aric at codeweavers.com>
+ *
+ *    This file is part of spice-html5.
+ *
+ *    spice-html5 is free software: you can redistribute it and/or modify
+ *    it under the terms of the GNU Lesser General Public License as published by
+ *    the Free Software Foundation, either version 3 of the License, or
+ *    (at your option) any later version.
+ *
+ *    spice-html5 is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public License
+ *    along with spice-html5.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+var encoder;
+
+var QUIC_IMAGE_TYPE_INVALID = 0;
+var QUIC_IMAGE_TYPE_GRAY = 1;
+var QUIC_IMAGE_TYPE_RGB16 = 2;
+var QUIC_IMAGE_TYPE_RGB24 = 3;
+var QUIC_IMAGE_TYPE_RGB32 = 4;
+var QUIC_IMAGE_TYPE_RGBA = 5;
+var DEFevol = 3;
+var DEFwmimax = 6;
+var DEFwminext = 2048;
+var need_init = true;
+var DEFmaxclen = 26;
+var evol = DEFevol;
+var wmimax = DEFwmimax;
+var wminext = DEFwminext;
+var family_5bpc = { nGRcodewords:[0,0,0,0,0,0,0,0],
+                    notGRcwlen:[0,0,0,0,0,0,0,0],
+                    notGRprefixmask:[0,0,0,0,0,0,0,0],
+                    notGRsuffixlen:[0,0,0,0,0,0,0,0],
+                    xlatU2L:[0,0,0,0,0,0,0,0],
+                    xlatL2U:[0,0,0,0,0,0,0,0]
+                  };
+var family_8bpc = { nGRcodewords:[0,0,0,0,0,0,0,0],
+                    notGRcwlen:[0,0,0,0,0,0,0,0],
+                    notGRprefixmask:[0,0,0,0,0,0,0,0],
+                    notGRsuffixlen:[0,0,0,0,0,0,0,0],
+                    xlatU2L:[0,0,0,0,0,0,0,0],
+                    xlatL2U:[0,0,0,0,0,0,0,0]
+                  };
+var bppmask = [ 0x00000000,
+    0x00000001, 0x00000003, 0x00000007, 0x0000000f,
+    0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff,
+    0x000001ff, 0x000003ff, 0x000007ff, 0x00000fff,
+    0x00001fff, 0x00003fff, 0x00007fff, 0x0000ffff,
+    0x0001ffff, 0x0003ffff, 0x0007ffff, 0x000fffff,
+    0x001fffff, 0x003fffff, 0x007fffff, 0x00ffffff,
+    0x01ffffff, 0x03ffffff, 0x07ffffff, 0x0fffffff,
+    0x1fffffff, 0x3fffffff, 0x7fffffff, 0xffffffff];
+
+var zeroLUT = [];
+
+var besttrigtab = [
+            [ 550, 900, 800, 700, 500, 350, 300, 200, 180, 180, 160],
+            [ 110, 550, 900, 800, 550, 400, 350, 250, 140, 160, 140],
+            [ 100, 120, 550, 900, 700, 500, 400, 300, 220, 250, 160]];
+
+var J = [ 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6,
+          7, 7, 8, 9, 10, 11, 12, 13, 14, 15];
+
+var lzeroes = [
+    8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+    3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0];
+
+var tabrand_chaos = [
+    0x02c57542, 0x35427717, 0x2f5a2153, 0x9244f155, 0x7bd26d07, 0x354c6052,
+    0x57329b28, 0x2993868e, 0x6cd8808c, 0x147b46e0, 0x99db66af, 0xe32b4cac,
+    0x1b671264, 0x9d433486, 0x62a4c192, 0x06089a4b, 0x9e3dce44, 0xdaabee13,
+    0x222425ea, 0xa46f331d, 0xcd589250, 0x8bb81d7f, 0xc8b736b9, 0x35948d33,
+    0xd7ac7fd0, 0x5fbe2803, 0x2cfbc105, 0x013dbc4e, 0x7a37820f, 0x39f88e9e,
+    0xedd58794, 0xc5076689, 0xfcada5a4, 0x64c2f46d, 0xb3ba3243, 0x8974b4f9,
+    0x5a05aebd, 0x20afcd00, 0x39e2b008, 0x88a18a45, 0x600bde29, 0xf3971ace,
+    0xf37b0a6b, 0x7041495b, 0x70b707ab, 0x06beffbb, 0x4206051f, 0xe13c4ee3,
+    0xc1a78327, 0x91aa067c, 0x8295f72a, 0x732917a6, 0x1d871b4d, 0x4048f136,
+    0xf1840e7e, 0x6a6048c1, 0x696cb71a, 0x7ff501c3, 0x0fc6310b, 0x57e0f83d,
+    0x8cc26e74, 0x11a525a2, 0x946934c7, 0x7cd888f0, 0x8f9d8604, 0x4f86e73b,
+    0x04520316, 0xdeeea20c, 0xf1def496, 0x67687288, 0xf540c5b2, 0x22401484,
+    0x3478658a, 0xc2385746, 0x01979c2c, 0x5dad73c8, 0x0321f58b, 0xf0fedbee,
+    0x92826ddf, 0x284bec73, 0x5b1a1975, 0x03df1e11, 0x20963e01, 0xa17cf12b,
+    0x740d776e, 0xa7a6bf3c, 0x01b5cce4, 0x1118aa76, 0xfc6fac0a, 0xce927e9b,
+    0x00bf2567, 0x806f216c, 0xbca69056, 0x795bd3e9, 0xc9dc4557, 0x8929b6c2,
+    0x789d52ec, 0x3f3fbf40, 0xb9197368, 0xa38c15b5, 0xc3b44fa8, 0xca8333b0,
+    0xb7e8d590, 0xbe807feb, 0xbf5f8360, 0xd99e2f5c, 0x372928e1, 0x7c757c4c,
+    0x0db5b154, 0xc01ede02, 0x1fc86e78, 0x1f3985be, 0xb4805c77, 0x00c880fa,
+    0x974c1b12, 0x35ab0214, 0xb2dc840d, 0x5b00ae37, 0xd313b026, 0xb260969d,
+    0x7f4c8879, 0x1734c4d3, 0x49068631, 0xb9f6a021, 0x6b863e6f, 0xcee5debf,
+    0x29f8c9fb, 0x53dd6880, 0x72b61223, 0x1f67a9fd, 0x0a0f6993, 0x13e59119,
+    0x11cca12e, 0xfe6b6766, 0x16b6effc, 0x97918fc4, 0xc2b8a563, 0x94f2f741,
+    0x0bfa8c9a, 0xd1537ae8, 0xc1da349c, 0x873c60ca, 0x95005b85, 0x9b5c080e,
+    0xbc8abbd9, 0xe1eab1d2, 0x6dac9070, 0x4ea9ebf1, 0xe0cf30d4, 0x1ef5bd7b,
+    0xd161043e, 0x5d2fa2e2, 0xff5d3cae, 0x86ed9f87, 0x2aa1daa1, 0xbd731a34,
+    0x9e8f4b22, 0xb1c2c67a, 0xc21758c9, 0xa182215d, 0xccb01948, 0x8d168df7,
+    0x04238cfe, 0x368c3dbc, 0x0aeadca5, 0xbad21c24, 0x0a71fee5, 0x9fc5d872,
+    0x54c152c6, 0xfc329483, 0x6783384a, 0xeddb3e1c, 0x65f90e30, 0x884ad098,
+    0xce81675a, 0x4b372f7d, 0x68bf9a39, 0x43445f1e, 0x40f8d8cb, 0x90d5acb6,
+    0x4cd07282, 0x349eeb06, 0x0c9d5332, 0x520b24ef, 0x80020447, 0x67976491,
+    0x2f931ca3, 0xfe9b0535, 0xfcd30220, 0x61a9e6cc, 0xa487d8d7, 0x3f7c5dd1,
+    0x7d0127c5, 0x48f51d15, 0x60dea871, 0xc9a91cb7, 0x58b53bb3, 0x9d5e0b2d,
+    0x624a78b4, 0x30dbee1b, 0x9bdf22e7, 0x1df5c299, 0x2d5643a7, 0xf4dd35ff,
+    0x03ca8fd6, 0x53b47ed8, 0x6f2c19aa, 0xfeb0c1f4, 0x49e54438, 0x2f2577e6,
+    0xbf876969, 0x72440ea9, 0xfa0bafb8, 0x74f5b3a0, 0x7dd357cd, 0x89ce1358,
+    0x6ef2cdda, 0x1e7767f3, 0xa6be9fdb, 0x4f5f88f8, 0xba994a3a, 0x08ca6b65,
+    0xe0893818, 0x9e00a16a, 0xf42bfc8f, 0x9972eedc, 0x749c8b51, 0x32c05f5e,
+    0xd706805f, 0x6bfbb7cf, 0xd9210a10, 0x31a1db97, 0x923a9559, 0x37a7a1f6,
+    0x059f8861, 0xca493e62, 0x65157e81, 0x8f6467dd, 0xab85ff9f, 0x9331aff2,
+    0x8616b9f5, 0xedbd5695, 0xee7e29b1, 0x313ac44f, 0xb903112f, 0x432ef649,
+    0xdc0a36c0, 0x61cf2bba, 0x81474925, 0xa8b6c7ad, 0xee5931de, 0xb2f8158d,
+    0x59fb7409, 0x2e3dfaed, 0x9af25a3f, 0xe1fed4d5 ];
+
+var rgb32_pixel_pad = 3;
+var rgb32_pixel_r = 2;
+var rgb32_pixel_g = 1;
+var rgb32_pixel_b = 0;
+var rgb32_pixel_size = 4;
+
+/* Helper Functions */
+
+function ceil_log_2(val)
+{
+    if (val === 1)
+        return 0;
 
-// Note: Some Emscripten settings will significantly limit the speed of the generated code.
-// Note: Some Emscripten settings may limit the speed of the generated code.
-// TODO: " u s e   s t r i c t ";
+    var result = 1;
+    val -= 1;
+    while (val = val >>> 1)
+        result++;
 
-try {
-  this['Module'] = Module;
-} catch(e) {
-  this['Module'] = Module = {};
+    return result;
 }
 
-// The environment setup code below is customized to use Module.
-// *** Environment setup code ***
-var ENVIRONMENT_IS_NODE = typeof process === 'object';
-var ENVIRONMENT_IS_WEB = typeof window === 'object';
-var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
-var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
-
-if (ENVIRONMENT_IS_NODE) {
-  // Expose functionality in the same simple way that the shells work
-  // Note that we pollute the global namespace here, otherwise we break in node
-  Module['print'] = function(x) {
-    process['stdout'].write(x + '\n');
-  };
-  Module['printErr'] = function(x) {
-    process['stderr'].write(x + '\n');
-  };
-
-  var nodeFS = require('fs');
-  var nodePath = require('path');
-
-  Module['read'] = function(filename) {
-    filename = nodePath['normalize'](filename);
-    var ret = nodeFS['readFileSync'](filename).toString();
-    // The path is absolute if the normalized version is the same as the resolved.
-    if (!ret && filename != nodePath['resolve'](filename)) {
-      filename = path.join(__dirname, '..', 'src', filename);
-      ret = nodeFS['readFileSync'](filename).toString();
-    }
-    return ret;
-  };
-
-  Module['load'] = function(f) {
-    globalEval(read(f));
-  };
-
-  if (!Module['arguments']) {
-    Module['arguments'] = process['argv'].slice(2);
-  }
-} else if (ENVIRONMENT_IS_SHELL) {
-  Module['print'] = print;
-  Module['printErr'] = printErr;
-
-  // Polyfill over SpiderMonkey/V8 differences
-  if (typeof read != 'undefined') {
-    Module['read'] = read;
-  } else {
-    Module['read'] = function(f) { snarf(f) };
-  }
-
-  if (!Module['arguments']) {
-    if (typeof scriptArgs != 'undefined') {
-      Module['arguments'] = scriptArgs;
-    } else if (typeof arguments != 'undefined') {
-      Module['arguments'] = arguments;
+function family_init(family, bpc, limit)
+{
+    var l;
+    for (l = 0; l < bpc; l++)
+    {
+        var altprefixlen, altcodewords;
+        altprefixlen = limit - bpc;
+        if (altprefixlen > bppmask[bpc - l])
+            altprefixlen = bppmask[bpc - l];
+
+        altcodewords = bppmask[bpc] + 1 - (altprefixlen << l);
+        family.nGRcodewords[l] = (altprefixlen << l);
+        family.notGRcwlen[l] = altprefixlen + ceil_log_2(altcodewords);
+        family.notGRprefixmask[l] = bppmask[32 - altprefixlen]>>>0;
+        family.notGRsuffixlen[l] = ceil_log_2(altcodewords);
     }
-  }
-} else if (ENVIRONMENT_IS_WEB) {
-  if (!Module['print']) {
-    Module['print'] = function(x) {
-      console.log(x);
-    };
-  }
-
-  if (!Module['printErr']) {
-    Module['printErr'] = function(x) {
-      console.log(x);
-    };
-  }
 
-  Module['read'] = function(url) {
-    var xhr = new XMLHttpRequest();
-    xhr.open('GET', url, false);
-    xhr.send(null);
-    return xhr.responseText;
-  };
-
-  if (!Module['arguments']) {
-    if (typeof arguments != 'undefined') {
-      Module['arguments'] = arguments;
+    /* decorelate_init */
+    var pixelbitmask = bppmask[bpc];
+    var pixelbitmaskshr = pixelbitmask >>> 1;
+    var s;
+    for (s = 0; s <= pixelbitmask; s++) {
+        if (s <= pixelbitmaskshr) {
+            family.xlatU2L[s] = s << 1;
+        } else {
+            family.xlatU2L[s] = ((pixelbitmask - s) << 1) + 1;
+        }
     }
-  }
-} else if (ENVIRONMENT_IS_WORKER) {
-  // We can do very little here...
 
-  Module['load'] = importScripts;
-
-} else {
-  throw 'Unknown runtime environment. Where are we?';
-}
-
-function globalEval(x) {
-  eval.call(null, x);
-}
-if (!Module['load'] == 'undefined' && Module['read']) {
-  Module['load'] = function(f) {
-    globalEval(Module['read'](f));
-  };
-}
-if (!Module['printErr']) {
-  Module['printErr'] = function(){};
-}
-if (!Module['print']) {
-  Module['print'] = Module['printErr'];
-}
-if (!Module['arguments']) {
-  Module['arguments'] = [];
-}
-// *** Environment setup code ***
-
-// Closure helpers
-Module.print = Module['print'];
-Module.printErr = Module['printErr'];
-
-  
-// === Auto-generated preamble library stuff ===
-
-//========================================
-// Runtime code shared with compiler
-//========================================
-
-var Runtime = {
-  stackSave: function () {
-    return STACKTOP;
-  },
-  stackRestore: function (stackTop) {
-    STACKTOP = stackTop;
-  },
-  forceAlign: function (target, quantum) {
-    quantum = quantum || 4;
-    if (quantum == 1) return target;
-    if (isNumber(target) && isNumber(quantum)) {
-      return Math.ceil(target/quantum)*quantum;
-    } else if (isNumber(quantum) && isPowerOfTwo(quantum)) {
-      var logg = log2(quantum);
-      return '((((' +target + ')+' + (quantum-1) + ')>>' + logg + ')<<' + logg + ')';
-    }
-    return 'Math.ceil((' + target + ')/' + quantum + ')*' + quantum;
-  },
-  isNumberType: function (type) {
-    return type in Runtime.INT_TYPES || type in Runtime.FLOAT_TYPES;
-  },
-  isPointerType: function isPointerType(type) {
-  return type[type.length-1] == '*';
-},
-  isStructType: function isStructType(type) {
-  if (isPointerType(type)) return false;
-  if (/^\[\d+\ x\ (.*)\]/.test(type)) return true; // [15 x ?] blocks. Like structs
-  if (/<?{ ?[^}]* ?}>?/.test(type)) return true; // { i32, i8 } etc. - anonymous struct types
-  // See comment in isStructPointerType()
-  return type[0] == '%';
-},
-  INT_TYPES: {"i1":0,"i8":0,"i16":0,"i32":0,"i64":0},
-  FLOAT_TYPES: {"float":0,"double":0},
-  bitshift64: function (low, high, op, bits) {
-    var ander = Math.pow(2, bits)-1;
-    if (bits < 32) {
-      switch (op) {
-        case 'shl':
-          return [low << bits, (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits))];
-        case 'ashr':
-          return [(((low >>> bits ) | ((high&ander) << (32 - bits))) >> 0) >>> 0, (high >> bits) >>> 0];
-        case 'lshr':
-          return [((low >>> bits) | ((high&ander) << (32 - bits))) >>> 0, high >>> bits];
-      }
-    } else if (bits == 32) {
-      switch (op) {
-        case 'shl':
-          return [0, low];
-        case 'ashr':
-          return [high, (high|0) < 0 ? ander : 0];
-        case 'lshr':
-          return [high, 0];
-      }
-    } else { // bits > 32
-      switch (op) {
-        case 'shl':
-          return [0, low << (bits - 32)];
-        case 'ashr':
-          return [(high >> (bits - 32)) >>> 0, (high|0) < 0 ? ander : 0];
-        case 'lshr':
-          return [high >>>  (bits - 32) , 0];
-      }
-    }
-    abort('unknown bitshift64 op: ' + [value, op, bits]);
-  },
-  or64: function (x, y) {
-    var l = (x | 0) | (y | 0);
-    var h = (Math.round(x / 4294967296) | Math.round(y / 4294967296)) * 4294967296;
-    return l + h;
-  },
-  and64: function (x, y) {
-    var l = (x | 0) & (y | 0);
-    var h = (Math.round(x / 4294967296) & Math.round(y / 4294967296)) * 4294967296;
-    return l + h;
-  },
-  xor64: function (x, y) {
-    var l = (x | 0) ^ (y | 0);
-    var h = (Math.round(x / 4294967296) ^ Math.round(y / 4294967296)) * 4294967296;
-    return l + h;
-  },
-  getNativeTypeSize: function (type, quantumSize) {
-    if (Runtime.QUANTUM_SIZE == 1) return 1;
-    var size = {
-      '%i1': 1,
-      '%i8': 1,
-      '%i16': 2,
-      '%i32': 4,
-      '%i64': 8,
-      "%float": 4,
-      "%double": 8
-    }['%'+type]; // add '%' since float and double confuse Closure compiler as keys, and also spidermonkey as a compiler will remove 's from '_i8' etc
-    if (!size) {
-      if (type[type.length-1] == '*') {
-        size = Runtime.QUANTUM_SIZE; // A pointer
-      } else if (type[0] == 'i') {
-        var bits = parseInt(type.substr(1));
-        assert(bits % 8 == 0);
-        size = bits/8;
-      }
-    }
-    return size;
-  },
-  getNativeFieldSize: function (type) {
-    return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
-  },
-  dedup: function dedup(items, ident) {
-  var seen = {};
-  if (ident) {
-    return items.filter(function(item) {
-      if (seen[item[ident]]) return false;
-      seen[item[ident]] = true;
-      return true;
-    });
-  } else {
-    return items.filter(function(item) {
-      if (seen[item]) return false;
-      seen[item] = true;
-      return true;
-    });
-  }
-},
-  set: function set() {
-  var args = typeof arguments[0] === 'object' ? arguments[0] : arguments;
-  var ret = {};
-  for (var i = 0; i < args.length; i++) {
-    ret[args[i]] = 0;
-  }
-  return ret;
-},
-  calculateStructAlignment: function calculateStructAlignment(type) {
-    type.flatSize = 0;
-    type.alignSize = 0;
-    var diffs = [];
-    var prev = -1;
-    type.flatIndexes = type.fields.map(function(field) {
-      var size, alignSize;
-      if (Runtime.isNumberType(field) || Runtime.isPointerType(field)) {
-        size = Runtime.getNativeTypeSize(field); // pack char; char; in structs, also char[X]s.
-        alignSize = size;
-      } else if (Runtime.isStructType(field)) {
-        size = Types.types[field].flatSize;
-        alignSize = Types.types[field].alignSize;
-      } else {
-        throw 'Unclear type in struct: ' + field + ', in ' + type.name_ + ' :: ' + dump(Types.types[type.name_]);
-      }
-      alignSize = type.packed ? 1 : Math.min(alignSize, Runtime.QUANTUM_SIZE);
-      type.alignSize = Math.max(type.alignSize, alignSize);
-      var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory
-      type.flatSize = curr + size;
-      if (prev >= 0) {
-        diffs.push(curr-prev);
-      }
-      prev = curr;
-      return curr;
-    });
-    type.flatSize = Runtime.alignMemory(type.flatSize, type.alignSize);
-    if (diffs.length == 0) {
-      type.flatFactor = type.flatSize;
-    } else if (Runtime.dedup(diffs).length == 1) {
-      type.flatFactor = diffs[0];
-    }
-    type.needsFlattening = (type.flatFactor != 1);
-    return type.flatIndexes;
-  },
-  generateStructInfo: function (struct, typeName, offset) {
-    var type, alignment;
-    if (typeName) {
-      offset = offset || 0;
-      type = (typeof Types === 'undefined' ? Runtime.typeInfo : Types.types)[typeName];
-      if (!type) return null;
-      assert(type.fields.length === struct.length, 'Number of named fields must match the type for ' + typeName);
-      alignment = type.flatIndexes;
-    } else {
-      var type = { fields: struct.map(function(item) { return item[0] }) };
-      alignment = Runtime.calculateStructAlignment(type);
-    }
-    var ret = {
-      __size__: type.flatSize
-    };
-    if (typeName) {
-      struct.forEach(function(item, i) {
-        if (typeof item === 'string') {
-          ret[item] = alignment[i] + offset;
+    /* corelate_init */
+    for (s = 0; s <= pixelbitmask; s++) {
+        if (s & 0x01) {
+            family.xlatL2U[s] = pixelbitmask - (s >>> 1);
         } else {
-          // embedded struct
-          var key;
-          for (var k in item) key = k;
-          ret[key] = Runtime.generateStructInfo(item[key], type.fields[i], alignment[i]);
+            family.xlatL2U[s] = (s >>> 1);
         }
-      });
-    } else {
-      struct.forEach(function(item, i) {
-        ret[item[1]] = alignment[i];
-      });
     }
-    return ret;
-  },
-  addFunction: function (func) {
-    var ret = FUNCTION_TABLE.length;
-    FUNCTION_TABLE.push(func);
-    FUNCTION_TABLE.push(0);
-    return ret;
-  },
-  stackAlloc: function stackAlloc(size) { var ret = STACKTOP;STACKTOP += size;STACKTOP = ((((STACKTOP)+3)>>2)<<2);assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"); return ret; },
-  staticAlloc: function staticAlloc(size) { var ret = STATICTOP;STATICTOP += size;STATICTOP = ((((STATICTOP)+3)>>2)<<2); if (STATICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; },
-  alignMemory: function alignMemory(size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 4))*(quantum ? quantum : 4); return ret; },
-  makeBigInt: function makeBigInt(low,high,unsigned) { var ret = (unsigned ? (((low)>>>0)+(((high)>>>0)*4294967296)) : (((low)>>>0)+(((high)|0)*4294967296))); return ret; },
-  QUANTUM_SIZE: 4,
-  __dummy__: 0
 }
 
-
-
-var CorrectionsMonitor = {
-  MAX_ALLOWED: 0, // XXX
-  corrections: 0,
-  sigs: {},
-
-  note: function(type, succeed, sig) {
-    if (!succeed) {
-      this.corrections++;
-      if (this.corrections >= this.MAX_ALLOWED) abort('\n\nToo many corrections!');
+function quic_image_bpc(type)
+{
+    var bpc;
+    switch (type) {
+    case QUIC_IMAGE_TYPE_GRAY:
+        return 8;
+    case QUIC_IMAGE_TYPE_RGB16:
+        return 5;
+    case QUIC_IMAGE_TYPE_RGB24:
+        return 8;
+    case QUIC_IMAGE_TYPE_RGB32:
+        return 8;
+    case QUIC_IMAGE_TYPE_RGBA:
+        return 8;
+    case QUIC_IMAGE_TYPE_INVALID:
+    default:
+        console.log("quic: bad image type\n");
+        return 0;
     }
-  },
-
-  print: function() {
-  }
-};
-
-
-
-
-
-//========================================
-// Runtime essentials
-//========================================
-
-var __THREW__ = false; // Used in checking for thrown exceptions.
-
-var ABORT = false;
-
-var undef = 0;
-// tempInt is used for 32-bit signed values or smaller. tempBigInt is used
-// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt
-var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD;
-var tempI64, tempI64b;
-
-function abort(text) {
-  Module.print(text + ':\n' + (new Error).stack);
-  ABORT = true;
-  throw "Assertion: " + text;
 }
 
-function assert(condition, text) {
-  if (!condition) {
-    abort('Assertion failed: ' + text);
-  }
+function cnt_l_zeroes(bits)
+{
+    if (bits & 0xff800000) {
+        return lzeroes[bits >>> 24];
+    } else if (bits & 0xffff8000) {
+        return 8 + lzeroes[(bits >>> 16) & 0x000000ff];
+    } else if (bits & 0xffffff80) {
+        return 16 + lzeroes[(bits >>> 8) & 0x000000ff];
+    } else {
+        return 24 + lzeroes[bits & 0x000000ff];
+    }
 }
 
-var globalScope = this;
-
-// C calling interface. A convenient way to call C functions (in C files, or
-// defined with extern "C").
-//
-// Note: LLVM optimizations can inline and remove functions, after which you will not be
-//       able to call them. Adding
-//
-//         __attribute__((used))
-//
-//       to the function definition will prevent that.
-//
-// Note: Closure optimizations will minify function names, making
-//       functions no longer callable. If you run closure (on by default
-//       in -O2 and above), you should export the functions you will call
-//       by calling emcc with something like
-//
-//         -s EXPORTED_FUNCTIONS='["_func1","_func2"]'
-//
-// @param ident      The name of the C function (note that C++ functions will be name-mangled - use extern "C")
-// @param returnType The return type of the function, one of the JS types 'number', 'string' or 'array' (use 'number' for any C pointer, and
-//                   'array' for JavaScript arrays and typed arrays).
-// @param argTypes   An array of the types of arguments for the function (if there are no arguments, this can be ommitted). Types are as in returnType,
-//                   except that 'array' is not possible (there is no way for us to know the length of the array)
-// @param args       An array of the arguments to the function, as native JS values (as in returnType)
-//                   Note that string arguments will be stored on the stack (the JS string will become a C string on the stack).
-// @return           The return value, as a native JS value (as in returnType)
-function ccall(ident, returnType, argTypes, args) {
-  var stack = 0;
-  function toC(value, type) {
-    if (type == 'string') {
-      if (!stack) stack = Runtime.stackSave();
-      var ret = Runtime.stackAlloc(value.length+1);
-      writeStringToMemory(value, ret);
-      return ret;
-    } else if (type == 'array') {
-      if (!stack) stack = Runtime.stackSave();
-      var ret = Runtime.stackAlloc(value.length);
-      writeArrayToMemory(value, ret);
-      return ret;
+function golomb_decoding_8bpc(l, bits)
+{
+    var rc;
+    var cwlen;
+    var usBits = bits;
+
+    if (bits < 0 || bits > family_8bpc.notGRprefixmask[l])
+    {
+        var zeroprefix = cnt_l_zeroes(bits);
+        cwlen = zeroprefix + 1 + l;
+        var cwm = 32 - cwlen;
+        rc = (zeroprefix << l) | (bits >> cwm) & bppmask[l];
     }
-    return value;
-  }
-  function fromC(value, type) {
-    if (type == 'string') {
-      return Pointer_stringify(value);
+    else
+    {
+        cwlen = family_8bpc.notGRcwlen[l];
+        var cwm = 32 - cwlen;
+        rc = family_8bpc.nGRcodewords[l] + ((bits >> cwm) & bppmask[family_8bpc.notGRsuffixlen[l]]);
     }
-    assert(type != 'array');
-    return value;
-  }
-  try {
-    var func = eval('_' + ident);
-  } catch(e) {
-    try {
-      func = globalScope['Module']['_' + ident]; // closure exported function
-    } catch(e) {}
-  }
-  assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
-  var i = 0;
-  var cArgs = args ? args.map(function(arg) {
-    return toC(arg, argTypes[i++]);
-  }) : [];
-  var ret = fromC(func.apply(null, cArgs), returnType);
-  if (stack) Runtime.stackRestore(stack);
-  return ret;
-}
-Module["ccall"] = ccall;
-
-// Returns a native JS wrapper for a C function. This is similar to ccall, but
-// returns a function you can call repeatedly in a normal way. For example:
-//
-//   var my_function = cwrap('my_c_function', 'number', ['number', 'number']);
-//   alert(my_function(5, 22));
-//   alert(my_function(99, 12));
-//
-function cwrap(ident, returnType, argTypes) {
-  // TODO: optimize this, eval the whole function once instead of going through ccall each time
-  return function() {
-    return ccall(ident, returnType, argTypes, Array.prototype.slice.call(arguments));
-  }
+    return {'codewordlen':cwlen, 'rc':rc};
 }
-Module["cwrap"] = cwrap;
 
-// Sets a value in memory in a dynamic way at run-time. Uses the
-// type data. This is the same as makeSetValue, except that
-// makeSetValue is done at compile-time and generates the needed
-// code then, whereas this function picks the right code at
-// run-time.
-// Note that setValue and getValue only do *aligned* writes and reads!
-// Note that ccall uses JS types as for defining types, while setValue and
-// getValue need LLVM types ('i8', 'i32') - this is a lower-level operation
-function setValue(ptr, value, type, noSafe) {
-  type = type || 'i8';
-  if (type[type.length-1] === '*') type = 'i32'; // pointers are 32-bit
-    switch(type) {
-      case 'i1': HEAP8[(ptr)]=value; break;
-      case 'i8': HEAP8[(ptr)]=value; break;
-      case 'i16': HEAP16[((ptr)>>1)]=value; break;
-      case 'i32': HEAP32[((ptr)>>2)]=value; break;
-      case 'i64': HEAP32[((ptr)>>2)]=value; break;
-      case 'float': HEAPF32[((ptr)>>2)]=value; break;
-      case 'double': (tempDoubleF64[0]=value,HEAP32[((ptr)>>2)]=tempDoubleI32[0],HEAP32[((ptr+4)>>2)]=tempDoubleI32[1]); break;
-      default: abort('invalid type for setValue: ' + type);
+function golomb_code_len_8bpc(n, l)
+{
+    if (n < family_8bpc.nGRcodewords[l]) {
+        return (n >>> l) + 1 + l;
+    } else {
+        return family_8bpc.notGRcwlen[l];
     }
 }
-Module['setValue'] = setValue;
 
-// Parallel to setValue.
-function getValue(ptr, type, noSafe) {
-  type = type || 'i8';
-  if (type[type.length-1] === '*') type = 'i32'; // pointers are 32-bit
-    switch(type) {
-      case 'i1': return HEAP8[(ptr)];
-      case 'i8': return HEAP8[(ptr)];
-      case 'i16': return HEAP16[((ptr)>>1)];
-      case 'i32': return HEAP32[((ptr)>>2)];
-      case 'i64': return HEAP32[((ptr)>>2)];
-      case 'float': return HEAPF32[((ptr)>>2)];
-      case 'double': return (tempDoubleI32[0]=HEAP32[((ptr)>>2)],tempDoubleI32[1]=HEAP32[((ptr+4)>>2)],tempDoubleF64[0]);
-      default: abort('invalid type for setValue: ' + type);
+function QuicModel(bpc)
+{
+    var bsize;
+    var bstart;
+    var bend = 0;
+    var repcntr;
+
+    this.levels = 0x1 << bpc;
+    this.n_buckets_ptrs = 0;
+
+    switch (evol) {
+    case 1:
+        this.repfirst = 3;
+        this.firstsize = 1;
+        this.repnext = 2;
+        this.mulsize = 2;
+        break;
+    case 3:
+        this.repfirst = 1;
+        this.firstsize = 1;
+        this.repnext = 1;
+        this.mulsize = 2;
+        break;
+    case 5:
+        this.repfirst = 1;
+        this.firstsize = 1;
+        this.repnext = 1;
+        this.mulsize = 4;
+        break;
+    case 0:
+    case 2:
+    case 4:
+        console.log("quic: findmodelparams(): evol value obsolete!!!\n");
+    default:
+        console.log("quic: findmodelparams(): evol out of range!!!\n");
     }
-  return null;
-}
-Module['getValue'] = getValue;
-
-// Allocates memory for some data and initializes it properly.
-
-var ALLOC_NORMAL = 0; // Tries to use _malloc()
-var ALLOC_STACK = 1; // Lives for the duration of the current function call
-var ALLOC_STATIC = 2; // Cannot be freed
-Module['ALLOC_NORMAL'] = ALLOC_NORMAL;
-Module['ALLOC_STACK'] = ALLOC_STACK;
-Module['ALLOC_STATIC'] = ALLOC_STATIC;
-
-function allocate(slab, types, allocator) {
-  var zeroinit, size;
-  if (typeof slab === 'number') {
-    zeroinit = true;
-    size = slab;
-  } else {
-    zeroinit = false;
-    size = slab.length;
-  }
 
-  var singleType = typeof types === 'string' ? types : null;
+    this.n_buckets = 0;
+    repcntr = this.repfirst + 1;
+    bsize = this.firstsize;
 
-  var ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
-
-  if (zeroinit) {
-      _memset(ret, 0, size);
-      return ret;
-  }
-  
-  var i = 0, type;
-  while (i < size) {
-    var curr = slab[i];
-
-    if (typeof curr === 'function') {
-      curr = Runtime.getFunctionIndex(curr);
-    }
-
-    type = singleType || types[i];
-    if (type === 0) {
-      i++;
-      continue;
-    }
-    assert(type, 'Must know what type to store in allocate!');
+    do {
+        if (this.n_buckets) {
+            bstart = bend + 1;
+        } else {
+            bstart = 0;
+        }
 
-    if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
+        if (!--repcntr) {
+            repcntr = this.repnext;
+            bsize *= this.mulsize;
+        }
 
-    setValue(ret+i, curr, type);
-    i += Runtime.getNativeTypeSize(type);
-  }
+        bend = bstart + bsize - 1;
+        if (bend + bsize >= this.levels) {
+            bend = this.levels - 1;
+        }
 
-  return ret;
-}
-Module['allocate'] = allocate;
+        if (!this.n_buckets_ptrs) {
+            this.n_buckets_ptrs = this.levels;
 
-function Pointer_stringify(ptr, /* optional */ length) {
-  var nullTerminated = typeof(length) == "undefined";
-  var ret = "";
-  var i = 0;
-  var t;
-  var nullByte = String.fromCharCode(0);
-  while (1) {
-    t = String.fromCharCode(HEAPU8[(ptr+i)]);
-    if (nullTerminated && t == nullByte) { break; } else {}
-    ret += t;
-    i += 1;
-    if (!nullTerminated && i == length) { break; }
-  }
-  return ret;
-}
-Module['Pointer_stringify'] = Pointer_stringify;
+        }
 
-function Array_stringify(array) {
-  var ret = "";
-  for (var i = 0; i < array.length; i++) {
-    ret += String.fromCharCode(array[i]);
-  }
-  return ret;
+        (this.n_buckets)++;
+    } while (bend < this.levels - 1);
 }
-Module['Array_stringify'] = Array_stringify;
-
-// Memory management
 
-var FUNCTION_TABLE; // XXX: In theory the indexes here can be equal to pointers to stacked or malloced memory. Such comparisons should
-                    //      be false, but can turn out true. We should probably set the top bit to prevent such issues.
-
-var PAGE_SIZE = 4096;
-function alignMemoryPage(x) {
-  return ((x+4095)>>12)<<12;
+QuicModel.prototype = {
+    n_buckets : 0,
+    n_buckets_ptrs : 0,
+    repfirst : 0,
+    firstsize : 0,
+    repnext : 0,
+    mulsize : 0,
+    levels :0
 }
 
-var HEAP;
-var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
-
-var STACK_ROOT, STACKTOP, STACK_MAX;
-var STATICTOP;
-function enlargeMemory() {
-  // TOTAL_MEMORY is the current size of the actual array, and STATICTOP is the new top.
-  Module.printErr('Warning: Enlarging memory arrays, this is not fast! ' + [STATICTOP, TOTAL_MEMORY]);
-  assert(STATICTOP >= TOTAL_MEMORY);
-  assert(TOTAL_MEMORY > 4); // So the loop below will not be infinite
-  while (TOTAL_MEMORY <= STATICTOP) { // Simple heuristic. Override enlargeMemory() if your program has something more optimal for it
-    TOTAL_MEMORY = alignMemoryPage(2*TOTAL_MEMORY);
-  }
-  var oldHEAP8 = HEAP8;
-  var buffer = new ArrayBuffer(TOTAL_MEMORY);
-  HEAP8 = new Int8Array(buffer);
-  HEAP16 = new Int16Array(buffer);
-  HEAP32 = new Int32Array(buffer);
-  HEAPU8 = new Uint8Array(buffer);
-  HEAPU16 = new Uint16Array(buffer);
-  HEAPU32 = new Uint32Array(buffer);
-  HEAPF32 = new Float32Array(buffer);
-  HEAPF64 = new Float64Array(buffer);
-  HEAP8.set(oldHEAP8);
+function QuicBucket()
+{
 }
 
-var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
-var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 10485760;
-var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152;
-
-// Initialize the runtime's memory
-// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
-  assert(!!Int32Array && !!Float64Array && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
-         'Cannot fallback to non-typed array case: Code is too specialized');
-
-  var buffer = new ArrayBuffer(TOTAL_MEMORY);
-  HEAP8 = new Int8Array(buffer);
-  HEAP16 = new Int16Array(buffer);
-  HEAP32 = new Int32Array(buffer);
-  HEAPU8 = new Uint8Array(buffer);
-  HEAPU16 = new Uint16Array(buffer);
-  HEAPU32 = new Uint32Array(buffer);
-  HEAPF32 = new Float32Array(buffer);
-  HEAPF64 = new Float64Array(buffer);
+QuicBucket.prototype = {
+    bestcode: 0,
+    counters: [0,0,0,0,0,0,0,0],
 
-  // Endianness check (note: assumes compiler arch was little-endian)
-  HEAP32[0] = 255;
-  assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system');
+    reste : function (bpp)
+    {
+        this.bestcode = bpp;
+        this.counters = [0,0,0,0,0,0,0,0];
+    },
 
-var base = intArrayFromString('(null)'); // So printing %s of NULL gives '(null)'
-                                         // Also this ensures we leave 0 as an invalid address, 'NULL'
-STATICTOP = base.length;
-for (var i = 0; i < base.length; i++) {
-  HEAP8[(i)]=base[i]
-}
+    update_model_8bpc : function (state, curval, bpp)
+    {
+        var i;
+        var bestcode;
+        var bestcodelen;
 
-Module['HEAP'] = HEAP;
-Module['HEAP8'] = HEAP8;
-Module['HEAP16'] = HEAP16;
-Module['HEAP32'] = HEAP32;
-Module['HEAPU8'] = HEAPU8;
-Module['HEAPU16'] = HEAPU16;
-Module['HEAPU32'] = HEAPU32;
-Module['HEAPF32'] = HEAPF32;
-Module['HEAPF64'] = HEAPF64;
+        bestcode = bpp - 1;
+        bestcodelen = (this.counters[bestcode] += golomb_code_len_8bpc(curval, bestcode));
 
-STACK_ROOT = STACKTOP = Runtime.alignMemory(STATICTOP);
-STACK_MAX = STACK_ROOT + TOTAL_STACK;
+        for (i = bpp - 2; i >= 0; i--) {
+            var ithcodelen = (this.counters[i] += golomb_code_len_8bpc(curval, i));
 
-var tempDoublePtr = Runtime.alignMemory(STACK_MAX, 8);
-var tempDoubleI8  = HEAP8.subarray(tempDoublePtr);
-var tempDoubleI32 = HEAP32.subarray(tempDoublePtr >> 2);
-var tempDoubleF32 = HEAPF32.subarray(tempDoublePtr >> 2);
-var tempDoubleF64 = HEAPF64.subarray(tempDoublePtr >> 3);
-function copyTempFloat(ptr) { // functions, because inlining this code is increases code size too much
-  tempDoubleI8[0] = HEAP8[ptr];
-  tempDoubleI8[1] = HEAP8[ptr+1];
-  tempDoubleI8[2] = HEAP8[ptr+2];
-  tempDoubleI8[3] = HEAP8[ptr+3];
-}
-function copyTempDouble(ptr) {
-  tempDoubleI8[0] = HEAP8[ptr];
-  tempDoubleI8[1] = HEAP8[ptr+1];
-  tempDoubleI8[2] = HEAP8[ptr+2];
-  tempDoubleI8[3] = HEAP8[ptr+3];
-  tempDoubleI8[4] = HEAP8[ptr+4];
-  tempDoubleI8[5] = HEAP8[ptr+5];
-  tempDoubleI8[6] = HEAP8[ptr+6];
-  tempDoubleI8[7] = HEAP8[ptr+7];
-}
-STACK_MAX = tempDoublePtr + 8;
+            if (ithcodelen < bestcodelen) {
+                bestcode = i;
+                bestcodelen = ithcodelen;
+            }
+        }
 
-STATICTOP = alignMemoryPage(STACK_MAX);
+        this.bestcode = bestcode;
 
-function callRuntimeCallbacks(callbacks) {
-  while(callbacks.length > 0) {
-    var callback = callbacks.shift();
-    var func = callback.func;
-    if (typeof func === 'number') {
-      func = FUNCTION_TABLE[func];
+        if (bestcodelen > state.wm_trigger) {
+            for (i = 0; i < bpp; i++) {
+                this.counters[i] = this.counters[i] >>> 1;
+            }
+        }
     }
-    func(callback.arg === undefined ? null : callback.arg);
-  }
 }
 
-var __ATINIT__ = []; // functions called during startup
-var __ATMAIN__ = []; // functions called when main() is to be run
-var __ATEXIT__ = []; // functions called during shutdown
-
-function initRuntime() {
-  callRuntimeCallbacks(__ATINIT__);
-}
-function preMain() {
-  callRuntimeCallbacks(__ATMAIN__);
-}
-function exitRuntime() {
-  callRuntimeCallbacks(__ATEXIT__);
-
-  // Print summary of correction activity
-  CorrectionsMonitor.print();
+function QuicFamilyStat()
+{
 }
 
+QuicFamilyStat.prototype = {
+    buckets_ptrs : [],
+    buckets_buf : [],
 
-// Copies a list of num items on the HEAP into a
-// a normal JavaScript array of numbers
-function Array_copy(ptr, num) {
-  return Array.prototype.slice.call(HEAP8.subarray(ptr, ptr+num)); // Make a normal array out of the typed 'view'
-                                                                   // Consider making a typed array here, for speed?
-  return HEAP.slice(ptr, ptr+num);
-}
-Module['Array_copy'] = Array_copy;
+    fill_model_structures : function(model)
+    {
+        var bsize, bstart, repcntr;
+        var bend = 0;
+        var bnumber = 0;
 
-// Copies a list of num items on the HEAP into a
-// JavaScript typed array.
-function TypedArray_copy(ptr, num, offset /*optional*/) {
-  // TODO: optimize this!
-  if (offset === undefined) {
-    offset = 0;
-  }
-  var arr = new Uint8Array(num - offset);
-  for (var i = offset; i < num; ++i) {
-    arr[i - offset] = HEAP8[(ptr+i)];
-  }
-  return arr.buffer;
-}
-Module['TypedArray_copy'] = TypedArray_copy;
+        repcntr = model.repfirst + 1;
+        bsize = model.firstsize;
 
-function String_len(ptr) {
-  var i = 0;
-  while (HEAP8[(ptr+i)]) i++; // Note: should be |!= 0|, technically. But this helps catch bugs with undefineds
-  return i;
-}
-Module['String_len'] = String_len;
+        do {
+            if (bnumber) {
+                bstart = bend + 1;
+            } else {
+                bstart = 0;
+            }
 
-// Copies a C-style string, terminated by a zero, from the HEAP into
-// a normal JavaScript array of numbers
-function String_copy(ptr, addZero) {
-  var len = String_len(ptr);
-  if (addZero) len++;
-  var ret = Array_copy(ptr, len);
-  if (addZero) ret[len-1] = 0;
-  return ret;
-}
-Module['String_copy'] = String_copy;
+            if (!--repcntr) {
+                repcntr = model.repnext;
+                bsize *= model.mulsize;
+            }
 
-// Tools
+            bend = bstart + bsize - 1;
+            if (bend + bsize >= model.levels) {
+                bend = model.levels - 1;
+            }
 
-// This processes a JS string into a C-line array of numbers, 0-terminated.
-// For LLVM-originating strings, see parser.js:parseLLVMString function
-function intArrayFromString(stringy, dontAddNull, length /* optional */) {
-  var ret = [];
-  var t;
-  var i = 0;
-  if (length === undefined) {
-    length = stringy.length;
-  }
-  while (i < length) {
-    var chr = stringy.charCodeAt(i);
-    if (chr > 0xFF) {
-        assert(false, 'Character code ' + chr + ' (' + stringy[i] + ')  at offset ' + i + ' not in 0x00-0xFF.');
-      chr &= 0xFF;
-    }
-    ret.push(chr);
-    i = i + 1;
-  }
-  if (!dontAddNull) {
-    ret.push(0);
-  }
-  return ret;
-}
-Module['intArrayFromString'] = intArrayFromString;
+            this.buckets_buf[bnumber] = new QuicBucket;
 
-function intArrayToString(array) {
-  var ret = [];
-  for (var i = 0; i < array.length; i++) {
-    var chr = array[i];
-    if (chr > 0xFF) {
-        assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ')  at offset ' + i + ' not in 0x00-0xFF.');
-      chr &= 0xFF;
-    }
-    ret.push(String.fromCharCode(chr));
-  }
-  return ret.join('');
-}
-Module['intArrayToString'] = intArrayToString;
+            var i;
+            for (i = bstart; i <= bend; i++) {
+                this.buckets_ptrs[i] = this.buckets_buf[bnumber];
+            }
 
-// Write a Javascript array to somewhere in the heap
-function writeStringToMemory(string, buffer, dontAddNull) {
-  var i = 0;
-  while (i < string.length) {
-    var chr = string.charCodeAt(i);
-    if (chr > 0xFF) {
-        assert(false, 'Character code ' + chr + ' (' + string[i] + ')  at offset ' + i + ' not in 0x00-0xFF.');
-      chr &= 0xFF;
+            bnumber++;
+        } while (bend < model.levels - 1);
+        return true;
     }
-    HEAP8[(buffer+i)]=chr
-    i = i + 1;
-  }
-  if (!dontAddNull) {
-    HEAP8[(buffer+i)]=0
-  }
-}
-Module['writeStringToMemory'] = writeStringToMemory;
-
-function writeArrayToMemory(array, buffer) {
-  for (var i = 0; i < array.length; i++) {
-    HEAP8[(buffer+i)]=array[i];
-  }
-}
-Module['writeArrayToMemory'] = writeArrayToMemory;
-
-var STRING_TABLE = [];
-
-function unSign(value, bits, ignore, sig) {
-  if (value >= 0) {
-    return value;
-  }
-  return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
-                    : Math.pow(2, bits)         + value;
-  // TODO: clean up previous line
-}
-function reSign(value, bits, ignore, sig) {
-  if (value <= 0) {
-    return value;
-  }
-  var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
-                        : Math.pow(2, bits-1);
-  if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
-                                                       // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
-                                                       // TODO: In i64 mode 1, resign the two parts separately and safely
-    value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
-  }
-  return value;
-}
-
-// A counter of dependencies for calling run(). If we need to
-// do asynchronous work before running, increment this and
-// decrement it. Incrementing must happen in Module.preRun
-// or PRE_RUN_ADDITIONS (used by emcc to add file preloading).
-var runDependencies = 0;
-function addRunDependency() {
-  runDependencies++;
-  if (Module['monitorRunDependencies']) {
-    Module['monitorRunDependencies'](runDependencies);
-  }
-}
-function removeRunDependency() {
-  runDependencies--;
-  if (Module['monitorRunDependencies']) {
-    Module['monitorRunDependencies'](runDependencies);
-  }
-  if (runDependencies == 0) run();
-}
-
-// === Body ===
-
-
-
-
-function _init_decode_io($encoder) {
-  ;
-  var __label__;
-
-  var $1;
-  $1=$encoder;
-  var $2=$1;
-  var $3=(($2+40)|0);
-  var $4=HEAP32[(($3)>>2)];
-  var $5=(($4+4)|0);
-  HEAP32[(($3)>>2)]=$5;
-  var $6=HEAP32[(($4)>>2)];
-  var $7=$1;
-  var $8=(($7+32)|0);
-  HEAP32[(($8)>>2)]=$6;
-  var $9=$1;
-  var $10=(($9+36)|0);
-  HEAP32[(($10)>>2)]=$6;
-  var $11=$1;
-  var $12=(($11+28)|0);
-  HEAP32[(($12)>>2)]=0;
-  ;
-  return;
-}
-
-
-function _spice_log($log_domain, $log_level, $strloc, $function, $format) {
-  var __stackBase__  = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-
-  var $1;
-  var $2;
-  var $3;
-  var $4;
-  var $5;
-  var $ap=__stackBase__;
-  $1=$log_domain;
-  $2=$log_level;
-  $3=$strloc;
-  $4=$function;
-  $5=$format;
-  var $6=HEAP32[((_stderr)>>2)];
-  var $7=$1;
-  var $8=$3;
-  var $9=$4;
-  var $10=_fprintf($6, ((STRING_TABLE.__str31)|0), (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$7,HEAP32[((tempInt+4)>>2)]=$8,HEAP32[((tempInt+8)>>2)]=$9,tempInt));
-  var $11=$ap;
-  HEAP32[(($11)>>2)]=arguments[_spice_log.length];
-  var $12=HEAP32[((_stderr)>>2)];
-  var $13=$5;
-  var $14=HEAP32[(($ap)>>2)];
-  var $15=_vfprintf($12, $13, $14);
-  var $16=$ap;
-  ;
-  STACKTOP = __stackBase__;
-  return;
-}
-
-
-function _quic_image_params($encoder, $type, $channels, $bpc) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $_g_boolean_var_;
-      $1=$encoder;
-      $2=$type;
-      $3=$channels;
-      $4=$bpc;
-      __label__ = 2; break;
-    case 2: 
-      var $6=$3;
-      var $7=(($6)|0)!=0;
-      if ($7) { __label__ = 3; break; } else { __label__ = 5; break; }
-    case 3: 
-      var $9=$4;
-      var $10=(($9)|0)!=0;
-      if ($10) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      $_g_boolean_var_=1;
-      __label__ = 6; break;
-    case 5: 
-      $_g_boolean_var_=0;
-      __label__ = 6; break;
-    case 6: 
-      var $14=$_g_boolean_var_;
-      var $15=(($14)==(1));
-      var $16=(($15)|0)!=0;
-      if ($16) { __label__ = 7; break; } else { __label__ = 8; break; }
-    case 7: 
-      __label__ = 11; break;
-    case 8: 
-      __label__ = 9; break;
-    case 9: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str120)|0), ((STRING_TABLE.___FUNCTION___quic_image_params)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str121)|0),tempInt));
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      var $23=$2;
-      if ((($23)|0) == 1) {
-        __label__ = 13; break;
-      }
-      else if ((($23)|0) == 2) {
-        __label__ = 14; break;
-      }
-      else if ((($23)|0) == 3) {
-        __label__ = 15; break;
-      }
-      else if ((($23)|0) == 4) {
-        __label__ = 16; break;
-      }
-      else if ((($23)|0) == 5) {
-        __label__ = 17; break;
-      }
-      else if ((($23)|0) == 0) {
-        __label__ = 18; break;
-      }
-      else {
-      __label__ = 19; break;
-      }
-      
-    case 13: 
-      var $25=$3;
-      HEAP32[(($25)>>2)]=1;
-      var $26=$4;
-      HEAP32[(($26)>>2)]=8;
-      __label__ = 20; break;
-    case 14: 
-      var $28=$3;
-      HEAP32[(($28)>>2)]=3;
-      var $29=$4;
-      HEAP32[(($29)>>2)]=5;
-      __label__ = 20; break;
-    case 15: 
-      var $31=$3;
-      HEAP32[(($31)>>2)]=3;
-      var $32=$4;
-      HEAP32[(($32)>>2)]=8;
-      __label__ = 20; break;
-    case 16: 
-      var $34=$3;
-      HEAP32[(($34)>>2)]=3;
-      var $35=$4;
-      HEAP32[(($35)>>2)]=8;
-      __label__ = 20; break;
-    case 17: 
-      var $37=$3;
-      HEAP32[(($37)>>2)]=4;
-      var $38=$4;
-      HEAP32[(($38)>>2)]=8;
-      __label__ = 20; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      var $41=$3;
-      HEAP32[(($41)>>2)]=0;
-      var $42=$4;
-      HEAP32[(($42)>>2)]=0;
-      var $43=$1;
-      var $44=(($43)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=(($45)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=$1;
-      var $49=(($48)|0);
-      var $50=HEAP32[(($49)>>2)];
-      FUNCTION_TABLE[$47]($50, ((STRING_TABLE.__str15)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      __label__ = 20; break;
-    case 20: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_image_params["X"]=1;
-
-function _encoder_reste($encoder, $io_ptr, $io_ptr_end) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      $1=$encoder;
-      $2=$io_ptr;
-      $3=$io_ptr_end;
-      __label__ = 2; break;
-    case 2: 
-      var $5=$2;
-      var $6=$5;
-      var $7=(($6)>>>0)%4;
-      var $8=$3;
-      var $9=$8;
-      var $10=(($9)>>>0)%4;
-      var $11=(($7)|0)==(($10)|0);
-      if ($11) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $15=$_g_boolean_var_;
-      var $16=(($15)==(1));
-      var $17=(($16)|0)!=0;
-      if ($17) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str116)|0), ((STRING_TABLE.___FUNCTION___encoder_reste)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str117)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      var $25=$2;
-      var $26=$3;
-      var $27=(($25)>>>0) <= (($26)>>>0);
-      if ($27) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      $_g_boolean_var_1=1;
-      __label__ = 15; break;
-    case 14: 
-      $_g_boolean_var_1=0;
-      __label__ = 15; break;
-    case 15: 
-      var $31=$_g_boolean_var_1;
-      var $32=(($31)==(1));
-      var $33=(($32)|0)!=0;
-      if ($33) { __label__ = 16; break; } else { __label__ = 17; break; }
-    case 16: 
-      __label__ = 20; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str118)|0), ((STRING_TABLE.___FUNCTION___encoder_reste)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str119)|0),tempInt));
-      __label__ = 19; break;
-    case 19: 
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      var $40=$1;
-      var $41=(($40+360)|0);
-      var $42=(($41+4)|0);
-      HEAP32[(($42)>>2)]=0;
-      var $43=_stabrand();
-      var $44=$1;
-      var $45=(($44+360)|0);
-      var $46=(($45+8)|0);
-      HEAP32[(($46)>>2)]=$43;
-      var $47=$1;
-      var $48=(($47+360)|0);
-      var $49=(($48+16)|0);
-      HEAP32[(($49)>>2)]=0;
-      var $50=HEAP32[((_wminext)>>2)];
-      var $51=$1;
-      var $52=(($51+360)|0);
-      var $53=(($52+20)|0);
-      HEAP32[(($53)>>2)]=$50;
-      var $54=$1;
-      var $55=(($54+360)|0);
-      _set_wm_trigger($55);
-      var $56=$1;
-      var $57=(($56+360)|0);
-      _encoder_init_rle($57);
-      var $58=$3;
-      var $59=$2;
-      var $60=$58;
-      var $61=$59;
-      var $62=(($60-$61)|0);
-      var $63=(((($62)|0)/4)&-1);
-      var $64=$1;
-      var $65=(($64+48)|0);
-      HEAP32[(($65)>>2)]=$63;
-      var $66=$2;
-      var $67=$1;
-      var $68=(($67+40)|0);
-      HEAP32[(($68)>>2)]=$66;
-      var $69=$3;
-      var $70=$1;
-      var $71=(($70+44)|0);
-      HEAP32[(($71)>>2)]=$69;
-      var $72=$1;
-      var $73=(($72+52)|0);
-      HEAP32[(($73)>>2)]=0;
-      ;
-      return 1;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_encoder_reste["X"]=1;
-
-function _encoder_reste_channels($encoder, $channels, $width, $bpc) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $i;
-      var $bucket;
-      var $end_bucket;
-      $2=$encoder;
-      $3=$channels;
-      $4=$width;
-      $5=$bpc;
-      var $6=$3;
-      var $7=$2;
-      var $8=(($7+16)|0);
-      HEAP32[(($8)>>2)]=$6;
-      $i=0;
-      __label__ = 2; break;
-    case 2: 
-      var $10=$i;
-      var $11=$3;
-      var $12=(($10)|0) < (($11)|0);
-      if ($12) { __label__ = 3; break; } else { __label__ = 25; break; }
-    case 3: 
-      var $14=$i;
-      var $15=$2;
-      var $16=(($15+56)|0);
-      var $17=(($16+$14*76)|0);
-      var $18=(($17+4)|0);
-      var $19=HEAP32[(($18)>>2)];
-      var $20=$4;
-      var $21=(($19)|0) < (($20)|0);
-      if ($21) { __label__ = 4; break; } else { __label__ = 9; break; }
-    case 4: 
-      var $23=$i;
-      var $24=$2;
-      var $25=(($24+56)|0);
-      var $26=(($25+$23*76)|0);
-      var $27=(($26+4)|0);
-      HEAP32[(($27)>>2)]=0;
-      var $28=$i;
-      var $29=$2;
-      var $30=(($29+56)|0);
-      var $31=(($30+$28*76)|0);
-      var $32=(($31+8)|0);
-      var $33=HEAP32[(($32)>>2)];
-      var $34=(($33)|0)!=0;
-      if ($34) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      var $36=$2;
-      var $37=(($36)|0);
-      var $38=HEAP32[(($37)>>2)];
-      var $39=(($38+16)|0);
-      var $40=HEAP32[(($39)>>2)];
-      var $41=$2;
-      var $42=(($41)|0);
-      var $43=HEAP32[(($42)>>2)];
-      var $44=$i;
-      var $45=$2;
-      var $46=(($45+56)|0);
-      var $47=(($46+$44*76)|0);
-      var $48=(($47+8)|0);
-      var $49=HEAP32[(($48)>>2)];
-      var $50=(($49-1)|0);
-      FUNCTION_TABLE[$40]($43, $50);
-      __label__ = 6; break;
-    case 6: 
-      var $52=$2;
-      var $53=(($52)|0);
-      var $54=HEAP32[(($53)>>2)];
-      var $55=(($54+12)|0);
-      var $56=HEAP32[(($55)>>2)];
-      var $57=$2;
-      var $58=(($57)|0);
-      var $59=HEAP32[(($58)>>2)];
-      var $60=$4;
-      var $61=(($60+1)|0);
-      var $62=FUNCTION_TABLE[$56]($59, $61);
-      var $63=$i;
-      var $64=$2;
-      var $65=(($64+56)|0);
-      var $66=(($65+$63*76)|0);
-      var $67=(($66+8)|0);
-      HEAP32[(($67)>>2)]=$62;
-      var $68=(($62)|0)!=0;
-      if ($68) { __label__ = 8; break; } else { __label__ = 7; break; }
-    case 7: 
-      $1=0;
-      __label__ = 26; break;
-    case 8: 
-      var $71=$i;
-      var $72=$2;
-      var $73=(($72+56)|0);
-      var $74=(($73+$71*76)|0);
-      var $75=(($74+8)|0);
-      var $76=HEAP32[(($75)>>2)];
-      var $77=(($76+1)|0);
-      HEAP32[(($75)>>2)]=$77;
-      var $78=$4;
-      var $79=$i;
-      var $80=$2;
-      var $81=(($80+56)|0);
-      var $82=(($81+$79*76)|0);
-      var $83=(($82+4)|0);
-      HEAP32[(($83)>>2)]=$78;
-      __label__ = 9; break;
-    case 9: 
-      var $85=$5;
-      var $86=(($85)|0)==8;
-      if ($86) { __label__ = 10; break; } else { __label__ = 15; break; }
-    case 10: 
-      var $88=$i;
-      var $89=$2;
-      var $90=(($89+56)|0);
-      var $91=(($90+$88*76)|0);
-      var $92=(($91+16)|0);
-      var $93=(($92+8)|0);
-      var $94=HEAP32[(($93)>>2)];
-      var $95=$94;
-      var $96=$2;
-      var $97=(($96+20)|0);
-      var $98=HEAP32[(($97)>>2)];
-      var $99=((($98<<2))|0);
-      var $100=((($99<<3))|0);
-      _memset($95, 0, $100, 1);
-      var $101=$i;
-      var $102=$2;
-      var $103=(($102+56)|0);
-      var $104=(($103+$101*76)|0);
-      var $105=(($104+16)|0);
-      var $106=(($105+4)|0);
-      var $107=HEAP32[(($106)>>2)];
-      $bucket=$107;
-      var $108=$bucket;
-      var $109=$2;
-      var $110=(($109+20)|0);
-      var $111=HEAP32[(($110)>>2)];
-      var $112=(($108+($111<<3))|0);
-      $end_bucket=$112;
-      __label__ = 11; break;
-    case 11: 
-      var $114=$bucket;
-      var $115=$end_bucket;
-      var $116=(($114)>>>0) < (($115)>>>0);
-      if ($116) { __label__ = 12; break; } else { __label__ = 14; break; }
-    case 12: 
-      var $118=$bucket;
-      var $119=(($118+4)|0);
-      HEAP32[(($119)>>2)]=7;
-      __label__ = 13; break;
-    case 13: 
-      var $121=$bucket;
-      var $122=(($121+8)|0);
-      $bucket=$122;
-      __label__ = 11; break;
-    case 14: 
-      var $124=$i;
-      var $125=$2;
-      var $126=(($125+56)|0);
-      var $127=(($126+$124*76)|0);
-      var $128=(($127+16)|0);
-      var $129=(($128)|0);
-      var $130=HEAP32[(($129)>>2)];
-      var $131=$i;
-      var $132=$2;
-      var $133=(($132+56)|0);
-      var $134=(($133+$131*76)|0);
-      var $135=(($134+12)|0);
-      HEAP32[(($135)>>2)]=$130;
-      __label__ = 23; break;
-    case 15: 
-      var $137=$5;
-      var $138=(($137)|0)==5;
-      if ($138) { __label__ = 16; break; } else { __label__ = 21; break; }
-    case 16: 
-      var $140=$i;
-      var $141=$2;
-      var $142=(($141+56)|0);
-      var $143=(($142+$140*76)|0);
-      var $144=(($143+28)|0);
-      var $145=(($144+8)|0);
-      var $146=HEAP32[(($145)>>2)];
-      var $147=$146;
-      var $148=$2;
-      var $149=(($148+24)|0);
-      var $150=HEAP32[(($149)>>2)];
-      var $151=((($150<<2))|0);
-      var $152=((($151<<3))|0);
-      _memset($147, 0, $152, 1);
-      var $153=$i;
-      var $154=$2;
-      var $155=(($154+56)|0);
-      var $156=(($155+$153*76)|0);
-      var $157=(($156+28)|0);
-      var $158=(($157+4)|0);
-      var $159=HEAP32[(($158)>>2)];
-      $bucket=$159;
-      var $160=$bucket;
-      var $161=$2;
-      var $162=(($161+24)|0);
-      var $163=HEAP32[(($162)>>2)];
-      var $164=(($160+($163<<3))|0);
-      $end_bucket=$164;
-      __label__ = 17; break;
-    case 17: 
-      var $166=$bucket;
-      var $167=$end_bucket;
-      var $168=(($166)>>>0) < (($167)>>>0);
-      if ($168) { __label__ = 18; break; } else { __label__ = 20; break; }
-    case 18: 
-      var $170=$bucket;
-      var $171=(($170+4)|0);
-      HEAP32[(($171)>>2)]=4;
-      __label__ = 19; break;
-    case 19: 
-      var $173=$bucket;
-      var $174=(($173+8)|0);
-      $bucket=$174;
-      __label__ = 17; break;
-    case 20: 
-      var $176=$i;
-      var $177=$2;
-      var $178=(($177+56)|0);
-      var $179=(($178+$176*76)|0);
-      var $180=(($179+28)|0);
-      var $181=(($180)|0);
-      var $182=HEAP32[(($181)>>2)];
-      var $183=$i;
-      var $184=$2;
-      var $185=(($184+56)|0);
-      var $186=(($185+$183*76)|0);
-      var $187=(($186+12)|0);
-      HEAP32[(($187)>>2)]=$182;
-      __label__ = 22; break;
-    case 21: 
-      var $189=$2;
-      var $190=(($189)|0);
-      var $191=HEAP32[(($190)>>2)];
-      var $192=(($191+4)|0);
-      var $193=HEAP32[(($192)>>2)];
-      var $194=$2;
-      var $195=(($194)|0);
-      var $196=HEAP32[(($195)>>2)];
-      var $197=$5;
-      FUNCTION_TABLE[$193]($196, ((STRING_TABLE.__str115)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.___FUNCTION___encoder_reste_channels)|0),HEAP32[((tempInt+4)>>2)]=$197,tempInt));
-      $1=0;
-      __label__ = 26; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $200=$i;
-      var $201=$2;
-      var $202=(($201+56)|0);
-      var $203=(($202+$200*76)|0);
-      var $204=(($203+40)|0);
-      var $205=(($204+4)|0);
-      HEAP32[(($205)>>2)]=0;
-      var $206=_stabrand();
-      var $207=$i;
-      var $208=$2;
-      var $209=(($208+56)|0);
-      var $210=(($209+$207*76)|0);
-      var $211=(($210+40)|0);
-      var $212=(($211+8)|0);
-      HEAP32[(($212)>>2)]=$206;
-      var $213=$i;
-      var $214=$2;
-      var $215=(($214+56)|0);
-      var $216=(($215+$213*76)|0);
-      var $217=(($216+40)|0);
-      var $218=(($217+16)|0);
-      HEAP32[(($218)>>2)]=0;
-      var $219=HEAP32[((_wminext)>>2)];
-      var $220=$i;
-      var $221=$2;
-      var $222=(($221+56)|0);
-      var $223=(($222+$220*76)|0);
-      var $224=(($223+40)|0);
-      var $225=(($224+20)|0);
-      HEAP32[(($225)>>2)]=$219;
-      var $226=$i;
-      var $227=$2;
-      var $228=(($227+56)|0);
-      var $229=(($228+$226*76)|0);
-      var $230=(($229+40)|0);
-      _set_wm_trigger($230);
-      var $231=$i;
-      var $232=$2;
-      var $233=(($232+56)|0);
-      var $234=(($233+$231*76)|0);
-      var $235=(($234+40)|0);
-      _encoder_init_rle($235);
-      __label__ = 24; break;
-    case 24: 
-      var $237=$i;
-      var $238=(($237+1)|0);
-      $i=$238;
-      __label__ = 2; break;
-    case 25: 
-      $1=1;
-      __label__ = 26; break;
-    case 26: 
-      var $241=$1;
-      ;
-      return $241;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_encoder_reste_channels["X"]=1;
-
-function _quic_decode_begin($quic, $io_ptr, $num_io_words, $out_type, $out_width, $out_height) {
-  var __stackBase__  = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $encoder;
-      var $io_ptr_end;
-      var $type;
-      var $width;
-      var $height;
-      var $magic;
-      var $version;
-      var $channels=__stackBase__;
-      var $bpc=__stackBase__+4;
-      $2=$quic;
-      $3=$io_ptr;
-      $4=$num_io_words;
-      $5=$out_type;
-      $6=$out_width;
-      $7=$out_height;
-      var $8=$2;
-      var $9=$8;
-      $encoder=$9;
-      var $10=$3;
-      var $11=$4;
-      var $12=(($10+($11<<2))|0);
-      $io_ptr_end=$12;
-      var $13=$encoder;
-      var $14=$3;
-      var $15=$io_ptr_end;
-      var $16=_encoder_reste($13, $14, $15);
-      var $17=(($16)|0)!=0;
-      if ($17) { __label__ = 3; break; } else { __label__ = 2; break; }
-    case 2: 
-      $1=-1;
-      __label__ = 10; break;
-    case 3: 
-      var $20=$encoder;
-      _init_decode_io($20);
-      var $21=$encoder;
-      var $22=(($21+32)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $magic=$23;
-      var $24=$encoder;
-      _decode_eat32bits($24);
-      var $25=$magic;
-      var $26=HEAP32[(((STRING_TABLE.__str3))>>2)];
-      var $27=(($25)|0)!=(($26)|0);
-      if ($27) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $29=$encoder;
-      var $30=(($29)|0);
-      var $31=HEAP32[(($30)>>2)];
-      var $32=(($31+4)|0);
-      var $33=HEAP32[(($32)>>2)];
-      var $34=$encoder;
-      var $35=(($34)|0);
-      var $36=HEAP32[(($35)>>2)];
-      FUNCTION_TABLE[$33]($36, ((STRING_TABLE.__str16)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      $1=-1;
-      __label__ = 10; break;
-    case 5: 
-      var $38=$encoder;
-      var $39=(($38+32)|0);
-      var $40=HEAP32[(($39)>>2)];
-      $version=$40;
-      var $41=$encoder;
-      _decode_eat32bits($41);
-      var $42=$version;
-      var $43=(($42)|0)!=0;
-      if ($43) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $45=$encoder;
-      var $46=(($45)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=(($47+4)|0);
-      var $49=HEAP32[(($48)>>2)];
-      var $50=$encoder;
-      var $51=(($50)|0);
-      var $52=HEAP32[(($51)>>2)];
-      FUNCTION_TABLE[$49]($52, ((STRING_TABLE.__str17)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      $1=-1;
-      __label__ = 10; break;
-    case 7: 
-      var $54=$encoder;
-      var $55=(($54+32)|0);
-      var $56=HEAP32[(($55)>>2)];
-      $type=$56;
-      var $57=$encoder;
-      _decode_eat32bits($57);
-      var $58=$encoder;
-      var $59=(($58+32)|0);
-      var $60=HEAP32[(($59)>>2)];
-      $width=$60;
-      var $61=$encoder;
-      _decode_eat32bits($61);
-      var $62=$encoder;
-      var $63=(($62+32)|0);
-      var $64=HEAP32[(($63)>>2)];
-      $height=$64;
-      var $65=$encoder;
-      _decode_eat32bits($65);
-      var $66=$encoder;
-      var $67=$type;
-      _quic_image_params($66, $67, $channels, $bpc);
-      var $68=$encoder;
-      var $69=HEAP32[(($channels)>>2)];
-      var $70=$width;
-      var $71=HEAP32[(($bpc)>>2)];
-      var $72=_encoder_reste_channels($68, $69, $70, $71);
-      var $73=(($72)|0)!=0;
-      if ($73) { __label__ = 9; break; } else { __label__ = 8; break; }
-    case 8: 
-      $1=-1;
-      __label__ = 10; break;
-    case 9: 
-      var $76=$width;
-      var $77=$encoder;
-      var $78=(($77+8)|0);
-      HEAP32[(($78)>>2)]=$76;
-      var $79=$6;
-      HEAP32[(($79)>>2)]=$76;
-      var $80=$height;
-      var $81=$encoder;
-      var $82=(($81+12)|0);
-      HEAP32[(($82)>>2)]=$80;
-      var $83=$7;
-      HEAP32[(($83)>>2)]=$80;
-      var $84=$type;
-      var $85=$encoder;
-      var $86=(($85+4)|0);
-      HEAP32[(($86)>>2)]=$84;
-      var $87=$5;
-      HEAP32[(($87)>>2)]=$84;
-      $1=0;
-      __label__ = 10; break;
-    case 10: 
-      var $89=$1;
-      STACKTOP = __stackBase__;
-      return $89;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_decode_begin["X"]=1;
-
-function _decode_eat32bits($encoder) {
-  ;
-  var __label__;
-
-  var $1;
-  $1=$encoder;
-  var $2=$1;
-  _decode_eatbits($2, 16);
-  var $3=$1;
-  _decode_eatbits($3, 16);
-  ;
-  return;
-}
-
-
-function _quic_decode($quic, $type, $buf, $stride) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $encoder;
-      var $row;
-      var $prev;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      var $_g_boolean_var_3;
-      var $_g_boolean_var_4;
-      var $_g_boolean_var_5;
-      var $_g_boolean_var_6;
-      $2=$quic;
-      $3=$type;
-      $4=$buf;
-      $5=$stride;
-      var $6=$2;
-      var $7=$6;
-      $encoder=$7;
-      __label__ = 2; break;
-    case 2: 
-      var $9=$4;
-      var $10=(($9)|0)!=0;
-      if ($10) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $14=$_g_boolean_var_;
-      var $15=(($14)==(1));
-      var $16=(($15)|0)!=0;
-      if ($16) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str18)|0), ((STRING_TABLE.___FUNCTION___quic_decode)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str19)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $23=$encoder;
-      var $24=(($23+4)|0);
-      var $25=HEAP32[(($24)>>2)];
-      if ((($25)|0) == 4 || (($25)|0) == 3) {
-        __label__ = 12; break;
-      }
-      else if ((($25)|0) == 2) {
-        __label__ = 52; break;
-      }
-      else if ((($25)|0) == 5) {
-        __label__ = 93; break;
-      }
-      else if ((($25)|0) == 1) {
-        __label__ = 109; break;
-      }
-      else if ((($25)|0) == 0) {
-        __label__ = 125; break;
-      }
-      else {
-      __label__ = 126; break;
-      }
-      
-    case 12: 
-      var $27=$3;
-      var $28=(($27)|0)==4;
-      if ($28) { __label__ = 13; break; } else { __label__ = 31; break; }
-    case 13: 
-      __label__ = 14; break;
-    case 14: 
-      var $31=$5;
-      var $32=(($31)|0) < 0;
-      if ($32) { __label__ = 15; break; } else { __label__ = 16; break; }
-    case 15: 
-      var $34=$5;
-      var $35=(((-$34))|0);
-      var $39 = $35;__label__ = 17; break;
-    case 16: 
-      var $37=$5;
-      var $39 = $37;__label__ = 17; break;
-    case 17: 
-      var $39;
-      var $40=$encoder;
-      var $41=(($40+8)|0);
-      var $42=HEAP32[(($41)>>2)];
-      var $43=((($42<<2))|0);
-      var $44=(($39)|0) >= (($43)|0);
-      if ($44) { __label__ = 18; break; } else { __label__ = 19; break; }
-    case 18: 
-      $_g_boolean_var_1=1;
-      __label__ = 20; break;
-    case 19: 
-      $_g_boolean_var_1=0;
-      __label__ = 20; break;
-    case 20: 
-      var $48=$_g_boolean_var_1;
-      var $49=(($48)==(1));
-      var $50=(($49)|0)!=0;
-      if ($50) { __label__ = 21; break; } else { __label__ = 22; break; }
-    case 21: 
-      __label__ = 25; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str20)|0), ((STRING_TABLE.___FUNCTION___quic_decode)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str21)|0),tempInt));
-      __label__ = 24; break;
-    case 24: 
-      __label__ = 25; break;
-    case 25: 
-      __label__ = 26; break;
-    case 26: 
-      var $57=$encoder;
-      var $58=(($57+56)|0);
-      var $59=(($58)|0);
-      var $60=(($59+8)|0);
-      var $61=HEAP32[(($60)>>2)];
-      var $62=(($61-1)|0);
-      HEAP8[($62)]=0;
-      var $63=$encoder;
-      var $64=(($63+56)|0);
-      var $65=(($64+76)|0);
-      var $66=(($65+8)|0);
-      var $67=HEAP32[(($66)>>2)];
-      var $68=(($67-1)|0);
-      HEAP8[($68)]=0;
-      var $69=$encoder;
-      var $70=(($69+56)|0);
-      var $71=(($70+152)|0);
-      var $72=(($71+8)|0);
-      var $73=HEAP32[(($72)>>2)];
-      var $74=(($73-1)|0);
-      HEAP8[($74)]=0;
-      var $75=$encoder;
-      var $76=$4;
-      var $77=$76;
-      var $78=$encoder;
-      var $79=(($78+8)|0);
-      var $80=HEAP32[(($79)>>2)];
-      _quic_rgb32_uncompress_row0($75, $77, $80);
-      var $81=$encoder;
-      var $82=(($81+52)|0);
-      var $83=HEAP32[(($82)>>2)];
-      var $84=(($83+1)|0);
-      HEAP32[(($82)>>2)]=$84;
-      $row=1;
-      __label__ = 27; break;
-    case 27: 
-      var $86=$row;
-      var $87=$encoder;
-      var $88=(($87+12)|0);
-      var $89=HEAPU32[(($88)>>2)];
-      var $90=(($86)>>>0) < (($89)>>>0);
-      if ($90) { __label__ = 28; break; } else { __label__ = 30; break; }
-    case 28: 
-      var $92=$4;
-      $prev=$92;
-      var $93=$5;
-      var $94=$4;
-      var $95=(($94+$93)|0);
-      $4=$95;
-      var $96=$encoder;
-      var $97=(($96+56)|0);
-      var $98=(($97)|0);
-      var $99=(($98+8)|0);
-      var $100=HEAP32[(($99)>>2)];
-      var $101=(($100)|0);
-      var $102=HEAP8[($101)];
-      var $103=$encoder;
-      var $104=(($103+56)|0);
-      var $105=(($104)|0);
-      var $106=(($105+8)|0);
-      var $107=HEAP32[(($106)>>2)];
-      var $108=(($107-1)|0);
-      HEAP8[($108)]=$102;
-      var $109=$encoder;
-      var $110=(($109+56)|0);
-      var $111=(($110+76)|0);
-      var $112=(($111+8)|0);
-      var $113=HEAP32[(($112)>>2)];
-      var $114=(($113)|0);
-      var $115=HEAP8[($114)];
-      var $116=$encoder;
-      var $117=(($116+56)|0);
-      var $118=(($117+76)|0);
-      var $119=(($118+8)|0);
-      var $120=HEAP32[(($119)>>2)];
-      var $121=(($120-1)|0);
-      HEAP8[($121)]=$115;
-      var $122=$encoder;
-      var $123=(($122+56)|0);
-      var $124=(($123+152)|0);
-      var $125=(($124+8)|0);
-      var $126=HEAP32[(($125)>>2)];
-      var $127=(($126)|0);
-      var $128=HEAP8[($127)];
-      var $129=$encoder;
-      var $130=(($129+56)|0);
-      var $131=(($130+152)|0);
-      var $132=(($131+8)|0);
-      var $133=HEAP32[(($132)>>2)];
-      var $134=(($133-1)|0);
-      HEAP8[($134)]=$128;
-      var $135=$encoder;
-      var $136=$prev;
-      var $137=$136;
-      var $138=$4;
-      var $139=$138;
-      var $140=$encoder;
-      var $141=(($140+8)|0);
-      var $142=HEAP32[(($141)>>2)];
-      _quic_rgb32_uncompress_row($135, $137, $139, $142);
-      var $143=$encoder;
-      var $144=(($143+52)|0);
-      var $145=HEAP32[(($144)>>2)];
-      var $146=(($145+1)|0);
-      HEAP32[(($144)>>2)]=$146;
-      __label__ = 29; break;
-    case 29: 
-      var $148=$row;
-      var $149=(($148+1)|0);
-      $row=$149;
-      __label__ = 27; break;
-    case 30: 
-      __label__ = 127; break;
-    case 31: 
-      var $152=$3;
-      var $153=(($152)|0)==3;
-      if ($153) { __label__ = 32; break; } else { __label__ = 50; break; }
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $156=$5;
-      var $157=(($156)|0) < 0;
-      if ($157) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      var $159=$5;
-      var $160=(((-$159))|0);
-      var $164 = $160;__label__ = 36; break;
-    case 35: 
-      var $162=$5;
-      var $164 = $162;__label__ = 36; break;
-    case 36: 
-      var $164;
-      var $165=$encoder;
-      var $166=(($165+8)|0);
-      var $167=HEAP32[(($166)>>2)];
-      var $168=(($167*3)|0);
-      var $169=(($164)|0) >= (($168)|0);
-      if ($169) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      $_g_boolean_var_2=1;
-      __label__ = 39; break;
-    case 38: 
-      $_g_boolean_var_2=0;
-      __label__ = 39; break;
-    case 39: 
-      var $173=$_g_boolean_var_2;
-      var $174=(($173)==(1));
-      var $175=(($174)|0)!=0;
-      if ($175) { __label__ = 40; break; } else { __label__ = 41; break; }
-    case 40: 
-      __label__ = 44; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str22)|0), ((STRING_TABLE.___FUNCTION___quic_decode)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str23)|0),tempInt));
-      __label__ = 43; break;
-    case 43: 
-      __label__ = 44; break;
-    case 44: 
-      __label__ = 45; break;
-    case 45: 
-      var $182=$encoder;
-      var $183=(($182+56)|0);
-      var $184=(($183)|0);
-      var $185=(($184+8)|0);
-      var $186=HEAP32[(($185)>>2)];
-      var $187=(($186-1)|0);
-      HEAP8[($187)]=0;
-      var $188=$encoder;
-      var $189=(($188+56)|0);
-      var $190=(($189+76)|0);
-      var $191=(($190+8)|0);
-      var $192=HEAP32[(($191)>>2)];
-      var $193=(($192-1)|0);
-      HEAP8[($193)]=0;
-      var $194=$encoder;
-      var $195=(($194+56)|0);
-      var $196=(($195+152)|0);
-      var $197=(($196+8)|0);
-      var $198=HEAP32[(($197)>>2)];
-      var $199=(($198-1)|0);
-      HEAP8[($199)]=0;
-      var $200=$encoder;
-      var $201=$4;
-      var $202=$201;
-      var $203=$encoder;
-      var $204=(($203+8)|0);
-      var $205=HEAP32[(($204)>>2)];
-      _quic_rgb24_uncompress_row0($200, $202, $205);
-      var $206=$encoder;
-      var $207=(($206+52)|0);
-      var $208=HEAP32[(($207)>>2)];
-      var $209=(($208+1)|0);
-      HEAP32[(($207)>>2)]=$209;
-      $row=1;
-      __label__ = 46; break;
-    case 46: 
-      var $211=$row;
-      var $212=$encoder;
-      var $213=(($212+12)|0);
-      var $214=HEAPU32[(($213)>>2)];
-      var $215=(($211)>>>0) < (($214)>>>0);
-      if ($215) { __label__ = 47; break; } else { __label__ = 49; break; }
-    case 47: 
-      var $217=$4;
-      $prev=$217;
-      var $218=$5;
-      var $219=$4;
-      var $220=(($219+$218)|0);
-      $4=$220;
-      var $221=$encoder;
-      var $222=(($221+56)|0);
-      var $223=(($222)|0);
-      var $224=(($223+8)|0);
-      var $225=HEAP32[(($224)>>2)];
-      var $226=(($225)|0);
-      var $227=HEAP8[($226)];
-      var $228=$encoder;
-      var $229=(($228+56)|0);
-      var $230=(($229)|0);
-      var $231=(($230+8)|0);
-      var $232=HEAP32[(($231)>>2)];
-      var $233=(($232-1)|0);
-      HEAP8[($233)]=$227;
-      var $234=$encoder;
-      var $235=(($234+56)|0);
-      var $236=(($235+76)|0);
-      var $237=(($236+8)|0);
-      var $238=HEAP32[(($237)>>2)];
-      var $239=(($238)|0);
-      var $240=HEAP8[($239)];
-      var $241=$encoder;
-      var $242=(($241+56)|0);
-      var $243=(($242+76)|0);
-      var $244=(($243+8)|0);
-      var $245=HEAP32[(($244)>>2)];
-      var $246=(($245-1)|0);
-      HEAP8[($246)]=$240;
-      var $247=$encoder;
-      var $248=(($247+56)|0);
-      var $249=(($248+152)|0);
-      var $250=(($249+8)|0);
-      var $251=HEAP32[(($250)>>2)];
-      var $252=(($251)|0);
-      var $253=HEAP8[($252)];
-      var $254=$encoder;
-      var $255=(($254+56)|0);
-      var $256=(($255+152)|0);
-      var $257=(($256+8)|0);
-      var $258=HEAP32[(($257)>>2)];
-      var $259=(($258-1)|0);
-      HEAP8[($259)]=$253;
-      var $260=$encoder;
-      var $261=$prev;
-      var $262=$261;
-      var $263=$4;
-      var $264=$263;
-      var $265=$encoder;
-      var $266=(($265+8)|0);
-      var $267=HEAP32[(($266)>>2)];
-      _quic_rgb24_uncompress_row($260, $262, $264, $267);
-      var $268=$encoder;
-      var $269=(($268+52)|0);
-      var $270=HEAP32[(($269)>>2)];
-      var $271=(($270+1)|0);
-      HEAP32[(($269)>>2)]=$271;
-      __label__ = 48; break;
-    case 48: 
-      var $273=$row;
-      var $274=(($273+1)|0);
-      $row=$274;
-      __label__ = 46; break;
-    case 49: 
-      __label__ = 127; break;
-    case 50: 
-      __label__ = 51; break;
-    case 51: 
-      var $278=$encoder;
-      var $279=(($278)|0);
-      var $280=HEAP32[(($279)>>2)];
-      var $281=(($280+4)|0);
-      var $282=HEAP32[(($281)>>2)];
-      var $283=$encoder;
-      var $284=(($283)|0);
-      var $285=HEAP32[(($284)>>2)];
-      FUNCTION_TABLE[$282]($285, ((STRING_TABLE.__str24)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      $1=-1;
-      __label__ = 128; break;
-    case 52: 
-      var $287=$3;
-      var $288=(($287)|0)==2;
-      if ($288) { __label__ = 53; break; } else { __label__ = 71; break; }
-    case 53: 
-      __label__ = 54; break;
-    case 54: 
-      var $291=$5;
-      var $292=(($291)|0) < 0;
-      if ($292) { __label__ = 55; break; } else { __label__ = 56; break; }
-    case 55: 
-      var $294=$5;
-      var $295=(((-$294))|0);
-      var $299 = $295;__label__ = 57; break;
-    case 56: 
-      var $297=$5;
-      var $299 = $297;__label__ = 57; break;
-    case 57: 
-      var $299;
-      var $300=$encoder;
-      var $301=(($300+8)|0);
-      var $302=HEAP32[(($301)>>2)];
-      var $303=((($302<<1))|0);
-      var $304=(($299)|0) >= (($303)|0);
-      if ($304) { __label__ = 58; break; } else { __label__ = 59; break; }
-    case 58: 
-      $_g_boolean_var_3=1;
-      __label__ = 60; break;
-    case 59: 
-      $_g_boolean_var_3=0;
-      __label__ = 60; break;
-    case 60: 
-      var $308=$_g_boolean_var_3;
-      var $309=(($308)==(1));
-      var $310=(($309)|0)!=0;
-      if ($310) { __label__ = 61; break; } else { __label__ = 62; break; }
-    case 61: 
-      __label__ = 65; break;
-    case 62: 
-      __label__ = 63; break;
-    case 63: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str25)|0), ((STRING_TABLE.___FUNCTION___quic_decode)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str26)|0),tempInt));
-      __label__ = 64; break;
-    case 64: 
-      __label__ = 65; break;
-    case 65: 
-      __label__ = 66; break;
-    case 66: 
-      var $317=$encoder;
-      var $318=(($317+56)|0);
-      var $319=(($318)|0);
-      var $320=(($319+8)|0);
-      var $321=HEAP32[(($320)>>2)];
-      var $322=(($321-1)|0);
-      HEAP8[($322)]=0;
-      var $323=$encoder;
-      var $324=(($323+56)|0);
-      var $325=(($324+76)|0);
-      var $326=(($325+8)|0);
-      var $327=HEAP32[(($326)>>2)];
-      var $328=(($327-1)|0);
-      HEAP8[($328)]=0;
-      var $329=$encoder;
-      var $330=(($329+56)|0);
-      var $331=(($330+152)|0);
-      var $332=(($331+8)|0);
-      var $333=HEAP32[(($332)>>2)];
-      var $334=(($333-1)|0);
-      HEAP8[($334)]=0;
-      var $335=$encoder;
-      var $336=$4;
-      var $337=$336;
-      var $338=$encoder;
-      var $339=(($338+8)|0);
-      var $340=HEAP32[(($339)>>2)];
-      _quic_rgb16_uncompress_row0($335, $337, $340);
-      var $341=$encoder;
-      var $342=(($341+52)|0);
-      var $343=HEAP32[(($342)>>2)];
-      var $344=(($343+1)|0);
-      HEAP32[(($342)>>2)]=$344;
-      $row=1;
-      __label__ = 67; break;
-    case 67: 
-      var $346=$row;
-      var $347=$encoder;
-      var $348=(($347+12)|0);
-      var $349=HEAPU32[(($348)>>2)];
-      var $350=(($346)>>>0) < (($349)>>>0);
-      if ($350) { __label__ = 68; break; } else { __label__ = 70; break; }
-    case 68: 
-      var $352=$4;
-      $prev=$352;
-      var $353=$5;
-      var $354=$4;
-      var $355=(($354+$353)|0);
-      $4=$355;
-      var $356=$encoder;
-      var $357=(($356+56)|0);
-      var $358=(($357)|0);
-      var $359=(($358+8)|0);
-      var $360=HEAP32[(($359)>>2)];
-      var $361=(($360)|0);
-      var $362=HEAP8[($361)];
-      var $363=$encoder;
-      var $364=(($363+56)|0);
-      var $365=(($364)|0);
-      var $366=(($365+8)|0);
-      var $367=HEAP32[(($366)>>2)];
-      var $368=(($367-1)|0);
-      HEAP8[($368)]=$362;
-      var $369=$encoder;
-      var $370=(($369+56)|0);
-      var $371=(($370+76)|0);
-      var $372=(($371+8)|0);
-      var $373=HEAP32[(($372)>>2)];
-      var $374=(($373)|0);
-      var $375=HEAP8[($374)];
-      var $376=$encoder;
-      var $377=(($376+56)|0);
-      var $378=(($377+76)|0);
-      var $379=(($378+8)|0);
-      var $380=HEAP32[(($379)>>2)];
-      var $381=(($380-1)|0);
-      HEAP8[($381)]=$375;
-      var $382=$encoder;
-      var $383=(($382+56)|0);
-      var $384=(($383+152)|0);
-      var $385=(($384+8)|0);
-      var $386=HEAP32[(($385)>>2)];
-      var $387=(($386)|0);
-      var $388=HEAP8[($387)];
-      var $389=$encoder;
-      var $390=(($389+56)|0);
-      var $391=(($390+152)|0);
-      var $392=(($391+8)|0);
-      var $393=HEAP32[(($392)>>2)];
-      var $394=(($393-1)|0);
-      HEAP8[($394)]=$388;
-      var $395=$encoder;
-      var $396=$prev;
-      var $397=$396;
-      var $398=$4;
-      var $399=$398;
-      var $400=$encoder;
-      var $401=(($400+8)|0);
-      var $402=HEAP32[(($401)>>2)];
-      _quic_rgb16_uncompress_row($395, $397, $399, $402);
-      var $403=$encoder;
-      var $404=(($403+52)|0);
-      var $405=HEAP32[(($404)>>2)];
-      var $406=(($405+1)|0);
-      HEAP32[(($404)>>2)]=$406;
-      __label__ = 69; break;
-    case 69: 
-      var $408=$row;
-      var $409=(($408+1)|0);
-      $row=$409;
-      __label__ = 67; break;
-    case 70: 
-      __label__ = 92; break;
-    case 71: 
-      var $412=$3;
-      var $413=(($412)|0)==4;
-      if ($413) { __label__ = 72; break; } else { __label__ = 90; break; }
-    case 72: 
-      __label__ = 73; break;
-    case 73: 
-      var $416=$5;
-      var $417=(($416)|0) < 0;
-      if ($417) { __label__ = 74; break; } else { __label__ = 75; break; }
-    case 74: 
-      var $419=$5;
-      var $420=(((-$419))|0);
-      var $424 = $420;__label__ = 76; break;
-    case 75: 
-      var $422=$5;
-      var $424 = $422;__label__ = 76; break;
-    case 76: 
-      var $424;
-      var $425=$encoder;
-      var $426=(($425+8)|0);
-      var $427=HEAP32[(($426)>>2)];
-      var $428=((($427<<2))|0);
-      var $429=(($424)|0) >= (($428)|0);
-      if ($429) { __label__ = 77; break; } else { __label__ = 78; break; }
-    case 77: 
-      $_g_boolean_var_4=1;
-      __label__ = 79; break;
-    case 78: 
-      $_g_boolean_var_4=0;
-      __label__ = 79; break;
-    case 79: 
-      var $433=$_g_boolean_var_4;
-      var $434=(($433)==(1));
-      var $435=(($434)|0)!=0;
-      if ($435) { __label__ = 80; break; } else { __label__ = 81; break; }
-    case 80: 
-      __label__ = 84; break;
-    case 81: 
-      __label__ = 82; break;
-    case 82: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str27)|0), ((STRING_TABLE.___FUNCTION___quic_decode)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str21)|0),tempInt));
-      __label__ = 83; break;
-    case 83: 
-      __label__ = 84; break;
-    case 84: 
-      __label__ = 85; break;
-    case 85: 
-      var $442=$encoder;
-      var $443=(($442+56)|0);
-      var $444=(($443)|0);
-      var $445=(($444+8)|0);
-      var $446=HEAP32[(($445)>>2)];
-      var $447=(($446-1)|0);
-      HEAP8[($447)]=0;
-      var $448=$encoder;
-      var $449=(($448+56)|0);
-      var $450=(($449+76)|0);
-      var $451=(($450+8)|0);
-      var $452=HEAP32[(($451)>>2)];
-      var $453=(($452-1)|0);
-      HEAP8[($453)]=0;
-      var $454=$encoder;
-      var $455=(($454+56)|0);
-      var $456=(($455+152)|0);
-      var $457=(($456+8)|0);
-      var $458=HEAP32[(($457)>>2)];
-      var $459=(($458-1)|0);
-      HEAP8[($459)]=0;
-      var $460=$encoder;
-      var $461=$4;
-      var $462=$461;
-      var $463=$encoder;
-      var $464=(($463+8)|0);
-      var $465=HEAP32[(($464)>>2)];
-      _quic_rgb16_to_32_uncompress_row0($460, $462, $465);
-      var $466=$encoder;
-      var $467=(($466+52)|0);
-      var $468=HEAP32[(($467)>>2)];
-      var $469=(($468+1)|0);
-      HEAP32[(($467)>>2)]=$469;
-      $row=1;
-      __label__ = 86; break;
-    case 86: 
-      var $471=$row;
-      var $472=$encoder;
-      var $473=(($472+12)|0);
-      var $474=HEAPU32[(($473)>>2)];
-      var $475=(($471)>>>0) < (($474)>>>0);
-      if ($475) { __label__ = 87; break; } else { __label__ = 89; break; }
-    case 87: 
-      var $477=$4;
-      $prev=$477;
-      var $478=$5;
-      var $479=$4;
-      var $480=(($479+$478)|0);
-      $4=$480;
-      var $481=$encoder;
-      var $482=(($481+56)|0);
-      var $483=(($482)|0);
-      var $484=(($483+8)|0);
-      var $485=HEAP32[(($484)>>2)];
-      var $486=(($485)|0);
-      var $487=HEAP8[($486)];
-      var $488=$encoder;
-      var $489=(($488+56)|0);
-      var $490=(($489)|0);
-      var $491=(($490+8)|0);
-      var $492=HEAP32[(($491)>>2)];
-      var $493=(($492-1)|0);
-      HEAP8[($493)]=$487;
-      var $494=$encoder;
-      var $495=(($494+56)|0);
-      var $496=(($495+76)|0);
-      var $497=(($496+8)|0);
-      var $498=HEAP32[(($497)>>2)];
-      var $499=(($498)|0);
-      var $500=HEAP8[($499)];
-      var $501=$encoder;
-      var $502=(($501+56)|0);
-      var $503=(($502+76)|0);
-      var $504=(($503+8)|0);
-      var $505=HEAP32[(($504)>>2)];
-      var $506=(($505-1)|0);
-      HEAP8[($506)]=$500;
-      var $507=$encoder;
-      var $508=(($507+56)|0);
-      var $509=(($508+152)|0);
-      var $510=(($509+8)|0);
-      var $511=HEAP32[(($510)>>2)];
-      var $512=(($511)|0);
-      var $513=HEAP8[($512)];
-      var $514=$encoder;
-      var $515=(($514+56)|0);
-      var $516=(($515+152)|0);
-      var $517=(($516+8)|0);
-      var $518=HEAP32[(($517)>>2)];
-      var $519=(($518-1)|0);
-      HEAP8[($519)]=$513;
-      var $520=$encoder;
-      var $521=$prev;
-      var $522=$521;
-      var $523=$4;
-      var $524=$523;
-      var $525=$encoder;
-      var $526=(($525+8)|0);
-      var $527=HEAP32[(($526)>>2)];
-      _quic_rgb16_to_32_uncompress_row($520, $522, $524, $527);
-      var $528=$encoder;
-      var $529=(($528+52)|0);
-      var $530=HEAP32[(($529)>>2)];
-      var $531=(($530+1)|0);
-      HEAP32[(($529)>>2)]=$531;
-      __label__ = 88; break;
-    case 88: 
-      var $533=$row;
-      var $534=(($533+1)|0);
-      $row=$534;
-      __label__ = 86; break;
-    case 89: 
-      __label__ = 91; break;
-    case 90: 
-      var $537=$encoder;
-      var $538=(($537)|0);
-      var $539=HEAP32[(($538)>>2)];
-      var $540=(($539+4)|0);
-      var $541=HEAP32[(($540)>>2)];
-      var $542=$encoder;
-      var $543=(($542)|0);
-      var $544=HEAP32[(($543)>>2)];
-      FUNCTION_TABLE[$541]($544, ((STRING_TABLE.__str24)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      $1=-1;
-      __label__ = 128; break;
-    case 91: 
-      __label__ = 92; break;
-    case 92: 
-      __label__ = 127; break;
-    case 93: 
-      var $548=$3;
-      var $549=(($548)|0)!=5;
-      if ($549) { __label__ = 94; break; } else { __label__ = 95; break; }
-    case 94: 
-      var $551=$encoder;
-      var $552=(($551)|0);
-      var $553=HEAP32[(($552)>>2)];
-      var $554=(($553+4)|0);
-      var $555=HEAP32[(($554)>>2)];
-      var $556=$encoder;
-      var $557=(($556)|0);
-      var $558=HEAP32[(($557)>>2)];
-      FUNCTION_TABLE[$555]($558, ((STRING_TABLE.__str24)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      $1=-1;
-      __label__ = 128; break;
-    case 95: 
-      __label__ = 96; break;
-    case 96: 
-      var $561=$5;
-      var $562=(($561)|0) < 0;
-      if ($562) { __label__ = 97; break; } else { __label__ = 98; break; }
-    case 97: 
-      var $564=$5;
-      var $565=(((-$564))|0);
-      var $569 = $565;__label__ = 99; break;
-    case 98: 
-      var $567=$5;
-      var $569 = $567;__label__ = 99; break;
-    case 99: 
-      var $569;
-      var $570=$encoder;
-      var $571=(($570+8)|0);
-      var $572=HEAP32[(($571)>>2)];
-      var $573=((($572<<2))|0);
-      var $574=(($569)|0) >= (($573)|0);
-      if ($574) { __label__ = 100; break; } else { __label__ = 101; break; }
-    case 100: 
-      $_g_boolean_var_5=1;
-      __label__ = 102; break;
-    case 101: 
-      $_g_boolean_var_5=0;
-      __label__ = 102; break;
-    case 102: 
-      var $578=$_g_boolean_var_5;
-      var $579=(($578)==(1));
-      var $580=(($579)|0)!=0;
-      if ($580) { __label__ = 103; break; } else { __label__ = 104; break; }
-    case 103: 
-      __label__ = 107; break;
-    case 104: 
-      __label__ = 105; break;
-    case 105: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str28)|0), ((STRING_TABLE.___FUNCTION___quic_decode)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str21)|0),tempInt));
-      __label__ = 106; break;
-    case 106: 
-      __label__ = 107; break;
-    case 107: 
-      __label__ = 108; break;
-    case 108: 
-      var $587=$encoder;
-      var $588=$4;
-      var $589=$5;
-      _uncompress_rgba($587, $588, $589);
-      __label__ = 127; break;
-    case 109: 
-      var $591=$3;
-      var $592=(($591)|0)!=1;
-      if ($592) { __label__ = 110; break; } else { __label__ = 111; break; }
-    case 110: 
-      var $594=$encoder;
-      var $595=(($594)|0);
-      var $596=HEAP32[(($595)>>2)];
-      var $597=(($596+4)|0);
-      var $598=HEAP32[(($597)>>2)];
-      var $599=$encoder;
-      var $600=(($599)|0);
-      var $601=HEAP32[(($600)>>2)];
-      FUNCTION_TABLE[$598]($601, ((STRING_TABLE.__str24)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      $1=-1;
-      __label__ = 128; break;
-    case 111: 
-      __label__ = 112; break;
-    case 112: 
-      var $604=$5;
-      var $605=(($604)|0) < 0;
-      if ($605) { __label__ = 113; break; } else { __label__ = 114; break; }
-    case 113: 
-      var $607=$5;
-      var $608=(((-$607))|0);
-      var $612 = $608;__label__ = 115; break;
-    case 114: 
-      var $610=$5;
-      var $612 = $610;__label__ = 115; break;
-    case 115: 
-      var $612;
-      var $613=$encoder;
-      var $614=(($613+8)|0);
-      var $615=HEAP32[(($614)>>2)];
-      var $616=(($612)|0) >= (($615)|0);
-      if ($616) { __label__ = 116; break; } else { __label__ = 117; break; }
-    case 116: 
-      $_g_boolean_var_6=1;
-      __label__ = 118; break;
-    case 117: 
-      $_g_boolean_var_6=0;
-      __label__ = 118; break;
-    case 118: 
-      var $620=$_g_boolean_var_6;
-      var $621=(($620)==(1));
-      var $622=(($621)|0)!=0;
-      if ($622) { __label__ = 119; break; } else { __label__ = 120; break; }
-    case 119: 
-      __label__ = 123; break;
-    case 120: 
-      __label__ = 121; break;
-    case 121: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str29)|0), ((STRING_TABLE.___FUNCTION___quic_decode)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str30)|0),tempInt));
-      __label__ = 122; break;
-    case 122: 
-      __label__ = 123; break;
-    case 123: 
-      __label__ = 124; break;
-    case 124: 
-      var $629=$encoder;
-      var $630=$4;
-      var $631=$5;
-      _uncompress_gray($629, $630, $631);
-      __label__ = 127; break;
-    case 125: 
-      __label__ = 126; break;
-    case 126: 
-      var $634=$encoder;
-      var $635=(($634)|0);
-      var $636=HEAP32[(($635)>>2)];
-      var $637=(($636)|0);
-      var $638=HEAP32[(($637)>>2)];
-      var $639=$encoder;
-      var $640=(($639)|0);
-      var $641=HEAP32[(($640)>>2)];
-      FUNCTION_TABLE[$638]($641, ((STRING_TABLE.__str15)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      __label__ = 127; break;
-    case 127: 
-      $1=0;
-      __label__ = 128; break;
-    case 128: 
-      var $644=$1;
-      ;
-      return $644;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_decode["X"]=1;
-
-function _quic_rgb32_uncompress_row0($encoder, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $bpc;
-      var $bpc_mask;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$cur_row;
-      $3=$width;
-      $bpc=8;
-      $bpc_mask=255;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $5=HEAP32[((_wmimax)>>2)];
-      var $6=$1;
-      var $7=(($6+360)|0);
-      var $8=(($7+16)|0);
-      var $9=HEAP32[(($8)>>2)];
-      var $10=(($5)|0) > (($9)|0);
-      if ($10) { __label__ = 3; break; } else { var $19 = 0;__label__ = 4; break; }
-    case 3: 
-      var $12=$1;
-      var $13=(($12+360)|0);
-      var $14=(($13+20)|0);
-      var $15=HEAPU32[(($14)>>2)];
-      var $16=$3;
-      var $17=(($15)>>>0) <= (($16)>>>0);
-      var $19 = $17;__label__ = 4; break;
-    case 4: 
-      var $19;
-      if ($19) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $21=$1;
-      var $22=(($21+360)|0);
-      var $23=(($22+20)|0);
-      var $24=HEAP32[(($23)>>2)];
-      var $25=(($24)|0)!=0;
-      if ($25) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $27=$1;
-      var $28=$pos;
-      var $29=$2;
-      var $30=$pos;
-      var $31=$1;
-      var $32=(($31+360)|0);
-      var $33=(($32+20)|0);
-      var $34=HEAP32[(($33)>>2)];
-      var $35=(($30+$34)|0);
-      var $36=$1;
-      var $37=(($36+360)|0);
-      var $38=(($37+16)|0);
-      var $39=HEAP32[(($38)>>2)];
-      var $40=((_bppmask+($39<<2))|0);
-      var $41=HEAP32[(($40)>>2)];
-      _quic_rgb32_uncompress_row0_seg($27, $28, $29, $35, $41, 8, 255);
-      var $42=$1;
-      var $43=(($42+360)|0);
-      var $44=(($43+20)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=$pos;
-      var $47=(($46+$45)|0);
-      $pos=$47;
-      var $48=$1;
-      var $49=(($48+360)|0);
-      var $50=(($49+20)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$3;
-      var $53=(($52-$51)|0);
-      $3=$53;
-      __label__ = 7; break;
-    case 7: 
-      var $55=$1;
-      var $56=(($55+360)|0);
-      var $57=(($56+16)|0);
-      var $58=HEAP32[(($57)>>2)];
-      var $59=(($58+1)|0);
-      HEAP32[(($57)>>2)]=$59;
-      var $60=$1;
-      var $61=(($60+360)|0);
-      _set_wm_trigger($61);
-      var $62=HEAP32[((_wminext)>>2)];
-      var $63=$1;
-      var $64=(($63+360)|0);
-      var $65=(($64+20)|0);
-      HEAP32[(($65)>>2)]=$62;
-      __label__ = 2; break;
-    case 8: 
-      var $67=$3;
-      var $68=(($67)|0)!=0;
-      if ($68) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $70=$1;
-      var $71=$pos;
-      var $72=$2;
-      var $73=$pos;
-      var $74=$3;
-      var $75=(($73+$74)|0);
-      var $76=$1;
-      var $77=(($76+360)|0);
-      var $78=(($77+16)|0);
-      var $79=HEAP32[(($78)>>2)];
-      var $80=((_bppmask+($79<<2))|0);
-      var $81=HEAP32[(($80)>>2)];
-      _quic_rgb32_uncompress_row0_seg($70, $71, $72, $75, $81, 8, 255);
-      var $82=HEAP32[((_wmimax)>>2)];
-      var $83=$1;
-      var $84=(($83+360)|0);
-      var $85=(($84+16)|0);
-      var $86=HEAP32[(($85)>>2)];
-      var $87=(($82)|0) > (($86)|0);
-      if ($87) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $89=$3;
-      var $90=$1;
-      var $91=(($90+360)|0);
-      var $92=(($91+20)|0);
-      var $93=HEAP32[(($92)>>2)];
-      var $94=(($93-$89)|0);
-      HEAP32[(($92)>>2)]=$94;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $98=$1;
-      var $99=(($98+360)|0);
-      var $100=(($99+16)|0);
-      var $101=HEAP32[(($100)>>2)];
-      var $102=HEAP32[((_wmimax)>>2)];
-      var $103=(($101)|0) <= (($102)|0);
-      if ($103) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $107=$_g_boolean_var_;
-      var $108=(($107)==(1));
-      var $109=(($108)|0)!=0;
-      if ($109) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str88)|0), ((STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str83)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $117=$1;
-      var $118=(($117+360)|0);
-      var $119=(($118+16)|0);
-      var $120=HEAPU32[(($119)>>2)];
-      var $121=(($120)>>>0) <= 32;
-      if ($121) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $125=$_g_boolean_var_1;
-      var $126=(($125)==(1));
-      var $127=(($126)|0)!=0;
-      if ($127) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str89)|0), ((STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str85)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $135=HEAP32[((_wminext)>>2)];
-      var $136=(($135)|0) > 0;
-      if ($136) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $140=$_g_boolean_var_2;
-      var $141=(($140)==(1));
-      var $142=(($141)|0)!=0;
-      if ($142) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str90)|0), ((STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb32_uncompress_row0["X"]=1;
-
-function _quic_rgb32_uncompress_row($encoder, $prev_row, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $bpc;
-      var $bpc_mask;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$prev_row;
-      $3=$cur_row;
-      $4=$width;
-      $bpc=8;
-      $bpc_mask=255;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $6=HEAP32[((_wmimax)>>2)];
-      var $7=$1;
-      var $8=(($7+360)|0);
-      var $9=(($8+16)|0);
-      var $10=HEAP32[(($9)>>2)];
-      var $11=(($6)|0) > (($10)|0);
-      if ($11) { __label__ = 3; break; } else { var $20 = 0;__label__ = 4; break; }
-    case 3: 
-      var $13=$1;
-      var $14=(($13+360)|0);
-      var $15=(($14+20)|0);
-      var $16=HEAPU32[(($15)>>2)];
-      var $17=$4;
-      var $18=(($16)>>>0) <= (($17)>>>0);
-      var $20 = $18;__label__ = 4; break;
-    case 4: 
-      var $20;
-      if ($20) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $22=$1;
-      var $23=(($22+360)|0);
-      var $24=(($23+20)|0);
-      var $25=HEAP32[(($24)>>2)];
-      var $26=(($25)|0)!=0;
-      if ($26) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $28=$1;
-      var $29=$2;
-      var $30=$3;
-      var $31=$pos;
-      var $32=$pos;
-      var $33=$1;
-      var $34=(($33+360)|0);
-      var $35=(($34+20)|0);
-      var $36=HEAP32[(($35)>>2)];
-      var $37=(($32+$36)|0);
-      _quic_rgb32_uncompress_row_seg($28, $29, $30, $31, $37, 8, 255);
-      var $38=$1;
-      var $39=(($38+360)|0);
-      var $40=(($39+20)|0);
-      var $41=HEAP32[(($40)>>2)];
-      var $42=$pos;
-      var $43=(($42+$41)|0);
-      $pos=$43;
-      var $44=$1;
-      var $45=(($44+360)|0);
-      var $46=(($45+20)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=$4;
-      var $49=(($48-$47)|0);
-      $4=$49;
-      __label__ = 7; break;
-    case 7: 
-      var $51=$1;
-      var $52=(($51+360)|0);
-      var $53=(($52+16)|0);
-      var $54=HEAP32[(($53)>>2)];
-      var $55=(($54+1)|0);
-      HEAP32[(($53)>>2)]=$55;
-      var $56=$1;
-      var $57=(($56+360)|0);
-      _set_wm_trigger($57);
-      var $58=HEAP32[((_wminext)>>2)];
-      var $59=$1;
-      var $60=(($59+360)|0);
-      var $61=(($60+20)|0);
-      HEAP32[(($61)>>2)]=$58;
-      __label__ = 2; break;
-    case 8: 
-      var $63=$4;
-      var $64=(($63)|0)!=0;
-      if ($64) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $66=$1;
-      var $67=$2;
-      var $68=$3;
-      var $69=$pos;
-      var $70=$pos;
-      var $71=$4;
-      var $72=(($70+$71)|0);
-      _quic_rgb32_uncompress_row_seg($66, $67, $68, $69, $72, 8, 255);
-      var $73=HEAP32[((_wmimax)>>2)];
-      var $74=$1;
-      var $75=(($74+360)|0);
-      var $76=(($75+16)|0);
-      var $77=HEAP32[(($76)>>2)];
-      var $78=(($73)|0) > (($77)|0);
-      if ($78) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $80=$4;
-      var $81=$1;
-      var $82=(($81+360)|0);
-      var $83=(($82+20)|0);
-      var $84=HEAP32[(($83)>>2)];
-      var $85=(($84-$80)|0);
-      HEAP32[(($83)>>2)]=$85;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $89=$1;
-      var $90=(($89+360)|0);
-      var $91=(($90+16)|0);
-      var $92=HEAP32[(($91)>>2)];
-      var $93=HEAP32[((_wmimax)>>2)];
-      var $94=(($92)|0) <= (($93)|0);
-      if ($94) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $98=$_g_boolean_var_;
-      var $99=(($98)==(1));
-      var $100=(($99)|0)!=0;
-      if ($100) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str82)|0), ((STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str83)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $108=$1;
-      var $109=(($108+360)|0);
-      var $110=(($109+16)|0);
-      var $111=HEAPU32[(($110)>>2)];
-      var $112=(($111)>>>0) <= 32;
-      if ($112) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $116=$_g_boolean_var_1;
-      var $117=(($116)==(1));
-      var $118=(($117)|0)!=0;
-      if ($118) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str84)|0), ((STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str85)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $126=HEAP32[((_wminext)>>2)];
-      var $127=(($126)|0) > 0;
-      if ($127) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $131=$_g_boolean_var_2;
-      var $132=(($131)==(1));
-      var $133=(($132)|0)!=0;
-      if ($133) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str86)|0), ((STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb32_uncompress_row["X"]=1;
-
-function _quic_rgb24_uncompress_row0($encoder, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $bpc;
-      var $bpc_mask;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$cur_row;
-      $3=$width;
-      $bpc=8;
-      $bpc_mask=255;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $5=HEAP32[((_wmimax)>>2)];
-      var $6=$1;
-      var $7=(($6+360)|0);
-      var $8=(($7+16)|0);
-      var $9=HEAP32[(($8)>>2)];
-      var $10=(($5)|0) > (($9)|0);
-      if ($10) { __label__ = 3; break; } else { var $19 = 0;__label__ = 4; break; }
-    case 3: 
-      var $12=$1;
-      var $13=(($12+360)|0);
-      var $14=(($13+20)|0);
-      var $15=HEAPU32[(($14)>>2)];
-      var $16=$3;
-      var $17=(($15)>>>0) <= (($16)>>>0);
-      var $19 = $17;__label__ = 4; break;
-    case 4: 
-      var $19;
-      if ($19) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $21=$1;
-      var $22=(($21+360)|0);
-      var $23=(($22+20)|0);
-      var $24=HEAP32[(($23)>>2)];
-      var $25=(($24)|0)!=0;
-      if ($25) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $27=$1;
-      var $28=$pos;
-      var $29=$2;
-      var $30=$pos;
-      var $31=$1;
-      var $32=(($31+360)|0);
-      var $33=(($32+20)|0);
-      var $34=HEAP32[(($33)>>2)];
-      var $35=(($30+$34)|0);
-      var $36=$1;
-      var $37=(($36+360)|0);
-      var $38=(($37+16)|0);
-      var $39=HEAP32[(($38)>>2)];
-      var $40=((_bppmask+($39<<2))|0);
-      var $41=HEAP32[(($40)>>2)];
-      _quic_rgb24_uncompress_row0_seg($27, $28, $29, $35, $41, 8, 255);
-      var $42=$1;
-      var $43=(($42+360)|0);
-      var $44=(($43+20)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=$pos;
-      var $47=(($46+$45)|0);
-      $pos=$47;
-      var $48=$1;
-      var $49=(($48+360)|0);
-      var $50=(($49+20)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$3;
-      var $53=(($52-$51)|0);
-      $3=$53;
-      __label__ = 7; break;
-    case 7: 
-      var $55=$1;
-      var $56=(($55+360)|0);
-      var $57=(($56+16)|0);
-      var $58=HEAP32[(($57)>>2)];
-      var $59=(($58+1)|0);
-      HEAP32[(($57)>>2)]=$59;
-      var $60=$1;
-      var $61=(($60+360)|0);
-      _set_wm_trigger($61);
-      var $62=HEAP32[((_wminext)>>2)];
-      var $63=$1;
-      var $64=(($63+360)|0);
-      var $65=(($64+20)|0);
-      HEAP32[(($65)>>2)]=$62;
-      __label__ = 2; break;
-    case 8: 
-      var $67=$3;
-      var $68=(($67)|0)!=0;
-      if ($68) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $70=$1;
-      var $71=$pos;
-      var $72=$2;
-      var $73=$pos;
-      var $74=$3;
-      var $75=(($73+$74)|0);
-      var $76=$1;
-      var $77=(($76+360)|0);
-      var $78=(($77+16)|0);
-      var $79=HEAP32[(($78)>>2)];
-      var $80=((_bppmask+($79<<2))|0);
-      var $81=HEAP32[(($80)>>2)];
-      _quic_rgb24_uncompress_row0_seg($70, $71, $72, $75, $81, 8, 255);
-      var $82=HEAP32[((_wmimax)>>2)];
-      var $83=$1;
-      var $84=(($83+360)|0);
-      var $85=(($84+16)|0);
-      var $86=HEAP32[(($85)>>2)];
-      var $87=(($82)|0) > (($86)|0);
-      if ($87) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $89=$3;
-      var $90=$1;
-      var $91=(($90+360)|0);
-      var $92=(($91+20)|0);
-      var $93=HEAP32[(($92)>>2)];
-      var $94=(($93-$89)|0);
-      HEAP32[(($92)>>2)]=$94;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $98=$1;
-      var $99=(($98+360)|0);
-      var $100=(($99+16)|0);
-      var $101=HEAP32[(($100)>>2)];
-      var $102=HEAP32[((_wmimax)>>2)];
-      var $103=(($101)|0) <= (($102)|0);
-      if ($103) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $107=$_g_boolean_var_;
-      var $108=(($107)==(1));
-      var $109=(($108)|0)!=0;
-      if ($109) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str88)|0), ((STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str83)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $117=$1;
-      var $118=(($117+360)|0);
-      var $119=(($118+16)|0);
-      var $120=HEAPU32[(($119)>>2)];
-      var $121=(($120)>>>0) <= 32;
-      if ($121) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $125=$_g_boolean_var_1;
-      var $126=(($125)==(1));
-      var $127=(($126)|0)!=0;
-      if ($127) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str89)|0), ((STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str85)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $135=HEAP32[((_wminext)>>2)];
-      var $136=(($135)|0) > 0;
-      if ($136) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $140=$_g_boolean_var_2;
-      var $141=(($140)==(1));
-      var $142=(($141)|0)!=0;
-      if ($142) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str90)|0), ((STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb24_uncompress_row0["X"]=1;
-
-function _quic_rgb24_uncompress_row($encoder, $prev_row, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $bpc;
-      var $bpc_mask;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$prev_row;
-      $3=$cur_row;
-      $4=$width;
-      $bpc=8;
-      $bpc_mask=255;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $6=HEAP32[((_wmimax)>>2)];
-      var $7=$1;
-      var $8=(($7+360)|0);
-      var $9=(($8+16)|0);
-      var $10=HEAP32[(($9)>>2)];
-      var $11=(($6)|0) > (($10)|0);
-      if ($11) { __label__ = 3; break; } else { var $20 = 0;__label__ = 4; break; }
-    case 3: 
-      var $13=$1;
-      var $14=(($13+360)|0);
-      var $15=(($14+20)|0);
-      var $16=HEAPU32[(($15)>>2)];
-      var $17=$4;
-      var $18=(($16)>>>0) <= (($17)>>>0);
-      var $20 = $18;__label__ = 4; break;
-    case 4: 
-      var $20;
-      if ($20) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $22=$1;
-      var $23=(($22+360)|0);
-      var $24=(($23+20)|0);
-      var $25=HEAP32[(($24)>>2)];
-      var $26=(($25)|0)!=0;
-      if ($26) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $28=$1;
-      var $29=$2;
-      var $30=$3;
-      var $31=$pos;
-      var $32=$pos;
-      var $33=$1;
-      var $34=(($33+360)|0);
-      var $35=(($34+20)|0);
-      var $36=HEAP32[(($35)>>2)];
-      var $37=(($32+$36)|0);
-      _quic_rgb24_uncompress_row_seg($28, $29, $30, $31, $37, 8, 255);
-      var $38=$1;
-      var $39=(($38+360)|0);
-      var $40=(($39+20)|0);
-      var $41=HEAP32[(($40)>>2)];
-      var $42=$pos;
-      var $43=(($42+$41)|0);
-      $pos=$43;
-      var $44=$1;
-      var $45=(($44+360)|0);
-      var $46=(($45+20)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=$4;
-      var $49=(($48-$47)|0);
-      $4=$49;
-      __label__ = 7; break;
-    case 7: 
-      var $51=$1;
-      var $52=(($51+360)|0);
-      var $53=(($52+16)|0);
-      var $54=HEAP32[(($53)>>2)];
-      var $55=(($54+1)|0);
-      HEAP32[(($53)>>2)]=$55;
-      var $56=$1;
-      var $57=(($56+360)|0);
-      _set_wm_trigger($57);
-      var $58=HEAP32[((_wminext)>>2)];
-      var $59=$1;
-      var $60=(($59+360)|0);
-      var $61=(($60+20)|0);
-      HEAP32[(($61)>>2)]=$58;
-      __label__ = 2; break;
-    case 8: 
-      var $63=$4;
-      var $64=(($63)|0)!=0;
-      if ($64) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $66=$1;
-      var $67=$2;
-      var $68=$3;
-      var $69=$pos;
-      var $70=$pos;
-      var $71=$4;
-      var $72=(($70+$71)|0);
-      _quic_rgb24_uncompress_row_seg($66, $67, $68, $69, $72, 8, 255);
-      var $73=HEAP32[((_wmimax)>>2)];
-      var $74=$1;
-      var $75=(($74+360)|0);
-      var $76=(($75+16)|0);
-      var $77=HEAP32[(($76)>>2)];
-      var $78=(($73)|0) > (($77)|0);
-      if ($78) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $80=$4;
-      var $81=$1;
-      var $82=(($81+360)|0);
-      var $83=(($82+20)|0);
-      var $84=HEAP32[(($83)>>2)];
-      var $85=(($84-$80)|0);
-      HEAP32[(($83)>>2)]=$85;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $89=$1;
-      var $90=(($89+360)|0);
-      var $91=(($90+16)|0);
-      var $92=HEAP32[(($91)>>2)];
-      var $93=HEAP32[((_wmimax)>>2)];
-      var $94=(($92)|0) <= (($93)|0);
-      if ($94) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $98=$_g_boolean_var_;
-      var $99=(($98)==(1));
-      var $100=(($99)|0)!=0;
-      if ($100) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str82)|0), ((STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str83)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $108=$1;
-      var $109=(($108+360)|0);
-      var $110=(($109+16)|0);
-      var $111=HEAPU32[(($110)>>2)];
-      var $112=(($111)>>>0) <= 32;
-      if ($112) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $116=$_g_boolean_var_1;
-      var $117=(($116)==(1));
-      var $118=(($117)|0)!=0;
-      if ($118) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str84)|0), ((STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str85)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $126=HEAP32[((_wminext)>>2)];
-      var $127=(($126)|0) > 0;
-      if ($127) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $131=$_g_boolean_var_2;
-      var $132=(($131)==(1));
-      var $133=(($132)|0)!=0;
-      if ($133) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str86)|0), ((STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb24_uncompress_row["X"]=1;
-
-function _quic_rgb16_uncompress_row0($encoder, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $bpc;
-      var $bpc_mask;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$cur_row;
-      $3=$width;
-      $bpc=5;
-      $bpc_mask=31;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $5=HEAP32[((_wmimax)>>2)];
-      var $6=$1;
-      var $7=(($6+360)|0);
-      var $8=(($7+16)|0);
-      var $9=HEAP32[(($8)>>2)];
-      var $10=(($5)|0) > (($9)|0);
-      if ($10) { __label__ = 3; break; } else { var $19 = 0;__label__ = 4; break; }
-    case 3: 
-      var $12=$1;
-      var $13=(($12+360)|0);
-      var $14=(($13+20)|0);
-      var $15=HEAPU32[(($14)>>2)];
-      var $16=$3;
-      var $17=(($15)>>>0) <= (($16)>>>0);
-      var $19 = $17;__label__ = 4; break;
-    case 4: 
-      var $19;
-      if ($19) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $21=$1;
-      var $22=(($21+360)|0);
-      var $23=(($22+20)|0);
-      var $24=HEAP32[(($23)>>2)];
-      var $25=(($24)|0)!=0;
-      if ($25) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $27=$1;
-      var $28=$pos;
-      var $29=$2;
-      var $30=$pos;
-      var $31=$1;
-      var $32=(($31+360)|0);
-      var $33=(($32+20)|0);
-      var $34=HEAP32[(($33)>>2)];
-      var $35=(($30+$34)|0);
-      var $36=$1;
-      var $37=(($36+360)|0);
-      var $38=(($37+16)|0);
-      var $39=HEAP32[(($38)>>2)];
-      var $40=((_bppmask+($39<<2))|0);
-      var $41=HEAP32[(($40)>>2)];
-      _quic_rgb16_uncompress_row0_seg($27, $28, $29, $35, $41, 5, 31);
-      var $42=$1;
-      var $43=(($42+360)|0);
-      var $44=(($43+20)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=$pos;
-      var $47=(($46+$45)|0);
-      $pos=$47;
-      var $48=$1;
-      var $49=(($48+360)|0);
-      var $50=(($49+20)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$3;
-      var $53=(($52-$51)|0);
-      $3=$53;
-      __label__ = 7; break;
-    case 7: 
-      var $55=$1;
-      var $56=(($55+360)|0);
-      var $57=(($56+16)|0);
-      var $58=HEAP32[(($57)>>2)];
-      var $59=(($58+1)|0);
-      HEAP32[(($57)>>2)]=$59;
-      var $60=$1;
-      var $61=(($60+360)|0);
-      _set_wm_trigger($61);
-      var $62=HEAP32[((_wminext)>>2)];
-      var $63=$1;
-      var $64=(($63+360)|0);
-      var $65=(($64+20)|0);
-      HEAP32[(($65)>>2)]=$62;
-      __label__ = 2; break;
-    case 8: 
-      var $67=$3;
-      var $68=(($67)|0)!=0;
-      if ($68) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $70=$1;
-      var $71=$pos;
-      var $72=$2;
-      var $73=$pos;
-      var $74=$3;
-      var $75=(($73+$74)|0);
-      var $76=$1;
-      var $77=(($76+360)|0);
-      var $78=(($77+16)|0);
-      var $79=HEAP32[(($78)>>2)];
-      var $80=((_bppmask+($79<<2))|0);
-      var $81=HEAP32[(($80)>>2)];
-      _quic_rgb16_uncompress_row0_seg($70, $71, $72, $75, $81, 5, 31);
-      var $82=HEAP32[((_wmimax)>>2)];
-      var $83=$1;
-      var $84=(($83+360)|0);
-      var $85=(($84+16)|0);
-      var $86=HEAP32[(($85)>>2)];
-      var $87=(($82)|0) > (($86)|0);
-      if ($87) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $89=$3;
-      var $90=$1;
-      var $91=(($90+360)|0);
-      var $92=(($91+20)|0);
-      var $93=HEAP32[(($92)>>2)];
-      var $94=(($93-$89)|0);
-      HEAP32[(($92)>>2)]=$94;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $98=$1;
-      var $99=(($98+360)|0);
-      var $100=(($99+16)|0);
-      var $101=HEAP32[(($100)>>2)];
-      var $102=HEAP32[((_wmimax)>>2)];
-      var $103=(($101)|0) <= (($102)|0);
-      if ($103) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $107=$_g_boolean_var_;
-      var $108=(($107)==(1));
-      var $109=(($108)|0)!=0;
-      if ($109) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str88)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str83)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $117=$1;
-      var $118=(($117+360)|0);
-      var $119=(($118+16)|0);
-      var $120=HEAPU32[(($119)>>2)];
-      var $121=(($120)>>>0) <= 32;
-      if ($121) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $125=$_g_boolean_var_1;
-      var $126=(($125)==(1));
-      var $127=(($126)|0)!=0;
-      if ($127) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str89)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str85)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $135=HEAP32[((_wminext)>>2)];
-      var $136=(($135)|0) > 0;
-      if ($136) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $140=$_g_boolean_var_2;
-      var $141=(($140)==(1));
-      var $142=(($141)|0)!=0;
-      if ($142) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str90)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb16_uncompress_row0["X"]=1;
-
-function _quic_rgb16_uncompress_row($encoder, $prev_row, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $bpc;
-      var $bpc_mask;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$prev_row;
-      $3=$cur_row;
-      $4=$width;
-      $bpc=5;
-      $bpc_mask=31;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $6=HEAP32[((_wmimax)>>2)];
-      var $7=$1;
-      var $8=(($7+360)|0);
-      var $9=(($8+16)|0);
-      var $10=HEAP32[(($9)>>2)];
-      var $11=(($6)|0) > (($10)|0);
-      if ($11) { __label__ = 3; break; } else { var $20 = 0;__label__ = 4; break; }
-    case 3: 
-      var $13=$1;
-      var $14=(($13+360)|0);
-      var $15=(($14+20)|0);
-      var $16=HEAPU32[(($15)>>2)];
-      var $17=$4;
-      var $18=(($16)>>>0) <= (($17)>>>0);
-      var $20 = $18;__label__ = 4; break;
-    case 4: 
-      var $20;
-      if ($20) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $22=$1;
-      var $23=(($22+360)|0);
-      var $24=(($23+20)|0);
-      var $25=HEAP32[(($24)>>2)];
-      var $26=(($25)|0)!=0;
-      if ($26) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $28=$1;
-      var $29=$2;
-      var $30=$3;
-      var $31=$pos;
-      var $32=$pos;
-      var $33=$1;
-      var $34=(($33+360)|0);
-      var $35=(($34+20)|0);
-      var $36=HEAP32[(($35)>>2)];
-      var $37=(($32+$36)|0);
-      _quic_rgb16_uncompress_row_seg($28, $29, $30, $31, $37, 5, 31);
-      var $38=$1;
-      var $39=(($38+360)|0);
-      var $40=(($39+20)|0);
-      var $41=HEAP32[(($40)>>2)];
-      var $42=$pos;
-      var $43=(($42+$41)|0);
-      $pos=$43;
-      var $44=$1;
-      var $45=(($44+360)|0);
-      var $46=(($45+20)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=$4;
-      var $49=(($48-$47)|0);
-      $4=$49;
-      __label__ = 7; break;
-    case 7: 
-      var $51=$1;
-      var $52=(($51+360)|0);
-      var $53=(($52+16)|0);
-      var $54=HEAP32[(($53)>>2)];
-      var $55=(($54+1)|0);
-      HEAP32[(($53)>>2)]=$55;
-      var $56=$1;
-      var $57=(($56+360)|0);
-      _set_wm_trigger($57);
-      var $58=HEAP32[((_wminext)>>2)];
-      var $59=$1;
-      var $60=(($59+360)|0);
-      var $61=(($60+20)|0);
-      HEAP32[(($61)>>2)]=$58;
-      __label__ = 2; break;
-    case 8: 
-      var $63=$4;
-      var $64=(($63)|0)!=0;
-      if ($64) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $66=$1;
-      var $67=$2;
-      var $68=$3;
-      var $69=$pos;
-      var $70=$pos;
-      var $71=$4;
-      var $72=(($70+$71)|0);
-      _quic_rgb16_uncompress_row_seg($66, $67, $68, $69, $72, 5, 31);
-      var $73=HEAP32[((_wmimax)>>2)];
-      var $74=$1;
-      var $75=(($74+360)|0);
-      var $76=(($75+16)|0);
-      var $77=HEAP32[(($76)>>2)];
-      var $78=(($73)|0) > (($77)|0);
-      if ($78) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $80=$4;
-      var $81=$1;
-      var $82=(($81+360)|0);
-      var $83=(($82+20)|0);
-      var $84=HEAP32[(($83)>>2)];
-      var $85=(($84-$80)|0);
-      HEAP32[(($83)>>2)]=$85;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $89=$1;
-      var $90=(($89+360)|0);
-      var $91=(($90+16)|0);
-      var $92=HEAP32[(($91)>>2)];
-      var $93=HEAP32[((_wmimax)>>2)];
-      var $94=(($92)|0) <= (($93)|0);
-      if ($94) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $98=$_g_boolean_var_;
-      var $99=(($98)==(1));
-      var $100=(($99)|0)!=0;
-      if ($100) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str82)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str83)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $108=$1;
-      var $109=(($108+360)|0);
-      var $110=(($109+16)|0);
-      var $111=HEAPU32[(($110)>>2)];
-      var $112=(($111)>>>0) <= 32;
-      if ($112) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $116=$_g_boolean_var_1;
-      var $117=(($116)==(1));
-      var $118=(($117)|0)!=0;
-      if ($118) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str84)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str85)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $126=HEAP32[((_wminext)>>2)];
-      var $127=(($126)|0) > 0;
-      if ($127) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $131=$_g_boolean_var_2;
-      var $132=(($131)==(1));
-      var $133=(($132)|0)!=0;
-      if ($133) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str86)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb16_uncompress_row["X"]=1;
-
-function _quic_rgb16_to_32_uncompress_row0($encoder, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $bpc;
-      var $bpc_mask;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$cur_row;
-      $3=$width;
-      $bpc=5;
-      $bpc_mask=31;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $5=HEAP32[((_wmimax)>>2)];
-      var $6=$1;
-      var $7=(($6+360)|0);
-      var $8=(($7+16)|0);
-      var $9=HEAP32[(($8)>>2)];
-      var $10=(($5)|0) > (($9)|0);
-      if ($10) { __label__ = 3; break; } else { var $19 = 0;__label__ = 4; break; }
-    case 3: 
-      var $12=$1;
-      var $13=(($12+360)|0);
-      var $14=(($13+20)|0);
-      var $15=HEAPU32[(($14)>>2)];
-      var $16=$3;
-      var $17=(($15)>>>0) <= (($16)>>>0);
-      var $19 = $17;__label__ = 4; break;
-    case 4: 
-      var $19;
-      if ($19) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $21=$1;
-      var $22=(($21+360)|0);
-      var $23=(($22+20)|0);
-      var $24=HEAP32[(($23)>>2)];
-      var $25=(($24)|0)!=0;
-      if ($25) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $27=$1;
-      var $28=$pos;
-      var $29=$2;
-      var $30=$pos;
-      var $31=$1;
-      var $32=(($31+360)|0);
-      var $33=(($32+20)|0);
-      var $34=HEAP32[(($33)>>2)];
-      var $35=(($30+$34)|0);
-      var $36=$1;
-      var $37=(($36+360)|0);
-      var $38=(($37+16)|0);
-      var $39=HEAP32[(($38)>>2)];
-      var $40=((_bppmask+($39<<2))|0);
-      var $41=HEAP32[(($40)>>2)];
-      _quic_rgb16_to_32_uncompress_row0_seg($27, $28, $29, $35, $41, 5, 31);
-      var $42=$1;
-      var $43=(($42+360)|0);
-      var $44=(($43+20)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=$pos;
-      var $47=(($46+$45)|0);
-      $pos=$47;
-      var $48=$1;
-      var $49=(($48+360)|0);
-      var $50=(($49+20)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$3;
-      var $53=(($52-$51)|0);
-      $3=$53;
-      __label__ = 7; break;
-    case 7: 
-      var $55=$1;
-      var $56=(($55+360)|0);
-      var $57=(($56+16)|0);
-      var $58=HEAP32[(($57)>>2)];
-      var $59=(($58+1)|0);
-      HEAP32[(($57)>>2)]=$59;
-      var $60=$1;
-      var $61=(($60+360)|0);
-      _set_wm_trigger($61);
-      var $62=HEAP32[((_wminext)>>2)];
-      var $63=$1;
-      var $64=(($63+360)|0);
-      var $65=(($64+20)|0);
-      HEAP32[(($65)>>2)]=$62;
-      __label__ = 2; break;
-    case 8: 
-      var $67=$3;
-      var $68=(($67)|0)!=0;
-      if ($68) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $70=$1;
-      var $71=$pos;
-      var $72=$2;
-      var $73=$pos;
-      var $74=$3;
-      var $75=(($73+$74)|0);
-      var $76=$1;
-      var $77=(($76+360)|0);
-      var $78=(($77+16)|0);
-      var $79=HEAP32[(($78)>>2)];
-      var $80=((_bppmask+($79<<2))|0);
-      var $81=HEAP32[(($80)>>2)];
-      _quic_rgb16_to_32_uncompress_row0_seg($70, $71, $72, $75, $81, 5, 31);
-      var $82=HEAP32[((_wmimax)>>2)];
-      var $83=$1;
-      var $84=(($83+360)|0);
-      var $85=(($84+16)|0);
-      var $86=HEAP32[(($85)>>2)];
-      var $87=(($82)|0) > (($86)|0);
-      if ($87) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $89=$3;
-      var $90=$1;
-      var $91=(($90+360)|0);
-      var $92=(($91+20)|0);
-      var $93=HEAP32[(($92)>>2)];
-      var $94=(($93-$89)|0);
-      HEAP32[(($92)>>2)]=$94;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $98=$1;
-      var $99=(($98+360)|0);
-      var $100=(($99+16)|0);
-      var $101=HEAP32[(($100)>>2)];
-      var $102=HEAP32[((_wmimax)>>2)];
-      var $103=(($101)|0) <= (($102)|0);
-      if ($103) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $107=$_g_boolean_var_;
-      var $108=(($107)==(1));
-      var $109=(($108)|0)!=0;
-      if ($109) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str88)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str83)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $117=$1;
-      var $118=(($117+360)|0);
-      var $119=(($118+16)|0);
-      var $120=HEAPU32[(($119)>>2)];
-      var $121=(($120)>>>0) <= 32;
-      if ($121) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $125=$_g_boolean_var_1;
-      var $126=(($125)==(1));
-      var $127=(($126)|0)!=0;
-      if ($127) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str89)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str85)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $135=HEAP32[((_wminext)>>2)];
-      var $136=(($135)|0) > 0;
-      if ($136) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $140=$_g_boolean_var_2;
-      var $141=(($140)==(1));
-      var $142=(($141)|0)!=0;
-      if ($142) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str90)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb16_to_32_uncompress_row0["X"]=1;
-
-function _quic_rgb16_to_32_uncompress_row($encoder, $prev_row, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $bpc;
-      var $bpc_mask;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$prev_row;
-      $3=$cur_row;
-      $4=$width;
-      $bpc=5;
-      $bpc_mask=31;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $6=HEAP32[((_wmimax)>>2)];
-      var $7=$1;
-      var $8=(($7+360)|0);
-      var $9=(($8+16)|0);
-      var $10=HEAP32[(($9)>>2)];
-      var $11=(($6)|0) > (($10)|0);
-      if ($11) { __label__ = 3; break; } else { var $20 = 0;__label__ = 4; break; }
-    case 3: 
-      var $13=$1;
-      var $14=(($13+360)|0);
-      var $15=(($14+20)|0);
-      var $16=HEAPU32[(($15)>>2)];
-      var $17=$4;
-      var $18=(($16)>>>0) <= (($17)>>>0);
-      var $20 = $18;__label__ = 4; break;
-    case 4: 
-      var $20;
-      if ($20) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $22=$1;
-      var $23=(($22+360)|0);
-      var $24=(($23+20)|0);
-      var $25=HEAP32[(($24)>>2)];
-      var $26=(($25)|0)!=0;
-      if ($26) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $28=$1;
-      var $29=$2;
-      var $30=$3;
-      var $31=$pos;
-      var $32=$pos;
-      var $33=$1;
-      var $34=(($33+360)|0);
-      var $35=(($34+20)|0);
-      var $36=HEAP32[(($35)>>2)];
-      var $37=(($32+$36)|0);
-      _quic_rgb16_to_32_uncompress_row_seg($28, $29, $30, $31, $37, 5, 31);
-      var $38=$1;
-      var $39=(($38+360)|0);
-      var $40=(($39+20)|0);
-      var $41=HEAP32[(($40)>>2)];
-      var $42=$pos;
-      var $43=(($42+$41)|0);
-      $pos=$43;
-      var $44=$1;
-      var $45=(($44+360)|0);
-      var $46=(($45+20)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=$4;
-      var $49=(($48-$47)|0);
-      $4=$49;
-      __label__ = 7; break;
-    case 7: 
-      var $51=$1;
-      var $52=(($51+360)|0);
-      var $53=(($52+16)|0);
-      var $54=HEAP32[(($53)>>2)];
-      var $55=(($54+1)|0);
-      HEAP32[(($53)>>2)]=$55;
-      var $56=$1;
-      var $57=(($56+360)|0);
-      _set_wm_trigger($57);
-      var $58=HEAP32[((_wminext)>>2)];
-      var $59=$1;
-      var $60=(($59+360)|0);
-      var $61=(($60+20)|0);
-      HEAP32[(($61)>>2)]=$58;
-      __label__ = 2; break;
-    case 8: 
-      var $63=$4;
-      var $64=(($63)|0)!=0;
-      if ($64) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $66=$1;
-      var $67=$2;
-      var $68=$3;
-      var $69=$pos;
-      var $70=$pos;
-      var $71=$4;
-      var $72=(($70+$71)|0);
-      _quic_rgb16_to_32_uncompress_row_seg($66, $67, $68, $69, $72, 5, 31);
-      var $73=HEAP32[((_wmimax)>>2)];
-      var $74=$1;
-      var $75=(($74+360)|0);
-      var $76=(($75+16)|0);
-      var $77=HEAP32[(($76)>>2)];
-      var $78=(($73)|0) > (($77)|0);
-      if ($78) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $80=$4;
-      var $81=$1;
-      var $82=(($81+360)|0);
-      var $83=(($82+20)|0);
-      var $84=HEAP32[(($83)>>2)];
-      var $85=(($84-$80)|0);
-      HEAP32[(($83)>>2)]=$85;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $89=$1;
-      var $90=(($89+360)|0);
-      var $91=(($90+16)|0);
-      var $92=HEAP32[(($91)>>2)];
-      var $93=HEAP32[((_wmimax)>>2)];
-      var $94=(($92)|0) <= (($93)|0);
-      if ($94) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $98=$_g_boolean_var_;
-      var $99=(($98)==(1));
-      var $100=(($99)|0)!=0;
-      if ($100) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str82)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str83)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $108=$1;
-      var $109=(($108+360)|0);
-      var $110=(($109+16)|0);
-      var $111=HEAPU32[(($110)>>2)];
-      var $112=(($111)>>>0) <= 32;
-      if ($112) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $116=$_g_boolean_var_1;
-      var $117=(($116)==(1));
-      var $118=(($117)|0)!=0;
-      if ($118) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str84)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str85)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $126=HEAP32[((_wminext)>>2)];
-      var $127=(($126)|0) > 0;
-      if ($127) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $131=$_g_boolean_var_2;
-      var $132=(($131)==(1));
-      var $133=(($132)|0)!=0;
-      if ($133) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str86)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb16_to_32_uncompress_row["X"]=1;
-
-function _uncompress_rgba($encoder, $buf, $stride) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $row;
-      var $prev;
-      $1=$encoder;
-      $2=$buf;
-      $3=$stride;
-      var $4=$1;
-      var $5=(($4+56)|0);
-      var $6=(($5)|0);
-      var $7=(($6+8)|0);
-      var $8=HEAP32[(($7)>>2)];
-      var $9=(($8-1)|0);
-      HEAP8[($9)]=0;
-      var $10=$1;
-      var $11=(($10+56)|0);
-      var $12=(($11+76)|0);
-      var $13=(($12+8)|0);
-      var $14=HEAP32[(($13)>>2)];
-      var $15=(($14-1)|0);
-      HEAP8[($15)]=0;
-      var $16=$1;
-      var $17=(($16+56)|0);
-      var $18=(($17+152)|0);
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      var $21=(($20-1)|0);
-      HEAP8[($21)]=0;
-      var $22=$1;
-      var $23=$2;
-      var $24=$23;
-      var $25=$1;
-      var $26=(($25+8)|0);
-      var $27=HEAP32[(($26)>>2)];
-      _quic_rgb32_uncompress_row0($22, $24, $27);
-      var $28=$1;
-      var $29=(($28+56)|0);
-      var $30=(($29+228)|0);
-      var $31=(($30+8)|0);
-      var $32=HEAP32[(($31)>>2)];
-      var $33=(($32-1)|0);
-      HEAP8[($33)]=0;
-      var $34=$1;
-      var $35=$1;
-      var $36=(($35+56)|0);
-      var $37=(($36+228)|0);
-      var $38=$2;
-      var $39=(($38+3)|0);
-      var $40=$39;
-      var $41=$1;
-      var $42=(($41+8)|0);
-      var $43=HEAP32[(($42)>>2)];
-      _quic_four_uncompress_row0($34, $37, $40, $43);
-      var $44=$1;
-      var $45=(($44+52)|0);
-      var $46=HEAP32[(($45)>>2)];
-      var $47=(($46+1)|0);
-      HEAP32[(($45)>>2)]=$47;
-      $row=1;
-      __label__ = 2; break;
-    case 2: 
-      var $49=$row;
-      var $50=$1;
-      var $51=(($50+12)|0);
-      var $52=HEAPU32[(($51)>>2)];
-      var $53=(($49)>>>0) < (($52)>>>0);
-      if ($53) { __label__ = 3; break; } else { __label__ = 5; break; }
-    case 3: 
-      var $55=$2;
-      $prev=$55;
-      var $56=$3;
-      var $57=$2;
-      var $58=(($57+$56)|0);
-      $2=$58;
-      var $59=$1;
-      var $60=(($59+56)|0);
-      var $61=(($60)|0);
-      var $62=(($61+8)|0);
-      var $63=HEAP32[(($62)>>2)];
-      var $64=(($63)|0);
-      var $65=HEAP8[($64)];
-      var $66=$1;
-      var $67=(($66+56)|0);
-      var $68=(($67)|0);
-      var $69=(($68+8)|0);
-      var $70=HEAP32[(($69)>>2)];
-      var $71=(($70-1)|0);
-      HEAP8[($71)]=$65;
-      var $72=$1;
-      var $73=(($72+56)|0);
-      var $74=(($73+76)|0);
-      var $75=(($74+8)|0);
-      var $76=HEAP32[(($75)>>2)];
-      var $77=(($76)|0);
-      var $78=HEAP8[($77)];
-      var $79=$1;
-      var $80=(($79+56)|0);
-      var $81=(($80+76)|0);
-      var $82=(($81+8)|0);
-      var $83=HEAP32[(($82)>>2)];
-      var $84=(($83-1)|0);
-      HEAP8[($84)]=$78;
-      var $85=$1;
-      var $86=(($85+56)|0);
-      var $87=(($86+152)|0);
-      var $88=(($87+8)|0);
-      var $89=HEAP32[(($88)>>2)];
-      var $90=(($89)|0);
-      var $91=HEAP8[($90)];
-      var $92=$1;
-      var $93=(($92+56)|0);
-      var $94=(($93+152)|0);
-      var $95=(($94+8)|0);
-      var $96=HEAP32[(($95)>>2)];
-      var $97=(($96-1)|0);
-      HEAP8[($97)]=$91;
-      var $98=$1;
-      var $99=$prev;
-      var $100=$99;
-      var $101=$2;
-      var $102=$101;
-      var $103=$1;
-      var $104=(($103+8)|0);
-      var $105=HEAP32[(($104)>>2)];
-      _quic_rgb32_uncompress_row($98, $100, $102, $105);
-      var $106=$1;
-      var $107=(($106+56)|0);
-      var $108=(($107+228)|0);
-      var $109=(($108+8)|0);
-      var $110=HEAP32[(($109)>>2)];
-      var $111=(($110)|0);
-      var $112=HEAP8[($111)];
-      var $113=$1;
-      var $114=(($113+56)|0);
-      var $115=(($114+228)|0);
-      var $116=(($115+8)|0);
-      var $117=HEAP32[(($116)>>2)];
-      var $118=(($117-1)|0);
-      HEAP8[($118)]=$112;
-      var $119=$1;
-      var $120=$1;
-      var $121=(($120+56)|0);
-      var $122=(($121+228)|0);
-      var $123=$prev;
-      var $124=(($123+3)|0);
-      var $125=$124;
-      var $126=$2;
-      var $127=(($126+3)|0);
-      var $128=$127;
-      var $129=$1;
-      var $130=(($129+8)|0);
-      var $131=HEAP32[(($130)>>2)];
-      _quic_four_uncompress_row($119, $122, $125, $128, $131);
-      var $132=$1;
-      var $133=(($132+52)|0);
-      var $134=HEAP32[(($133)>>2)];
-      var $135=(($134+1)|0);
-      HEAP32[(($133)>>2)]=$135;
-      __label__ = 4; break;
-    case 4: 
-      var $137=$row;
-      var $138=(($137+1)|0);
-      $row=$138;
-      __label__ = 2; break;
-    case 5: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_uncompress_rgba["X"]=1;
-
-function _uncompress_gray($encoder, $buf, $stride) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $row;
-      var $prev;
-      $1=$encoder;
-      $2=$buf;
-      $3=$stride;
-      var $4=$1;
-      var $5=(($4+56)|0);
-      var $6=(($5)|0);
-      var $7=(($6+8)|0);
-      var $8=HEAP32[(($7)>>2)];
-      var $9=(($8-1)|0);
-      HEAP8[($9)]=0;
-      var $10=$1;
-      var $11=$1;
-      var $12=(($11+56)|0);
-      var $13=(($12)|0);
-      var $14=$2;
-      var $15=$14;
-      var $16=$1;
-      var $17=(($16+8)|0);
-      var $18=HEAP32[(($17)>>2)];
-      _quic_one_uncompress_row0($10, $13, $15, $18);
-      var $19=$1;
-      var $20=(($19+52)|0);
-      var $21=HEAP32[(($20)>>2)];
-      var $22=(($21+1)|0);
-      HEAP32[(($20)>>2)]=$22;
-      $row=1;
-      __label__ = 2; break;
-    case 2: 
-      var $24=$row;
-      var $25=$1;
-      var $26=(($25+12)|0);
-      var $27=HEAPU32[(($26)>>2)];
-      var $28=(($24)>>>0) < (($27)>>>0);
-      if ($28) { __label__ = 3; break; } else { __label__ = 5; break; }
-    case 3: 
-      var $30=$2;
-      $prev=$30;
-      var $31=$3;
-      var $32=$2;
-      var $33=(($32+$31)|0);
-      $2=$33;
-      var $34=$1;
-      var $35=(($34+56)|0);
-      var $36=(($35)|0);
-      var $37=(($36+8)|0);
-      var $38=HEAP32[(($37)>>2)];
-      var $39=(($38)|0);
-      var $40=HEAP8[($39)];
-      var $41=$1;
-      var $42=(($41+56)|0);
-      var $43=(($42)|0);
-      var $44=(($43+8)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=(($45-1)|0);
-      HEAP8[($46)]=$40;
-      var $47=$1;
-      var $48=$1;
-      var $49=(($48+56)|0);
-      var $50=(($49)|0);
-      var $51=$prev;
-      var $52=$51;
-      var $53=$2;
-      var $54=$53;
-      var $55=$1;
-      var $56=(($55+8)|0);
-      var $57=HEAP32[(($56)>>2)];
-      _quic_one_uncompress_row($47, $50, $52, $54, $57);
-      var $58=$1;
-      var $59=(($58+52)|0);
-      var $60=HEAP32[(($59)>>2)];
-      var $61=(($60+1)|0);
-      HEAP32[(($59)>>2)]=$61;
-      __label__ = 4; break;
-    case 4: 
-      var $63=$row;
-      var $64=(($63+1)|0);
-      $row=$64;
-      __label__ = 2; break;
-    case 5: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_uncompress_gray["X"]=1;
-
-function _quic_create($usr) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $encoder;
-      $2=$usr;
-      var $3=$2;
-      var $4=(($3)|0)!=0;
-      if ($4) { __label__ = 2; break; } else { __label__ = 10; break; }
-    case 2: 
-      var $6=HEAP32[((_need_init)>>2)];
-      var $7=(($6)|0)!=0;
-      if ($7) { __label__ = 10; break; } else { __label__ = 3; break; }
-    case 3: 
-      var $9=$2;
-      var $10=(($9)|0);
-      var $11=HEAP32[(($10)>>2)];
-      var $12=(($11)|0)!=0;
-      if ($12) { __label__ = 4; break; } else { __label__ = 10; break; }
-    case 4: 
-      var $14=$2;
-      var $15=(($14+4)|0);
-      var $16=HEAP32[(($15)>>2)];
-      var $17=(($16)|0)!=0;
-      if ($17) { __label__ = 5; break; } else { __label__ = 10; break; }
-    case 5: 
-      var $19=$2;
-      var $20=(($19+8)|0);
-      var $21=HEAP32[(($20)>>2)];
-      var $22=(($21)|0)!=0;
-      if ($22) { __label__ = 6; break; } else { __label__ = 10; break; }
-    case 6: 
-      var $24=$2;
-      var $25=(($24+12)|0);
-      var $26=HEAP32[(($25)>>2)];
-      var $27=(($26)|0)!=0;
-      if ($27) { __label__ = 7; break; } else { __label__ = 10; break; }
-    case 7: 
-      var $29=$2;
-      var $30=(($29+16)|0);
-      var $31=HEAP32[(($30)>>2)];
-      var $32=(($31)|0)!=0;
-      if ($32) { __label__ = 8; break; } else { __label__ = 10; break; }
-    case 8: 
-      var $34=$2;
-      var $35=(($34+20)|0);
-      var $36=HEAP32[(($35)>>2)];
-      var $37=(($36)|0)!=0;
-      if ($37) { __label__ = 9; break; } else { __label__ = 10; break; }
-    case 9: 
-      var $39=$2;
-      var $40=(($39+24)|0);
-      var $41=HEAP32[(($40)>>2)];
-      var $42=(($41)|0)!=0;
-      if ($42) { __label__ = 11; break; } else { __label__ = 10; break; }
-    case 10: 
-      $1=0;
-      __label__ = 16; break;
-    case 11: 
-      var $45=$2;
-      var $46=(($45+12)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=$2;
-      var $49=FUNCTION_TABLE[$47]($48, 396);
-      var $50=$49;
-      $encoder=$50;
-      var $51=(($50)|0)!=0;
-      if ($51) { __label__ = 13; break; } else { __label__ = 12; break; }
-    case 12: 
-      $1=0;
-      __label__ = 16; break;
-    case 13: 
-      var $54=$encoder;
-      var $55=$2;
-      var $56=_init_encoder($54, $55);
-      var $57=(($56)|0)!=0;
-      if ($57) { __label__ = 15; break; } else { __label__ = 14; break; }
-    case 14: 
-      var $59=$2;
-      var $60=(($59+16)|0);
-      var $61=HEAP32[(($60)>>2)];
-      var $62=$2;
-      var $63=$encoder;
-      var $64=$63;
-      FUNCTION_TABLE[$61]($62, $64);
-      $1=0;
-      __label__ = 16; break;
-    case 15: 
-      var $66=$encoder;
-      var $67=$66;
-      $1=$67;
-      __label__ = 16; break;
-    case 16: 
-      var $69=$1;
-      ;
-      return $69;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_create["X"]=1;
-
-function _init_encoder($encoder, $usr) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $i;
-      $2=$encoder;
-      $3=$usr;
-      var $4=$3;
-      var $5=$2;
-      var $6=(($5)|0);
-      HEAP32[(($6)>>2)]=$4;
-      var $7=$2;
-      var $8=$2;
-      var $9=(($8+360)|0);
-      var $10=(($9)|0);
-      HEAP32[(($10)>>2)]=$7;
-      $i=0;
-      __label__ = 2; break;
-    case 2: 
-      var $12=$i;
-      var $13=(($12)|0) < 4;
-      if ($13) { __label__ = 3; break; } else { __label__ = 11; break; }
-    case 3: 
-      var $15=$2;
-      var $16=$i;
-      var $17=$2;
-      var $18=(($17+56)|0);
-      var $19=(($18+$16*76)|0);
-      var $20=_init_channel($15, $19);
-      var $21=(($20)|0)!=0;
-      if ($21) { __label__ = 9; break; } else { __label__ = 4; break; }
-    case 4: 
-      var $23=$i;
-      var $24=(($23-1)|0);
-      $i=$24;
-      __label__ = 5; break;
-    case 5: 
-      var $26=$i;
-      var $27=(($26)|0) >= 0;
-      if ($27) { __label__ = 6; break; } else { __label__ = 8; break; }
-    case 6: 
-      var $29=$i;
-      var $30=$2;
-      var $31=(($30+56)|0);
-      var $32=(($31+$29*76)|0);
-      _destroy_channel($32);
-      __label__ = 7; break;
-    case 7: 
-      var $34=$i;
-      var $35=(($34-1)|0);
-      $i=$35;
-      __label__ = 5; break;
-    case 8: 
-      $1=0;
-      __label__ = 12; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      var $39=$i;
-      var $40=(($39+1)|0);
-      $i=$40;
-      __label__ = 2; break;
-    case 11: 
-      $1=1;
-      __label__ = 12; break;
-    case 12: 
-      var $43=$1;
-      ;
-      return $43;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_init_encoder["X"]=1;
-
-function _ceil_log_2($val) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $result;
-      $2=$val;
-      var $3=$2;
-      var $4=(($3)|0)==1;
-      if ($4) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      $1=0;
-      __label__ = 7; break;
-    case 3: 
-      $result=1;
-      var $7=$2;
-      var $8=(($7-1)|0);
-      $2=$8;
-      __label__ = 4; break;
-    case 4: 
-      var $10=$2;
-      var $11=$10 >> 1;
-      $2=$11;
-      var $12=(($11)|0)!=0;
-      if ($12) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      var $14=$result;
-      var $15=(($14+1)|0);
-      $result=$15;
-      __label__ = 4; break;
-    case 6: 
-      var $17=$result;
-      $1=$17;
-      __label__ = 7; break;
-    case 7: 
-      var $19=$1;
-      ;
-      return $19;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _init_zeroLUT() {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $i;
-      var $j;
-      var $k;
-      var $l;
-      $k=1;
-      $j=1;
-      $l=8;
-      $i=0;
-      __label__ = 2; break;
-    case 2: 
-      var $2=$i;
-      var $3=(($2)|0) < 256;
-      if ($3) { __label__ = 3; break; } else { __label__ = 7; break; }
-    case 3: 
-      var $5=$l;
-      var $6=$i;
-      var $7=((_zeroLUT+($6<<2))|0);
-      HEAP32[(($7)>>2)]=$5;
-      var $8=$k;
-      var $9=(($8-1)|0);
-      $k=$9;
-      var $10=$k;
-      var $11=(($10)|0)==0;
-      if ($11) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $13=$j;
-      $k=$13;
-      var $14=$l;
-      var $15=(($14-1)|0);
-      $l=$15;
-      var $16=$j;
-      var $17=((($16<<1))|0);
-      $j=$17;
-      __label__ = 5; break;
-    case 5: 
-      __label__ = 6; break;
-    case 6: 
-      var $20=$i;
-      var $21=(($20+1)|0);
-      $i=$21;
-      __label__ = 2; break;
-    case 7: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _decorelate_init($family, $bpc) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $pixelbitmask;
-      var $pixelbitmaskshr;
-      var $s;
-      $1=$family;
-      $2=$bpc;
-      var $3=$2;
-      var $4=((_bppmask+($3<<2))|0);
-      var $5=HEAP32[(($4)>>2)];
-      $pixelbitmask=$5;
-      var $6=$pixelbitmask;
-      var $7=$6 >>> 1;
-      $pixelbitmaskshr=$7;
-      $s=0;
-      __label__ = 2; break;
-    case 2: 
-      var $9=$s;
-      var $10=$pixelbitmask;
-      var $11=(($9)>>>0) <= (($10)>>>0);
-      if ($11) { __label__ = 3; break; } else { __label__ = 8; break; }
-    case 3: 
-      var $13=$s;
-      var $14=$pixelbitmaskshr;
-      var $15=(($13)>>>0) <= (($14)>>>0);
-      if ($15) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $17=$s;
-      var $18=$17 << 1;
-      var $19=(($18) & 255);
-      var $20=$s;
-      var $21=$1;
-      var $22=(($21+128)|0);
-      var $23=(($22+$20)|0);
-      HEAP8[($23)]=$19;
-      __label__ = 6; break;
-    case 5: 
-      var $25=$pixelbitmask;
-      var $26=$s;
-      var $27=(($25-$26)|0);
-      var $28=$27 << 1;
-      var $29=(($28+1)|0);
-      var $30=(($29) & 255);
-      var $31=$s;
-      var $32=$1;
-      var $33=(($32+128)|0);
-      var $34=(($33+$31)|0);
-      HEAP8[($34)]=$30;
-      __label__ = 6; break;
-    case 6: 
-      __label__ = 7; break;
-    case 7: 
-      var $37=$s;
-      var $38=(($37+1)|0);
-      $s=$38;
-      __label__ = 2; break;
-    case 8: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_decorelate_init["X"]=1;
-
-function _corelate_init($family, $bpc) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $pixelbitmask;
-      var $s;
-      $1=$family;
-      $2=$bpc;
-      var $3=$2;
-      var $4=((_bppmask+($3<<2))|0);
-      var $5=HEAP32[(($4)>>2)];
-      $pixelbitmask=$5;
-      $s=0;
-      __label__ = 2; break;
-    case 2: 
-      var $7=$s;
-      var $8=$pixelbitmask;
-      var $9=(($7)>>>0) <= (($8)>>>0);
-      if ($9) { __label__ = 3; break; } else { __label__ = 8; break; }
-    case 3: 
-      var $11=$s;
-      var $12=$11 & 1;
-      var $13=(($12)|0)!=0;
-      if ($13) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $15=$pixelbitmask;
-      var $16=$s;
-      var $17=$16 >>> 1;
-      var $18=(($15-$17)|0);
-      var $19=$s;
-      var $20=$1;
-      var $21=(($20+384)|0);
-      var $22=(($21+($19<<2))|0);
-      HEAP32[(($22)>>2)]=$18;
-      __label__ = 6; break;
-    case 5: 
-      var $24=$s;
-      var $25=$24 >>> 1;
-      var $26=$s;
-      var $27=$1;
-      var $28=(($27+384)|0);
-      var $29=(($28+($26<<2))|0);
-      HEAP32[(($29)>>2)]=$25;
-      __label__ = 6; break;
-    case 6: 
-      __label__ = 7; break;
-    case 7: 
-      var $32=$s;
-      var $33=(($32+1)|0);
-      $s=$33;
-      __label__ = 2; break;
-    case 8: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _quic_destroy($quic) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $encoder;
-      var $i;
-      $1=$quic;
-      var $2=$1;
-      var $3=$2;
-      $encoder=$3;
-      var $4=$1;
-      var $5=(($4)|0)!=0;
-      if ($5) { __label__ = 3; break; } else { __label__ = 2; break; }
-    case 2: 
-      __label__ = 8; break;
-    case 3: 
-      $i=0;
-      __label__ = 4; break;
-    case 4: 
-      var $9=$i;
-      var $10=(($9)|0) < 4;
-      if ($10) { __label__ = 5; break; } else { __label__ = 7; break; }
-    case 5: 
-      var $12=$i;
-      var $13=$encoder;
-      var $14=(($13+56)|0);
-      var $15=(($14+$12*76)|0);
-      _destroy_channel($15);
-      __label__ = 6; break;
-    case 6: 
-      var $17=$i;
-      var $18=(($17+1)|0);
-      $i=$18;
-      __label__ = 4; break;
-    case 7: 
-      var $20=$encoder;
-      var $21=(($20)|0);
-      var $22=HEAP32[(($21)>>2)];
-      var $23=(($22+16)|0);
-      var $24=HEAP32[(($23)>>2)];
-      var $25=$encoder;
-      var $26=(($25)|0);
-      var $27=HEAP32[(($26)>>2)];
-      var $28=$encoder;
-      var $29=$28;
-      FUNCTION_TABLE[$24]($27, $29);
-      __label__ = 8; break;
-    case 8: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _destroy_channel($channel) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $usr;
-      $1=$channel;
-      var $2=$1;
-      var $3=(($2)|0);
-      var $4=HEAP32[(($3)>>2)];
-      var $5=(($4)|0);
-      var $6=HEAP32[(($5)>>2)];
-      $usr=$6;
-      var $7=$1;
-      var $8=(($7+8)|0);
-      var $9=HEAP32[(($8)>>2)];
-      var $10=(($9)|0)!=0;
-      if ($10) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $12=$usr;
-      var $13=(($12+16)|0);
-      var $14=HEAP32[(($13)>>2)];
-      var $15=$usr;
-      var $16=$1;
-      var $17=(($16+8)|0);
-      var $18=HEAP32[(($17)>>2)];
-      var $19=(($18-1)|0);
-      FUNCTION_TABLE[$14]($15, $19);
-      __label__ = 3; break;
-    case 3: 
-      var $21=$usr;
-      var $22=$1;
-      var $23=(($22+16)|0);
-      _free_family_stat($21, $23);
-      var $24=$usr;
-      var $25=$1;
-      var $26=(($25+28)|0);
-      _free_family_stat($24, $26);
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _quic_init() {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1=HEAP32[((_need_init)>>2)];
-      var $2=(($1)|0)!=0;
-      if ($2) { __label__ = 3; break; } else { __label__ = 2; break; }
-    case 2: 
-      __label__ = 4; break;
-    case 3: 
-      HEAP32[((_need_init)>>2)]=0;
-      _family_init(_family_8bpc, 8, 26);
-      _family_init(_family_5bpc, 5, 26);
-      _init_zeroLUT();
-      __label__ = 4; break;
-    case 4: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _family_init($family, $bpc, $limit) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $l;
-      var $altprefixlen;
-      var $altcodewords;
-      $1=$family;
-      $2=$bpc;
-      $3=$limit;
-      $l=0;
-      __label__ = 2; break;
-    case 2: 
-      var $5=$l;
-      var $6=$2;
-      var $7=(($5)|0) < (($6)|0);
-      if ($7) { __label__ = 3; break; } else { __label__ = 7; break; }
-    case 3: 
-      var $9=$3;
-      var $10=$2;
-      var $11=(($9-$10)|0);
-      $altprefixlen=$11;
-      var $12=$altprefixlen;
-      var $13=$2;
-      var $14=$l;
-      var $15=(($13-$14)|0);
-      var $16=((_bppmask+($15<<2))|0);
-      var $17=HEAP32[(($16)>>2)];
-      var $18=(($12)|0) > (($17)|0);
-      if ($18) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $20=$2;
-      var $21=$l;
-      var $22=(($20-$21)|0);
-      var $23=((_bppmask+($22<<2))|0);
-      var $24=HEAP32[(($23)>>2)];
-      $altprefixlen=$24;
-      __label__ = 5; break;
-    case 5: 
-      var $26=$2;
-      var $27=((_bppmask+($26<<2))|0);
-      var $28=HEAP32[(($27)>>2)];
-      var $29=(($28+1)|0);
-      var $30=$altprefixlen;
-      var $31=$l;
-      var $32=$30 << $31;
-      var $33=(($29-$32)|0);
-      $altcodewords=$33;
-      var $34=$altprefixlen;
-      var $35=$l;
-      var $36=$34 << $35;
-      var $37=$l;
-      var $38=$1;
-      var $39=(($38)|0);
-      var $40=(($39+($37<<2))|0);
-      HEAP32[(($40)>>2)]=$36;
-      var $41=$altprefixlen;
-      var $42=$altcodewords;
-      var $43=_ceil_log_2($42);
-      var $44=(($41+$43)|0);
-      var $45=$l;
-      var $46=$1;
-      var $47=(($46+32)|0);
-      var $48=(($47+($45<<2))|0);
-      HEAP32[(($48)>>2)]=$44;
-      var $49=$altprefixlen;
-      var $50=((32-$49)|0);
-      var $51=((_bppmask+($50<<2))|0);
-      var $52=HEAP32[(($51)>>2)];
-      var $53=$l;
-      var $54=$1;
-      var $55=(($54+64)|0);
-      var $56=(($55+($53<<2))|0);
-      HEAP32[(($56)>>2)]=$52;
-      var $57=$altcodewords;
-      var $58=_ceil_log_2($57);
-      var $59=$l;
-      var $60=$1;
-      var $61=(($60+96)|0);
-      var $62=(($61+($59<<2))|0);
-      HEAP32[(($62)>>2)]=$58;
-      __label__ = 6; break;
-    case 6: 
-      var $64=$l;
-      var $65=(($64+1)|0);
-      $l=$65;
-      __label__ = 2; break;
-    case 7: 
-      var $67=$1;
-      var $68=$2;
-      _decorelate_init($67, $68);
-      var $69=$1;
-      var $70=$2;
-      _corelate_init($69, $70);
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_family_init["X"]=1;
-
-function _usr_msg($usr, $fmt) {
-  var __stackBase__  = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-
-  var $1;
-  var $2;
-  var $ap=__stackBase__;
-  $1=$usr;
-  $2=$fmt;
-  var $3=$ap;
-  HEAP32[(($3)>>2)]=arguments[_usr_msg.length];
-  var $4=HEAP32[((_stderr)>>2)];
-  var $5=$2;
-  var $6=HEAP32[(($ap)>>2)];
-  var $7=_vfprintf($4, $5, $6);
-  var $8=$ap;
-  ;
-  STACKTOP = __stackBase__;
-  return;
-}
-
-
-function _usr_malloc($usr, $size) {
-  ;
-  var __label__;
-
-  var $1;
-  var $2;
-  $1=$usr;
-  $2=$size;
-  var $3=$2;
-  var $4=_malloc($3);
-  ;
-  return $4;
-}
-
-
-function _usr_free($usr, $ptr) {
-  ;
-  var __label__;
-
-  var $1;
-  var $2;
-  $1=$usr;
-  $2=$ptr;
-  var $3=$2;
-  _free($3);
-  ;
-  return;
-}
-
-
-function _usr_more_space($usr, $io_ptr, $rows_completed) {
-  var __stackBase__  = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-
-  var $1;
-  var $2;
-  var $3;
-  $1=$usr;
-  $2=$io_ptr;
-  $3=$rows_completed;
-  var $4=$3;
-  var $5=_printf(((STRING_TABLE.__str32)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$4,tempInt));
-  STACKTOP = __stackBase__;
-  return 0;
-}
-
-
-function _usr_more_lines($usr, $lines) {
-  var __stackBase__  = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-
-  var $1;
-  var $2;
-  $1=$usr;
-  $2=$lines;
-  var $3=_printf(((STRING_TABLE.__str33)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-  STACKTOP = __stackBase__;
-  return 0;
-}
-
-
-function _print_a_line($p, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $pixel;
-      $1=$p;
-      $2=$width;
-      var $3=$1;
-      var $4=$3;
-      $pixel=$4;
-      __label__ = 2; break;
-    case 2: 
-      var $6=$2;
-      var $7=(($6)|0) > 0;
-      if ($7) { __label__ = 3; break; } else { __label__ = 8; break; }
-    case 3: 
-      var $9=$pixel;
-      var $10=(($9+4)|0);
-      $pixel=$10;
-      var $11=HEAP32[(($9)>>2)];
-      var $12=(($11)|0)!=0;
-      if ($12) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $14=_printf(((STRING_TABLE.__str34)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      __label__ = 6; break;
-    case 5: 
-      var $16=_printf(((STRING_TABLE.__str35)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      __label__ = 6; break;
-    case 6: 
-      __label__ = 7; break;
-    case 7: 
-      var $19=$2;
-      var $20=(($19-1)|0);
-      $2=$20;
-      __label__ = 2; break;
-    case 8: 
-      var $22=_printf(((STRING_TABLE.__str36)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _simple_quic_init() {
-  ;
-  var __label__;
-
-  var $usr;
-  var $1=_malloc(28);
-  var $2=$1;
-  $usr=$2;
-  var $3=$usr;
-  var $4=(($3+8)|0);
-  HEAP32[(($4)>>2)]=2;
-  var $5=$usr;
-  var $6=(($5)|0);
-  HEAP32[(($6)>>2)]=2;
-  var $7=$usr;
-  var $8=(($7+4)|0);
-  HEAP32[(($8)>>2)]=2;
-  var $9=$usr;
-  var $10=(($9+12)|0);
-  HEAP32[(($10)>>2)]=4;
-  var $11=$usr;
-  var $12=(($11+16)|0);
-  HEAP32[(($12)>>2)]=6;
-  var $13=$usr;
-  var $14=(($13+20)|0);
-  HEAP32[(($14)>>2)]=8;
-  var $15=$usr;
-  var $16=(($15+24)|0);
-  HEAP32[(($16)>>2)]=10;
-  _quic_init();
-  var $17=$usr;
-  var $18=_quic_create($17);
-  ;
-  return $18;
-}
-
-
-function _simple_quic_term($q) {
-  ;
-  var __label__;
-
-  var $1;
-  $1=$q;
-  var $2=$1;
-  _quic_destroy($2);
-  ;
-  return;
-}
-
-
-function _simple_quic_decode($q, $in, $inlen, $type, $width, $height, $out) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $8;
-      var $rc;
-      var $stride;
-      $2=$q;
-      $3=$in;
-      $4=$inlen;
-      $5=$type;
-      $6=$width;
-      $7=$height;
-      $8=$out;
-      $stride=4;
-      var $9=$2;
-      var $10=$3;
-      var $11=$10;
-      var $12=$4;
-      var $13=Math.floor((($12)>>>0)/4);
-      var $14=$5;
-      var $15=$6;
-      var $16=$7;
-      var $17=_quic_decode_begin($9, $11, $13, $14, $15, $16);
-      $rc=$17;
-      var $18=$rc;
-      var $19=(($18)|0)!=0;
-      if ($19) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $21=$rc;
-      $1=$21;
-      __label__ = 7; break;
-    case 3: 
-      var $23=$5;
-      var $24=HEAP32[(($23)>>2)];
-      var $25=(($24)|0)!=4;
-      if ($25) { __label__ = 4; break; } else { __label__ = 6; break; }
-    case 4: 
-      var $27=$5;
-      var $28=HEAP32[(($27)>>2)];
-      var $29=(($28)|0)!=5;
-      if ($29) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      var $31=HEAP32[((_stderr)>>2)];
-      var $32=$5;
-      var $33=HEAP32[(($32)>>2)];
-      var $34=_fprintf($31, ((STRING_TABLE.__str37)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$33,tempInt));
-      $1=-1;
-      __label__ = 7; break;
-    case 6: 
-      var $36=$6;
-      var $37=HEAP32[(($36)>>2)];
-      var $38=$7;
-      var $39=HEAP32[(($38)>>2)];
-      var $40=(($37*$39)|0);
-      var $41=$stride;
-      var $42=(($40*$41)|0);
-      var $43=_malloc($42);
-      var $44=$8;
-      HEAP32[(($44)>>2)]=$43;
-      var $45=$8;
-      var $46=HEAP32[(($45)>>2)];
-      HEAP8[($46)]=69;
-      var $47=$2;
-      var $48=$5;
-      var $49=HEAP32[(($48)>>2)];
-      var $50=$8;
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$6;
-      var $53=HEAP32[(($52)>>2)];
-      var $54=$stride;
-      var $55=(($53*$54)|0);
-      var $56=_quic_decode($47, $49, $51, $55);
-      $rc=$56;
-      var $57=$rc;
-      $1=$57;
-      __label__ = 7; break;
-    case 7: 
-      var $59=$1;
-      ;
-      return $59;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_simple_quic_decode["X"]=1;
-
-function _quic_decode_js($in, $inlen) {
-  var __stackBase__  = STACKTOP; STACKTOP += 16; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $rc;
-      var $type=__stackBase__;
-      var $width=__stackBase__+4;
-      var $height=__stackBase__+8;
-      var $out=__stackBase__+12;
-      $1=$in;
-      $2=$inlen;
-      var $3=HEAP32[((_quic_decode_js_q)>>2)];
-      var $4=(($3)|0)!=0;
-      if ($4) { __label__ = 3; break; } else { __label__ = 2; break; }
-    case 2: 
-      var $6=_simple_quic_init();
-      HEAP32[((_quic_decode_js_q)>>2)]=$6;
-      __label__ = 3; break;
-    case 3: 
-      var $8=HEAP32[((_quic_decode_js_q)>>2)];
-      var $9=$1;
-      var $10=$2;
-      var $11=_simple_quic_decode($8, $9, $10, $type, $width, $height, $out);
-
-      var ret = new Object;
-      ret.type = HEAP32[$type>>2];
-      ret.width = HEAP32[$width>>2];
-      ret.height = HEAP32[$height>>2];
-      var outptr = HEAP32[$out>>2];
-      ret.imgData = global_ctx.createImageData(ret.width, ret.height);
-      var i;
-      for (i = 0; i < (ret.width * ret.height * 4); i+=4)
-      {
-         ret.imgData.data[i + 0] = HEAPU8[outptr + i + 2];
-         ret.imgData.data[i + 1] = HEAPU8[outptr + i + 1];
-         ret.imgData.data[i + 2] = HEAPU8[outptr + i + 0];
-         if (ret.type == 4)
-             ret.imgData.data[i + 3] = 255;
-         else
-             ret.imgData.data[i + 3] = HEAPU8[outptr + i + 3];
-      }
-
-      $rc=$11;
-      var $12=$rc;
-      STACKTOP = __stackBase__;
-      return ret;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _free_family_stat($usr, $family_stat) {
-  ;
-  var __label__;
-
-  var $1;
-  var $2;
-  $1=$usr;
-  $2=$family_stat;
-  var $3=$1;
-  var $4=(($3+16)|0);
-  var $5=HEAP32[(($4)>>2)];
-  var $6=$1;
-  var $7=$2;
-  var $8=(($7)|0);
-  var $9=HEAP32[(($8)>>2)];
-  var $10=$9;
-  FUNCTION_TABLE[$5]($6, $10);
-  var $11=$1;
-  var $12=(($11+16)|0);
-  var $13=HEAP32[(($12)>>2)];
-  var $14=$1;
-  var $15=$2;
-  var $16=(($15+8)|0);
-  var $17=HEAP32[(($16)>>2)];
-  var $18=$17;
-  FUNCTION_TABLE[$13]($14, $18);
-  var $19=$1;
-  var $20=(($19+16)|0);
-  var $21=HEAP32[(($20)>>2)];
-  var $22=$1;
-  var $23=$2;
-  var $24=(($23+4)|0);
-  var $25=HEAP32[(($24)>>2)];
-  var $26=$25;
-  FUNCTION_TABLE[$21]($22, $26);
-  ;
-  return;
-}
-
-
-function _main($argc, $argv) {
-  var __stackBase__  = STACKTOP; STACKTOP += 10560; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $q;
-      var $membuf1=__stackBase__;
-      var $membuf2=__stackBase__+188;
-      var $p;
-      var $buf2=__stackBase__+10544;
-      var $fp;
-      var $i;
-      var $rc;
-      var $len;
-      var $type=__stackBase__+10548;
-      var $width=__stackBase__+10552;
-      var $height=__stackBase__+10556;
-      var $j;
-      $1=0;
-      $2=$argc;
-      $3=$argv;
-      var $4=$membuf1;
-      assert(188 % 1 === 0, 'memcpy given ' + 188 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($4, ((STRING_TABLE._main_membuf1)|0), 188, 1);
-      var $5=$membuf2;
-      assert(10356 % 1 === 0, 'memcpy given ' + 10356 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($5, ((STRING_TABLE._main_membuf2)|0), 10356, 1);
-      var $6=_simple_quic_init();
-      $q=$6;
-      var $7=$q;
-      var $8=(($7)|0)!=0;
-      if ($8) { __label__ = 2; break; } else { __label__ = 26; break; }
-    case 2: 
-      $i=1;
-      __label__ = 3; break;
-    case 3: 
-      var $11=$i;
-      var $12=$2;
-      var $13=(($11)|0) < (($12)|0);
-      if ($13) { __label__ = 4; break; } else { __label__ = 25; break; }
-    case 4: 
-      var $15=$i;
-      var $16=$3;
-      var $17=(($16+($15<<2))|0);
-      var $18=HEAP32[(($17)>>2)];
-      var $19=_strcmp($18, ((STRING_TABLE.__str38)|0));
-      var $20=(($19)|0)==0;
-      if ($20) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      var $22=(($membuf1)|0);
-      $p=$22;
-      $len=188;
-      __label__ = 17; break;
-    case 6: 
-      var $24=$i;
-      var $25=$3;
-      var $26=(($25+($24<<2))|0);
-      var $27=HEAP32[(($26)>>2)];
-      var $28=_strcmp($27, ((STRING_TABLE.__str39)|0));
-      var $29=(($28)|0)==0;
-      if ($29) { __label__ = 7; break; } else { __label__ = 8; break; }
-    case 7: 
-      var $31=(($membuf2)|0);
-      $p=$31;
-      $len=10356;
-      __label__ = 16; break;
-    case 8: 
-      var $33=$i;
-      var $34=$3;
-      var $35=(($34+($33<<2))|0);
-      var $36=HEAP32[(($35)>>2)];
-      var $37=_fopen($36, ((STRING_TABLE.__str40)|0));
-      $fp=$37;
-      var $38=$fp;
-      var $39=(($38)|0)!=0;
-      if ($39) { __label__ = 9; break; } else { __label__ = 14; break; }
-    case 9: 
-      var $41=$fp;
-      var $42=_fread(((_main_buf)|0), 1, 1048576, $41);
-      $len=$42;
-      var $43=$i;
-      var $44=$3;
-      var $45=(($44+($43<<2))|0);
-      var $46=HEAP32[(($45)>>2)];
-      var $47=$len;
-      var $48=_printf(((STRING_TABLE.__str41)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$46,HEAP32[((tempInt+4)>>2)]=$47,tempInt));
-      $p=((_main_buf)|0);
-      var $49=$len;
-      var $50=(($49)>>>0) >= 1048572;
-      if ($50) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $52=HEAP32[((_stderr)>>2)];
-      var $53=$i;
-      var $54=$3;
-      var $55=(($54+($53<<2))|0);
-      var $56=HEAP32[(($55)>>2)];
-      var $57=_fprintf($52, ((STRING_TABLE.__str42)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$56,tempInt));
-      _exit(1);
-      throw "Reached an unreachable!"
-    case 11: 
-      var $59=$len;
-      var $60=(($59)|0)==0;
-      if ($60) { __label__ = 12; break; } else { __label__ = 13; break; }
-    case 12: 
-      var $62=HEAP32[((_stderr)>>2)];
-      var $63=$i;
-      var $64=$3;
-      var $65=(($64+($63<<2))|0);
-      var $66=HEAP32[(($65)>>2)];
-      var $67=_fprintf($62, ((STRING_TABLE.__str43)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$66,tempInt));
-      _exit(1);
-      throw "Reached an unreachable!"
-    case 13: 
-      var $69=$fp;
-      var $70=_fclose($69);
-      __label__ = 15; break;
-    case 14: 
-      var $72=HEAP32[((_stderr)>>2)];
-      var $73=$i;
-      var $74=$3;
-      var $75=(($74+($73<<2))|0);
-      var $76=HEAP32[(($75)>>2)];
-      var $77=_fprintf($72, ((STRING_TABLE.__str44)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$76,tempInt));
-      _exit(1);
-      throw "Reached an unreachable!"
-    case 15: 
-      __label__ = 16; break;
-    case 16: 
-      __label__ = 17; break;
-    case 17: 
-      var $81=$q;
-      var $82=$p;
-      var $83=$len;
-      var $84=_simple_quic_decode($81, $82, $83, $type, $width, $height, $buf2);
-      $rc=$84;
-      var $85=$rc;
-      var $86=(($85)|0)==0;
-      if ($86) { __label__ = 18; break; } else { __label__ = 23; break; }
-    case 18: 
-      $j=0;
-      __label__ = 19; break;
-    case 19: 
-      var $89=$j;
-      var $90=HEAP32[(($height)>>2)];
-      var $91=(($89)|0) < (($90)|0);
-      if ($91) { __label__ = 20; break; } else { __label__ = 22; break; }
-    case 20: 
-      var $93=HEAP32[(($buf2)>>2)];
-      var $94=$j;
-      var $95=HEAP32[(($width)>>2)];
-      var $96=(($94*$95)|0);
-      var $97=((($96<<2))|0);
-      var $98=(($93+$97)|0);
-      var $99=HEAP32[(($width)>>2)];
-      _print_a_line($98, $99);
-      __label__ = 21; break;
-    case 21: 
-      var $101=$j;
-      var $102=(($101+1)|0);
-      $j=$102;
-      __label__ = 19; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      __label__ = 24; break;
-    case 24: 
-      var $106=$i;
-      var $107=(($106+1)|0);
-      $i=$107;
-      __label__ = 3; break;
-    case 25: 
-      var $109=$q;
-      _simple_quic_term($109);
-      __label__ = 26; break;
-    case 26: 
-      var $111=(($membuf2)|0);
-      var $112=_quic_decode_js($111, 10356);
-      STACKTOP = __stackBase__;
-      return 0;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-Module["_main"] = _main;_main["X"]=1;
-
-function _init_channel($encoder, $channel) {
-  var __stackBase__  = STACKTOP; STACKTOP += 32; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $ncounters=__stackBase__;
-      var $levels=__stackBase__+4;
-      var $rep_first=__stackBase__+8;
-      var $first_size=__stackBase__+12;
-      var $rep_next=__stackBase__+16;
-      var $mul_size=__stackBase__+20;
-      var $n_buckets=__stackBase__+24;
-      var $n_buckets_ptrs=__stackBase__+28;
-      $2=$encoder;
-      $3=$channel;
-      var $4=$2;
-      var $5=$3;
-      var $6=(($5)|0);
-      HEAP32[(($6)>>2)]=$4;
-      var $7=$2;
-      var $8=$3;
-      var $9=(($8+40)|0);
-      var $10=(($9)|0);
-      HEAP32[(($10)>>2)]=$7;
-      var $11=$3;
-      var $12=(($11+4)|0);
-      HEAP32[(($12)>>2)]=0;
-      var $13=$3;
-      var $14=(($13+8)|0);
-      HEAP32[(($14)>>2)]=0;
-      var $15=$2;
-      _find_model_params($15, 8, $ncounters, $levels, $n_buckets_ptrs, $rep_first, $first_size, $rep_next, $mul_size, $n_buckets);
-      var $16=HEAP32[(($n_buckets)>>2)];
-      var $17=$2;
-      var $18=(($17+20)|0);
-      HEAP32[(($18)>>2)]=$16;
-      var $19=$2;
-      var $20=$3;
-      var $21=(($20+16)|0);
-      var $22=HEAP32[(($rep_first)>>2)];
-      var $23=HEAP32[(($first_size)>>2)];
-      var $24=HEAP32[(($rep_next)>>2)];
-      var $25=HEAP32[(($mul_size)>>2)];
-      var $26=HEAP32[(($levels)>>2)];
-      var $27=HEAP32[(($ncounters)>>2)];
-      var $28=HEAP32[(($n_buckets_ptrs)>>2)];
-      var $29=HEAP32[(($n_buckets)>>2)];
-      var $30=_init_model_structures($19, $21, $22, $23, $24, $25, $26, $27, $28, $29);
-      var $31=(($30)|0)!=0;
-      if ($31) { __label__ = 3; break; } else { __label__ = 2; break; }
-    case 2: 
-      $1=0;
-      __label__ = 6; break;
-    case 3: 
-      var $34=$2;
-      _find_model_params($34, 5, $ncounters, $levels, $n_buckets_ptrs, $rep_first, $first_size, $rep_next, $mul_size, $n_buckets);
-      var $35=HEAP32[(($n_buckets)>>2)];
-      var $36=$2;
-      var $37=(($36+24)|0);
-      HEAP32[(($37)>>2)]=$35;
-      var $38=$2;
-      var $39=$3;
-      var $40=(($39+28)|0);
-      var $41=HEAP32[(($rep_first)>>2)];
-      var $42=HEAP32[(($first_size)>>2)];
-      var $43=HEAP32[(($rep_next)>>2)];
-      var $44=HEAP32[(($mul_size)>>2)];
-      var $45=HEAP32[(($levels)>>2)];
-      var $46=HEAP32[(($ncounters)>>2)];
-      var $47=HEAP32[(($n_buckets_ptrs)>>2)];
-      var $48=HEAP32[(($n_buckets)>>2)];
-      var $49=_init_model_structures($38, $40, $41, $42, $43, $44, $45, $46, $47, $48);
-      var $50=(($49)|0)!=0;
-      if ($50) { __label__ = 5; break; } else { __label__ = 4; break; }
-    case 4: 
-      var $52=$2;
-      var $53=(($52)|0);
-      var $54=HEAP32[(($53)>>2)];
-      var $55=$3;
-      var $56=(($55+16)|0);
-      _free_family_stat($54, $56);
-      $1=0;
-      __label__ = 6; break;
-    case 5: 
-      $1=1;
-      __label__ = 6; break;
-    case 6: 
-      var $59=$1;
-      STACKTOP = __stackBase__;
-      return $59;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_init_channel["X"]=1;
-
-function _find_model_params($encoder, $bpc, $ncounters, $levels, $n_buckets_ptrs, $repfirst, $firstsize, $repnext, $mulsize, $nbuckets) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $8;
-      var $9;
-      var $10;
-      var $bsize;
-      var $bstart;
-      var $bend;
-      var $repcntr;
-      var $_g_boolean_var_;
-      $1=$encoder;
-      $2=$bpc;
-      $3=$ncounters;
-      $4=$levels;
-      $5=$n_buckets_ptrs;
-      $6=$repfirst;
-      $7=$firstsize;
-      $8=$repnext;
-      $9=$mulsize;
-      $10=$nbuckets;
-      $bend=0;
-      __label__ = 2; break;
-    case 2: 
-      var $12=$2;
-      var $13=(($12)|0) <= 8;
-      if ($13) { __label__ = 3; break; } else { __label__ = 5; break; }
-    case 3: 
-      var $15=$2;
-      var $16=(($15)|0) > 0;
-      if ($16) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      $_g_boolean_var_=1;
-      __label__ = 6; break;
-    case 5: 
-      $_g_boolean_var_=0;
-      __label__ = 6; break;
-    case 6: 
-      var $20=$_g_boolean_var_;
-      var $21=(($20)==(1));
-      var $22=(($21)|0)!=0;
-      if ($22) { __label__ = 7; break; } else { __label__ = 8; break; }
-    case 7: 
-      __label__ = 11; break;
-    case 8: 
-      __label__ = 9; break;
-    case 9: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str51)|0), ((STRING_TABLE.___FUNCTION___find_model_params)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str52)|0),tempInt));
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      var $29=$3;
-      HEAP32[(($29)>>2)]=8;
-      var $30=$2;
-      var $31=1 << $30;
-      var $32=$4;
-      HEAP32[(($32)>>2)]=$31;
-      var $33=$5;
-      HEAP32[(($33)>>2)]=0;
-      var $34=HEAP32[((_evol)>>2)];
-      if ((($34)|0) == 1) {
-        __label__ = 13; break;
-      }
-      else if ((($34)|0) == 3) {
-        __label__ = 14; break;
-      }
-      else if ((($34)|0) == 5) {
-        __label__ = 15; break;
-      }
-      else if ((($34)|0) == 0 || (($34)|0) == 2 || (($34)|0) == 4) {
-        __label__ = 16; break;
-      }
-      else {
-      __label__ = 17; break;
-      }
-      
-    case 13: 
-      var $36=$6;
-      HEAP32[(($36)>>2)]=3;
-      var $37=$7;
-      HEAP32[(($37)>>2)]=1;
-      var $38=$8;
-      HEAP32[(($38)>>2)]=2;
-      var $39=$9;
-      HEAP32[(($39)>>2)]=2;
-      __label__ = 18; break;
-    case 14: 
-      var $41=$6;
-      HEAP32[(($41)>>2)]=1;
-      var $42=$7;
-      HEAP32[(($42)>>2)]=1;
-      var $43=$8;
-      HEAP32[(($43)>>2)]=1;
-      var $44=$9;
-      HEAP32[(($44)>>2)]=2;
-      __label__ = 18; break;
-    case 15: 
-      var $46=$6;
-      HEAP32[(($46)>>2)]=1;
-      var $47=$7;
-      HEAP32[(($47)>>2)]=1;
-      var $48=$8;
-      HEAP32[(($48)>>2)]=1;
-      var $49=$9;
-      HEAP32[(($49)>>2)]=4;
-      __label__ = 18; break;
-    case 16: 
-      var $51=$1;
-      var $52=(($51)|0);
-      var $53=HEAP32[(($52)>>2)];
-      var $54=(($53)|0);
-      var $55=HEAP32[(($54)>>2)];
-      var $56=$1;
-      var $57=(($56)|0);
-      var $58=HEAP32[(($57)>>2)];
-      FUNCTION_TABLE[$55]($58, ((STRING_TABLE.__str53)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      __label__ = 17; break;
-    case 17: 
-      var $60=$1;
-      var $61=(($60)|0);
-      var $62=HEAP32[(($61)>>2)];
-      var $63=(($62)|0);
-      var $64=HEAP32[(($63)>>2)];
-      var $65=$1;
-      var $66=(($65)|0);
-      var $67=HEAP32[(($66)>>2)];
-      FUNCTION_TABLE[$64]($67, ((STRING_TABLE.__str54)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
-      __label__ = 18; break;
-    case 18: 
-      var $69=$10;
-      HEAP32[(($69)>>2)]=0;
-      var $70=$6;
-      var $71=HEAP32[(($70)>>2)];
-      var $72=(($71+1)|0);
-      $repcntr=$72;
-      var $73=$7;
-      var $74=HEAP32[(($73)>>2)];
-      $bsize=$74;
-      __label__ = 19; break;
-    case 19: 
-      var $76=$10;
-      var $77=(($76)|0)!=0;
-      if ($77) { __label__ = 20; break; } else { __label__ = 21; break; }
-    case 20: 
-      var $79=$bend;
-      var $80=(($79+1)|0);
-      $bstart=$80;
-      __label__ = 22; break;
-    case 21: 
-      $bstart=0;
-      __label__ = 22; break;
-    case 22: 
-      var $83=$repcntr;
-      var $84=(($83-1)|0);
-      $repcntr=$84;
-      var $85=(($84)|0)!=0;
-      if ($85) { __label__ = 24; break; } else { __label__ = 23; break; }
-    case 23: 
-      var $87=$8;
-      var $88=HEAP32[(($87)>>2)];
-      $repcntr=$88;
-      var $89=$9;
-      var $90=HEAP32[(($89)>>2)];
-      var $91=$bsize;
-      var $92=(($91*$90)|0);
-      $bsize=$92;
-      __label__ = 24; break;
-    case 24: 
-      var $94=$bstart;
-      var $95=$bsize;
-      var $96=(($94+$95)|0);
-      var $97=(($96-1)|0);
-      $bend=$97;
-      var $98=$bend;
-      var $99=$bsize;
-      var $100=(($98+$99)|0);
-      var $101=$4;
-      var $102=HEAPU32[(($101)>>2)];
-      var $103=(($100)>>>0) >= (($102)>>>0);
-      if ($103) { __label__ = 25; break; } else { __label__ = 26; break; }
-    case 25: 
-      var $105=$4;
-      var $106=HEAP32[(($105)>>2)];
-      var $107=(($106-1)|0);
-      $bend=$107;
-      __label__ = 26; break;
-    case 26: 
-      var $109=$5;
-      var $110=HEAP32[(($109)>>2)];
-      var $111=(($110)|0)!=0;
-      if ($111) { __label__ = 28; break; } else { __label__ = 27; break; }
-    case 27: 
-      var $113=$4;
-      var $114=HEAP32[(($113)>>2)];
-      var $115=$5;
-      HEAP32[(($115)>>2)]=$114;
-      __label__ = 28; break;
-    case 28: 
-      var $117=$10;
-      var $118=HEAP32[(($117)>>2)];
-      var $119=(($118+1)|0);
-      HEAP32[(($117)>>2)]=$119;
-      __label__ = 29; break;
-    case 29: 
-      var $121=$bend;
-      var $122=$4;
-      var $123=HEAP32[(($122)>>2)];
-      var $124=(($123-1)|0);
-      var $125=(($121)>>>0) < (($124)>>>0);
-      if ($125) { __label__ = 19; break; } else { __label__ = 30; break; }
-    case 30: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_find_model_params["X"]=1;
-
-function _init_model_structures($encoder, $family_stat, $rep_first, $first_size, $rep_next, $mul_size, $levels, $ncounters, $n_buckets_ptrs, $n_buckets) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $8;
-      var $9;
-      var $10;
-      var $11;
-      $2=$encoder;
-      $3=$family_stat;
-      $4=$rep_first;
-      $5=$first_size;
-      $6=$rep_next;
-      $7=$mul_size;
-      $8=$levels;
-      $9=$ncounters;
-      $10=$n_buckets_ptrs;
-      $11=$n_buckets;
-      var $12=$2;
-      var $13=(($12)|0);
-      var $14=HEAP32[(($13)>>2)];
-      var $15=(($14+12)|0);
-      var $16=HEAP32[(($15)>>2)];
-      var $17=$2;
-      var $18=(($17)|0);
-      var $19=HEAP32[(($18)>>2)];
-      var $20=$10;
-      var $21=((($20<<2))|0);
-      var $22=FUNCTION_TABLE[$16]($19, $21);
-      var $23=$22;
-      var $24=$3;
-      var $25=(($24)|0);
-      HEAP32[(($25)>>2)]=$23;
-      var $26=$3;
-      var $27=(($26)|0);
-      var $28=HEAP32[(($27)>>2)];
-      var $29=(($28)|0)!=0;
-      if ($29) { __label__ = 3; break; } else { __label__ = 2; break; }
-    case 2: 
-      $1=0;
-      __label__ = 10; break;
-    case 3: 
-      var $32=$2;
-      var $33=(($32)|0);
-      var $34=HEAP32[(($33)>>2)];
-      var $35=(($34+12)|0);
-      var $36=HEAP32[(($35)>>2)];
-      var $37=$2;
-      var $38=(($37)|0);
-      var $39=HEAP32[(($38)>>2)];
-      var $40=$11;
-      var $41=((($40<<2))|0);
-      var $42=((($41<<3))|0);
-      var $43=FUNCTION_TABLE[$36]($39, $42);
-      var $44=$43;
-      var $45=$3;
-      var $46=(($45+8)|0);
-      HEAP32[(($46)>>2)]=$44;
-      var $47=$3;
-      var $48=(($47+8)|0);
-      var $49=HEAP32[(($48)>>2)];
-      var $50=(($49)|0)!=0;
-      if ($50) { __label__ = 5; break; } else { __label__ = 4; break; }
-    case 4: 
-      __label__ = 9; break;
-    case 5: 
-      var $53=$2;
-      var $54=(($53)|0);
-      var $55=HEAP32[(($54)>>2)];
-      var $56=(($55+12)|0);
-      var $57=HEAP32[(($56)>>2)];
-      var $58=$2;
-      var $59=(($58)|0);
-      var $60=HEAP32[(($59)>>2)];
-      var $61=$11;
-      var $62=((($61<<3))|0);
-      var $63=FUNCTION_TABLE[$57]($60, $62);
-      var $64=$63;
-      var $65=$3;
-      var $66=(($65+4)|0);
-      HEAP32[(($66)>>2)]=$64;
-      var $67=$3;
-      var $68=(($67+4)|0);
-      var $69=HEAP32[(($68)>>2)];
-      var $70=(($69)|0)!=0;
-      if ($70) { __label__ = 7; break; } else { __label__ = 6; break; }
-    case 6: 
-      __label__ = 8; break;
-    case 7: 
-      var $73=$2;
-      var $74=$3;
-      var $75=$4;
-      var $76=$5;
-      var $77=$6;
-      var $78=$7;
-      var $79=$8;
-      var $80=$9;
-      var $81=$11;
-      var $82=$10;
-      _fill_model_structures($73, $74, $75, $76, $77, $78, $79, $80, $81, $82);
-      $1=1;
-      __label__ = 10; break;
-    case 8: 
-      var $84=$2;
-      var $85=(($84)|0);
-      var $86=HEAP32[(($85)>>2)];
-      var $87=(($86+16)|0);
-      var $88=HEAP32[(($87)>>2)];
-      var $89=$2;
-      var $90=(($89)|0);
-      var $91=HEAP32[(($90)>>2)];
-      var $92=$3;
-      var $93=(($92+8)|0);
-      var $94=HEAP32[(($93)>>2)];
-      var $95=$94;
-      FUNCTION_TABLE[$88]($91, $95);
-      __label__ = 9; break;
-    case 9: 
-      var $97=$2;
-      var $98=(($97)|0);
-      var $99=HEAP32[(($98)>>2)];
-      var $100=(($99+16)|0);
-      var $101=HEAP32[(($100)>>2)];
-      var $102=$2;
-      var $103=(($102)|0);
-      var $104=HEAP32[(($103)>>2)];
-      var $105=$3;
-      var $106=(($105)|0);
-      var $107=HEAP32[(($106)>>2)];
-      var $108=$107;
-      FUNCTION_TABLE[$101]($104, $108);
-      $1=0;
-      __label__ = 10; break;
-    case 10: 
-      var $110=$1;
-      ;
-      return $110;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_init_model_structures["X"]=1;
-
-function _fill_model_structures($encoder, $family_stat, $rep_first, $first_size, $rep_next, $mul_size, $levels, $ncounters, $nbuckets, $n_buckets_ptrs) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $8;
-      var $9;
-      var $10;
-      var $bsize;
-      var $bstart;
-      var $bend;
-      var $repcntr;
-      var $bnumber;
-      var $free_counter;
-      var $_g_boolean_var_;
-      var $i;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$family_stat;
-      $3=$rep_first;
-      $4=$first_size;
-      $5=$rep_next;
-      $6=$mul_size;
-      $7=$levels;
-      $8=$ncounters;
-      $9=$nbuckets;
-      $10=$n_buckets_ptrs;
-      $bend=0;
-      var $11=$2;
-      var $12=(($11+8)|0);
-      var $13=HEAP32[(($12)>>2)];
-      $free_counter=$13;
-      $bnumber=0;
-      var $14=$3;
-      var $15=(($14+1)|0);
-      $repcntr=$15;
-      var $16=$4;
-      $bsize=$16;
-      __label__ = 2; break;
-    case 2: 
-      var $18=$bnumber;
-      var $19=(($18)|0)!=0;
-      if ($19) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      var $21=$bend;
-      var $22=(($21+1)|0);
-      $bstart=$22;
-      __label__ = 5; break;
-    case 4: 
-      $bstart=0;
-      __label__ = 5; break;
-    case 5: 
-      var $25=$repcntr;
-      var $26=(($25-1)|0);
-      $repcntr=$26;
-      var $27=(($26)|0)!=0;
-      if ($27) { __label__ = 7; break; } else { __label__ = 6; break; }
-    case 6: 
-      var $29=$5;
-      $repcntr=$29;
-      var $30=$6;
-      var $31=$bsize;
-      var $32=(($31*$30)|0);
-      $bsize=$32;
-      __label__ = 7; break;
-    case 7: 
-      var $34=$bstart;
-      var $35=$bsize;
-      var $36=(($34+$35)|0);
-      var $37=(($36-1)|0);
-      $bend=$37;
-      var $38=$bend;
-      var $39=$bsize;
-      var $40=(($38+$39)|0);
-      var $41=$7;
-      var $42=(($40)>>>0) >= (($41)>>>0);
-      if ($42) { __label__ = 8; break; } else { __label__ = 9; break; }
-    case 8: 
-      var $44=$7;
-      var $45=(($44-1)|0);
-      $bend=$45;
-      __label__ = 9; break;
-    case 9: 
-      var $47=$free_counter;
-      var $48=$bnumber;
-      var $49=$2;
-      var $50=(($49+4)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=(($51+($48<<3))|0);
-      var $53=(($52)|0);
-      HEAP32[(($53)>>2)]=$47;
-      var $54=$8;
-      var $55=$free_counter;
-      var $56=(($55+($54<<2))|0);
-      $free_counter=$56;
-      __label__ = 10; break;
-    case 10: 
-      var $58=$bstart;
-      var $59=$10;
-      var $60=(($58)>>>0) < (($59)>>>0);
-      if ($60) { __label__ = 11; break; } else { __label__ = 12; break; }
-    case 11: 
-      $_g_boolean_var_=1;
-      __label__ = 13; break;
-    case 12: 
-      $_g_boolean_var_=0;
-      __label__ = 13; break;
-    case 13: 
-      var $64=$_g_boolean_var_;
-      var $65=(($64)==(1));
-      var $66=(($65)|0)!=0;
-      if ($66) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      __label__ = 18; break;
-    case 15: 
-      __label__ = 16; break;
-    case 16: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str45)|0), ((STRING_TABLE.___FUNCTION___fill_model_structures)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str46)|0),tempInt));
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      __label__ = 20; break;
-    case 20: 
-      var $74=$bend;
-      var $75=$10;
-      var $76=(($74)>>>0) < (($75)>>>0);
-      if ($76) { __label__ = 21; break; } else { __label__ = 22; break; }
-    case 21: 
-      $_g_boolean_var_1=1;
-      __label__ = 23; break;
-    case 22: 
-      $_g_boolean_var_1=0;
-      __label__ = 23; break;
-    case 23: 
-      var $80=$_g_boolean_var_1;
-      var $81=(($80)==(1));
-      var $82=(($81)|0)!=0;
-      if ($82) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      __label__ = 28; break;
-    case 25: 
-      __label__ = 26; break;
-    case 26: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str47)|0), ((STRING_TABLE.___FUNCTION___fill_model_structures)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str48)|0),tempInt));
-      __label__ = 27; break;
-    case 27: 
-      __label__ = 28; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      var $89=$bstart;
-      $i=$89;
-      __label__ = 30; break;
-    case 30: 
-      var $91=$i;
-      var $92=$bend;
-      var $93=(($91)>>>0) <= (($92)>>>0);
-      if ($93) { __label__ = 31; break; } else { __label__ = 33; break; }
-    case 31: 
-      var $95=$2;
-      var $96=(($95+4)|0);
-      var $97=HEAP32[(($96)>>2)];
-      var $98=$bnumber;
-      var $99=(($97+($98<<3))|0);
-      var $100=$i;
-      var $101=$2;
-      var $102=(($101)|0);
-      var $103=HEAP32[(($102)>>2)];
-      var $104=(($103+($100<<2))|0);
-      HEAP32[(($104)>>2)]=$99;
-      __label__ = 32; break;
-    case 32: 
-      var $106=$i;
-      var $107=(($106+1)|0);
-      $i=$107;
-      __label__ = 30; break;
-    case 33: 
-      var $109=$bnumber;
-      var $110=(($109+1)|0);
-      $bnumber=$110;
-      __label__ = 34; break;
-    case 34: 
-      var $112=$bend;
-      var $113=$7;
-      var $114=(($113-1)|0);
-      var $115=(($112)>>>0) < (($114)>>>0);
-      if ($115) { __label__ = 2; break; } else { __label__ = 35; break; }
-    case 35: 
-      __label__ = 36; break;
-    case 36: 
-      var $118=$free_counter;
-      var $119=$2;
-      var $120=(($119+8)|0);
-      var $121=HEAP32[(($120)>>2)];
-      var $122=$118;
-      var $123=$121;
-      var $124=(($122-$123)|0);
-      var $125=(((($124)|0)/4)&-1);
-      var $126=$9;
-      var $127=$8;
-      var $128=(($126*$127)|0);
-      var $129=(($125)|0)==(($128)|0);
-      if ($129) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      $_g_boolean_var_2=1;
-      __label__ = 39; break;
-    case 38: 
-      $_g_boolean_var_2=0;
-      __label__ = 39; break;
-    case 39: 
-      var $133=$_g_boolean_var_2;
-      var $134=(($133)==(1));
-      var $135=(($134)|0)!=0;
-      if ($135) { __label__ = 40; break; } else { __label__ = 41; break; }
-    case 40: 
-      __label__ = 44; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str49)|0), ((STRING_TABLE.___FUNCTION___fill_model_structures)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str50)|0),tempInt));
-      __label__ = 43; break;
-    case 43: 
-      __label__ = 44; break;
-    case 44: 
-      __label__ = 45; break;
-    case 45: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_fill_model_structures["X"]=1;
-
-function _quic_one_uncompress_row0($encoder, $channel, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $bpc;
-      var $bpc_mask;
-      var $correlate_row;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$channel;
-      $3=$cur_row;
-      $4=$width;
-      $bpc=8;
-      $bpc_mask=255;
-      var $5=$2;
-      var $6=(($5+8)|0);
-      var $7=HEAP32[(($6)>>2)];
-      $correlate_row=$7;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $9=HEAP32[((_wmimax)>>2)];
-      var $10=$2;
-      var $11=(($10+40)|0);
-      var $12=(($11+16)|0);
-      var $13=HEAP32[(($12)>>2)];
-      var $14=(($9)|0) > (($13)|0);
-      if ($14) { __label__ = 3; break; } else { var $23 = 0;__label__ = 4; break; }
-    case 3: 
-      var $16=$2;
-      var $17=(($16+40)|0);
-      var $18=(($17+20)|0);
-      var $19=HEAPU32[(($18)>>2)];
-      var $20=$4;
-      var $21=(($19)>>>0) <= (($20)>>>0);
-      var $23 = $21;__label__ = 4; break;
-    case 4: 
-      var $23;
-      if ($23) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $25=$2;
-      var $26=(($25+40)|0);
-      var $27=(($26+20)|0);
-      var $28=HEAP32[(($27)>>2)];
-      var $29=(($28)|0)!=0;
-      if ($29) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $31=$1;
-      var $32=$2;
-      var $33=$pos;
-      var $34=$correlate_row;
-      var $35=$3;
-      var $36=$pos;
-      var $37=$2;
-      var $38=(($37+40)|0);
-      var $39=(($38+20)|0);
-      var $40=HEAP32[(($39)>>2)];
-      var $41=(($36+$40)|0);
-      var $42=$2;
-      var $43=(($42+40)|0);
-      var $44=(($43+16)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=((_bppmask+($45<<2))|0);
-      var $47=HEAP32[(($46)>>2)];
-      _quic_one_uncompress_row0_seg($31, $32, $33, $34, $35, $41, $47, 8, 255);
-      var $48=$2;
-      var $49=(($48+40)|0);
-      var $50=(($49+20)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$pos;
-      var $53=(($52+$51)|0);
-      $pos=$53;
-      var $54=$2;
-      var $55=(($54+40)|0);
-      var $56=(($55+20)|0);
-      var $57=HEAP32[(($56)>>2)];
-      var $58=$4;
-      var $59=(($58-$57)|0);
-      $4=$59;
-      __label__ = 7; break;
-    case 7: 
-      var $61=$2;
-      var $62=(($61+40)|0);
-      var $63=(($62+16)|0);
-      var $64=HEAP32[(($63)>>2)];
-      var $65=(($64+1)|0);
-      HEAP32[(($63)>>2)]=$65;
-      var $66=$2;
-      var $67=(($66+40)|0);
-      _set_wm_trigger($67);
-      var $68=HEAP32[((_wminext)>>2)];
-      var $69=$2;
-      var $70=(($69+40)|0);
-      var $71=(($70+20)|0);
-      HEAP32[(($71)>>2)]=$68;
-      __label__ = 2; break;
-    case 8: 
-      var $73=$4;
-      var $74=(($73)|0)!=0;
-      if ($74) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $76=$1;
-      var $77=$2;
-      var $78=$pos;
-      var $79=$correlate_row;
-      var $80=$3;
-      var $81=$pos;
-      var $82=$4;
-      var $83=(($81+$82)|0);
-      var $84=$2;
-      var $85=(($84+40)|0);
-      var $86=(($85+16)|0);
-      var $87=HEAP32[(($86)>>2)];
-      var $88=((_bppmask+($87<<2))|0);
-      var $89=HEAP32[(($88)>>2)];
-      _quic_one_uncompress_row0_seg($76, $77, $78, $79, $80, $83, $89, 8, 255);
-      var $90=HEAP32[((_wmimax)>>2)];
-      var $91=$2;
-      var $92=(($91+40)|0);
-      var $93=(($92+16)|0);
-      var $94=HEAP32[(($93)>>2)];
-      var $95=(($90)|0) > (($94)|0);
-      if ($95) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $97=$4;
-      var $98=$2;
-      var $99=(($98+40)|0);
-      var $100=(($99+20)|0);
-      var $101=HEAP32[(($100)>>2)];
-      var $102=(($101-$97)|0);
-      HEAP32[(($100)>>2)]=$102;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $106=$2;
-      var $107=(($106+40)|0);
-      var $108=(($107+16)|0);
-      var $109=HEAP32[(($108)>>2)];
-      var $110=HEAP32[((_wmimax)>>2)];
-      var $111=(($109)|0) <= (($110)|0);
-      if ($111) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $115=$_g_boolean_var_;
-      var $116=(($115)==(1));
-      var $117=(($116)|0)!=0;
-      if ($117) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str78)|0), ((STRING_TABLE.___FUNCTION___quic_one_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str56)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $125=$2;
-      var $126=(($125+40)|0);
-      var $127=(($126+16)|0);
-      var $128=HEAPU32[(($127)>>2)];
-      var $129=(($128)>>>0) <= 32;
-      if ($129) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $133=$_g_boolean_var_1;
-      var $134=(($133)==(1));
-      var $135=(($134)|0)!=0;
-      if ($135) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str79)|0), ((STRING_TABLE.___FUNCTION___quic_one_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str58)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $143=HEAP32[((_wminext)>>2)];
-      var $144=(($143)|0) > 0;
-      if ($144) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $148=$_g_boolean_var_2;
-      var $149=(($148)==(1));
-      var $150=(($149)|0)!=0;
-      if ($150) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str80)|0), ((STRING_TABLE.___FUNCTION___quic_one_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_one_uncompress_row0["X"]=1;
-
-function _quic_one_uncompress_row($encoder, $channel, $prev_row, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $bpc;
-      var $bpc_mask;
-      var $correlate_row;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$channel;
-      $3=$prev_row;
-      $4=$cur_row;
-      $5=$width;
-      $bpc=8;
-      $bpc_mask=255;
-      var $6=$2;
-      var $7=(($6+8)|0);
-      var $8=HEAP32[(($7)>>2)];
-      $correlate_row=$8;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $10=HEAP32[((_wmimax)>>2)];
-      var $11=$2;
-      var $12=(($11+40)|0);
-      var $13=(($12+16)|0);
-      var $14=HEAP32[(($13)>>2)];
-      var $15=(($10)|0) > (($14)|0);
-      if ($15) { __label__ = 3; break; } else { var $24 = 0;__label__ = 4; break; }
-    case 3: 
-      var $17=$2;
-      var $18=(($17+40)|0);
-      var $19=(($18+20)|0);
-      var $20=HEAPU32[(($19)>>2)];
-      var $21=$5;
-      var $22=(($20)>>>0) <= (($21)>>>0);
-      var $24 = $22;__label__ = 4; break;
-    case 4: 
-      var $24;
-      if ($24) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $26=$2;
-      var $27=(($26+40)|0);
-      var $28=(($27+20)|0);
-      var $29=HEAP32[(($28)>>2)];
-      var $30=(($29)|0)!=0;
-      if ($30) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $32=$1;
-      var $33=$2;
-      var $34=$correlate_row;
-      var $35=$3;
-      var $36=$4;
-      var $37=$pos;
-      var $38=$pos;
-      var $39=$2;
-      var $40=(($39+40)|0);
-      var $41=(($40+20)|0);
-      var $42=HEAP32[(($41)>>2)];
-      var $43=(($38+$42)|0);
-      _quic_one_uncompress_row_seg($32, $33, $34, $35, $36, $37, $43, 8, 255);
-      var $44=$2;
-      var $45=(($44+40)|0);
-      var $46=(($45+20)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=$pos;
-      var $49=(($48+$47)|0);
-      $pos=$49;
-      var $50=$2;
-      var $51=(($50+40)|0);
-      var $52=(($51+20)|0);
-      var $53=HEAP32[(($52)>>2)];
-      var $54=$5;
-      var $55=(($54-$53)|0);
-      $5=$55;
-      __label__ = 7; break;
-    case 7: 
-      var $57=$2;
-      var $58=(($57+40)|0);
-      var $59=(($58+16)|0);
-      var $60=HEAP32[(($59)>>2)];
-      var $61=(($60+1)|0);
-      HEAP32[(($59)>>2)]=$61;
-      var $62=$2;
-      var $63=(($62+40)|0);
-      _set_wm_trigger($63);
-      var $64=HEAP32[((_wminext)>>2)];
-      var $65=$2;
-      var $66=(($65+40)|0);
-      var $67=(($66+20)|0);
-      HEAP32[(($67)>>2)]=$64;
-      __label__ = 2; break;
-    case 8: 
-      var $69=$5;
-      var $70=(($69)|0)!=0;
-      if ($70) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $72=$1;
-      var $73=$2;
-      var $74=$correlate_row;
-      var $75=$3;
-      var $76=$4;
-      var $77=$pos;
-      var $78=$pos;
-      var $79=$5;
-      var $80=(($78+$79)|0);
-      _quic_one_uncompress_row_seg($72, $73, $74, $75, $76, $77, $80, 8, 255);
-      var $81=HEAP32[((_wmimax)>>2)];
-      var $82=$2;
-      var $83=(($82+40)|0);
-      var $84=(($83+16)|0);
-      var $85=HEAP32[(($84)>>2)];
-      var $86=(($81)|0) > (($85)|0);
-      if ($86) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $88=$5;
-      var $89=$2;
-      var $90=(($89+40)|0);
-      var $91=(($90+20)|0);
-      var $92=HEAP32[(($91)>>2)];
-      var $93=(($92-$88)|0);
-      HEAP32[(($91)>>2)]=$93;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $97=$2;
-      var $98=(($97+40)|0);
-      var $99=(($98+16)|0);
-      var $100=HEAP32[(($99)>>2)];
-      var $101=HEAP32[((_wmimax)>>2)];
-      var $102=(($100)|0) <= (($101)|0);
-      if ($102) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $106=$_g_boolean_var_;
-      var $107=(($106)==(1));
-      var $108=(($107)|0)!=0;
-      if ($108) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str55)|0), ((STRING_TABLE.___FUNCTION___quic_one_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str56)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $116=$2;
-      var $117=(($116+40)|0);
-      var $118=(($117+16)|0);
-      var $119=HEAPU32[(($118)>>2)];
-      var $120=(($119)>>>0) <= 32;
-      if ($120) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $124=$_g_boolean_var_1;
-      var $125=(($124)==(1));
-      var $126=(($125)|0)!=0;
-      if ($126) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str57)|0), ((STRING_TABLE.___FUNCTION___quic_one_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str58)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $134=HEAP32[((_wminext)>>2)];
-      var $135=(($134)|0) > 0;
-      if ($135) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $139=$_g_boolean_var_2;
-      var $140=(($139)==(1));
-      var $141=(($140)|0)!=0;
-      if ($141) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str59)|0), ((STRING_TABLE.___FUNCTION___quic_one_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_one_uncompress_row["X"]=1;
-
-function _tabrand($tabrand_seed) {
-  ;
-  var __label__;
-
-  var $1;
-  $1=$tabrand_seed;
-  var $2=$1;
-  var $3=HEAP32[(($2)>>2)];
-  var $4=(($3+1)|0);
-  HEAP32[(($2)>>2)]=$4;
-  var $5=$4 & 255;
-  var $6=((_tabrand_chaos+($5<<2))|0);
-  var $7=HEAP32[(($6)>>2)];
-  ;
-  return $7;
-}
-
-
-function _quic_one_uncompress_row_seg($encoder, $channel, $correlate_row, $prev_row, $cur_row, $i, $end, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $8;
-      var $9;
-      var $waitmask;
-      var $stopidx;
-      var $run_index;
-      var $run_end;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $pbucket;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$channel;
-      $3=$correlate_row;
-      $4=$prev_row;
-      $5=$cur_row;
-      $6=$i;
-      $7=$end;
-      $8=$bpc;
-      $9=$bpc_mask;
-      var $10=$2;
-      var $11=(($10+40)|0);
-      var $12=(($11+16)|0);
-      var $13=HEAP32[(($12)>>2)];
-      var $14=((_bppmask+($13<<2))|0);
-      var $15=HEAP32[(($14)>>2)];
-      $waitmask=$15;
-      $run_index=0;
-      __label__ = 2; break;
-    case 2: 
-      var $17=$7;
-      var $18=$6;
-      var $19=(($17-$18)|0);
-      var $20=(($19)|0) > 0;
-      if ($20) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $24=$_g_boolean_var_;
-      var $25=(($24)==(1));
-      var $26=(($25)|0)!=0;
-      if ($26) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str67)|0), ((STRING_TABLE.___FUNCTION___quic_one_uncompress_row_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $33=$6;
-      var $34=(($33)|0)==0;
-      if ($34) { __label__ = 12; break; } else { __label__ = 16; break; }
-    case 12: 
-      var $36=$2;
-      var $37=$3;
-      var $38=(($37-1)|0);
-      var $39=HEAPU8[($38)];
-      var $40=(($39)&255);
-      var $41=_find_bucket_8bpc($36, $40);
-      var $42=(($41+4)|0);
-      var $43=HEAP32[(($42)>>2)];
-      var $44=$1;
-      var $45=(($44+32)|0);
-      var $46=HEAP32[(($45)>>2)];
-      var $47=_golomb_decoding_8bpc($43, $46, $codewordlen);
-      var $48=(($47) & 255);
-      var $49=$3;
-      var $50=(($49)|0);
-      HEAP8[($50)]=$48;
-      var $51=$3;
-      var $52=(($51)|0);
-      var $53=HEAPU8[($52)];
-      var $54=(($53)&255);
-      var $55=((((_family_8bpc+384)|0)+($54<<2))|0);
-      var $56=HEAP32[(($55)>>2)];
-      var $57=$4;
-      var $58=(($57)|0);
-      var $59=(($58)|0);
-      var $60=HEAPU8[($59)];
-      var $61=(($60)&255);
-      var $62=(($56+$61)|0);
-      var $63=$9;
-      var $64=$62 & $63;
-      var $65=(($64) & 255);
-      var $66=$5;
-      var $67=(($66)|0);
-      var $68=(($67)|0);
-      HEAP8[($68)]=$65;
-      var $69=$1;
-      var $70=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($69, $70);
-      var $71=$2;
-      var $72=(($71+40)|0);
-      var $73=(($72+4)|0);
-      var $74=HEAP32[(($73)>>2)];
-      var $75=(($74)|0)!=0;
-      if ($75) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $77=$2;
-      var $78=(($77+40)|0);
-      var $79=(($78+4)|0);
-      var $80=HEAP32[(($79)>>2)];
-      var $81=(($80-1)|0);
-      HEAP32[(($79)>>2)]=$81;
-      __label__ = 15; break;
-    case 14: 
-      var $83=$2;
-      var $84=(($83+40)|0);
-      var $85=(($84+8)|0);
-      var $86=_tabrand($85);
-      var $87=$waitmask;
-      var $88=$86 & $87;
-      var $89=$2;
-      var $90=(($89+40)|0);
-      var $91=(($90+4)|0);
-      HEAP32[(($91)>>2)]=$88;
-      var $92=$2;
-      var $93=(($92+40)|0);
-      var $94=$2;
-      var $95=$3;
-      var $96=(($95-1)|0);
-      var $97=HEAPU8[($96)];
-      var $98=(($97)&255);
-      var $99=_find_bucket_8bpc($94, $98);
-      var $100=$3;
-      var $101=(($100)|0);
-      var $102=HEAP8[($101)];
-      var $103=$8;
-      _update_model_8bpc($93, $99, $102, $103);
-      __label__ = 15; break;
-    case 15: 
-      var $105=$6;
-      var $106=(($105+1)|0);
-      $6=$106;
-      var $107=$2;
-      var $108=(($107+40)|0);
-      var $109=(($108+4)|0);
-      var $110=HEAP32[(($109)>>2)];
-      var $111=(($106+$110)|0);
-      $stopidx=$111;
-      __label__ = 17; break;
-    case 16: 
-      var $113=$6;
-      var $114=$2;
-      var $115=(($114+40)|0);
-      var $116=(($115+4)|0);
-      var $117=HEAP32[(($116)>>2)];
-      var $118=(($113+$117)|0);
-      $stopidx=$118;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      var $122=$stopidx;
-      var $123=$7;
-      var $124=(($122)|0) < (($123)|0);
-      if ($124) { __label__ = 20; break; } else { __label__ = 31; break; }
-    case 20: 
-      $pbucket=0;
-      __label__ = 21; break;
-    case 21: 
-      var $127=$6;
-      var $128=$stopidx;
-      var $129=(($127)|0) <= (($128)|0);
-      if ($129) { __label__ = 22; break; } else { __label__ = 30; break; }
-    case 22: 
-      var $131=$6;
-      var $132=(($131-1)|0);
-      var $133=$4;
-      var $134=(($133+$132)|0);
-      var $135=(($134)|0);
-      var $136=HEAPU8[($135)];
-      var $137=(($136)&255);
-      var $138=$6;
-      var $139=$4;
-      var $140=(($139+$138)|0);
-      var $141=(($140)|0);
-      var $142=HEAPU8[($141)];
-      var $143=(($142)&255);
-      var $144=(($137)|0)==(($143)|0);
-      if ($144) { __label__ = 23; break; } else { __label__ = 28; break; }
-    case 23: 
-      var $146=$run_index;
-      var $147=$6;
-      var $148=(($146)|0)!=(($147)|0);
-      if ($148) { __label__ = 24; break; } else { __label__ = 27; break; }
-    case 24: 
-      var $150=$6;
-      var $151=(($150)|0) > 2;
-      if ($151) { __label__ = 25; break; } else { __label__ = 27; break; }
-    case 25: 
-      var $153=$6;
-      var $154=(($153-1)|0);
-      var $155=$5;
-      var $156=(($155+$154)|0);
-      var $157=(($156)|0);
-      var $158=HEAPU8[($157)];
-      var $159=(($158)&255);
-      var $160=$6;
-      var $161=(($160-2)|0);
-      var $162=$5;
-      var $163=(($162+$161)|0);
-      var $164=(($163)|0);
-      var $165=HEAPU8[($164)];
-      var $166=(($165)&255);
-      var $167=(($159)|0)==(($166)|0);
-      if ($167) { __label__ = 26; break; } else { __label__ = 27; break; }
-    case 26: 
-      __label__ = 42; break;
-    case 27: 
-      __label__ = 28; break;
-    case 28: 
-      var $171=$2;
-      var $172=$6;
-      var $173=(($172-1)|0);
-      var $174=$3;
-      var $175=(($174+$173)|0);
-      var $176=HEAPU8[($175)];
-      var $177=(($176)&255);
-      var $178=_find_bucket_8bpc($171, $177);
-      $pbucket=$178;
-      var $179=$pbucket;
-      var $180=(($179+4)|0);
-      var $181=HEAP32[(($180)>>2)];
-      var $182=$1;
-      var $183=(($182+32)|0);
-      var $184=HEAP32[(($183)>>2)];
-      var $185=_golomb_decoding_8bpc($181, $184, $codewordlen1);
-      var $186=(($185) & 255);
-      var $187=$6;
-      var $188=$3;
-      var $189=(($188+$187)|0);
-      HEAP8[($189)]=$186;
-      var $190=$6;
-      var $191=$4;
-      var $192=(($191+$190)|0);
-      var $193=$6;
-      var $194=$5;
-      var $195=(($194+$193)|0);
-      var $196=$6;
-      var $197=$3;
-      var $198=(($197+$196)|0);
-      var $199=HEAP8[($198)];
-      var $200=$9;
-      _quic_one_corelate($192, $195, $199, $200);
-      var $201=$1;
-      var $202=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($201, $202);
-      __label__ = 29; break;
-    case 29: 
-      var $204=$6;
-      var $205=(($204+1)|0);
-      $6=$205;
-      __label__ = 21; break;
-    case 30: 
-      var $207=$2;
-      var $208=(($207+40)|0);
-      var $209=$pbucket;
-      var $210=$stopidx;
-      var $211=$3;
-      var $212=(($211+$210)|0);
-      var $213=HEAP8[($212)];
-      var $214=$8;
-      _update_model_8bpc($208, $209, $213, $214);
-      var $215=$6;
-      var $216=$2;
-      var $217=(($216+40)|0);
-      var $218=(($217+8)|0);
-      var $219=_tabrand($218);
-      var $220=$waitmask;
-      var $221=$219 & $220;
-      var $222=(($215+$221)|0);
-      $stopidx=$222;
-      __label__ = 19; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      var $225=$6;
-      var $226=$7;
-      var $227=(($225)|0) < (($226)|0);
-      if ($227) { __label__ = 33; break; } else { __label__ = 41; break; }
-    case 33: 
-      var $229=$6;
-      var $230=(($229-1)|0);
-      var $231=$4;
-      var $232=(($231+$230)|0);
-      var $233=(($232)|0);
-      var $234=HEAPU8[($233)];
-      var $235=(($234)&255);
-      var $236=$6;
-      var $237=$4;
-      var $238=(($237+$236)|0);
-      var $239=(($238)|0);
-      var $240=HEAPU8[($239)];
-      var $241=(($240)&255);
-      var $242=(($235)|0)==(($241)|0);
-      if ($242) { __label__ = 34; break; } else { __label__ = 39; break; }
-    case 34: 
-      var $244=$run_index;
-      var $245=$6;
-      var $246=(($244)|0)!=(($245)|0);
-      if ($246) { __label__ = 35; break; } else { __label__ = 38; break; }
-    case 35: 
-      var $248=$6;
-      var $249=(($248)|0) > 2;
-      if ($249) { __label__ = 36; break; } else { __label__ = 38; break; }
-    case 36: 
-      var $251=$6;
-      var $252=(($251-1)|0);
-      var $253=$5;
-      var $254=(($253+$252)|0);
-      var $255=(($254)|0);
-      var $256=HEAPU8[($255)];
-      var $257=(($256)&255);
-      var $258=$6;
-      var $259=(($258-2)|0);
-      var $260=$5;
-      var $261=(($260+$259)|0);
-      var $262=(($261)|0);
-      var $263=HEAPU8[($262)];
-      var $264=(($263)&255);
-      var $265=(($257)|0)==(($264)|0);
-      if ($265) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 42; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      var $269=$2;
-      var $270=$6;
-      var $271=(($270-1)|0);
-      var $272=$3;
-      var $273=(($272+$271)|0);
-      var $274=HEAPU8[($273)];
-      var $275=(($274)&255);
-      var $276=_find_bucket_8bpc($269, $275);
-      var $277=(($276+4)|0);
-      var $278=HEAP32[(($277)>>2)];
-      var $279=$1;
-      var $280=(($279+32)|0);
-      var $281=HEAP32[(($280)>>2)];
-      var $282=_golomb_decoding_8bpc($278, $281, $codewordlen2);
-      var $283=(($282) & 255);
-      var $284=$6;
-      var $285=$3;
-      var $286=(($285+$284)|0);
-      HEAP8[($286)]=$283;
-      var $287=$6;
-      var $288=$4;
-      var $289=(($288+$287)|0);
-      var $290=$6;
-      var $291=$5;
-      var $292=(($291+$290)|0);
-      var $293=$6;
-      var $294=$3;
-      var $295=(($294+$293)|0);
-      var $296=HEAP8[($295)];
-      var $297=$9;
-      _quic_one_corelate($289, $292, $296, $297);
-      var $298=$1;
-      var $299=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($298, $299);
-      __label__ = 40; break;
-    case 40: 
-      var $301=$6;
-      var $302=(($301+1)|0);
-      $6=$302;
-      __label__ = 32; break;
-    case 41: 
-      var $304=$stopidx;
-      var $305=$7;
-      var $306=(($304-$305)|0);
-      var $307=$2;
-      var $308=(($307+40)|0);
-      var $309=(($308+4)|0);
-      HEAP32[(($309)>>2)]=$306;
-      __label__ = 49; break;
-    case 42: 
-      var $311=$stopidx;
-      var $312=$6;
-      var $313=(($311-$312)|0);
-      var $314=$2;
-      var $315=(($314+40)|0);
-      var $316=(($315+4)|0);
-      HEAP32[(($316)>>2)]=$313;
-      var $317=$6;
-      $run_index=$317;
-      var $318=$6;
-      var $319=$1;
-      var $320=$2;
-      var $321=_decode_channel_run($319, $320);
-      var $322=(($318+$321)|0);
-      $run_end=$322;
-      __label__ = 43; break;
-    case 43: 
-      var $324=$6;
-      var $325=$run_end;
-      var $326=(($324)|0) < (($325)|0);
-      if ($326) { __label__ = 44; break; } else { __label__ = 46; break; }
-    case 44: 
-      var $328=$6;
-      var $329=(($328-1)|0);
-      var $330=$5;
-      var $331=(($330+$329)|0);
-      var $332=(($331)|0);
-      var $333=HEAP8[($332)];
-      var $334=$6;
-      var $335=$5;
-      var $336=(($335+$334)|0);
-      var $337=(($336)|0);
-      HEAP8[($337)]=$333;
-      __label__ = 45; break;
-    case 45: 
-      var $339=$6;
-      var $340=(($339+1)|0);
-      $6=$340;
-      __label__ = 43; break;
-    case 46: 
-      var $342=$6;
-      var $343=$7;
-      var $344=(($342)|0)==(($343)|0);
-      if ($344) { __label__ = 47; break; } else { __label__ = 48; break; }
-    case 47: 
-      __label__ = 49; break;
-    case 48: 
-      var $347=$6;
-      var $348=$2;
-      var $349=(($348+40)|0);
-      var $350=(($349+4)|0);
-      var $351=HEAP32[(($350)>>2)];
-      var $352=(($347+$351)|0);
-      $stopidx=$352;
-      __label__ = 18; break;
-    case 49: 
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_one_uncompress_row_seg["X"]=1;
-
-function _set_wm_trigger($state) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $wm;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$state;
-      var $2=$1;
-      var $3=(($2+16)|0);
-      var $4=HEAP32[(($3)>>2)];
-      $wm=$4;
-      var $5=$wm;
-      var $6=(($5)>>>0) > 10;
-      if ($6) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      $wm=10;
-      __label__ = 3; break;
-    case 3: 
-      __label__ = 4; break;
-    case 4: 
-      var $10=HEAP32[((_evol)>>2)];
-      var $11=(($10)|0) < 6;
-      if ($11) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      $_g_boolean_var_=1;
-      __label__ = 7; break;
-    case 6: 
-      $_g_boolean_var_=0;
-      __label__ = 7; break;
-    case 7: 
-      var $15=$_g_boolean_var_;
-      var $16=(($15)==(1));
-      var $17=(($16)|0)!=0;
-      if ($17) { __label__ = 8; break; } else { __label__ = 9; break; }
-    case 8: 
-      __label__ = 12; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str61)|0), ((STRING_TABLE.___FUNCTION___set_wm_trigger)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str62)|0),tempInt));
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $24=$wm;
-      var $25=HEAP32[((_evol)>>2)];
-      var $26=(((($25)|0)/2)&-1);
-      var $27=((_besttrigtab+$26*22)|0);
-      var $28=(($27+($24<<1))|0);
-      var $29=HEAPU16[(($28)>>1)];
-      var $30=(($29)&65535);
-      var $31=$1;
-      var $32=(($31+12)|0);
-      HEAP32[(($32)>>2)]=$30;
-      __label__ = 14; break;
-    case 14: 
-      var $34=$1;
-      var $35=(($34+12)|0);
-      var $36=HEAPU32[(($35)>>2)];
-      var $37=(($36)>>>0) <= 2000;
-      if ($37) { __label__ = 15; break; } else { __label__ = 16; break; }
-    case 15: 
-      $_g_boolean_var_1=1;
-      __label__ = 17; break;
-    case 16: 
-      $_g_boolean_var_1=0;
-      __label__ = 17; break;
-    case 17: 
-      var $41=$_g_boolean_var_1;
-      var $42=(($41)==(1));
-      var $43=(($42)|0)!=0;
-      if ($43) { __label__ = 18; break; } else { __label__ = 19; break; }
-    case 18: 
-      __label__ = 22; break;
-    case 19: 
-      __label__ = 20; break;
-    case 20: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str63)|0), ((STRING_TABLE.___FUNCTION___set_wm_trigger)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str64)|0),tempInt));
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      __label__ = 24; break;
-    case 24: 
-      var $51=$1;
-      var $52=(($51+12)|0);
-      var $53=HEAPU32[(($52)>>2)];
-      var $54=(($53)>>>0) >= 1;
-      if ($54) { __label__ = 25; break; } else { __label__ = 26; break; }
-    case 25: 
-      $_g_boolean_var_2=1;
-      __label__ = 27; break;
-    case 26: 
-      $_g_boolean_var_2=0;
-      __label__ = 27; break;
-    case 27: 
-      var $58=$_g_boolean_var_2;
-      var $59=(($58)==(1));
-      var $60=(($59)|0)!=0;
-      if ($60) { __label__ = 28; break; } else { __label__ = 29; break; }
-    case 28: 
-      __label__ = 32; break;
-    case 29: 
-      __label__ = 30; break;
-    case 30: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str65)|0), ((STRING_TABLE.___FUNCTION___set_wm_trigger)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str66)|0),tempInt));
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_set_wm_trigger["X"]=1;
-
-function _golomb_decoding_8bpc($l, $bits, $codewordlen) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $zeroprefix;
-      var $cwlen;
-      var $cwlen1;
-      $2=$l;
-      $3=$bits;
-      $4=$codewordlen;
-      var $5=$3;
-      var $6=$2;
-      var $7=((((_family_8bpc+64)|0)+($6<<2))|0);
-      var $8=HEAPU32[(($7)>>2)];
-      var $9=(($5)>>>0) > (($8)>>>0);
-      if ($9) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $11=$3;
-      var $12=_cnt_l_zeroes($11);
-      $zeroprefix=$12;
-      var $13=$zeroprefix;
-      var $14=(($13+1)|0);
-      var $15=$2;
-      var $16=(($14+$15)|0);
-      $cwlen=$16;
-      var $17=$cwlen;
-      var $18=$4;
-      HEAP32[(($18)>>2)]=$17;
-      var $19=$zeroprefix;
-      var $20=$2;
-      var $21=$19 << $20;
-      var $22=$3;
-      var $23=$cwlen;
-      var $24=((32-$23)|0);
-      var $25=$22 >>> (($24)>>>0);
-      var $26=$2;
-      var $27=((_bppmask+($26<<2))|0);
-      var $28=HEAP32[(($27)>>2)];
-      var $29=$25 & $28;
-      var $30=$21 | $29;
-      $1=$30;
-      __label__ = 4; break;
-    case 3: 
-      var $32=$2;
-      var $33=((((_family_8bpc+32)|0)+($32<<2))|0);
-      var $34=HEAP32[(($33)>>2)];
-      $cwlen1=$34;
-      var $35=$cwlen1;
-      var $36=$4;
-      HEAP32[(($36)>>2)]=$35;
-      var $37=$2;
-      var $38=((((_family_8bpc)|0)+($37<<2))|0);
-      var $39=HEAP32[(($38)>>2)];
-      var $40=$3;
-      var $41=$cwlen1;
-      var $42=((32-$41)|0);
-      var $43=$40 >>> (($42)>>>0);
-      var $44=$2;
-      var $45=((((_family_8bpc+96)|0)+($44<<2))|0);
-      var $46=HEAP32[(($45)>>2)];
-      var $47=((_bppmask+($46<<2))|0);
-      var $48=HEAP32[(($47)>>2)];
-      var $49=$43 & $48;
-      var $50=(($39+$49)|0);
-      $1=$50;
-      __label__ = 4; break;
-    case 4: 
-      var $52=$1;
-      ;
-      return $52;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_golomb_decoding_8bpc["X"]=1;
-
-function _find_bucket_8bpc($channel, $val) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $_g_boolean_var_;
-      $1=$channel;
-      $2=$val;
-      __label__ = 2; break;
-    case 2: 
-      var $4=$2;
-      var $5=(($4)>>>0) < 256;
-      if ($5) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $9=$_g_boolean_var_;
-      var $10=(($9)==(1));
-      var $11=(($10)|0)!=0;
-      if ($11) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str76)|0), ((STRING_TABLE.___FUNCTION___find_bucket_8bpc)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str77)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $18=$2;
-      var $19=$1;
-      var $20=(($19+12)|0);
-      var $21=HEAP32[(($20)>>2)];
-      var $22=(($21+($18<<2))|0);
-      var $23=HEAP32[(($22)>>2)];
-      ;
-      return $23;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _decode_eatbits($encoder, $len) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $delta;
-      var $_g_boolean_var_;
-      $1=$encoder;
-      $2=$len;
-      __label__ = 2; break;
-    case 2: 
-      var $4=$2;
-      var $5=(($4)|0) > 0;
-      if ($5) { __label__ = 3; break; } else { __label__ = 5; break; }
-    case 3: 
-      var $7=$2;
-      var $8=(($7)|0) < 32;
-      if ($8) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      $_g_boolean_var_=1;
-      __label__ = 6; break;
-    case 5: 
-      $_g_boolean_var_=0;
-      __label__ = 6; break;
-    case 6: 
-      var $12=$_g_boolean_var_;
-      var $13=(($12)==(1));
-      var $14=(($13)|0)!=0;
-      if ($14) { __label__ = 7; break; } else { __label__ = 8; break; }
-    case 7: 
-      __label__ = 11; break;
-    case 8: 
-      __label__ = 9; break;
-    case 9: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str69)|0), ((STRING_TABLE.___FUNCTION___decode_eatbits)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str70)|0),tempInt));
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      var $21=$2;
-      var $22=$1;
-      var $23=(($22+32)|0);
-      var $24=HEAP32[(($23)>>2)];
-      var $25=$24 << $21;
-      HEAP32[(($23)>>2)]=$25;
-      var $26=$1;
-      var $27=(($26+28)|0);
-      var $28=HEAP32[(($27)>>2)];
-      var $29=$2;
-      var $30=(($28-$29)|0);
-      $delta=$30;
-      var $31=(($30)|0) >= 0;
-      if ($31) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $33=$delta;
-      var $34=$1;
-      var $35=(($34+28)|0);
-      HEAP32[(($35)>>2)]=$33;
-      var $36=$1;
-      var $37=(($36+36)|0);
-      var $38=HEAPU32[(($37)>>2)];
-      var $39=$1;
-      var $40=(($39+28)|0);
-      var $41=HEAPU32[(($40)>>2)];
-      var $42=$38 >>> (($41)>>>0);
-      var $43=$1;
-      var $44=(($43+32)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=$45 | $42;
-      HEAP32[(($44)>>2)]=$46;
-      __label__ = 15; break;
-    case 14: 
-      var $48=$delta;
-      var $49=(((-$48))|0);
-      $delta=$49;
-      var $50=$1;
-      var $51=(($50+36)|0);
-      var $52=HEAP32[(($51)>>2)];
-      var $53=$delta;
-      var $54=$52 << $53;
-      var $55=$1;
-      var $56=(($55+32)|0);
-      var $57=HEAP32[(($56)>>2)];
-      var $58=$57 | $54;
-      HEAP32[(($56)>>2)]=$58;
-      var $59=$1;
-      _read_io_word($59);
-      var $60=$delta;
-      var $61=((32-$60)|0);
-      var $62=$1;
-      var $63=(($62+28)|0);
-      HEAP32[(($63)>>2)]=$61;
-      var $64=$1;
-      var $65=(($64+36)|0);
-      var $66=HEAPU32[(($65)>>2)];
-      var $67=$1;
-      var $68=(($67+28)|0);
-      var $69=HEAPU32[(($68)>>2)];
-      var $70=$66 >>> (($69)>>>0);
-      var $71=$1;
-      var $72=(($71+32)|0);
-      var $73=HEAP32[(($72)>>2)];
-      var $74=$73 | $70;
-      HEAP32[(($72)>>2)]=$74;
-      __label__ = 15; break;
-    case 15: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_decode_eatbits["X"]=1;
-
-function _quic_one_corelate($prev, $curr, $corelate, $bpc_mask) {
-  ;
-  var __label__;
-
-  var $1;
-  var $2;
-  var $3;
-  var $4;
-  $1=$prev;
-  $2=$curr;
-  $3=$corelate;
-  $4=$bpc_mask;
-  var $5=$3;
-  var $6=(($5)&255);
-  var $7=((((_family_8bpc+384)|0)+($6<<2))|0);
-  var $8=HEAP32[(($7)>>2)];
-  var $9=$2;
-  var $10=(($9-1)|0);
-  var $11=(($10)|0);
-  var $12=HEAPU8[($11)];
-  var $13=(($12)&255);
-  var $14=$1;
-  var $15=(($14)|0);
-  var $16=(($15)|0);
-  var $17=HEAPU8[($16)];
-  var $18=(($17)&255);
-  var $19=(($13+$18)|0);
-  var $20=$19 >>> 1;
-  var $21=(($8+$20)|0);
-  var $22=$4;
-  var $23=$21 & $22;
-  var $24=(($23) & 255);
-  var $25=$2;
-  var $26=(($25)|0);
-  HEAP8[($26)]=$24;
-  ;
-  return;
-}
-
-
-function _golomb_code_len_8bpc($n, $l) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      $2=$n;
-      $3=$l;
-      var $4=$2;
-      var $5=(($4)&255);
-      var $6=$3;
-      var $7=((((_family_8bpc)|0)+($6<<2))|0);
-      var $8=HEAPU32[(($7)>>2)];
-      var $9=(($5)>>>0) < (($8)>>>0);
-      if ($9) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $11=$2;
-      var $12=(($11)&255);
-      var $13=$3;
-      var $14=$12 >> (($13)|0);
-      var $15=(($14+1)|0);
-      var $16=$3;
-      var $17=(($15+$16)|0);
-      $1=$17;
-      __label__ = 4; break;
-    case 3: 
-      var $19=$3;
-      var $20=((((_family_8bpc+32)|0)+($19<<2))|0);
-      var $21=HEAP32[(($20)>>2)];
-      $1=$21;
-      __label__ = 4; break;
-    case 4: 
-      var $23=$1;
-      ;
-      return $23;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _cnt_l_zeroes($bits) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      $2=$bits;
-      var $3=$2;
-      var $4=$3 & -8388608;
-      var $5=(($4)|0)!=0;
-      if ($5) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $7=$2;
-      var $8=$7 >>> 24;
-      var $9=((STRING_TABLE._lzeroes+$8)|0);
-      var $10=HEAPU8[($9)];
-      var $11=(($10)&255);
-      $1=$11;
-      __label__ = 8; break;
-    case 3: 
-      var $13=$2;
-      var $14=$13 & -32768;
-      var $15=(($14)|0)!=0;
-      if ($15) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $17=$2;
-      var $18=$17 >>> 16;
-      var $19=$18 & 255;
-      var $20=((STRING_TABLE._lzeroes+$19)|0);
-      var $21=HEAPU8[($20)];
-      var $22=(($21)&255);
-      var $23=(($22+8)|0);
-      $1=$23;
-      __label__ = 8; break;
-    case 5: 
-      var $25=$2;
-      var $26=$25 & -128;
-      var $27=(($26)|0)!=0;
-      if ($27) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $29=$2;
-      var $30=$29 >>> 8;
-      var $31=$30 & 255;
-      var $32=((STRING_TABLE._lzeroes+$31)|0);
-      var $33=HEAPU8[($32)];
-      var $34=(($33)&255);
-      var $35=(($34+16)|0);
-      $1=$35;
-      __label__ = 8; break;
-    case 7: 
-      var $37=$2;
-      var $38=$37 & 255;
-      var $39=((STRING_TABLE._lzeroes+$38)|0);
-      var $40=HEAPU8[($39)];
-      var $41=(($40)&255);
-      var $42=(($41+24)|0);
-      $1=$42;
-      __label__ = 8; break;
-    case 8: 
-      var $44=$1;
-      ;
-      return $44;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_cnt_l_zeroes["X"]=1;
-
-function _quic_one_corelate_0($curr, $corelate, $bpc_mask) {
-  ;
-  var __label__;
-
-  var $1;
-  var $2;
-  var $3;
-  $1=$curr;
-  $2=$corelate;
-  $3=$bpc_mask;
-  var $4=$2;
-  var $5=(($4)&255);
-  var $6=((((_family_8bpc+384)|0)+($5<<2))|0);
-  var $7=HEAP32[(($6)>>2)];
-  var $8=$1;
-  var $9=(($8-1)|0);
-  var $10=(($9)|0);
-  var $11=HEAPU8[($10)];
-  var $12=(($11)&255);
-  var $13=(($7+$12)|0);
-  var $14=$3;
-  var $15=$13 & $14;
-  var $16=(($15) & 255);
-  var $17=$1;
-  var $18=(($17)|0);
-  HEAP8[($18)]=$16;
-  ;
-  return;
-}
-
-
-function _update_model_8bpc($state, $bucket, $curval, $bpp) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $pcounters;
-      var $i;
-      var $bestcode;
-      var $bestcodelen;
-      var $ithcodelen;
-      $1=$state;
-      $2=$bucket;
-      $3=$curval;
-      $4=$bpp;
-      var $5=$2;
-      var $6=(($5)|0);
-      var $7=HEAP32[(($6)>>2)];
-      $pcounters=$7;
-      var $8=$4;
-      var $9=(($8-1)|0);
-      $bestcode=$9;
-      var $10=$3;
-      var $11=$bestcode;
-      var $12=_golomb_code_len_8bpc($10, $11);
-      var $13=$bestcode;
-      var $14=$pcounters;
-      var $15=(($14+($13<<2))|0);
-      var $16=HEAP32[(($15)>>2)];
-      var $17=(($16+$12)|0);
-      HEAP32[(($15)>>2)]=$17;
-      $bestcodelen=$17;
-      var $18=$4;
-      var $19=(($18-2)|0);
-      $i=$19;
-      __label__ = 2; break;
-    case 2: 
-      var $21=$i;
-      var $22=$4;
-      var $23=(($21)>>>0) < (($22)>>>0);
-      if ($23) { __label__ = 3; break; } else { __label__ = 7; break; }
-    case 3: 
-      var $25=$3;
-      var $26=$i;
-      var $27=_golomb_code_len_8bpc($25, $26);
-      var $28=$i;
-      var $29=$pcounters;
-      var $30=(($29+($28<<2))|0);
-      var $31=HEAP32[(($30)>>2)];
-      var $32=(($31+$27)|0);
-      HEAP32[(($30)>>2)]=$32;
-      $ithcodelen=$32;
-      var $33=$ithcodelen;
-      var $34=$bestcodelen;
-      var $35=(($33)>>>0) < (($34)>>>0);
-      if ($35) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $37=$i;
-      $bestcode=$37;
-      var $38=$ithcodelen;
-      $bestcodelen=$38;
-      __label__ = 5; break;
-    case 5: 
-      __label__ = 6; break;
-    case 6: 
-      var $41=$i;
-      var $42=(($41-1)|0);
-      $i=$42;
-      __label__ = 2; break;
-    case 7: 
-      var $44=$bestcode;
-      var $45=$2;
-      var $46=(($45+4)|0);
-      HEAP32[(($46)>>2)]=$44;
-      var $47=$bestcodelen;
-      var $48=$1;
-      var $49=(($48+12)|0);
-      var $50=HEAPU32[(($49)>>2)];
-      var $51=(($47)>>>0) > (($50)>>>0);
-      if ($51) { __label__ = 8; break; } else { __label__ = 13; break; }
-    case 8: 
-      $i=0;
-      __label__ = 9; break;
-    case 9: 
-      var $54=$i;
-      var $55=$4;
-      var $56=(($54)>>>0) < (($55)>>>0);
-      if ($56) { __label__ = 10; break; } else { __label__ = 12; break; }
-    case 10: 
-      var $58=$i;
-      var $59=$pcounters;
-      var $60=(($59+($58<<2))|0);
-      var $61=HEAPU32[(($60)>>2)];
-      var $62=$61 >>> 1;
-      HEAP32[(($60)>>2)]=$62;
-      __label__ = 11; break;
-    case 11: 
-      var $64=$i;
-      var $65=(($64+1)|0);
-      $i=$65;
-      __label__ = 9; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_update_model_8bpc["X"]=1;
-
-function _decode_channel_run($encoder, $channel) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $runlen;
-      var $temp;
-      var $hits;
-      $1=$encoder;
-      $2=$channel;
-      $runlen=0;
-      __label__ = 2; break;
-    case 2: 
-      var $4=$1;
-      var $5=(($4+32)|0);
-      var $6=HEAPU32[(($5)>>2)];
-      var $7=$6 >>> 24;
-      var $8=$7 ^ -1;
-      var $9=(($8) & 255);
-      var $10=(($9)&255);
-      var $11=((_zeroLUT+($10<<2))|0);
-      var $12=HEAP32[(($11)>>2)];
-      $temp=$12;
-      $hits=1;
-      __label__ = 3; break;
-    case 3: 
-      var $14=$hits;
-      var $15=$temp;
-      var $16=(($14)|0) <= (($15)|0);
-      if ($16) { __label__ = 4; break; } else { __label__ = 8; break; }
-    case 4: 
-      var $18=$2;
-      var $19=(($18+40)|0);
-      var $20=(($19+32)|0);
-      var $21=HEAP32[(($20)>>2)];
-      var $22=$runlen;
-      var $23=(($22+$21)|0);
-      $runlen=$23;
-      var $24=$2;
-      var $25=(($24+40)|0);
-      var $26=(($25+24)|0);
-      var $27=HEAP32[(($26)>>2)];
-      var $28=(($27)|0) < 32;
-      if ($28) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      var $30=$2;
-      var $31=(($30+40)|0);
-      var $32=(($31+24)|0);
-      var $33=HEAP32[(($32)>>2)];
-      var $34=(($33+1)|0);
-      HEAP32[(($32)>>2)]=$34;
-      var $35=((_J+($34<<2))|0);
-      var $36=HEAP32[(($35)>>2)];
-      var $37=$2;
-      var $38=(($37+40)|0);
-      var $39=(($38+28)|0);
-      HEAP32[(($39)>>2)]=$36;
-      var $40=$2;
-      var $41=(($40+40)|0);
-      var $42=(($41+28)|0);
-      var $43=HEAP32[(($42)>>2)];
-      var $44=1 << $43;
-      var $45=$2;
-      var $46=(($45+40)|0);
-      var $47=(($46+32)|0);
-      HEAP32[(($47)>>2)]=$44;
-      __label__ = 6; break;
-    case 6: 
-      __label__ = 7; break;
-    case 7: 
-      var $50=$hits;
-      var $51=(($50+1)|0);
-      $hits=$51;
-      __label__ = 3; break;
-    case 8: 
-      var $53=$temp;
-      var $54=(($53)|0)!=8;
-      if ($54) { __label__ = 9; break; } else { __label__ = 10; break; }
-    case 9: 
-      var $56=$1;
-      var $57=$temp;
-      var $58=(($57+1)|0);
-      _decode_eatbits($56, $58);
-      __label__ = 12; break;
-    case 10: 
-      var $60=$1;
-      _decode_eatbits($60, 8);
-      __label__ = 11; break;
-    case 11: 
-      if (1) { __label__ = 2; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $63=$2;
-      var $64=(($63+40)|0);
-      var $65=(($64+28)|0);
-      var $66=HEAP32[(($65)>>2)];
-      var $67=(($66)|0)!=0;
-      if ($67) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $69=$1;
-      var $70=(($69+32)|0);
-      var $71=HEAPU32[(($70)>>2)];
-      var $72=$2;
-      var $73=(($72+40)|0);
-      var $74=(($73+28)|0);
-      var $75=HEAP32[(($74)>>2)];
-      var $76=((32-$75)|0);
-      var $77=$71 >>> (($76)>>>0);
-      var $78=$runlen;
-      var $79=(($78+$77)|0);
-      $runlen=$79;
-      var $80=$1;
-      var $81=$2;
-      var $82=(($81+40)|0);
-      var $83=(($82+28)|0);
-      var $84=HEAP32[(($83)>>2)];
-      _decode_eatbits($80, $84);
-      __label__ = 14; break;
-    case 14: 
-      var $86=$2;
-      var $87=(($86+40)|0);
-      var $88=(($87+24)|0);
-      var $89=HEAP32[(($88)>>2)];
-      var $90=(($89)|0)!=0;
-      if ($90) { __label__ = 15; break; } else { __label__ = 16; break; }
-    case 15: 
-      var $92=$2;
-      var $93=(($92+40)|0);
-      var $94=(($93+24)|0);
-      var $95=HEAP32[(($94)>>2)];
-      var $96=(($95-1)|0);
-      HEAP32[(($94)>>2)]=$96;
-      var $97=((_J+($96<<2))|0);
-      var $98=HEAP32[(($97)>>2)];
-      var $99=$2;
-      var $100=(($99+40)|0);
-      var $101=(($100+28)|0);
-      HEAP32[(($101)>>2)]=$98;
-      var $102=$2;
-      var $103=(($102+40)|0);
-      var $104=(($103+28)|0);
-      var $105=HEAP32[(($104)>>2)];
-      var $106=1 << $105;
-      var $107=$2;
-      var $108=(($107+40)|0);
-      var $109=(($108+32)|0);
-      HEAP32[(($109)>>2)]=$106;
-      __label__ = 16; break;
-    case 16: 
-      var $111=$runlen;
-      ;
-      return $111;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_decode_channel_run["X"]=1;
-
-function _read_io_word($encoder) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $_g_boolean_var_;
-      $1=$encoder;
-      var $2=$1;
-      var $3=(($2+40)|0);
-      var $4=HEAP32[(($3)>>2)];
-      var $5=$1;
-      var $6=(($5+44)|0);
-      var $7=HEAP32[(($6)>>2)];
-      var $8=(($4)|0)==(($7)|0);
-      if ($8) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $10=HEAP32[((___read_io_word_ptr)>>2)];
-      var $11=$1;
-      FUNCTION_TABLE[$10]($11);
-      __label__ = 14; break;
-    case 3: 
-      __label__ = 4; break;
-    case 4: 
-      var $14=$1;
-      var $15=(($14+40)|0);
-      var $16=HEAPU32[(($15)>>2)];
-      var $17=$1;
-      var $18=(($17+44)|0);
-      var $19=HEAPU32[(($18)>>2)];
-      var $20=(($16)>>>0) < (($19)>>>0);
-      if ($20) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      $_g_boolean_var_=1;
-      __label__ = 7; break;
-    case 6: 
-      $_g_boolean_var_=0;
-      __label__ = 7; break;
-    case 7: 
-      var $24=$_g_boolean_var_;
-      var $25=(($24)==(1));
-      var $26=(($25)|0)!=0;
-      if ($26) { __label__ = 8; break; } else { __label__ = 9; break; }
-    case 8: 
-      __label__ = 12; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str71)|0), ((STRING_TABLE.___FUNCTION___read_io_word)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str72)|0),tempInt));
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $33=$1;
-      var $34=(($33+40)|0);
-      var $35=HEAP32[(($34)>>2)];
-      var $36=(($35+4)|0);
-      HEAP32[(($34)>>2)]=$36;
-      var $37=HEAP32[(($35)>>2)];
-      var $38=$1;
-      var $39=(($38+36)|0);
-      HEAP32[(($39)>>2)]=$37;
-      __label__ = 14; break;
-    case 14: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function ___read_io_word($encoder) {
-  ;
-  var __label__;
-
-  var $1;
-  $1=$encoder;
-  var $2=$1;
-  _more_io_words($2);
-  var $3=$1;
-  var $4=(($3+40)|0);
-  var $5=HEAP32[(($4)>>2)];
-  var $6=(($5+4)|0);
-  HEAP32[(($4)>>2)]=$6;
-  var $7=HEAP32[(($5)>>2)];
-  var $8=$1;
-  var $9=(($8+36)|0);
-  HEAP32[(($9)>>2)]=$7;
-  ;
-  return;
-}
-
-
-function _more_io_words($encoder) {
-  var __stackBase__  = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $io_ptr=__stackBase__;
-      var $num_io_words;
-      var $_g_boolean_var_;
-      $1=$encoder;
-      var $2=$1;
-      var $3=(($2)|0);
-      var $4=HEAP32[(($3)>>2)];
-      var $5=(($4+20)|0);
-      var $6=HEAP32[(($5)>>2)];
-      var $7=$1;
-      var $8=(($7)|0);
-      var $9=HEAP32[(($8)>>2)];
-      var $10=$1;
-      var $11=(($10+52)|0);
-      var $12=HEAP32[(($11)>>2)];
-      var $13=FUNCTION_TABLE[$6]($9, $io_ptr, $12);
-      $num_io_words=$13;
-      var $14=$num_io_words;
-      var $15=(($14)|0) <= 0;
-      if ($15) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $17=$1;
-      var $18=(($17)|0);
-      var $19=HEAP32[(($18)>>2)];
-      var $20=(($19)|0);
-      var $21=HEAP32[(($20)>>2)];
-      var $22=$1;
-      var $23=(($22)|0);
-      var $24=HEAP32[(($23)>>2)];
-      FUNCTION_TABLE[$21]($24, ((STRING_TABLE.__str73)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.___FUNCTION___more_io_words)|0),tempInt));
-      __label__ = 3; break;
-    case 3: 
-      __label__ = 4; break;
-    case 4: 
-      var $27=HEAP32[(($io_ptr)>>2)];
-      var $28=(($27)|0)!=0;
-      if ($28) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      $_g_boolean_var_=1;
-      __label__ = 7; break;
-    case 6: 
-      $_g_boolean_var_=0;
-      __label__ = 7; break;
-    case 7: 
-      var $32=$_g_boolean_var_;
-      var $33=(($32)==(1));
-      var $34=(($33)|0)!=0;
-      if ($34) { __label__ = 8; break; } else { __label__ = 9; break; }
-    case 8: 
-      __label__ = 12; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str74)|0), ((STRING_TABLE.___FUNCTION___more_io_words)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str75)|0),tempInt));
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $41=$num_io_words;
-      var $42=$1;
-      var $43=(($42+48)|0);
-      var $44=HEAP32[(($43)>>2)];
-      var $45=(($44+$41)|0);
-      HEAP32[(($43)>>2)]=$45;
-      var $46=HEAP32[(($io_ptr)>>2)];
-      var $47=$1;
-      var $48=(($47+40)|0);
-      HEAP32[(($48)>>2)]=$46;
-      var $49=$1;
-      var $50=(($49+40)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$num_io_words;
-      var $53=(($51+($52<<2))|0);
-      var $54=$1;
-      var $55=(($54+44)|0);
-      HEAP32[(($55)>>2)]=$53;
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_more_io_words["X"]=1;
-
-function _quic_one_uncompress_row0_seg($encoder, $channel, $i, $correlate_row, $cur_row, $end, $waitmask, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $8;
-      var $9;
-      var $stopidx;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $pbucket;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$channel;
-      $3=$i;
-      $4=$correlate_row;
-      $5=$cur_row;
-      $6=$end;
-      $7=$waitmask;
-      $8=$bpc;
-      $9=$bpc_mask;
-      __label__ = 2; break;
-    case 2: 
-      var $11=$6;
-      var $12=$3;
-      var $13=(($11-$12)|0);
-      var $14=(($13)|0) > 0;
-      if ($14) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $18=$_g_boolean_var_;
-      var $19=(($18)==(1));
-      var $20=(($19)|0)!=0;
-      if ($20) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str81)|0), ((STRING_TABLE.___FUNCTION___quic_one_uncompress_row0_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $27=$3;
-      var $28=(($27)|0)==0;
-      if ($28) { __label__ = 12; break; } else { __label__ = 16; break; }
-    case 12: 
-      var $30=$2;
-      var $31=$4;
-      var $32=(($31-1)|0);
-      var $33=HEAPU8[($32)];
-      var $34=(($33)&255);
-      var $35=_find_bucket_8bpc($30, $34);
-      var $36=(($35+4)|0);
-      var $37=HEAP32[(($36)>>2)];
-      var $38=$1;
-      var $39=(($38+32)|0);
-      var $40=HEAP32[(($39)>>2)];
-      var $41=_golomb_decoding_8bpc($37, $40, $codewordlen);
-      var $42=(($41) & 255);
-      var $43=$4;
-      var $44=(($43)|0);
-      HEAP8[($44)]=$42;
-      var $45=$4;
-      var $46=(($45)|0);
-      var $47=HEAPU8[($46)];
-      var $48=(($47)&255);
-      var $49=((((_family_8bpc+384)|0)+($48<<2))|0);
-      var $50=HEAP32[(($49)>>2)];
-      var $51=(($50) & 255);
-      var $52=$5;
-      var $53=(($52)|0);
-      var $54=(($53)|0);
-      HEAP8[($54)]=$51;
-      var $55=$1;
-      var $56=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($55, $56);
-      var $57=$2;
-      var $58=(($57+40)|0);
-      var $59=(($58+4)|0);
-      var $60=HEAP32[(($59)>>2)];
-      var $61=(($60)|0)!=0;
-      if ($61) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $63=$2;
-      var $64=(($63+40)|0);
-      var $65=(($64+4)|0);
-      var $66=HEAP32[(($65)>>2)];
-      var $67=(($66-1)|0);
-      HEAP32[(($65)>>2)]=$67;
-      __label__ = 15; break;
-    case 14: 
-      var $69=$2;
-      var $70=(($69+40)|0);
-      var $71=(($70+8)|0);
-      var $72=_tabrand($71);
-      var $73=$7;
-      var $74=$72 & $73;
-      var $75=$2;
-      var $76=(($75+40)|0);
-      var $77=(($76+4)|0);
-      HEAP32[(($77)>>2)]=$74;
-      var $78=$2;
-      var $79=(($78+40)|0);
-      var $80=$2;
-      var $81=$4;
-      var $82=(($81-1)|0);
-      var $83=HEAPU8[($82)];
-      var $84=(($83)&255);
-      var $85=_find_bucket_8bpc($80, $84);
-      var $86=$4;
-      var $87=(($86)|0);
-      var $88=HEAP8[($87)];
-      var $89=$8;
-      _update_model_8bpc($79, $85, $88, $89);
-      __label__ = 15; break;
-    case 15: 
-      var $91=$3;
-      var $92=(($91+1)|0);
-      $3=$92;
-      var $93=$2;
-      var $94=(($93+40)|0);
-      var $95=(($94+4)|0);
-      var $96=HEAP32[(($95)>>2)];
-      var $97=(($92+$96)|0);
-      $stopidx=$97;
-      __label__ = 17; break;
-    case 16: 
-      var $99=$3;
-      var $100=$2;
-      var $101=(($100+40)|0);
-      var $102=(($101+4)|0);
-      var $103=HEAP32[(($102)>>2)];
-      var $104=(($99+$103)|0);
-      $stopidx=$104;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      var $107=$stopidx;
-      var $108=$6;
-      var $109=(($107)|0) < (($108)|0);
-      if ($109) { __label__ = 19; break; } else { __label__ = 24; break; }
-    case 19: 
-      $pbucket=0;
-      __label__ = 20; break;
-    case 20: 
-      var $112=$3;
-      var $113=$stopidx;
-      var $114=(($112)|0) <= (($113)|0);
-      if ($114) { __label__ = 21; break; } else { __label__ = 23; break; }
-    case 21: 
-      var $116=$2;
-      var $117=$3;
-      var $118=(($117-1)|0);
-      var $119=$4;
-      var $120=(($119+$118)|0);
-      var $121=HEAPU8[($120)];
-      var $122=(($121)&255);
-      var $123=_find_bucket_8bpc($116, $122);
-      $pbucket=$123;
-      var $124=$pbucket;
-      var $125=(($124+4)|0);
-      var $126=HEAP32[(($125)>>2)];
-      var $127=$1;
-      var $128=(($127+32)|0);
-      var $129=HEAP32[(($128)>>2)];
-      var $130=_golomb_decoding_8bpc($126, $129, $codewordlen1);
-      var $131=(($130) & 255);
-      var $132=$3;
-      var $133=$4;
-      var $134=(($133+$132)|0);
-      HEAP8[($134)]=$131;
-      var $135=$3;
-      var $136=$5;
-      var $137=(($136+$135)|0);
-      var $138=$3;
-      var $139=$4;
-      var $140=(($139+$138)|0);
-      var $141=HEAP8[($140)];
-      var $142=$9;
-      _quic_one_corelate_0($137, $141, $142);
-      var $143=$1;
-      var $144=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($143, $144);
-      __label__ = 22; break;
-    case 22: 
-      var $146=$3;
-      var $147=(($146+1)|0);
-      $3=$147;
-      __label__ = 20; break;
-    case 23: 
-      var $149=$2;
-      var $150=(($149+40)|0);
-      var $151=$pbucket;
-      var $152=$stopidx;
-      var $153=$4;
-      var $154=(($153+$152)|0);
-      var $155=HEAP8[($154)];
-      var $156=$8;
-      _update_model_8bpc($150, $151, $155, $156);
-      var $157=$3;
-      var $158=$2;
-      var $159=(($158+40)|0);
-      var $160=(($159+8)|0);
-      var $161=_tabrand($160);
-      var $162=$7;
-      var $163=$161 & $162;
-      var $164=(($157+$163)|0);
-      $stopidx=$164;
-      __label__ = 18; break;
-    case 24: 
-      __label__ = 25; break;
-    case 25: 
-      var $167=$3;
-      var $168=$6;
-      var $169=(($167)|0) < (($168)|0);
-      if ($169) { __label__ = 26; break; } else { __label__ = 28; break; }
-    case 26: 
-      var $171=$2;
-      var $172=$3;
-      var $173=(($172-1)|0);
-      var $174=$4;
-      var $175=(($174+$173)|0);
-      var $176=HEAPU8[($175)];
-      var $177=(($176)&255);
-      var $178=_find_bucket_8bpc($171, $177);
-      var $179=(($178+4)|0);
-      var $180=HEAP32[(($179)>>2)];
-      var $181=$1;
-      var $182=(($181+32)|0);
-      var $183=HEAP32[(($182)>>2)];
-      var $184=_golomb_decoding_8bpc($180, $183, $codewordlen2);
-      var $185=(($184) & 255);
-      var $186=$3;
-      var $187=$4;
-      var $188=(($187+$186)|0);
-      HEAP8[($188)]=$185;
-      var $189=$3;
-      var $190=$5;
-      var $191=(($190+$189)|0);
-      var $192=$3;
-      var $193=$4;
-      var $194=(($193+$192)|0);
-      var $195=HEAP8[($194)];
-      var $196=$9;
-      _quic_one_corelate_0($191, $195, $196);
-      var $197=$1;
-      var $198=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($197, $198);
-      __label__ = 27; break;
-    case 27: 
-      var $200=$3;
-      var $201=(($200+1)|0);
-      $3=$201;
-      __label__ = 25; break;
-    case 28: 
-      var $203=$stopidx;
-      var $204=$6;
-      var $205=(($203-$204)|0);
-      var $206=$2;
-      var $207=(($206+40)|0);
-      var $208=(($207+4)|0);
-      HEAP32[(($208)>>2)]=$205;
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_one_uncompress_row0_seg["X"]=1;
-
-function _quic_four_uncompress_row0($encoder, $channel, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $bpc;
-      var $bpc_mask;
-      var $correlate_row;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$channel;
-      $3=$cur_row;
-      $4=$width;
-      $bpc=8;
-      $bpc_mask=255;
-      var $5=$2;
-      var $6=(($5+8)|0);
-      var $7=HEAP32[(($6)>>2)];
-      $correlate_row=$7;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $9=HEAP32[((_wmimax)>>2)];
-      var $10=$2;
-      var $11=(($10+40)|0);
-      var $12=(($11+16)|0);
-      var $13=HEAP32[(($12)>>2)];
-      var $14=(($9)|0) > (($13)|0);
-      if ($14) { __label__ = 3; break; } else { var $23 = 0;__label__ = 4; break; }
-    case 3: 
-      var $16=$2;
-      var $17=(($16+40)|0);
-      var $18=(($17+20)|0);
-      var $19=HEAPU32[(($18)>>2)];
-      var $20=$4;
-      var $21=(($19)>>>0) <= (($20)>>>0);
-      var $23 = $21;__label__ = 4; break;
-    case 4: 
-      var $23;
-      if ($23) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $25=$2;
-      var $26=(($25+40)|0);
-      var $27=(($26+20)|0);
-      var $28=HEAP32[(($27)>>2)];
-      var $29=(($28)|0)!=0;
-      if ($29) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $31=$1;
-      var $32=$2;
-      var $33=$pos;
-      var $34=$correlate_row;
-      var $35=$3;
-      var $36=$pos;
-      var $37=$2;
-      var $38=(($37+40)|0);
-      var $39=(($38+20)|0);
-      var $40=HEAP32[(($39)>>2)];
-      var $41=(($36+$40)|0);
-      var $42=$2;
-      var $43=(($42+40)|0);
-      var $44=(($43+16)|0);
-      var $45=HEAP32[(($44)>>2)];
-      var $46=((_bppmask+($45<<2))|0);
-      var $47=HEAP32[(($46)>>2)];
-      _quic_four_uncompress_row0_seg($31, $32, $33, $34, $35, $41, $47, 8, 255);
-      var $48=$2;
-      var $49=(($48+40)|0);
-      var $50=(($49+20)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$pos;
-      var $53=(($52+$51)|0);
-      $pos=$53;
-      var $54=$2;
-      var $55=(($54+40)|0);
-      var $56=(($55+20)|0);
-      var $57=HEAP32[(($56)>>2)];
-      var $58=$4;
-      var $59=(($58-$57)|0);
-      $4=$59;
-      __label__ = 7; break;
-    case 7: 
-      var $61=$2;
-      var $62=(($61+40)|0);
-      var $63=(($62+16)|0);
-      var $64=HEAP32[(($63)>>2)];
-      var $65=(($64+1)|0);
-      HEAP32[(($63)>>2)]=$65;
-      var $66=$2;
-      var $67=(($66+40)|0);
-      _set_wm_trigger($67);
-      var $68=HEAP32[((_wminext)>>2)];
-      var $69=$2;
-      var $70=(($69+40)|0);
-      var $71=(($70+20)|0);
-      HEAP32[(($71)>>2)]=$68;
-      __label__ = 2; break;
-    case 8: 
-      var $73=$4;
-      var $74=(($73)|0)!=0;
-      if ($74) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $76=$1;
-      var $77=$2;
-      var $78=$pos;
-      var $79=$correlate_row;
-      var $80=$3;
-      var $81=$pos;
-      var $82=$4;
-      var $83=(($81+$82)|0);
-      var $84=$2;
-      var $85=(($84+40)|0);
-      var $86=(($85+16)|0);
-      var $87=HEAP32[(($86)>>2)];
-      var $88=((_bppmask+($87<<2))|0);
-      var $89=HEAP32[(($88)>>2)];
-      _quic_four_uncompress_row0_seg($76, $77, $78, $79, $80, $83, $89, 8, 255);
-      var $90=HEAP32[((_wmimax)>>2)];
-      var $91=$2;
-      var $92=(($91+40)|0);
-      var $93=(($92+16)|0);
-      var $94=HEAP32[(($93)>>2)];
-      var $95=(($90)|0) > (($94)|0);
-      if ($95) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $97=$4;
-      var $98=$2;
-      var $99=(($98+40)|0);
-      var $100=(($99+20)|0);
-      var $101=HEAP32[(($100)>>2)];
-      var $102=(($101-$97)|0);
-      HEAP32[(($100)>>2)]=$102;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $106=$2;
-      var $107=(($106+40)|0);
-      var $108=(($107+16)|0);
-      var $109=HEAP32[(($108)>>2)];
-      var $110=HEAP32[((_wmimax)>>2)];
-      var $111=(($109)|0) <= (($110)|0);
-      if ($111) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $115=$_g_boolean_var_;
-      var $116=(($115)==(1));
-      var $117=(($116)|0)!=0;
-      if ($117) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str78)|0), ((STRING_TABLE.___FUNCTION___quic_four_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str56)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $125=$2;
-      var $126=(($125+40)|0);
-      var $127=(($126+16)|0);
-      var $128=HEAPU32[(($127)>>2)];
-      var $129=(($128)>>>0) <= 32;
-      if ($129) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $133=$_g_boolean_var_1;
-      var $134=(($133)==(1));
-      var $135=(($134)|0)!=0;
-      if ($135) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str79)|0), ((STRING_TABLE.___FUNCTION___quic_four_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str58)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $143=HEAP32[((_wminext)>>2)];
-      var $144=(($143)|0) > 0;
-      if ($144) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $148=$_g_boolean_var_2;
-      var $149=(($148)==(1));
-      var $150=(($149)|0)!=0;
-      if ($150) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str80)|0), ((STRING_TABLE.___FUNCTION___quic_four_uncompress_row0)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_four_uncompress_row0["X"]=1;
-
-function _quic_four_uncompress_row($encoder, $channel, $prev_row, $cur_row, $width) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $bpc;
-      var $bpc_mask;
-      var $correlate_row;
-      var $pos;
-      var $_g_boolean_var_;
-      var $_g_boolean_var_1;
-      var $_g_boolean_var_2;
-      $1=$encoder;
-      $2=$channel;
-      $3=$prev_row;
-      $4=$cur_row;
-      $5=$width;
-      $bpc=8;
-      $bpc_mask=255;
-      var $6=$2;
-      var $7=(($6+8)|0);
-      var $8=HEAP32[(($7)>>2)];
-      $correlate_row=$8;
-      $pos=0;
-      __label__ = 2; break;
-    case 2: 
-      var $10=HEAP32[((_wmimax)>>2)];
-      var $11=$2;
-      var $12=(($11+40)|0);
-      var $13=(($12+16)|0);
-      var $14=HEAP32[(($13)>>2)];
-      var $15=(($10)|0) > (($14)|0);
-      if ($15) { __label__ = 3; break; } else { var $24 = 0;__label__ = 4; break; }
-    case 3: 
-      var $17=$2;
-      var $18=(($17+40)|0);
-      var $19=(($18+20)|0);
-      var $20=HEAPU32[(($19)>>2)];
-      var $21=$5;
-      var $22=(($20)>>>0) <= (($21)>>>0);
-      var $24 = $22;__label__ = 4; break;
-    case 4: 
-      var $24;
-      if ($24) { __label__ = 5; break; } else { __label__ = 8; break; }
-    case 5: 
-      var $26=$2;
-      var $27=(($26+40)|0);
-      var $28=(($27+20)|0);
-      var $29=HEAP32[(($28)>>2)];
-      var $30=(($29)|0)!=0;
-      if ($30) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      var $32=$1;
-      var $33=$2;
-      var $34=$correlate_row;
-      var $35=$3;
-      var $36=$4;
-      var $37=$pos;
-      var $38=$pos;
-      var $39=$2;
-      var $40=(($39+40)|0);
-      var $41=(($40+20)|0);
-      var $42=HEAP32[(($41)>>2)];
-      var $43=(($38+$42)|0);
-      _quic_four_uncompress_row_seg($32, $33, $34, $35, $36, $37, $43, 8, 255);
-      var $44=$2;
-      var $45=(($44+40)|0);
-      var $46=(($45+20)|0);
-      var $47=HEAP32[(($46)>>2)];
-      var $48=$pos;
-      var $49=(($48+$47)|0);
-      $pos=$49;
-      var $50=$2;
-      var $51=(($50+40)|0);
-      var $52=(($51+20)|0);
-      var $53=HEAP32[(($52)>>2)];
-      var $54=$5;
-      var $55=(($54-$53)|0);
-      $5=$55;
-      __label__ = 7; break;
-    case 7: 
-      var $57=$2;
-      var $58=(($57+40)|0);
-      var $59=(($58+16)|0);
-      var $60=HEAP32[(($59)>>2)];
-      var $61=(($60+1)|0);
-      HEAP32[(($59)>>2)]=$61;
-      var $62=$2;
-      var $63=(($62+40)|0);
-      _set_wm_trigger($63);
-      var $64=HEAP32[((_wminext)>>2)];
-      var $65=$2;
-      var $66=(($65+40)|0);
-      var $67=(($66+20)|0);
-      HEAP32[(($67)>>2)]=$64;
-      __label__ = 2; break;
-    case 8: 
-      var $69=$5;
-      var $70=(($69)|0)!=0;
-      if ($70) { __label__ = 9; break; } else { __label__ = 12; break; }
-    case 9: 
-      var $72=$1;
-      var $73=$2;
-      var $74=$correlate_row;
-      var $75=$3;
-      var $76=$4;
-      var $77=$pos;
-      var $78=$pos;
-      var $79=$5;
-      var $80=(($78+$79)|0);
-      _quic_four_uncompress_row_seg($72, $73, $74, $75, $76, $77, $80, 8, 255);
-      var $81=HEAP32[((_wmimax)>>2)];
-      var $82=$2;
-      var $83=(($82+40)|0);
-      var $84=(($83+16)|0);
-      var $85=HEAP32[(($84)>>2)];
-      var $86=(($81)|0) > (($85)|0);
-      if ($86) { __label__ = 10; break; } else { __label__ = 11; break; }
-    case 10: 
-      var $88=$5;
-      var $89=$2;
-      var $90=(($89+40)|0);
-      var $91=(($90+20)|0);
-      var $92=HEAP32[(($91)>>2)];
-      var $93=(($92-$88)|0);
-      HEAP32[(($91)>>2)]=$93;
-      __label__ = 11; break;
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      var $97=$2;
-      var $98=(($97+40)|0);
-      var $99=(($98+16)|0);
-      var $100=HEAP32[(($99)>>2)];
-      var $101=HEAP32[((_wmimax)>>2)];
-      var $102=(($100)|0) <= (($101)|0);
-      if ($102) { __label__ = 14; break; } else { __label__ = 15; break; }
-    case 14: 
-      $_g_boolean_var_=1;
-      __label__ = 16; break;
-    case 15: 
-      $_g_boolean_var_=0;
-      __label__ = 16; break;
-    case 16: 
-      var $106=$_g_boolean_var_;
-      var $107=(($106)==(1));
-      var $108=(($107)|0)!=0;
-      if ($108) { __label__ = 17; break; } else { __label__ = 18; break; }
-    case 17: 
-      __label__ = 21; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str55)|0), ((STRING_TABLE.___FUNCTION___quic_four_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str56)|0),tempInt));
-      __label__ = 20; break;
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 23; break;
-    case 23: 
-      var $116=$2;
-      var $117=(($116+40)|0);
-      var $118=(($117+16)|0);
-      var $119=HEAPU32[(($118)>>2)];
-      var $120=(($119)>>>0) <= 32;
-      if ($120) { __label__ = 24; break; } else { __label__ = 25; break; }
-    case 24: 
-      $_g_boolean_var_1=1;
-      __label__ = 26; break;
-    case 25: 
-      $_g_boolean_var_1=0;
-      __label__ = 26; break;
-    case 26: 
-      var $124=$_g_boolean_var_1;
-      var $125=(($124)==(1));
-      var $126=(($125)|0)!=0;
-      if ($126) { __label__ = 27; break; } else { __label__ = 28; break; }
-    case 27: 
-      __label__ = 31; break;
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str57)|0), ((STRING_TABLE.___FUNCTION___quic_four_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str58)|0),tempInt));
-      __label__ = 30; break;
-    case 30: 
-      __label__ = 31; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      __label__ = 33; break;
-    case 33: 
-      var $134=HEAP32[((_wminext)>>2)];
-      var $135=(($134)|0) > 0;
-      if ($135) { __label__ = 34; break; } else { __label__ = 35; break; }
-    case 34: 
-      $_g_boolean_var_2=1;
-      __label__ = 36; break;
-    case 35: 
-      $_g_boolean_var_2=0;
-      __label__ = 36; break;
-    case 36: 
-      var $139=$_g_boolean_var_2;
-      var $140=(($139)==(1));
-      var $141=(($140)|0)!=0;
-      if ($141) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 41; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str59)|0), ((STRING_TABLE.___FUNCTION___quic_four_uncompress_row)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str60)|0),tempInt));
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_four_uncompress_row["X"]=1;
-
-function _quic_four_corelate($prev, $curr, $corelate, $bpc_mask) {
-  ;
-  var __label__;
-
-  var $1;
-  var $2;
-  var $3;
-  var $4;
-  $1=$prev;
-  $2=$curr;
-  $3=$corelate;
-  $4=$bpc_mask;
-  var $5=$3;
-  var $6=(($5)&255);
-  var $7=((((_family_8bpc+384)|0)+($6<<2))|0);
-  var $8=HEAP32[(($7)>>2)];
-  var $9=$2;
-  var $10=(($9-4)|0);
-  var $11=(($10)|0);
-  var $12=HEAPU8[($11)];
-  var $13=(($12)&255);
-  var $14=$1;
-  var $15=(($14)|0);
-  var $16=(($15)|0);
-  var $17=HEAPU8[($16)];
-  var $18=(($17)&255);
-  var $19=(($13+$18)|0);
-  var $20=$19 >>> 1;
-  var $21=(($8+$20)|0);
-  var $22=$4;
-  var $23=$21 & $22;
-  var $24=(($23) & 255);
-  var $25=$2;
-  var $26=(($25)|0);
-  HEAP8[($26)]=$24;
-  ;
-  return;
-}
-
-
-function _quic_four_corelate_0($curr, $corelate, $bpc_mask) {
-  ;
-  var __label__;
-
-  var $1;
-  var $2;
-  var $3;
-  $1=$curr;
-  $2=$corelate;
-  $3=$bpc_mask;
-  var $4=$2;
-  var $5=(($4)&255);
-  var $6=((((_family_8bpc+384)|0)+($5<<2))|0);
-  var $7=HEAP32[(($6)>>2)];
-  var $8=$1;
-  var $9=(($8-4)|0);
-  var $10=(($9)|0);
-  var $11=HEAPU8[($10)];
-  var $12=(($11)&255);
-  var $13=(($7+$12)|0);
-  var $14=$3;
-  var $15=$13 & $14;
-  var $16=(($15) & 255);
-  var $17=$1;
-  var $18=(($17)|0);
-  HEAP8[($18)]=$16;
-  ;
-  return;
-}
-
-
-function _quic_four_uncompress_row_seg($encoder, $channel, $correlate_row, $prev_row, $cur_row, $i, $end, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $8;
-      var $9;
-      var $waitmask;
-      var $stopidx;
-      var $run_index;
-      var $run_end;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $pbucket;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$channel;
-      $3=$correlate_row;
-      $4=$prev_row;
-      $5=$cur_row;
-      $6=$i;
-      $7=$end;
-      $8=$bpc;
-      $9=$bpc_mask;
-      var $10=$2;
-      var $11=(($10+40)|0);
-      var $12=(($11+16)|0);
-      var $13=HEAP32[(($12)>>2)];
-      var $14=((_bppmask+($13<<2))|0);
-      var $15=HEAP32[(($14)>>2)];
-      $waitmask=$15;
-      $run_index=0;
-      __label__ = 2; break;
-    case 2: 
-      var $17=$7;
-      var $18=$6;
-      var $19=(($17-$18)|0);
-      var $20=(($19)|0) > 0;
-      if ($20) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $24=$_g_boolean_var_;
-      var $25=(($24)==(1));
-      var $26=(($25)|0)!=0;
-      if ($26) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str67)|0), ((STRING_TABLE.___FUNCTION___quic_four_uncompress_row_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $33=$6;
-      var $34=(($33)|0)==0;
-      if ($34) { __label__ = 12; break; } else { __label__ = 16; break; }
-    case 12: 
-      var $36=$2;
-      var $37=$3;
-      var $38=(($37-1)|0);
-      var $39=HEAPU8[($38)];
-      var $40=(($39)&255);
-      var $41=_find_bucket_8bpc($36, $40);
-      var $42=(($41+4)|0);
-      var $43=HEAP32[(($42)>>2)];
-      var $44=$1;
-      var $45=(($44+32)|0);
-      var $46=HEAP32[(($45)>>2)];
-      var $47=_golomb_decoding_8bpc($43, $46, $codewordlen);
-      var $48=(($47) & 255);
-      var $49=$3;
-      var $50=(($49)|0);
-      HEAP8[($50)]=$48;
-      var $51=$3;
-      var $52=(($51)|0);
-      var $53=HEAPU8[($52)];
-      var $54=(($53)&255);
-      var $55=((((_family_8bpc+384)|0)+($54<<2))|0);
-      var $56=HEAP32[(($55)>>2)];
-      var $57=$4;
-      var $58=(($57)|0);
-      var $59=(($58)|0);
-      var $60=HEAPU8[($59)];
-      var $61=(($60)&255);
-      var $62=(($56+$61)|0);
-      var $63=$9;
-      var $64=$62 & $63;
-      var $65=(($64) & 255);
-      var $66=$5;
-      var $67=(($66)|0);
-      var $68=(($67)|0);
-      HEAP8[($68)]=$65;
-      var $69=$1;
-      var $70=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($69, $70);
-      var $71=$2;
-      var $72=(($71+40)|0);
-      var $73=(($72+4)|0);
-      var $74=HEAP32[(($73)>>2)];
-      var $75=(($74)|0)!=0;
-      if ($75) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $77=$2;
-      var $78=(($77+40)|0);
-      var $79=(($78+4)|0);
-      var $80=HEAP32[(($79)>>2)];
-      var $81=(($80-1)|0);
-      HEAP32[(($79)>>2)]=$81;
-      __label__ = 15; break;
-    case 14: 
-      var $83=$2;
-      var $84=(($83+40)|0);
-      var $85=(($84+8)|0);
-      var $86=_tabrand($85);
-      var $87=$waitmask;
-      var $88=$86 & $87;
-      var $89=$2;
-      var $90=(($89+40)|0);
-      var $91=(($90+4)|0);
-      HEAP32[(($91)>>2)]=$88;
-      var $92=$2;
-      var $93=(($92+40)|0);
-      var $94=$2;
-      var $95=$3;
-      var $96=(($95-1)|0);
-      var $97=HEAPU8[($96)];
-      var $98=(($97)&255);
-      var $99=_find_bucket_8bpc($94, $98);
-      var $100=$3;
-      var $101=(($100)|0);
-      var $102=HEAP8[($101)];
-      var $103=$8;
-      _update_model_8bpc($93, $99, $102, $103);
-      __label__ = 15; break;
-    case 15: 
-      var $105=$6;
-      var $106=(($105+1)|0);
-      $6=$106;
-      var $107=$2;
-      var $108=(($107+40)|0);
-      var $109=(($108+4)|0);
-      var $110=HEAP32[(($109)>>2)];
-      var $111=(($106+$110)|0);
-      $stopidx=$111;
-      __label__ = 17; break;
-    case 16: 
-      var $113=$6;
-      var $114=$2;
-      var $115=(($114+40)|0);
-      var $116=(($115+4)|0);
-      var $117=HEAP32[(($116)>>2)];
-      var $118=(($113+$117)|0);
-      $stopidx=$118;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      var $122=$stopidx;
-      var $123=$7;
-      var $124=(($122)|0) < (($123)|0);
-      if ($124) { __label__ = 20; break; } else { __label__ = 31; break; }
-    case 20: 
-      $pbucket=0;
-      __label__ = 21; break;
-    case 21: 
-      var $127=$6;
-      var $128=$stopidx;
-      var $129=(($127)|0) <= (($128)|0);
-      if ($129) { __label__ = 22; break; } else { __label__ = 30; break; }
-    case 22: 
-      var $131=$6;
-      var $132=(($131-1)|0);
-      var $133=$4;
-      var $134=(($133+($132<<2))|0);
-      var $135=(($134)|0);
-      var $136=HEAPU8[($135)];
-      var $137=(($136)&255);
-      var $138=$6;
-      var $139=$4;
-      var $140=(($139+($138<<2))|0);
-      var $141=(($140)|0);
-      var $142=HEAPU8[($141)];
-      var $143=(($142)&255);
-      var $144=(($137)|0)==(($143)|0);
-      if ($144) { __label__ = 23; break; } else { __label__ = 28; break; }
-    case 23: 
-      var $146=$run_index;
-      var $147=$6;
-      var $148=(($146)|0)!=(($147)|0);
-      if ($148) { __label__ = 24; break; } else { __label__ = 27; break; }
-    case 24: 
-      var $150=$6;
-      var $151=(($150)|0) > 2;
-      if ($151) { __label__ = 25; break; } else { __label__ = 27; break; }
-    case 25: 
-      var $153=$6;
-      var $154=(($153-1)|0);
-      var $155=$5;
-      var $156=(($155+($154<<2))|0);
-      var $157=(($156)|0);
-      var $158=HEAPU8[($157)];
-      var $159=(($158)&255);
-      var $160=$6;
-      var $161=(($160-2)|0);
-      var $162=$5;
-      var $163=(($162+($161<<2))|0);
-      var $164=(($163)|0);
-      var $165=HEAPU8[($164)];
-      var $166=(($165)&255);
-      var $167=(($159)|0)==(($166)|0);
-      if ($167) { __label__ = 26; break; } else { __label__ = 27; break; }
-    case 26: 
-      __label__ = 42; break;
-    case 27: 
-      __label__ = 28; break;
-    case 28: 
-      var $171=$2;
-      var $172=$6;
-      var $173=(($172-1)|0);
-      var $174=$3;
-      var $175=(($174+$173)|0);
-      var $176=HEAPU8[($175)];
-      var $177=(($176)&255);
-      var $178=_find_bucket_8bpc($171, $177);
-      $pbucket=$178;
-      var $179=$pbucket;
-      var $180=(($179+4)|0);
-      var $181=HEAP32[(($180)>>2)];
-      var $182=$1;
-      var $183=(($182+32)|0);
-      var $184=HEAP32[(($183)>>2)];
-      var $185=_golomb_decoding_8bpc($181, $184, $codewordlen1);
-      var $186=(($185) & 255);
-      var $187=$6;
-      var $188=$3;
-      var $189=(($188+$187)|0);
-      HEAP8[($189)]=$186;
-      var $190=$6;
-      var $191=$4;
-      var $192=(($191+($190<<2))|0);
-      var $193=$6;
-      var $194=$5;
-      var $195=(($194+($193<<2))|0);
-      var $196=$6;
-      var $197=$3;
-      var $198=(($197+$196)|0);
-      var $199=HEAP8[($198)];
-      var $200=$9;
-      _quic_four_corelate($192, $195, $199, $200);
-      var $201=$1;
-      var $202=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($201, $202);
-      __label__ = 29; break;
-    case 29: 
-      var $204=$6;
-      var $205=(($204+1)|0);
-      $6=$205;
-      __label__ = 21; break;
-    case 30: 
-      var $207=$2;
-      var $208=(($207+40)|0);
-      var $209=$pbucket;
-      var $210=$stopidx;
-      var $211=$3;
-      var $212=(($211+$210)|0);
-      var $213=HEAP8[($212)];
-      var $214=$8;
-      _update_model_8bpc($208, $209, $213, $214);
-      var $215=$6;
-      var $216=$2;
-      var $217=(($216+40)|0);
-      var $218=(($217+8)|0);
-      var $219=_tabrand($218);
-      var $220=$waitmask;
-      var $221=$219 & $220;
-      var $222=(($215+$221)|0);
-      $stopidx=$222;
-      __label__ = 19; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      var $225=$6;
-      var $226=$7;
-      var $227=(($225)|0) < (($226)|0);
-      if ($227) { __label__ = 33; break; } else { __label__ = 41; break; }
-    case 33: 
-      var $229=$6;
-      var $230=(($229-1)|0);
-      var $231=$4;
-      var $232=(($231+($230<<2))|0);
-      var $233=(($232)|0);
-      var $234=HEAPU8[($233)];
-      var $235=(($234)&255);
-      var $236=$6;
-      var $237=$4;
-      var $238=(($237+($236<<2))|0);
-      var $239=(($238)|0);
-      var $240=HEAPU8[($239)];
-      var $241=(($240)&255);
-      var $242=(($235)|0)==(($241)|0);
-      if ($242) { __label__ = 34; break; } else { __label__ = 39; break; }
-    case 34: 
-      var $244=$run_index;
-      var $245=$6;
-      var $246=(($244)|0)!=(($245)|0);
-      if ($246) { __label__ = 35; break; } else { __label__ = 38; break; }
-    case 35: 
-      var $248=$6;
-      var $249=(($248)|0) > 2;
-      if ($249) { __label__ = 36; break; } else { __label__ = 38; break; }
-    case 36: 
-      var $251=$6;
-      var $252=(($251-1)|0);
-      var $253=$5;
-      var $254=(($253+($252<<2))|0);
-      var $255=(($254)|0);
-      var $256=HEAPU8[($255)];
-      var $257=(($256)&255);
-      var $258=$6;
-      var $259=(($258-2)|0);
-      var $260=$5;
-      var $261=(($260+($259<<2))|0);
-      var $262=(($261)|0);
-      var $263=HEAPU8[($262)];
-      var $264=(($263)&255);
-      var $265=(($257)|0)==(($264)|0);
-      if ($265) { __label__ = 37; break; } else { __label__ = 38; break; }
-    case 37: 
-      __label__ = 42; break;
-    case 38: 
-      __label__ = 39; break;
-    case 39: 
-      var $269=$2;
-      var $270=$6;
-      var $271=(($270-1)|0);
-      var $272=$3;
-      var $273=(($272+$271)|0);
-      var $274=HEAPU8[($273)];
-      var $275=(($274)&255);
-      var $276=_find_bucket_8bpc($269, $275);
-      var $277=(($276+4)|0);
-      var $278=HEAP32[(($277)>>2)];
-      var $279=$1;
-      var $280=(($279+32)|0);
-      var $281=HEAP32[(($280)>>2)];
-      var $282=_golomb_decoding_8bpc($278, $281, $codewordlen2);
-      var $283=(($282) & 255);
-      var $284=$6;
-      var $285=$3;
-      var $286=(($285+$284)|0);
-      HEAP8[($286)]=$283;
-      var $287=$6;
-      var $288=$4;
-      var $289=(($288+($287<<2))|0);
-      var $290=$6;
-      var $291=$5;
-      var $292=(($291+($290<<2))|0);
-      var $293=$6;
-      var $294=$3;
-      var $295=(($294+$293)|0);
-      var $296=HEAP8[($295)];
-      var $297=$9;
-      _quic_four_corelate($289, $292, $296, $297);
-      var $298=$1;
-      var $299=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($298, $299);
-      __label__ = 40; break;
-    case 40: 
-      var $301=$6;
-      var $302=(($301+1)|0);
-      $6=$302;
-      __label__ = 32; break;
-    case 41: 
-      var $304=$stopidx;
-      var $305=$7;
-      var $306=(($304-$305)|0);
-      var $307=$2;
-      var $308=(($307+40)|0);
-      var $309=(($308+4)|0);
-      HEAP32[(($309)>>2)]=$306;
-      __label__ = 49; break;
-    case 42: 
-      var $311=$stopidx;
-      var $312=$6;
-      var $313=(($311-$312)|0);
-      var $314=$2;
-      var $315=(($314+40)|0);
-      var $316=(($315+4)|0);
-      HEAP32[(($316)>>2)]=$313;
-      var $317=$6;
-      $run_index=$317;
-      var $318=$6;
-      var $319=$1;
-      var $320=$2;
-      var $321=_decode_channel_run($319, $320);
-      var $322=(($318+$321)|0);
-      $run_end=$322;
-      __label__ = 43; break;
-    case 43: 
-      var $324=$6;
-      var $325=$run_end;
-      var $326=(($324)|0) < (($325)|0);
-      if ($326) { __label__ = 44; break; } else { __label__ = 46; break; }
-    case 44: 
-      var $328=$6;
-      var $329=(($328-1)|0);
-      var $330=$5;
-      var $331=(($330+($329<<2))|0);
-      var $332=(($331)|0);
-      var $333=HEAP8[($332)];
-      var $334=$6;
-      var $335=$5;
-      var $336=(($335+($334<<2))|0);
-      var $337=(($336)|0);
-      HEAP8[($337)]=$333;
-      __label__ = 45; break;
-    case 45: 
-      var $339=$6;
-      var $340=(($339+1)|0);
-      $6=$340;
-      __label__ = 43; break;
-    case 46: 
-      var $342=$6;
-      var $343=$7;
-      var $344=(($342)|0)==(($343)|0);
-      if ($344) { __label__ = 47; break; } else { __label__ = 48; break; }
-    case 47: 
-      __label__ = 49; break;
-    case 48: 
-      var $347=$6;
-      var $348=$2;
-      var $349=(($348+40)|0);
-      var $350=(($349+4)|0);
-      var $351=HEAP32[(($350)>>2)];
-      var $352=(($347+$351)|0);
-      $stopidx=$352;
-      __label__ = 18; break;
-    case 49: 
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_four_uncompress_row_seg["X"]=1;
-
-function _quic_four_uncompress_row0_seg($encoder, $channel, $i, $correlate_row, $cur_row, $end, $waitmask, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $8;
-      var $9;
-      var $stopidx;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $pbucket;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$channel;
-      $3=$i;
-      $4=$correlate_row;
-      $5=$cur_row;
-      $6=$end;
-      $7=$waitmask;
-      $8=$bpc;
-      $9=$bpc_mask;
-      __label__ = 2; break;
-    case 2: 
-      var $11=$6;
-      var $12=$3;
-      var $13=(($11-$12)|0);
-      var $14=(($13)|0) > 0;
-      if ($14) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $18=$_g_boolean_var_;
-      var $19=(($18)==(1));
-      var $20=(($19)|0)!=0;
-      if ($20) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str81)|0), ((STRING_TABLE.___FUNCTION___quic_four_uncompress_row0_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $27=$3;
-      var $28=(($27)|0)==0;
-      if ($28) { __label__ = 12; break; } else { __label__ = 16; break; }
-    case 12: 
-      var $30=$2;
-      var $31=$4;
-      var $32=(($31-1)|0);
-      var $33=HEAPU8[($32)];
-      var $34=(($33)&255);
-      var $35=_find_bucket_8bpc($30, $34);
-      var $36=(($35+4)|0);
-      var $37=HEAP32[(($36)>>2)];
-      var $38=$1;
-      var $39=(($38+32)|0);
-      var $40=HEAP32[(($39)>>2)];
-      var $41=_golomb_decoding_8bpc($37, $40, $codewordlen);
-      var $42=(($41) & 255);
-      var $43=$4;
-      var $44=(($43)|0);
-      HEAP8[($44)]=$42;
-      var $45=$4;
-      var $46=(($45)|0);
-      var $47=HEAPU8[($46)];
-      var $48=(($47)&255);
-      var $49=((((_family_8bpc+384)|0)+($48<<2))|0);
-      var $50=HEAP32[(($49)>>2)];
-      var $51=(($50) & 255);
-      var $52=$5;
-      var $53=(($52)|0);
-      var $54=(($53)|0);
-      HEAP8[($54)]=$51;
-      var $55=$1;
-      var $56=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($55, $56);
-      var $57=$2;
-      var $58=(($57+40)|0);
-      var $59=(($58+4)|0);
-      var $60=HEAP32[(($59)>>2)];
-      var $61=(($60)|0)!=0;
-      if ($61) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $63=$2;
-      var $64=(($63+40)|0);
-      var $65=(($64+4)|0);
-      var $66=HEAP32[(($65)>>2)];
-      var $67=(($66-1)|0);
-      HEAP32[(($65)>>2)]=$67;
-      __label__ = 15; break;
-    case 14: 
-      var $69=$2;
-      var $70=(($69+40)|0);
-      var $71=(($70+8)|0);
-      var $72=_tabrand($71);
-      var $73=$7;
-      var $74=$72 & $73;
-      var $75=$2;
-      var $76=(($75+40)|0);
-      var $77=(($76+4)|0);
-      HEAP32[(($77)>>2)]=$74;
-      var $78=$2;
-      var $79=(($78+40)|0);
-      var $80=$2;
-      var $81=$4;
-      var $82=(($81-1)|0);
-      var $83=HEAPU8[($82)];
-      var $84=(($83)&255);
-      var $85=_find_bucket_8bpc($80, $84);
-      var $86=$4;
-      var $87=(($86)|0);
-      var $88=HEAP8[($87)];
-      var $89=$8;
-      _update_model_8bpc($79, $85, $88, $89);
-      __label__ = 15; break;
-    case 15: 
-      var $91=$3;
-      var $92=(($91+1)|0);
-      $3=$92;
-      var $93=$2;
-      var $94=(($93+40)|0);
-      var $95=(($94+4)|0);
-      var $96=HEAP32[(($95)>>2)];
-      var $97=(($92+$96)|0);
-      $stopidx=$97;
-      __label__ = 17; break;
-    case 16: 
-      var $99=$3;
-      var $100=$2;
-      var $101=(($100+40)|0);
-      var $102=(($101+4)|0);
-      var $103=HEAP32[(($102)>>2)];
-      var $104=(($99+$103)|0);
-      $stopidx=$104;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      var $107=$stopidx;
-      var $108=$6;
-      var $109=(($107)|0) < (($108)|0);
-      if ($109) { __label__ = 19; break; } else { __label__ = 24; break; }
-    case 19: 
-      $pbucket=0;
-      __label__ = 20; break;
-    case 20: 
-      var $112=$3;
-      var $113=$stopidx;
-      var $114=(($112)|0) <= (($113)|0);
-      if ($114) { __label__ = 21; break; } else { __label__ = 23; break; }
-    case 21: 
-      var $116=$2;
-      var $117=$3;
-      var $118=(($117-1)|0);
-      var $119=$4;
-      var $120=(($119+$118)|0);
-      var $121=HEAPU8[($120)];
-      var $122=(($121)&255);
-      var $123=_find_bucket_8bpc($116, $122);
-      $pbucket=$123;
-      var $124=$pbucket;
-      var $125=(($124+4)|0);
-      var $126=HEAP32[(($125)>>2)];
-      var $127=$1;
-      var $128=(($127+32)|0);
-      var $129=HEAP32[(($128)>>2)];
-      var $130=_golomb_decoding_8bpc($126, $129, $codewordlen1);
-      var $131=(($130) & 255);
-      var $132=$3;
-      var $133=$4;
-      var $134=(($133+$132)|0);
-      HEAP8[($134)]=$131;
-      var $135=$3;
-      var $136=$5;
-      var $137=(($136+($135<<2))|0);
-      var $138=$3;
-      var $139=$4;
-      var $140=(($139+$138)|0);
-      var $141=HEAP8[($140)];
-      var $142=$9;
-      _quic_four_corelate_0($137, $141, $142);
-      var $143=$1;
-      var $144=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($143, $144);
-      __label__ = 22; break;
-    case 22: 
-      var $146=$3;
-      var $147=(($146+1)|0);
-      $3=$147;
-      __label__ = 20; break;
-    case 23: 
-      var $149=$2;
-      var $150=(($149+40)|0);
-      var $151=$pbucket;
-      var $152=$stopidx;
-      var $153=$4;
-      var $154=(($153+$152)|0);
-      var $155=HEAP8[($154)];
-      var $156=$8;
-      _update_model_8bpc($150, $151, $155, $156);
-      var $157=$3;
-      var $158=$2;
-      var $159=(($158+40)|0);
-      var $160=(($159+8)|0);
-      var $161=_tabrand($160);
-      var $162=$7;
-      var $163=$161 & $162;
-      var $164=(($157+$163)|0);
-      $stopidx=$164;
-      __label__ = 18; break;
-    case 24: 
-      __label__ = 25; break;
-    case 25: 
-      var $167=$3;
-      var $168=$6;
-      var $169=(($167)|0) < (($168)|0);
-      if ($169) { __label__ = 26; break; } else { __label__ = 28; break; }
-    case 26: 
-      var $171=$2;
-      var $172=$3;
-      var $173=(($172-1)|0);
-      var $174=$4;
-      var $175=(($174+$173)|0);
-      var $176=HEAPU8[($175)];
-      var $177=(($176)&255);
-      var $178=_find_bucket_8bpc($171, $177);
-      var $179=(($178+4)|0);
-      var $180=HEAP32[(($179)>>2)];
-      var $181=$1;
-      var $182=(($181+32)|0);
-      var $183=HEAP32[(($182)>>2)];
-      var $184=_golomb_decoding_8bpc($180, $183, $codewordlen2);
-      var $185=(($184) & 255);
-      var $186=$3;
-      var $187=$4;
-      var $188=(($187+$186)|0);
-      HEAP8[($188)]=$185;
-      var $189=$3;
-      var $190=$5;
-      var $191=(($190+($189<<2))|0);
-      var $192=$3;
-      var $193=$4;
-      var $194=(($193+$192)|0);
-      var $195=HEAP8[($194)];
-      var $196=$9;
-      _quic_four_corelate_0($191, $195, $196);
-      var $197=$1;
-      var $198=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($197, $198);
-      __label__ = 27; break;
-    case 27: 
-      var $200=$3;
-      var $201=(($200+1)|0);
-      $3=$201;
-      __label__ = 25; break;
-    case 28: 
-      var $203=$stopidx;
-      var $204=$6;
-      var $205=(($203-$204)|0);
-      var $206=$2;
-      var $207=(($206+40)|0);
-      var $208=(($207+4)|0);
-      HEAP32[(($208)>>2)]=$205;
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_four_uncompress_row0_seg["X"]=1;
-
-function _quic_rgb16_to_32_uncompress_row_seg($encoder, $prev_row, $cur_row, $i, $end, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $channel_r;
-      var $channel_g;
-      var $channel_b;
-      var $correlate_row_r;
-      var $correlate_row_g;
-      var $correlate_row_b;
-      var $waitmask;
-      var $stopidx;
-      var $run_index;
-      var $run_end;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$prev_row;
-      $3=$cur_row;
-      $4=$i;
-      $5=$end;
-      $6=$bpc;
-      $7=$bpc_mask;
-      var $8=$1;
-      var $9=(($8+56)|0);
-      var $10=(($9)|0);
-      $channel_r=$10;
-      var $11=$channel_r;
-      var $12=(($11+76)|0);
-      $channel_g=$12;
-      var $13=$channel_g;
-      var $14=(($13+76)|0);
-      $channel_b=$14;
-      var $15=$channel_r;
-      var $16=(($15+8)|0);
-      var $17=HEAP32[(($16)>>2)];
-      $correlate_row_r=$17;
-      var $18=$channel_g;
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      $correlate_row_g=$20;
-      var $21=$channel_b;
-      var $22=(($21+8)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $correlate_row_b=$23;
-      var $24=$1;
-      var $25=(($24+360)|0);
-      var $26=(($25+16)|0);
-      var $27=HEAP32[(($26)>>2)];
-      var $28=((_bppmask+($27<<2))|0);
-      var $29=HEAP32[(($28)>>2)];
-      $waitmask=$29;
-      $run_index=0;
-      __label__ = 2; break;
-    case 2: 
-      var $31=$5;
-      var $32=$4;
-      var $33=(($31-$32)|0);
-      var $34=(($33)|0) > 0;
-      if ($34) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $38=$_g_boolean_var_;
-      var $39=(($38)==(1));
-      var $40=(($39)|0)!=0;
-      if ($40) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str87)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $47=$4;
-      var $48=(($47)|0)!=0;
-      if ($48) { __label__ = 16; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $50=$4;
-      var $51=$3;
-      var $52=(($51+($50<<2))|0);
-      var $53=(($52+3)|0);
-      HEAP8[($53)]=0;
-      var $54=$channel_r;
-      var $55=$correlate_row_r;
-      var $56=(($55-1)|0);
-      var $57=HEAPU8[($56)];
-      var $58=(($57)&255);
-      var $59=_find_bucket_5bpc($54, $58);
-      var $60=(($59+4)|0);
-      var $61=HEAP32[(($60)>>2)];
-      var $62=$1;
-      var $63=(($62+32)|0);
-      var $64=HEAP32[(($63)>>2)];
-      var $65=_golomb_decoding_5bpc($61, $64, $codewordlen);
-      var $66=(($65) & 255);
-      var $67=$correlate_row_r;
-      var $68=(($67)|0);
-      HEAP8[($68)]=$66;
-      var $69=$correlate_row_r;
-      var $70=(($69)|0);
-      var $71=HEAPU8[($70)];
-      var $72=(($71)&255);
-      var $73=((((_family_5bpc+384)|0)+($72<<2))|0);
-      var $74=HEAP32[(($73)>>2)];
-      var $75=$2;
-      var $76=(($75+2)|0);
-      var $77=HEAPU8[($76)];
-      var $78=(($77)&255);
-      var $79=$78 >> 3;
-      var $80=(($74+$79)|0);
-      var $81=$7;
-      var $82=$80 & $81;
-      var $83=$82 << 3;
-      var $84=$correlate_row_r;
-      var $85=(($84)|0);
-      var $86=HEAPU8[($85)];
-      var $87=(($86)&255);
-      var $88=((((_family_5bpc+384)|0)+($87<<2))|0);
-      var $89=HEAP32[(($88)>>2)];
-      var $90=$2;
-      var $91=(($90+2)|0);
-      var $92=HEAPU8[($91)];
-      var $93=(($92)&255);
-      var $94=$93 >> 3;
-      var $95=(($89+$94)|0);
-      var $96=$7;
-      var $97=$95 & $96;
-      var $98=$97 & 31;
-      var $99=$98 >>> 2;
-      var $100=$83 | $99;
-      var $101=(($100) & 255);
-      var $102=$3;
-      var $103=(($102)|0);
-      var $104=(($103+2)|0);
-      HEAP8[($104)]=$101;
-      var $105=$1;
-      var $106=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($105, $106);
-      var $107=$channel_g;
-      var $108=$correlate_row_g;
-      var $109=(($108-1)|0);
-      var $110=HEAPU8[($109)];
-      var $111=(($110)&255);
-      var $112=_find_bucket_5bpc($107, $111);
-      var $113=(($112+4)|0);
-      var $114=HEAP32[(($113)>>2)];
-      var $115=$1;
-      var $116=(($115+32)|0);
-      var $117=HEAP32[(($116)>>2)];
-      var $118=_golomb_decoding_5bpc($114, $117, $codewordlen);
-      var $119=(($118) & 255);
-      var $120=$correlate_row_g;
-      var $121=(($120)|0);
-      HEAP8[($121)]=$119;
-      var $122=$correlate_row_g;
-      var $123=(($122)|0);
-      var $124=HEAPU8[($123)];
-      var $125=(($124)&255);
-      var $126=((((_family_5bpc+384)|0)+($125<<2))|0);
-      var $127=HEAP32[(($126)>>2)];
-      var $128=$2;
-      var $129=(($128+1)|0);
-      var $130=HEAPU8[($129)];
-      var $131=(($130)&255);
-      var $132=$131 >> 3;
-      var $133=(($127+$132)|0);
-      var $134=$7;
-      var $135=$133 & $134;
-      var $136=$135 << 3;
-      var $137=$correlate_row_g;
-      var $138=(($137)|0);
-      var $139=HEAPU8[($138)];
-      var $140=(($139)&255);
-      var $141=((((_family_5bpc+384)|0)+($140<<2))|0);
-      var $142=HEAP32[(($141)>>2)];
-      var $143=$2;
-      var $144=(($143+1)|0);
-      var $145=HEAPU8[($144)];
-      var $146=(($145)&255);
-      var $147=$146 >> 3;
-      var $148=(($142+$147)|0);
-      var $149=$7;
-      var $150=$148 & $149;
-      var $151=$150 & 31;
-      var $152=$151 >>> 2;
-      var $153=$136 | $152;
-      var $154=(($153) & 255);
-      var $155=$3;
-      var $156=(($155)|0);
-      var $157=(($156+1)|0);
-      HEAP8[($157)]=$154;
-      var $158=$1;
-      var $159=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($158, $159);
-      var $160=$channel_b;
-      var $161=$correlate_row_b;
-      var $162=(($161-1)|0);
-      var $163=HEAPU8[($162)];
-      var $164=(($163)&255);
-      var $165=_find_bucket_5bpc($160, $164);
-      var $166=(($165+4)|0);
-      var $167=HEAP32[(($166)>>2)];
-      var $168=$1;
-      var $169=(($168+32)|0);
-      var $170=HEAP32[(($169)>>2)];
-      var $171=_golomb_decoding_5bpc($167, $170, $codewordlen);
-      var $172=(($171) & 255);
-      var $173=$correlate_row_b;
-      var $174=(($173)|0);
-      HEAP8[($174)]=$172;
-      var $175=$correlate_row_b;
-      var $176=(($175)|0);
-      var $177=HEAPU8[($176)];
-      var $178=(($177)&255);
-      var $179=((((_family_5bpc+384)|0)+($178<<2))|0);
-      var $180=HEAP32[(($179)>>2)];
-      var $181=$2;
-      var $182=(($181)|0);
-      var $183=HEAPU8[($182)];
-      var $184=(($183)&255);
-      var $185=$184 >> 3;
-      var $186=(($180+$185)|0);
-      var $187=$7;
-      var $188=$186 & $187;
-      var $189=$188 << 3;
-      var $190=$correlate_row_b;
-      var $191=(($190)|0);
-      var $192=HEAPU8[($191)];
-      var $193=(($192)&255);
-      var $194=((((_family_5bpc+384)|0)+($193<<2))|0);
-      var $195=HEAP32[(($194)>>2)];
-      var $196=$2;
-      var $197=(($196)|0);
-      var $198=HEAPU8[($197)];
-      var $199=(($198)&255);
-      var $200=$199 >> 3;
-      var $201=(($195+$200)|0);
-      var $202=$7;
-      var $203=$201 & $202;
-      var $204=$203 & 31;
-      var $205=$204 >>> 2;
-      var $206=$189 | $205;
-      var $207=(($206) & 255);
-      var $208=$3;
-      var $209=(($208)|0);
-      var $210=(($209)|0);
-      HEAP8[($210)]=$207;
-      var $211=$1;
-      var $212=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($211, $212);
-      var $213=$1;
-      var $214=(($213+360)|0);
-      var $215=(($214+4)|0);
-      var $216=HEAP32[(($215)>>2)];
-      var $217=(($216)|0)!=0;
-      if ($217) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $219=$1;
-      var $220=(($219+360)|0);
-      var $221=(($220+4)|0);
-      var $222=HEAP32[(($221)>>2)];
-      var $223=(($222-1)|0);
-      HEAP32[(($221)>>2)]=$223;
-      __label__ = 15; break;
-    case 14: 
-      var $225=$1;
-      var $226=(($225+360)|0);
-      var $227=(($226+8)|0);
-      var $228=_tabrand($227);
-      var $229=$waitmask;
-      var $230=$228 & $229;
-      var $231=$1;
-      var $232=(($231+360)|0);
-      var $233=(($232+4)|0);
-      HEAP32[(($233)>>2)]=$230;
-      var $234=$1;
-      var $235=(($234+360)|0);
-      var $236=$channel_r;
-      var $237=$correlate_row_r;
-      var $238=(($237-1)|0);
-      var $239=HEAPU8[($238)];
-      var $240=(($239)&255);
-      var $241=_find_bucket_5bpc($236, $240);
-      var $242=$correlate_row_r;
-      var $243=(($242)|0);
-      var $244=HEAP8[($243)];
-      var $245=$6;
-      _update_model_5bpc($235, $241, $244, $245);
-      var $246=$1;
-      var $247=(($246+360)|0);
-      var $248=$channel_g;
-      var $249=$correlate_row_g;
-      var $250=(($249-1)|0);
-      var $251=HEAPU8[($250)];
-      var $252=(($251)&255);
-      var $253=_find_bucket_5bpc($248, $252);
-      var $254=$correlate_row_g;
-      var $255=(($254)|0);
-      var $256=HEAP8[($255)];
-      var $257=$6;
-      _update_model_5bpc($247, $253, $256, $257);
-      var $258=$1;
-      var $259=(($258+360)|0);
-      var $260=$channel_b;
-      var $261=$correlate_row_b;
-      var $262=(($261-1)|0);
-      var $263=HEAPU8[($262)];
-      var $264=(($263)&255);
-      var $265=_find_bucket_5bpc($260, $264);
-      var $266=$correlate_row_b;
-      var $267=(($266)|0);
-      var $268=HEAP8[($267)];
-      var $269=$6;
-      _update_model_5bpc($259, $265, $268, $269);
-      __label__ = 15; break;
-    case 15: 
-      var $271=$4;
-      var $272=(($271+1)|0);
-      $4=$272;
-      var $273=$1;
-      var $274=(($273+360)|0);
-      var $275=(($274+4)|0);
-      var $276=HEAP32[(($275)>>2)];
-      var $277=(($272+$276)|0);
-      $stopidx=$277;
-      __label__ = 17; break;
-    case 16: 
-      var $279=$4;
-      var $280=$1;
-      var $281=(($280+360)|0);
-      var $282=(($281+4)|0);
-      var $283=HEAP32[(($282)>>2)];
-      var $284=(($279+$283)|0);
-      $stopidx=$284;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      var $288=$stopidx;
-      var $289=$5;
-      var $290=(($288)|0) < (($289)|0);
-      if ($290) { __label__ = 20; break; } else { __label__ = 35; break; }
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      var $293=$4;
-      var $294=$stopidx;
-      var $295=(($293)|0) <= (($294)|0);
-      if ($295) { __label__ = 22; break; } else { __label__ = 34; break; }
-    case 22: 
-      var $297=$4;
-      var $298=(($297-1)|0);
-      var $299=$2;
-      var $300=(($299+($298<<2))|0);
-      var $301=(($300+2)|0);
-      var $302=HEAPU8[($301)];
-      var $303=(($302)&255);
-      var $304=$303 >> 3;
-      var $305=$4;
-      var $306=$2;
-      var $307=(($306+($305<<2))|0);
-      var $308=(($307+2)|0);
-      var $309=HEAPU8[($308)];
-      var $310=(($309)&255);
-      var $311=$310 >> 3;
-      var $312=(($304)|0)==(($311)|0);
-      if ($312) { __label__ = 23; break; } else { __label__ = 32; break; }
-    case 23: 
-      var $314=$4;
-      var $315=(($314-1)|0);
-      var $316=$2;
-      var $317=(($316+($315<<2))|0);
-      var $318=(($317+1)|0);
-      var $319=HEAPU8[($318)];
-      var $320=(($319)&255);
-      var $321=$320 >> 3;
-      var $322=$4;
-      var $323=$2;
-      var $324=(($323+($322<<2))|0);
-      var $325=(($324+1)|0);
-      var $326=HEAPU8[($325)];
-      var $327=(($326)&255);
-      var $328=$327 >> 3;
-      var $329=(($321)|0)==(($328)|0);
-      if ($329) { __label__ = 24; break; } else { __label__ = 32; break; }
-    case 24: 
-      var $331=$4;
-      var $332=(($331-1)|0);
-      var $333=$2;
-      var $334=(($333+($332<<2))|0);
-      var $335=(($334)|0);
-      var $336=HEAPU8[($335)];
-      var $337=(($336)&255);
-      var $338=$337 >> 3;
-      var $339=$4;
-      var $340=$2;
-      var $341=(($340+($339<<2))|0);
-      var $342=(($341)|0);
-      var $343=HEAPU8[($342)];
-      var $344=(($343)&255);
-      var $345=$344 >> 3;
-      var $346=(($338)|0)==(($345)|0);
-      if ($346) { __label__ = 25; break; } else { __label__ = 32; break; }
-    case 25: 
-      var $348=$run_index;
-      var $349=$4;
-      var $350=(($348)|0)!=(($349)|0);
-      if ($350) { __label__ = 26; break; } else { __label__ = 31; break; }
-    case 26: 
-      var $352=$4;
-      var $353=(($352)|0) > 2;
-      if ($353) { __label__ = 27; break; } else { __label__ = 31; break; }
-    case 27: 
-      var $355=$4;
-      var $356=(($355-1)|0);
-      var $357=$3;
-      var $358=(($357+($356<<2))|0);
-      var $359=(($358+2)|0);
-      var $360=HEAPU8[($359)];
-      var $361=(($360)&255);
-      var $362=$361 >> 3;
-      var $363=$4;
-      var $364=(($363-2)|0);
-      var $365=$3;
-      var $366=(($365+($364<<2))|0);
-      var $367=(($366+2)|0);
-      var $368=HEAPU8[($367)];
-      var $369=(($368)&255);
-      var $370=$369 >> 3;
-      var $371=(($362)|0)==(($370)|0);
-      if ($371) { __label__ = 28; break; } else { __label__ = 31; break; }
-    case 28: 
-      var $373=$4;
-      var $374=(($373-1)|0);
-      var $375=$3;
-      var $376=(($375+($374<<2))|0);
-      var $377=(($376+1)|0);
-      var $378=HEAPU8[($377)];
-      var $379=(($378)&255);
-      var $380=$379 >> 3;
-      var $381=$4;
-      var $382=(($381-2)|0);
-      var $383=$3;
-      var $384=(($383+($382<<2))|0);
-      var $385=(($384+1)|0);
-      var $386=HEAPU8[($385)];
-      var $387=(($386)&255);
-      var $388=$387 >> 3;
-      var $389=(($380)|0)==(($388)|0);
-      if ($389) { __label__ = 29; break; } else { __label__ = 31; break; }
-    case 29: 
-      var $391=$4;
-      var $392=(($391-1)|0);
-      var $393=$3;
-      var $394=(($393+($392<<2))|0);
-      var $395=(($394)|0);
-      var $396=HEAPU8[($395)];
-      var $397=(($396)&255);
-      var $398=$397 >> 3;
-      var $399=$4;
-      var $400=(($399-2)|0);
-      var $401=$3;
-      var $402=(($401+($400<<2))|0);
-      var $403=(($402)|0);
-      var $404=HEAPU8[($403)];
-      var $405=(($404)&255);
-      var $406=$405 >> 3;
-      var $407=(($398)|0)==(($406)|0);
-      if ($407) { __label__ = 30; break; } else { __label__ = 31; break; }
-    case 30: 
-      __label__ = 50; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      var $411=$4;
-      var $412=$3;
-      var $413=(($412+($411<<2))|0);
-      var $414=(($413+3)|0);
-      HEAP8[($414)]=0;
-      var $415=$channel_r;
-      var $416=$4;
-      var $417=(($416-1)|0);
-      var $418=$correlate_row_r;
-      var $419=(($418+$417)|0);
-      var $420=HEAPU8[($419)];
-      var $421=(($420)&255);
-      var $422=_find_bucket_5bpc($415, $421);
-      var $423=(($422+4)|0);
-      var $424=HEAP32[(($423)>>2)];
-      var $425=$1;
-      var $426=(($425+32)|0);
-      var $427=HEAP32[(($426)>>2)];
-      var $428=_golomb_decoding_5bpc($424, $427, $codewordlen1);
-      var $429=(($428) & 255);
-      var $430=$4;
-      var $431=$correlate_row_r;
-      var $432=(($431+$430)|0);
-      HEAP8[($432)]=$429;
-      var $433=$4;
-      var $434=$correlate_row_r;
-      var $435=(($434+$433)|0);
-      var $436=HEAPU8[($435)];
-      var $437=(($436)&255);
-      var $438=((((_family_5bpc+384)|0)+($437<<2))|0);
-      var $439=HEAP32[(($438)>>2)];
-      var $440=$4;
-      var $441=$3;
-      var $442=(($441+($440<<2))|0);
-      var $443=(($442-4)|0);
-      var $444=(($443+2)|0);
-      var $445=HEAPU8[($444)];
-      var $446=(($445)&255);
-      var $447=$446 >> 3;
-      var $448=$4;
-      var $449=$2;
-      var $450=(($449+($448<<2))|0);
-      var $451=(($450+2)|0);
-      var $452=HEAPU8[($451)];
-      var $453=(($452)&255);
-      var $454=$453 >> 3;
-      var $455=(($447+$454)|0);
-      var $456=$455 >>> 1;
-      var $457=(($439+$456)|0);
-      var $458=$7;
-      var $459=$457 & $458;
-      var $460=$459 << 3;
-      var $461=$4;
-      var $462=$correlate_row_r;
-      var $463=(($462+$461)|0);
-      var $464=HEAPU8[($463)];
-      var $465=(($464)&255);
-      var $466=((((_family_5bpc+384)|0)+($465<<2))|0);
-      var $467=HEAP32[(($466)>>2)];
-      var $468=$4;
-      var $469=$3;
-      var $470=(($469+($468<<2))|0);
-      var $471=(($470-4)|0);
-      var $472=(($471+2)|0);
-      var $473=HEAPU8[($472)];
-      var $474=(($473)&255);
-      var $475=$474 >> 3;
-      var $476=$4;
-      var $477=$2;
-      var $478=(($477+($476<<2))|0);
-      var $479=(($478+2)|0);
-      var $480=HEAPU8[($479)];
-      var $481=(($480)&255);
-      var $482=$481 >> 3;
-      var $483=(($475+$482)|0);
-      var $484=$483 >>> 1;
-      var $485=(($467+$484)|0);
-      var $486=$7;
-      var $487=$485 & $486;
-      var $488=$487 & 31;
-      var $489=$488 >>> 2;
-      var $490=$460 | $489;
-      var $491=(($490) & 255);
-      var $492=$4;
-      var $493=$3;
-      var $494=(($493+($492<<2))|0);
-      var $495=(($494+2)|0);
-      HEAP8[($495)]=$491;
-      var $496=$1;
-      var $497=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($496, $497);
-      var $498=$channel_g;
-      var $499=$4;
-      var $500=(($499-1)|0);
-      var $501=$correlate_row_g;
-      var $502=(($501+$500)|0);
-      var $503=HEAPU8[($502)];
-      var $504=(($503)&255);
-      var $505=_find_bucket_5bpc($498, $504);
-      var $506=(($505+4)|0);
-      var $507=HEAP32[(($506)>>2)];
-      var $508=$1;
-      var $509=(($508+32)|0);
-      var $510=HEAP32[(($509)>>2)];
-      var $511=_golomb_decoding_5bpc($507, $510, $codewordlen1);
-      var $512=(($511) & 255);
-      var $513=$4;
-      var $514=$correlate_row_g;
-      var $515=(($514+$513)|0);
-      HEAP8[($515)]=$512;
-      var $516=$4;
-      var $517=$correlate_row_g;
-      var $518=(($517+$516)|0);
-      var $519=HEAPU8[($518)];
-      var $520=(($519)&255);
-      var $521=((((_family_5bpc+384)|0)+($520<<2))|0);
-      var $522=HEAP32[(($521)>>2)];
-      var $523=$4;
-      var $524=$3;
-      var $525=(($524+($523<<2))|0);
-      var $526=(($525-4)|0);
-      var $527=(($526+1)|0);
-      var $528=HEAPU8[($527)];
-      var $529=(($528)&255);
-      var $530=$529 >> 3;
-      var $531=$4;
-      var $532=$2;
-      var $533=(($532+($531<<2))|0);
-      var $534=(($533+1)|0);
-      var $535=HEAPU8[($534)];
-      var $536=(($535)&255);
-      var $537=$536 >> 3;
-      var $538=(($530+$537)|0);
-      var $539=$538 >>> 1;
-      var $540=(($522+$539)|0);
-      var $541=$7;
-      var $542=$540 & $541;
-      var $543=$542 << 3;
-      var $544=$4;
-      var $545=$correlate_row_g;
-      var $546=(($545+$544)|0);
-      var $547=HEAPU8[($546)];
-      var $548=(($547)&255);
-      var $549=((((_family_5bpc+384)|0)+($548<<2))|0);
-      var $550=HEAP32[(($549)>>2)];
-      var $551=$4;
-      var $552=$3;
-      var $553=(($552+($551<<2))|0);
-      var $554=(($553-4)|0);
-      var $555=(($554+1)|0);
-      var $556=HEAPU8[($555)];
-      var $557=(($556)&255);
-      var $558=$557 >> 3;
-      var $559=$4;
-      var $560=$2;
-      var $561=(($560+($559<<2))|0);
-      var $562=(($561+1)|0);
-      var $563=HEAPU8[($562)];
-      var $564=(($563)&255);
-      var $565=$564 >> 3;
-      var $566=(($558+$565)|0);
-      var $567=$566 >>> 1;
-      var $568=(($550+$567)|0);
-      var $569=$7;
-      var $570=$568 & $569;
-      var $571=$570 & 31;
-      var $572=$571 >>> 2;
-      var $573=$543 | $572;
-      var $574=(($573) & 255);
-      var $575=$4;
-      var $576=$3;
-      var $577=(($576+($575<<2))|0);
-      var $578=(($577+1)|0);
-      HEAP8[($578)]=$574;
-      var $579=$1;
-      var $580=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($579, $580);
-      var $581=$channel_b;
-      var $582=$4;
-      var $583=(($582-1)|0);
-      var $584=$correlate_row_b;
-      var $585=(($584+$583)|0);
-      var $586=HEAPU8[($585)];
-      var $587=(($586)&255);
-      var $588=_find_bucket_5bpc($581, $587);
-      var $589=(($588+4)|0);
-      var $590=HEAP32[(($589)>>2)];
-      var $591=$1;
-      var $592=(($591+32)|0);
-      var $593=HEAP32[(($592)>>2)];
-      var $594=_golomb_decoding_5bpc($590, $593, $codewordlen1);
-      var $595=(($594) & 255);
-      var $596=$4;
-      var $597=$correlate_row_b;
-      var $598=(($597+$596)|0);
-      HEAP8[($598)]=$595;
-      var $599=$4;
-      var $600=$correlate_row_b;
-      var $601=(($600+$599)|0);
-      var $602=HEAPU8[($601)];
-      var $603=(($602)&255);
-      var $604=((((_family_5bpc+384)|0)+($603<<2))|0);
-      var $605=HEAP32[(($604)>>2)];
-      var $606=$4;
-      var $607=$3;
-      var $608=(($607+($606<<2))|0);
-      var $609=(($608-4)|0);
-      var $610=(($609)|0);
-      var $611=HEAPU8[($610)];
-      var $612=(($611)&255);
-      var $613=$612 >> 3;
-      var $614=$4;
-      var $615=$2;
-      var $616=(($615+($614<<2))|0);
-      var $617=(($616)|0);
-      var $618=HEAPU8[($617)];
-      var $619=(($618)&255);
-      var $620=$619 >> 3;
-      var $621=(($613+$620)|0);
-      var $622=$621 >>> 1;
-      var $623=(($605+$622)|0);
-      var $624=$7;
-      var $625=$623 & $624;
-      var $626=$625 << 3;
-      var $627=$4;
-      var $628=$correlate_row_b;
-      var $629=(($628+$627)|0);
-      var $630=HEAPU8[($629)];
-      var $631=(($630)&255);
-      var $632=((((_family_5bpc+384)|0)+($631<<2))|0);
-      var $633=HEAP32[(($632)>>2)];
-      var $634=$4;
-      var $635=$3;
-      var $636=(($635+($634<<2))|0);
-      var $637=(($636-4)|0);
-      var $638=(($637)|0);
-      var $639=HEAPU8[($638)];
-      var $640=(($639)&255);
-      var $641=$640 >> 3;
-      var $642=$4;
-      var $643=$2;
-      var $644=(($643+($642<<2))|0);
-      var $645=(($644)|0);
-      var $646=HEAPU8[($645)];
-      var $647=(($646)&255);
-      var $648=$647 >> 3;
-      var $649=(($641+$648)|0);
-      var $650=$649 >>> 1;
-      var $651=(($633+$650)|0);
-      var $652=$7;
-      var $653=$651 & $652;
-      var $654=$653 & 31;
-      var $655=$654 >>> 2;
-      var $656=$626 | $655;
-      var $657=(($656) & 255);
-      var $658=$4;
-      var $659=$3;
-      var $660=(($659+($658<<2))|0);
-      var $661=(($660)|0);
-      HEAP8[($661)]=$657;
-      var $662=$1;
-      var $663=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($662, $663);
-      __label__ = 33; break;
-    case 33: 
-      var $665=$4;
-      var $666=(($665+1)|0);
-      $4=$666;
-      __label__ = 21; break;
-    case 34: 
-      var $668=$1;
-      var $669=(($668+360)|0);
-      var $670=$channel_r;
-      var $671=$stopidx;
-      var $672=(($671-1)|0);
-      var $673=$correlate_row_r;
-      var $674=(($673+$672)|0);
-      var $675=HEAPU8[($674)];
-      var $676=(($675)&255);
-      var $677=_find_bucket_5bpc($670, $676);
-      var $678=$stopidx;
-      var $679=$correlate_row_r;
-      var $680=(($679+$678)|0);
-      var $681=HEAP8[($680)];
-      var $682=$6;
-      _update_model_5bpc($669, $677, $681, $682);
-      var $683=$1;
-      var $684=(($683+360)|0);
-      var $685=$channel_g;
-      var $686=$stopidx;
-      var $687=(($686-1)|0);
-      var $688=$correlate_row_g;
-      var $689=(($688+$687)|0);
-      var $690=HEAPU8[($689)];
-      var $691=(($690)&255);
-      var $692=_find_bucket_5bpc($685, $691);
-      var $693=$stopidx;
-      var $694=$correlate_row_g;
-      var $695=(($694+$693)|0);
-      var $696=HEAP8[($695)];
-      var $697=$6;
-      _update_model_5bpc($684, $692, $696, $697);
-      var $698=$1;
-      var $699=(($698+360)|0);
-      var $700=$channel_b;
-      var $701=$stopidx;
-      var $702=(($701-1)|0);
-      var $703=$correlate_row_b;
-      var $704=(($703+$702)|0);
-      var $705=HEAPU8[($704)];
-      var $706=(($705)&255);
-      var $707=_find_bucket_5bpc($700, $706);
-      var $708=$stopidx;
-      var $709=$correlate_row_b;
-      var $710=(($709+$708)|0);
-      var $711=HEAP8[($710)];
-      var $712=$6;
-      _update_model_5bpc($699, $707, $711, $712);
-      var $713=$4;
-      var $714=$1;
-      var $715=(($714+360)|0);
-      var $716=(($715+8)|0);
-      var $717=_tabrand($716);
-      var $718=$waitmask;
-      var $719=$717 & $718;
-      var $720=(($713+$719)|0);
-      $stopidx=$720;
-      __label__ = 19; break;
-    case 35: 
-      __label__ = 36; break;
-    case 36: 
-      var $723=$4;
-      var $724=$5;
-      var $725=(($723)|0) < (($724)|0);
-      if ($725) { __label__ = 37; break; } else { __label__ = 49; break; }
-    case 37: 
-      var $727=$4;
-      var $728=(($727-1)|0);
-      var $729=$2;
-      var $730=(($729+($728<<2))|0);
-      var $731=(($730+2)|0);
-      var $732=HEAPU8[($731)];
-      var $733=(($732)&255);
-      var $734=$733 >> 3;
-      var $735=$4;
-      var $736=$2;
-      var $737=(($736+($735<<2))|0);
-      var $738=(($737+2)|0);
-      var $739=HEAPU8[($738)];
-      var $740=(($739)&255);
-      var $741=$740 >> 3;
-      var $742=(($734)|0)==(($741)|0);
-      if ($742) { __label__ = 38; break; } else { __label__ = 47; break; }
-    case 38: 
-      var $744=$4;
-      var $745=(($744-1)|0);
-      var $746=$2;
-      var $747=(($746+($745<<2))|0);
-      var $748=(($747+1)|0);
-      var $749=HEAPU8[($748)];
-      var $750=(($749)&255);
-      var $751=$750 >> 3;
-      var $752=$4;
-      var $753=$2;
-      var $754=(($753+($752<<2))|0);
-      var $755=(($754+1)|0);
-      var $756=HEAPU8[($755)];
-      var $757=(($756)&255);
-      var $758=$757 >> 3;
-      var $759=(($751)|0)==(($758)|0);
-      if ($759) { __label__ = 39; break; } else { __label__ = 47; break; }
-    case 39: 
-      var $761=$4;
-      var $762=(($761-1)|0);
-      var $763=$2;
-      var $764=(($763+($762<<2))|0);
-      var $765=(($764)|0);
-      var $766=HEAPU8[($765)];
-      var $767=(($766)&255);
-      var $768=$767 >> 3;
-      var $769=$4;
-      var $770=$2;
-      var $771=(($770+($769<<2))|0);
-      var $772=(($771)|0);
-      var $773=HEAPU8[($772)];
-      var $774=(($773)&255);
-      var $775=$774 >> 3;
-      var $776=(($768)|0)==(($775)|0);
-      if ($776) { __label__ = 40; break; } else { __label__ = 47; break; }
-    case 40: 
-      var $778=$run_index;
-      var $779=$4;
-      var $780=(($778)|0)!=(($779)|0);
-      if ($780) { __label__ = 41; break; } else { __label__ = 46; break; }
-    case 41: 
-      var $782=$4;
-      var $783=(($782)|0) > 2;
-      if ($783) { __label__ = 42; break; } else { __label__ = 46; break; }
-    case 42: 
-      var $785=$4;
-      var $786=(($785-1)|0);
-      var $787=$3;
-      var $788=(($787+($786<<2))|0);
-      var $789=(($788+2)|0);
-      var $790=HEAPU8[($789)];
-      var $791=(($790)&255);
-      var $792=$791 >> 3;
-      var $793=$4;
-      var $794=(($793-2)|0);
-      var $795=$3;
-      var $796=(($795+($794<<2))|0);
-      var $797=(($796+2)|0);
-      var $798=HEAPU8[($797)];
-      var $799=(($798)&255);
-      var $800=$799 >> 3;
-      var $801=(($792)|0)==(($800)|0);
-      if ($801) { __label__ = 43; break; } else { __label__ = 46; break; }
-    case 43: 
-      var $803=$4;
-      var $804=(($803-1)|0);
-      var $805=$3;
-      var $806=(($805+($804<<2))|0);
-      var $807=(($806+1)|0);
-      var $808=HEAPU8[($807)];
-      var $809=(($808)&255);
-      var $810=$809 >> 3;
-      var $811=$4;
-      var $812=(($811-2)|0);
-      var $813=$3;
-      var $814=(($813+($812<<2))|0);
-      var $815=(($814+1)|0);
-      var $816=HEAPU8[($815)];
-      var $817=(($816)&255);
-      var $818=$817 >> 3;
-      var $819=(($810)|0)==(($818)|0);
-      if ($819) { __label__ = 44; break; } else { __label__ = 46; break; }
-    case 44: 
-      var $821=$4;
-      var $822=(($821-1)|0);
-      var $823=$3;
-      var $824=(($823+($822<<2))|0);
-      var $825=(($824)|0);
-      var $826=HEAPU8[($825)];
-      var $827=(($826)&255);
-      var $828=$827 >> 3;
-      var $829=$4;
-      var $830=(($829-2)|0);
-      var $831=$3;
-      var $832=(($831+($830<<2))|0);
-      var $833=(($832)|0);
-      var $834=HEAPU8[($833)];
-      var $835=(($834)&255);
-      var $836=$835 >> 3;
-      var $837=(($828)|0)==(($836)|0);
-      if ($837) { __label__ = 45; break; } else { __label__ = 46; break; }
-    case 45: 
-      __label__ = 50; break;
-    case 46: 
-      __label__ = 47; break;
-    case 47: 
-      var $841=$4;
-      var $842=$3;
-      var $843=(($842+($841<<2))|0);
-      var $844=(($843+3)|0);
-      HEAP8[($844)]=0;
-      var $845=$channel_r;
-      var $846=$4;
-      var $847=(($846-1)|0);
-      var $848=$correlate_row_r;
-      var $849=(($848+$847)|0);
-      var $850=HEAPU8[($849)];
-      var $851=(($850)&255);
-      var $852=_find_bucket_5bpc($845, $851);
-      var $853=(($852+4)|0);
-      var $854=HEAP32[(($853)>>2)];
-      var $855=$1;
-      var $856=(($855+32)|0);
-      var $857=HEAP32[(($856)>>2)];
-      var $858=_golomb_decoding_5bpc($854, $857, $codewordlen2);
-      var $859=(($858) & 255);
-      var $860=$4;
-      var $861=$correlate_row_r;
-      var $862=(($861+$860)|0);
-      HEAP8[($862)]=$859;
-      var $863=$4;
-      var $864=$correlate_row_r;
-      var $865=(($864+$863)|0);
-      var $866=HEAPU8[($865)];
-      var $867=(($866)&255);
-      var $868=((((_family_5bpc+384)|0)+($867<<2))|0);
-      var $869=HEAP32[(($868)>>2)];
-      var $870=$4;
-      var $871=$3;
-      var $872=(($871+($870<<2))|0);
-      var $873=(($872-4)|0);
-      var $874=(($873+2)|0);
-      var $875=HEAPU8[($874)];
-      var $876=(($875)&255);
-      var $877=$876 >> 3;
-      var $878=$4;
-      var $879=$2;
-      var $880=(($879+($878<<2))|0);
-      var $881=(($880+2)|0);
-      var $882=HEAPU8[($881)];
-      var $883=(($882)&255);
-      var $884=$883 >> 3;
-      var $885=(($877+$884)|0);
-      var $886=$885 >>> 1;
-      var $887=(($869+$886)|0);
-      var $888=$7;
-      var $889=$887 & $888;
-      var $890=$889 << 3;
-      var $891=$4;
-      var $892=$correlate_row_r;
-      var $893=(($892+$891)|0);
-      var $894=HEAPU8[($893)];
-      var $895=(($894)&255);
-      var $896=((((_family_5bpc+384)|0)+($895<<2))|0);
-      var $897=HEAP32[(($896)>>2)];
-      var $898=$4;
-      var $899=$3;
-      var $900=(($899+($898<<2))|0);
-      var $901=(($900-4)|0);
-      var $902=(($901+2)|0);
-      var $903=HEAPU8[($902)];
-      var $904=(($903)&255);
-      var $905=$904 >> 3;
-      var $906=$4;
-      var $907=$2;
-      var $908=(($907+($906<<2))|0);
-      var $909=(($908+2)|0);
-      var $910=HEAPU8[($909)];
-      var $911=(($910)&255);
-      var $912=$911 >> 3;
-      var $913=(($905+$912)|0);
-      var $914=$913 >>> 1;
-      var $915=(($897+$914)|0);
-      var $916=$7;
-      var $917=$915 & $916;
-      var $918=$917 & 31;
-      var $919=$918 >>> 2;
-      var $920=$890 | $919;
-      var $921=(($920) & 255);
-      var $922=$4;
-      var $923=$3;
-      var $924=(($923+($922<<2))|0);
-      var $925=(($924+2)|0);
-      HEAP8[($925)]=$921;
-      var $926=$1;
-      var $927=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($926, $927);
-      var $928=$channel_g;
-      var $929=$4;
-      var $930=(($929-1)|0);
-      var $931=$correlate_row_g;
-      var $932=(($931+$930)|0);
-      var $933=HEAPU8[($932)];
-      var $934=(($933)&255);
-      var $935=_find_bucket_5bpc($928, $934);
-      var $936=(($935+4)|0);
-      var $937=HEAP32[(($936)>>2)];
-      var $938=$1;
-      var $939=(($938+32)|0);
-      var $940=HEAP32[(($939)>>2)];
-      var $941=_golomb_decoding_5bpc($937, $940, $codewordlen2);
-      var $942=(($941) & 255);
-      var $943=$4;
-      var $944=$correlate_row_g;
-      var $945=(($944+$943)|0);
-      HEAP8[($945)]=$942;
-      var $946=$4;
-      var $947=$correlate_row_g;
-      var $948=(($947+$946)|0);
-      var $949=HEAPU8[($948)];
-      var $950=(($949)&255);
-      var $951=((((_family_5bpc+384)|0)+($950<<2))|0);
-      var $952=HEAP32[(($951)>>2)];
-      var $953=$4;
-      var $954=$3;
-      var $955=(($954+($953<<2))|0);
-      var $956=(($955-4)|0);
-      var $957=(($956+1)|0);
-      var $958=HEAPU8[($957)];
-      var $959=(($958)&255);
-      var $960=$959 >> 3;
-      var $961=$4;
-      var $962=$2;
-      var $963=(($962+($961<<2))|0);
-      var $964=(($963+1)|0);
-      var $965=HEAPU8[($964)];
-      var $966=(($965)&255);
-      var $967=$966 >> 3;
-      var $968=(($960+$967)|0);
-      var $969=$968 >>> 1;
-      var $970=(($952+$969)|0);
-      var $971=$7;
-      var $972=$970 & $971;
-      var $973=$972 << 3;
-      var $974=$4;
-      var $975=$correlate_row_g;
-      var $976=(($975+$974)|0);
-      var $977=HEAPU8[($976)];
-      var $978=(($977)&255);
-      var $979=((((_family_5bpc+384)|0)+($978<<2))|0);
-      var $980=HEAP32[(($979)>>2)];
-      var $981=$4;
-      var $982=$3;
-      var $983=(($982+($981<<2))|0);
-      var $984=(($983-4)|0);
-      var $985=(($984+1)|0);
-      var $986=HEAPU8[($985)];
-      var $987=(($986)&255);
-      var $988=$987 >> 3;
-      var $989=$4;
-      var $990=$2;
-      var $991=(($990+($989<<2))|0);
-      var $992=(($991+1)|0);
-      var $993=HEAPU8[($992)];
-      var $994=(($993)&255);
-      var $995=$994 >> 3;
-      var $996=(($988+$995)|0);
-      var $997=$996 >>> 1;
-      var $998=(($980+$997)|0);
-      var $999=$7;
-      var $1000=$998 & $999;
-      var $1001=$1000 & 31;
-      var $1002=$1001 >>> 2;
-      var $1003=$973 | $1002;
-      var $1004=(($1003) & 255);
-      var $1005=$4;
-      var $1006=$3;
-      var $1007=(($1006+($1005<<2))|0);
-      var $1008=(($1007+1)|0);
-      HEAP8[($1008)]=$1004;
-      var $1009=$1;
-      var $1010=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($1009, $1010);
-      var $1011=$channel_b;
-      var $1012=$4;
-      var $1013=(($1012-1)|0);
-      var $1014=$correlate_row_b;
-      var $1015=(($1014+$1013)|0);
-      var $1016=HEAPU8[($1015)];
-      var $1017=(($1016)&255);
-      var $1018=_find_bucket_5bpc($1011, $1017);
-      var $1019=(($1018+4)|0);
-      var $1020=HEAP32[(($1019)>>2)];
-      var $1021=$1;
-      var $1022=(($1021+32)|0);
-      var $1023=HEAP32[(($1022)>>2)];
-      var $1024=_golomb_decoding_5bpc($1020, $1023, $codewordlen2);
-      var $1025=(($1024) & 255);
-      var $1026=$4;
-      var $1027=$correlate_row_b;
-      var $1028=(($1027+$1026)|0);
-      HEAP8[($1028)]=$1025;
-      var $1029=$4;
-      var $1030=$correlate_row_b;
-      var $1031=(($1030+$1029)|0);
-      var $1032=HEAPU8[($1031)];
-      var $1033=(($1032)&255);
-      var $1034=((((_family_5bpc+384)|0)+($1033<<2))|0);
-      var $1035=HEAP32[(($1034)>>2)];
-      var $1036=$4;
-      var $1037=$3;
-      var $1038=(($1037+($1036<<2))|0);
-      var $1039=(($1038-4)|0);
-      var $1040=(($1039)|0);
-      var $1041=HEAPU8[($1040)];
-      var $1042=(($1041)&255);
-      var $1043=$1042 >> 3;
-      var $1044=$4;
-      var $1045=$2;
-      var $1046=(($1045+($1044<<2))|0);
-      var $1047=(($1046)|0);
-      var $1048=HEAPU8[($1047)];
-      var $1049=(($1048)&255);
-      var $1050=$1049 >> 3;
-      var $1051=(($1043+$1050)|0);
-      var $1052=$1051 >>> 1;
-      var $1053=(($1035+$1052)|0);
-      var $1054=$7;
-      var $1055=$1053 & $1054;
-      var $1056=$1055 << 3;
-      var $1057=$4;
-      var $1058=$correlate_row_b;
-      var $1059=(($1058+$1057)|0);
-      var $1060=HEAPU8[($1059)];
-      var $1061=(($1060)&255);
-      var $1062=((((_family_5bpc+384)|0)+($1061<<2))|0);
-      var $1063=HEAP32[(($1062)>>2)];
-      var $1064=$4;
-      var $1065=$3;
-      var $1066=(($1065+($1064<<2))|0);
-      var $1067=(($1066-4)|0);
-      var $1068=(($1067)|0);
-      var $1069=HEAPU8[($1068)];
-      var $1070=(($1069)&255);
-      var $1071=$1070 >> 3;
-      var $1072=$4;
-      var $1073=$2;
-      var $1074=(($1073+($1072<<2))|0);
-      var $1075=(($1074)|0);
-      var $1076=HEAPU8[($1075)];
-      var $1077=(($1076)&255);
-      var $1078=$1077 >> 3;
-      var $1079=(($1071+$1078)|0);
-      var $1080=$1079 >>> 1;
-      var $1081=(($1063+$1080)|0);
-      var $1082=$7;
-      var $1083=$1081 & $1082;
-      var $1084=$1083 & 31;
-      var $1085=$1084 >>> 2;
-      var $1086=$1056 | $1085;
-      var $1087=(($1086) & 255);
-      var $1088=$4;
-      var $1089=$3;
-      var $1090=(($1089+($1088<<2))|0);
-      var $1091=(($1090)|0);
-      HEAP8[($1091)]=$1087;
-      var $1092=$1;
-      var $1093=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($1092, $1093);
-      __label__ = 48; break;
-    case 48: 
-      var $1095=$4;
-      var $1096=(($1095+1)|0);
-      $4=$1096;
-      __label__ = 36; break;
-    case 49: 
-      var $1098=$stopidx;
-      var $1099=$5;
-      var $1100=(($1098-$1099)|0);
-      var $1101=$1;
-      var $1102=(($1101+360)|0);
-      var $1103=(($1102+4)|0);
-      HEAP32[(($1103)>>2)]=$1100;
-      __label__ = 57; break;
-    case 50: 
-      var $1105=$stopidx;
-      var $1106=$4;
-      var $1107=(($1105-$1106)|0);
-      var $1108=$1;
-      var $1109=(($1108+360)|0);
-      var $1110=(($1109+4)|0);
-      HEAP32[(($1110)>>2)]=$1107;
-      var $1111=$4;
-      $run_index=$1111;
-      var $1112=$4;
-      var $1113=$1;
-      var $1114=_decode_run($1113);
-      var $1115=(($1112+$1114)|0);
-      $run_end=$1115;
-      __label__ = 51; break;
-    case 51: 
-      var $1117=$4;
-      var $1118=$run_end;
-      var $1119=(($1117)|0) < (($1118)|0);
-      if ($1119) { __label__ = 52; break; } else { __label__ = 54; break; }
-    case 52: 
-      var $1121=$4;
-      var $1122=$3;
-      var $1123=(($1122+($1121<<2))|0);
-      var $1124=(($1123+3)|0);
-      HEAP8[($1124)]=0;
-      var $1125=$4;
-      var $1126=(($1125-1)|0);
-      var $1127=$3;
-      var $1128=(($1127+($1126<<2))|0);
-      var $1129=(($1128+2)|0);
-      var $1130=HEAPU8[($1129)];
-      var $1131=(($1130)&255);
-      var $1132=$1131 >> 3;
-      var $1133=$1132 << 3;
-      var $1134=$4;
-      var $1135=(($1134-1)|0);
-      var $1136=$3;
-      var $1137=(($1136+($1135<<2))|0);
-      var $1138=(($1137+2)|0);
-      var $1139=HEAPU8[($1138)];
-      var $1140=(($1139)&255);
-      var $1141=$1140 >> 3;
-      var $1142=$1141 & 31;
-      var $1143=$1142 >> 2;
-      var $1144=$1133 | $1143;
-      var $1145=(($1144) & 255);
-      var $1146=$4;
-      var $1147=$3;
-      var $1148=(($1147+($1146<<2))|0);
-      var $1149=(($1148+2)|0);
-      HEAP8[($1149)]=$1145;
-      var $1150=$4;
-      var $1151=(($1150-1)|0);
-      var $1152=$3;
-      var $1153=(($1152+($1151<<2))|0);
-      var $1154=(($1153+1)|0);
-      var $1155=HEAPU8[($1154)];
-      var $1156=(($1155)&255);
-      var $1157=$1156 >> 3;
-      var $1158=$1157 << 3;
-      var $1159=$4;
-      var $1160=(($1159-1)|0);
-      var $1161=$3;
-      var $1162=(($1161+($1160<<2))|0);
-      var $1163=(($1162+1)|0);
-      var $1164=HEAPU8[($1163)];
-      var $1165=(($1164)&255);
-      var $1166=$1165 >> 3;
-      var $1167=$1166 & 31;
-      var $1168=$1167 >> 2;
-      var $1169=$1158 | $1168;
-      var $1170=(($1169) & 255);
-      var $1171=$4;
-      var $1172=$3;
-      var $1173=(($1172+($1171<<2))|0);
-      var $1174=(($1173+1)|0);
-      HEAP8[($1174)]=$1170;
-      var $1175=$4;
-      var $1176=(($1175-1)|0);
-      var $1177=$3;
-      var $1178=(($1177+($1176<<2))|0);
-      var $1179=(($1178)|0);
-      var $1180=HEAPU8[($1179)];
-      var $1181=(($1180)&255);
-      var $1182=$1181 >> 3;
-      var $1183=$1182 << 3;
-      var $1184=$4;
-      var $1185=(($1184-1)|0);
-      var $1186=$3;
-      var $1187=(($1186+($1185<<2))|0);
-      var $1188=(($1187)|0);
-      var $1189=HEAPU8[($1188)];
-      var $1190=(($1189)&255);
-      var $1191=$1190 >> 3;
-      var $1192=$1191 & 31;
-      var $1193=$1192 >> 2;
-      var $1194=$1183 | $1193;
-      var $1195=(($1194) & 255);
-      var $1196=$4;
-      var $1197=$3;
-      var $1198=(($1197+($1196<<2))|0);
-      var $1199=(($1198)|0);
-      HEAP8[($1199)]=$1195;
-      __label__ = 53; break;
-    case 53: 
-      var $1201=$4;
-      var $1202=(($1201+1)|0);
-      $4=$1202;
-      __label__ = 51; break;
-    case 54: 
-      var $1204=$4;
-      var $1205=$5;
-      var $1206=(($1204)|0)==(($1205)|0);
-      if ($1206) { __label__ = 55; break; } else { __label__ = 56; break; }
-    case 55: 
-      __label__ = 57; break;
-    case 56: 
-      var $1209=$4;
-      var $1210=$1;
-      var $1211=(($1210+360)|0);
-      var $1212=(($1211+4)|0);
-      var $1213=HEAP32[(($1212)>>2)];
-      var $1214=(($1209+$1213)|0);
-      $stopidx=$1214;
-      __label__ = 18; break;
-    case 57: 
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
 }
-_quic_rgb16_to_32_uncompress_row_seg["X"]=1;
 
-function _golomb_code_len_5bpc($n, $l) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      $2=$n;
-      $3=$l;
-      var $4=$2;
-      var $5=(($4)&255);
-      var $6=$3;
-      var $7=((((_family_5bpc)|0)+($6<<2))|0);
-      var $8=HEAPU32[(($7)>>2)];
-      var $9=(($5)>>>0) < (($8)>>>0);
-      if ($9) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $11=$2;
-      var $12=(($11)&255);
-      var $13=$3;
-      var $14=$12 >> (($13)|0);
-      var $15=(($14+1)|0);
-      var $16=$3;
-      var $17=(($15+$16)|0);
-      $1=$17;
-      __label__ = 4; break;
-    case 3: 
-      var $19=$3;
-      var $20=((((_family_5bpc+32)|0)+($19<<2))|0);
-      var $21=HEAP32[(($20)>>2)];
-      $1=$21;
-      __label__ = 4; break;
-    case 4: 
-      var $23=$1;
-      ;
-      return $23;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _golomb_decoding_5bpc($l, $bits, $codewordlen) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $zeroprefix;
-      var $cwlen;
-      var $cwlen1;
-      $2=$l;
-      $3=$bits;
-      $4=$codewordlen;
-      var $5=$3;
-      var $6=$2;
-      var $7=((((_family_5bpc+64)|0)+($6<<2))|0);
-      var $8=HEAPU32[(($7)>>2)];
-      var $9=(($5)>>>0) > (($8)>>>0);
-      if ($9) { __label__ = 2; break; } else { __label__ = 3; break; }
-    case 2: 
-      var $11=$3;
-      var $12=_cnt_l_zeroes($11);
-      $zeroprefix=$12;
-      var $13=$zeroprefix;
-      var $14=(($13+1)|0);
-      var $15=$2;
-      var $16=(($14+$15)|0);
-      $cwlen=$16;
-      var $17=$cwlen;
-      var $18=$4;
-      HEAP32[(($18)>>2)]=$17;
-      var $19=$zeroprefix;
-      var $20=$2;
-      var $21=$19 << $20;
-      var $22=$3;
-      var $23=$cwlen;
-      var $24=((32-$23)|0);
-      var $25=$22 >>> (($24)>>>0);
-      var $26=$2;
-      var $27=((_bppmask+($26<<2))|0);
-      var $28=HEAP32[(($27)>>2)];
-      var $29=$25 & $28;
-      var $30=$21 | $29;
-      $1=$30;
-      __label__ = 4; break;
-    case 3: 
-      var $32=$2;
-      var $33=((((_family_5bpc+32)|0)+($32<<2))|0);
-      var $34=HEAP32[(($33)>>2)];
-      $cwlen1=$34;
-      var $35=$cwlen1;
-      var $36=$4;
-      HEAP32[(($36)>>2)]=$35;
-      var $37=$2;
-      var $38=((((_family_5bpc)|0)+($37<<2))|0);
-      var $39=HEAP32[(($38)>>2)];
-      var $40=$3;
-      var $41=$cwlen1;
-      var $42=((32-$41)|0);
-      var $43=$40 >>> (($42)>>>0);
-      var $44=$2;
-      var $45=((((_family_5bpc+96)|0)+($44<<2))|0);
-      var $46=HEAP32[(($45)>>2)];
-      var $47=((_bppmask+($46<<2))|0);
-      var $48=HEAP32[(($47)>>2)];
-      var $49=$43 & $48;
-      var $50=(($39+$49)|0);
-      $1=$50;
-      __label__ = 4; break;
-    case 4: 
-      var $52=$1;
-      ;
-      return $52;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_golomb_decoding_5bpc["X"]=1;
-
-function _find_bucket_5bpc($channel, $val) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $_g_boolean_var_;
-      $1=$channel;
-      $2=$val;
-      __label__ = 2; break;
-    case 2: 
-      var $4=$2;
-      var $5=(($4)>>>0) < 32;
-      if ($5) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $9=$_g_boolean_var_;
-      var $10=(($9)==(1));
-      var $11=(($10)|0)!=0;
-      if ($11) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str76)|0), ((STRING_TABLE.___FUNCTION___find_bucket_5bpc)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str77)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $18=$2;
-      var $19=$1;
-      var $20=(($19+12)|0);
-      var $21=HEAP32[(($20)>>2)];
-      var $22=(($21+($18<<2))|0);
-      var $23=HEAP32[(($22)>>2)];
-      ;
-      return $23;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-
-
-function _update_model_5bpc($state, $bucket, $curval, $bpp) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $pcounters;
-      var $i;
-      var $bestcode;
-      var $bestcodelen;
-      var $ithcodelen;
-      $1=$state;
-      $2=$bucket;
-      $3=$curval;
-      $4=$bpp;
-      var $5=$2;
-      var $6=(($5)|0);
-      var $7=HEAP32[(($6)>>2)];
-      $pcounters=$7;
-      var $8=$4;
-      var $9=(($8-1)|0);
-      $bestcode=$9;
-      var $10=$3;
-      var $11=$bestcode;
-      var $12=_golomb_code_len_5bpc($10, $11);
-      var $13=$bestcode;
-      var $14=$pcounters;
-      var $15=(($14+($13<<2))|0);
-      var $16=HEAP32[(($15)>>2)];
-      var $17=(($16+$12)|0);
-      HEAP32[(($15)>>2)]=$17;
-      $bestcodelen=$17;
-      var $18=$4;
-      var $19=(($18-2)|0);
-      $i=$19;
-      __label__ = 2; break;
-    case 2: 
-      var $21=$i;
-      var $22=$4;
-      var $23=(($21)>>>0) < (($22)>>>0);
-      if ($23) { __label__ = 3; break; } else { __label__ = 7; break; }
-    case 3: 
-      var $25=$3;
-      var $26=$i;
-      var $27=_golomb_code_len_5bpc($25, $26);
-      var $28=$i;
-      var $29=$pcounters;
-      var $30=(($29+($28<<2))|0);
-      var $31=HEAP32[(($30)>>2)];
-      var $32=(($31+$27)|0);
-      HEAP32[(($30)>>2)]=$32;
-      $ithcodelen=$32;
-      var $33=$ithcodelen;
-      var $34=$bestcodelen;
-      var $35=(($33)>>>0) < (($34)>>>0);
-      if ($35) { __label__ = 4; break; } else { __label__ = 5; break; }
-    case 4: 
-      var $37=$i;
-      $bestcode=$37;
-      var $38=$ithcodelen;
-      $bestcodelen=$38;
-      __label__ = 5; break;
-    case 5: 
-      __label__ = 6; break;
-    case 6: 
-      var $41=$i;
-      var $42=(($41-1)|0);
-      $i=$42;
-      __label__ = 2; break;
-    case 7: 
-      var $44=$bestcode;
-      var $45=$2;
-      var $46=(($45+4)|0);
-      HEAP32[(($46)>>2)]=$44;
-      var $47=$bestcodelen;
-      var $48=$1;
-      var $49=(($48+12)|0);
-      var $50=HEAPU32[(($49)>>2)];
-      var $51=(($47)>>>0) > (($50)>>>0);
-      if ($51) { __label__ = 8; break; } else { __label__ = 13; break; }
-    case 8: 
-      $i=0;
-      __label__ = 9; break;
-    case 9: 
-      var $54=$i;
-      var $55=$4;
-      var $56=(($54)>>>0) < (($55)>>>0);
-      if ($56) { __label__ = 10; break; } else { __label__ = 12; break; }
-    case 10: 
-      var $58=$i;
-      var $59=$pcounters;
-      var $60=(($59+($58<<2))|0);
-      var $61=HEAPU32[(($60)>>2)];
-      var $62=$61 >>> 1;
-      HEAP32[(($60)>>2)]=$62;
-      __label__ = 11; break;
-    case 11: 
-      var $64=$i;
-      var $65=(($64+1)|0);
-      $i=$65;
-      __label__ = 9; break;
-    case 12: 
-      __label__ = 13; break;
-    case 13: 
-      ;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_update_model_5bpc["X"]=1;
+function QuicChannel(model_8bpc, model_5bpc)
+{
+    this.state = new CommonState;
+    this.family_stat_8bpc = new QuicFamilyStat;
+    this.family_stat_8bpc.buckets_ptrs = [];
+    this.family_stat_8bpc.buckets_buf = [];
+    this.family_stat_5bpc = new QuicFamilyStat;
+    this.family_stat_5bpc.buckets_ptrs = [];
+    this.family_stat_5bpc.buckets_buf = [];
+    this.correlate_row = { zero: 0 , row:[] };
+    this.model_8bpc = model_8bpc;
+    this.model_5bpc = model_5bpc;
+
+    if (!this.family_stat_8bpc.fill_model_structures(this.model_8bpc))
+        return undefined;
+
+    if (!this.family_stat_5bpc.fill_model_structures(this.model_5bpc))
+        return undefined;
+}
+
+QuicChannel.prototype = {
+    correlate_row : {},
+    state : CommonState,
+    family_stat_8bpc : QuicFamilyStat,
+    family_stat_5bpc : QuicFamilyStat,
+    buckets_ptrs: [],
+
+    find_bucket_8bpc : function(val)
+    {
+        return this.buckets_ptrs[val];
+    },
+
+    reste : function (bpc)
+    {
+        this.correlate_row = { zero: 0 , row: []};
+
+        if (bpc == 8) {
+            var j;
+            for (j = 0; j < this.model_8bpc.n_buckets; j++)
+                this.family_stat_8bpc.buckets_buf[j].reste(7);
+            this.buckets_ptrs = this.family_stat_8bpc.buckets_ptrs;
+        } else if (bpc == 5) {
+            var j;
+            for (j = 0; j < this.model_5bpc.n_buckets; j++)
+                this.family_stat_8bpc.buckets_buf[j].reste(4);
+            this.buckets_ptrs = this.family_stat_5bpc.buckets_ptrs;
+        } else {
+            console.log("quic: %s: bad bpc %d\n", __FUNCTION__, bpc);
+            return false;
+        }
 
-function _decode_run($encoder) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $runlen;
-      var $temp;
-      var $hits;
-      $1=$encoder;
-      $runlen=0;
-      __label__ = 2; break;
-    case 2: 
-      var $3=$1;
-      var $4=(($3+32)|0);
-      var $5=HEAPU32[(($4)>>2)];
-      var $6=$5 >>> 24;
-      var $7=$6 ^ -1;
-      var $8=(($7) & 255);
-      var $9=(($8)&255);
-      var $10=((_zeroLUT+($9<<2))|0);
-      var $11=HEAP32[(($10)>>2)];
-      $temp=$11;
-      $hits=1;
-      __label__ = 3; break;
-    case 3: 
-      var $13=$hits;
-      var $14=$temp;
-      var $15=(($13)|0) <= (($14)|0);
-      if ($15) { __label__ = 4; break; } else { __label__ = 8; break; }
-    case 4: 
-      var $17=$1;
-      var $18=(($17+360)|0);
-      var $19=(($18+32)|0);
-      var $20=HEAP32[(($19)>>2)];
-      var $21=$runlen;
-      var $22=(($21+$20)|0);
-      $runlen=$22;
-      var $23=$1;
-      var $24=(($23+360)|0);
-      var $25=(($24+24)|0);
-      var $26=HEAP32[(($25)>>2)];
-      var $27=(($26)|0) < 32;
-      if ($27) { __label__ = 5; break; } else { __label__ = 6; break; }
-    case 5: 
-      var $29=$1;
-      var $30=(($29+360)|0);
-      var $31=(($30+24)|0);
-      var $32=HEAP32[(($31)>>2)];
-      var $33=(($32+1)|0);
-      HEAP32[(($31)>>2)]=$33;
-      var $34=((_J+($33<<2))|0);
-      var $35=HEAP32[(($34)>>2)];
-      var $36=$1;
-      var $37=(($36+360)|0);
-      var $38=(($37+28)|0);
-      HEAP32[(($38)>>2)]=$35;
-      var $39=$1;
-      var $40=(($39+360)|0);
-      var $41=(($40+28)|0);
-      var $42=HEAP32[(($41)>>2)];
-      var $43=1 << $42;
-      var $44=$1;
-      var $45=(($44+360)|0);
-      var $46=(($45+32)|0);
-      HEAP32[(($46)>>2)]=$43;
-      __label__ = 6; break;
-    case 6: 
-      __label__ = 7; break;
-    case 7: 
-      var $49=$hits;
-      var $50=(($49+1)|0);
-      $hits=$50;
-      __label__ = 3; break;
-    case 8: 
-      var $52=$temp;
-      var $53=(($52)|0)!=8;
-      if ($53) { __label__ = 9; break; } else { __label__ = 10; break; }
-    case 9: 
-      var $55=$1;
-      var $56=$temp;
-      var $57=(($56+1)|0);
-      _decode_eatbits($55, $57);
-      __label__ = 12; break;
-    case 10: 
-      var $59=$1;
-      _decode_eatbits($59, 8);
-      __label__ = 11; break;
-    case 11: 
-      if (1) { __label__ = 2; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $62=$1;
-      var $63=(($62+360)|0);
-      var $64=(($63+28)|0);
-      var $65=HEAP32[(($64)>>2)];
-      var $66=(($65)|0)!=0;
-      if ($66) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $68=$1;
-      var $69=(($68+32)|0);
-      var $70=HEAPU32[(($69)>>2)];
-      var $71=$1;
-      var $72=(($71+360)|0);
-      var $73=(($72+28)|0);
-      var $74=HEAP32[(($73)>>2)];
-      var $75=((32-$74)|0);
-      var $76=$70 >>> (($75)>>>0);
-      var $77=$runlen;
-      var $78=(($77+$76)|0);
-      $runlen=$78;
-      var $79=$1;
-      var $80=$1;
-      var $81=(($80+360)|0);
-      var $82=(($81+28)|0);
-      var $83=HEAP32[(($82)>>2)];
-      _decode_eatbits($79, $83);
-      __label__ = 14; break;
-    case 14: 
-      var $85=$1;
-      var $86=(($85+360)|0);
-      var $87=(($86+24)|0);
-      var $88=HEAP32[(($87)>>2)];
-      var $89=(($88)|0)!=0;
-      if ($89) { __label__ = 15; break; } else { __label__ = 16; break; }
-    case 15: 
-      var $91=$1;
-      var $92=(($91+360)|0);
-      var $93=(($92+24)|0);
-      var $94=HEAP32[(($93)>>2)];
-      var $95=(($94-1)|0);
-      HEAP32[(($93)>>2)]=$95;
-      var $96=((_J+($95<<2))|0);
-      var $97=HEAP32[(($96)>>2)];
-      var $98=$1;
-      var $99=(($98+360)|0);
-      var $100=(($99+28)|0);
-      HEAP32[(($100)>>2)]=$97;
-      var $101=$1;
-      var $102=(($101+360)|0);
-      var $103=(($102+28)|0);
-      var $104=HEAP32[(($103)>>2)];
-      var $105=1 << $104;
-      var $106=$1;
-      var $107=(($106+360)|0);
-      var $108=(($107+32)|0);
-      HEAP32[(($108)>>2)]=$105;
-      __label__ = 16; break;
-    case 16: 
-      var $110=$runlen;
-      ;
-      return $110;
-    default: assert(0, "bad label: " + __label__);
-  }
+        this.state.reste();
+        return true;
+    }
 }
-_decode_run["X"]=1;
 
-function _quic_rgb16_to_32_uncompress_row0_seg($encoder, $i, $cur_row, $end, $waitmask, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $channel_r;
-      var $channel_g;
-      var $channel_b;
-      var $correlate_row_r;
-      var $correlate_row_g;
-      var $correlate_row_b;
-      var $stopidx;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$i;
-      $3=$cur_row;
-      $4=$end;
-      $5=$waitmask;
-      $6=$bpc;
-      $7=$bpc_mask;
-      var $8=$1;
-      var $9=(($8+56)|0);
-      var $10=(($9)|0);
-      $channel_r=$10;
-      var $11=$channel_r;
-      var $12=(($11+76)|0);
-      $channel_g=$12;
-      var $13=$channel_g;
-      var $14=(($13+76)|0);
-      $channel_b=$14;
-      var $15=$channel_r;
-      var $16=(($15+8)|0);
-      var $17=HEAP32[(($16)>>2)];
-      $correlate_row_r=$17;
-      var $18=$channel_g;
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      $correlate_row_g=$20;
-      var $21=$channel_b;
-      var $22=(($21+8)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $correlate_row_b=$23;
-      __label__ = 2; break;
-    case 2: 
-      var $25=$4;
-      var $26=$2;
-      var $27=(($25-$26)|0);
-      var $28=(($27)|0) > 0;
-      if ($28) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $32=$_g_boolean_var_;
-      var $33=(($32)==(1));
-      var $34=(($33)|0)!=0;
-      if ($34) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str91)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row0_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $41=$2;
-      var $42=(($41)|0)!=0;
-      if ($42) { __label__ = 16; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $44=$2;
-      var $45=$3;
-      var $46=(($45+($44<<2))|0);
-      var $47=(($46+3)|0);
-      HEAP8[($47)]=0;
-      var $48=$channel_r;
-      var $49=$correlate_row_r;
-      var $50=(($49-1)|0);
-      var $51=HEAPU8[($50)];
-      var $52=(($51)&255);
-      var $53=_find_bucket_5bpc($48, $52);
-      var $54=(($53+4)|0);
-      var $55=HEAP32[(($54)>>2)];
-      var $56=$1;
-      var $57=(($56+32)|0);
-      var $58=HEAP32[(($57)>>2)];
-      var $59=_golomb_decoding_5bpc($55, $58, $codewordlen);
-      var $60=(($59) & 255);
-      var $61=$correlate_row_r;
-      var $62=(($61)|0);
-      HEAP8[($62)]=$60;
-      var $63=$correlate_row_r;
-      var $64=(($63)|0);
-      var $65=HEAPU8[($64)];
-      var $66=(($65)&255);
-      var $67=((((_family_5bpc+384)|0)+($66<<2))|0);
-      var $68=HEAP32[(($67)>>2)];
-      var $69=(($68) & 255);
-      var $70=(($69)&255);
-      var $71=$70 << 3;
-      var $72=$correlate_row_r;
-      var $73=(($72)|0);
-      var $74=HEAPU8[($73)];
-      var $75=(($74)&255);
-      var $76=((((_family_5bpc+384)|0)+($75<<2))|0);
-      var $77=HEAP32[(($76)>>2)];
-      var $78=(($77) & 255);
-      var $79=(($78)&255);
-      var $80=$79 & 31;
-      var $81=$80 >> 2;
-      var $82=$71 | $81;
-      var $83=(($82) & 255);
-      var $84=$3;
-      var $85=(($84)|0);
-      var $86=(($85+2)|0);
-      HEAP8[($86)]=$83;
-      var $87=$1;
-      var $88=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($87, $88);
-      var $89=$channel_g;
-      var $90=$correlate_row_g;
-      var $91=(($90-1)|0);
-      var $92=HEAPU8[($91)];
-      var $93=(($92)&255);
-      var $94=_find_bucket_5bpc($89, $93);
-      var $95=(($94+4)|0);
-      var $96=HEAP32[(($95)>>2)];
-      var $97=$1;
-      var $98=(($97+32)|0);
-      var $99=HEAP32[(($98)>>2)];
-      var $100=_golomb_decoding_5bpc($96, $99, $codewordlen);
-      var $101=(($100) & 255);
-      var $102=$correlate_row_g;
-      var $103=(($102)|0);
-      HEAP8[($103)]=$101;
-      var $104=$correlate_row_g;
-      var $105=(($104)|0);
-      var $106=HEAPU8[($105)];
-      var $107=(($106)&255);
-      var $108=((((_family_5bpc+384)|0)+($107<<2))|0);
-      var $109=HEAP32[(($108)>>2)];
-      var $110=(($109) & 255);
-      var $111=(($110)&255);
-      var $112=$111 << 3;
-      var $113=$correlate_row_g;
-      var $114=(($113)|0);
-      var $115=HEAPU8[($114)];
-      var $116=(($115)&255);
-      var $117=((((_family_5bpc+384)|0)+($116<<2))|0);
-      var $118=HEAP32[(($117)>>2)];
-      var $119=(($118) & 255);
-      var $120=(($119)&255);
-      var $121=$120 & 31;
-      var $122=$121 >> 2;
-      var $123=$112 | $122;
-      var $124=(($123) & 255);
-      var $125=$3;
-      var $126=(($125)|0);
-      var $127=(($126+1)|0);
-      HEAP8[($127)]=$124;
-      var $128=$1;
-      var $129=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($128, $129);
-      var $130=$channel_b;
-      var $131=$correlate_row_b;
-      var $132=(($131-1)|0);
-      var $133=HEAPU8[($132)];
-      var $134=(($133)&255);
-      var $135=_find_bucket_5bpc($130, $134);
-      var $136=(($135+4)|0);
-      var $137=HEAP32[(($136)>>2)];
-      var $138=$1;
-      var $139=(($138+32)|0);
-      var $140=HEAP32[(($139)>>2)];
-      var $141=_golomb_decoding_5bpc($137, $140, $codewordlen);
-      var $142=(($141) & 255);
-      var $143=$correlate_row_b;
-      var $144=(($143)|0);
-      HEAP8[($144)]=$142;
-      var $145=$correlate_row_b;
-      var $146=(($145)|0);
-      var $147=HEAPU8[($146)];
-      var $148=(($147)&255);
-      var $149=((((_family_5bpc+384)|0)+($148<<2))|0);
-      var $150=HEAP32[(($149)>>2)];
-      var $151=(($150) & 255);
-      var $152=(($151)&255);
-      var $153=$152 << 3;
-      var $154=$correlate_row_b;
-      var $155=(($154)|0);
-      var $156=HEAPU8[($155)];
-      var $157=(($156)&255);
-      var $158=((((_family_5bpc+384)|0)+($157<<2))|0);
-      var $159=HEAP32[(($158)>>2)];
-      var $160=(($159) & 255);
-      var $161=(($160)&255);
-      var $162=$161 & 31;
-      var $163=$162 >> 2;
-      var $164=$153 | $163;
-      var $165=(($164) & 255);
-      var $166=$3;
-      var $167=(($166)|0);
-      var $168=(($167)|0);
-      HEAP8[($168)]=$165;
-      var $169=$1;
-      var $170=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($169, $170);
-      var $171=$1;
-      var $172=(($171+360)|0);
-      var $173=(($172+4)|0);
-      var $174=HEAP32[(($173)>>2)];
-      var $175=(($174)|0)!=0;
-      if ($175) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $177=$1;
-      var $178=(($177+360)|0);
-      var $179=(($178+4)|0);
-      var $180=HEAP32[(($179)>>2)];
-      var $181=(($180-1)|0);
-      HEAP32[(($179)>>2)]=$181;
-      __label__ = 15; break;
-    case 14: 
-      var $183=$1;
-      var $184=(($183+360)|0);
-      var $185=(($184+8)|0);
-      var $186=_tabrand($185);
-      var $187=$5;
-      var $188=$186 & $187;
-      var $189=$1;
-      var $190=(($189+360)|0);
-      var $191=(($190+4)|0);
-      HEAP32[(($191)>>2)]=$188;
-      var $192=$1;
-      var $193=(($192+360)|0);
-      var $194=$channel_r;
-      var $195=$correlate_row_r;
-      var $196=(($195-1)|0);
-      var $197=HEAPU8[($196)];
-      var $198=(($197)&255);
-      var $199=_find_bucket_5bpc($194, $198);
-      var $200=$correlate_row_r;
-      var $201=(($200)|0);
-      var $202=HEAP8[($201)];
-      var $203=$6;
-      _update_model_5bpc($193, $199, $202, $203);
-      var $204=$1;
-      var $205=(($204+360)|0);
-      var $206=$channel_g;
-      var $207=$correlate_row_g;
-      var $208=(($207-1)|0);
-      var $209=HEAPU8[($208)];
-      var $210=(($209)&255);
-      var $211=_find_bucket_5bpc($206, $210);
-      var $212=$correlate_row_g;
-      var $213=(($212)|0);
-      var $214=HEAP8[($213)];
-      var $215=$6;
-      _update_model_5bpc($205, $211, $214, $215);
-      var $216=$1;
-      var $217=(($216+360)|0);
-      var $218=$channel_b;
-      var $219=$correlate_row_b;
-      var $220=(($219-1)|0);
-      var $221=HEAPU8[($220)];
-      var $222=(($221)&255);
-      var $223=_find_bucket_5bpc($218, $222);
-      var $224=$correlate_row_b;
-      var $225=(($224)|0);
-      var $226=HEAP8[($225)];
-      var $227=$6;
-      _update_model_5bpc($217, $223, $226, $227);
-      __label__ = 15; break;
-    case 15: 
-      var $229=$2;
-      var $230=(($229+1)|0);
-      $2=$230;
-      var $231=$1;
-      var $232=(($231+360)|0);
-      var $233=(($232+4)|0);
-      var $234=HEAP32[(($233)>>2)];
-      var $235=(($230+$234)|0);
-      $stopidx=$235;
-      __label__ = 17; break;
-    case 16: 
-      var $237=$2;
-      var $238=$1;
-      var $239=(($238+360)|0);
-      var $240=(($239+4)|0);
-      var $241=HEAP32[(($240)>>2)];
-      var $242=(($237+$241)|0);
-      $stopidx=$242;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      var $245=$stopidx;
-      var $246=$4;
-      var $247=(($245)|0) < (($246)|0);
-      if ($247) { __label__ = 19; break; } else { __label__ = 24; break; }
-    case 19: 
-      __label__ = 20; break;
-    case 20: 
-      var $250=$2;
-      var $251=$stopidx;
-      var $252=(($250)|0) <= (($251)|0);
-      if ($252) { __label__ = 21; break; } else { __label__ = 23; break; }
-    case 21: 
-      var $254=$2;
-      var $255=$3;
-      var $256=(($255+($254<<2))|0);
-      var $257=(($256+3)|0);
-      HEAP8[($257)]=0;
-      var $258=$channel_r;
-      var $259=$2;
-      var $260=(($259-1)|0);
-      var $261=$correlate_row_r;
-      var $262=(($261+$260)|0);
-      var $263=HEAPU8[($262)];
-      var $264=(($263)&255);
-      var $265=_find_bucket_5bpc($258, $264);
-      var $266=(($265+4)|0);
-      var $267=HEAP32[(($266)>>2)];
-      var $268=$1;
-      var $269=(($268+32)|0);
-      var $270=HEAP32[(($269)>>2)];
-      var $271=_golomb_decoding_5bpc($267, $270, $codewordlen1);
-      var $272=(($271) & 255);
-      var $273=$2;
-      var $274=$correlate_row_r;
-      var $275=(($274+$273)|0);
-      HEAP8[($275)]=$272;
-      var $276=$2;
-      var $277=$correlate_row_r;
-      var $278=(($277+$276)|0);
-      var $279=HEAPU8[($278)];
-      var $280=(($279)&255);
-      var $281=((((_family_5bpc+384)|0)+($280<<2))|0);
-      var $282=HEAP32[(($281)>>2)];
-      var $283=$2;
-      var $284=$3;
-      var $285=(($284+($283<<2))|0);
-      var $286=(($285-4)|0);
-      var $287=(($286+2)|0);
-      var $288=HEAPU8[($287)];
-      var $289=(($288)&255);
-      var $290=$289 >> 3;
-      var $291=(($282+$290)|0);
-      var $292=$7;
-      var $293=$291 & $292;
-      var $294=$293 << 3;
-      var $295=$2;
-      var $296=$correlate_row_r;
-      var $297=(($296+$295)|0);
-      var $298=HEAPU8[($297)];
-      var $299=(($298)&255);
-      var $300=((((_family_5bpc+384)|0)+($299<<2))|0);
-      var $301=HEAP32[(($300)>>2)];
-      var $302=$2;
-      var $303=$3;
-      var $304=(($303+($302<<2))|0);
-      var $305=(($304-4)|0);
-      var $306=(($305+2)|0);
-      var $307=HEAPU8[($306)];
-      var $308=(($307)&255);
-      var $309=$308 >> 3;
-      var $310=(($301+$309)|0);
-      var $311=$7;
-      var $312=$310 & $311;
-      var $313=$312 & 31;
-      var $314=$313 >>> 2;
-      var $315=$294 | $314;
-      var $316=(($315) & 255);
-      var $317=$2;
-      var $318=$3;
-      var $319=(($318+($317<<2))|0);
-      var $320=(($319+2)|0);
-      HEAP8[($320)]=$316;
-      var $321=$1;
-      var $322=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($321, $322);
-      var $323=$channel_g;
-      var $324=$2;
-      var $325=(($324-1)|0);
-      var $326=$correlate_row_g;
-      var $327=(($326+$325)|0);
-      var $328=HEAPU8[($327)];
-      var $329=(($328)&255);
-      var $330=_find_bucket_5bpc($323, $329);
-      var $331=(($330+4)|0);
-      var $332=HEAP32[(($331)>>2)];
-      var $333=$1;
-      var $334=(($333+32)|0);
-      var $335=HEAP32[(($334)>>2)];
-      var $336=_golomb_decoding_5bpc($332, $335, $codewordlen1);
-      var $337=(($336) & 255);
-      var $338=$2;
-      var $339=$correlate_row_g;
-      var $340=(($339+$338)|0);
-      HEAP8[($340)]=$337;
-      var $341=$2;
-      var $342=$correlate_row_g;
-      var $343=(($342+$341)|0);
-      var $344=HEAPU8[($343)];
-      var $345=(($344)&255);
-      var $346=((((_family_5bpc+384)|0)+($345<<2))|0);
-      var $347=HEAP32[(($346)>>2)];
-      var $348=$2;
-      var $349=$3;
-      var $350=(($349+($348<<2))|0);
-      var $351=(($350-4)|0);
-      var $352=(($351+1)|0);
-      var $353=HEAPU8[($352)];
-      var $354=(($353)&255);
-      var $355=$354 >> 3;
-      var $356=(($347+$355)|0);
-      var $357=$7;
-      var $358=$356 & $357;
-      var $359=$358 << 3;
-      var $360=$2;
-      var $361=$correlate_row_g;
-      var $362=(($361+$360)|0);
-      var $363=HEAPU8[($362)];
-      var $364=(($363)&255);
-      var $365=((((_family_5bpc+384)|0)+($364<<2))|0);
-      var $366=HEAP32[(($365)>>2)];
-      var $367=$2;
-      var $368=$3;
-      var $369=(($368+($367<<2))|0);
-      var $370=(($369-4)|0);
-      var $371=(($370+1)|0);
-      var $372=HEAPU8[($371)];
-      var $373=(($372)&255);
-      var $374=$373 >> 3;
-      var $375=(($366+$374)|0);
-      var $376=$7;
-      var $377=$375 & $376;
-      var $378=$377 & 31;
-      var $379=$378 >>> 2;
-      var $380=$359 | $379;
-      var $381=(($380) & 255);
-      var $382=$2;
-      var $383=$3;
-      var $384=(($383+($382<<2))|0);
-      var $385=(($384+1)|0);
-      HEAP8[($385)]=$381;
-      var $386=$1;
-      var $387=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($386, $387);
-      var $388=$channel_b;
-      var $389=$2;
-      var $390=(($389-1)|0);
-      var $391=$correlate_row_b;
-      var $392=(($391+$390)|0);
-      var $393=HEAPU8[($392)];
-      var $394=(($393)&255);
-      var $395=_find_bucket_5bpc($388, $394);
-      var $396=(($395+4)|0);
-      var $397=HEAP32[(($396)>>2)];
-      var $398=$1;
-      var $399=(($398+32)|0);
-      var $400=HEAP32[(($399)>>2)];
-      var $401=_golomb_decoding_5bpc($397, $400, $codewordlen1);
-      var $402=(($401) & 255);
-      var $403=$2;
-      var $404=$correlate_row_b;
-      var $405=(($404+$403)|0);
-      HEAP8[($405)]=$402;
-      var $406=$2;
-      var $407=$correlate_row_b;
-      var $408=(($407+$406)|0);
-      var $409=HEAPU8[($408)];
-      var $410=(($409)&255);
-      var $411=((((_family_5bpc+384)|0)+($410<<2))|0);
-      var $412=HEAP32[(($411)>>2)];
-      var $413=$2;
-      var $414=$3;
-      var $415=(($414+($413<<2))|0);
-      var $416=(($415-4)|0);
-      var $417=(($416)|0);
-      var $418=HEAPU8[($417)];
-      var $419=(($418)&255);
-      var $420=$419 >> 3;
-      var $421=(($412+$420)|0);
-      var $422=$7;
-      var $423=$421 & $422;
-      var $424=$423 << 3;
-      var $425=$2;
-      var $426=$correlate_row_b;
-      var $427=(($426+$425)|0);
-      var $428=HEAPU8[($427)];
-      var $429=(($428)&255);
-      var $430=((((_family_5bpc+384)|0)+($429<<2))|0);
-      var $431=HEAP32[(($430)>>2)];
-      var $432=$2;
-      var $433=$3;
-      var $434=(($433+($432<<2))|0);
-      var $435=(($434-4)|0);
-      var $436=(($435)|0);
-      var $437=HEAPU8[($436)];
-      var $438=(($437)&255);
-      var $439=$438 >> 3;
-      var $440=(($431+$439)|0);
-      var $441=$7;
-      var $442=$440 & $441;
-      var $443=$442 & 31;
-      var $444=$443 >>> 2;
-      var $445=$424 | $444;
-      var $446=(($445) & 255);
-      var $447=$2;
-      var $448=$3;
-      var $449=(($448+($447<<2))|0);
-      var $450=(($449)|0);
-      HEAP8[($450)]=$446;
-      var $451=$1;
-      var $452=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($451, $452);
-      __label__ = 22; break;
-    case 22: 
-      var $454=$2;
-      var $455=(($454+1)|0);
-      $2=$455;
-      __label__ = 20; break;
-    case 23: 
-      var $457=$1;
-      var $458=(($457+360)|0);
-      var $459=$channel_r;
-      var $460=$stopidx;
-      var $461=(($460-1)|0);
-      var $462=$correlate_row_r;
-      var $463=(($462+$461)|0);
-      var $464=HEAPU8[($463)];
-      var $465=(($464)&255);
-      var $466=_find_bucket_5bpc($459, $465);
-      var $467=$stopidx;
-      var $468=$correlate_row_r;
-      var $469=(($468+$467)|0);
-      var $470=HEAP8[($469)];
-      var $471=$6;
-      _update_model_5bpc($458, $466, $470, $471);
-      var $472=$1;
-      var $473=(($472+360)|0);
-      var $474=$channel_g;
-      var $475=$stopidx;
-      var $476=(($475-1)|0);
-      var $477=$correlate_row_g;
-      var $478=(($477+$476)|0);
-      var $479=HEAPU8[($478)];
-      var $480=(($479)&255);
-      var $481=_find_bucket_5bpc($474, $480);
-      var $482=$stopidx;
-      var $483=$correlate_row_g;
-      var $484=(($483+$482)|0);
-      var $485=HEAP8[($484)];
-      var $486=$6;
-      _update_model_5bpc($473, $481, $485, $486);
-      var $487=$1;
-      var $488=(($487+360)|0);
-      var $489=$channel_b;
-      var $490=$stopidx;
-      var $491=(($490-1)|0);
-      var $492=$correlate_row_b;
-      var $493=(($492+$491)|0);
-      var $494=HEAPU8[($493)];
-      var $495=(($494)&255);
-      var $496=_find_bucket_5bpc($489, $495);
-      var $497=$stopidx;
-      var $498=$correlate_row_b;
-      var $499=(($498+$497)|0);
-      var $500=HEAP8[($499)];
-      var $501=$6;
-      _update_model_5bpc($488, $496, $500, $501);
-      var $502=$2;
-      var $503=$1;
-      var $504=(($503+360)|0);
-      var $505=(($504+8)|0);
-      var $506=_tabrand($505);
-      var $507=$5;
-      var $508=$506 & $507;
-      var $509=(($502+$508)|0);
-      $stopidx=$509;
-      __label__ = 18; break;
-    case 24: 
-      __label__ = 25; break;
-    case 25: 
-      var $512=$2;
-      var $513=$4;
-      var $514=(($512)|0) < (($513)|0);
-      if ($514) { __label__ = 26; break; } else { __label__ = 28; break; }
-    case 26: 
-      var $516=$2;
-      var $517=$3;
-      var $518=(($517+($516<<2))|0);
-      var $519=(($518+3)|0);
-      HEAP8[($519)]=0;
-      var $520=$channel_r;
-      var $521=$2;
-      var $522=(($521-1)|0);
-      var $523=$correlate_row_r;
-      var $524=(($523+$522)|0);
-      var $525=HEAPU8[($524)];
-      var $526=(($525)&255);
-      var $527=_find_bucket_5bpc($520, $526);
-      var $528=(($527+4)|0);
-      var $529=HEAP32[(($528)>>2)];
-      var $530=$1;
-      var $531=(($530+32)|0);
-      var $532=HEAP32[(($531)>>2)];
-      var $533=_golomb_decoding_5bpc($529, $532, $codewordlen2);
-      var $534=(($533) & 255);
-      var $535=$2;
-      var $536=$correlate_row_r;
-      var $537=(($536+$535)|0);
-      HEAP8[($537)]=$534;
-      var $538=$2;
-      var $539=$correlate_row_r;
-      var $540=(($539+$538)|0);
-      var $541=HEAPU8[($540)];
-      var $542=(($541)&255);
-      var $543=((((_family_5bpc+384)|0)+($542<<2))|0);
-      var $544=HEAP32[(($543)>>2)];
-      var $545=$2;
-      var $546=$3;
-      var $547=(($546+($545<<2))|0);
-      var $548=(($547-4)|0);
-      var $549=(($548+2)|0);
-      var $550=HEAPU8[($549)];
-      var $551=(($550)&255);
-      var $552=$551 >> 3;
-      var $553=(($544+$552)|0);
-      var $554=$7;
-      var $555=$553 & $554;
-      var $556=$555 << 3;
-      var $557=$2;
-      var $558=$correlate_row_r;
-      var $559=(($558+$557)|0);
-      var $560=HEAPU8[($559)];
-      var $561=(($560)&255);
-      var $562=((((_family_5bpc+384)|0)+($561<<2))|0);
-      var $563=HEAP32[(($562)>>2)];
-      var $564=$2;
-      var $565=$3;
-      var $566=(($565+($564<<2))|0);
-      var $567=(($566-4)|0);
-      var $568=(($567+2)|0);
-      var $569=HEAPU8[($568)];
-      var $570=(($569)&255);
-      var $571=$570 >> 3;
-      var $572=(($563+$571)|0);
-      var $573=$7;
-      var $574=$572 & $573;
-      var $575=$574 & 31;
-      var $576=$575 >>> 2;
-      var $577=$556 | $576;
-      var $578=(($577) & 255);
-      var $579=$2;
-      var $580=$3;
-      var $581=(($580+($579<<2))|0);
-      var $582=(($581+2)|0);
-      HEAP8[($582)]=$578;
-      var $583=$1;
-      var $584=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($583, $584);
-      var $585=$channel_g;
-      var $586=$2;
-      var $587=(($586-1)|0);
-      var $588=$correlate_row_g;
-      var $589=(($588+$587)|0);
-      var $590=HEAPU8[($589)];
-      var $591=(($590)&255);
-      var $592=_find_bucket_5bpc($585, $591);
-      var $593=(($592+4)|0);
-      var $594=HEAP32[(($593)>>2)];
-      var $595=$1;
-      var $596=(($595+32)|0);
-      var $597=HEAP32[(($596)>>2)];
-      var $598=_golomb_decoding_5bpc($594, $597, $codewordlen2);
-      var $599=(($598) & 255);
-      var $600=$2;
-      var $601=$correlate_row_g;
-      var $602=(($601+$600)|0);
-      HEAP8[($602)]=$599;
-      var $603=$2;
-      var $604=$correlate_row_g;
-      var $605=(($604+$603)|0);
-      var $606=HEAPU8[($605)];
-      var $607=(($606)&255);
-      var $608=((((_family_5bpc+384)|0)+($607<<2))|0);
-      var $609=HEAP32[(($608)>>2)];
-      var $610=$2;
-      var $611=$3;
-      var $612=(($611+($610<<2))|0);
-      var $613=(($612-4)|0);
-      var $614=(($613+1)|0);
-      var $615=HEAPU8[($614)];
-      var $616=(($615)&255);
-      var $617=$616 >> 3;
-      var $618=(($609+$617)|0);
-      var $619=$7;
-      var $620=$618 & $619;
-      var $621=$620 << 3;
-      var $622=$2;
-      var $623=$correlate_row_g;
-      var $624=(($623+$622)|0);
-      var $625=HEAPU8[($624)];
-      var $626=(($625)&255);
-      var $627=((((_family_5bpc+384)|0)+($626<<2))|0);
-      var $628=HEAP32[(($627)>>2)];
-      var $629=$2;
-      var $630=$3;
-      var $631=(($630+($629<<2))|0);
-      var $632=(($631-4)|0);
-      var $633=(($632+1)|0);
-      var $634=HEAPU8[($633)];
-      var $635=(($634)&255);
-      var $636=$635 >> 3;
-      var $637=(($628+$636)|0);
-      var $638=$7;
-      var $639=$637 & $638;
-      var $640=$639 & 31;
-      var $641=$640 >>> 2;
-      var $642=$621 | $641;
-      var $643=(($642) & 255);
-      var $644=$2;
-      var $645=$3;
-      var $646=(($645+($644<<2))|0);
-      var $647=(($646+1)|0);
-      HEAP8[($647)]=$643;
-      var $648=$1;
-      var $649=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($648, $649);
-      var $650=$channel_b;
-      var $651=$2;
-      var $652=(($651-1)|0);
-      var $653=$correlate_row_b;
-      var $654=(($653+$652)|0);
-      var $655=HEAPU8[($654)];
-      var $656=(($655)&255);
-      var $657=_find_bucket_5bpc($650, $656);
-      var $658=(($657+4)|0);
-      var $659=HEAP32[(($658)>>2)];
-      var $660=$1;
-      var $661=(($660+32)|0);
-      var $662=HEAP32[(($661)>>2)];
-      var $663=_golomb_decoding_5bpc($659, $662, $codewordlen2);
-      var $664=(($663) & 255);
-      var $665=$2;
-      var $666=$correlate_row_b;
-      var $667=(($666+$665)|0);
-      HEAP8[($667)]=$664;
-      var $668=$2;
-      var $669=$correlate_row_b;
-      var $670=(($669+$668)|0);
-      var $671=HEAPU8[($670)];
-      var $672=(($671)&255);
-      var $673=((((_family_5bpc+384)|0)+($672<<2))|0);
-      var $674=HEAP32[(($673)>>2)];
-      var $675=$2;
-      var $676=$3;
-      var $677=(($676+($675<<2))|0);
-      var $678=(($677-4)|0);
-      var $679=(($678)|0);
-      var $680=HEAPU8[($679)];
-      var $681=(($680)&255);
-      var $682=$681 >> 3;
-      var $683=(($674+$682)|0);
-      var $684=$7;
-      var $685=$683 & $684;
-      var $686=$685 << 3;
-      var $687=$2;
-      var $688=$correlate_row_b;
-      var $689=(($688+$687)|0);
-      var $690=HEAPU8[($689)];
-      var $691=(($690)&255);
-      var $692=((((_family_5bpc+384)|0)+($691<<2))|0);
-      var $693=HEAP32[(($692)>>2)];
-      var $694=$2;
-      var $695=$3;
-      var $696=(($695+($694<<2))|0);
-      var $697=(($696-4)|0);
-      var $698=(($697)|0);
-      var $699=HEAPU8[($698)];
-      var $700=(($699)&255);
-      var $701=$700 >> 3;
-      var $702=(($693+$701)|0);
-      var $703=$7;
-      var $704=$702 & $703;
-      var $705=$704 & 31;
-      var $706=$705 >>> 2;
-      var $707=$686 | $706;
-      var $708=(($707) & 255);
-      var $709=$2;
-      var $710=$3;
-      var $711=(($710+($709<<2))|0);
-      var $712=(($711)|0);
-      HEAP8[($712)]=$708;
-      var $713=$1;
-      var $714=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($713, $714);
-      __label__ = 27; break;
-    case 27: 
-      var $716=$2;
-      var $717=(($716+1)|0);
-      $2=$717;
-      __label__ = 25; break;
-    case 28: 
-      var $719=$stopidx;
-      var $720=$4;
-      var $721=(($719-$720)|0);
-      var $722=$1;
-      var $723=(($722+360)|0);
-      var $724=(($723+4)|0);
-      HEAP32[(($724)>>2)]=$721;
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
+function CommonState()
+{
 }
-_quic_rgb16_to_32_uncompress_row0_seg["X"]=1;
 
-function _quic_rgb16_uncompress_row_seg($encoder, $prev_row, $cur_row, $i, $end, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $channel_r;
-      var $channel_g;
-      var $channel_b;
-      var $correlate_row_r;
-      var $correlate_row_g;
-      var $correlate_row_b;
-      var $waitmask;
-      var $stopidx;
-      var $run_index;
-      var $run_end;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$prev_row;
-      $3=$cur_row;
-      $4=$i;
-      $5=$end;
-      $6=$bpc;
-      $7=$bpc_mask;
-      var $8=$1;
-      var $9=(($8+56)|0);
-      var $10=(($9)|0);
-      $channel_r=$10;
-      var $11=$channel_r;
-      var $12=(($11+76)|0);
-      $channel_g=$12;
-      var $13=$channel_g;
-      var $14=(($13+76)|0);
-      $channel_b=$14;
-      var $15=$channel_r;
-      var $16=(($15+8)|0);
-      var $17=HEAP32[(($16)>>2)];
-      $correlate_row_r=$17;
-      var $18=$channel_g;
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      $correlate_row_g=$20;
-      var $21=$channel_b;
-      var $22=(($21+8)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $correlate_row_b=$23;
-      var $24=$1;
-      var $25=(($24+360)|0);
-      var $26=(($25+16)|0);
-      var $27=HEAP32[(($26)>>2)];
-      var $28=((_bppmask+($27<<2))|0);
-      var $29=HEAP32[(($28)>>2)];
-      $waitmask=$29;
-      $run_index=0;
-      __label__ = 2; break;
-    case 2: 
-      var $31=$5;
-      var $32=$4;
-      var $33=(($31-$32)|0);
-      var $34=(($33)|0) > 0;
-      if ($34) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $38=$_g_boolean_var_;
-      var $39=(($38)==(1));
-      var $40=(($39)|0)!=0;
-      if ($40) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str87)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $47=$4;
-      var $48=(($47)|0)!=0;
-      if ($48) { __label__ = 16; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $50=$4;
-      var $51=$3;
-      var $52=(($51+($50<<1))|0);
-      HEAP16[(($52)>>1)]=0;
-      var $53=$channel_r;
-      var $54=$correlate_row_r;
-      var $55=(($54-1)|0);
-      var $56=HEAPU8[($55)];
-      var $57=(($56)&255);
-      var $58=_find_bucket_5bpc($53, $57);
-      var $59=(($58+4)|0);
-      var $60=HEAP32[(($59)>>2)];
-      var $61=$1;
-      var $62=(($61+32)|0);
-      var $63=HEAP32[(($62)>>2)];
-      var $64=_golomb_decoding_5bpc($60, $63, $codewordlen);
-      var $65=(($64) & 255);
-      var $66=$correlate_row_r;
-      var $67=(($66)|0);
-      HEAP8[($67)]=$65;
-      var $68=$3;
-      var $69=(($68)|0);
-      var $70=HEAPU16[(($69)>>1)];
-      var $71=(($70)&65535);
-      var $72=$71 & -31745;
-      var $73=$correlate_row_r;
-      var $74=(($73)|0);
-      var $75=HEAPU8[($74)];
-      var $76=(($75)&255);
-      var $77=((((_family_5bpc+384)|0)+($76<<2))|0);
-      var $78=HEAP32[(($77)>>2)];
-      var $79=$2;
-      var $80=HEAPU16[(($79)>>1)];
-      var $81=(($80)&65535);
-      var $82=$81 >> 10;
-      var $83=$82 & 31;
-      var $84=(($78+$83)|0);
-      var $85=$7;
-      var $86=$84 & $85;
-      var $87=$86 << 10;
-      var $88=$72 | $87;
-      var $89=(($88) & 65535);
-      var $90=$3;
-      var $91=(($90)|0);
-      HEAP16[(($91)>>1)]=$89;
-      var $92=$1;
-      var $93=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($92, $93);
-      var $94=$channel_g;
-      var $95=$correlate_row_g;
-      var $96=(($95-1)|0);
-      var $97=HEAPU8[($96)];
-      var $98=(($97)&255);
-      var $99=_find_bucket_5bpc($94, $98);
-      var $100=(($99+4)|0);
-      var $101=HEAP32[(($100)>>2)];
-      var $102=$1;
-      var $103=(($102+32)|0);
-      var $104=HEAP32[(($103)>>2)];
-      var $105=_golomb_decoding_5bpc($101, $104, $codewordlen);
-      var $106=(($105) & 255);
-      var $107=$correlate_row_g;
-      var $108=(($107)|0);
-      HEAP8[($108)]=$106;
-      var $109=$3;
-      var $110=(($109)|0);
-      var $111=HEAPU16[(($110)>>1)];
-      var $112=(($111)&65535);
-      var $113=$112 & -993;
-      var $114=$correlate_row_g;
-      var $115=(($114)|0);
-      var $116=HEAPU8[($115)];
-      var $117=(($116)&255);
-      var $118=((((_family_5bpc+384)|0)+($117<<2))|0);
-      var $119=HEAP32[(($118)>>2)];
-      var $120=$2;
-      var $121=HEAPU16[(($120)>>1)];
-      var $122=(($121)&65535);
-      var $123=$122 >> 5;
-      var $124=$123 & 31;
-      var $125=(($119+$124)|0);
-      var $126=$7;
-      var $127=$125 & $126;
-      var $128=$127 << 5;
-      var $129=$113 | $128;
-      var $130=(($129) & 65535);
-      var $131=$3;
-      var $132=(($131)|0);
-      HEAP16[(($132)>>1)]=$130;
-      var $133=$1;
-      var $134=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($133, $134);
-      var $135=$channel_b;
-      var $136=$correlate_row_b;
-      var $137=(($136-1)|0);
-      var $138=HEAPU8[($137)];
-      var $139=(($138)&255);
-      var $140=_find_bucket_5bpc($135, $139);
-      var $141=(($140+4)|0);
-      var $142=HEAP32[(($141)>>2)];
-      var $143=$1;
-      var $144=(($143+32)|0);
-      var $145=HEAP32[(($144)>>2)];
-      var $146=_golomb_decoding_5bpc($142, $145, $codewordlen);
-      var $147=(($146) & 255);
-      var $148=$correlate_row_b;
-      var $149=(($148)|0);
-      HEAP8[($149)]=$147;
-      var $150=$3;
-      var $151=(($150)|0);
-      var $152=HEAPU16[(($151)>>1)];
-      var $153=(($152)&65535);
-      var $154=$153 & -32;
-      var $155=$correlate_row_b;
-      var $156=(($155)|0);
-      var $157=HEAPU8[($156)];
-      var $158=(($157)&255);
-      var $159=((((_family_5bpc+384)|0)+($158<<2))|0);
-      var $160=HEAP32[(($159)>>2)];
-      var $161=$2;
-      var $162=HEAPU16[(($161)>>1)];
-      var $163=(($162)&65535);
-      var $164=$163 & 31;
-      var $165=(($160+$164)|0);
-      var $166=$7;
-      var $167=$165 & $166;
-      var $168=$154 | $167;
-      var $169=(($168) & 65535);
-      var $170=$3;
-      var $171=(($170)|0);
-      HEAP16[(($171)>>1)]=$169;
-      var $172=$1;
-      var $173=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($172, $173);
-      var $174=$1;
-      var $175=(($174+360)|0);
-      var $176=(($175+4)|0);
-      var $177=HEAP32[(($176)>>2)];
-      var $178=(($177)|0)!=0;
-      if ($178) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $180=$1;
-      var $181=(($180+360)|0);
-      var $182=(($181+4)|0);
-      var $183=HEAP32[(($182)>>2)];
-      var $184=(($183-1)|0);
-      HEAP32[(($182)>>2)]=$184;
-      __label__ = 15; break;
-    case 14: 
-      var $186=$1;
-      var $187=(($186+360)|0);
-      var $188=(($187+8)|0);
-      var $189=_tabrand($188);
-      var $190=$waitmask;
-      var $191=$189 & $190;
-      var $192=$1;
-      var $193=(($192+360)|0);
-      var $194=(($193+4)|0);
-      HEAP32[(($194)>>2)]=$191;
-      var $195=$1;
-      var $196=(($195+360)|0);
-      var $197=$channel_r;
-      var $198=$correlate_row_r;
-      var $199=(($198-1)|0);
-      var $200=HEAPU8[($199)];
-      var $201=(($200)&255);
-      var $202=_find_bucket_5bpc($197, $201);
-      var $203=$correlate_row_r;
-      var $204=(($203)|0);
-      var $205=HEAP8[($204)];
-      var $206=$6;
-      _update_model_5bpc($196, $202, $205, $206);
-      var $207=$1;
-      var $208=(($207+360)|0);
-      var $209=$channel_g;
-      var $210=$correlate_row_g;
-      var $211=(($210-1)|0);
-      var $212=HEAPU8[($211)];
-      var $213=(($212)&255);
-      var $214=_find_bucket_5bpc($209, $213);
-      var $215=$correlate_row_g;
-      var $216=(($215)|0);
-      var $217=HEAP8[($216)];
-      var $218=$6;
-      _update_model_5bpc($208, $214, $217, $218);
-      var $219=$1;
-      var $220=(($219+360)|0);
-      var $221=$channel_b;
-      var $222=$correlate_row_b;
-      var $223=(($222-1)|0);
-      var $224=HEAPU8[($223)];
-      var $225=(($224)&255);
-      var $226=_find_bucket_5bpc($221, $225);
-      var $227=$correlate_row_b;
-      var $228=(($227)|0);
-      var $229=HEAP8[($228)];
-      var $230=$6;
-      _update_model_5bpc($220, $226, $229, $230);
-      __label__ = 15; break;
-    case 15: 
-      var $232=$4;
-      var $233=(($232+1)|0);
-      $4=$233;
-      var $234=$1;
-      var $235=(($234+360)|0);
-      var $236=(($235+4)|0);
-      var $237=HEAP32[(($236)>>2)];
-      var $238=(($233+$237)|0);
-      $stopidx=$238;
-      __label__ = 17; break;
-    case 16: 
-      var $240=$4;
-      var $241=$1;
-      var $242=(($241+360)|0);
-      var $243=(($242+4)|0);
-      var $244=HEAP32[(($243)>>2)];
-      var $245=(($240+$244)|0);
-      $stopidx=$245;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      var $249=$stopidx;
-      var $250=$5;
-      var $251=(($249)|0) < (($250)|0);
-      if ($251) { __label__ = 20; break; } else { __label__ = 35; break; }
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      var $254=$4;
-      var $255=$stopidx;
-      var $256=(($254)|0) <= (($255)|0);
-      if ($256) { __label__ = 22; break; } else { __label__ = 34; break; }
-    case 22: 
-      var $258=$4;
-      var $259=(($258-1)|0);
-      var $260=$2;
-      var $261=(($260+($259<<1))|0);
-      var $262=HEAPU16[(($261)>>1)];
-      var $263=(($262)&65535);
-      var $264=$263 >> 10;
-      var $265=$264 & 31;
-      var $266=$4;
-      var $267=$2;
-      var $268=(($267+($266<<1))|0);
-      var $269=HEAPU16[(($268)>>1)];
-      var $270=(($269)&65535);
-      var $271=$270 >> 10;
-      var $272=$271 & 31;
-      var $273=(($265)|0)==(($272)|0);
-      if ($273) { __label__ = 23; break; } else { __label__ = 32; break; }
-    case 23: 
-      var $275=$4;
-      var $276=(($275-1)|0);
-      var $277=$2;
-      var $278=(($277+($276<<1))|0);
-      var $279=HEAPU16[(($278)>>1)];
-      var $280=(($279)&65535);
-      var $281=$280 >> 5;
-      var $282=$281 & 31;
-      var $283=$4;
-      var $284=$2;
-      var $285=(($284+($283<<1))|0);
-      var $286=HEAPU16[(($285)>>1)];
-      var $287=(($286)&65535);
-      var $288=$287 >> 5;
-      var $289=$288 & 31;
-      var $290=(($282)|0)==(($289)|0);
-      if ($290) { __label__ = 24; break; } else { __label__ = 32; break; }
-    case 24: 
-      var $292=$4;
-      var $293=(($292-1)|0);
-      var $294=$2;
-      var $295=(($294+($293<<1))|0);
-      var $296=HEAPU16[(($295)>>1)];
-      var $297=(($296)&65535);
-      var $298=$297 & 31;
-      var $299=$4;
-      var $300=$2;
-      var $301=(($300+($299<<1))|0);
-      var $302=HEAPU16[(($301)>>1)];
-      var $303=(($302)&65535);
-      var $304=$303 & 31;
-      var $305=(($298)|0)==(($304)|0);
-      if ($305) { __label__ = 25; break; } else { __label__ = 32; break; }
-    case 25: 
-      var $307=$run_index;
-      var $308=$4;
-      var $309=(($307)|0)!=(($308)|0);
-      if ($309) { __label__ = 26; break; } else { __label__ = 31; break; }
-    case 26: 
-      var $311=$4;
-      var $312=(($311)|0) > 2;
-      if ($312) { __label__ = 27; break; } else { __label__ = 31; break; }
-    case 27: 
-      var $314=$4;
-      var $315=(($314-1)|0);
-      var $316=$3;
-      var $317=(($316+($315<<1))|0);
-      var $318=HEAPU16[(($317)>>1)];
-      var $319=(($318)&65535);
-      var $320=$319 >> 10;
-      var $321=$320 & 31;
-      var $322=$4;
-      var $323=(($322-2)|0);
-      var $324=$3;
-      var $325=(($324+($323<<1))|0);
-      var $326=HEAPU16[(($325)>>1)];
-      var $327=(($326)&65535);
-      var $328=$327 >> 10;
-      var $329=$328 & 31;
-      var $330=(($321)|0)==(($329)|0);
-      if ($330) { __label__ = 28; break; } else { __label__ = 31; break; }
-    case 28: 
-      var $332=$4;
-      var $333=(($332-1)|0);
-      var $334=$3;
-      var $335=(($334+($333<<1))|0);
-      var $336=HEAPU16[(($335)>>1)];
-      var $337=(($336)&65535);
-      var $338=$337 >> 5;
-      var $339=$338 & 31;
-      var $340=$4;
-      var $341=(($340-2)|0);
-      var $342=$3;
-      var $343=(($342+($341<<1))|0);
-      var $344=HEAPU16[(($343)>>1)];
-      var $345=(($344)&65535);
-      var $346=$345 >> 5;
-      var $347=$346 & 31;
-      var $348=(($339)|0)==(($347)|0);
-      if ($348) { __label__ = 29; break; } else { __label__ = 31; break; }
-    case 29: 
-      var $350=$4;
-      var $351=(($350-1)|0);
-      var $352=$3;
-      var $353=(($352+($351<<1))|0);
-      var $354=HEAPU16[(($353)>>1)];
-      var $355=(($354)&65535);
-      var $356=$355 & 31;
-      var $357=$4;
-      var $358=(($357-2)|0);
-      var $359=$3;
-      var $360=(($359+($358<<1))|0);
-      var $361=HEAPU16[(($360)>>1)];
-      var $362=(($361)&65535);
-      var $363=$362 & 31;
-      var $364=(($356)|0)==(($363)|0);
-      if ($364) { __label__ = 30; break; } else { __label__ = 31; break; }
-    case 30: 
-      __label__ = 50; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      var $368=$4;
-      var $369=$3;
-      var $370=(($369+($368<<1))|0);
-      HEAP16[(($370)>>1)]=0;
-      var $371=$channel_r;
-      var $372=$4;
-      var $373=(($372-1)|0);
-      var $374=$correlate_row_r;
-      var $375=(($374+$373)|0);
-      var $376=HEAPU8[($375)];
-      var $377=(($376)&255);
-      var $378=_find_bucket_5bpc($371, $377);
-      var $379=(($378+4)|0);
-      var $380=HEAP32[(($379)>>2)];
-      var $381=$1;
-      var $382=(($381+32)|0);
-      var $383=HEAP32[(($382)>>2)];
-      var $384=_golomb_decoding_5bpc($380, $383, $codewordlen1);
-      var $385=(($384) & 255);
-      var $386=$4;
-      var $387=$correlate_row_r;
-      var $388=(($387+$386)|0);
-      HEAP8[($388)]=$385;
-      var $389=$4;
-      var $390=$3;
-      var $391=(($390+($389<<1))|0);
-      var $392=HEAPU16[(($391)>>1)];
-      var $393=(($392)&65535);
-      var $394=$393 & -31745;
-      var $395=$4;
-      var $396=$correlate_row_r;
-      var $397=(($396+$395)|0);
-      var $398=HEAPU8[($397)];
-      var $399=(($398)&255);
-      var $400=((((_family_5bpc+384)|0)+($399<<2))|0);
-      var $401=HEAP32[(($400)>>2)];
-      var $402=$4;
-      var $403=$3;
-      var $404=(($403+($402<<1))|0);
-      var $405=(($404-2)|0);
-      var $406=HEAPU16[(($405)>>1)];
-      var $407=(($406)&65535);
-      var $408=$407 >> 10;
-      var $409=$408 & 31;
-      var $410=$4;
-      var $411=$2;
-      var $412=(($411+($410<<1))|0);
-      var $413=HEAPU16[(($412)>>1)];
-      var $414=(($413)&65535);
-      var $415=$414 >> 10;
-      var $416=$415 & 31;
-      var $417=(($409+$416)|0);
-      var $418=$417 >>> 1;
-      var $419=(($401+$418)|0);
-      var $420=$7;
-      var $421=$419 & $420;
-      var $422=$421 << 10;
-      var $423=$394 | $422;
-      var $424=(($423) & 65535);
-      var $425=$4;
-      var $426=$3;
-      var $427=(($426+($425<<1))|0);
-      HEAP16[(($427)>>1)]=$424;
-      var $428=$1;
-      var $429=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($428, $429);
-      var $430=$channel_g;
-      var $431=$4;
-      var $432=(($431-1)|0);
-      var $433=$correlate_row_g;
-      var $434=(($433+$432)|0);
-      var $435=HEAPU8[($434)];
-      var $436=(($435)&255);
-      var $437=_find_bucket_5bpc($430, $436);
-      var $438=(($437+4)|0);
-      var $439=HEAP32[(($438)>>2)];
-      var $440=$1;
-      var $441=(($440+32)|0);
-      var $442=HEAP32[(($441)>>2)];
-      var $443=_golomb_decoding_5bpc($439, $442, $codewordlen1);
-      var $444=(($443) & 255);
-      var $445=$4;
-      var $446=$correlate_row_g;
-      var $447=(($446+$445)|0);
-      HEAP8[($447)]=$444;
-      var $448=$4;
-      var $449=$3;
-      var $450=(($449+($448<<1))|0);
-      var $451=HEAPU16[(($450)>>1)];
-      var $452=(($451)&65535);
-      var $453=$452 & -993;
-      var $454=$4;
-      var $455=$correlate_row_g;
-      var $456=(($455+$454)|0);
-      var $457=HEAPU8[($456)];
-      var $458=(($457)&255);
-      var $459=((((_family_5bpc+384)|0)+($458<<2))|0);
-      var $460=HEAP32[(($459)>>2)];
-      var $461=$4;
-      var $462=$3;
-      var $463=(($462+($461<<1))|0);
-      var $464=(($463-2)|0);
-      var $465=HEAPU16[(($464)>>1)];
-      var $466=(($465)&65535);
-      var $467=$466 >> 5;
-      var $468=$467 & 31;
-      var $469=$4;
-      var $470=$2;
-      var $471=(($470+($469<<1))|0);
-      var $472=HEAPU16[(($471)>>1)];
-      var $473=(($472)&65535);
-      var $474=$473 >> 5;
-      var $475=$474 & 31;
-      var $476=(($468+$475)|0);
-      var $477=$476 >>> 1;
-      var $478=(($460+$477)|0);
-      var $479=$7;
-      var $480=$478 & $479;
-      var $481=$480 << 5;
-      var $482=$453 | $481;
-      var $483=(($482) & 65535);
-      var $484=$4;
-      var $485=$3;
-      var $486=(($485+($484<<1))|0);
-      HEAP16[(($486)>>1)]=$483;
-      var $487=$1;
-      var $488=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($487, $488);
-      var $489=$channel_b;
-      var $490=$4;
-      var $491=(($490-1)|0);
-      var $492=$correlate_row_b;
-      var $493=(($492+$491)|0);
-      var $494=HEAPU8[($493)];
-      var $495=(($494)&255);
-      var $496=_find_bucket_5bpc($489, $495);
-      var $497=(($496+4)|0);
-      var $498=HEAP32[(($497)>>2)];
-      var $499=$1;
-      var $500=(($499+32)|0);
-      var $501=HEAP32[(($500)>>2)];
-      var $502=_golomb_decoding_5bpc($498, $501, $codewordlen1);
-      var $503=(($502) & 255);
-      var $504=$4;
-      var $505=$correlate_row_b;
-      var $506=(($505+$504)|0);
-      HEAP8[($506)]=$503;
-      var $507=$4;
-      var $508=$3;
-      var $509=(($508+($507<<1))|0);
-      var $510=HEAPU16[(($509)>>1)];
-      var $511=(($510)&65535);
-      var $512=$511 & -32;
-      var $513=$4;
-      var $514=$correlate_row_b;
-      var $515=(($514+$513)|0);
-      var $516=HEAPU8[($515)];
-      var $517=(($516)&255);
-      var $518=((((_family_5bpc+384)|0)+($517<<2))|0);
-      var $519=HEAP32[(($518)>>2)];
-      var $520=$4;
-      var $521=$3;
-      var $522=(($521+($520<<1))|0);
-      var $523=(($522-2)|0);
-      var $524=HEAPU16[(($523)>>1)];
-      var $525=(($524)&65535);
-      var $526=$525 & 31;
-      var $527=$4;
-      var $528=$2;
-      var $529=(($528+($527<<1))|0);
-      var $530=HEAPU16[(($529)>>1)];
-      var $531=(($530)&65535);
-      var $532=$531 & 31;
-      var $533=(($526+$532)|0);
-      var $534=$533 >>> 1;
-      var $535=(($519+$534)|0);
-      var $536=$7;
-      var $537=$535 & $536;
-      var $538=$512 | $537;
-      var $539=(($538) & 65535);
-      var $540=$4;
-      var $541=$3;
-      var $542=(($541+($540<<1))|0);
-      HEAP16[(($542)>>1)]=$539;
-      var $543=$1;
-      var $544=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($543, $544);
-      __label__ = 33; break;
-    case 33: 
-      var $546=$4;
-      var $547=(($546+1)|0);
-      $4=$547;
-      __label__ = 21; break;
-    case 34: 
-      var $549=$1;
-      var $550=(($549+360)|0);
-      var $551=$channel_r;
-      var $552=$stopidx;
-      var $553=(($552-1)|0);
-      var $554=$correlate_row_r;
-      var $555=(($554+$553)|0);
-      var $556=HEAPU8[($555)];
-      var $557=(($556)&255);
-      var $558=_find_bucket_5bpc($551, $557);
-      var $559=$stopidx;
-      var $560=$correlate_row_r;
-      var $561=(($560+$559)|0);
-      var $562=HEAP8[($561)];
-      var $563=$6;
-      _update_model_5bpc($550, $558, $562, $563);
-      var $564=$1;
-      var $565=(($564+360)|0);
-      var $566=$channel_g;
-      var $567=$stopidx;
-      var $568=(($567-1)|0);
-      var $569=$correlate_row_g;
-      var $570=(($569+$568)|0);
-      var $571=HEAPU8[($570)];
-      var $572=(($571)&255);
-      var $573=_find_bucket_5bpc($566, $572);
-      var $574=$stopidx;
-      var $575=$correlate_row_g;
-      var $576=(($575+$574)|0);
-      var $577=HEAP8[($576)];
-      var $578=$6;
-      _update_model_5bpc($565, $573, $577, $578);
-      var $579=$1;
-      var $580=(($579+360)|0);
-      var $581=$channel_b;
-      var $582=$stopidx;
-      var $583=(($582-1)|0);
-      var $584=$correlate_row_b;
-      var $585=(($584+$583)|0);
-      var $586=HEAPU8[($585)];
-      var $587=(($586)&255);
-      var $588=_find_bucket_5bpc($581, $587);
-      var $589=$stopidx;
-      var $590=$correlate_row_b;
-      var $591=(($590+$589)|0);
-      var $592=HEAP8[($591)];
-      var $593=$6;
-      _update_model_5bpc($580, $588, $592, $593);
-      var $594=$4;
-      var $595=$1;
-      var $596=(($595+360)|0);
-      var $597=(($596+8)|0);
-      var $598=_tabrand($597);
-      var $599=$waitmask;
-      var $600=$598 & $599;
-      var $601=(($594+$600)|0);
-      $stopidx=$601;
-      __label__ = 19; break;
-    case 35: 
-      __label__ = 36; break;
-    case 36: 
-      var $604=$4;
-      var $605=$5;
-      var $606=(($604)|0) < (($605)|0);
-      if ($606) { __label__ = 37; break; } else { __label__ = 49; break; }
-    case 37: 
-      var $608=$4;
-      var $609=(($608-1)|0);
-      var $610=$2;
-      var $611=(($610+($609<<1))|0);
-      var $612=HEAPU16[(($611)>>1)];
-      var $613=(($612)&65535);
-      var $614=$613 >> 10;
-      var $615=$614 & 31;
-      var $616=$4;
-      var $617=$2;
-      var $618=(($617+($616<<1))|0);
-      var $619=HEAPU16[(($618)>>1)];
-      var $620=(($619)&65535);
-      var $621=$620 >> 10;
-      var $622=$621 & 31;
-      var $623=(($615)|0)==(($622)|0);
-      if ($623) { __label__ = 38; break; } else { __label__ = 47; break; }
-    case 38: 
-      var $625=$4;
-      var $626=(($625-1)|0);
-      var $627=$2;
-      var $628=(($627+($626<<1))|0);
-      var $629=HEAPU16[(($628)>>1)];
-      var $630=(($629)&65535);
-      var $631=$630 >> 5;
-      var $632=$631 & 31;
-      var $633=$4;
-      var $634=$2;
-      var $635=(($634+($633<<1))|0);
-      var $636=HEAPU16[(($635)>>1)];
-      var $637=(($636)&65535);
-      var $638=$637 >> 5;
-      var $639=$638 & 31;
-      var $640=(($632)|0)==(($639)|0);
-      if ($640) { __label__ = 39; break; } else { __label__ = 47; break; }
-    case 39: 
-      var $642=$4;
-      var $643=(($642-1)|0);
-      var $644=$2;
-      var $645=(($644+($643<<1))|0);
-      var $646=HEAPU16[(($645)>>1)];
-      var $647=(($646)&65535);
-      var $648=$647 & 31;
-      var $649=$4;
-      var $650=$2;
-      var $651=(($650+($649<<1))|0);
-      var $652=HEAPU16[(($651)>>1)];
-      var $653=(($652)&65535);
-      var $654=$653 & 31;
-      var $655=(($648)|0)==(($654)|0);
-      if ($655) { __label__ = 40; break; } else { __label__ = 47; break; }
-    case 40: 
-      var $657=$run_index;
-      var $658=$4;
-      var $659=(($657)|0)!=(($658)|0);
-      if ($659) { __label__ = 41; break; } else { __label__ = 46; break; }
-    case 41: 
-      var $661=$4;
-      var $662=(($661)|0) > 2;
-      if ($662) { __label__ = 42; break; } else { __label__ = 46; break; }
-    case 42: 
-      var $664=$4;
-      var $665=(($664-1)|0);
-      var $666=$3;
-      var $667=(($666+($665<<1))|0);
-      var $668=HEAPU16[(($667)>>1)];
-      var $669=(($668)&65535);
-      var $670=$669 >> 10;
-      var $671=$670 & 31;
-      var $672=$4;
-      var $673=(($672-2)|0);
-      var $674=$3;
-      var $675=(($674+($673<<1))|0);
-      var $676=HEAPU16[(($675)>>1)];
-      var $677=(($676)&65535);
-      var $678=$677 >> 10;
-      var $679=$678 & 31;
-      var $680=(($671)|0)==(($679)|0);
-      if ($680) { __label__ = 43; break; } else { __label__ = 46; break; }
-    case 43: 
-      var $682=$4;
-      var $683=(($682-1)|0);
-      var $684=$3;
-      var $685=(($684+($683<<1))|0);
-      var $686=HEAPU16[(($685)>>1)];
-      var $687=(($686)&65535);
-      var $688=$687 >> 5;
-      var $689=$688 & 31;
-      var $690=$4;
-      var $691=(($690-2)|0);
-      var $692=$3;
-      var $693=(($692+($691<<1))|0);
-      var $694=HEAPU16[(($693)>>1)];
-      var $695=(($694)&65535);
-      var $696=$695 >> 5;
-      var $697=$696 & 31;
-      var $698=(($689)|0)==(($697)|0);
-      if ($698) { __label__ = 44; break; } else { __label__ = 46; break; }
-    case 44: 
-      var $700=$4;
-      var $701=(($700-1)|0);
-      var $702=$3;
-      var $703=(($702+($701<<1))|0);
-      var $704=HEAPU16[(($703)>>1)];
-      var $705=(($704)&65535);
-      var $706=$705 & 31;
-      var $707=$4;
-      var $708=(($707-2)|0);
-      var $709=$3;
-      var $710=(($709+($708<<1))|0);
-      var $711=HEAPU16[(($710)>>1)];
-      var $712=(($711)&65535);
-      var $713=$712 & 31;
-      var $714=(($706)|0)==(($713)|0);
-      if ($714) { __label__ = 45; break; } else { __label__ = 46; break; }
-    case 45: 
-      __label__ = 50; break;
-    case 46: 
-      __label__ = 47; break;
-    case 47: 
-      var $718=$4;
-      var $719=$3;
-      var $720=(($719+($718<<1))|0);
-      HEAP16[(($720)>>1)]=0;
-      var $721=$channel_r;
-      var $722=$4;
-      var $723=(($722-1)|0);
-      var $724=$correlate_row_r;
-      var $725=(($724+$723)|0);
-      var $726=HEAPU8[($725)];
-      var $727=(($726)&255);
-      var $728=_find_bucket_5bpc($721, $727);
-      var $729=(($728+4)|0);
-      var $730=HEAP32[(($729)>>2)];
-      var $731=$1;
-      var $732=(($731+32)|0);
-      var $733=HEAP32[(($732)>>2)];
-      var $734=_golomb_decoding_5bpc($730, $733, $codewordlen2);
-      var $735=(($734) & 255);
-      var $736=$4;
-      var $737=$correlate_row_r;
-      var $738=(($737+$736)|0);
-      HEAP8[($738)]=$735;
-      var $739=$4;
-      var $740=$3;
-      var $741=(($740+($739<<1))|0);
-      var $742=HEAPU16[(($741)>>1)];
-      var $743=(($742)&65535);
-      var $744=$743 & -31745;
-      var $745=$4;
-      var $746=$correlate_row_r;
-      var $747=(($746+$745)|0);
-      var $748=HEAPU8[($747)];
-      var $749=(($748)&255);
-      var $750=((((_family_5bpc+384)|0)+($749<<2))|0);
-      var $751=HEAP32[(($750)>>2)];
-      var $752=$4;
-      var $753=$3;
-      var $754=(($753+($752<<1))|0);
-      var $755=(($754-2)|0);
-      var $756=HEAPU16[(($755)>>1)];
-      var $757=(($756)&65535);
-      var $758=$757 >> 10;
-      var $759=$758 & 31;
-      var $760=$4;
-      var $761=$2;
-      var $762=(($761+($760<<1))|0);
-      var $763=HEAPU16[(($762)>>1)];
-      var $764=(($763)&65535);
-      var $765=$764 >> 10;
-      var $766=$765 & 31;
-      var $767=(($759+$766)|0);
-      var $768=$767 >>> 1;
-      var $769=(($751+$768)|0);
-      var $770=$7;
-      var $771=$769 & $770;
-      var $772=$771 << 10;
-      var $773=$744 | $772;
-      var $774=(($773) & 65535);
-      var $775=$4;
-      var $776=$3;
-      var $777=(($776+($775<<1))|0);
-      HEAP16[(($777)>>1)]=$774;
-      var $778=$1;
-      var $779=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($778, $779);
-      var $780=$channel_g;
-      var $781=$4;
-      var $782=(($781-1)|0);
-      var $783=$correlate_row_g;
-      var $784=(($783+$782)|0);
-      var $785=HEAPU8[($784)];
-      var $786=(($785)&255);
-      var $787=_find_bucket_5bpc($780, $786);
-      var $788=(($787+4)|0);
-      var $789=HEAP32[(($788)>>2)];
-      var $790=$1;
-      var $791=(($790+32)|0);
-      var $792=HEAP32[(($791)>>2)];
-      var $793=_golomb_decoding_5bpc($789, $792, $codewordlen2);
-      var $794=(($793) & 255);
-      var $795=$4;
-      var $796=$correlate_row_g;
-      var $797=(($796+$795)|0);
-      HEAP8[($797)]=$794;
-      var $798=$4;
-      var $799=$3;
-      var $800=(($799+($798<<1))|0);
-      var $801=HEAPU16[(($800)>>1)];
-      var $802=(($801)&65535);
-      var $803=$802 & -993;
-      var $804=$4;
-      var $805=$correlate_row_g;
-      var $806=(($805+$804)|0);
-      var $807=HEAPU8[($806)];
-      var $808=(($807)&255);
-      var $809=((((_family_5bpc+384)|0)+($808<<2))|0);
-      var $810=HEAP32[(($809)>>2)];
-      var $811=$4;
-      var $812=$3;
-      var $813=(($812+($811<<1))|0);
-      var $814=(($813-2)|0);
-      var $815=HEAPU16[(($814)>>1)];
-      var $816=(($815)&65535);
-      var $817=$816 >> 5;
-      var $818=$817 & 31;
-      var $819=$4;
-      var $820=$2;
-      var $821=(($820+($819<<1))|0);
-      var $822=HEAPU16[(($821)>>1)];
-      var $823=(($822)&65535);
-      var $824=$823 >> 5;
-      var $825=$824 & 31;
-      var $826=(($818+$825)|0);
-      var $827=$826 >>> 1;
-      var $828=(($810+$827)|0);
-      var $829=$7;
-      var $830=$828 & $829;
-      var $831=$830 << 5;
-      var $832=$803 | $831;
-      var $833=(($832) & 65535);
-      var $834=$4;
-      var $835=$3;
-      var $836=(($835+($834<<1))|0);
-      HEAP16[(($836)>>1)]=$833;
-      var $837=$1;
-      var $838=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($837, $838);
-      var $839=$channel_b;
-      var $840=$4;
-      var $841=(($840-1)|0);
-      var $842=$correlate_row_b;
-      var $843=(($842+$841)|0);
-      var $844=HEAPU8[($843)];
-      var $845=(($844)&255);
-      var $846=_find_bucket_5bpc($839, $845);
-      var $847=(($846+4)|0);
-      var $848=HEAP32[(($847)>>2)];
-      var $849=$1;
-      var $850=(($849+32)|0);
-      var $851=HEAP32[(($850)>>2)];
-      var $852=_golomb_decoding_5bpc($848, $851, $codewordlen2);
-      var $853=(($852) & 255);
-      var $854=$4;
-      var $855=$correlate_row_b;
-      var $856=(($855+$854)|0);
-      HEAP8[($856)]=$853;
-      var $857=$4;
-      var $858=$3;
-      var $859=(($858+($857<<1))|0);
-      var $860=HEAPU16[(($859)>>1)];
-      var $861=(($860)&65535);
-      var $862=$861 & -32;
-      var $863=$4;
-      var $864=$correlate_row_b;
-      var $865=(($864+$863)|0);
-      var $866=HEAPU8[($865)];
-      var $867=(($866)&255);
-      var $868=((((_family_5bpc+384)|0)+($867<<2))|0);
-      var $869=HEAP32[(($868)>>2)];
-      var $870=$4;
-      var $871=$3;
-      var $872=(($871+($870<<1))|0);
-      var $873=(($872-2)|0);
-      var $874=HEAPU16[(($873)>>1)];
-      var $875=(($874)&65535);
-      var $876=$875 & 31;
-      var $877=$4;
-      var $878=$2;
-      var $879=(($878+($877<<1))|0);
-      var $880=HEAPU16[(($879)>>1)];
-      var $881=(($880)&65535);
-      var $882=$881 & 31;
-      var $883=(($876+$882)|0);
-      var $884=$883 >>> 1;
-      var $885=(($869+$884)|0);
-      var $886=$7;
-      var $887=$885 & $886;
-      var $888=$862 | $887;
-      var $889=(($888) & 65535);
-      var $890=$4;
-      var $891=$3;
-      var $892=(($891+($890<<1))|0);
-      HEAP16[(($892)>>1)]=$889;
-      var $893=$1;
-      var $894=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($893, $894);
-      __label__ = 48; break;
-    case 48: 
-      var $896=$4;
-      var $897=(($896+1)|0);
-      $4=$897;
-      __label__ = 36; break;
-    case 49: 
-      var $899=$stopidx;
-      var $900=$5;
-      var $901=(($899-$900)|0);
-      var $902=$1;
-      var $903=(($902+360)|0);
-      var $904=(($903+4)|0);
-      HEAP32[(($904)>>2)]=$901;
-      __label__ = 57; break;
-    case 50: 
-      var $906=$stopidx;
-      var $907=$4;
-      var $908=(($906-$907)|0);
-      var $909=$1;
-      var $910=(($909+360)|0);
-      var $911=(($910+4)|0);
-      HEAP32[(($911)>>2)]=$908;
-      var $912=$4;
-      $run_index=$912;
-      var $913=$4;
-      var $914=$1;
-      var $915=_decode_run($914);
-      var $916=(($913+$915)|0);
-      $run_end=$916;
-      __label__ = 51; break;
-    case 51: 
-      var $918=$4;
-      var $919=$run_end;
-      var $920=(($918)|0) < (($919)|0);
-      if ($920) { __label__ = 52; break; } else { __label__ = 54; break; }
-    case 52: 
-      var $922=$4;
-      var $923=$3;
-      var $924=(($923+($922<<1))|0);
-      HEAP16[(($924)>>1)]=0;
-      var $925=$4;
-      var $926=$3;
-      var $927=(($926+($925<<1))|0);
-      var $928=HEAPU16[(($927)>>1)];
-      var $929=(($928)&65535);
-      var $930=$929 & -31745;
-      var $931=$4;
-      var $932=(($931-1)|0);
-      var $933=$3;
-      var $934=(($933+($932<<1))|0);
-      var $935=HEAPU16[(($934)>>1)];
-      var $936=(($935)&65535);
-      var $937=$936 >> 10;
-      var $938=$937 & 31;
-      var $939=$938 << 10;
-      var $940=$930 | $939;
-      var $941=(($940) & 65535);
-      var $942=$4;
-      var $943=$3;
-      var $944=(($943+($942<<1))|0);
-      HEAP16[(($944)>>1)]=$941;
-      var $945=$4;
-      var $946=$3;
-      var $947=(($946+($945<<1))|0);
-      var $948=HEAPU16[(($947)>>1)];
-      var $949=(($948)&65535);
-      var $950=$949 & -993;
-      var $951=$4;
-      var $952=(($951-1)|0);
-      var $953=$3;
-      var $954=(($953+($952<<1))|0);
-      var $955=HEAPU16[(($954)>>1)];
-      var $956=(($955)&65535);
-      var $957=$956 >> 5;
-      var $958=$957 & 31;
-      var $959=$958 << 5;
-      var $960=$950 | $959;
-      var $961=(($960) & 65535);
-      var $962=$4;
-      var $963=$3;
-      var $964=(($963+($962<<1))|0);
-      HEAP16[(($964)>>1)]=$961;
-      var $965=$4;
-      var $966=$3;
-      var $967=(($966+($965<<1))|0);
-      var $968=HEAPU16[(($967)>>1)];
-      var $969=(($968)&65535);
-      var $970=$969 & -32;
-      var $971=$4;
-      var $972=(($971-1)|0);
-      var $973=$3;
-      var $974=(($973+($972<<1))|0);
-      var $975=HEAPU16[(($974)>>1)];
-      var $976=(($975)&65535);
-      var $977=$976 & 31;
-      var $978=$970 | $977;
-      var $979=(($978) & 65535);
-      var $980=$4;
-      var $981=$3;
-      var $982=(($981+($980<<1))|0);
-      HEAP16[(($982)>>1)]=$979;
-      __label__ = 53; break;
-    case 53: 
-      var $984=$4;
-      var $985=(($984+1)|0);
-      $4=$985;
-      __label__ = 51; break;
-    case 54: 
-      var $987=$4;
-      var $988=$5;
-      var $989=(($987)|0)==(($988)|0);
-      if ($989) { __label__ = 55; break; } else { __label__ = 56; break; }
-    case 55: 
-      __label__ = 57; break;
-    case 56: 
-      var $992=$4;
-      var $993=$1;
-      var $994=(($993+360)|0);
-      var $995=(($994+4)|0);
-      var $996=HEAP32[(($995)>>2)];
-      var $997=(($992+$996)|0);
-      $stopidx=$997;
-      __label__ = 18; break;
-    case 57: 
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb16_uncompress_row_seg["X"]=1;
+CommonState.prototype = {
+    waitcnt: 0,
+    tabrand_seed: 0xff,
+    wm_trigger: 0,
+    wmidx: 0,
+    wmileft: wminext,
+    melcstate: 0,
+    melclen: 0,
+    melcorder: 0,
+
+    set_wm_trigger : function()
+    {
+        var wm = this.wmidx;
+        if (wm > 10) {
+            wm = 10;
+        }
 
-function _quic_rgb16_uncompress_row0_seg($encoder, $i, $cur_row, $end, $waitmask, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $channel_r;
-      var $channel_g;
-      var $channel_b;
-      var $correlate_row_r;
-      var $correlate_row_g;
-      var $correlate_row_b;
-      var $stopidx;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$i;
-      $3=$cur_row;
-      $4=$end;
-      $5=$waitmask;
-      $6=$bpc;
-      $7=$bpc_mask;
-      var $8=$1;
-      var $9=(($8+56)|0);
-      var $10=(($9)|0);
-      $channel_r=$10;
-      var $11=$channel_r;
-      var $12=(($11+76)|0);
-      $channel_g=$12;
-      var $13=$channel_g;
-      var $14=(($13+76)|0);
-      $channel_b=$14;
-      var $15=$channel_r;
-      var $16=(($15+8)|0);
-      var $17=HEAP32[(($16)>>2)];
-      $correlate_row_r=$17;
-      var $18=$channel_g;
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      $correlate_row_g=$20;
-      var $21=$channel_b;
-      var $22=(($21+8)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $correlate_row_b=$23;
-      __label__ = 2; break;
-    case 2: 
-      var $25=$4;
-      var $26=$2;
-      var $27=(($25-$26)|0);
-      var $28=(($27)|0) > 0;
-      if ($28) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $32=$_g_boolean_var_;
-      var $33=(($32)==(1));
-      var $34=(($33)|0)!=0;
-      if ($34) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str91)|0), ((STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row0_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $41=$2;
-      var $42=(($41)|0)!=0;
-      if ($42) { __label__ = 16; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $44=$2;
-      var $45=$3;
-      var $46=(($45+($44<<1))|0);
-      HEAP16[(($46)>>1)]=0;
-      var $47=$channel_r;
-      var $48=$correlate_row_r;
-      var $49=(($48-1)|0);
-      var $50=HEAPU8[($49)];
-      var $51=(($50)&255);
-      var $52=_find_bucket_5bpc($47, $51);
-      var $53=(($52+4)|0);
-      var $54=HEAP32[(($53)>>2)];
-      var $55=$1;
-      var $56=(($55+32)|0);
-      var $57=HEAP32[(($56)>>2)];
-      var $58=_golomb_decoding_5bpc($54, $57, $codewordlen);
-      var $59=(($58) & 255);
-      var $60=$correlate_row_r;
-      var $61=(($60)|0);
-      HEAP8[($61)]=$59;
-      var $62=$3;
-      var $63=(($62)|0);
-      var $64=HEAPU16[(($63)>>1)];
-      var $65=(($64)&65535);
-      var $66=$65 & -31745;
-      var $67=$correlate_row_r;
-      var $68=(($67)|0);
-      var $69=HEAPU8[($68)];
-      var $70=(($69)&255);
-      var $71=((((_family_5bpc+384)|0)+($70<<2))|0);
-      var $72=HEAP32[(($71)>>2)];
-      var $73=(($72) & 255);
-      var $74=(($73)&255);
-      var $75=$74 << 10;
-      var $76=$66 | $75;
-      var $77=(($76) & 65535);
-      var $78=$3;
-      var $79=(($78)|0);
-      HEAP16[(($79)>>1)]=$77;
-      var $80=$1;
-      var $81=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($80, $81);
-      var $82=$channel_g;
-      var $83=$correlate_row_g;
-      var $84=(($83-1)|0);
-      var $85=HEAPU8[($84)];
-      var $86=(($85)&255);
-      var $87=_find_bucket_5bpc($82, $86);
-      var $88=(($87+4)|0);
-      var $89=HEAP32[(($88)>>2)];
-      var $90=$1;
-      var $91=(($90+32)|0);
-      var $92=HEAP32[(($91)>>2)];
-      var $93=_golomb_decoding_5bpc($89, $92, $codewordlen);
-      var $94=(($93) & 255);
-      var $95=$correlate_row_g;
-      var $96=(($95)|0);
-      HEAP8[($96)]=$94;
-      var $97=$3;
-      var $98=(($97)|0);
-      var $99=HEAPU16[(($98)>>1)];
-      var $100=(($99)&65535);
-      var $101=$100 & -993;
-      var $102=$correlate_row_g;
-      var $103=(($102)|0);
-      var $104=HEAPU8[($103)];
-      var $105=(($104)&255);
-      var $106=((((_family_5bpc+384)|0)+($105<<2))|0);
-      var $107=HEAP32[(($106)>>2)];
-      var $108=(($107) & 255);
-      var $109=(($108)&255);
-      var $110=$109 << 5;
-      var $111=$101 | $110;
-      var $112=(($111) & 65535);
-      var $113=$3;
-      var $114=(($113)|0);
-      HEAP16[(($114)>>1)]=$112;
-      var $115=$1;
-      var $116=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($115, $116);
-      var $117=$channel_b;
-      var $118=$correlate_row_b;
-      var $119=(($118-1)|0);
-      var $120=HEAPU8[($119)];
-      var $121=(($120)&255);
-      var $122=_find_bucket_5bpc($117, $121);
-      var $123=(($122+4)|0);
-      var $124=HEAP32[(($123)>>2)];
-      var $125=$1;
-      var $126=(($125+32)|0);
-      var $127=HEAP32[(($126)>>2)];
-      var $128=_golomb_decoding_5bpc($124, $127, $codewordlen);
-      var $129=(($128) & 255);
-      var $130=$correlate_row_b;
-      var $131=(($130)|0);
-      HEAP8[($131)]=$129;
-      var $132=$3;
-      var $133=(($132)|0);
-      var $134=HEAPU16[(($133)>>1)];
-      var $135=(($134)&65535);
-      var $136=$135 & -32;
-      var $137=$correlate_row_b;
-      var $138=(($137)|0);
-      var $139=HEAPU8[($138)];
-      var $140=(($139)&255);
-      var $141=((((_family_5bpc+384)|0)+($140<<2))|0);
-      var $142=HEAP32[(($141)>>2)];
-      var $143=(($142) & 255);
-      var $144=(($143)&255);
-      var $145=$136 | $144;
-      var $146=(($145) & 65535);
-      var $147=$3;
-      var $148=(($147)|0);
-      HEAP16[(($148)>>1)]=$146;
-      var $149=$1;
-      var $150=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($149, $150);
-      var $151=$1;
-      var $152=(($151+360)|0);
-      var $153=(($152+4)|0);
-      var $154=HEAP32[(($153)>>2)];
-      var $155=(($154)|0)!=0;
-      if ($155) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $157=$1;
-      var $158=(($157+360)|0);
-      var $159=(($158+4)|0);
-      var $160=HEAP32[(($159)>>2)];
-      var $161=(($160-1)|0);
-      HEAP32[(($159)>>2)]=$161;
-      __label__ = 15; break;
-    case 14: 
-      var $163=$1;
-      var $164=(($163+360)|0);
-      var $165=(($164+8)|0);
-      var $166=_tabrand($165);
-      var $167=$5;
-      var $168=$166 & $167;
-      var $169=$1;
-      var $170=(($169+360)|0);
-      var $171=(($170+4)|0);
-      HEAP32[(($171)>>2)]=$168;
-      var $172=$1;
-      var $173=(($172+360)|0);
-      var $174=$channel_r;
-      var $175=$correlate_row_r;
-      var $176=(($175-1)|0);
-      var $177=HEAPU8[($176)];
-      var $178=(($177)&255);
-      var $179=_find_bucket_5bpc($174, $178);
-      var $180=$correlate_row_r;
-      var $181=(($180)|0);
-      var $182=HEAP8[($181)];
-      var $183=$6;
-      _update_model_5bpc($173, $179, $182, $183);
-      var $184=$1;
-      var $185=(($184+360)|0);
-      var $186=$channel_g;
-      var $187=$correlate_row_g;
-      var $188=(($187-1)|0);
-      var $189=HEAPU8[($188)];
-      var $190=(($189)&255);
-      var $191=_find_bucket_5bpc($186, $190);
-      var $192=$correlate_row_g;
-      var $193=(($192)|0);
-      var $194=HEAP8[($193)];
-      var $195=$6;
-      _update_model_5bpc($185, $191, $194, $195);
-      var $196=$1;
-      var $197=(($196+360)|0);
-      var $198=$channel_b;
-      var $199=$correlate_row_b;
-      var $200=(($199-1)|0);
-      var $201=HEAPU8[($200)];
-      var $202=(($201)&255);
-      var $203=_find_bucket_5bpc($198, $202);
-      var $204=$correlate_row_b;
-      var $205=(($204)|0);
-      var $206=HEAP8[($205)];
-      var $207=$6;
-      _update_model_5bpc($197, $203, $206, $207);
-      __label__ = 15; break;
-    case 15: 
-      var $209=$2;
-      var $210=(($209+1)|0);
-      $2=$210;
-      var $211=$1;
-      var $212=(($211+360)|0);
-      var $213=(($212+4)|0);
-      var $214=HEAP32[(($213)>>2)];
-      var $215=(($210+$214)|0);
-      $stopidx=$215;
-      __label__ = 17; break;
-    case 16: 
-      var $217=$2;
-      var $218=$1;
-      var $219=(($218+360)|0);
-      var $220=(($219+4)|0);
-      var $221=HEAP32[(($220)>>2)];
-      var $222=(($217+$221)|0);
-      $stopidx=$222;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      var $225=$stopidx;
-      var $226=$4;
-      var $227=(($225)|0) < (($226)|0);
-      if ($227) { __label__ = 19; break; } else { __label__ = 24; break; }
-    case 19: 
-      __label__ = 20; break;
-    case 20: 
-      var $230=$2;
-      var $231=$stopidx;
-      var $232=(($230)|0) <= (($231)|0);
-      if ($232) { __label__ = 21; break; } else { __label__ = 23; break; }
-    case 21: 
-      var $234=$2;
-      var $235=$3;
-      var $236=(($235+($234<<1))|0);
-      HEAP16[(($236)>>1)]=0;
-      var $237=$channel_r;
-      var $238=$2;
-      var $239=(($238-1)|0);
-      var $240=$correlate_row_r;
-      var $241=(($240+$239)|0);
-      var $242=HEAPU8[($241)];
-      var $243=(($242)&255);
-      var $244=_find_bucket_5bpc($237, $243);
-      var $245=(($244+4)|0);
-      var $246=HEAP32[(($245)>>2)];
-      var $247=$1;
-      var $248=(($247+32)|0);
-      var $249=HEAP32[(($248)>>2)];
-      var $250=_golomb_decoding_5bpc($246, $249, $codewordlen1);
-      var $251=(($250) & 255);
-      var $252=$2;
-      var $253=$correlate_row_r;
-      var $254=(($253+$252)|0);
-      HEAP8[($254)]=$251;
-      var $255=$2;
-      var $256=$3;
-      var $257=(($256+($255<<1))|0);
-      var $258=HEAPU16[(($257)>>1)];
-      var $259=(($258)&65535);
-      var $260=$259 & -31745;
-      var $261=$2;
-      var $262=$correlate_row_r;
-      var $263=(($262+$261)|0);
-      var $264=HEAPU8[($263)];
-      var $265=(($264)&255);
-      var $266=((((_family_5bpc+384)|0)+($265<<2))|0);
-      var $267=HEAP32[(($266)>>2)];
-      var $268=$2;
-      var $269=$3;
-      var $270=(($269+($268<<1))|0);
-      var $271=(($270-2)|0);
-      var $272=HEAPU16[(($271)>>1)];
-      var $273=(($272)&65535);
-      var $274=$273 >> 10;
-      var $275=$274 & 31;
-      var $276=(($267+$275)|0);
-      var $277=$7;
-      var $278=$276 & $277;
-      var $279=$278 << 10;
-      var $280=$260 | $279;
-      var $281=(($280) & 65535);
-      var $282=$2;
-      var $283=$3;
-      var $284=(($283+($282<<1))|0);
-      HEAP16[(($284)>>1)]=$281;
-      var $285=$1;
-      var $286=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($285, $286);
-      var $287=$channel_g;
-      var $288=$2;
-      var $289=(($288-1)|0);
-      var $290=$correlate_row_g;
-      var $291=(($290+$289)|0);
-      var $292=HEAPU8[($291)];
-      var $293=(($292)&255);
-      var $294=_find_bucket_5bpc($287, $293);
-      var $295=(($294+4)|0);
-      var $296=HEAP32[(($295)>>2)];
-      var $297=$1;
-      var $298=(($297+32)|0);
-      var $299=HEAP32[(($298)>>2)];
-      var $300=_golomb_decoding_5bpc($296, $299, $codewordlen1);
-      var $301=(($300) & 255);
-      var $302=$2;
-      var $303=$correlate_row_g;
-      var $304=(($303+$302)|0);
-      HEAP8[($304)]=$301;
-      var $305=$2;
-      var $306=$3;
-      var $307=(($306+($305<<1))|0);
-      var $308=HEAPU16[(($307)>>1)];
-      var $309=(($308)&65535);
-      var $310=$309 & -993;
-      var $311=$2;
-      var $312=$correlate_row_g;
-      var $313=(($312+$311)|0);
-      var $314=HEAPU8[($313)];
-      var $315=(($314)&255);
-      var $316=((((_family_5bpc+384)|0)+($315<<2))|0);
-      var $317=HEAP32[(($316)>>2)];
-      var $318=$2;
-      var $319=$3;
-      var $320=(($319+($318<<1))|0);
-      var $321=(($320-2)|0);
-      var $322=HEAPU16[(($321)>>1)];
-      var $323=(($322)&65535);
-      var $324=$323 >> 5;
-      var $325=$324 & 31;
-      var $326=(($317+$325)|0);
-      var $327=$7;
-      var $328=$326 & $327;
-      var $329=$328 << 5;
-      var $330=$310 | $329;
-      var $331=(($330) & 65535);
-      var $332=$2;
-      var $333=$3;
-      var $334=(($333+($332<<1))|0);
-      HEAP16[(($334)>>1)]=$331;
-      var $335=$1;
-      var $336=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($335, $336);
-      var $337=$channel_b;
-      var $338=$2;
-      var $339=(($338-1)|0);
-      var $340=$correlate_row_b;
-      var $341=(($340+$339)|0);
-      var $342=HEAPU8[($341)];
-      var $343=(($342)&255);
-      var $344=_find_bucket_5bpc($337, $343);
-      var $345=(($344+4)|0);
-      var $346=HEAP32[(($345)>>2)];
-      var $347=$1;
-      var $348=(($347+32)|0);
-      var $349=HEAP32[(($348)>>2)];
-      var $350=_golomb_decoding_5bpc($346, $349, $codewordlen1);
-      var $351=(($350) & 255);
-      var $352=$2;
-      var $353=$correlate_row_b;
-      var $354=(($353+$352)|0);
-      HEAP8[($354)]=$351;
-      var $355=$2;
-      var $356=$3;
-      var $357=(($356+($355<<1))|0);
-      var $358=HEAPU16[(($357)>>1)];
-      var $359=(($358)&65535);
-      var $360=$359 & -32;
-      var $361=$2;
-      var $362=$correlate_row_b;
-      var $363=(($362+$361)|0);
-      var $364=HEAPU8[($363)];
-      var $365=(($364)&255);
-      var $366=((((_family_5bpc+384)|0)+($365<<2))|0);
-      var $367=HEAP32[(($366)>>2)];
-      var $368=$2;
-      var $369=$3;
-      var $370=(($369+($368<<1))|0);
-      var $371=(($370-2)|0);
-      var $372=HEAPU16[(($371)>>1)];
-      var $373=(($372)&65535);
-      var $374=$373 & 31;
-      var $375=(($367+$374)|0);
-      var $376=$7;
-      var $377=$375 & $376;
-      var $378=$360 | $377;
-      var $379=(($378) & 65535);
-      var $380=$2;
-      var $381=$3;
-      var $382=(($381+($380<<1))|0);
-      HEAP16[(($382)>>1)]=$379;
-      var $383=$1;
-      var $384=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($383, $384);
-      __label__ = 22; break;
-    case 22: 
-      var $386=$2;
-      var $387=(($386+1)|0);
-      $2=$387;
-      __label__ = 20; break;
-    case 23: 
-      var $389=$1;
-      var $390=(($389+360)|0);
-      var $391=$channel_r;
-      var $392=$stopidx;
-      var $393=(($392-1)|0);
-      var $394=$correlate_row_r;
-      var $395=(($394+$393)|0);
-      var $396=HEAPU8[($395)];
-      var $397=(($396)&255);
-      var $398=_find_bucket_5bpc($391, $397);
-      var $399=$stopidx;
-      var $400=$correlate_row_r;
-      var $401=(($400+$399)|0);
-      var $402=HEAP8[($401)];
-      var $403=$6;
-      _update_model_5bpc($390, $398, $402, $403);
-      var $404=$1;
-      var $405=(($404+360)|0);
-      var $406=$channel_g;
-      var $407=$stopidx;
-      var $408=(($407-1)|0);
-      var $409=$correlate_row_g;
-      var $410=(($409+$408)|0);
-      var $411=HEAPU8[($410)];
-      var $412=(($411)&255);
-      var $413=_find_bucket_5bpc($406, $412);
-      var $414=$stopidx;
-      var $415=$correlate_row_g;
-      var $416=(($415+$414)|0);
-      var $417=HEAP8[($416)];
-      var $418=$6;
-      _update_model_5bpc($405, $413, $417, $418);
-      var $419=$1;
-      var $420=(($419+360)|0);
-      var $421=$channel_b;
-      var $422=$stopidx;
-      var $423=(($422-1)|0);
-      var $424=$correlate_row_b;
-      var $425=(($424+$423)|0);
-      var $426=HEAPU8[($425)];
-      var $427=(($426)&255);
-      var $428=_find_bucket_5bpc($421, $427);
-      var $429=$stopidx;
-      var $430=$correlate_row_b;
-      var $431=(($430+$429)|0);
-      var $432=HEAP8[($431)];
-      var $433=$6;
-      _update_model_5bpc($420, $428, $432, $433);
-      var $434=$2;
-      var $435=$1;
-      var $436=(($435+360)|0);
-      var $437=(($436+8)|0);
-      var $438=_tabrand($437);
-      var $439=$5;
-      var $440=$438 & $439;
-      var $441=(($434+$440)|0);
-      $stopidx=$441;
-      __label__ = 18; break;
-    case 24: 
-      __label__ = 25; break;
-    case 25: 
-      var $444=$2;
-      var $445=$4;
-      var $446=(($444)|0) < (($445)|0);
-      if ($446) { __label__ = 26; break; } else { __label__ = 28; break; }
-    case 26: 
-      var $448=$2;
-      var $449=$3;
-      var $450=(($449+($448<<1))|0);
-      HEAP16[(($450)>>1)]=0;
-      var $451=$channel_r;
-      var $452=$2;
-      var $453=(($452-1)|0);
-      var $454=$correlate_row_r;
-      var $455=(($454+$453)|0);
-      var $456=HEAPU8[($455)];
-      var $457=(($456)&255);
-      var $458=_find_bucket_5bpc($451, $457);
-      var $459=(($458+4)|0);
-      var $460=HEAP32[(($459)>>2)];
-      var $461=$1;
-      var $462=(($461+32)|0);
-      var $463=HEAP32[(($462)>>2)];
-      var $464=_golomb_decoding_5bpc($460, $463, $codewordlen2);
-      var $465=(($464) & 255);
-      var $466=$2;
-      var $467=$correlate_row_r;
-      var $468=(($467+$466)|0);
-      HEAP8[($468)]=$465;
-      var $469=$2;
-      var $470=$3;
-      var $471=(($470+($469<<1))|0);
-      var $472=HEAPU16[(($471)>>1)];
-      var $473=(($472)&65535);
-      var $474=$473 & -31745;
-      var $475=$2;
-      var $476=$correlate_row_r;
-      var $477=(($476+$475)|0);
-      var $478=HEAPU8[($477)];
-      var $479=(($478)&255);
-      var $480=((((_family_5bpc+384)|0)+($479<<2))|0);
-      var $481=HEAP32[(($480)>>2)];
-      var $482=$2;
-      var $483=$3;
-      var $484=(($483+($482<<1))|0);
-      var $485=(($484-2)|0);
-      var $486=HEAPU16[(($485)>>1)];
-      var $487=(($486)&65535);
-      var $488=$487 >> 10;
-      var $489=$488 & 31;
-      var $490=(($481+$489)|0);
-      var $491=$7;
-      var $492=$490 & $491;
-      var $493=$492 << 10;
-      var $494=$474 | $493;
-      var $495=(($494) & 65535);
-      var $496=$2;
-      var $497=$3;
-      var $498=(($497+($496<<1))|0);
-      HEAP16[(($498)>>1)]=$495;
-      var $499=$1;
-      var $500=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($499, $500);
-      var $501=$channel_g;
-      var $502=$2;
-      var $503=(($502-1)|0);
-      var $504=$correlate_row_g;
-      var $505=(($504+$503)|0);
-      var $506=HEAPU8[($505)];
-      var $507=(($506)&255);
-      var $508=_find_bucket_5bpc($501, $507);
-      var $509=(($508+4)|0);
-      var $510=HEAP32[(($509)>>2)];
-      var $511=$1;
-      var $512=(($511+32)|0);
-      var $513=HEAP32[(($512)>>2)];
-      var $514=_golomb_decoding_5bpc($510, $513, $codewordlen2);
-      var $515=(($514) & 255);
-      var $516=$2;
-      var $517=$correlate_row_g;
-      var $518=(($517+$516)|0);
-      HEAP8[($518)]=$515;
-      var $519=$2;
-      var $520=$3;
-      var $521=(($520+($519<<1))|0);
-      var $522=HEAPU16[(($521)>>1)];
-      var $523=(($522)&65535);
-      var $524=$523 & -993;
-      var $525=$2;
-      var $526=$correlate_row_g;
-      var $527=(($526+$525)|0);
-      var $528=HEAPU8[($527)];
-      var $529=(($528)&255);
-      var $530=((((_family_5bpc+384)|0)+($529<<2))|0);
-      var $531=HEAP32[(($530)>>2)];
-      var $532=$2;
-      var $533=$3;
-      var $534=(($533+($532<<1))|0);
-      var $535=(($534-2)|0);
-      var $536=HEAPU16[(($535)>>1)];
-      var $537=(($536)&65535);
-      var $538=$537 >> 5;
-      var $539=$538 & 31;
-      var $540=(($531+$539)|0);
-      var $541=$7;
-      var $542=$540 & $541;
-      var $543=$542 << 5;
-      var $544=$524 | $543;
-      var $545=(($544) & 65535);
-      var $546=$2;
-      var $547=$3;
-      var $548=(($547+($546<<1))|0);
-      HEAP16[(($548)>>1)]=$545;
-      var $549=$1;
-      var $550=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($549, $550);
-      var $551=$channel_b;
-      var $552=$2;
-      var $553=(($552-1)|0);
-      var $554=$correlate_row_b;
-      var $555=(($554+$553)|0);
-      var $556=HEAPU8[($555)];
-      var $557=(($556)&255);
-      var $558=_find_bucket_5bpc($551, $557);
-      var $559=(($558+4)|0);
-      var $560=HEAP32[(($559)>>2)];
-      var $561=$1;
-      var $562=(($561+32)|0);
-      var $563=HEAP32[(($562)>>2)];
-      var $564=_golomb_decoding_5bpc($560, $563, $codewordlen2);
-      var $565=(($564) & 255);
-      var $566=$2;
-      var $567=$correlate_row_b;
-      var $568=(($567+$566)|0);
-      HEAP8[($568)]=$565;
-      var $569=$2;
-      var $570=$3;
-      var $571=(($570+($569<<1))|0);
-      var $572=HEAPU16[(($571)>>1)];
-      var $573=(($572)&65535);
-      var $574=$573 & -32;
-      var $575=$2;
-      var $576=$correlate_row_b;
-      var $577=(($576+$575)|0);
-      var $578=HEAPU8[($577)];
-      var $579=(($578)&255);
-      var $580=((((_family_5bpc+384)|0)+($579<<2))|0);
-      var $581=HEAP32[(($580)>>2)];
-      var $582=$2;
-      var $583=$3;
-      var $584=(($583+($582<<1))|0);
-      var $585=(($584-2)|0);
-      var $586=HEAPU16[(($585)>>1)];
-      var $587=(($586)&65535);
-      var $588=$587 & 31;
-      var $589=(($581+$588)|0);
-      var $590=$7;
-      var $591=$589 & $590;
-      var $592=$574 | $591;
-      var $593=(($592) & 65535);
-      var $594=$2;
-      var $595=$3;
-      var $596=(($595+($594<<1))|0);
-      HEAP16[(($596)>>1)]=$593;
-      var $597=$1;
-      var $598=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($597, $598);
-      __label__ = 27; break;
-    case 27: 
-      var $600=$2;
-      var $601=(($600+1)|0);
-      $2=$601;
-      __label__ = 25; break;
-    case 28: 
-      var $603=$stopidx;
-      var $604=$4;
-      var $605=(($603-$604)|0);
-      var $606=$1;
-      var $607=(($606+360)|0);
-      var $608=(($607+4)|0);
-      HEAP32[(($608)>>2)]=$605;
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb16_uncompress_row0_seg["X"]=1;
+        this.wm_trigger = besttrigtab[Math.floor(evol / 2)][wm];
+    },
 
-function _quic_rgb24_uncompress_row_seg($encoder, $prev_row, $cur_row, $i, $end, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $channel_r;
-      var $channel_g;
-      var $channel_b;
-      var $correlate_row_r;
-      var $correlate_row_g;
-      var $correlate_row_b;
-      var $waitmask;
-      var $stopidx;
-      var $run_index;
-      var $run_end;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$prev_row;
-      $3=$cur_row;
-      $4=$i;
-      $5=$end;
-      $6=$bpc;
-      $7=$bpc_mask;
-      var $8=$1;
-      var $9=(($8+56)|0);
-      var $10=(($9)|0);
-      $channel_r=$10;
-      var $11=$channel_r;
-      var $12=(($11+76)|0);
-      $channel_g=$12;
-      var $13=$channel_g;
-      var $14=(($13+76)|0);
-      $channel_b=$14;
-      var $15=$channel_r;
-      var $16=(($15+8)|0);
-      var $17=HEAP32[(($16)>>2)];
-      $correlate_row_r=$17;
-      var $18=$channel_g;
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      $correlate_row_g=$20;
-      var $21=$channel_b;
-      var $22=(($21+8)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $correlate_row_b=$23;
-      var $24=$1;
-      var $25=(($24+360)|0);
-      var $26=(($25+16)|0);
-      var $27=HEAP32[(($26)>>2)];
-      var $28=((_bppmask+($27<<2))|0);
-      var $29=HEAP32[(($28)>>2)];
-      $waitmask=$29;
-      $run_index=0;
-      __label__ = 2; break;
-    case 2: 
-      var $31=$5;
-      var $32=$4;
-      var $33=(($31-$32)|0);
-      var $34=(($33)|0) > 0;
-      if ($34) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $38=$_g_boolean_var_;
-      var $39=(($38)==(1));
-      var $40=(($39)|0)!=0;
-      if ($40) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str87)|0), ((STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $47=$4;
-      var $48=(($47)|0)!=0;
-      if ($48) { __label__ = 16; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $50=$channel_r;
-      var $51=$correlate_row_r;
-      var $52=(($51-1)|0);
-      var $53=HEAPU8[($52)];
-      var $54=(($53)&255);
-      var $55=_find_bucket_8bpc($50, $54);
-      var $56=(($55+4)|0);
-      var $57=HEAP32[(($56)>>2)];
-      var $58=$1;
-      var $59=(($58+32)|0);
-      var $60=HEAP32[(($59)>>2)];
-      var $61=_golomb_decoding_8bpc($57, $60, $codewordlen);
-      var $62=(($61) & 255);
-      var $63=$correlate_row_r;
-      var $64=(($63)|0);
-      HEAP8[($64)]=$62;
-      var $65=$correlate_row_r;
-      var $66=(($65)|0);
-      var $67=HEAPU8[($66)];
-      var $68=(($67)&255);
-      var $69=((((_family_8bpc+384)|0)+($68<<2))|0);
-      var $70=HEAP32[(($69)>>2)];
-      var $71=$2;
-      var $72=(($71+2)|0);
-      var $73=HEAPU8[($72)];
-      var $74=(($73)&255);
-      var $75=(($70+$74)|0);
-      var $76=$7;
-      var $77=$75 & $76;
-      var $78=(($77) & 255);
-      var $79=$3;
-      var $80=(($79)|0);
-      var $81=(($80+2)|0);
-      HEAP8[($81)]=$78;
-      var $82=$1;
-      var $83=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($82, $83);
-      var $84=$channel_g;
-      var $85=$correlate_row_g;
-      var $86=(($85-1)|0);
-      var $87=HEAPU8[($86)];
-      var $88=(($87)&255);
-      var $89=_find_bucket_8bpc($84, $88);
-      var $90=(($89+4)|0);
-      var $91=HEAP32[(($90)>>2)];
-      var $92=$1;
-      var $93=(($92+32)|0);
-      var $94=HEAP32[(($93)>>2)];
-      var $95=_golomb_decoding_8bpc($91, $94, $codewordlen);
-      var $96=(($95) & 255);
-      var $97=$correlate_row_g;
-      var $98=(($97)|0);
-      HEAP8[($98)]=$96;
-      var $99=$correlate_row_g;
-      var $100=(($99)|0);
-      var $101=HEAPU8[($100)];
-      var $102=(($101)&255);
-      var $103=((((_family_8bpc+384)|0)+($102<<2))|0);
-      var $104=HEAP32[(($103)>>2)];
-      var $105=$2;
-      var $106=(($105+1)|0);
-      var $107=HEAPU8[($106)];
-      var $108=(($107)&255);
-      var $109=(($104+$108)|0);
-      var $110=$7;
-      var $111=$109 & $110;
-      var $112=(($111) & 255);
-      var $113=$3;
-      var $114=(($113)|0);
-      var $115=(($114+1)|0);
-      HEAP8[($115)]=$112;
-      var $116=$1;
-      var $117=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($116, $117);
-      var $118=$channel_b;
-      var $119=$correlate_row_b;
-      var $120=(($119-1)|0);
-      var $121=HEAPU8[($120)];
-      var $122=(($121)&255);
-      var $123=_find_bucket_8bpc($118, $122);
-      var $124=(($123+4)|0);
-      var $125=HEAP32[(($124)>>2)];
-      var $126=$1;
-      var $127=(($126+32)|0);
-      var $128=HEAP32[(($127)>>2)];
-      var $129=_golomb_decoding_8bpc($125, $128, $codewordlen);
-      var $130=(($129) & 255);
-      var $131=$correlate_row_b;
-      var $132=(($131)|0);
-      HEAP8[($132)]=$130;
-      var $133=$correlate_row_b;
-      var $134=(($133)|0);
-      var $135=HEAPU8[($134)];
-      var $136=(($135)&255);
-      var $137=((((_family_8bpc+384)|0)+($136<<2))|0);
-      var $138=HEAP32[(($137)>>2)];
-      var $139=$2;
-      var $140=(($139)|0);
-      var $141=HEAPU8[($140)];
-      var $142=(($141)&255);
-      var $143=(($138+$142)|0);
-      var $144=$7;
-      var $145=$143 & $144;
-      var $146=(($145) & 255);
-      var $147=$3;
-      var $148=(($147)|0);
-      var $149=(($148)|0);
-      HEAP8[($149)]=$146;
-      var $150=$1;
-      var $151=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($150, $151);
-      var $152=$1;
-      var $153=(($152+360)|0);
-      var $154=(($153+4)|0);
-      var $155=HEAP32[(($154)>>2)];
-      var $156=(($155)|0)!=0;
-      if ($156) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $158=$1;
-      var $159=(($158+360)|0);
-      var $160=(($159+4)|0);
-      var $161=HEAP32[(($160)>>2)];
-      var $162=(($161-1)|0);
-      HEAP32[(($160)>>2)]=$162;
-      __label__ = 15; break;
-    case 14: 
-      var $164=$1;
-      var $165=(($164+360)|0);
-      var $166=(($165+8)|0);
-      var $167=_tabrand($166);
-      var $168=$waitmask;
-      var $169=$167 & $168;
-      var $170=$1;
-      var $171=(($170+360)|0);
-      var $172=(($171+4)|0);
-      HEAP32[(($172)>>2)]=$169;
-      var $173=$1;
-      var $174=(($173+360)|0);
-      var $175=$channel_r;
-      var $176=$correlate_row_r;
-      var $177=(($176-1)|0);
-      var $178=HEAPU8[($177)];
-      var $179=(($178)&255);
-      var $180=_find_bucket_8bpc($175, $179);
-      var $181=$correlate_row_r;
-      var $182=(($181)|0);
-      var $183=HEAP8[($182)];
-      var $184=$6;
-      _update_model_8bpc($174, $180, $183, $184);
-      var $185=$1;
-      var $186=(($185+360)|0);
-      var $187=$channel_g;
-      var $188=$correlate_row_g;
-      var $189=(($188-1)|0);
-      var $190=HEAPU8[($189)];
-      var $191=(($190)&255);
-      var $192=_find_bucket_8bpc($187, $191);
-      var $193=$correlate_row_g;
-      var $194=(($193)|0);
-      var $195=HEAP8[($194)];
-      var $196=$6;
-      _update_model_8bpc($186, $192, $195, $196);
-      var $197=$1;
-      var $198=(($197+360)|0);
-      var $199=$channel_b;
-      var $200=$correlate_row_b;
-      var $201=(($200-1)|0);
-      var $202=HEAPU8[($201)];
-      var $203=(($202)&255);
-      var $204=_find_bucket_8bpc($199, $203);
-      var $205=$correlate_row_b;
-      var $206=(($205)|0);
-      var $207=HEAP8[($206)];
-      var $208=$6;
-      _update_model_8bpc($198, $204, $207, $208);
-      __label__ = 15; break;
-    case 15: 
-      var $210=$4;
-      var $211=(($210+1)|0);
-      $4=$211;
-      var $212=$1;
-      var $213=(($212+360)|0);
-      var $214=(($213+4)|0);
-      var $215=HEAP32[(($214)>>2)];
-      var $216=(($211+$215)|0);
-      $stopidx=$216;
-      __label__ = 17; break;
-    case 16: 
-      var $218=$4;
-      var $219=$1;
-      var $220=(($219+360)|0);
-      var $221=(($220+4)|0);
-      var $222=HEAP32[(($221)>>2)];
-      var $223=(($218+$222)|0);
-      $stopidx=$223;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      var $227=$stopidx;
-      var $228=$5;
-      var $229=(($227)|0) < (($228)|0);
-      if ($229) { __label__ = 20; break; } else { __label__ = 35; break; }
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      var $232=$4;
-      var $233=$stopidx;
-      var $234=(($232)|0) <= (($233)|0);
-      if ($234) { __label__ = 22; break; } else { __label__ = 34; break; }
-    case 22: 
-      var $236=$4;
-      var $237=(($236-1)|0);
-      var $238=$2;
-      var $239=(($238+$237*3)|0);
-      var $240=(($239+2)|0);
-      var $241=HEAPU8[($240)];
-      var $242=(($241)&255);
-      var $243=$4;
-      var $244=$2;
-      var $245=(($244+$243*3)|0);
-      var $246=(($245+2)|0);
-      var $247=HEAPU8[($246)];
-      var $248=(($247)&255);
-      var $249=(($242)|0)==(($248)|0);
-      if ($249) { __label__ = 23; break; } else { __label__ = 32; break; }
-    case 23: 
-      var $251=$4;
-      var $252=(($251-1)|0);
-      var $253=$2;
-      var $254=(($253+$252*3)|0);
-      var $255=(($254+1)|0);
-      var $256=HEAPU8[($255)];
-      var $257=(($256)&255);
-      var $258=$4;
-      var $259=$2;
-      var $260=(($259+$258*3)|0);
-      var $261=(($260+1)|0);
-      var $262=HEAPU8[($261)];
-      var $263=(($262)&255);
-      var $264=(($257)|0)==(($263)|0);
-      if ($264) { __label__ = 24; break; } else { __label__ = 32; break; }
-    case 24: 
-      var $266=$4;
-      var $267=(($266-1)|0);
-      var $268=$2;
-      var $269=(($268+$267*3)|0);
-      var $270=(($269)|0);
-      var $271=HEAPU8[($270)];
-      var $272=(($271)&255);
-      var $273=$4;
-      var $274=$2;
-      var $275=(($274+$273*3)|0);
-      var $276=(($275)|0);
-      var $277=HEAPU8[($276)];
-      var $278=(($277)&255);
-      var $279=(($272)|0)==(($278)|0);
-      if ($279) { __label__ = 25; break; } else { __label__ = 32; break; }
-    case 25: 
-      var $281=$run_index;
-      var $282=$4;
-      var $283=(($281)|0)!=(($282)|0);
-      if ($283) { __label__ = 26; break; } else { __label__ = 31; break; }
-    case 26: 
-      var $285=$4;
-      var $286=(($285)|0) > 2;
-      if ($286) { __label__ = 27; break; } else { __label__ = 31; break; }
-    case 27: 
-      var $288=$4;
-      var $289=(($288-1)|0);
-      var $290=$3;
-      var $291=(($290+$289*3)|0);
-      var $292=(($291+2)|0);
-      var $293=HEAPU8[($292)];
-      var $294=(($293)&255);
-      var $295=$4;
-      var $296=(($295-2)|0);
-      var $297=$3;
-      var $298=(($297+$296*3)|0);
-      var $299=(($298+2)|0);
-      var $300=HEAPU8[($299)];
-      var $301=(($300)&255);
-      var $302=(($294)|0)==(($301)|0);
-      if ($302) { __label__ = 28; break; } else { __label__ = 31; break; }
-    case 28: 
-      var $304=$4;
-      var $305=(($304-1)|0);
-      var $306=$3;
-      var $307=(($306+$305*3)|0);
-      var $308=(($307+1)|0);
-      var $309=HEAPU8[($308)];
-      var $310=(($309)&255);
-      var $311=$4;
-      var $312=(($311-2)|0);
-      var $313=$3;
-      var $314=(($313+$312*3)|0);
-      var $315=(($314+1)|0);
-      var $316=HEAPU8[($315)];
-      var $317=(($316)&255);
-      var $318=(($310)|0)==(($317)|0);
-      if ($318) { __label__ = 29; break; } else { __label__ = 31; break; }
-    case 29: 
-      var $320=$4;
-      var $321=(($320-1)|0);
-      var $322=$3;
-      var $323=(($322+$321*3)|0);
-      var $324=(($323)|0);
-      var $325=HEAPU8[($324)];
-      var $326=(($325)&255);
-      var $327=$4;
-      var $328=(($327-2)|0);
-      var $329=$3;
-      var $330=(($329+$328*3)|0);
-      var $331=(($330)|0);
-      var $332=HEAPU8[($331)];
-      var $333=(($332)&255);
-      var $334=(($326)|0)==(($333)|0);
-      if ($334) { __label__ = 30; break; } else { __label__ = 31; break; }
-    case 30: 
-      __label__ = 50; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      var $338=$channel_r;
-      var $339=$4;
-      var $340=(($339-1)|0);
-      var $341=$correlate_row_r;
-      var $342=(($341+$340)|0);
-      var $343=HEAPU8[($342)];
-      var $344=(($343)&255);
-      var $345=_find_bucket_8bpc($338, $344);
-      var $346=(($345+4)|0);
-      var $347=HEAP32[(($346)>>2)];
-      var $348=$1;
-      var $349=(($348+32)|0);
-      var $350=HEAP32[(($349)>>2)];
-      var $351=_golomb_decoding_8bpc($347, $350, $codewordlen1);
-      var $352=(($351) & 255);
-      var $353=$4;
-      var $354=$correlate_row_r;
-      var $355=(($354+$353)|0);
-      HEAP8[($355)]=$352;
-      var $356=$4;
-      var $357=$correlate_row_r;
-      var $358=(($357+$356)|0);
-      var $359=HEAPU8[($358)];
-      var $360=(($359)&255);
-      var $361=((((_family_8bpc+384)|0)+($360<<2))|0);
-      var $362=HEAP32[(($361)>>2)];
-      var $363=$4;
-      var $364=$3;
-      var $365=(($364+$363*3)|0);
-      var $366=(($365-3)|0);
-      var $367=(($366+2)|0);
-      var $368=HEAPU8[($367)];
-      var $369=(($368)&255);
-      var $370=$4;
-      var $371=$2;
-      var $372=(($371+$370*3)|0);
-      var $373=(($372+2)|0);
-      var $374=HEAPU8[($373)];
-      var $375=(($374)&255);
-      var $376=(($369+$375)|0);
-      var $377=$376 >>> 1;
-      var $378=(($362+$377)|0);
-      var $379=$7;
-      var $380=$378 & $379;
-      var $381=(($380) & 255);
-      var $382=$4;
-      var $383=$3;
-      var $384=(($383+$382*3)|0);
-      var $385=(($384+2)|0);
-      HEAP8[($385)]=$381;
-      var $386=$1;
-      var $387=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($386, $387);
-      var $388=$channel_g;
-      var $389=$4;
-      var $390=(($389-1)|0);
-      var $391=$correlate_row_g;
-      var $392=(($391+$390)|0);
-      var $393=HEAPU8[($392)];
-      var $394=(($393)&255);
-      var $395=_find_bucket_8bpc($388, $394);
-      var $396=(($395+4)|0);
-      var $397=HEAP32[(($396)>>2)];
-      var $398=$1;
-      var $399=(($398+32)|0);
-      var $400=HEAP32[(($399)>>2)];
-      var $401=_golomb_decoding_8bpc($397, $400, $codewordlen1);
-      var $402=(($401) & 255);
-      var $403=$4;
-      var $404=$correlate_row_g;
-      var $405=(($404+$403)|0);
-      HEAP8[($405)]=$402;
-      var $406=$4;
-      var $407=$correlate_row_g;
-      var $408=(($407+$406)|0);
-      var $409=HEAPU8[($408)];
-      var $410=(($409)&255);
-      var $411=((((_family_8bpc+384)|0)+($410<<2))|0);
-      var $412=HEAP32[(($411)>>2)];
-      var $413=$4;
-      var $414=$3;
-      var $415=(($414+$413*3)|0);
-      var $416=(($415-3)|0);
-      var $417=(($416+1)|0);
-      var $418=HEAPU8[($417)];
-      var $419=(($418)&255);
-      var $420=$4;
-      var $421=$2;
-      var $422=(($421+$420*3)|0);
-      var $423=(($422+1)|0);
-      var $424=HEAPU8[($423)];
-      var $425=(($424)&255);
-      var $426=(($419+$425)|0);
-      var $427=$426 >>> 1;
-      var $428=(($412+$427)|0);
-      var $429=$7;
-      var $430=$428 & $429;
-      var $431=(($430) & 255);
-      var $432=$4;
-      var $433=$3;
-      var $434=(($433+$432*3)|0);
-      var $435=(($434+1)|0);
-      HEAP8[($435)]=$431;
-      var $436=$1;
-      var $437=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($436, $437);
-      var $438=$channel_b;
-      var $439=$4;
-      var $440=(($439-1)|0);
-      var $441=$correlate_row_b;
-      var $442=(($441+$440)|0);
-      var $443=HEAPU8[($442)];
-      var $444=(($443)&255);
-      var $445=_find_bucket_8bpc($438, $444);
-      var $446=(($445+4)|0);
-      var $447=HEAP32[(($446)>>2)];
-      var $448=$1;
-      var $449=(($448+32)|0);
-      var $450=HEAP32[(($449)>>2)];
-      var $451=_golomb_decoding_8bpc($447, $450, $codewordlen1);
-      var $452=(($451) & 255);
-      var $453=$4;
-      var $454=$correlate_row_b;
-      var $455=(($454+$453)|0);
-      HEAP8[($455)]=$452;
-      var $456=$4;
-      var $457=$correlate_row_b;
-      var $458=(($457+$456)|0);
-      var $459=HEAPU8[($458)];
-      var $460=(($459)&255);
-      var $461=((((_family_8bpc+384)|0)+($460<<2))|0);
-      var $462=HEAP32[(($461)>>2)];
-      var $463=$4;
-      var $464=$3;
-      var $465=(($464+$463*3)|0);
-      var $466=(($465-3)|0);
-      var $467=(($466)|0);
-      var $468=HEAPU8[($467)];
-      var $469=(($468)&255);
-      var $470=$4;
-      var $471=$2;
-      var $472=(($471+$470*3)|0);
-      var $473=(($472)|0);
-      var $474=HEAPU8[($473)];
-      var $475=(($474)&255);
-      var $476=(($469+$475)|0);
-      var $477=$476 >>> 1;
-      var $478=(($462+$477)|0);
-      var $479=$7;
-      var $480=$478 & $479;
-      var $481=(($480) & 255);
-      var $482=$4;
-      var $483=$3;
-      var $484=(($483+$482*3)|0);
-      var $485=(($484)|0);
-      HEAP8[($485)]=$481;
-      var $486=$1;
-      var $487=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($486, $487);
-      __label__ = 33; break;
-    case 33: 
-      var $489=$4;
-      var $490=(($489+1)|0);
-      $4=$490;
-      __label__ = 21; break;
-    case 34: 
-      var $492=$1;
-      var $493=(($492+360)|0);
-      var $494=$channel_r;
-      var $495=$stopidx;
-      var $496=(($495-1)|0);
-      var $497=$correlate_row_r;
-      var $498=(($497+$496)|0);
-      var $499=HEAPU8[($498)];
-      var $500=(($499)&255);
-      var $501=_find_bucket_8bpc($494, $500);
-      var $502=$stopidx;
-      var $503=$correlate_row_r;
-      var $504=(($503+$502)|0);
-      var $505=HEAP8[($504)];
-      var $506=$6;
-      _update_model_8bpc($493, $501, $505, $506);
-      var $507=$1;
-      var $508=(($507+360)|0);
-      var $509=$channel_g;
-      var $510=$stopidx;
-      var $511=(($510-1)|0);
-      var $512=$correlate_row_g;
-      var $513=(($512+$511)|0);
-      var $514=HEAPU8[($513)];
-      var $515=(($514)&255);
-      var $516=_find_bucket_8bpc($509, $515);
-      var $517=$stopidx;
-      var $518=$correlate_row_g;
-      var $519=(($518+$517)|0);
-      var $520=HEAP8[($519)];
-      var $521=$6;
-      _update_model_8bpc($508, $516, $520, $521);
-      var $522=$1;
-      var $523=(($522+360)|0);
-      var $524=$channel_b;
-      var $525=$stopidx;
-      var $526=(($525-1)|0);
-      var $527=$correlate_row_b;
-      var $528=(($527+$526)|0);
-      var $529=HEAPU8[($528)];
-      var $530=(($529)&255);
-      var $531=_find_bucket_8bpc($524, $530);
-      var $532=$stopidx;
-      var $533=$correlate_row_b;
-      var $534=(($533+$532)|0);
-      var $535=HEAP8[($534)];
-      var $536=$6;
-      _update_model_8bpc($523, $531, $535, $536);
-      var $537=$4;
-      var $538=$1;
-      var $539=(($538+360)|0);
-      var $540=(($539+8)|0);
-      var $541=_tabrand($540);
-      var $542=$waitmask;
-      var $543=$541 & $542;
-      var $544=(($537+$543)|0);
-      $stopidx=$544;
-      __label__ = 19; break;
-    case 35: 
-      __label__ = 36; break;
-    case 36: 
-      var $547=$4;
-      var $548=$5;
-      var $549=(($547)|0) < (($548)|0);
-      if ($549) { __label__ = 37; break; } else { __label__ = 49; break; }
-    case 37: 
-      var $551=$4;
-      var $552=(($551-1)|0);
-      var $553=$2;
-      var $554=(($553+$552*3)|0);
-      var $555=(($554+2)|0);
-      var $556=HEAPU8[($555)];
-      var $557=(($556)&255);
-      var $558=$4;
-      var $559=$2;
-      var $560=(($559+$558*3)|0);
-      var $561=(($560+2)|0);
-      var $562=HEAPU8[($561)];
-      var $563=(($562)&255);
-      var $564=(($557)|0)==(($563)|0);
-      if ($564) { __label__ = 38; break; } else { __label__ = 47; break; }
-    case 38: 
-      var $566=$4;
-      var $567=(($566-1)|0);
-      var $568=$2;
-      var $569=(($568+$567*3)|0);
-      var $570=(($569+1)|0);
-      var $571=HEAPU8[($570)];
-      var $572=(($571)&255);
-      var $573=$4;
-      var $574=$2;
-      var $575=(($574+$573*3)|0);
-      var $576=(($575+1)|0);
-      var $577=HEAPU8[($576)];
-      var $578=(($577)&255);
-      var $579=(($572)|0)==(($578)|0);
-      if ($579) { __label__ = 39; break; } else { __label__ = 47; break; }
-    case 39: 
-      var $581=$4;
-      var $582=(($581-1)|0);
-      var $583=$2;
-      var $584=(($583+$582*3)|0);
-      var $585=(($584)|0);
-      var $586=HEAPU8[($585)];
-      var $587=(($586)&255);
-      var $588=$4;
-      var $589=$2;
-      var $590=(($589+$588*3)|0);
-      var $591=(($590)|0);
-      var $592=HEAPU8[($591)];
-      var $593=(($592)&255);
-      var $594=(($587)|0)==(($593)|0);
-      if ($594) { __label__ = 40; break; } else { __label__ = 47; break; }
-    case 40: 
-      var $596=$run_index;
-      var $597=$4;
-      var $598=(($596)|0)!=(($597)|0);
-      if ($598) { __label__ = 41; break; } else { __label__ = 46; break; }
-    case 41: 
-      var $600=$4;
-      var $601=(($600)|0) > 2;
-      if ($601) { __label__ = 42; break; } else { __label__ = 46; break; }
-    case 42: 
-      var $603=$4;
-      var $604=(($603-1)|0);
-      var $605=$3;
-      var $606=(($605+$604*3)|0);
-      var $607=(($606+2)|0);
-      var $608=HEAPU8[($607)];
-      var $609=(($608)&255);
-      var $610=$4;
-      var $611=(($610-2)|0);
-      var $612=$3;
-      var $613=(($612+$611*3)|0);
-      var $614=(($613+2)|0);
-      var $615=HEAPU8[($614)];
-      var $616=(($615)&255);
-      var $617=(($609)|0)==(($616)|0);
-      if ($617) { __label__ = 43; break; } else { __label__ = 46; break; }
-    case 43: 
-      var $619=$4;
-      var $620=(($619-1)|0);
-      var $621=$3;
-      var $622=(($621+$620*3)|0);
-      var $623=(($622+1)|0);
-      var $624=HEAPU8[($623)];
-      var $625=(($624)&255);
-      var $626=$4;
-      var $627=(($626-2)|0);
-      var $628=$3;
-      var $629=(($628+$627*3)|0);
-      var $630=(($629+1)|0);
-      var $631=HEAPU8[($630)];
-      var $632=(($631)&255);
-      var $633=(($625)|0)==(($632)|0);
-      if ($633) { __label__ = 44; break; } else { __label__ = 46; break; }
-    case 44: 
-      var $635=$4;
-      var $636=(($635-1)|0);
-      var $637=$3;
-      var $638=(($637+$636*3)|0);
-      var $639=(($638)|0);
-      var $640=HEAPU8[($639)];
-      var $641=(($640)&255);
-      var $642=$4;
-      var $643=(($642-2)|0);
-      var $644=$3;
-      var $645=(($644+$643*3)|0);
-      var $646=(($645)|0);
-      var $647=HEAPU8[($646)];
-      var $648=(($647)&255);
-      var $649=(($641)|0)==(($648)|0);
-      if ($649) { __label__ = 45; break; } else { __label__ = 46; break; }
-    case 45: 
-      __label__ = 50; break;
-    case 46: 
-      __label__ = 47; break;
-    case 47: 
-      var $653=$channel_r;
-      var $654=$4;
-      var $655=(($654-1)|0);
-      var $656=$correlate_row_r;
-      var $657=(($656+$655)|0);
-      var $658=HEAPU8[($657)];
-      var $659=(($658)&255);
-      var $660=_find_bucket_8bpc($653, $659);
-      var $661=(($660+4)|0);
-      var $662=HEAP32[(($661)>>2)];
-      var $663=$1;
-      var $664=(($663+32)|0);
-      var $665=HEAP32[(($664)>>2)];
-      var $666=_golomb_decoding_8bpc($662, $665, $codewordlen2);
-      var $667=(($666) & 255);
-      var $668=$4;
-      var $669=$correlate_row_r;
-      var $670=(($669+$668)|0);
-      HEAP8[($670)]=$667;
-      var $671=$4;
-      var $672=$correlate_row_r;
-      var $673=(($672+$671)|0);
-      var $674=HEAPU8[($673)];
-      var $675=(($674)&255);
-      var $676=((((_family_8bpc+384)|0)+($675<<2))|0);
-      var $677=HEAP32[(($676)>>2)];
-      var $678=$4;
-      var $679=$3;
-      var $680=(($679+$678*3)|0);
-      var $681=(($680-3)|0);
-      var $682=(($681+2)|0);
-      var $683=HEAPU8[($682)];
-      var $684=(($683)&255);
-      var $685=$4;
-      var $686=$2;
-      var $687=(($686+$685*3)|0);
-      var $688=(($687+2)|0);
-      var $689=HEAPU8[($688)];
-      var $690=(($689)&255);
-      var $691=(($684+$690)|0);
-      var $692=$691 >>> 1;
-      var $693=(($677+$692)|0);
-      var $694=$7;
-      var $695=$693 & $694;
-      var $696=(($695) & 255);
-      var $697=$4;
-      var $698=$3;
-      var $699=(($698+$697*3)|0);
-      var $700=(($699+2)|0);
-      HEAP8[($700)]=$696;
-      var $701=$1;
-      var $702=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($701, $702);
-      var $703=$channel_g;
-      var $704=$4;
-      var $705=(($704-1)|0);
-      var $706=$correlate_row_g;
-      var $707=(($706+$705)|0);
-      var $708=HEAPU8[($707)];
-      var $709=(($708)&255);
-      var $710=_find_bucket_8bpc($703, $709);
-      var $711=(($710+4)|0);
-      var $712=HEAP32[(($711)>>2)];
-      var $713=$1;
-      var $714=(($713+32)|0);
-      var $715=HEAP32[(($714)>>2)];
-      var $716=_golomb_decoding_8bpc($712, $715, $codewordlen2);
-      var $717=(($716) & 255);
-      var $718=$4;
-      var $719=$correlate_row_g;
-      var $720=(($719+$718)|0);
-      HEAP8[($720)]=$717;
-      var $721=$4;
-      var $722=$correlate_row_g;
-      var $723=(($722+$721)|0);
-      var $724=HEAPU8[($723)];
-      var $725=(($724)&255);
-      var $726=((((_family_8bpc+384)|0)+($725<<2))|0);
-      var $727=HEAP32[(($726)>>2)];
-      var $728=$4;
-      var $729=$3;
-      var $730=(($729+$728*3)|0);
-      var $731=(($730-3)|0);
-      var $732=(($731+1)|0);
-      var $733=HEAPU8[($732)];
-      var $734=(($733)&255);
-      var $735=$4;
-      var $736=$2;
-      var $737=(($736+$735*3)|0);
-      var $738=(($737+1)|0);
-      var $739=HEAPU8[($738)];
-      var $740=(($739)&255);
-      var $741=(($734+$740)|0);
-      var $742=$741 >>> 1;
-      var $743=(($727+$742)|0);
-      var $744=$7;
-      var $745=$743 & $744;
-      var $746=(($745) & 255);
-      var $747=$4;
-      var $748=$3;
-      var $749=(($748+$747*3)|0);
-      var $750=(($749+1)|0);
-      HEAP8[($750)]=$746;
-      var $751=$1;
-      var $752=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($751, $752);
-      var $753=$channel_b;
-      var $754=$4;
-      var $755=(($754-1)|0);
-      var $756=$correlate_row_b;
-      var $757=(($756+$755)|0);
-      var $758=HEAPU8[($757)];
-      var $759=(($758)&255);
-      var $760=_find_bucket_8bpc($753, $759);
-      var $761=(($760+4)|0);
-      var $762=HEAP32[(($761)>>2)];
-      var $763=$1;
-      var $764=(($763+32)|0);
-      var $765=HEAP32[(($764)>>2)];
-      var $766=_golomb_decoding_8bpc($762, $765, $codewordlen2);
-      var $767=(($766) & 255);
-      var $768=$4;
-      var $769=$correlate_row_b;
-      var $770=(($769+$768)|0);
-      HEAP8[($770)]=$767;
-      var $771=$4;
-      var $772=$correlate_row_b;
-      var $773=(($772+$771)|0);
-      var $774=HEAPU8[($773)];
-      var $775=(($774)&255);
-      var $776=((((_family_8bpc+384)|0)+($775<<2))|0);
-      var $777=HEAP32[(($776)>>2)];
-      var $778=$4;
-      var $779=$3;
-      var $780=(($779+$778*3)|0);
-      var $781=(($780-3)|0);
-      var $782=(($781)|0);
-      var $783=HEAPU8[($782)];
-      var $784=(($783)&255);
-      var $785=$4;
-      var $786=$2;
-      var $787=(($786+$785*3)|0);
-      var $788=(($787)|0);
-      var $789=HEAPU8[($788)];
-      var $790=(($789)&255);
-      var $791=(($784+$790)|0);
-      var $792=$791 >>> 1;
-      var $793=(($777+$792)|0);
-      var $794=$7;
-      var $795=$793 & $794;
-      var $796=(($795) & 255);
-      var $797=$4;
-      var $798=$3;
-      var $799=(($798+$797*3)|0);
-      var $800=(($799)|0);
-      HEAP8[($800)]=$796;
-      var $801=$1;
-      var $802=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($801, $802);
-      __label__ = 48; break;
-    case 48: 
-      var $804=$4;
-      var $805=(($804+1)|0);
-      $4=$805;
-      __label__ = 36; break;
-    case 49: 
-      var $807=$stopidx;
-      var $808=$5;
-      var $809=(($807-$808)|0);
-      var $810=$1;
-      var $811=(($810+360)|0);
-      var $812=(($811+4)|0);
-      HEAP32[(($812)>>2)]=$809;
-      __label__ = 57; break;
-    case 50: 
-      var $814=$stopidx;
-      var $815=$4;
-      var $816=(($814-$815)|0);
-      var $817=$1;
-      var $818=(($817+360)|0);
-      var $819=(($818+4)|0);
-      HEAP32[(($819)>>2)]=$816;
-      var $820=$4;
-      $run_index=$820;
-      var $821=$4;
-      var $822=$1;
-      var $823=_decode_run($822);
-      var $824=(($821+$823)|0);
-      $run_end=$824;
-      __label__ = 51; break;
-    case 51: 
-      var $826=$4;
-      var $827=$run_end;
-      var $828=(($826)|0) < (($827)|0);
-      if ($828) { __label__ = 52; break; } else { __label__ = 54; break; }
-    case 52: 
-      var $830=$4;
-      var $831=(($830-1)|0);
-      var $832=$3;
-      var $833=(($832+$831*3)|0);
-      var $834=(($833+2)|0);
-      var $835=HEAP8[($834)];
-      var $836=$4;
-      var $837=$3;
-      var $838=(($837+$836*3)|0);
-      var $839=(($838+2)|0);
-      HEAP8[($839)]=$835;
-      var $840=$4;
-      var $841=(($840-1)|0);
-      var $842=$3;
-      var $843=(($842+$841*3)|0);
-      var $844=(($843+1)|0);
-      var $845=HEAP8[($844)];
-      var $846=$4;
-      var $847=$3;
-      var $848=(($847+$846*3)|0);
-      var $849=(($848+1)|0);
-      HEAP8[($849)]=$845;
-      var $850=$4;
-      var $851=(($850-1)|0);
-      var $852=$3;
-      var $853=(($852+$851*3)|0);
-      var $854=(($853)|0);
-      var $855=HEAP8[($854)];
-      var $856=$4;
-      var $857=$3;
-      var $858=(($857+$856*3)|0);
-      var $859=(($858)|0);
-      HEAP8[($859)]=$855;
-      __label__ = 53; break;
-    case 53: 
-      var $861=$4;
-      var $862=(($861+1)|0);
-      $4=$862;
-      __label__ = 51; break;
-    case 54: 
-      var $864=$4;
-      var $865=$5;
-      var $866=(($864)|0)==(($865)|0);
-      if ($866) { __label__ = 55; break; } else { __label__ = 56; break; }
-    case 55: 
-      __label__ = 57; break;
-    case 56: 
-      var $869=$4;
-      var $870=$1;
-      var $871=(($870+360)|0);
-      var $872=(($871+4)|0);
-      var $873=HEAP32[(($872)>>2)];
-      var $874=(($869+$873)|0);
-      $stopidx=$874;
-      __label__ = 18; break;
-    case 57: 
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb24_uncompress_row_seg["X"]=1;
+    reste : function()
+    {
+        this.waitcnt = 0;
+        this.tabrand_seed = 0x0ff;
+        this.wmidx = 0;
+        this.wmileft = wminext;
 
-function _quic_rgb24_uncompress_row0_seg($encoder, $i, $cur_row, $end, $waitmask, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $channel_r;
-      var $channel_g;
-      var $channel_b;
-      var $correlate_row_r;
-      var $correlate_row_g;
-      var $correlate_row_b;
-      var $stopidx;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$i;
-      $3=$cur_row;
-      $4=$end;
-      $5=$waitmask;
-      $6=$bpc;
-      $7=$bpc_mask;
-      var $8=$1;
-      var $9=(($8+56)|0);
-      var $10=(($9)|0);
-      $channel_r=$10;
-      var $11=$channel_r;
-      var $12=(($11+76)|0);
-      $channel_g=$12;
-      var $13=$channel_g;
-      var $14=(($13+76)|0);
-      $channel_b=$14;
-      var $15=$channel_r;
-      var $16=(($15+8)|0);
-      var $17=HEAP32[(($16)>>2)];
-      $correlate_row_r=$17;
-      var $18=$channel_g;
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      $correlate_row_g=$20;
-      var $21=$channel_b;
-      var $22=(($21+8)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $correlate_row_b=$23;
-      __label__ = 2; break;
-    case 2: 
-      var $25=$4;
-      var $26=$2;
-      var $27=(($25-$26)|0);
-      var $28=(($27)|0) > 0;
-      if ($28) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $32=$_g_boolean_var_;
-      var $33=(($32)==(1));
-      var $34=(($33)|0)!=0;
-      if ($34) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str91)|0), ((STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row0_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $41=$2;
-      var $42=(($41)|0)!=0;
-      if ($42) { __label__ = 16; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $44=$channel_r;
-      var $45=$correlate_row_r;
-      var $46=(($45-1)|0);
-      var $47=HEAPU8[($46)];
-      var $48=(($47)&255);
-      var $49=_find_bucket_8bpc($44, $48);
-      var $50=(($49+4)|0);
-      var $51=HEAP32[(($50)>>2)];
-      var $52=$1;
-      var $53=(($52+32)|0);
-      var $54=HEAP32[(($53)>>2)];
-      var $55=_golomb_decoding_8bpc($51, $54, $codewordlen);
-      var $56=(($55) & 255);
-      var $57=$correlate_row_r;
-      var $58=(($57)|0);
-      HEAP8[($58)]=$56;
-      var $59=$correlate_row_r;
-      var $60=(($59)|0);
-      var $61=HEAPU8[($60)];
-      var $62=(($61)&255);
-      var $63=((((_family_8bpc+384)|0)+($62<<2))|0);
-      var $64=HEAP32[(($63)>>2)];
-      var $65=(($64) & 255);
-      var $66=$3;
-      var $67=(($66)|0);
-      var $68=(($67+2)|0);
-      HEAP8[($68)]=$65;
-      var $69=$1;
-      var $70=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($69, $70);
-      var $71=$channel_g;
-      var $72=$correlate_row_g;
-      var $73=(($72-1)|0);
-      var $74=HEAPU8[($73)];
-      var $75=(($74)&255);
-      var $76=_find_bucket_8bpc($71, $75);
-      var $77=(($76+4)|0);
-      var $78=HEAP32[(($77)>>2)];
-      var $79=$1;
-      var $80=(($79+32)|0);
-      var $81=HEAP32[(($80)>>2)];
-      var $82=_golomb_decoding_8bpc($78, $81, $codewordlen);
-      var $83=(($82) & 255);
-      var $84=$correlate_row_g;
-      var $85=(($84)|0);
-      HEAP8[($85)]=$83;
-      var $86=$correlate_row_g;
-      var $87=(($86)|0);
-      var $88=HEAPU8[($87)];
-      var $89=(($88)&255);
-      var $90=((((_family_8bpc+384)|0)+($89<<2))|0);
-      var $91=HEAP32[(($90)>>2)];
-      var $92=(($91) & 255);
-      var $93=$3;
-      var $94=(($93)|0);
-      var $95=(($94+1)|0);
-      HEAP8[($95)]=$92;
-      var $96=$1;
-      var $97=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($96, $97);
-      var $98=$channel_b;
-      var $99=$correlate_row_b;
-      var $100=(($99-1)|0);
-      var $101=HEAPU8[($100)];
-      var $102=(($101)&255);
-      var $103=_find_bucket_8bpc($98, $102);
-      var $104=(($103+4)|0);
-      var $105=HEAP32[(($104)>>2)];
-      var $106=$1;
-      var $107=(($106+32)|0);
-      var $108=HEAP32[(($107)>>2)];
-      var $109=_golomb_decoding_8bpc($105, $108, $codewordlen);
-      var $110=(($109) & 255);
-      var $111=$correlate_row_b;
-      var $112=(($111)|0);
-      HEAP8[($112)]=$110;
-      var $113=$correlate_row_b;
-      var $114=(($113)|0);
-      var $115=HEAPU8[($114)];
-      var $116=(($115)&255);
-      var $117=((((_family_8bpc+384)|0)+($116<<2))|0);
-      var $118=HEAP32[(($117)>>2)];
-      var $119=(($118) & 255);
-      var $120=$3;
-      var $121=(($120)|0);
-      var $122=(($121)|0);
-      HEAP8[($122)]=$119;
-      var $123=$1;
-      var $124=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($123, $124);
-      var $125=$1;
-      var $126=(($125+360)|0);
-      var $127=(($126+4)|0);
-      var $128=HEAP32[(($127)>>2)];
-      var $129=(($128)|0)!=0;
-      if ($129) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $131=$1;
-      var $132=(($131+360)|0);
-      var $133=(($132+4)|0);
-      var $134=HEAP32[(($133)>>2)];
-      var $135=(($134-1)|0);
-      HEAP32[(($133)>>2)]=$135;
-      __label__ = 15; break;
-    case 14: 
-      var $137=$1;
-      var $138=(($137+360)|0);
-      var $139=(($138+8)|0);
-      var $140=_tabrand($139);
-      var $141=$5;
-      var $142=$140 & $141;
-      var $143=$1;
-      var $144=(($143+360)|0);
-      var $145=(($144+4)|0);
-      HEAP32[(($145)>>2)]=$142;
-      var $146=$1;
-      var $147=(($146+360)|0);
-      var $148=$channel_r;
-      var $149=$correlate_row_r;
-      var $150=(($149-1)|0);
-      var $151=HEAPU8[($150)];
-      var $152=(($151)&255);
-      var $153=_find_bucket_8bpc($148, $152);
-      var $154=$correlate_row_r;
-      var $155=(($154)|0);
-      var $156=HEAP8[($155)];
-      var $157=$6;
-      _update_model_8bpc($147, $153, $156, $157);
-      var $158=$1;
-      var $159=(($158+360)|0);
-      var $160=$channel_g;
-      var $161=$correlate_row_g;
-      var $162=(($161-1)|0);
-      var $163=HEAPU8[($162)];
-      var $164=(($163)&255);
-      var $165=_find_bucket_8bpc($160, $164);
-      var $166=$correlate_row_g;
-      var $167=(($166)|0);
-      var $168=HEAP8[($167)];
-      var $169=$6;
-      _update_model_8bpc($159, $165, $168, $169);
-      var $170=$1;
-      var $171=(($170+360)|0);
-      var $172=$channel_b;
-      var $173=$correlate_row_b;
-      var $174=(($173-1)|0);
-      var $175=HEAPU8[($174)];
-      var $176=(($175)&255);
-      var $177=_find_bucket_8bpc($172, $176);
-      var $178=$correlate_row_b;
-      var $179=(($178)|0);
-      var $180=HEAP8[($179)];
-      var $181=$6;
-      _update_model_8bpc($171, $177, $180, $181);
-      __label__ = 15; break;
-    case 15: 
-      var $183=$2;
-      var $184=(($183+1)|0);
-      $2=$184;
-      var $185=$1;
-      var $186=(($185+360)|0);
-      var $187=(($186+4)|0);
-      var $188=HEAP32[(($187)>>2)];
-      var $189=(($184+$188)|0);
-      $stopidx=$189;
-      __label__ = 17; break;
-    case 16: 
-      var $191=$2;
-      var $192=$1;
-      var $193=(($192+360)|0);
-      var $194=(($193+4)|0);
-      var $195=HEAP32[(($194)>>2)];
-      var $196=(($191+$195)|0);
-      $stopidx=$196;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      var $199=$stopidx;
-      var $200=$4;
-      var $201=(($199)|0) < (($200)|0);
-      if ($201) { __label__ = 19; break; } else { __label__ = 24; break; }
-    case 19: 
-      __label__ = 20; break;
-    case 20: 
-      var $204=$2;
-      var $205=$stopidx;
-      var $206=(($204)|0) <= (($205)|0);
-      if ($206) { __label__ = 21; break; } else { __label__ = 23; break; }
-    case 21: 
-      var $208=$channel_r;
-      var $209=$2;
-      var $210=(($209-1)|0);
-      var $211=$correlate_row_r;
-      var $212=(($211+$210)|0);
-      var $213=HEAPU8[($212)];
-      var $214=(($213)&255);
-      var $215=_find_bucket_8bpc($208, $214);
-      var $216=(($215+4)|0);
-      var $217=HEAP32[(($216)>>2)];
-      var $218=$1;
-      var $219=(($218+32)|0);
-      var $220=HEAP32[(($219)>>2)];
-      var $221=_golomb_decoding_8bpc($217, $220, $codewordlen1);
-      var $222=(($221) & 255);
-      var $223=$2;
-      var $224=$correlate_row_r;
-      var $225=(($224+$223)|0);
-      HEAP8[($225)]=$222;
-      var $226=$2;
-      var $227=$correlate_row_r;
-      var $228=(($227+$226)|0);
-      var $229=HEAPU8[($228)];
-      var $230=(($229)&255);
-      var $231=((((_family_8bpc+384)|0)+($230<<2))|0);
-      var $232=HEAP32[(($231)>>2)];
-      var $233=$2;
-      var $234=$3;
-      var $235=(($234+$233*3)|0);
-      var $236=(($235-3)|0);
-      var $237=(($236+2)|0);
-      var $238=HEAPU8[($237)];
-      var $239=(($238)&255);
-      var $240=(($232+$239)|0);
-      var $241=$7;
-      var $242=$240 & $241;
-      var $243=(($242) & 255);
-      var $244=$2;
-      var $245=$3;
-      var $246=(($245+$244*3)|0);
-      var $247=(($246+2)|0);
-      HEAP8[($247)]=$243;
-      var $248=$1;
-      var $249=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($248, $249);
-      var $250=$channel_g;
-      var $251=$2;
-      var $252=(($251-1)|0);
-      var $253=$correlate_row_g;
-      var $254=(($253+$252)|0);
-      var $255=HEAPU8[($254)];
-      var $256=(($255)&255);
-      var $257=_find_bucket_8bpc($250, $256);
-      var $258=(($257+4)|0);
-      var $259=HEAP32[(($258)>>2)];
-      var $260=$1;
-      var $261=(($260+32)|0);
-      var $262=HEAP32[(($261)>>2)];
-      var $263=_golomb_decoding_8bpc($259, $262, $codewordlen1);
-      var $264=(($263) & 255);
-      var $265=$2;
-      var $266=$correlate_row_g;
-      var $267=(($266+$265)|0);
-      HEAP8[($267)]=$264;
-      var $268=$2;
-      var $269=$correlate_row_g;
-      var $270=(($269+$268)|0);
-      var $271=HEAPU8[($270)];
-      var $272=(($271)&255);
-      var $273=((((_family_8bpc+384)|0)+($272<<2))|0);
-      var $274=HEAP32[(($273)>>2)];
-      var $275=$2;
-      var $276=$3;
-      var $277=(($276+$275*3)|0);
-      var $278=(($277-3)|0);
-      var $279=(($278+1)|0);
-      var $280=HEAPU8[($279)];
-      var $281=(($280)&255);
-      var $282=(($274+$281)|0);
-      var $283=$7;
-      var $284=$282 & $283;
-      var $285=(($284) & 255);
-      var $286=$2;
-      var $287=$3;
-      var $288=(($287+$286*3)|0);
-      var $289=(($288+1)|0);
-      HEAP8[($289)]=$285;
-      var $290=$1;
-      var $291=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($290, $291);
-      var $292=$channel_b;
-      var $293=$2;
-      var $294=(($293-1)|0);
-      var $295=$correlate_row_b;
-      var $296=(($295+$294)|0);
-      var $297=HEAPU8[($296)];
-      var $298=(($297)&255);
-      var $299=_find_bucket_8bpc($292, $298);
-      var $300=(($299+4)|0);
-      var $301=HEAP32[(($300)>>2)];
-      var $302=$1;
-      var $303=(($302+32)|0);
-      var $304=HEAP32[(($303)>>2)];
-      var $305=_golomb_decoding_8bpc($301, $304, $codewordlen1);
-      var $306=(($305) & 255);
-      var $307=$2;
-      var $308=$correlate_row_b;
-      var $309=(($308+$307)|0);
-      HEAP8[($309)]=$306;
-      var $310=$2;
-      var $311=$correlate_row_b;
-      var $312=(($311+$310)|0);
-      var $313=HEAPU8[($312)];
-      var $314=(($313)&255);
-      var $315=((((_family_8bpc+384)|0)+($314<<2))|0);
-      var $316=HEAP32[(($315)>>2)];
-      var $317=$2;
-      var $318=$3;
-      var $319=(($318+$317*3)|0);
-      var $320=(($319-3)|0);
-      var $321=(($320)|0);
-      var $322=HEAPU8[($321)];
-      var $323=(($322)&255);
-      var $324=(($316+$323)|0);
-      var $325=$7;
-      var $326=$324 & $325;
-      var $327=(($326) & 255);
-      var $328=$2;
-      var $329=$3;
-      var $330=(($329+$328*3)|0);
-      var $331=(($330)|0);
-      HEAP8[($331)]=$327;
-      var $332=$1;
-      var $333=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($332, $333);
-      __label__ = 22; break;
-    case 22: 
-      var $335=$2;
-      var $336=(($335+1)|0);
-      $2=$336;
-      __label__ = 20; break;
-    case 23: 
-      var $338=$1;
-      var $339=(($338+360)|0);
-      var $340=$channel_r;
-      var $341=$stopidx;
-      var $342=(($341-1)|0);
-      var $343=$correlate_row_r;
-      var $344=(($343+$342)|0);
-      var $345=HEAPU8[($344)];
-      var $346=(($345)&255);
-      var $347=_find_bucket_8bpc($340, $346);
-      var $348=$stopidx;
-      var $349=$correlate_row_r;
-      var $350=(($349+$348)|0);
-      var $351=HEAP8[($350)];
-      var $352=$6;
-      _update_model_8bpc($339, $347, $351, $352);
-      var $353=$1;
-      var $354=(($353+360)|0);
-      var $355=$channel_g;
-      var $356=$stopidx;
-      var $357=(($356-1)|0);
-      var $358=$correlate_row_g;
-      var $359=(($358+$357)|0);
-      var $360=HEAPU8[($359)];
-      var $361=(($360)&255);
-      var $362=_find_bucket_8bpc($355, $361);
-      var $363=$stopidx;
-      var $364=$correlate_row_g;
-      var $365=(($364+$363)|0);
-      var $366=HEAP8[($365)];
-      var $367=$6;
-      _update_model_8bpc($354, $362, $366, $367);
-      var $368=$1;
-      var $369=(($368+360)|0);
-      var $370=$channel_b;
-      var $371=$stopidx;
-      var $372=(($371-1)|0);
-      var $373=$correlate_row_b;
-      var $374=(($373+$372)|0);
-      var $375=HEAPU8[($374)];
-      var $376=(($375)&255);
-      var $377=_find_bucket_8bpc($370, $376);
-      var $378=$stopidx;
-      var $379=$correlate_row_b;
-      var $380=(($379+$378)|0);
-      var $381=HEAP8[($380)];
-      var $382=$6;
-      _update_model_8bpc($369, $377, $381, $382);
-      var $383=$2;
-      var $384=$1;
-      var $385=(($384+360)|0);
-      var $386=(($385+8)|0);
-      var $387=_tabrand($386);
-      var $388=$5;
-      var $389=$387 & $388;
-      var $390=(($383+$389)|0);
-      $stopidx=$390;
-      __label__ = 18; break;
-    case 24: 
-      __label__ = 25; break;
-    case 25: 
-      var $393=$2;
-      var $394=$4;
-      var $395=(($393)|0) < (($394)|0);
-      if ($395) { __label__ = 26; break; } else { __label__ = 28; break; }
-    case 26: 
-      var $397=$channel_r;
-      var $398=$2;
-      var $399=(($398-1)|0);
-      var $400=$correlate_row_r;
-      var $401=(($400+$399)|0);
-      var $402=HEAPU8[($401)];
-      var $403=(($402)&255);
-      var $404=_find_bucket_8bpc($397, $403);
-      var $405=(($404+4)|0);
-      var $406=HEAP32[(($405)>>2)];
-      var $407=$1;
-      var $408=(($407+32)|0);
-      var $409=HEAP32[(($408)>>2)];
-      var $410=_golomb_decoding_8bpc($406, $409, $codewordlen2);
-      var $411=(($410) & 255);
-      var $412=$2;
-      var $413=$correlate_row_r;
-      var $414=(($413+$412)|0);
-      HEAP8[($414)]=$411;
-      var $415=$2;
-      var $416=$correlate_row_r;
-      var $417=(($416+$415)|0);
-      var $418=HEAPU8[($417)];
-      var $419=(($418)&255);
-      var $420=((((_family_8bpc+384)|0)+($419<<2))|0);
-      var $421=HEAP32[(($420)>>2)];
-      var $422=$2;
-      var $423=$3;
-      var $424=(($423+$422*3)|0);
-      var $425=(($424-3)|0);
-      var $426=(($425+2)|0);
-      var $427=HEAPU8[($426)];
-      var $428=(($427)&255);
-      var $429=(($421+$428)|0);
-      var $430=$7;
-      var $431=$429 & $430;
-      var $432=(($431) & 255);
-      var $433=$2;
-      var $434=$3;
-      var $435=(($434+$433*3)|0);
-      var $436=(($435+2)|0);
-      HEAP8[($436)]=$432;
-      var $437=$1;
-      var $438=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($437, $438);
-      var $439=$channel_g;
-      var $440=$2;
-      var $441=(($440-1)|0);
-      var $442=$correlate_row_g;
-      var $443=(($442+$441)|0);
-      var $444=HEAPU8[($443)];
-      var $445=(($444)&255);
-      var $446=_find_bucket_8bpc($439, $445);
-      var $447=(($446+4)|0);
-      var $448=HEAP32[(($447)>>2)];
-      var $449=$1;
-      var $450=(($449+32)|0);
-      var $451=HEAP32[(($450)>>2)];
-      var $452=_golomb_decoding_8bpc($448, $451, $codewordlen2);
-      var $453=(($452) & 255);
-      var $454=$2;
-      var $455=$correlate_row_g;
-      var $456=(($455+$454)|0);
-      HEAP8[($456)]=$453;
-      var $457=$2;
-      var $458=$correlate_row_g;
-      var $459=(($458+$457)|0);
-      var $460=HEAPU8[($459)];
-      var $461=(($460)&255);
-      var $462=((((_family_8bpc+384)|0)+($461<<2))|0);
-      var $463=HEAP32[(($462)>>2)];
-      var $464=$2;
-      var $465=$3;
-      var $466=(($465+$464*3)|0);
-      var $467=(($466-3)|0);
-      var $468=(($467+1)|0);
-      var $469=HEAPU8[($468)];
-      var $470=(($469)&255);
-      var $471=(($463+$470)|0);
-      var $472=$7;
-      var $473=$471 & $472;
-      var $474=(($473) & 255);
-      var $475=$2;
-      var $476=$3;
-      var $477=(($476+$475*3)|0);
-      var $478=(($477+1)|0);
-      HEAP8[($478)]=$474;
-      var $479=$1;
-      var $480=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($479, $480);
-      var $481=$channel_b;
-      var $482=$2;
-      var $483=(($482-1)|0);
-      var $484=$correlate_row_b;
-      var $485=(($484+$483)|0);
-      var $486=HEAPU8[($485)];
-      var $487=(($486)&255);
-      var $488=_find_bucket_8bpc($481, $487);
-      var $489=(($488+4)|0);
-      var $490=HEAP32[(($489)>>2)];
-      var $491=$1;
-      var $492=(($491+32)|0);
-      var $493=HEAP32[(($492)>>2)];
-      var $494=_golomb_decoding_8bpc($490, $493, $codewordlen2);
-      var $495=(($494) & 255);
-      var $496=$2;
-      var $497=$correlate_row_b;
-      var $498=(($497+$496)|0);
-      HEAP8[($498)]=$495;
-      var $499=$2;
-      var $500=$correlate_row_b;
-      var $501=(($500+$499)|0);
-      var $502=HEAPU8[($501)];
-      var $503=(($502)&255);
-      var $504=((((_family_8bpc+384)|0)+($503<<2))|0);
-      var $505=HEAP32[(($504)>>2)];
-      var $506=$2;
-      var $507=$3;
-      var $508=(($507+$506*3)|0);
-      var $509=(($508-3)|0);
-      var $510=(($509)|0);
-      var $511=HEAPU8[($510)];
-      var $512=(($511)&255);
-      var $513=(($505+$512)|0);
-      var $514=$7;
-      var $515=$513 & $514;
-      var $516=(($515) & 255);
-      var $517=$2;
-      var $518=$3;
-      var $519=(($518+$517*3)|0);
-      var $520=(($519)|0);
-      HEAP8[($520)]=$516;
-      var $521=$1;
-      var $522=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($521, $522);
-      __label__ = 27; break;
-    case 27: 
-      var $524=$2;
-      var $525=(($524+1)|0);
-      $2=$525;
-      __label__ = 25; break;
-    case 28: 
-      var $527=$stopidx;
-      var $528=$4;
-      var $529=(($527-$528)|0);
-      var $530=$1;
-      var $531=(($530+360)|0);
-      var $532=(($531+4)|0);
-      HEAP32[(($532)>>2)]=$529;
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb24_uncompress_row0_seg["X"]=1;
+        this.set_wm_trigger();
 
-function _quic_rgb32_uncompress_row_seg($encoder, $prev_row, $cur_row, $i, $end, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $channel_r;
-      var $channel_g;
-      var $channel_b;
-      var $correlate_row_r;
-      var $correlate_row_g;
-      var $correlate_row_b;
-      var $waitmask;
-      var $stopidx;
-      var $run_index;
-      var $run_end;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$prev_row;
-      $3=$cur_row;
-      $4=$i;
-      $5=$end;
-      $6=$bpc;
-      $7=$bpc_mask;
-      var $8=$1;
-      var $9=(($8+56)|0);
-      var $10=(($9)|0);
-      $channel_r=$10;
-      var $11=$channel_r;
-      var $12=(($11+76)|0);
-      $channel_g=$12;
-      var $13=$channel_g;
-      var $14=(($13+76)|0);
-      $channel_b=$14;
-      var $15=$channel_r;
-      var $16=(($15+8)|0);
-      var $17=HEAP32[(($16)>>2)];
-      $correlate_row_r=$17;
-      var $18=$channel_g;
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      $correlate_row_g=$20;
-      var $21=$channel_b;
-      var $22=(($21+8)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $correlate_row_b=$23;
-      var $24=$1;
-      var $25=(($24+360)|0);
-      var $26=(($25+16)|0);
-      var $27=HEAP32[(($26)>>2)];
-      var $28=((_bppmask+($27<<2))|0);
-      var $29=HEAP32[(($28)>>2)];
-      $waitmask=$29;
-      $run_index=0;
-      __label__ = 2; break;
-    case 2: 
-      var $31=$5;
-      var $32=$4;
-      var $33=(($31-$32)|0);
-      var $34=(($33)|0) > 0;
-      if ($34) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $38=$_g_boolean_var_;
-      var $39=(($38)==(1));
-      var $40=(($39)|0)!=0;
-      if ($40) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str87)|0), ((STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $47=$4;
-      var $48=(($47)|0)!=0;
-      if ($48) { __label__ = 16; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $50=$4;
-      var $51=$3;
-      var $52=(($51+($50<<2))|0);
-      var $53=(($52+3)|0);
-      HEAP8[($53)]=0;
-      var $54=$channel_r;
-      var $55=$correlate_row_r;
-      var $56=(($55-1)|0);
-      var $57=HEAPU8[($56)];
-      var $58=(($57)&255);
-      var $59=_find_bucket_8bpc($54, $58);
-      var $60=(($59+4)|0);
-      var $61=HEAP32[(($60)>>2)];
-      var $62=$1;
-      var $63=(($62+32)|0);
-      var $64=HEAP32[(($63)>>2)];
-      var $65=_golomb_decoding_8bpc($61, $64, $codewordlen);
-      var $66=(($65) & 255);
-      var $67=$correlate_row_r;
-      var $68=(($67)|0);
-      HEAP8[($68)]=$66;
-      var $69=$correlate_row_r;
-      var $70=(($69)|0);
-      var $71=HEAPU8[($70)];
-      var $72=(($71)&255);
-      var $73=((((_family_8bpc+384)|0)+($72<<2))|0);
-      var $74=HEAP32[(($73)>>2)];
-      var $75=$2;
-      var $76=(($75+2)|0);
-      var $77=HEAPU8[($76)];
-      var $78=(($77)&255);
-      var $79=(($74+$78)|0);
-      var $80=$7;
-      var $81=$79 & $80;
-      var $82=(($81) & 255);
-      var $83=$3;
-      var $84=(($83)|0);
-      var $85=(($84+2)|0);
-      HEAP8[($85)]=$82;
-      var $86=$1;
-      var $87=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($86, $87);
-      var $88=$channel_g;
-      var $89=$correlate_row_g;
-      var $90=(($89-1)|0);
-      var $91=HEAPU8[($90)];
-      var $92=(($91)&255);
-      var $93=_find_bucket_8bpc($88, $92);
-      var $94=(($93+4)|0);
-      var $95=HEAP32[(($94)>>2)];
-      var $96=$1;
-      var $97=(($96+32)|0);
-      var $98=HEAP32[(($97)>>2)];
-      var $99=_golomb_decoding_8bpc($95, $98, $codewordlen);
-      var $100=(($99) & 255);
-      var $101=$correlate_row_g;
-      var $102=(($101)|0);
-      HEAP8[($102)]=$100;
-      var $103=$correlate_row_g;
-      var $104=(($103)|0);
-      var $105=HEAPU8[($104)];
-      var $106=(($105)&255);
-      var $107=((((_family_8bpc+384)|0)+($106<<2))|0);
-      var $108=HEAP32[(($107)>>2)];
-      var $109=$2;
-      var $110=(($109+1)|0);
-      var $111=HEAPU8[($110)];
-      var $112=(($111)&255);
-      var $113=(($108+$112)|0);
-      var $114=$7;
-      var $115=$113 & $114;
-      var $116=(($115) & 255);
-      var $117=$3;
-      var $118=(($117)|0);
-      var $119=(($118+1)|0);
-      HEAP8[($119)]=$116;
-      var $120=$1;
-      var $121=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($120, $121);
-      var $122=$channel_b;
-      var $123=$correlate_row_b;
-      var $124=(($123-1)|0);
-      var $125=HEAPU8[($124)];
-      var $126=(($125)&255);
-      var $127=_find_bucket_8bpc($122, $126);
-      var $128=(($127+4)|0);
-      var $129=HEAP32[(($128)>>2)];
-      var $130=$1;
-      var $131=(($130+32)|0);
-      var $132=HEAP32[(($131)>>2)];
-      var $133=_golomb_decoding_8bpc($129, $132, $codewordlen);
-      var $134=(($133) & 255);
-      var $135=$correlate_row_b;
-      var $136=(($135)|0);
-      HEAP8[($136)]=$134;
-      var $137=$correlate_row_b;
-      var $138=(($137)|0);
-      var $139=HEAPU8[($138)];
-      var $140=(($139)&255);
-      var $141=((((_family_8bpc+384)|0)+($140<<2))|0);
-      var $142=HEAP32[(($141)>>2)];
-      var $143=$2;
-      var $144=(($143)|0);
-      var $145=HEAPU8[($144)];
-      var $146=(($145)&255);
-      var $147=(($142+$146)|0);
-      var $148=$7;
-      var $149=$147 & $148;
-      var $150=(($149) & 255);
-      var $151=$3;
-      var $152=(($151)|0);
-      var $153=(($152)|0);
-      HEAP8[($153)]=$150;
-      var $154=$1;
-      var $155=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($154, $155);
-      var $156=$1;
-      var $157=(($156+360)|0);
-      var $158=(($157+4)|0);
-      var $159=HEAP32[(($158)>>2)];
-      var $160=(($159)|0)!=0;
-      if ($160) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $162=$1;
-      var $163=(($162+360)|0);
-      var $164=(($163+4)|0);
-      var $165=HEAP32[(($164)>>2)];
-      var $166=(($165-1)|0);
-      HEAP32[(($164)>>2)]=$166;
-      __label__ = 15; break;
-    case 14: 
-      var $168=$1;
-      var $169=(($168+360)|0);
-      var $170=(($169+8)|0);
-      var $171=_tabrand($170);
-      var $172=$waitmask;
-      var $173=$171 & $172;
-      var $174=$1;
-      var $175=(($174+360)|0);
-      var $176=(($175+4)|0);
-      HEAP32[(($176)>>2)]=$173;
-      var $177=$1;
-      var $178=(($177+360)|0);
-      var $179=$channel_r;
-      var $180=$correlate_row_r;
-      var $181=(($180-1)|0);
-      var $182=HEAPU8[($181)];
-      var $183=(($182)&255);
-      var $184=_find_bucket_8bpc($179, $183);
-      var $185=$correlate_row_r;
-      var $186=(($185)|0);
-      var $187=HEAP8[($186)];
-      var $188=$6;
-      _update_model_8bpc($178, $184, $187, $188);
-      var $189=$1;
-      var $190=(($189+360)|0);
-      var $191=$channel_g;
-      var $192=$correlate_row_g;
-      var $193=(($192-1)|0);
-      var $194=HEAPU8[($193)];
-      var $195=(($194)&255);
-      var $196=_find_bucket_8bpc($191, $195);
-      var $197=$correlate_row_g;
-      var $198=(($197)|0);
-      var $199=HEAP8[($198)];
-      var $200=$6;
-      _update_model_8bpc($190, $196, $199, $200);
-      var $201=$1;
-      var $202=(($201+360)|0);
-      var $203=$channel_b;
-      var $204=$correlate_row_b;
-      var $205=(($204-1)|0);
-      var $206=HEAPU8[($205)];
-      var $207=(($206)&255);
-      var $208=_find_bucket_8bpc($203, $207);
-      var $209=$correlate_row_b;
-      var $210=(($209)|0);
-      var $211=HEAP8[($210)];
-      var $212=$6;
-      _update_model_8bpc($202, $208, $211, $212);
-      __label__ = 15; break;
-    case 15: 
-      var $214=$4;
-      var $215=(($214+1)|0);
-      $4=$215;
-      var $216=$1;
-      var $217=(($216+360)|0);
-      var $218=(($217+4)|0);
-      var $219=HEAP32[(($218)>>2)];
-      var $220=(($215+$219)|0);
-      $stopidx=$220;
-      __label__ = 17; break;
-    case 16: 
-      var $222=$4;
-      var $223=$1;
-      var $224=(($223+360)|0);
-      var $225=(($224+4)|0);
-      var $226=HEAP32[(($225)>>2)];
-      var $227=(($222+$226)|0);
-      $stopidx=$227;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      __label__ = 19; break;
-    case 19: 
-      var $231=$stopidx;
-      var $232=$5;
-      var $233=(($231)|0) < (($232)|0);
-      if ($233) { __label__ = 20; break; } else { __label__ = 35; break; }
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      var $236=$4;
-      var $237=$stopidx;
-      var $238=(($236)|0) <= (($237)|0);
-      if ($238) { __label__ = 22; break; } else { __label__ = 34; break; }
-    case 22: 
-      var $240=$4;
-      var $241=(($240-1)|0);
-      var $242=$2;
-      var $243=(($242+($241<<2))|0);
-      var $244=(($243+2)|0);
-      var $245=HEAPU8[($244)];
-      var $246=(($245)&255);
-      var $247=$4;
-      var $248=$2;
-      var $249=(($248+($247<<2))|0);
-      var $250=(($249+2)|0);
-      var $251=HEAPU8[($250)];
-      var $252=(($251)&255);
-      var $253=(($246)|0)==(($252)|0);
-      if ($253) { __label__ = 23; break; } else { __label__ = 32; break; }
-    case 23: 
-      var $255=$4;
-      var $256=(($255-1)|0);
-      var $257=$2;
-      var $258=(($257+($256<<2))|0);
-      var $259=(($258+1)|0);
-      var $260=HEAPU8[($259)];
-      var $261=(($260)&255);
-      var $262=$4;
-      var $263=$2;
-      var $264=(($263+($262<<2))|0);
-      var $265=(($264+1)|0);
-      var $266=HEAPU8[($265)];
-      var $267=(($266)&255);
-      var $268=(($261)|0)==(($267)|0);
-      if ($268) { __label__ = 24; break; } else { __label__ = 32; break; }
-    case 24: 
-      var $270=$4;
-      var $271=(($270-1)|0);
-      var $272=$2;
-      var $273=(($272+($271<<2))|0);
-      var $274=(($273)|0);
-      var $275=HEAPU8[($274)];
-      var $276=(($275)&255);
-      var $277=$4;
-      var $278=$2;
-      var $279=(($278+($277<<2))|0);
-      var $280=(($279)|0);
-      var $281=HEAPU8[($280)];
-      var $282=(($281)&255);
-      var $283=(($276)|0)==(($282)|0);
-      if ($283) { __label__ = 25; break; } else { __label__ = 32; break; }
-    case 25: 
-      var $285=$run_index;
-      var $286=$4;
-      var $287=(($285)|0)!=(($286)|0);
-      if ($287) { __label__ = 26; break; } else { __label__ = 31; break; }
-    case 26: 
-      var $289=$4;
-      var $290=(($289)|0) > 2;
-      if ($290) { __label__ = 27; break; } else { __label__ = 31; break; }
-    case 27: 
-      var $292=$4;
-      var $293=(($292-1)|0);
-      var $294=$3;
-      var $295=(($294+($293<<2))|0);
-      var $296=(($295+2)|0);
-      var $297=HEAPU8[($296)];
-      var $298=(($297)&255);
-      var $299=$4;
-      var $300=(($299-2)|0);
-      var $301=$3;
-      var $302=(($301+($300<<2))|0);
-      var $303=(($302+2)|0);
-      var $304=HEAPU8[($303)];
-      var $305=(($304)&255);
-      var $306=(($298)|0)==(($305)|0);
-      if ($306) { __label__ = 28; break; } else { __label__ = 31; break; }
-    case 28: 
-      var $308=$4;
-      var $309=(($308-1)|0);
-      var $310=$3;
-      var $311=(($310+($309<<2))|0);
-      var $312=(($311+1)|0);
-      var $313=HEAPU8[($312)];
-      var $314=(($313)&255);
-      var $315=$4;
-      var $316=(($315-2)|0);
-      var $317=$3;
-      var $318=(($317+($316<<2))|0);
-      var $319=(($318+1)|0);
-      var $320=HEAPU8[($319)];
-      var $321=(($320)&255);
-      var $322=(($314)|0)==(($321)|0);
-      if ($322) { __label__ = 29; break; } else { __label__ = 31; break; }
-    case 29: 
-      var $324=$4;
-      var $325=(($324-1)|0);
-      var $326=$3;
-      var $327=(($326+($325<<2))|0);
-      var $328=(($327)|0);
-      var $329=HEAPU8[($328)];
-      var $330=(($329)&255);
-      var $331=$4;
-      var $332=(($331-2)|0);
-      var $333=$3;
-      var $334=(($333+($332<<2))|0);
-      var $335=(($334)|0);
-      var $336=HEAPU8[($335)];
-      var $337=(($336)&255);
-      var $338=(($330)|0)==(($337)|0);
-      if ($338) { __label__ = 30; break; } else { __label__ = 31; break; }
-    case 30: 
-      __label__ = 50; break;
-    case 31: 
-      __label__ = 32; break;
-    case 32: 
-      var $342=$4;
-      var $343=$3;
-      var $344=(($343+($342<<2))|0);
-      var $345=(($344+3)|0);
-      HEAP8[($345)]=0;
-      var $346=$channel_r;
-      var $347=$4;
-      var $348=(($347-1)|0);
-      var $349=$correlate_row_r;
-      var $350=(($349+$348)|0);
-      var $351=HEAPU8[($350)];
-      var $352=(($351)&255);
-      var $353=_find_bucket_8bpc($346, $352);
-      var $354=(($353+4)|0);
-      var $355=HEAP32[(($354)>>2)];
-      var $356=$1;
-      var $357=(($356+32)|0);
-      var $358=HEAP32[(($357)>>2)];
-      var $359=_golomb_decoding_8bpc($355, $358, $codewordlen1);
-      var $360=(($359) & 255);
-      var $361=$4;
-      var $362=$correlate_row_r;
-      var $363=(($362+$361)|0);
-      HEAP8[($363)]=$360;
-      var $364=$4;
-      var $365=$correlate_row_r;
-      var $366=(($365+$364)|0);
-      var $367=HEAPU8[($366)];
-      var $368=(($367)&255);
-      var $369=((((_family_8bpc+384)|0)+($368<<2))|0);
-      var $370=HEAP32[(($369)>>2)];
-      var $371=$4;
-      var $372=$3;
-      var $373=(($372+($371<<2))|0);
-      var $374=(($373-4)|0);
-      var $375=(($374+2)|0);
-      var $376=HEAPU8[($375)];
-      var $377=(($376)&255);
-      var $378=$4;
-      var $379=$2;
-      var $380=(($379+($378<<2))|0);
-      var $381=(($380+2)|0);
-      var $382=HEAPU8[($381)];
-      var $383=(($382)&255);
-      var $384=(($377+$383)|0);
-      var $385=$384 >>> 1;
-      var $386=(($370+$385)|0);
-      var $387=$7;
-      var $388=$386 & $387;
-      var $389=(($388) & 255);
-      var $390=$4;
-      var $391=$3;
-      var $392=(($391+($390<<2))|0);
-      var $393=(($392+2)|0);
-      HEAP8[($393)]=$389;
-      var $394=$1;
-      var $395=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($394, $395);
-      var $396=$channel_g;
-      var $397=$4;
-      var $398=(($397-1)|0);
-      var $399=$correlate_row_g;
-      var $400=(($399+$398)|0);
-      var $401=HEAPU8[($400)];
-      var $402=(($401)&255);
-      var $403=_find_bucket_8bpc($396, $402);
-      var $404=(($403+4)|0);
-      var $405=HEAP32[(($404)>>2)];
-      var $406=$1;
-      var $407=(($406+32)|0);
-      var $408=HEAP32[(($407)>>2)];
-      var $409=_golomb_decoding_8bpc($405, $408, $codewordlen1);
-      var $410=(($409) & 255);
-      var $411=$4;
-      var $412=$correlate_row_g;
-      var $413=(($412+$411)|0);
-      HEAP8[($413)]=$410;
-      var $414=$4;
-      var $415=$correlate_row_g;
-      var $416=(($415+$414)|0);
-      var $417=HEAPU8[($416)];
-      var $418=(($417)&255);
-      var $419=((((_family_8bpc+384)|0)+($418<<2))|0);
-      var $420=HEAP32[(($419)>>2)];
-      var $421=$4;
-      var $422=$3;
-      var $423=(($422+($421<<2))|0);
-      var $424=(($423-4)|0);
-      var $425=(($424+1)|0);
-      var $426=HEAPU8[($425)];
-      var $427=(($426)&255);
-      var $428=$4;
-      var $429=$2;
-      var $430=(($429+($428<<2))|0);
-      var $431=(($430+1)|0);
-      var $432=HEAPU8[($431)];
-      var $433=(($432)&255);
-      var $434=(($427+$433)|0);
-      var $435=$434 >>> 1;
-      var $436=(($420+$435)|0);
-      var $437=$7;
-      var $438=$436 & $437;
-      var $439=(($438) & 255);
-      var $440=$4;
-      var $441=$3;
-      var $442=(($441+($440<<2))|0);
-      var $443=(($442+1)|0);
-      HEAP8[($443)]=$439;
-      var $444=$1;
-      var $445=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($444, $445);
-      var $446=$channel_b;
-      var $447=$4;
-      var $448=(($447-1)|0);
-      var $449=$correlate_row_b;
-      var $450=(($449+$448)|0);
-      var $451=HEAPU8[($450)];
-      var $452=(($451)&255);
-      var $453=_find_bucket_8bpc($446, $452);
-      var $454=(($453+4)|0);
-      var $455=HEAP32[(($454)>>2)];
-      var $456=$1;
-      var $457=(($456+32)|0);
-      var $458=HEAP32[(($457)>>2)];
-      var $459=_golomb_decoding_8bpc($455, $458, $codewordlen1);
-      var $460=(($459) & 255);
-      var $461=$4;
-      var $462=$correlate_row_b;
-      var $463=(($462+$461)|0);
-      HEAP8[($463)]=$460;
-      var $464=$4;
-      var $465=$correlate_row_b;
-      var $466=(($465+$464)|0);
-      var $467=HEAPU8[($466)];
-      var $468=(($467)&255);
-      var $469=((((_family_8bpc+384)|0)+($468<<2))|0);
-      var $470=HEAP32[(($469)>>2)];
-      var $471=$4;
-      var $472=$3;
-      var $473=(($472+($471<<2))|0);
-      var $474=(($473-4)|0);
-      var $475=(($474)|0);
-      var $476=HEAPU8[($475)];
-      var $477=(($476)&255);
-      var $478=$4;
-      var $479=$2;
-      var $480=(($479+($478<<2))|0);
-      var $481=(($480)|0);
-      var $482=HEAPU8[($481)];
-      var $483=(($482)&255);
-      var $484=(($477+$483)|0);
-      var $485=$484 >>> 1;
-      var $486=(($470+$485)|0);
-      var $487=$7;
-      var $488=$486 & $487;
-      var $489=(($488) & 255);
-      var $490=$4;
-      var $491=$3;
-      var $492=(($491+($490<<2))|0);
-      var $493=(($492)|0);
-      HEAP8[($493)]=$489;
-      var $494=$1;
-      var $495=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($494, $495);
-      __label__ = 33; break;
-    case 33: 
-      var $497=$4;
-      var $498=(($497+1)|0);
-      $4=$498;
-      __label__ = 21; break;
-    case 34: 
-      var $500=$1;
-      var $501=(($500+360)|0);
-      var $502=$channel_r;
-      var $503=$stopidx;
-      var $504=(($503-1)|0);
-      var $505=$correlate_row_r;
-      var $506=(($505+$504)|0);
-      var $507=HEAPU8[($506)];
-      var $508=(($507)&255);
-      var $509=_find_bucket_8bpc($502, $508);
-      var $510=$stopidx;
-      var $511=$correlate_row_r;
-      var $512=(($511+$510)|0);
-      var $513=HEAP8[($512)];
-      var $514=$6;
-      _update_model_8bpc($501, $509, $513, $514);
-      var $515=$1;
-      var $516=(($515+360)|0);
-      var $517=$channel_g;
-      var $518=$stopidx;
-      var $519=(($518-1)|0);
-      var $520=$correlate_row_g;
-      var $521=(($520+$519)|0);
-      var $522=HEAPU8[($521)];
-      var $523=(($522)&255);
-      var $524=_find_bucket_8bpc($517, $523);
-      var $525=$stopidx;
-      var $526=$correlate_row_g;
-      var $527=(($526+$525)|0);
-      var $528=HEAP8[($527)];
-      var $529=$6;
-      _update_model_8bpc($516, $524, $528, $529);
-      var $530=$1;
-      var $531=(($530+360)|0);
-      var $532=$channel_b;
-      var $533=$stopidx;
-      var $534=(($533-1)|0);
-      var $535=$correlate_row_b;
-      var $536=(($535+$534)|0);
-      var $537=HEAPU8[($536)];
-      var $538=(($537)&255);
-      var $539=_find_bucket_8bpc($532, $538);
-      var $540=$stopidx;
-      var $541=$correlate_row_b;
-      var $542=(($541+$540)|0);
-      var $543=HEAP8[($542)];
-      var $544=$6;
-      _update_model_8bpc($531, $539, $543, $544);
-      var $545=$4;
-      var $546=$1;
-      var $547=(($546+360)|0);
-      var $548=(($547+8)|0);
-      var $549=_tabrand($548);
-      var $550=$waitmask;
-      var $551=$549 & $550;
-      var $552=(($545+$551)|0);
-      $stopidx=$552;
-      __label__ = 19; break;
-    case 35: 
-      __label__ = 36; break;
-    case 36: 
-      var $555=$4;
-      var $556=$5;
-      var $557=(($555)|0) < (($556)|0);
-      if ($557) { __label__ = 37; break; } else { __label__ = 49; break; }
-    case 37: 
-      var $559=$4;
-      var $560=(($559-1)|0);
-      var $561=$2;
-      var $562=(($561+($560<<2))|0);
-      var $563=(($562+2)|0);
-      var $564=HEAPU8[($563)];
-      var $565=(($564)&255);
-      var $566=$4;
-      var $567=$2;
-      var $568=(($567+($566<<2))|0);
-      var $569=(($568+2)|0);
-      var $570=HEAPU8[($569)];
-      var $571=(($570)&255);
-      var $572=(($565)|0)==(($571)|0);
-      if ($572) { __label__ = 38; break; } else { __label__ = 47; break; }
-    case 38: 
-      var $574=$4;
-      var $575=(($574-1)|0);
-      var $576=$2;
-      var $577=(($576+($575<<2))|0);
-      var $578=(($577+1)|0);
-      var $579=HEAPU8[($578)];
-      var $580=(($579)&255);
-      var $581=$4;
-      var $582=$2;
-      var $583=(($582+($581<<2))|0);
-      var $584=(($583+1)|0);
-      var $585=HEAPU8[($584)];
-      var $586=(($585)&255);
-      var $587=(($580)|0)==(($586)|0);
-      if ($587) { __label__ = 39; break; } else { __label__ = 47; break; }
-    case 39: 
-      var $589=$4;
-      var $590=(($589-1)|0);
-      var $591=$2;
-      var $592=(($591+($590<<2))|0);
-      var $593=(($592)|0);
-      var $594=HEAPU8[($593)];
-      var $595=(($594)&255);
-      var $596=$4;
-      var $597=$2;
-      var $598=(($597+($596<<2))|0);
-      var $599=(($598)|0);
-      var $600=HEAPU8[($599)];
-      var $601=(($600)&255);
-      var $602=(($595)|0)==(($601)|0);
-      if ($602) { __label__ = 40; break; } else { __label__ = 47; break; }
-    case 40: 
-      var $604=$run_index;
-      var $605=$4;
-      var $606=(($604)|0)!=(($605)|0);
-      if ($606) { __label__ = 41; break; } else { __label__ = 46; break; }
-    case 41: 
-      var $608=$4;
-      var $609=(($608)|0) > 2;
-      if ($609) { __label__ = 42; break; } else { __label__ = 46; break; }
-    case 42: 
-      var $611=$4;
-      var $612=(($611-1)|0);
-      var $613=$3;
-      var $614=(($613+($612<<2))|0);
-      var $615=(($614+2)|0);
-      var $616=HEAPU8[($615)];
-      var $617=(($616)&255);
-      var $618=$4;
-      var $619=(($618-2)|0);
-      var $620=$3;
-      var $621=(($620+($619<<2))|0);
-      var $622=(($621+2)|0);
-      var $623=HEAPU8[($622)];
-      var $624=(($623)&255);
-      var $625=(($617)|0)==(($624)|0);
-      if ($625) { __label__ = 43; break; } else { __label__ = 46; break; }
-    case 43: 
-      var $627=$4;
-      var $628=(($627-1)|0);
-      var $629=$3;
-      var $630=(($629+($628<<2))|0);
-      var $631=(($630+1)|0);
-      var $632=HEAPU8[($631)];
-      var $633=(($632)&255);
-      var $634=$4;
-      var $635=(($634-2)|0);
-      var $636=$3;
-      var $637=(($636+($635<<2))|0);
-      var $638=(($637+1)|0);
-      var $639=HEAPU8[($638)];
-      var $640=(($639)&255);
-      var $641=(($633)|0)==(($640)|0);
-      if ($641) { __label__ = 44; break; } else { __label__ = 46; break; }
-    case 44: 
-      var $643=$4;
-      var $644=(($643-1)|0);
-      var $645=$3;
-      var $646=(($645+($644<<2))|0);
-      var $647=(($646)|0);
-      var $648=HEAPU8[($647)];
-      var $649=(($648)&255);
-      var $650=$4;
-      var $651=(($650-2)|0);
-      var $652=$3;
-      var $653=(($652+($651<<2))|0);
-      var $654=(($653)|0);
-      var $655=HEAPU8[($654)];
-      var $656=(($655)&255);
-      var $657=(($649)|0)==(($656)|0);
-      if ($657) { __label__ = 45; break; } else { __label__ = 46; break; }
-    case 45: 
-      __label__ = 50; break;
-    case 46: 
-      __label__ = 47; break;
-    case 47: 
-      var $661=$4;
-      var $662=$3;
-      var $663=(($662+($661<<2))|0);
-      var $664=(($663+3)|0);
-      HEAP8[($664)]=0;
-      var $665=$channel_r;
-      var $666=$4;
-      var $667=(($666-1)|0);
-      var $668=$correlate_row_r;
-      var $669=(($668+$667)|0);
-      var $670=HEAPU8[($669)];
-      var $671=(($670)&255);
-      var $672=_find_bucket_8bpc($665, $671);
-      var $673=(($672+4)|0);
-      var $674=HEAP32[(($673)>>2)];
-      var $675=$1;
-      var $676=(($675+32)|0);
-      var $677=HEAP32[(($676)>>2)];
-      var $678=_golomb_decoding_8bpc($674, $677, $codewordlen2);
-      var $679=(($678) & 255);
-      var $680=$4;
-      var $681=$correlate_row_r;
-      var $682=(($681+$680)|0);
-      HEAP8[($682)]=$679;
-      var $683=$4;
-      var $684=$correlate_row_r;
-      var $685=(($684+$683)|0);
-      var $686=HEAPU8[($685)];
-      var $687=(($686)&255);
-      var $688=((((_family_8bpc+384)|0)+($687<<2))|0);
-      var $689=HEAP32[(($688)>>2)];
-      var $690=$4;
-      var $691=$3;
-      var $692=(($691+($690<<2))|0);
-      var $693=(($692-4)|0);
-      var $694=(($693+2)|0);
-      var $695=HEAPU8[($694)];
-      var $696=(($695)&255);
-      var $697=$4;
-      var $698=$2;
-      var $699=(($698+($697<<2))|0);
-      var $700=(($699+2)|0);
-      var $701=HEAPU8[($700)];
-      var $702=(($701)&255);
-      var $703=(($696+$702)|0);
-      var $704=$703 >>> 1;
-      var $705=(($689+$704)|0);
-      var $706=$7;
-      var $707=$705 & $706;
-      var $708=(($707) & 255);
-      var $709=$4;
-      var $710=$3;
-      var $711=(($710+($709<<2))|0);
-      var $712=(($711+2)|0);
-      HEAP8[($712)]=$708;
-      var $713=$1;
-      var $714=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($713, $714);
-      var $715=$channel_g;
-      var $716=$4;
-      var $717=(($716-1)|0);
-      var $718=$correlate_row_g;
-      var $719=(($718+$717)|0);
-      var $720=HEAPU8[($719)];
-      var $721=(($720)&255);
-      var $722=_find_bucket_8bpc($715, $721);
-      var $723=(($722+4)|0);
-      var $724=HEAP32[(($723)>>2)];
-      var $725=$1;
-      var $726=(($725+32)|0);
-      var $727=HEAP32[(($726)>>2)];
-      var $728=_golomb_decoding_8bpc($724, $727, $codewordlen2);
-      var $729=(($728) & 255);
-      var $730=$4;
-      var $731=$correlate_row_g;
-      var $732=(($731+$730)|0);
-      HEAP8[($732)]=$729;
-      var $733=$4;
-      var $734=$correlate_row_g;
-      var $735=(($734+$733)|0);
-      var $736=HEAPU8[($735)];
-      var $737=(($736)&255);
-      var $738=((((_family_8bpc+384)|0)+($737<<2))|0);
-      var $739=HEAP32[(($738)>>2)];
-      var $740=$4;
-      var $741=$3;
-      var $742=(($741+($740<<2))|0);
-      var $743=(($742-4)|0);
-      var $744=(($743+1)|0);
-      var $745=HEAPU8[($744)];
-      var $746=(($745)&255);
-      var $747=$4;
-      var $748=$2;
-      var $749=(($748+($747<<2))|0);
-      var $750=(($749+1)|0);
-      var $751=HEAPU8[($750)];
-      var $752=(($751)&255);
-      var $753=(($746+$752)|0);
-      var $754=$753 >>> 1;
-      var $755=(($739+$754)|0);
-      var $756=$7;
-      var $757=$755 & $756;
-      var $758=(($757) & 255);
-      var $759=$4;
-      var $760=$3;
-      var $761=(($760+($759<<2))|0);
-      var $762=(($761+1)|0);
-      HEAP8[($762)]=$758;
-      var $763=$1;
-      var $764=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($763, $764);
-      var $765=$channel_b;
-      var $766=$4;
-      var $767=(($766-1)|0);
-      var $768=$correlate_row_b;
-      var $769=(($768+$767)|0);
-      var $770=HEAPU8[($769)];
-      var $771=(($770)&255);
-      var $772=_find_bucket_8bpc($765, $771);
-      var $773=(($772+4)|0);
-      var $774=HEAP32[(($773)>>2)];
-      var $775=$1;
-      var $776=(($775+32)|0);
-      var $777=HEAP32[(($776)>>2)];
-      var $778=_golomb_decoding_8bpc($774, $777, $codewordlen2);
-      var $779=(($778) & 255);
-      var $780=$4;
-      var $781=$correlate_row_b;
-      var $782=(($781+$780)|0);
-      HEAP8[($782)]=$779;
-      var $783=$4;
-      var $784=$correlate_row_b;
-      var $785=(($784+$783)|0);
-      var $786=HEAPU8[($785)];
-      var $787=(($786)&255);
-      var $788=((((_family_8bpc+384)|0)+($787<<2))|0);
-      var $789=HEAP32[(($788)>>2)];
-      var $790=$4;
-      var $791=$3;
-      var $792=(($791+($790<<2))|0);
-      var $793=(($792-4)|0);
-      var $794=(($793)|0);
-      var $795=HEAPU8[($794)];
-      var $796=(($795)&255);
-      var $797=$4;
-      var $798=$2;
-      var $799=(($798+($797<<2))|0);
-      var $800=(($799)|0);
-      var $801=HEAPU8[($800)];
-      var $802=(($801)&255);
-      var $803=(($796+$802)|0);
-      var $804=$803 >>> 1;
-      var $805=(($789+$804)|0);
-      var $806=$7;
-      var $807=$805 & $806;
-      var $808=(($807) & 255);
-      var $809=$4;
-      var $810=$3;
-      var $811=(($810+($809<<2))|0);
-      var $812=(($811)|0);
-      HEAP8[($812)]=$808;
-      var $813=$1;
-      var $814=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($813, $814);
-      __label__ = 48; break;
-    case 48: 
-      var $816=$4;
-      var $817=(($816+1)|0);
-      $4=$817;
-      __label__ = 36; break;
-    case 49: 
-      var $819=$stopidx;
-      var $820=$5;
-      var $821=(($819-$820)|0);
-      var $822=$1;
-      var $823=(($822+360)|0);
-      var $824=(($823+4)|0);
-      HEAP32[(($824)>>2)]=$821;
-      __label__ = 57; break;
-    case 50: 
-      var $826=$stopidx;
-      var $827=$4;
-      var $828=(($826-$827)|0);
-      var $829=$1;
-      var $830=(($829+360)|0);
-      var $831=(($830+4)|0);
-      HEAP32[(($831)>>2)]=$828;
-      var $832=$4;
-      $run_index=$832;
-      var $833=$4;
-      var $834=$1;
-      var $835=_decode_run($834);
-      var $836=(($833+$835)|0);
-      $run_end=$836;
-      __label__ = 51; break;
-    case 51: 
-      var $838=$4;
-      var $839=$run_end;
-      var $840=(($838)|0) < (($839)|0);
-      if ($840) { __label__ = 52; break; } else { __label__ = 54; break; }
-    case 52: 
-      var $842=$4;
-      var $843=$3;
-      var $844=(($843+($842<<2))|0);
-      var $845=(($844+3)|0);
-      HEAP8[($845)]=0;
-      var $846=$4;
-      var $847=(($846-1)|0);
-      var $848=$3;
-      var $849=(($848+($847<<2))|0);
-      var $850=(($849+2)|0);
-      var $851=HEAP8[($850)];
-      var $852=$4;
-      var $853=$3;
-      var $854=(($853+($852<<2))|0);
-      var $855=(($854+2)|0);
-      HEAP8[($855)]=$851;
-      var $856=$4;
-      var $857=(($856-1)|0);
-      var $858=$3;
-      var $859=(($858+($857<<2))|0);
-      var $860=(($859+1)|0);
-      var $861=HEAP8[($860)];
-      var $862=$4;
-      var $863=$3;
-      var $864=(($863+($862<<2))|0);
-      var $865=(($864+1)|0);
-      HEAP8[($865)]=$861;
-      var $866=$4;
-      var $867=(($866-1)|0);
-      var $868=$3;
-      var $869=(($868+($867<<2))|0);
-      var $870=(($869)|0);
-      var $871=HEAP8[($870)];
-      var $872=$4;
-      var $873=$3;
-      var $874=(($873+($872<<2))|0);
-      var $875=(($874)|0);
-      HEAP8[($875)]=$871;
-      __label__ = 53; break;
-    case 53: 
-      var $877=$4;
-      var $878=(($877+1)|0);
-      $4=$878;
-      __label__ = 51; break;
-    case 54: 
-      var $880=$4;
-      var $881=$5;
-      var $882=(($880)|0)==(($881)|0);
-      if ($882) { __label__ = 55; break; } else { __label__ = 56; break; }
-    case 55: 
-      __label__ = 57; break;
-    case 56: 
-      var $885=$4;
-      var $886=$1;
-      var $887=(($886+360)|0);
-      var $888=(($887+4)|0);
-      var $889=HEAP32[(($888)>>2)];
-      var $890=(($885+$889)|0);
-      $stopidx=$890;
-      __label__ = 18; break;
-    case 57: 
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb32_uncompress_row_seg["X"]=1;
+        this.melcstate = 0;
+        this.melclen = J[0];
+        this.melcorder = 1 << this.melclen;
+    },
 
-function _stabrand() {
-  ;
-  var __label__;
-
-  ;
-  return 255;
+    tabrand : function()
+    {
+        this.tabrand_seed++;
+        return tabrand_chaos[this.tabrand_seed & 0x0ff];
+    }
 }
 
 
-function _encoder_init_rle($state) {
-  ;
-  var __label__;
-
-  var $1;
-  $1=$state;
-  var $2=$1;
-  var $3=(($2+24)|0);
-  HEAP32[(($3)>>2)]=0;
-  var $4=HEAP32[((((_J)|0))>>2)];
-  var $5=$1;
-  var $6=(($5+28)|0);
-  HEAP32[(($6)>>2)]=$4;
-  var $7=$1;
-  var $8=(($7+28)|0);
-  var $9=HEAP32[(($8)>>2)];
-  var $10=1 << $9;
-  var $11=$1;
-  var $12=(($11+32)|0);
-  HEAP32[(($12)>>2)]=$10;
-  ;
-  return;
+function QuicEncoder()
+{
+    this.rgb_state = new CommonState;
+    this.model_8bpc = new QuicModel(8);
+    this.model_5bpc = new QuicModel(5);
+
+    var i;
+    for (i = 0; i < 4; i++) {
+        this.channels[i] = new QuicChannel(this.model_8bpc, this.model_5bpc);
+        if (!this.channels[i])
+        {
+            console.log("quic: failed to create channel");
+            return undefined;
+        }
+    }
 }
 
+QuicEncoder.prototype = {
+                    type: 0,
+                    width: 0,
+                    height: 0,
+                    io_idx: 0,
+                    io_available_bits: 0,
+                    io_word: 0,
+                    io_next_word: 0,
+                    io_now: 0,
+                    io_end: 0,
+                    rows_completed: 0,
+                    channels: []
+              };
+
+QuicEncoder.prototype.reste = function(io_ptr)
+{
+    this.rgb_state.reste();
 
-function _quic_rgb32_uncompress_row0_seg($encoder, $i, $cur_row, $end, $waitmask, $bpc, $bpc_mask) {
-  var __stackBase__  = STACKTOP; STACKTOP += 12; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $5;
-      var $6;
-      var $7;
-      var $channel_r;
-      var $channel_g;
-      var $channel_b;
-      var $correlate_row_r;
-      var $correlate_row_g;
-      var $correlate_row_b;
-      var $stopidx;
-      var $_g_boolean_var_;
-      var $codewordlen=__stackBase__;
-      var $codewordlen1=__stackBase__+4;
-      var $codewordlen2=__stackBase__+8;
-      $1=$encoder;
-      $2=$i;
-      $3=$cur_row;
-      $4=$end;
-      $5=$waitmask;
-      $6=$bpc;
-      $7=$bpc_mask;
-      var $8=$1;
-      var $9=(($8+56)|0);
-      var $10=(($9)|0);
-      $channel_r=$10;
-      var $11=$channel_r;
-      var $12=(($11+76)|0);
-      $channel_g=$12;
-      var $13=$channel_g;
-      var $14=(($13+76)|0);
-      $channel_b=$14;
-      var $15=$channel_r;
-      var $16=(($15+8)|0);
-      var $17=HEAP32[(($16)>>2)];
-      $correlate_row_r=$17;
-      var $18=$channel_g;
-      var $19=(($18+8)|0);
-      var $20=HEAP32[(($19)>>2)];
-      $correlate_row_g=$20;
-      var $21=$channel_b;
-      var $22=(($21+8)|0);
-      var $23=HEAP32[(($22)>>2)];
-      $correlate_row_b=$23;
-      __label__ = 2; break;
-    case 2: 
-      var $25=$4;
-      var $26=$2;
-      var $27=(($25-$26)|0);
-      var $28=(($27)|0) > 0;
-      if ($28) { __label__ = 3; break; } else { __label__ = 4; break; }
-    case 3: 
-      $_g_boolean_var_=1;
-      __label__ = 5; break;
-    case 4: 
-      $_g_boolean_var_=0;
-      __label__ = 5; break;
-    case 5: 
-      var $32=$_g_boolean_var_;
-      var $33=(($32)==(1));
-      var $34=(($33)|0)!=0;
-      if ($34) { __label__ = 6; break; } else { __label__ = 7; break; }
-    case 6: 
-      __label__ = 10; break;
-    case 7: 
-      __label__ = 8; break;
-    case 8: 
-      _spice_log(((STRING_TABLE.__str)|0), 0, ((STRING_TABLE.__str91)|0), ((STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row0_seg)|0), ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str68)|0),tempInt));
-      __label__ = 9; break;
-    case 9: 
-      __label__ = 10; break;
-    case 10: 
-      __label__ = 11; break;
-    case 11: 
-      var $41=$2;
-      var $42=(($41)|0)!=0;
-      if ($42) { __label__ = 16; break; } else { __label__ = 12; break; }
-    case 12: 
-      var $44=$2;
-      var $45=$3;
-      var $46=(($45+($44<<2))|0);
-      var $47=(($46+3)|0);
-      HEAP8[($47)]=0;
-      var $48=$channel_r;
-      var $49=$correlate_row_r;
-      var $50=(($49-1)|0);
-      var $51=HEAPU8[($50)];
-      var $52=(($51)&255);
-      var $53=_find_bucket_8bpc($48, $52);
-      var $54=(($53+4)|0);
-      var $55=HEAP32[(($54)>>2)];
-      var $56=$1;
-      var $57=(($56+32)|0);
-      var $58=HEAP32[(($57)>>2)];
-      var $59=_golomb_decoding_8bpc($55, $58, $codewordlen);
-      var $60=(($59) & 255);
-      var $61=$correlate_row_r;
-      var $62=(($61)|0);
-      HEAP8[($62)]=$60;
-      var $63=$correlate_row_r;
-      var $64=(($63)|0);
-      var $65=HEAPU8[($64)];
-      var $66=(($65)&255);
-      var $67=((((_family_8bpc+384)|0)+($66<<2))|0);
-      var $68=HEAP32[(($67)>>2)];
-      var $69=(($68) & 255);
-      var $70=$3;
-      var $71=(($70)|0);
-      var $72=(($71+2)|0);
-      HEAP8[($72)]=$69;
-      var $73=$1;
-      var $74=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($73, $74);
-      var $75=$channel_g;
-      var $76=$correlate_row_g;
-      var $77=(($76-1)|0);
-      var $78=HEAPU8[($77)];
-      var $79=(($78)&255);
-      var $80=_find_bucket_8bpc($75, $79);
-      var $81=(($80+4)|0);
-      var $82=HEAP32[(($81)>>2)];
-      var $83=$1;
-      var $84=(($83+32)|0);
-      var $85=HEAP32[(($84)>>2)];
-      var $86=_golomb_decoding_8bpc($82, $85, $codewordlen);
-      var $87=(($86) & 255);
-      var $88=$correlate_row_g;
-      var $89=(($88)|0);
-      HEAP8[($89)]=$87;
-      var $90=$correlate_row_g;
-      var $91=(($90)|0);
-      var $92=HEAPU8[($91)];
-      var $93=(($92)&255);
-      var $94=((((_family_8bpc+384)|0)+($93<<2))|0);
-      var $95=HEAP32[(($94)>>2)];
-      var $96=(($95) & 255);
-      var $97=$3;
-      var $98=(($97)|0);
-      var $99=(($98+1)|0);
-      HEAP8[($99)]=$96;
-      var $100=$1;
-      var $101=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($100, $101);
-      var $102=$channel_b;
-      var $103=$correlate_row_b;
-      var $104=(($103-1)|0);
-      var $105=HEAPU8[($104)];
-      var $106=(($105)&255);
-      var $107=_find_bucket_8bpc($102, $106);
-      var $108=(($107+4)|0);
-      var $109=HEAP32[(($108)>>2)];
-      var $110=$1;
-      var $111=(($110+32)|0);
-      var $112=HEAP32[(($111)>>2)];
-      var $113=_golomb_decoding_8bpc($109, $112, $codewordlen);
-      var $114=(($113) & 255);
-      var $115=$correlate_row_b;
-      var $116=(($115)|0);
-      HEAP8[($116)]=$114;
-      var $117=$correlate_row_b;
-      var $118=(($117)|0);
-      var $119=HEAPU8[($118)];
-      var $120=(($119)&255);
-      var $121=((((_family_8bpc+384)|0)+($120<<2))|0);
-      var $122=HEAP32[(($121)>>2)];
-      var $123=(($122) & 255);
-      var $124=$3;
-      var $125=(($124)|0);
-      var $126=(($125)|0);
-      HEAP8[($126)]=$123;
-      var $127=$1;
-      var $128=HEAP32[(($codewordlen)>>2)];
-      _decode_eatbits($127, $128);
-      var $129=$1;
-      var $130=(($129+360)|0);
-      var $131=(($130+4)|0);
-      var $132=HEAP32[(($131)>>2)];
-      var $133=(($132)|0)!=0;
-      if ($133) { __label__ = 13; break; } else { __label__ = 14; break; }
-    case 13: 
-      var $135=$1;
-      var $136=(($135+360)|0);
-      var $137=(($136+4)|0);
-      var $138=HEAP32[(($137)>>2)];
-      var $139=(($138-1)|0);
-      HEAP32[(($137)>>2)]=$139;
-      __label__ = 15; break;
-    case 14: 
-      var $141=$1;
-      var $142=(($141+360)|0);
-      var $143=(($142+8)|0);
-      var $144=_tabrand($143);
-      var $145=$5;
-      var $146=$144 & $145;
-      var $147=$1;
-      var $148=(($147+360)|0);
-      var $149=(($148+4)|0);
-      HEAP32[(($149)>>2)]=$146;
-      var $150=$1;
-      var $151=(($150+360)|0);
-      var $152=$channel_r;
-      var $153=$correlate_row_r;
-      var $154=(($153-1)|0);
-      var $155=HEAPU8[($154)];
-      var $156=(($155)&255);
-      var $157=_find_bucket_8bpc($152, $156);
-      var $158=$correlate_row_r;
-      var $159=(($158)|0);
-      var $160=HEAP8[($159)];
-      var $161=$6;
-      _update_model_8bpc($151, $157, $160, $161);
-      var $162=$1;
-      var $163=(($162+360)|0);
-      var $164=$channel_g;
-      var $165=$correlate_row_g;
-      var $166=(($165-1)|0);
-      var $167=HEAPU8[($166)];
-      var $168=(($167)&255);
-      var $169=_find_bucket_8bpc($164, $168);
-      var $170=$correlate_row_g;
-      var $171=(($170)|0);
-      var $172=HEAP8[($171)];
-      var $173=$6;
-      _update_model_8bpc($163, $169, $172, $173);
-      var $174=$1;
-      var $175=(($174+360)|0);
-      var $176=$channel_b;
-      var $177=$correlate_row_b;
-      var $178=(($177-1)|0);
-      var $179=HEAPU8[($178)];
-      var $180=(($179)&255);
-      var $181=_find_bucket_8bpc($176, $180);
-      var $182=$correlate_row_b;
-      var $183=(($182)|0);
-      var $184=HEAP8[($183)];
-      var $185=$6;
-      _update_model_8bpc($175, $181, $184, $185);
-      __label__ = 15; break;
-    case 15: 
-      var $187=$2;
-      var $188=(($187+1)|0);
-      $2=$188;
-      var $189=$1;
-      var $190=(($189+360)|0);
-      var $191=(($190+4)|0);
-      var $192=HEAP32[(($191)>>2)];
-      var $193=(($188+$192)|0);
-      $stopidx=$193;
-      __label__ = 17; break;
-    case 16: 
-      var $195=$2;
-      var $196=$1;
-      var $197=(($196+360)|0);
-      var $198=(($197+4)|0);
-      var $199=HEAP32[(($198)>>2)];
-      var $200=(($195+$199)|0);
-      $stopidx=$200;
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break;
-    case 18: 
-      var $203=$stopidx;
-      var $204=$4;
-      var $205=(($203)|0) < (($204)|0);
-      if ($205) { __label__ = 19; break; } else { __label__ = 24; break; }
-    case 19: 
-      __label__ = 20; break;
-    case 20: 
-      var $208=$2;
-      var $209=$stopidx;
-      var $210=(($208)|0) <= (($209)|0);
-      if ($210) { __label__ = 21; break; } else { __label__ = 23; break; }
-    case 21: 
-      var $212=$2;
-      var $213=$3;
-      var $214=(($213+($212<<2))|0);
-      var $215=(($214+3)|0);
-      HEAP8[($215)]=0;
-      var $216=$channel_r;
-      var $217=$2;
-      var $218=(($217-1)|0);
-      var $219=$correlate_row_r;
-      var $220=(($219+$218)|0);
-      var $221=HEAPU8[($220)];
-      var $222=(($221)&255);
-      var $223=_find_bucket_8bpc($216, $222);
-      var $224=(($223+4)|0);
-      var $225=HEAP32[(($224)>>2)];
-      var $226=$1;
-      var $227=(($226+32)|0);
-      var $228=HEAP32[(($227)>>2)];
-      var $229=_golomb_decoding_8bpc($225, $228, $codewordlen1);
-      var $230=(($229) & 255);
-      var $231=$2;
-      var $232=$correlate_row_r;
-      var $233=(($232+$231)|0);
-      HEAP8[($233)]=$230;
-      var $234=$2;
-      var $235=$correlate_row_r;
-      var $236=(($235+$234)|0);
-      var $237=HEAPU8[($236)];
-      var $238=(($237)&255);
-      var $239=((((_family_8bpc+384)|0)+($238<<2))|0);
-      var $240=HEAP32[(($239)>>2)];
-      var $241=$2;
-      var $242=$3;
-      var $243=(($242+($241<<2))|0);
-      var $244=(($243-4)|0);
-      var $245=(($244+2)|0);
-      var $246=HEAPU8[($245)];
-      var $247=(($246)&255);
-      var $248=(($240+$247)|0);
-      var $249=$7;
-      var $250=$248 & $249;
-      var $251=(($250) & 255);
-      var $252=$2;
-      var $253=$3;
-      var $254=(($253+($252<<2))|0);
-      var $255=(($254+2)|0);
-      HEAP8[($255)]=$251;
-      var $256=$1;
-      var $257=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($256, $257);
-      var $258=$channel_g;
-      var $259=$2;
-      var $260=(($259-1)|0);
-      var $261=$correlate_row_g;
-      var $262=(($261+$260)|0);
-      var $263=HEAPU8[($262)];
-      var $264=(($263)&255);
-      var $265=_find_bucket_8bpc($258, $264);
-      var $266=(($265+4)|0);
-      var $267=HEAP32[(($266)>>2)];
-      var $268=$1;
-      var $269=(($268+32)|0);
-      var $270=HEAP32[(($269)>>2)];
-      var $271=_golomb_decoding_8bpc($267, $270, $codewordlen1);
-      var $272=(($271) & 255);
-      var $273=$2;
-      var $274=$correlate_row_g;
-      var $275=(($274+$273)|0);
-      HEAP8[($275)]=$272;
-      var $276=$2;
-      var $277=$correlate_row_g;
-      var $278=(($277+$276)|0);
-      var $279=HEAPU8[($278)];
-      var $280=(($279)&255);
-      var $281=((((_family_8bpc+384)|0)+($280<<2))|0);
-      var $282=HEAP32[(($281)>>2)];
-      var $283=$2;
-      var $284=$3;
-      var $285=(($284+($283<<2))|0);
-      var $286=(($285-4)|0);
-      var $287=(($286+1)|0);
-      var $288=HEAPU8[($287)];
-      var $289=(($288)&255);
-      var $290=(($282+$289)|0);
-      var $291=$7;
-      var $292=$290 & $291;
-      var $293=(($292) & 255);
-      var $294=$2;
-      var $295=$3;
-      var $296=(($295+($294<<2))|0);
-      var $297=(($296+1)|0);
-      HEAP8[($297)]=$293;
-      var $298=$1;
-      var $299=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($298, $299);
-      var $300=$channel_b;
-      var $301=$2;
-      var $302=(($301-1)|0);
-      var $303=$correlate_row_b;
-      var $304=(($303+$302)|0);
-      var $305=HEAPU8[($304)];
-      var $306=(($305)&255);
-      var $307=_find_bucket_8bpc($300, $306);
-      var $308=(($307+4)|0);
-      var $309=HEAP32[(($308)>>2)];
-      var $310=$1;
-      var $311=(($310+32)|0);
-      var $312=HEAP32[(($311)>>2)];
-      var $313=_golomb_decoding_8bpc($309, $312, $codewordlen1);
-      var $314=(($313) & 255);
-      var $315=$2;
-      var $316=$correlate_row_b;
-      var $317=(($316+$315)|0);
-      HEAP8[($317)]=$314;
-      var $318=$2;
-      var $319=$correlate_row_b;
-      var $320=(($319+$318)|0);
-      var $321=HEAPU8[($320)];
-      var $322=(($321)&255);
-      var $323=((((_family_8bpc+384)|0)+($322<<2))|0);
-      var $324=HEAP32[(($323)>>2)];
-      var $325=$2;
-      var $326=$3;
-      var $327=(($326+($325<<2))|0);
-      var $328=(($327-4)|0);
-      var $329=(($328)|0);
-      var $330=HEAPU8[($329)];
-      var $331=(($330)&255);
-      var $332=(($324+$331)|0);
-      var $333=$7;
-      var $334=$332 & $333;
-      var $335=(($334) & 255);
-      var $336=$2;
-      var $337=$3;
-      var $338=(($337+($336<<2))|0);
-      var $339=(($338)|0);
-      HEAP8[($339)]=$335;
-      var $340=$1;
-      var $341=HEAP32[(($codewordlen1)>>2)];
-      _decode_eatbits($340, $341);
-      __label__ = 22; break;
-    case 22: 
-      var $343=$2;
-      var $344=(($343+1)|0);
-      $2=$344;
-      __label__ = 20; break;
-    case 23: 
-      var $346=$1;
-      var $347=(($346+360)|0);
-      var $348=$channel_r;
-      var $349=$stopidx;
-      var $350=(($349-1)|0);
-      var $351=$correlate_row_r;
-      var $352=(($351+$350)|0);
-      var $353=HEAPU8[($352)];
-      var $354=(($353)&255);
-      var $355=_find_bucket_8bpc($348, $354);
-      var $356=$stopidx;
-      var $357=$correlate_row_r;
-      var $358=(($357+$356)|0);
-      var $359=HEAP8[($358)];
-      var $360=$6;
-      _update_model_8bpc($347, $355, $359, $360);
-      var $361=$1;
-      var $362=(($361+360)|0);
-      var $363=$channel_g;
-      var $364=$stopidx;
-      var $365=(($364-1)|0);
-      var $366=$correlate_row_g;
-      var $367=(($366+$365)|0);
-      var $368=HEAPU8[($367)];
-      var $369=(($368)&255);
-      var $370=_find_bucket_8bpc($363, $369);
-      var $371=$stopidx;
-      var $372=$correlate_row_g;
-      var $373=(($372+$371)|0);
-      var $374=HEAP8[($373)];
-      var $375=$6;
-      _update_model_8bpc($362, $370, $374, $375);
-      var $376=$1;
-      var $377=(($376+360)|0);
-      var $378=$channel_b;
-      var $379=$stopidx;
-      var $380=(($379-1)|0);
-      var $381=$correlate_row_b;
-      var $382=(($381+$380)|0);
-      var $383=HEAPU8[($382)];
-      var $384=(($383)&255);
-      var $385=_find_bucket_8bpc($378, $384);
-      var $386=$stopidx;
-      var $387=$correlate_row_b;
-      var $388=(($387+$386)|0);
-      var $389=HEAP8[($388)];
-      var $390=$6;
-      _update_model_8bpc($377, $385, $389, $390);
-      var $391=$2;
-      var $392=$1;
-      var $393=(($392+360)|0);
-      var $394=(($393+8)|0);
-      var $395=_tabrand($394);
-      var $396=$5;
-      var $397=$395 & $396;
-      var $398=(($391+$397)|0);
-      $stopidx=$398;
-      __label__ = 18; break;
-    case 24: 
-      __label__ = 25; break;
-    case 25: 
-      var $401=$2;
-      var $402=$4;
-      var $403=(($401)|0) < (($402)|0);
-      if ($403) { __label__ = 26; break; } else { __label__ = 28; break; }
-    case 26: 
-      var $405=$2;
-      var $406=$3;
-      var $407=(($406+($405<<2))|0);
-      var $408=(($407+3)|0);
-      HEAP8[($408)]=0;
-      var $409=$channel_r;
-      var $410=$2;
-      var $411=(($410-1)|0);
-      var $412=$correlate_row_r;
-      var $413=(($412+$411)|0);
-      var $414=HEAPU8[($413)];
-      var $415=(($414)&255);
-      var $416=_find_bucket_8bpc($409, $415);
-      var $417=(($416+4)|0);
-      var $418=HEAP32[(($417)>>2)];
-      var $419=$1;
-      var $420=(($419+32)|0);
-      var $421=HEAP32[(($420)>>2)];
-      var $422=_golomb_decoding_8bpc($418, $421, $codewordlen2);
-      var $423=(($422) & 255);
-      var $424=$2;
-      var $425=$correlate_row_r;
-      var $426=(($425+$424)|0);
-      HEAP8[($426)]=$423;
-      var $427=$2;
-      var $428=$correlate_row_r;
-      var $429=(($428+$427)|0);
-      var $430=HEAPU8[($429)];
-      var $431=(($430)&255);
-      var $432=((((_family_8bpc+384)|0)+($431<<2))|0);
-      var $433=HEAP32[(($432)>>2)];
-      var $434=$2;
-      var $435=$3;
-      var $436=(($435+($434<<2))|0);
-      var $437=(($436-4)|0);
-      var $438=(($437+2)|0);
-      var $439=HEAPU8[($438)];
-      var $440=(($439)&255);
-      var $441=(($433+$440)|0);
-      var $442=$7;
-      var $443=$441 & $442;
-      var $444=(($443) & 255);
-      var $445=$2;
-      var $446=$3;
-      var $447=(($446+($445<<2))|0);
-      var $448=(($447+2)|0);
-      HEAP8[($448)]=$444;
-      var $449=$1;
-      var $450=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($449, $450);
-      var $451=$channel_g;
-      var $452=$2;
-      var $453=(($452-1)|0);
-      var $454=$correlate_row_g;
-      var $455=(($454+$453)|0);
-      var $456=HEAPU8[($455)];
-      var $457=(($456)&255);
-      var $458=_find_bucket_8bpc($451, $457);
-      var $459=(($458+4)|0);
-      var $460=HEAP32[(($459)>>2)];
-      var $461=$1;
-      var $462=(($461+32)|0);
-      var $463=HEAP32[(($462)>>2)];
-      var $464=_golomb_decoding_8bpc($460, $463, $codewordlen2);
-      var $465=(($464) & 255);
-      var $466=$2;
-      var $467=$correlate_row_g;
-      var $468=(($467+$466)|0);
-      HEAP8[($468)]=$465;
-      var $469=$2;
-      var $470=$correlate_row_g;
-      var $471=(($470+$469)|0);
-      var $472=HEAPU8[($471)];
-      var $473=(($472)&255);
-      var $474=((((_family_8bpc+384)|0)+($473<<2))|0);
-      var $475=HEAP32[(($474)>>2)];
-      var $476=$2;
-      var $477=$3;
-      var $478=(($477+($476<<2))|0);
-      var $479=(($478-4)|0);
-      var $480=(($479+1)|0);
-      var $481=HEAPU8[($480)];
-      var $482=(($481)&255);
-      var $483=(($475+$482)|0);
-      var $484=$7;
-      var $485=$483 & $484;
-      var $486=(($485) & 255);
-      var $487=$2;
-      var $488=$3;
-      var $489=(($488+($487<<2))|0);
-      var $490=(($489+1)|0);
-      HEAP8[($490)]=$486;
-      var $491=$1;
-      var $492=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($491, $492);
-      var $493=$channel_b;
-      var $494=$2;
-      var $495=(($494-1)|0);
-      var $496=$correlate_row_b;
-      var $497=(($496+$495)|0);
-      var $498=HEAPU8[($497)];
-      var $499=(($498)&255);
-      var $500=_find_bucket_8bpc($493, $499);
-      var $501=(($500+4)|0);
-      var $502=HEAP32[(($501)>>2)];
-      var $503=$1;
-      var $504=(($503+32)|0);
-      var $505=HEAP32[(($504)>>2)];
-      var $506=_golomb_decoding_8bpc($502, $505, $codewordlen2);
-      var $507=(($506) & 255);
-      var $508=$2;
-      var $509=$correlate_row_b;
-      var $510=(($509+$508)|0);
-      HEAP8[($510)]=$507;
-      var $511=$2;
-      var $512=$correlate_row_b;
-      var $513=(($512+$511)|0);
-      var $514=HEAPU8[($513)];
-      var $515=(($514)&255);
-      var $516=((((_family_8bpc+384)|0)+($515<<2))|0);
-      var $517=HEAP32[(($516)>>2)];
-      var $518=$2;
-      var $519=$3;
-      var $520=(($519+($518<<2))|0);
-      var $521=(($520-4)|0);
-      var $522=(($521)|0);
-      var $523=HEAPU8[($522)];
-      var $524=(($523)&255);
-      var $525=(($517+$524)|0);
-      var $526=$7;
-      var $527=$525 & $526;
-      var $528=(($527) & 255);
-      var $529=$2;
-      var $530=$3;
-      var $531=(($530+($529<<2))|0);
-      var $532=(($531)|0);
-      HEAP8[($532)]=$528;
-      var $533=$1;
-      var $534=HEAP32[(($codewordlen2)>>2)];
-      _decode_eatbits($533, $534);
-      __label__ = 27; break;
-    case 27: 
-      var $536=$2;
-      var $537=(($536+1)|0);
-      $2=$537;
-      __label__ = 25; break;
-    case 28: 
-      var $539=$stopidx;
-      var $540=$4;
-      var $541=(($539-$540)|0);
-      var $542=$1;
-      var $543=(($542+360)|0);
-      var $544=(($543+4)|0);
-      HEAP32[(($544)>>2)]=$541;
-      STACKTOP = __stackBase__;
-      return;
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_quic_rgb32_uncompress_row0_seg["X"]=1;
-
-function _malloc($bytes) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $mem;
-      var $nb;
-      var $idx;
-      var $smallbits;
-      var $b;
-      var $p;
-      var $F;
-      var $b1;
-      var $p2;
-      var $r;
-      var $rsize;
-      var $i;
-      var $leftbits;
-      var $leastbit;
-      var $Y;
-      var $K;
-      var $N;
-      var $F3;
-      var $DVS;
-      var $DV;
-      var $I;
-      var $B;
-      var $F4;
-      var $rsize5;
-      var $p6;
-      var $r7;
-      var $dvs;
-      var $rsize8;
-      var $p9;
-      var $r10;
-      $1=$bytes;
-      var $2=$1; //@line 4628 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $3=(($2)>>>0) <= 244; //@line 4628 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($3) { __label__ = 2; break; } else { __label__ = 37; break; } //@line 4628 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $5=$1; //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=(($5)>>>0) < 11; //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $14 = 16;__label__ = 5; break; //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $9=$1; //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=(($9+4)|0); //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $11=(($10+7)|0); //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $12=$11 & -8; //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14 = $12;__label__ = 5; break; //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $14; //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nb=$14; //@line 4631 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=$nb; //@line 4632 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=$15 >>> 3; //@line 4632 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $idx=$16; //@line 4632 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=HEAPU32[((((__gm_)|0))>>2)]; //@line 4633 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=$idx; //@line 4633 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19=$17 >>> (($18)>>>0); //@line 4633 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $smallbits=$19; //@line 4633 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=$smallbits; //@line 4635 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=$20 & 3; //@line 4635 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=(($21)|0)!=0; //@line 4635 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($22) { __label__ = 6; break; } else { __label__ = 13; break; } //@line 4635 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $24=$smallbits; //@line 4637 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=$24 ^ -1; //@line 4637 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=$25 & 1; //@line 4637 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=$idx; //@line 4637 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=(($27+$26)|0); //@line 4637 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $idx=$28; //@line 4637 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=$idx; //@line 4638 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=$29 << 1; //@line 4638 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=((((__gm_+40)|0)+($30<<2))|0); //@line 4638 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=$31; //@line 4638 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=$32; //@line 4638 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $b=$33; //@line 4638 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $34=$b; //@line 4639 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=(($34+8)|0); //@line 4639 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=HEAP32[(($35)>>2)]; //@line 4639 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$36; //@line 4639 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=$p; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38=(($37+8)|0); //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=HEAP32[(($38)>>2)]; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F=$39; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=$b; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=$F; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=(($40)|0)==(($41)|0); //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($42) { __label__ = 7; break; } else { __label__ = 8; break; } //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $44=$idx; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=1 << $44; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=$45 ^ -1; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $47=HEAP32[((((__gm_)|0))>>2)]; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $48=$47 & $46; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_)|0))>>2)]=$48; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 12; break; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      var $50=$F; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=$50; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $53=(($51)>>>0) >= (($52)>>>0); //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $54=(($53)&1); //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55=(($54)==(1)); //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=(($55)|0)!=0; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($56) { __label__ = 9; break; } else { __label__ = 10; break; } //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $58=$F; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $59=$b; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=(($59+8)|0); //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($60)>>2)]=$58; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $61=$b; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $62=$F; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $63=(($62+12)|0); //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($63)>>2)]=$61; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 11; break; //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      _abort(); //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4641 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      __label__ = 12; break;
-    case 12: 
-      var $67=$idx; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=$67 << 3; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=$68 | 1; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=$69 | 2; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $71=$p; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $72=(($71+4)|0); //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($72)>>2)]=$70; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $73=$p; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $74=$73; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $75=$idx; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $76=$75 << 3; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $77=(($74+$76)|0); //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $78=$77; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $79=(($78+4)|0); //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $80=HEAP32[(($79)>>2)]; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=$80 | 1; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($79)>>2)]=$81; //@line 4642 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=$p; //@line 4643 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83=$82; //@line 4643 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $84=(($83+8)|0); //@line 4643 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mem=$84; //@line 4643 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 53; break; //@line 4645 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $86=$nb; //@line 4648 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $87=HEAPU32[((((__gm_+8)|0))>>2)]; //@line 4648 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $88=(($86)>>>0) > (($87)>>>0); //@line 4648 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($88) { __label__ = 14; break; } else { __label__ = 35; break; } //@line 4648 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      var $90=$smallbits; //@line 4649 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $91=(($90)|0)!=0; //@line 4649 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($91) { __label__ = 15; break; } else { __label__ = 30; break; } //@line 4649 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      var $93=$smallbits; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $94=$idx; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $95=$93 << $94; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $96=$idx; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $97=1 << $96; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $98=$97 << 1; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $99=$idx; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $100=1 << $99; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $101=$100 << 1; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $102=(((-$101))|0); //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=$98 | $102; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $104=$95 & $103; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $leftbits=$104; //@line 4653 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $105=$leftbits; //@line 4654 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $106=$leftbits; //@line 4654 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $107=(((-$106))|0); //@line 4654 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=$105 & $107; //@line 4654 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $leastbit=$108; //@line 4654 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $109=$leastbit; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $110=(($109-1)|0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$110; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $111=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $112=$111 >>> 12; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $113=$112 & 16; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$113; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $114=$K; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$114; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $115=$K; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $116=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $117=$116 >>> (($115)>>>0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$117; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $118=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $119=$118 >>> 5; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $120=$119 & 8; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$120; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $121=$N; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $122=(($121+$120)|0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$122; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $123=$K; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $124=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $125=$124 >>> (($123)>>>0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$125; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $126=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $127=$126 >>> 2; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $128=$127 & 4; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$128; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $129=$N; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $130=(($129+$128)|0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$130; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $131=$K; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $132=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $133=$132 >>> (($131)>>>0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$133; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $134=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $135=$134 >>> 1; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $136=$135 & 2; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$136; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $137=$N; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $138=(($137+$136)|0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$138; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $139=$K; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $140=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $141=$140 >>> (($139)>>>0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$141; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $142=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $143=$142 >>> 1; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $144=$143 & 1; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$144; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $145=$N; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $146=(($145+$144)|0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$146; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $147=$K; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $148=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $149=$148 >>> (($147)>>>0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$149; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $150=$N; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $151=$Y; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $152=(($150+$151)|0); //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $i=$152; //@line 4655 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $153=$i; //@line 4656 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $154=$153 << 1; //@line 4656 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $155=((((__gm_+40)|0)+($154<<2))|0); //@line 4656 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $156=$155; //@line 4656 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $157=$156; //@line 4656 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $b1=$157; //@line 4656 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $158=$b1; //@line 4657 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $159=(($158+8)|0); //@line 4657 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $160=HEAP32[(($159)>>2)]; //@line 4657 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p2=$160; //@line 4657 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $161=$p2; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $162=(($161+8)|0); //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $163=HEAP32[(($162)>>2)]; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F3=$163; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $164=$b1; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $165=$F3; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $166=(($164)|0)==(($165)|0); //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($166) { __label__ = 16; break; } else { __label__ = 17; break; } //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      var $168=$i; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $169=1 << $168; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $170=$169 ^ -1; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $171=HEAP32[((((__gm_)|0))>>2)]; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $172=$171 & $170; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_)|0))>>2)]=$172; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 21; break; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 17: 
-      var $174=$F3; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $175=$174; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $176=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $177=(($175)>>>0) >= (($176)>>>0); //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $178=(($177)&1); //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $179=(($178)==(1)); //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $180=(($179)|0)!=0; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($180) { __label__ = 18; break; } else { __label__ = 19; break; } //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 18: 
-      var $182=$F3; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $183=$b1; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $184=(($183+8)|0); //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($184)>>2)]=$182; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $185=$b1; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $186=$F3; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $187=(($186+12)|0); //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($187)>>2)]=$185; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 20; break; //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 19: 
-      _abort(); //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4659 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 20: 
-      __label__ = 21; break;
-    case 21: 
-      var $191=$i; //@line 4660 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $192=$191 << 3; //@line 4660 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $193=$nb; //@line 4660 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $194=(($192-$193)|0); //@line 4660 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize=$194; //@line 4660 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $195=$nb; //@line 4665 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $196=$195 | 1; //@line 4665 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $197=$196 | 2; //@line 4665 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $198=$p2; //@line 4665 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $199=(($198+4)|0); //@line 4665 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($199)>>2)]=$197; //@line 4665 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $200=$p2; //@line 4666 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $201=$200; //@line 4666 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $202=$nb; //@line 4666 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $203=(($201+$202)|0); //@line 4666 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $204=$203; //@line 4666 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $r=$204; //@line 4666 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $205=$rsize; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $206=$205 | 1; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $207=$r; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $208=(($207+4)|0); //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($208)>>2)]=$206; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $209=$rsize; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $210=$r; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $211=$210; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $212=$rsize; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $213=(($211+$212)|0); //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $214=$213; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $215=(($214)|0); //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($215)>>2)]=$209; //@line 4667 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $216=HEAP32[((((__gm_+8)|0))>>2)]; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $DVS=$216; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $217=$DVS; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $218=(($217)|0)!=0; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($218) { __label__ = 22; break; } else { __label__ = 29; break; } //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 22: 
-      var $220=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $DV=$220; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $221=$DVS; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $222=$221 >>> 3; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I=$222; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $223=$I; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $224=$223 << 1; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $225=((((__gm_+40)|0)+($224<<2))|0); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $226=$225; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $227=$226; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B=$227; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $228=$B; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F4=$228; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $229=HEAP32[((((__gm_)|0))>>2)]; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $230=$I; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $231=1 << $230; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $232=$229 & $231; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $233=(($232)|0)!=0; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($233) { __label__ = 24; break; } else { __label__ = 23; break; } //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      var $235=$I; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $236=1 << $235; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $237=HEAP32[((((__gm_)|0))>>2)]; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $238=$237 | $236; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_)|0))>>2)]=$238; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 28; break; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 24: 
-      var $240=$B; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $241=(($240+8)|0); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $242=HEAP32[(($241)>>2)]; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $243=$242; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $244=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $245=(($243)>>>0) >= (($244)>>>0); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $246=(($245)&1); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $247=(($246)==(1)); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $248=(($247)|0)!=0; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($248) { __label__ = 25; break; } else { __label__ = 26; break; } //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      var $250=$B; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $251=(($250+8)|0); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $252=HEAP32[(($251)>>2)]; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F4=$252; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 27; break; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 26: 
-      _abort(); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 27: 
-      __label__ = 28; break;
-    case 28: 
-      var $256=$DV; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $257=$B; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $258=(($257+8)|0); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($258)>>2)]=$256; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $259=$DV; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $260=$F4; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $261=(($260+12)|0); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($261)>>2)]=$259; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $262=$F4; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $263=$DV; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $264=(($263+8)|0); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($264)>>2)]=$262; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $265=$B; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $266=$DV; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $267=(($266+12)|0); //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($267)>>2)]=$265; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 29; break; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 29: 
-      var $269=$rsize; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+8)|0))>>2)]=$269; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $270=$r; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+20)|0))>>2)]=$270; //@line 4668 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $271=$p2; //@line 4670 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $272=$271; //@line 4670 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $273=(($272+8)|0); //@line 4670 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mem=$273; //@line 4670 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 53; break; //@line 4672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 30: 
-      var $275=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $276=(($275)|0)!=0; //@line 4675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($276) { __label__ = 31; break; } else { __label__ = 33; break; } //@line 4675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 31: 
-      var $278=$nb; //@line 4675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $279=_tmalloc_small(__gm_, $278); //@line 4675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mem=$279; //@line 4675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $280=(($279)|0)!=0; //@line 4675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($280) { __label__ = 32; break; } else { __label__ = 33; break; } //@line 4675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 32: 
-      __label__ = 53; break; //@line 4677 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 33: 
-      __label__ = 34; break;
-    case 34: 
-      __label__ = 35; break; //@line 4679 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 35: 
-      __label__ = 36; break;
-    case 36: 
-      __label__ = 44; break; //@line 4680 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 37: 
-      var $287=$1; //@line 4681 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $288=(($287)>>>0) >= 4294967232; //@line 4681 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($288) { __label__ = 38; break; } else { __label__ = 39; break; } //@line 4681 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 38: 
-      $nb=-1; //@line 4682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 43; break; //@line 4682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 39: 
-      var $291=$1; //@line 4684 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $292=(($291+4)|0); //@line 4684 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $293=(($292+7)|0); //@line 4684 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $294=$293 & -8; //@line 4684 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nb=$294; //@line 4684 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $295=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $296=(($295)|0)!=0; //@line 4685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($296) { __label__ = 40; break; } else { __label__ = 42; break; } //@line 4685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 40: 
-      var $298=$nb; //@line 4685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $299=_tmalloc_large(__gm_, $298); //@line 4685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mem=$299; //@line 4685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $300=(($299)|0)!=0; //@line 4685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($300) { __label__ = 41; break; } else { __label__ = 42; break; } //@line 4685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 41: 
-      __label__ = 53; break; //@line 4687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 42: 
-      __label__ = 43; break;
-    case 43: 
-      __label__ = 44; break;
-    case 44: 
-      var $305=$nb; //@line 4691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $306=HEAPU32[((((__gm_+8)|0))>>2)]; //@line 4691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $307=(($305)>>>0) <= (($306)>>>0); //@line 4691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($307) { __label__ = 45; break; } else { __label__ = 49; break; } //@line 4691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 45: 
-      var $309=HEAP32[((((__gm_+8)|0))>>2)]; //@line 4692 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $310=$nb; //@line 4692 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $311=(($309-$310)|0); //@line 4692 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize5=$311; //@line 4692 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $312=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4693 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p6=$312; //@line 4693 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $313=$rsize5; //@line 4694 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $314=(($313)>>>0) >= 16; //@line 4694 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($314) { __label__ = 46; break; } else { __label__ = 47; break; } //@line 4694 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 46: 
-      var $316=$p6; //@line 4695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $317=$316; //@line 4695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $318=$nb; //@line 4695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $319=(($317+$318)|0); //@line 4695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $320=$319; //@line 4695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+20)|0))>>2)]=$320; //@line 4695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $r7=$320; //@line 4695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $321=$rsize5; //@line 4696 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+8)|0))>>2)]=$321; //@line 4696 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $322=$rsize5; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $323=$322 | 1; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $324=$r7; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $325=(($324+4)|0); //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($325)>>2)]=$323; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $326=$rsize5; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $327=$r7; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $328=$327; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $329=$rsize5; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $330=(($328+$329)|0); //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $331=$330; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $332=(($331)|0); //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($332)>>2)]=$326; //@line 4697 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $333=$nb; //@line 4698 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $334=$333 | 1; //@line 4698 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $335=$334 | 2; //@line 4698 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $336=$p6; //@line 4698 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $337=(($336+4)|0); //@line 4698 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($337)>>2)]=$335; //@line 4698 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 48; break; //@line 4699 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 47: 
-      var $339=HEAP32[((((__gm_+8)|0))>>2)]; //@line 4701 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $dvs=$339; //@line 4701 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+8)|0))>>2)]=0; //@line 4702 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+20)|0))>>2)]=0; //@line 4703 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $340=$dvs; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $341=$340 | 1; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $342=$341 | 2; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $343=$p6; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $344=(($343+4)|0); //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($344)>>2)]=$342; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $345=$p6; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $346=$345; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $347=$dvs; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $348=(($346+$347)|0); //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $349=$348; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $350=(($349+4)|0); //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $351=HEAP32[(($350)>>2)]; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $352=$351 | 1; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($350)>>2)]=$352; //@line 4704 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 48; break;
-    case 48: 
-      var $354=$p6; //@line 4706 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $355=$354; //@line 4706 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $356=(($355+8)|0); //@line 4706 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mem=$356; //@line 4706 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 53; break; //@line 4708 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 49: 
-      var $358=$nb; //@line 4711 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $359=HEAPU32[((((__gm_+12)|0))>>2)]; //@line 4711 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $360=(($358)>>>0) < (($359)>>>0); //@line 4711 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($360) { __label__ = 50; break; } else { __label__ = 51; break; } //@line 4711 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 50: 
-      var $362=$nb; //@line 4712 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $363=HEAP32[((((__gm_+12)|0))>>2)]; //@line 4712 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $364=(($363-$362)|0); //@line 4712 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+12)|0))>>2)]=$364; //@line 4712 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize8=$364; //@line 4712 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $365=HEAP32[((((__gm_+24)|0))>>2)]; //@line 4713 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p9=$365; //@line 4713 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $366=$p9; //@line 4714 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $367=$366; //@line 4714 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $368=$nb; //@line 4714 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $369=(($367+$368)|0); //@line 4714 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $370=$369; //@line 4714 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+24)|0))>>2)]=$370; //@line 4714 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $r10=$370; //@line 4714 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $371=$rsize8; //@line 4715 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $372=$371 | 1; //@line 4715 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $373=$r10; //@line 4715 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $374=(($373+4)|0); //@line 4715 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($374)>>2)]=$372; //@line 4715 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $375=$nb; //@line 4716 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $376=$375 | 1; //@line 4716 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $377=$376 | 2; //@line 4716 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $378=$p9; //@line 4716 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $379=(($378+4)|0); //@line 4716 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($379)>>2)]=$377; //@line 4716 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $380=$p9; //@line 4717 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $381=$380; //@line 4717 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $382=(($381+8)|0); //@line 4717 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mem=$382; //@line 4717 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 53; break; //@line 4720 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 51: 
-      __label__ = 52; break;
-    case 52: 
-      var $385=$nb; //@line 4723 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $386=_sys_alloc(__gm_, $385); //@line 4723 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mem=$386; //@line 4723 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 53; break; //@line 4723 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 53: 
-      var $388=$mem; //@line 4727 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $388; //@line 4727 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
+    this.io_now = io_ptr;
+    this.io_end = this.io_now.length;
+    this.io_idx = 0;
+    this.rows_completed = 0;
+    return true;
 }
-Module["_malloc"] = _malloc;_malloc["X"]=1;
 
-function _tmalloc_small($m, $nb) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $t;
-      var $v;
-      var $rsize;
-      var $i;
-      var $leastbit;
-      var $Y;
-      var $K;
-      var $N;
-      var $trem;
-      var $r;
-      var $XP;
-      var $R;
-      var $F;
-      var $RP;
-      var $CP;
-      var $H;
-      var $C0;
-      var $C1;
-      var $DVS;
-      var $DV;
-      var $I;
-      var $B;
-      var $F1;
-      $1=$m;
-      $2=$nb;
-      var $3=$1; //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $4=(($3+4)|0); //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $5=HEAP32[(($4)>>2)]; //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=$1; //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=(($6+4)|0); //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=HEAP32[(($7)>>2)]; //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=(((-$8))|0); //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=$5 & $9; //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $leastbit=$10; //@line 4268 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $11=$leastbit; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $12=(($11-1)|0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$12; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=$13 >>> 12; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=$14 & 16; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$15; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=$K; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$16; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=$K; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19=$18 >>> (($17)>>>0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$19; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=$20 >>> 5; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=$21 & 8; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$22; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=$N; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=(($23+$22)|0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$24; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=$K; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=$26 >>> (($25)>>>0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$27; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=$28 >>> 2; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=$29 & 4; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$30; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=$N; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=(($31+$30)|0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$32; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=$K; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $34=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=$34 >>> (($33)>>>0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$35; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=$36 >>> 1; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38=$37 & 2; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$38; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=$N; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=(($39+$38)|0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$40; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=$K; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=$42 >>> (($41)>>>0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$43; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=$44 >>> 1; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=$45 & 1; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$46; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $47=$N; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $48=(($47+$46)|0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$48; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $49=$K; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $50=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=$50 >>> (($49)>>>0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$51; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52=$N; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $53=$Y; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $54=(($52+$53)|0); //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $i=$54; //@line 4269 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55=$i; //@line 4270 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=$1; //@line 4270 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=(($56+304)|0); //@line 4270 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $58=(($57+($55<<2))|0); //@line 4270 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $59=HEAP32[(($58)>>2)]; //@line 4270 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $t=$59; //@line 4270 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $v=$59; //@line 4270 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=$t; //@line 4271 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $61=(($60+4)|0); //@line 4271 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $62=HEAP32[(($61)>>2)]; //@line 4271 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $63=$62 & -8; //@line 4271 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=$2; //@line 4271 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $65=(($63-$64)|0); //@line 4271 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize=$65; //@line 4271 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 2; break; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $67=$t; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=(($67+16)|0); //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=(($68)|0); //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=HEAP32[(($69)>>2)]; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $71=(($70)|0)!=0; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($71) { __label__ = 3; break; } else { __label__ = 4; break; } //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $73=$t; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $74=(($73+16)|0); //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $75=(($74)|0); //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $76=HEAP32[(($75)>>2)]; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83 = $76;__label__ = 5; break; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $78=$t; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $79=(($78+16)|0); //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $80=(($79+4)|0); //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=HEAP32[(($80)>>2)]; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83 = $81;__label__ = 5; break; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $83; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $t=$83; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $84=(($83)|0)!=0; //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($84) { __label__ = 6; break; } else { __label__ = 9; break; } //@line 4273 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $86=$t; //@line 4274 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $87=(($86+4)|0); //@line 4274 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $88=HEAP32[(($87)>>2)]; //@line 4274 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $89=$88 & -8; //@line 4274 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $90=$2; //@line 4274 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $91=(($89-$90)|0); //@line 4274 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $trem=$91; //@line 4274 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $92=$trem; //@line 4275 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $93=$rsize; //@line 4275 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $94=(($92)>>>0) < (($93)>>>0); //@line 4275 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($94) { __label__ = 7; break; } else { __label__ = 8; break; } //@line 4275 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $96=$trem; //@line 4276 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize=$96; //@line 4276 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $97=$t; //@line 4277 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $v=$97; //@line 4277 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 8; break; //@line 4278 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      __label__ = 2; break; //@line 4279 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $100=$v; //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $101=$100; //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $102=$1; //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=(($102+16)|0); //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $104=HEAPU32[(($103)>>2)]; //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $105=(($101)>>>0) >= (($104)>>>0); //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $106=(($105)&1); //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $107=(($106)==(1)); //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=(($107)|0)!=0; //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($108) { __label__ = 10; break; } else { __label__ = 69; break; } //@line 4281 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      var $110=$v; //@line 4282 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $111=$110; //@line 4282 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $112=$2; //@line 4282 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $113=(($111+$112)|0); //@line 4282 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $114=$113; //@line 4282 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $r=$114; //@line 4282 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $115=$v; //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $116=$115; //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $117=$r; //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $118=$117; //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $119=(($116)>>>0) < (($118)>>>0); //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $120=(($119)&1); //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $121=(($120)==(1)); //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $122=(($121)|0)!=0; //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($122) { __label__ = 11; break; } else { __label__ = 68; break; } //@line 4284 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      var $124=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $125=(($124+24)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $126=HEAP32[(($125)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $XP=$126; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $127=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $128=(($127+12)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $129=HEAP32[(($128)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $130=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $131=(($129)|0)!=(($130)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($131) { __label__ = 12; break; } else { __label__ = 16; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      var $133=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $134=(($133+8)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $135=HEAP32[(($134)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F=$135; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $136=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $137=(($136+12)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $138=HEAP32[(($137)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$138; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $139=$F; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $140=$139; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $141=$1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $142=(($141+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $143=HEAPU32[(($142)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $144=(($140)>>>0) >= (($143)>>>0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $145=(($144)&1); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $146=(($145)==(1)); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $147=(($146)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($147) { __label__ = 13; break; } else { __label__ = 14; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $149=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $150=$F; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $151=(($150+12)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($151)>>2)]=$149; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $152=$F; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $153=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $154=(($153+8)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($154)>>2)]=$152; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 15; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      _abort(); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      __label__ = 28; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      var $158=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $159=(($158+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $160=(($159+4)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$160; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $161=HEAP32[(($160)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$161; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $162=(($161)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($162) { __label__ = 18; break; } else { __label__ = 17; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 17: 
-      var $164=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $165=(($164+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $166=(($165)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$166; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $167=HEAP32[(($166)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$167; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $168=(($167)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($168) { __label__ = 18; break; } else { __label__ = 27; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 18: 
-      __label__ = 19; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 19: 
-      var $171=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $172=(($171+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $173=(($172+4)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$173; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $174=HEAP32[(($173)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $175=(($174)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($175) { var $183 = 1;__label__ = 21; break; } else { __label__ = 20; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 20: 
-      var $177=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $178=(($177+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $179=(($178)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$179; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $180=HEAP32[(($179)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $181=(($180)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $183 = $181;__label__ = 21; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 21: 
-      var $183;
-      if ($183) { __label__ = 22; break; } else { __label__ = 23; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 22: 
-      var $185=$CP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$185; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $186=HEAP32[(($185)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$186; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 19; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      var $188=$RP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $189=$188; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $190=$1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $191=(($190+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $192=HEAPU32[(($191)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $193=(($189)>>>0) >= (($192)>>>0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $194=(($193)&1); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $195=(($194)==(1)); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $196=(($195)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($196) { __label__ = 24; break; } else { __label__ = 25; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 24: 
-      var $198=$RP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($198)>>2)]=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 26; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      _abort(); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 26: 
-      __label__ = 27; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 27: 
-      __label__ = 28; break;
-    case 28: 
-      var $203=$XP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $204=(($203)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($204) { __label__ = 29; break; } else { __label__ = 56; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 29: 
-      var $206=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $207=(($206+28)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $208=HEAP32[(($207)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $209=$1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $210=(($209+304)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $211=(($210+($208<<2))|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H=$211; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $212=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $213=$H; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $214=HEAP32[(($213)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $215=(($212)|0)==(($214)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($215) { __label__ = 30; break; } else { __label__ = 33; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 30: 
-      var $217=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $218=$H; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($218)>>2)]=$217; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $219=(($217)|0)==0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($219) { __label__ = 31; break; } else { __label__ = 32; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 31: 
-      var $221=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $222=(($221+28)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $223=HEAP32[(($222)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $224=1 << $223; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $225=$224 ^ -1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $226=$1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $227=(($226+4)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $228=HEAP32[(($227)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $229=$228 & $225; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($227)>>2)]=$229; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 32; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 32: 
-      __label__ = 40; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 33: 
-      var $232=$XP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $233=$232; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $234=$1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $235=(($234+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $236=HEAPU32[(($235)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $237=(($233)>>>0) >= (($236)>>>0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $238=(($237)&1); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $239=(($238)==(1)); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $240=(($239)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($240) { __label__ = 34; break; } else { __label__ = 38; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 34: 
-      var $242=$XP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $243=(($242+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $244=(($243)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $245=HEAP32[(($244)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $246=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $247=(($245)|0)==(($246)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($247) { __label__ = 35; break; } else { __label__ = 36; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 35: 
-      var $249=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $250=$XP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $251=(($250+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $252=(($251)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($252)>>2)]=$249; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 37; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 36: 
-      var $254=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $255=$XP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $256=(($255+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $257=(($256+4)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($257)>>2)]=$254; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 37; break;
-    case 37: 
-      __label__ = 39; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 38: 
-      _abort(); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 39: 
-      __label__ = 40; break;
-    case 40: 
-      var $262=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $263=(($262)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($263) { __label__ = 41; break; } else { __label__ = 55; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 41: 
-      var $265=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $266=$265; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $267=$1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $268=(($267+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $269=HEAPU32[(($268)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $270=(($266)>>>0) >= (($269)>>>0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $271=(($270)&1); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $272=(($271)==(1)); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $273=(($272)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($273) { __label__ = 42; break; } else { __label__ = 53; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 42: 
-      var $275=$XP; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $276=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $277=(($276+24)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($277)>>2)]=$275; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $278=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $279=(($278+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $280=(($279)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $281=HEAP32[(($280)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C0=$281; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $282=(($281)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($282) { __label__ = 43; break; } else { __label__ = 47; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 43: 
-      var $284=$C0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $285=$284; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $286=$1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $287=(($286+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $288=HEAPU32[(($287)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $289=(($285)>>>0) >= (($288)>>>0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $290=(($289)&1); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $291=(($290)==(1)); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $292=(($291)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($292) { __label__ = 44; break; } else { __label__ = 45; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 44: 
-      var $294=$C0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $295=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $296=(($295+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $297=(($296)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($297)>>2)]=$294; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $298=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $299=$C0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $300=(($299+24)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($300)>>2)]=$298; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 46; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 45: 
-      _abort(); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 46: 
-      __label__ = 47; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 47: 
-      var $304=$v; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $305=(($304+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $306=(($305+4)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $307=HEAP32[(($306)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C1=$307; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $308=(($307)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($308) { __label__ = 48; break; } else { __label__ = 52; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 48: 
-      var $310=$C1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $311=$310; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $312=$1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $313=(($312+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $314=HEAPU32[(($313)>>2)]; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $315=(($311)>>>0) >= (($314)>>>0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $316=(($315)&1); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $317=(($316)==(1)); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $318=(($317)|0)!=0; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($318) { __label__ = 49; break; } else { __label__ = 50; break; } //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 49: 
-      var $320=$C1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $321=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $322=(($321+16)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $323=(($322+4)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($323)>>2)]=$320; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $324=$R; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $325=$C1; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $326=(($325+24)|0); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($326)>>2)]=$324; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 51; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 50: 
-      _abort(); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 51: 
-      __label__ = 52; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 52: 
-      __label__ = 54; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 53: 
-      _abort(); //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 54: 
-      __label__ = 55; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 55: 
-      __label__ = 56; break; //@line 4285 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 56: 
-      var $334=$rsize; //@line 4286 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $335=(($334)>>>0) < 16; //@line 4286 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($335) { __label__ = 57; break; } else { __label__ = 58; break; } //@line 4286 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 57: 
-      var $337=$rsize; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $338=$2; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $339=(($337+$338)|0); //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $340=$339 | 1; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $341=$340 | 2; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $342=$v; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $343=(($342+4)|0); //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($343)>>2)]=$341; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $344=$v; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $345=$344; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $346=$rsize; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $347=$2; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $348=(($346+$347)|0); //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $349=(($345+$348)|0); //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $350=$349; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $351=(($350+4)|0); //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $352=HEAP32[(($351)>>2)]; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $353=$352 | 1; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($351)>>2)]=$353; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 67; break; //@line 4287 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 58: 
-      var $355=$2; //@line 4289 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $356=$355 | 1; //@line 4289 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $357=$356 | 2; //@line 4289 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $358=$v; //@line 4289 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $359=(($358+4)|0); //@line 4289 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($359)>>2)]=$357; //@line 4289 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $360=$rsize; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $361=$360 | 1; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $362=$r; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $363=(($362+4)|0); //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($363)>>2)]=$361; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $364=$rsize; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $365=$r; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $366=$365; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $367=$rsize; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $368=(($366+$367)|0); //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $369=$368; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $370=(($369)|0); //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($370)>>2)]=$364; //@line 4290 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $371=$1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $372=(($371+8)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $373=HEAP32[(($372)>>2)]; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $DVS=$373; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $374=$DVS; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $375=(($374)|0)!=0; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($375) { __label__ = 59; break; } else { __label__ = 66; break; } //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 59: 
-      var $377=$1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $378=(($377+20)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $379=HEAP32[(($378)>>2)]; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $DV=$379; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $380=$DVS; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $381=$380 >>> 3; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I=$381; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $382=$I; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $383=$382 << 1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $384=$1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $385=(($384+40)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $386=(($385+($383<<2))|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $387=$386; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $388=$387; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B=$388; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $389=$B; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F1=$389; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $390=$1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $391=(($390)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $392=HEAP32[(($391)>>2)]; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $393=$I; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $394=1 << $393; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $395=$392 & $394; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $396=(($395)|0)!=0; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($396) { __label__ = 61; break; } else { __label__ = 60; break; } //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 60: 
-      var $398=$I; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $399=1 << $398; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $400=$1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $401=(($400)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $402=HEAP32[(($401)>>2)]; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $403=$402 | $399; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($401)>>2)]=$403; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 65; break; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 61: 
-      var $405=$B; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $406=(($405+8)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $407=HEAP32[(($406)>>2)]; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $408=$407; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $409=$1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $410=(($409+16)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $411=HEAPU32[(($410)>>2)]; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $412=(($408)>>>0) >= (($411)>>>0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $413=(($412)&1); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $414=(($413)==(1)); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $415=(($414)|0)!=0; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($415) { __label__ = 62; break; } else { __label__ = 63; break; } //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 62: 
-      var $417=$B; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $418=(($417+8)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $419=HEAP32[(($418)>>2)]; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F1=$419; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 64; break; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 63: 
-      _abort(); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 64: 
-      __label__ = 65; break;
-    case 65: 
-      var $423=$DV; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $424=$B; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $425=(($424+8)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($425)>>2)]=$423; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $426=$DV; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $427=$F1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $428=(($427+12)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($428)>>2)]=$426; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $429=$F1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $430=$DV; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $431=(($430+8)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($431)>>2)]=$429; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $432=$B; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $433=$DV; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $434=(($433+12)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($434)>>2)]=$432; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 66; break; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 66: 
-      var $436=$rsize; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $437=$1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $438=(($437+8)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($438)>>2)]=$436; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $439=$r; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $440=$1; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $441=(($440+20)|0); //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($441)>>2)]=$439; //@line 4291 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 67; break;
-    case 67: 
-      var $443=$v; //@line 4293 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $444=$443; //@line 4293 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $445=(($444+8)|0); //@line 4293 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $445; //@line 4293 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 68: 
-      __label__ = 69; break; //@line 4295 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 69: 
-      _abort(); //@line 4297 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4297 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
+QuicEncoder.prototype.read_io_word = function()
+{
+    if (this.io_idx >= this.io_end)
+        throw("quic: out of data");
+    this.io_next_word = this.io_now[this.io_idx++] | this.io_now[this.io_idx++]<<8 | this.io_now[this.io_idx++]<<16 | this.io_now[this.io_idx++]<<24;
 }
-_tmalloc_small["X"]=1;
 
-function _tmalloc_large($m, $nb) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $v;
-      var $rsize;
-      var $t;
-      var $idx;
-      var $X;
-      var $Y;
-      var $N;
-      var $K;
-      var $sizebits;
-      var $rst;
-      var $rt;
-      var $trem;
-      var $leftbits;
-      var $i;
-      var $leastbit;
-      var $Y1;
-      var $K2;
-      var $N3;
-      var $trem4;
-      var $r;
-      var $XP;
-      var $R;
-      var $F;
-      var $RP;
-      var $CP;
-      var $H;
-      var $C0;
-      var $C1;
-      var $I;
-      var $B;
-      var $F5;
-      var $TP;
-      var $H6;
-      var $I7;
-      var $X8;
-      var $Y9;
-      var $N10;
-      var $K11;
-      var $T;
-      var $K12;
-      var $C;
-      var $F13;
-      $2=$m;
-      $3=$nb;
-      $v=0; //@line 4194 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $4=$3; //@line 4195 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $5=(((-$4))|0); //@line 4195 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize=$5; //@line 4195 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=$3; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=$6 >>> 8; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $X=$7; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=$X; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=(($8)|0)==0; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($9) { __label__ = 2; break; } else { __label__ = 3; break; } //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      $idx=0; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 7; break; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $12=$X; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=(($12)>>>0) > 65535; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($13) { __label__ = 4; break; } else { __label__ = 5; break; } //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      $idx=31; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 6; break; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $16=$X; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$16; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=$Y; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=(($17-256)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19=$18 >>> 16; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=$19 & 8; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$20; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=$N; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=$Y; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=$22 << $21; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$23; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=(($23-4096)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=$24 >>> 16; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=$25 & 4; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$26; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=$K; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=$N; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=(($28+$27)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$29; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=$K; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=$Y; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=$31 << $30; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$32; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=(($32-16384)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $34=$33 >>> 16; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=$34 & 2; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$35; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=$N; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=(($36+$35)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$37; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38=$N; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=((14-$38)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=$K; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=$Y; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=$41 << $40; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$42; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=$42 >>> 15; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=(($39+$43)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$44; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=$K; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=$45 << 1; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $47=$3; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $48=$K; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $49=(($48+7)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $50=$47 >>> (($49)>>>0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=$50 & 1; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52=(($46+$51)|0); //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $idx=$52; //@line 4198 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 6; break;
-    case 6: 
-      __label__ = 7; break;
-    case 7: 
-      var $55=$idx; //@line 4199 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=$2; //@line 4199 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=(($56+304)|0); //@line 4199 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $58=(($57+($55<<2))|0); //@line 4199 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $59=HEAP32[(($58)>>2)]; //@line 4199 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $t=$59; //@line 4199 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=(($59)|0)!=0; //@line 4199 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($60) { __label__ = 8; break; } else { __label__ = 23; break; } //@line 4199 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      var $62=$3; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $63=$idx; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=(($63)|0)==31; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($64) { __label__ = 9; break; } else { __label__ = 10; break; } //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $73 = 0;__label__ = 11; break; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      var $67=$idx; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=$67 >>> 1; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=(($68+8)|0); //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=(($69-2)|0); //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $71=((31-$70)|0); //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $73 = $71;__label__ = 11; break; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      var $73; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $74=$62 << $73; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sizebits=$74; //@line 4201 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rst=0; //@line 4202 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 12; break; //@line 4203 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      var $76=$t; //@line 4205 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $77=(($76+4)|0); //@line 4205 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $78=HEAP32[(($77)>>2)]; //@line 4205 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $79=$78 & -8; //@line 4205 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $80=$3; //@line 4205 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=(($79-$80)|0); //@line 4205 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $trem=$81; //@line 4205 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=$trem; //@line 4206 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83=$rsize; //@line 4206 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $84=(($82)>>>0) < (($83)>>>0); //@line 4206 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($84) { __label__ = 13; break; } else { __label__ = 16; break; } //@line 4206 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $86=$t; //@line 4207 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $v=$86; //@line 4207 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $87=$trem; //@line 4208 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize=$87; //@line 4208 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $88=(($87)|0)==0; //@line 4208 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($88) { __label__ = 14; break; } else { __label__ = 15; break; } //@line 4208 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      __label__ = 22; break; //@line 4209 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      __label__ = 16; break; //@line 4210 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      var $92=$t; //@line 4211 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $93=(($92+16)|0); //@line 4211 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $94=(($93+4)|0); //@line 4211 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $95=HEAP32[(($94)>>2)]; //@line 4211 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rt=$95; //@line 4211 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $96=$sizebits; //@line 4212 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $97=$96 >>> 31; //@line 4212 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $98=$97 & 1; //@line 4212 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $99=$t; //@line 4212 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $100=(($99+16)|0); //@line 4212 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $101=(($100+($98<<2))|0); //@line 4212 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $102=HEAP32[(($101)>>2)]; //@line 4212 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $t=$102; //@line 4212 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=$rt; //@line 4213 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $104=(($103)|0)!=0; //@line 4213 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($104) { __label__ = 17; break; } else { __label__ = 19; break; } //@line 4213 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 17: 
-      var $106=$rt; //@line 4213 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $107=$t; //@line 4213 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=(($106)|0)!=(($107)|0); //@line 4213 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($108) { __label__ = 18; break; } else { __label__ = 19; break; } //@line 4213 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 18: 
-      var $110=$rt; //@line 4214 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rst=$110; //@line 4214 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 19; break; //@line 4214 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 19: 
-      var $112=$t; //@line 4215 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $113=(($112)|0)==0; //@line 4215 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($113) { __label__ = 20; break; } else { __label__ = 21; break; } //@line 4215 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 20: 
-      var $115=$rst; //@line 4216 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $t=$115; //@line 4216 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 22; break; //@line 4217 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 21: 
-      var $117=$sizebits; //@line 4219 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $118=$117 << 1; //@line 4219 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sizebits=$118; //@line 4219 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 12; break; //@line 4220 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 22: 
-      __label__ = 23; break; //@line 4221 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      var $121=$t; //@line 4222 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $122=(($121)|0)==0; //@line 4222 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($122) { __label__ = 24; break; } else { __label__ = 28; break; } //@line 4222 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 24: 
-      var $124=$v; //@line 4222 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $125=(($124)|0)==0; //@line 4222 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($125) { __label__ = 25; break; } else { __label__ = 28; break; } //@line 4222 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      var $127=$idx; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $128=1 << $127; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $129=$128 << 1; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $130=$idx; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $131=1 << $130; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $132=$131 << 1; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $133=(((-$132))|0); //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $134=$129 | $133; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $135=$2; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $136=(($135+4)|0); //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $137=HEAP32[(($136)>>2)]; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $138=$134 & $137; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $leftbits=$138; //@line 4223 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $139=$leftbits; //@line 4224 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $140=(($139)|0)!=0; //@line 4224 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($140) { __label__ = 26; break; } else { __label__ = 27; break; } //@line 4224 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 26: 
-      var $142=$leftbits; //@line 4226 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $143=$leftbits; //@line 4226 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $144=(((-$143))|0); //@line 4226 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $145=$142 & $144; //@line 4226 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $leastbit=$145; //@line 4226 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $146=$leastbit; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $147=(($146-1)|0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y1=$147; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $148=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $149=$148 >>> 12; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $150=$149 & 16; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$150; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $151=$K2; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N3=$151; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $152=$K2; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $153=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $154=$153 >>> (($152)>>>0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y1=$154; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $155=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $156=$155 >>> 5; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $157=$156 & 8; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$157; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $158=$N3; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $159=(($158+$157)|0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N3=$159; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $160=$K2; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $161=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $162=$161 >>> (($160)>>>0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y1=$162; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $163=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $164=$163 >>> 2; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $165=$164 & 4; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$165; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $166=$N3; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $167=(($166+$165)|0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N3=$167; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $168=$K2; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $169=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $170=$169 >>> (($168)>>>0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y1=$170; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $171=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $172=$171 >>> 1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $173=$172 & 2; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$173; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $174=$N3; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $175=(($174+$173)|0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N3=$175; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $176=$K2; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $177=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $178=$177 >>> (($176)>>>0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y1=$178; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $179=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $180=$179 >>> 1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $181=$180 & 1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$181; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $182=$N3; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $183=(($182+$181)|0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N3=$183; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $184=$K2; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $185=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $186=$185 >>> (($184)>>>0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y1=$186; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $187=$N3; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $188=$Y1; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $189=(($187+$188)|0); //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $i=$189; //@line 4227 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $190=$i; //@line 4228 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $191=$2; //@line 4228 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $192=(($191+304)|0); //@line 4228 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $193=(($192+($190<<2))|0); //@line 4228 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $194=HEAP32[(($193)>>2)]; //@line 4228 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $t=$194; //@line 4228 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 27; break; //@line 4229 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 27: 
-      __label__ = 28; break; //@line 4230 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 28: 
-      __label__ = 29; break; //@line 4232 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 29: 
-      var $198=$t; //@line 4232 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $199=(($198)|0)!=0; //@line 4232 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($199) { __label__ = 30; break; } else { __label__ = 36; break; } //@line 4232 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 30: 
-      var $201=$t; //@line 4233 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $202=(($201+4)|0); //@line 4233 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $203=HEAP32[(($202)>>2)]; //@line 4233 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $204=$203 & -8; //@line 4233 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $205=$3; //@line 4233 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $206=(($204-$205)|0); //@line 4233 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $trem4=$206; //@line 4233 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $207=$trem4; //@line 4234 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $208=$rsize; //@line 4234 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $209=(($207)>>>0) < (($208)>>>0); //@line 4234 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($209) { __label__ = 31; break; } else { __label__ = 32; break; } //@line 4234 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 31: 
-      var $211=$trem4; //@line 4235 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize=$211; //@line 4235 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $212=$t; //@line 4236 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $v=$212; //@line 4236 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 32; break; //@line 4237 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 32: 
-      var $214=$t; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $215=(($214+16)|0); //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $216=(($215)|0); //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $217=HEAP32[(($216)>>2)]; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $218=(($217)|0)!=0; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($218) { __label__ = 33; break; } else { __label__ = 34; break; } //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 33: 
-      var $220=$t; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $221=(($220+16)|0); //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $222=(($221)|0); //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $223=HEAP32[(($222)>>2)]; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $230 = $223;__label__ = 35; break; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 34: 
-      var $225=$t; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $226=(($225+16)|0); //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $227=(($226+4)|0); //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $228=HEAP32[(($227)>>2)]; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $230 = $228;__label__ = 35; break; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 35: 
-      var $230; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $t=$230; //@line 4238 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 29; break; //@line 4239 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 36: 
-      var $232=$v; //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $233=(($232)|0)!=0; //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($233) { __label__ = 37; break; } else { __label__ = 126; break; } //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 37: 
-      var $235=$rsize; //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $236=$2; //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $237=(($236+8)|0); //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $238=HEAP32[(($237)>>2)]; //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $239=$3; //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $240=(($238-$239)|0); //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $241=(($235)>>>0) < (($240)>>>0); //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($241) { __label__ = 38; break; } else { __label__ = 126; break; } //@line 4242 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 38: 
-      var $243=$v; //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $244=$243; //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $245=$2; //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $246=(($245+16)|0); //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $247=HEAPU32[(($246)>>2)]; //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $248=(($244)>>>0) >= (($247)>>>0); //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $249=(($248)&1); //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $250=(($249)==(1)); //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $251=(($250)|0)!=0; //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($251) { __label__ = 39; break; } else { __label__ = 125; break; } //@line 4243 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 39: 
-      var $253=$v; //@line 4244 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $254=$253; //@line 4244 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $255=$3; //@line 4244 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $256=(($254+$255)|0); //@line 4244 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $257=$256; //@line 4244 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $r=$257; //@line 4244 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $258=$v; //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $259=$258; //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $260=$r; //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $261=$260; //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $262=(($259)>>>0) < (($261)>>>0); //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $263=(($262)&1); //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $264=(($263)==(1)); //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $265=(($264)|0)!=0; //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($265) { __label__ = 40; break; } else { __label__ = 124; break; } //@line 4246 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 40: 
-      var $267=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $268=(($267+24)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $269=HEAP32[(($268)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $XP=$269; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $270=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $271=(($270+12)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $272=HEAP32[(($271)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $273=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $274=(($272)|0)!=(($273)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($274) { __label__ = 41; break; } else { __label__ = 45; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 41: 
-      var $276=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $277=(($276+8)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $278=HEAP32[(($277)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F=$278; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $279=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $280=(($279+12)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $281=HEAP32[(($280)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$281; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $282=$F; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $283=$282; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $284=$2; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $285=(($284+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $286=HEAPU32[(($285)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $287=(($283)>>>0) >= (($286)>>>0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $288=(($287)&1); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $289=(($288)==(1)); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $290=(($289)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($290) { __label__ = 42; break; } else { __label__ = 43; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 42: 
-      var $292=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $293=$F; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $294=(($293+12)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($294)>>2)]=$292; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $295=$F; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $296=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $297=(($296+8)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($297)>>2)]=$295; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 44; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 43: 
-      _abort(); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 44: 
-      __label__ = 57; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 45: 
-      var $301=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $302=(($301+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $303=(($302+4)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$303; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $304=HEAP32[(($303)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$304; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $305=(($304)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($305) { __label__ = 47; break; } else { __label__ = 46; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 46: 
-      var $307=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $308=(($307+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $309=(($308)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$309; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $310=HEAP32[(($309)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$310; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $311=(($310)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($311) { __label__ = 47; break; } else { __label__ = 56; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 47: 
-      __label__ = 48; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 48: 
-      var $314=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $315=(($314+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $316=(($315+4)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$316; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $317=HEAP32[(($316)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $318=(($317)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($318) { var $326 = 1;__label__ = 50; break; } else { __label__ = 49; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 49: 
-      var $320=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $321=(($320+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $322=(($321)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$322; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $323=HEAP32[(($322)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $324=(($323)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $326 = $324;__label__ = 50; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 50: 
-      var $326;
-      if ($326) { __label__ = 51; break; } else { __label__ = 52; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 51: 
-      var $328=$CP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$328; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $329=HEAP32[(($328)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$329; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 48; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 52: 
-      var $331=$RP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $332=$331; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $333=$2; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $334=(($333+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $335=HEAPU32[(($334)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $336=(($332)>>>0) >= (($335)>>>0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $337=(($336)&1); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $338=(($337)==(1)); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $339=(($338)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($339) { __label__ = 53; break; } else { __label__ = 54; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 53: 
-      var $341=$RP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($341)>>2)]=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 55; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 54: 
-      _abort(); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 55: 
-      __label__ = 56; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 56: 
-      __label__ = 57; break;
-    case 57: 
-      var $346=$XP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $347=(($346)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($347) { __label__ = 58; break; } else { __label__ = 85; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 58: 
-      var $349=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $350=(($349+28)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $351=HEAP32[(($350)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $352=$2; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $353=(($352+304)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $354=(($353+($351<<2))|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H=$354; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $355=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $356=$H; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $357=HEAP32[(($356)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $358=(($355)|0)==(($357)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($358) { __label__ = 59; break; } else { __label__ = 62; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 59: 
-      var $360=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $361=$H; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($361)>>2)]=$360; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $362=(($360)|0)==0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($362) { __label__ = 60; break; } else { __label__ = 61; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 60: 
-      var $364=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $365=(($364+28)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $366=HEAP32[(($365)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $367=1 << $366; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $368=$367 ^ -1; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $369=$2; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $370=(($369+4)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $371=HEAP32[(($370)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $372=$371 & $368; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($370)>>2)]=$372; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 61; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 61: 
-      __label__ = 69; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 62: 
-      var $375=$XP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $376=$375; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $377=$2; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $378=(($377+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $379=HEAPU32[(($378)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $380=(($376)>>>0) >= (($379)>>>0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $381=(($380)&1); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $382=(($381)==(1)); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $383=(($382)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($383) { __label__ = 63; break; } else { __label__ = 67; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 63: 
-      var $385=$XP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $386=(($385+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $387=(($386)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $388=HEAP32[(($387)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $389=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $390=(($388)|0)==(($389)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($390) { __label__ = 64; break; } else { __label__ = 65; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 64: 
-      var $392=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $393=$XP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $394=(($393+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $395=(($394)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($395)>>2)]=$392; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 66; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 65: 
-      var $397=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $398=$XP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $399=(($398+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $400=(($399+4)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($400)>>2)]=$397; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 66; break;
-    case 66: 
-      __label__ = 68; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 67: 
-      _abort(); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 68: 
-      __label__ = 69; break;
-    case 69: 
-      var $405=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $406=(($405)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($406) { __label__ = 70; break; } else { __label__ = 84; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 70: 
-      var $408=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $409=$408; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $410=$2; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $411=(($410+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $412=HEAPU32[(($411)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $413=(($409)>>>0) >= (($412)>>>0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $414=(($413)&1); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $415=(($414)==(1)); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $416=(($415)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($416) { __label__ = 71; break; } else { __label__ = 82; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 71: 
-      var $418=$XP; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $419=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $420=(($419+24)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($420)>>2)]=$418; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $421=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $422=(($421+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $423=(($422)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $424=HEAP32[(($423)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C0=$424; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $425=(($424)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($425) { __label__ = 72; break; } else { __label__ = 76; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 72: 
-      var $427=$C0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $428=$427; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $429=$2; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $430=(($429+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $431=HEAPU32[(($430)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $432=(($428)>>>0) >= (($431)>>>0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $433=(($432)&1); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $434=(($433)==(1)); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $435=(($434)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($435) { __label__ = 73; break; } else { __label__ = 74; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 73: 
-      var $437=$C0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $438=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $439=(($438+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $440=(($439)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($440)>>2)]=$437; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $441=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $442=$C0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $443=(($442+24)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($443)>>2)]=$441; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 75; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 74: 
-      _abort(); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 75: 
-      __label__ = 76; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 76: 
-      var $447=$v; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $448=(($447+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $449=(($448+4)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $450=HEAP32[(($449)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C1=$450; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $451=(($450)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($451) { __label__ = 77; break; } else { __label__ = 81; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 77: 
-      var $453=$C1; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $454=$453; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $455=$2; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $456=(($455+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $457=HEAPU32[(($456)>>2)]; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $458=(($454)>>>0) >= (($457)>>>0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $459=(($458)&1); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $460=(($459)==(1)); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $461=(($460)|0)!=0; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($461) { __label__ = 78; break; } else { __label__ = 79; break; } //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 78: 
-      var $463=$C1; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $464=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $465=(($464+16)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $466=(($465+4)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($466)>>2)]=$463; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $467=$R; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $468=$C1; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $469=(($468+24)|0); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($469)>>2)]=$467; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 80; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 79: 
-      _abort(); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 80: 
-      __label__ = 81; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 81: 
-      __label__ = 83; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 82: 
-      _abort(); //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 83: 
-      __label__ = 84; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 84: 
-      __label__ = 85; break; //@line 4247 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 85: 
-      var $477=$rsize; //@line 4248 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $478=(($477)>>>0) < 16; //@line 4248 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($478) { __label__ = 86; break; } else { __label__ = 87; break; } //@line 4248 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 86: 
-      var $480=$rsize; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $481=$3; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $482=(($480+$481)|0); //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $483=$482 | 1; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $484=$483 | 2; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $485=$v; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $486=(($485+4)|0); //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($486)>>2)]=$484; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $487=$v; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $488=$487; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $489=$rsize; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $490=$3; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $491=(($489+$490)|0); //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $492=(($488+$491)|0); //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $493=$492; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $494=(($493+4)|0); //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $495=HEAP32[(($494)>>2)]; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $496=$495 | 1; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($494)>>2)]=$496; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 123; break; //@line 4249 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 87: 
-      var $498=$3; //@line 4251 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $499=$498 | 1; //@line 4251 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $500=$499 | 2; //@line 4251 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $501=$v; //@line 4251 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $502=(($501+4)|0); //@line 4251 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($502)>>2)]=$500; //@line 4251 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $503=$rsize; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $504=$503 | 1; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $505=$r; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $506=(($505+4)|0); //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($506)>>2)]=$504; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $507=$rsize; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $508=$r; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $509=$508; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $510=$rsize; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $511=(($509+$510)|0); //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $512=$511; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $513=(($512)|0); //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($513)>>2)]=$507; //@line 4252 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $514=$rsize; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $515=$514 >>> 3; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $516=(($515)>>>0) < 32; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($516) { __label__ = 88; break; } else { __label__ = 95; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 88: 
-      var $518=$rsize; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $519=$518 >>> 3; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I=$519; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $520=$I; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $521=$520 << 1; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $522=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $523=(($522+40)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $524=(($523+($521<<2))|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $525=$524; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $526=$525; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B=$526; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $527=$B; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F5=$527; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $528=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $529=(($528)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $530=HEAP32[(($529)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $531=$I; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $532=1 << $531; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $533=$530 & $532; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $534=(($533)|0)!=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($534) { __label__ = 90; break; } else { __label__ = 89; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 89: 
-      var $536=$I; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $537=1 << $536; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $538=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $539=(($538)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $540=HEAP32[(($539)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $541=$540 | $537; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($539)>>2)]=$541; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 94; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 90: 
-      var $543=$B; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $544=(($543+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $545=HEAP32[(($544)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $546=$545; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $547=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $548=(($547+16)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $549=HEAPU32[(($548)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $550=(($546)>>>0) >= (($549)>>>0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $551=(($550)&1); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $552=(($551)==(1)); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $553=(($552)|0)!=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($553) { __label__ = 91; break; } else { __label__ = 92; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 91: 
-      var $555=$B; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $556=(($555+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $557=HEAP32[(($556)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F5=$557; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 93; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 92: 
-      _abort(); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 93: 
-      __label__ = 94; break;
-    case 94: 
-      var $561=$r; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $562=$B; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $563=(($562+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($563)>>2)]=$561; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $564=$r; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $565=$F5; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $566=(($565+12)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($566)>>2)]=$564; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $567=$F5; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $568=$r; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $569=(($568+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($569)>>2)]=$567; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $570=$B; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $571=$r; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $572=(($571+12)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($572)>>2)]=$570; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 122; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 95: 
-      var $574=$r; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $575=$574; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $TP=$575; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $576=$rsize; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $577=$576 >>> 8; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $X8=$577; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $578=$X8; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $579=(($578)|0)==0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($579) { __label__ = 96; break; } else { __label__ = 97; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 96: 
-      $I7=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 101; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 97: 
-      var $582=$X8; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $583=(($582)>>>0) > 65535; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($583) { __label__ = 98; break; } else { __label__ = 99; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 98: 
-      $I7=31; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 100; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 99: 
-      var $586=$X8; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y9=$586; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $587=$Y9; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $588=(($587-256)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $589=$588 >>> 16; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $590=$589 & 8; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N10=$590; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $591=$N10; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $592=$Y9; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $593=$592 << $591; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y9=$593; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $594=(($593-4096)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $595=$594 >>> 16; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $596=$595 & 4; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K11=$596; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $597=$K11; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $598=$N10; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $599=(($598+$597)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N10=$599; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $600=$K11; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $601=$Y9; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $602=$601 << $600; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y9=$602; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $603=(($602-16384)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $604=$603 >>> 16; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $605=$604 & 2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K11=$605; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $606=$N10; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $607=(($606+$605)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N10=$607; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $608=$N10; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $609=((14-$608)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $610=$K11; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $611=$Y9; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $612=$611 << $610; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y9=$612; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $613=$612 >>> 15; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $614=(($609+$613)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K11=$614; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $615=$K11; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $616=$615 << 1; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $617=$rsize; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $618=$K11; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $619=(($618+7)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $620=$617 >>> (($619)>>>0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $621=$620 & 1; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $622=(($616+$621)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I7=$622; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 100; break;
-    case 100: 
-      __label__ = 101; break;
-    case 101: 
-      var $625=$I7; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $626=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $627=(($626+304)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $628=(($627+($625<<2))|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H6=$628; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $629=$I7; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $630=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $631=(($630+28)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($631)>>2)]=$629; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $632=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $633=(($632+16)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $634=(($633+4)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($634)>>2)]=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $635=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $636=(($635+16)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $637=(($636)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($637)>>2)]=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $638=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $639=(($638+4)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $640=HEAP32[(($639)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $641=$I7; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $642=1 << $641; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $643=$640 & $642; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $644=(($643)|0)!=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($644) { __label__ = 103; break; } else { __label__ = 102; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 102: 
-      var $646=$I7; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $647=1 << $646; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $648=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $649=(($648+4)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $650=HEAP32[(($649)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $651=$650 | $647; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($649)>>2)]=$651; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $652=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $653=$H6; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($653)>>2)]=$652; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $654=$H6; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $655=$654; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $656=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $657=(($656+24)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($657)>>2)]=$655; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $658=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $659=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $660=(($659+12)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($660)>>2)]=$658; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $661=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $662=(($661+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($662)>>2)]=$658; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 121; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 103: 
-      var $664=$H6; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $665=HEAP32[(($664)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$665; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $666=$rsize; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $667=$I7; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $668=(($667)|0)==31; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($668) { __label__ = 104; break; } else { __label__ = 105; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 104: 
-      var $677 = 0;__label__ = 106; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 105: 
-      var $671=$I7; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $672=$671 >>> 1; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $673=(($672+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $674=(($673-2)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $675=((31-$674)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $677 = $675;__label__ = 106; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 106: 
-      var $677; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $678=$666 << $677; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K12=$678; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 107; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 107: 
-      var $680=$T; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $681=(($680+4)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $682=HEAP32[(($681)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $683=$682 & -8; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $684=$rsize; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $685=(($683)|0)!=(($684)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($685) { __label__ = 108; break; } else { __label__ = 114; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 108: 
-      var $687=$K12; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $688=$687 >>> 31; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $689=$688 & 1; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $690=$T; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $691=(($690+16)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $692=(($691+($689<<2))|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C=$692; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $693=$K12; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $694=$693 << 1; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K12=$694; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $695=$C; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $696=HEAP32[(($695)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $697=(($696)|0)!=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($697) { __label__ = 109; break; } else { __label__ = 110; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 109: 
-      var $699=$C; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $700=HEAP32[(($699)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$700; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 113; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 110: 
-      var $702=$C; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $703=$702; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $704=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $705=(($704+16)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $706=HEAPU32[(($705)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $707=(($703)>>>0) >= (($706)>>>0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $708=(($707)&1); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $709=(($708)==(1)); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $710=(($709)|0)!=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($710) { __label__ = 111; break; } else { __label__ = 112; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 111: 
-      var $712=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $713=$C; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($713)>>2)]=$712; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $714=$T; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $715=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $716=(($715+24)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($716)>>2)]=$714; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $717=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $718=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $719=(($718+12)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($719)>>2)]=$717; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $720=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $721=(($720+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($721)>>2)]=$717; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 120; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 112: 
-      _abort(); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 113: 
-      __label__ = 119; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 114: 
-      var $725=$T; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $726=(($725+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $727=HEAP32[(($726)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F13=$727; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $728=$T; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $729=$728; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $730=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $731=(($730+16)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $732=HEAPU32[(($731)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $733=(($729)>>>0) >= (($732)>>>0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($733) { __label__ = 115; break; } else { var $742 = 0;__label__ = 116; break; } //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 115: 
-      var $735=$F13; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $736=$735; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $737=$2; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $738=(($737+16)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $739=HEAPU32[(($738)>>2)]; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $740=(($736)>>>0) >= (($739)>>>0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $742 = $740;__label__ = 116; break;
-    case 116: 
-      var $742;
-      var $743=(($742)&1);
-      var $744=(($743)==(1));
-      var $745=(($744)|0)!=0;
-      if ($745) { __label__ = 117; break; } else { __label__ = 118; break; }
-    case 117: 
-      var $747=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $748=$F13; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $749=(($748+12)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($749)>>2)]=$747; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $750=$T; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $751=(($750+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($751)>>2)]=$747; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $752=$F13; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $753=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $754=(($753+8)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($754)>>2)]=$752; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $755=$T; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $756=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $757=(($756+12)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($757)>>2)]=$755; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $758=$TP; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $759=(($758+24)|0); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($759)>>2)]=0; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 120; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 118: 
-      _abort(); //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 119: 
-      __label__ = 107; break; //@line 4253 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 120: 
-      __label__ = 121; break;
-    case 121: 
-      __label__ = 122; break;
-    case 122: 
-      __label__ = 123; break;
-    case 123: 
-      var $766=$v; //@line 4255 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $767=$766; //@line 4255 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $768=(($767+8)|0); //@line 4255 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $1=$768; //@line 4255 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 127; break; //@line 4255 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 124: 
-      __label__ = 125; break; //@line 4257 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 125: 
-      _abort(); //@line 4258 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4258 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 126: 
-      $1=0; //@line 4260 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 127; break; //@line 4260 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 127: 
-      var $773=$1; //@line 4261 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $773; //@line 4261 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_tmalloc_large["X"]=1;
+QuicEncoder.prototype.decode_eatbits = function (len)
+{
+    this.io_word = this.io_word << len;
 
-function _sys_alloc($m, $nb) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $tbase;
-      var $tsize;
-      var $mmap_flag;
-      var $mem;
-      var $br;
-      var $ss;
-      var $asize;
-      var $base;
-      var $esize;
-      var $end;
-      var $asize1;
-      var $br2;
-      var $end3;
-      var $ssize;
-      var $mn;
-      var $sp;
-      var $oldbase;
-      var $rsize;
-      var $p;
-      var $r;
-      $2=$m;
-      $3=$nb;
-      $tbase=-1; //@line 3876 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tsize=0; //@line 3877 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mmap_flag=0; //@line 3878 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $4=HEAP32[((((_mparams)|0))>>2)]; //@line 3880 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $5=(($4)|0)!=0; //@line 3880 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($5) { var $10 = 1;__label__ = 3; break; } else { __label__ = 2; break; } //@line 3880 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $7=_init_mparams(); //@line 3880 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=(($7)|0)!=0; //@line 3880 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10 = $8;__label__ = 3; break; //@line 3880 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $10;
-      var $11=(($10)&1); //@line 3880 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $12=$2; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=(($12+440)|0); //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=HEAP32[(($13)>>2)]; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=$14 & 0; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=(($15)|0)!=0; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($16) { __label__ = 4; break; } else { __label__ = 9; break; } //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $18=$3; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19=HEAPU32[((((_mparams+12)|0))>>2)]; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=(($18)>>>0) >= (($19)>>>0); //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($20) { __label__ = 5; break; } else { __label__ = 9; break; } //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $22=$2; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=(($22+12)|0); //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=HEAP32[(($23)>>2)]; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=(($24)|0)!=0; //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($25) { __label__ = 6; break; } else { __label__ = 9; break; } //@line 3883 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $27=$2; //@line 3884 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=$3; //@line 3884 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=_mmap_alloc($27, $28); //@line 3884 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mem=$29; //@line 3884 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=$mem; //@line 3885 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=(($30)|0)!=0; //@line 3885 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($31) { __label__ = 7; break; } else { __label__ = 8; break; } //@line 3885 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $33=$mem; //@line 3886 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $1=$33; //@line 3886 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 92; break; //@line 3886 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      __label__ = 9; break; //@line 3887 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $36=$2; //@line 3911 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=(($36+440)|0); //@line 3911 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38=HEAP32[(($37)>>2)]; //@line 3911 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=$38 & 4; //@line 3911 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=(($39)|0)!=0; //@line 3911 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($40) { __label__ = 42; break; } else { __label__ = 10; break; } //@line 3911 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      $br=-1; //@line 3912 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=$2; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=(($42+24)|0); //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=HEAP32[(($43)>>2)]; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=(($44)|0)==0; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($45) { __label__ = 11; break; } else { __label__ = 12; break; } //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      var $55 = 0;__label__ = 13; break; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      var $48=$2; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $49=$2; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $50=(($49+24)|0); //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=HEAP32[(($50)>>2)]; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52=$51; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $53=_segment_holding($48, $52); //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55 = $53;__label__ = 13; break; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $55; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $ss=$55; //@line 3913 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $asize=0; //@line 3914 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=$ss; //@line 3917 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=(($56)|0)==0; //@line 3917 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($57) { __label__ = 14; break; } else { __label__ = 22; break; } //@line 3917 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      var $59=_sbrk(0); //@line 3918 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $base=$59; //@line 3918 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=$base; //@line 3919 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $61=(($60)|0)!=-1; //@line 3919 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($61) { __label__ = 15; break; } else { __label__ = 21; break; } //@line 3919 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      var $63=$3; //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=(($63+48)|0); //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $65=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $66=(($65-1)|0); //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $67=(($64+$66)|0); //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=(($68-1)|0); //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=$69 ^ -1; //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $71=$67 & $70; //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $asize=$71; //@line 3920 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $72=$base; //@line 3922 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $73=$72; //@line 3922 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $74=HEAP32[((((_mparams+4)|0))>>2)]; //@line 3922 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $75=(($74-1)|0); //@line 3922 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $76=$73 & $75; //@line 3922 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $77=(($76)|0)==0; //@line 3922 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($77) { __label__ = 17; break; } else { __label__ = 16; break; } //@line 3922 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      var $79=$base; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $80=$79; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=HEAP32[((((_mparams+4)|0))>>2)]; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=(($81-1)|0); //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83=(($80+$82)|0); //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $84=HEAP32[((((_mparams+4)|0))>>2)]; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $85=(($84-1)|0); //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $86=$85 ^ -1; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $87=$83 & $86; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $88=$base; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $89=$88; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $90=(($87-$89)|0); //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $91=$asize; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $92=(($91+$90)|0); //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $asize=$92; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 17; break; //@line 3923 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 17: 
-      var $94=$asize; //@line 3925 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $95=(($94)>>>0) < 2147483647; //@line 3925 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($95) { __label__ = 18; break; } else { __label__ = 20; break; } //@line 3925 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 18: 
-      var $97=$asize; //@line 3926 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $98=_sbrk($97); //@line 3926 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $br=$98; //@line 3926 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $99=$base; //@line 3926 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $100=(($98)|0)==(($99)|0); //@line 3926 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($100) { __label__ = 19; break; } else { __label__ = 20; break; } //@line 3926 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 19: 
-      var $102=$base; //@line 3927 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tbase=$102; //@line 3927 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=$asize; //@line 3928 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tsize=$103; //@line 3928 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 20; break; //@line 3929 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 20: 
-      __label__ = 21; break; //@line 3930 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 21: 
-      __label__ = 26; break; //@line 3931 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 22: 
-      var $107=$3; //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=$2; //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $109=(($108+12)|0); //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $110=HEAP32[(($109)>>2)]; //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $111=(($107-$110)|0); //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $112=(($111+48)|0); //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $113=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $114=(($113-1)|0); //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $115=(($112+$114)|0); //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $116=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $117=(($116-1)|0); //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $118=$117 ^ -1; //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $119=$115 & $118; //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $asize=$119; //@line 3934 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $120=$asize; //@line 3936 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $121=(($120)>>>0) < 2147483647; //@line 3936 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($121) { __label__ = 23; break; } else { __label__ = 25; break; } //@line 3936 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      var $123=$asize; //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $124=_sbrk($123); //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $br=$124; //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $125=$ss; //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $126=(($125)|0); //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $127=HEAP32[(($126)>>2)]; //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $128=$ss; //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $129=(($128+4)|0); //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $130=HEAP32[(($129)>>2)]; //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $131=(($127+$130)|0); //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $132=(($124)|0)==(($131)|0); //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($132) { __label__ = 24; break; } else { __label__ = 25; break; } //@line 3937 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 24: 
-      var $134=$br; //@line 3938 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tbase=$134; //@line 3938 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $135=$asize; //@line 3939 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tsize=$135; //@line 3939 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 25; break; //@line 3940 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      __label__ = 26; break;
-    case 26: 
-      var $138=$tbase; //@line 3943 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $139=(($138)|0)==-1; //@line 3943 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($139) { __label__ = 27; break; } else { __label__ = 41; break; } //@line 3943 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 27: 
-      var $141=$br; //@line 3944 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $142=(($141)|0)!=-1; //@line 3944 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($142) { __label__ = 28; break; } else { __label__ = 37; break; } //@line 3944 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 28: 
-      var $144=$asize; //@line 3945 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $145=(($144)>>>0) < 2147483647; //@line 3945 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($145) { __label__ = 29; break; } else { __label__ = 36; break; } //@line 3945 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 29: 
-      var $147=$asize; //@line 3945 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $148=$3; //@line 3945 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $149=(($148+48)|0); //@line 3945 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $150=(($147)>>>0) < (($149)>>>0); //@line 3945 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($150) { __label__ = 30; break; } else { __label__ = 36; break; } //@line 3945 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 30: 
-      var $152=$3; //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $153=(($152+48)|0); //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $154=$asize; //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $155=(($153-$154)|0); //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $156=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $157=(($156-1)|0); //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $158=(($155+$157)|0); //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $159=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $160=(($159-1)|0); //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $161=$160 ^ -1; //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $162=$158 & $161; //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $esize=$162; //@line 3947 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $163=$esize; //@line 3948 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $164=(($163)>>>0) < 2147483647; //@line 3948 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($164) { __label__ = 31; break; } else { __label__ = 35; break; } //@line 3948 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 31: 
-      var $166=$esize; //@line 3949 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $167=_sbrk($166); //@line 3949 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $end=$167; //@line 3949 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $168=$end; //@line 3950 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $169=(($168)|0)!=-1; //@line 3950 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($169) { __label__ = 32; break; } else { __label__ = 33; break; } //@line 3950 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 32: 
-      var $171=$esize; //@line 3951 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $172=$asize; //@line 3951 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $173=(($172+$171)|0); //@line 3951 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $asize=$173; //@line 3951 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 34; break; //@line 3951 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 33: 
-      var $175=$asize; //@line 3953 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $176=(((-$175))|0); //@line 3953 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $177=_sbrk($176); //@line 3953 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $br=-1; //@line 3954 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 34; break;
-    case 34: 
-      __label__ = 35; break; //@line 3956 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 35: 
-      __label__ = 36; break; //@line 3957 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 36: 
-      __label__ = 37; break; //@line 3958 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 37: 
-      var $182=$br; //@line 3959 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $183=(($182)|0)!=-1; //@line 3959 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($183) { __label__ = 38; break; } else { __label__ = 39; break; } //@line 3959 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 38: 
-      var $185=$br; //@line 3960 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tbase=$185; //@line 3960 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $186=$asize; //@line 3961 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tsize=$186; //@line 3961 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 40; break; //@line 3962 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 39: 
-      var $188=$2; //@line 3964 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $189=(($188+440)|0); //@line 3964 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $190=HEAP32[(($189)>>2)]; //@line 3964 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $191=$190 | 4; //@line 3964 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($189)>>2)]=$191; //@line 3964 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 40; break;
-    case 40: 
-      __label__ = 41; break; //@line 3965 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 41: 
-      __label__ = 42; break; //@line 3968 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 42: 
-      var $195=$tbase; //@line 3982 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $196=(($195)|0)==-1; //@line 3982 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($196) { __label__ = 43; break; } else { __label__ = 52; break; } //@line 3982 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 43: 
-      var $198=$3; //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $199=(($198+48)|0); //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $200=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $201=(($200-1)|0); //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $202=(($199+$201)|0); //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $203=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $204=(($203-1)|0); //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $205=$204 ^ -1; //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $206=$202 & $205; //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $asize1=$206; //@line 3983 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $207=$asize1; //@line 3984 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $208=(($207)>>>0) < 2147483647; //@line 3984 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($208) { __label__ = 44; break; } else { __label__ = 51; break; } //@line 3984 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 44: 
-      $br2=-1; //@line 3985 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $end3=-1; //@line 3986 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $210=$asize1; //@line 3988 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $211=_sbrk($210); //@line 3988 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $br2=$211; //@line 3988 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $212=_sbrk(0); //@line 3989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $end3=$212; //@line 3989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $213=$br2; //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $214=(($213)|0)!=-1; //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($214) { __label__ = 45; break; } else { __label__ = 50; break; } //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 45: 
-      var $216=$end3; //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $217=(($216)|0)!=-1; //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($217) { __label__ = 46; break; } else { __label__ = 50; break; } //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 46: 
-      var $219=$br2; //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $220=$end3; //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $221=(($219)>>>0) < (($220)>>>0); //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($221) { __label__ = 47; break; } else { __label__ = 50; break; } //@line 3991 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 47: 
-      var $223=$end3; //@line 3992 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $224=$br2; //@line 3992 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $225=$223; //@line 3992 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $226=$224; //@line 3992 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $227=(($225-$226)|0); //@line 3992 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $ssize=$227; //@line 3992 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $228=$ssize; //@line 3993 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $229=$3; //@line 3993 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $230=(($229+40)|0); //@line 3993 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $231=(($228)>>>0) > (($230)>>>0); //@line 3993 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($231) { __label__ = 48; break; } else { __label__ = 49; break; } //@line 3993 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 48: 
-      var $233=$br2; //@line 3994 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tbase=$233; //@line 3994 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $234=$ssize; //@line 3995 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tsize=$234; //@line 3995 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 49; break; //@line 3996 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 49: 
-      __label__ = 50; break; //@line 3997 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 50: 
-      __label__ = 51; break; //@line 3998 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 51: 
-      __label__ = 52; break; //@line 3999 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 52: 
-      var $239=$tbase; //@line 4001 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $240=(($239)|0)!=-1; //@line 4001 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($240) { __label__ = 53; break; } else { __label__ = 91; break; } //@line 4001 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 53: 
-      var $242=$tsize; //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $243=$2; //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $244=(($243+432)|0); //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $245=HEAP32[(($244)>>2)]; //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $246=(($245+$242)|0); //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($244)>>2)]=$246; //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $247=$2; //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $248=(($247+436)|0); //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $249=HEAPU32[(($248)>>2)]; //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $250=(($246)>>>0) > (($249)>>>0); //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($250) { __label__ = 54; break; } else { __label__ = 55; break; } //@line 4003 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 54: 
-      var $252=$2; //@line 4004 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $253=(($252+432)|0); //@line 4004 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $254=HEAP32[(($253)>>2)]; //@line 4004 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $255=$2; //@line 4004 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $256=(($255+436)|0); //@line 4004 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($256)>>2)]=$254; //@line 4004 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 55; break; //@line 4004 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 55: 
-      var $258=$2; //@line 4006 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $259=(($258+24)|0); //@line 4006 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $260=HEAP32[(($259)>>2)]; //@line 4006 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $261=(($260)|0)!=0; //@line 4006 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($261) { __label__ = 63; break; } else { __label__ = 56; break; } //@line 4006 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 56: 
-      var $263=$2; //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $264=(($263+16)|0); //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $265=HEAP32[(($264)>>2)]; //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $266=(($265)|0)==0; //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($266) { __label__ = 58; break; } else { __label__ = 57; break; } //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 57: 
-      var $268=$tbase; //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $269=$2; //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $270=(($269+16)|0); //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $271=HEAPU32[(($270)>>2)]; //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $272=(($268)>>>0) < (($271)>>>0); //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($272) { __label__ = 58; break; } else { __label__ = 59; break; } //@line 4007 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 58: 
-      var $274=$tbase; //@line 4008 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $275=$2; //@line 4008 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $276=(($275+16)|0); //@line 4008 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($276)>>2)]=$274; //@line 4008 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 59; break; //@line 4008 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 59: 
-      var $278=$tbase; //@line 4009 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $279=$2; //@line 4009 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $280=(($279+444)|0); //@line 4009 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $281=(($280)|0); //@line 4009 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($281)>>2)]=$278; //@line 4009 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $282=$tsize; //@line 4010 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $283=$2; //@line 4010 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $284=(($283+444)|0); //@line 4010 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $285=(($284+4)|0); //@line 4010 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($285)>>2)]=$282; //@line 4010 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $286=$mmap_flag; //@line 4011 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $287=$2; //@line 4011 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $288=(($287+444)|0); //@line 4011 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $289=(($288+12)|0); //@line 4011 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($289)>>2)]=$286; //@line 4011 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $290=HEAP32[((((_mparams)|0))>>2)]; //@line 4012 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $291=$2; //@line 4012 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $292=(($291+36)|0); //@line 4012 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($292)>>2)]=$290; //@line 4012 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $293=$2; //@line 4013 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $294=(($293+32)|0); //@line 4013 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($294)>>2)]=-1; //@line 4013 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $295=$2; //@line 4014 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      _init_bins($295); //@line 4014 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $296=$2; //@line 4016 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $297=(($296)|0)==((__gm_)|0); //@line 4016 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($297) { __label__ = 60; break; } else { __label__ = 61; break; } //@line 4016 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 60: 
-      var $299=$2; //@line 4017 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $300=$tbase; //@line 4017 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $301=$300; //@line 4017 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $302=$tsize; //@line 4017 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $303=(($302-40)|0); //@line 4017 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      _init_top($299, $301, $303); //@line 4017 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 62; break; //@line 4017 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 61: 
-      var $305=$2; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $306=$305; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $307=(($306-8)|0); //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $308=$307; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $309=$308; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $310=$2; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $311=$310; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $312=(($311-8)|0); //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $313=$312; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $314=(($313+4)|0); //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $315=HEAP32[(($314)>>2)]; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $316=$315 & -8; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $317=(($309+$316)|0); //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $318=$317; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mn=$318; //@line 4022 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $319=$2; //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $320=$mn; //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $321=$tbase; //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $322=$tsize; //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $323=(($321+$322)|0); //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $324=$mn; //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $325=$324; //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $326=$323; //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $327=$325; //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $328=(($326-$327)|0); //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $329=(($328-40)|0); //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      _init_top($319, $320, $329); //@line 4023 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 62; break;
-    case 62: 
-      __label__ = 88; break; //@line 4025 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 63: 
-      var $332=$2; //@line 4029 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $333=(($332+444)|0); //@line 4029 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$333; //@line 4029 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 64; break; //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 64: 
-      var $335=$sp; //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $336=(($335)|0)!=0; //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($336) { __label__ = 65; break; } else { var $348 = 0;__label__ = 66; break; } //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 65: 
-      var $338=$tbase; //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $339=$sp; //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $340=(($339)|0); //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $341=HEAP32[(($340)>>2)]; //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $342=$sp; //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $343=(($342+4)|0); //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $344=HEAP32[(($343)>>2)]; //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $345=(($341+$344)|0); //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $346=(($338)|0)!=(($345)|0); //@line 4031 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $348 = $346;__label__ = 66; break;
-    case 66: 
-      var $348;
-      if ($348) { __label__ = 67; break; } else { __label__ = 68; break; }
-    case 67: 
-      var $350=$sp; //@line 4032 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $351=(($350+8)|0); //@line 4032 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $352=HEAP32[(($351)>>2)]; //@line 4032 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$352; //@line 4032 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 64; break; //@line 4032 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 68: 
-      var $354=$sp; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $355=(($354)|0)!=0; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($355) { __label__ = 69; break; } else { __label__ = 74; break; } //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 69: 
-      var $357=$sp; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $358=(($357+12)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $359=HEAP32[(($358)>>2)]; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $360=$359 & 8; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $361=(($360)|0)!=0; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($361) { __label__ = 74; break; } else { __label__ = 70; break; } //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 70: 
-      var $363=$sp; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $364=(($363+12)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $365=HEAP32[(($364)>>2)]; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $366=$365 & 0; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $367=$mmap_flag; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $368=(($366)|0)==(($367)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($368) { __label__ = 71; break; } else { __label__ = 74; break; } //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 71: 
-      var $370=$2; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $371=(($370+24)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $372=HEAP32[(($371)>>2)]; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $373=$372; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $374=$sp; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $375=(($374)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $376=HEAPU32[(($375)>>2)]; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $377=(($373)>>>0) >= (($376)>>>0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($377) { __label__ = 72; break; } else { __label__ = 74; break; } //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 72: 
-      var $379=$2; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $380=(($379+24)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $381=HEAP32[(($380)>>2)]; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $382=$381; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $383=$sp; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $384=(($383)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $385=HEAP32[(($384)>>2)]; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $386=$sp; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $387=(($386+4)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $388=HEAP32[(($387)>>2)]; //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $389=(($385+$388)|0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $390=(($382)>>>0) < (($389)>>>0); //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($390) { __label__ = 73; break; } else { __label__ = 74; break; } //@line 4033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 73: 
-      var $392=$tsize; //@line 4037 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $393=$sp; //@line 4037 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $394=(($393+4)|0); //@line 4037 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $395=HEAP32[(($394)>>2)]; //@line 4037 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $396=(($395+$392)|0); //@line 4037 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($394)>>2)]=$396; //@line 4037 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $397=$2; //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $398=$2; //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $399=(($398+24)|0); //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $400=HEAP32[(($399)>>2)]; //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $401=$2; //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $402=(($401+12)|0); //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $403=HEAP32[(($402)>>2)]; //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $404=$tsize; //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $405=(($403+$404)|0); //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      _init_top($397, $400, $405); //@line 4038 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 87; break; //@line 4039 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 74: 
-      var $407=$tbase; //@line 4041 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $408=$2; //@line 4041 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $409=(($408+16)|0); //@line 4041 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $410=HEAPU32[(($409)>>2)]; //@line 4041 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $411=(($407)>>>0) < (($410)>>>0); //@line 4041 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($411) { __label__ = 75; break; } else { __label__ = 76; break; } //@line 4041 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 75: 
-      var $413=$tbase; //@line 4042 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $414=$2; //@line 4042 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $415=(($414+16)|0); //@line 4042 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($415)>>2)]=$413; //@line 4042 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 76; break; //@line 4042 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 76: 
-      var $417=$2; //@line 4043 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $418=(($417+444)|0); //@line 4043 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$418; //@line 4043 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 77; break; //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 77: 
-      var $420=$sp; //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $421=(($420)|0)!=0; //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($421) { __label__ = 78; break; } else { var $431 = 0;__label__ = 79; break; } //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 78: 
-      var $423=$sp; //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $424=(($423)|0); //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $425=HEAP32[(($424)>>2)]; //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $426=$tbase; //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $427=$tsize; //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $428=(($426+$427)|0); //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $429=(($425)|0)!=(($428)|0); //@line 4044 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $431 = $429;__label__ = 79; break;
-    case 79: 
-      var $431;
-      if ($431) { __label__ = 80; break; } else { __label__ = 81; break; }
-    case 80: 
-      var $433=$sp; //@line 4045 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $434=(($433+8)|0); //@line 4045 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $435=HEAP32[(($434)>>2)]; //@line 4045 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$435; //@line 4045 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 77; break; //@line 4045 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 81: 
-      var $437=$sp; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $438=(($437)|0)!=0; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($438) { __label__ = 82; break; } else { __label__ = 85; break; } //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 82: 
-      var $440=$sp; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $441=(($440+12)|0); //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $442=HEAP32[(($441)>>2)]; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $443=$442 & 8; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $444=(($443)|0)!=0; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($444) { __label__ = 85; break; } else { __label__ = 83; break; } //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 83: 
-      var $446=$sp; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $447=(($446+12)|0); //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $448=HEAP32[(($447)>>2)]; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $449=$448 & 0; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $450=$mmap_flag; //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $451=(($449)|0)==(($450)|0); //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($451) { __label__ = 84; break; } else { __label__ = 85; break; } //@line 4046 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 84: 
-      var $453=$sp; //@line 4049 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $454=(($453)|0); //@line 4049 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $455=HEAP32[(($454)>>2)]; //@line 4049 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $oldbase=$455; //@line 4049 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $456=$tbase; //@line 4050 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $457=$sp; //@line 4050 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $458=(($457)|0); //@line 4050 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($458)>>2)]=$456; //@line 4050 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $459=$tsize; //@line 4051 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $460=$sp; //@line 4051 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $461=(($460+4)|0); //@line 4051 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $462=HEAP32[(($461)>>2)]; //@line 4051 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $463=(($462+$459)|0); //@line 4051 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($461)>>2)]=$463; //@line 4051 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $464=$2; //@line 4052 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $465=$tbase; //@line 4052 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $466=$oldbase; //@line 4052 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $467=$3; //@line 4052 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $468=_prepend_alloc($464, $465, $466, $467); //@line 4052 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $1=$468; //@line 4052 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 92; break; //@line 4052 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 85: 
-      var $470=$2; //@line 4055 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $471=$tbase; //@line 4055 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $472=$tsize; //@line 4055 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $473=$mmap_flag; //@line 4055 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      _add_segment($470, $471, $472, $473); //@line 4055 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 86; break;
-    case 86: 
-      __label__ = 87; break;
-    case 87: 
-      __label__ = 88; break;
-    case 88: 
-      var $477=$3; //@line 4059 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $478=$2; //@line 4059 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $479=(($478+12)|0); //@line 4059 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $480=HEAPU32[(($479)>>2)]; //@line 4059 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $481=(($477)>>>0) < (($480)>>>0); //@line 4059 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($481) { __label__ = 89; break; } else { __label__ = 90; break; } //@line 4059 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 89: 
-      var $483=$3; //@line 4060 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $484=$2; //@line 4060 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $485=(($484+12)|0); //@line 4060 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $486=HEAP32[(($485)>>2)]; //@line 4060 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $487=(($486-$483)|0); //@line 4060 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($485)>>2)]=$487; //@line 4060 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rsize=$487; //@line 4060 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $488=$2; //@line 4061 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $489=(($488+24)|0); //@line 4061 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $490=HEAP32[(($489)>>2)]; //@line 4061 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$490; //@line 4061 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $491=$p; //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $492=$491; //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $493=$3; //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $494=(($492+$493)|0); //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $495=$494; //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $496=$2; //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $497=(($496+24)|0); //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($497)>>2)]=$495; //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $r=$495; //@line 4062 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $498=$rsize; //@line 4063 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $499=$498 | 1; //@line 4063 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $500=$r; //@line 4063 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $501=(($500+4)|0); //@line 4063 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($501)>>2)]=$499; //@line 4063 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $502=$3; //@line 4064 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $503=$502 | 1; //@line 4064 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $504=$503 | 2; //@line 4064 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $505=$p; //@line 4064 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $506=(($505+4)|0); //@line 4064 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($506)>>2)]=$504; //@line 4064 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $507=$p; //@line 4067 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $508=$507; //@line 4067 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $509=(($508+8)|0); //@line 4067 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $1=$509; //@line 4067 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 92; break; //@line 4067 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 90: 
-      __label__ = 91; break; //@line 4069 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 91: 
-      var $512=___errno(); //@line 4071 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($512)>>2)]=12; //@line 4071 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $1=0; //@line 4072 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 92; break; //@line 4072 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 92: 
-      var $514=$1; //@line 4073 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $514; //@line 4073 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
+    var delta = (this.io_available_bits - len);
+    if (delta >= 0)
+    {
+        this.io_available_bits = delta;
+        this.io_word |= this.io_next_word >>> this.io_available_bits;
+    }
+    else
+    {
+        delta = -1 * delta;
+        this.io_word |= this.io_next_word << delta;
+        this.read_io_word();
+        this.io_available_bits = 32 - delta;
+        this.io_word |= this.io_next_word >>> this.io_available_bits;
+    }
 }
-_sys_alloc["X"]=1;
 
-function _free($mem) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $p;
-      var $psize;
-      var $next;
-      var $prevsize;
-      var $prev;
-      var $F;
-      var $B;
-      var $I;
-      var $TP;
-      var $XP;
-      var $R;
-      var $F1;
-      var $RP;
-      var $CP;
-      var $H;
-      var $C0;
-      var $C1;
-      var $tsize;
-      var $dsize;
-      var $nsize;
-      var $F2;
-      var $B3;
-      var $I4;
-      var $TP5;
-      var $XP6;
-      var $R7;
-      var $F8;
-      var $RP9;
-      var $CP10;
-      var $H11;
-      var $C012;
-      var $C113;
-      var $I14;
-      var $B15;
-      var $F16;
-      var $tp;
-      var $H17;
-      var $I18;
-      var $X;
-      var $Y;
-      var $N;
-      var $K;
-      var $T;
-      var $K19;
-      var $C;
-      var $F20;
-      $1=$mem;
-      var $2=$1; //@line 4740 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $3=(($2)|0)!=0; //@line 4740 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($3) { __label__ = 2; break; } else { __label__ = 196; break; } //@line 4740 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $5=$1; //@line 4741 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=(($5-8)|0); //@line 4741 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=$6; //@line 4741 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$7; //@line 4741 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=$p; //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=$8; //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $11=(($9)>>>0) >= (($10)>>>0); //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($11) { __label__ = 3; break; } else { var $19 = 0;__label__ = 4; break; } //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $13=$p; //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=(($13+4)|0); //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=HEAP32[(($14)>>2)]; //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=$15 & 3; //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=(($16)|0)!=1; //@line 4753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19 = $17;__label__ = 4; break;
-    case 4: 
-      var $19;
-      var $20=(($19)&1);
-      var $21=(($20)==(1));
-      var $22=(($21)|0)!=0;
-      if ($22) { __label__ = 5; break; } else { __label__ = 193; break; }
-    case 5: 
-      var $24=$p; //@line 4754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=(($24+4)|0); //@line 4754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=HEAP32[(($25)>>2)]; //@line 4754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=$26 & -8; //@line 4754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$27; //@line 4754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=$p; //@line 4755 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=$28; //@line 4755 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=$psize; //@line 4755 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=(($29+$30)|0); //@line 4755 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=$31; //@line 4755 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $next=$32; //@line 4755 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=$p; //@line 4756 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $34=(($33+4)|0); //@line 4756 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=HEAP32[(($34)>>2)]; //@line 4756 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=$35 & 1; //@line 4756 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=(($36)|0)!=0; //@line 4756 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($37) { __label__ = 77; break; } else { __label__ = 6; break; } //@line 4756 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $39=$p; //@line 4757 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=(($39)|0); //@line 4757 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=HEAP32[(($40)>>2)]; //@line 4757 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $prevsize=$41; //@line 4757 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=$p; //@line 4758 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=(($42+4)|0); //@line 4758 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=HEAP32[(($43)>>2)]; //@line 4758 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=$44 & 3; //@line 4758 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=(($45)|0)==0; //@line 4758 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($46) { __label__ = 7; break; } else { __label__ = 8; break; } //@line 4758 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $48=$prevsize; //@line 4759 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $49=(($48+16)|0); //@line 4759 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $50=$psize; //@line 4759 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=(($50+$49)|0); //@line 4759 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$51; //@line 4759 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 195; break; //@line 4762 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      var $53=$p; //@line 4765 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $54=$53; //@line 4765 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55=$prevsize; //@line 4765 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=(((-$55))|0); //@line 4765 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=(($54+$56)|0); //@line 4765 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $58=$57; //@line 4765 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $prev=$58; //@line 4765 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $59=$prevsize; //@line 4766 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=$psize; //@line 4766 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $61=(($60+$59)|0); //@line 4766 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$61; //@line 4766 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $62=$prev; //@line 4767 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$62; //@line 4767 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $63=$prev; //@line 4768 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=$63; //@line 4768 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $65=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4768 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $66=(($64)>>>0) >= (($65)>>>0); //@line 4768 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $67=(($66)&1); //@line 4768 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=(($67)==(1)); //@line 4768 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=(($68)|0)!=0; //@line 4768 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($69) { __label__ = 9; break; } else { __label__ = 74; break; } //@line 4768 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $71=$p; //@line 4769 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $72=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4769 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $73=(($71)|0)!=(($72)|0); //@line 4769 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($73) { __label__ = 10; break; } else { __label__ = 70; break; } //@line 4769 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      var $75=$prevsize; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $76=$75 >>> 3; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $77=(($76)>>>0) < 32; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($77) { __label__ = 11; break; } else { __label__ = 23; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      var $79=$p; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $80=(($79+8)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=HEAP32[(($80)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F=$81; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=$p; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83=(($82+12)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $84=HEAP32[(($83)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B=$84; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $85=$prevsize; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $86=$85 >>> 3; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I=$86; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $87=$F; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $88=$B; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $89=(($87)|0)==(($88)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($89) { __label__ = 12; break; } else { __label__ = 13; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      var $91=$I; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $92=1 << $91; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $93=$92 ^ -1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $94=HEAP32[((((__gm_)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $95=$94 & $93; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_)|0))>>2)]=$95; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 22; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $97=$F; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $98=$I; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $99=$98 << 1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $100=((((__gm_+40)|0)+($99<<2))|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $101=$100; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $102=$101; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=(($97)|0)==(($102)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($103) { __label__ = 15; break; } else { __label__ = 14; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      var $105=$F; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $106=$105; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $107=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=(($106)>>>0) >= (($107)>>>0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($108) { __label__ = 15; break; } else { var $125 = 0;__label__ = 18; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      var $110=$B; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $111=$I; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $112=$111 << 1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $113=((((__gm_+40)|0)+($112<<2))|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $114=$113; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $115=$114; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $116=(($110)|0)==(($115)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($116) { var $123 = 1;__label__ = 17; break; } else { __label__ = 16; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      var $118=$B; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $119=$118; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $120=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $121=(($119)>>>0) >= (($120)>>>0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $123 = $121;__label__ = 17; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 17: 
-      var $123;
-      var $125 = $123;__label__ = 18; break;
-    case 18: 
-      var $125;
-      var $126=(($125)&1);
-      var $127=(($126)==(1));
-      var $128=(($127)|0)!=0;
-      if ($128) { __label__ = 19; break; } else { __label__ = 20; break; }
-    case 19: 
-      var $130=$B; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $131=$F; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $132=(($131+12)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($132)>>2)]=$130; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $133=$F; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $134=$B; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $135=(($134+8)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($135)>>2)]=$133; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 21; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 20: 
-      _abort(); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 21: 
-      __label__ = 22; break;
-    case 22: 
-      __label__ = 69; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      var $140=$p; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $141=$140; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $TP=$141; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $142=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $143=(($142+24)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $144=HEAP32[(($143)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $XP=$144; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $145=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $146=(($145+12)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $147=HEAP32[(($146)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $148=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $149=(($147)|0)!=(($148)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($149) { __label__ = 24; break; } else { __label__ = 28; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 24: 
-      var $151=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $152=(($151+8)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $153=HEAP32[(($152)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F1=$153; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $154=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $155=(($154+12)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $156=HEAP32[(($155)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$156; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $157=$F1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $158=$157; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $159=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $160=(($158)>>>0) >= (($159)>>>0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $161=(($160)&1); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $162=(($161)==(1)); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $163=(($162)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($163) { __label__ = 25; break; } else { __label__ = 26; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      var $165=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $166=$F1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $167=(($166+12)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($167)>>2)]=$165; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $168=$F1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $169=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $170=(($169+8)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($170)>>2)]=$168; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 27; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 26: 
-      _abort(); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 27: 
-      __label__ = 40; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 28: 
-      var $174=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $175=(($174+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $176=(($175+4)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$176; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $177=HEAP32[(($176)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$177; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $178=(($177)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($178) { __label__ = 30; break; } else { __label__ = 29; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 29: 
-      var $180=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $181=(($180+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $182=(($181)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$182; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $183=HEAP32[(($182)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$183; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $184=(($183)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($184) { __label__ = 30; break; } else { __label__ = 39; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 30: 
-      __label__ = 31; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 31: 
-      var $187=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $188=(($187+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $189=(($188+4)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$189; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $190=HEAP32[(($189)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $191=(($190)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($191) { var $199 = 1;__label__ = 33; break; } else { __label__ = 32; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 32: 
-      var $193=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $194=(($193+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $195=(($194)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$195; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $196=HEAP32[(($195)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $197=(($196)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $199 = $197;__label__ = 33; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 33: 
-      var $199;
-      if ($199) { __label__ = 34; break; } else { __label__ = 35; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 34: 
-      var $201=$CP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$201; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $202=HEAP32[(($201)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$202; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 31; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 35: 
-      var $204=$RP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $205=$204; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $206=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $207=(($205)>>>0) >= (($206)>>>0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $208=(($207)&1); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $209=(($208)==(1)); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $210=(($209)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($210) { __label__ = 36; break; } else { __label__ = 37; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 36: 
-      var $212=$RP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($212)>>2)]=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 38; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 37: 
-      _abort(); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 38: 
-      __label__ = 39; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 39: 
-      __label__ = 40; break;
-    case 40: 
-      var $217=$XP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $218=(($217)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($218) { __label__ = 41; break; } else { __label__ = 68; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 41: 
-      var $220=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $221=(($220+28)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $222=HEAP32[(($221)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $223=((((__gm_+304)|0)+($222<<2))|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H=$223; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $224=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $225=$H; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $226=HEAP32[(($225)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $227=(($224)|0)==(($226)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($227) { __label__ = 42; break; } else { __label__ = 45; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 42: 
-      var $229=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $230=$H; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($230)>>2)]=$229; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $231=(($229)|0)==0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($231) { __label__ = 43; break; } else { __label__ = 44; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 43: 
-      var $233=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $234=(($233+28)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $235=HEAP32[(($234)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $236=1 << $235; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $237=$236 ^ -1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $238=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $239=$238 & $237; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+4)|0))>>2)]=$239; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 44; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 44: 
-      __label__ = 52; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 45: 
-      var $242=$XP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $243=$242; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $244=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $245=(($243)>>>0) >= (($244)>>>0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $246=(($245)&1); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $247=(($246)==(1)); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $248=(($247)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($248) { __label__ = 46; break; } else { __label__ = 50; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 46: 
-      var $250=$XP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $251=(($250+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $252=(($251)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $253=HEAP32[(($252)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $254=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $255=(($253)|0)==(($254)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($255) { __label__ = 47; break; } else { __label__ = 48; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 47: 
-      var $257=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $258=$XP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $259=(($258+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $260=(($259)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($260)>>2)]=$257; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 49; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 48: 
-      var $262=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $263=$XP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $264=(($263+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $265=(($264+4)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($265)>>2)]=$262; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 49; break;
-    case 49: 
-      __label__ = 51; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 50: 
-      _abort(); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 51: 
-      __label__ = 52; break;
-    case 52: 
-      var $270=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $271=(($270)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($271) { __label__ = 53; break; } else { __label__ = 67; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 53: 
-      var $273=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $274=$273; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $275=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $276=(($274)>>>0) >= (($275)>>>0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $277=(($276)&1); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $278=(($277)==(1)); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $279=(($278)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($279) { __label__ = 54; break; } else { __label__ = 65; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 54: 
-      var $281=$XP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $282=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $283=(($282+24)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($283)>>2)]=$281; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $284=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $285=(($284+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $286=(($285)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $287=HEAP32[(($286)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C0=$287; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $288=(($287)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($288) { __label__ = 55; break; } else { __label__ = 59; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 55: 
-      var $290=$C0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $291=$290; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $292=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $293=(($291)>>>0) >= (($292)>>>0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $294=(($293)&1); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $295=(($294)==(1)); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $296=(($295)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($296) { __label__ = 56; break; } else { __label__ = 57; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 56: 
-      var $298=$C0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $299=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $300=(($299+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $301=(($300)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($301)>>2)]=$298; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $302=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $303=$C0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $304=(($303+24)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($304)>>2)]=$302; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 58; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 57: 
-      _abort(); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 58: 
-      __label__ = 59; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 59: 
-      var $308=$TP; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $309=(($308+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $310=(($309+4)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $311=HEAP32[(($310)>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C1=$311; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $312=(($311)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($312) { __label__ = 60; break; } else { __label__ = 64; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 60: 
-      var $314=$C1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $315=$314; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $316=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $317=(($315)>>>0) >= (($316)>>>0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $318=(($317)&1); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $319=(($318)==(1)); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $320=(($319)|0)!=0; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($320) { __label__ = 61; break; } else { __label__ = 62; break; } //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 61: 
-      var $322=$C1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $323=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $324=(($323+16)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $325=(($324+4)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($325)>>2)]=$322; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $326=$R; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $327=$C1; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $328=(($327+24)|0); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($328)>>2)]=$326; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 63; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 62: 
-      _abort(); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 63: 
-      __label__ = 64; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 64: 
-      __label__ = 66; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 65: 
-      _abort(); //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 66: 
-      __label__ = 67; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 67: 
-      __label__ = 68; break; //@line 4770 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 68: 
-      __label__ = 69; break;
-    case 69: 
-      __label__ = 73; break; //@line 4771 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 70: 
-      var $338=$next; //@line 4772 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $339=(($338+4)|0); //@line 4772 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $340=HEAP32[(($339)>>2)]; //@line 4772 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $341=$340 & 3; //@line 4772 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $342=(($341)|0)==3; //@line 4772 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($342) { __label__ = 71; break; } else { __label__ = 72; break; } //@line 4772 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 71: 
-      var $344=$psize; //@line 4773 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+8)|0))>>2)]=$344; //@line 4773 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $345=$next; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $346=(($345+4)|0); //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $347=HEAP32[(($346)>>2)]; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $348=$347 & -2; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($346)>>2)]=$348; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $349=$psize; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $350=$349 | 1; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $351=$p; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $352=(($351+4)|0); //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($352)>>2)]=$350; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $353=$psize; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $354=$p; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $355=$354; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $356=$psize; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $357=(($355+$356)|0); //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $358=$357; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $359=(($358)|0); //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($359)>>2)]=$353; //@line 4774 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 195; break; //@line 4775 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 72: 
-      __label__ = 73; break;
-    case 73: 
-      __label__ = 75; break; //@line 4777 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 74: 
-      __label__ = 194; break; //@line 4779 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 75: 
-      __label__ = 76; break;
-    case 76: 
-      __label__ = 77; break; //@line 4781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 77: 
-      var $366=$p; //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $367=$366; //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $368=$next; //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $369=$368; //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $370=(($367)>>>0) < (($369)>>>0); //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($370) { __label__ = 78; break; } else { var $378 = 0;__label__ = 79; break; } //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 78: 
-      var $372=$next; //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $373=(($372+4)|0); //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $374=HEAP32[(($373)>>2)]; //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $375=$374 & 1; //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $376=(($375)|0)!=0; //@line 4783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $378 = $376;__label__ = 79; break;
-    case 79: 
-      var $378;
-      var $379=(($378)&1);
-      var $380=(($379)==(1));
-      var $381=(($380)|0)!=0;
-      if ($381) { __label__ = 80; break; } else { __label__ = 192; break; }
-    case 80: 
-      var $383=$next; //@line 4784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $384=(($383+4)|0); //@line 4784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $385=HEAP32[(($384)>>2)]; //@line 4784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $386=$385 & 2; //@line 4784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $387=(($386)|0)!=0; //@line 4784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($387) { __label__ = 153; break; } else { __label__ = 81; break; } //@line 4784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 81: 
-      var $389=$next; //@line 4785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $390=HEAP32[((((__gm_+24)|0))>>2)]; //@line 4785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $391=(($389)|0)==(($390)|0); //@line 4785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($391) { __label__ = 82; break; } else { __label__ = 87; break; } //@line 4785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 82: 
-      var $393=$psize; //@line 4786 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $394=HEAP32[((((__gm_+12)|0))>>2)]; //@line 4786 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $395=(($394+$393)|0); //@line 4786 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+12)|0))>>2)]=$395; //@line 4786 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tsize=$395; //@line 4786 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $396=$p; //@line 4787 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+24)|0))>>2)]=$396; //@line 4787 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $397=$tsize; //@line 4788 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $398=$397 | 1; //@line 4788 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $399=$p; //@line 4788 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $400=(($399+4)|0); //@line 4788 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($400)>>2)]=$398; //@line 4788 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $401=$p; //@line 4789 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $402=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4789 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $403=(($401)|0)==(($402)|0); //@line 4789 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($403) { __label__ = 83; break; } else { __label__ = 84; break; } //@line 4789 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 83: 
-      HEAP32[((((__gm_+20)|0))>>2)]=0; //@line 4790 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+8)|0))>>2)]=0; //@line 4791 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 84; break; //@line 4792 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 84: 
-      var $406=$tsize; //@line 4793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $407=HEAPU32[((((__gm_+28)|0))>>2)]; //@line 4793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $408=(($406)>>>0) > (($407)>>>0); //@line 4793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($408) { __label__ = 85; break; } else { __label__ = 86; break; } //@line 4793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 85: 
-      var $410=_sys_trim(__gm_, 0); //@line 4794 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 86; break; //@line 4794 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 86: 
-      __label__ = 195; break; //@line 4795 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 87: 
-      var $413=$next; //@line 4797 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $414=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4797 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $415=(($413)|0)==(($414)|0); //@line 4797 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($415) { __label__ = 88; break; } else { __label__ = 89; break; } //@line 4797 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 88: 
-      var $417=$psize; //@line 4798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $418=HEAP32[((((__gm_+8)|0))>>2)]; //@line 4798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $419=(($418+$417)|0); //@line 4798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+8)|0))>>2)]=$419; //@line 4798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $dsize=$419; //@line 4798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $420=$p; //@line 4799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+20)|0))>>2)]=$420; //@line 4799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $421=$dsize; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $422=$421 | 1; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $423=$p; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $424=(($423+4)|0); //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($424)>>2)]=$422; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $425=$dsize; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $426=$p; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $427=$426; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $428=$dsize; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $429=(($427+$428)|0); //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $430=$429; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $431=(($430)|0); //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($431)>>2)]=$425; //@line 4800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 195; break; //@line 4801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 89: 
-      var $433=$next; //@line 4804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $434=(($433+4)|0); //@line 4804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $435=HEAP32[(($434)>>2)]; //@line 4804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $436=$435 & -8; //@line 4804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nsize=$436; //@line 4804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $437=$nsize; //@line 4805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $438=$psize; //@line 4805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $439=(($438+$437)|0); //@line 4805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$439; //@line 4805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $440=$nsize; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $441=$440 >>> 3; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $442=(($441)>>>0) < 32; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($442) { __label__ = 90; break; } else { __label__ = 102; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 90: 
-      var $444=$next; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $445=(($444+8)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $446=HEAP32[(($445)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F2=$446; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $447=$next; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $448=(($447+12)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $449=HEAP32[(($448)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B3=$449; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $450=$nsize; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $451=$450 >>> 3; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I4=$451; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $452=$F2; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $453=$B3; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $454=(($452)|0)==(($453)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($454) { __label__ = 91; break; } else { __label__ = 92; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 91: 
-      var $456=$I4; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $457=1 << $456; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $458=$457 ^ -1; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $459=HEAP32[((((__gm_)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $460=$459 & $458; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_)|0))>>2)]=$460; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 101; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 92: 
-      var $462=$F2; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $463=$I4; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $464=$463 << 1; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $465=((((__gm_+40)|0)+($464<<2))|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $466=$465; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $467=$466; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $468=(($462)|0)==(($467)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($468) { __label__ = 94; break; } else { __label__ = 93; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 93: 
-      var $470=$F2; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $471=$470; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $472=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $473=(($471)>>>0) >= (($472)>>>0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($473) { __label__ = 94; break; } else { var $490 = 0;__label__ = 97; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 94: 
-      var $475=$B3; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $476=$I4; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $477=$476 << 1; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $478=((((__gm_+40)|0)+($477<<2))|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $479=$478; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $480=$479; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $481=(($475)|0)==(($480)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($481) { var $488 = 1;__label__ = 96; break; } else { __label__ = 95; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 95: 
-      var $483=$B3; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $484=$483; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $485=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $486=(($484)>>>0) >= (($485)>>>0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $488 = $486;__label__ = 96; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 96: 
-      var $488;
-      var $490 = $488;__label__ = 97; break;
-    case 97: 
-      var $490;
-      var $491=(($490)&1);
-      var $492=(($491)==(1));
-      var $493=(($492)|0)!=0;
-      if ($493) { __label__ = 98; break; } else { __label__ = 99; break; }
-    case 98: 
-      var $495=$B3; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $496=$F2; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $497=(($496+12)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($497)>>2)]=$495; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $498=$F2; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $499=$B3; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $500=(($499+8)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($500)>>2)]=$498; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 100; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 99: 
-      _abort(); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 100: 
-      __label__ = 101; break;
-    case 101: 
-      __label__ = 148; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 102: 
-      var $505=$next; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $506=$505; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $TP5=$506; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $507=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $508=(($507+24)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $509=HEAP32[(($508)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $XP6=$509; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $510=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $511=(($510+12)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $512=HEAP32[(($511)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $513=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $514=(($512)|0)!=(($513)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($514) { __label__ = 103; break; } else { __label__ = 107; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 103: 
-      var $516=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $517=(($516+8)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $518=HEAP32[(($517)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F8=$518; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $519=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $520=(($519+12)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $521=HEAP32[(($520)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R7=$521; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $522=$F8; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $523=$522; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $524=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $525=(($523)>>>0) >= (($524)>>>0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $526=(($525)&1); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $527=(($526)==(1)); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $528=(($527)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($528) { __label__ = 104; break; } else { __label__ = 105; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 104: 
-      var $530=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $531=$F8; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $532=(($531+12)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($532)>>2)]=$530; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $533=$F8; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $534=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $535=(($534+8)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($535)>>2)]=$533; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 106; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 105: 
-      _abort(); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 106: 
-      __label__ = 119; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 107: 
-      var $539=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $540=(($539+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $541=(($540+4)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP9=$541; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $542=HEAP32[(($541)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R7=$542; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $543=(($542)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($543) { __label__ = 109; break; } else { __label__ = 108; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 108: 
-      var $545=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $546=(($545+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $547=(($546)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP9=$547; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $548=HEAP32[(($547)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R7=$548; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $549=(($548)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($549) { __label__ = 109; break; } else { __label__ = 118; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 109: 
-      __label__ = 110; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 110: 
-      var $552=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $553=(($552+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $554=(($553+4)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP10=$554; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $555=HEAP32[(($554)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $556=(($555)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($556) { var $564 = 1;__label__ = 112; break; } else { __label__ = 111; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 111: 
-      var $558=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $559=(($558+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $560=(($559)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP10=$560; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $561=HEAP32[(($560)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $562=(($561)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $564 = $562;__label__ = 112; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 112: 
-      var $564;
-      if ($564) { __label__ = 113; break; } else { __label__ = 114; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 113: 
-      var $566=$CP10; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP9=$566; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $567=HEAP32[(($566)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R7=$567; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 110; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 114: 
-      var $569=$RP9; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $570=$569; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $571=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $572=(($570)>>>0) >= (($571)>>>0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $573=(($572)&1); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $574=(($573)==(1)); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $575=(($574)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($575) { __label__ = 115; break; } else { __label__ = 116; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 115: 
-      var $577=$RP9; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($577)>>2)]=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 117; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 116: 
-      _abort(); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 117: 
-      __label__ = 118; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 118: 
-      __label__ = 119; break;
-    case 119: 
-      var $582=$XP6; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $583=(($582)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($583) { __label__ = 120; break; } else { __label__ = 147; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 120: 
-      var $585=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $586=(($585+28)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $587=HEAP32[(($586)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $588=((((__gm_+304)|0)+($587<<2))|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H11=$588; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $589=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $590=$H11; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $591=HEAP32[(($590)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $592=(($589)|0)==(($591)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($592) { __label__ = 121; break; } else { __label__ = 124; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 121: 
-      var $594=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $595=$H11; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($595)>>2)]=$594; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $596=(($594)|0)==0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($596) { __label__ = 122; break; } else { __label__ = 123; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 122: 
-      var $598=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $599=(($598+28)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $600=HEAP32[(($599)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $601=1 << $600; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $602=$601 ^ -1; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $603=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $604=$603 & $602; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+4)|0))>>2)]=$604; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 123; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 123: 
-      __label__ = 131; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 124: 
-      var $607=$XP6; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $608=$607; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $609=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $610=(($608)>>>0) >= (($609)>>>0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $611=(($610)&1); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $612=(($611)==(1)); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $613=(($612)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($613) { __label__ = 125; break; } else { __label__ = 129; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 125: 
-      var $615=$XP6; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $616=(($615+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $617=(($616)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $618=HEAP32[(($617)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $619=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $620=(($618)|0)==(($619)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($620) { __label__ = 126; break; } else { __label__ = 127; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 126: 
-      var $622=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $623=$XP6; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $624=(($623+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $625=(($624)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($625)>>2)]=$622; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 128; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 127: 
-      var $627=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $628=$XP6; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $629=(($628+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $630=(($629+4)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($630)>>2)]=$627; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 128; break;
-    case 128: 
-      __label__ = 130; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 129: 
-      _abort(); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 130: 
-      __label__ = 131; break;
-    case 131: 
-      var $635=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $636=(($635)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($636) { __label__ = 132; break; } else { __label__ = 146; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 132: 
-      var $638=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $639=$638; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $640=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $641=(($639)>>>0) >= (($640)>>>0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $642=(($641)&1); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $643=(($642)==(1)); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $644=(($643)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($644) { __label__ = 133; break; } else { __label__ = 144; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 133: 
-      var $646=$XP6; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $647=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $648=(($647+24)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($648)>>2)]=$646; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $649=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $650=(($649+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $651=(($650)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $652=HEAP32[(($651)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C012=$652; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $653=(($652)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($653) { __label__ = 134; break; } else { __label__ = 138; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 134: 
-      var $655=$C012; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $656=$655; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $657=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $658=(($656)>>>0) >= (($657)>>>0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $659=(($658)&1); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $660=(($659)==(1)); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $661=(($660)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($661) { __label__ = 135; break; } else { __label__ = 136; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 135: 
-      var $663=$C012; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $664=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $665=(($664+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $666=(($665)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($666)>>2)]=$663; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $667=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $668=$C012; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $669=(($668+24)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($669)>>2)]=$667; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 137; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 136: 
-      _abort(); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 137: 
-      __label__ = 138; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 138: 
-      var $673=$TP5; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $674=(($673+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $675=(($674+4)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $676=HEAP32[(($675)>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C113=$676; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $677=(($676)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($677) { __label__ = 139; break; } else { __label__ = 143; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 139: 
-      var $679=$C113; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $680=$679; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $681=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $682=(($680)>>>0) >= (($681)>>>0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $683=(($682)&1); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $684=(($683)==(1)); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $685=(($684)|0)!=0; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($685) { __label__ = 140; break; } else { __label__ = 141; break; } //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 140: 
-      var $687=$C113; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $688=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $689=(($688+16)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $690=(($689+4)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($690)>>2)]=$687; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $691=$R7; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $692=$C113; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $693=(($692+24)|0); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($693)>>2)]=$691; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 142; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 141: 
-      _abort(); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 142: 
-      __label__ = 143; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 143: 
-      __label__ = 145; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 144: 
-      _abort(); //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 145: 
-      __label__ = 146; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 146: 
-      __label__ = 147; break; //@line 4806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 147: 
-      __label__ = 148; break;
-    case 148: 
-      var $702=$psize; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $703=$702 | 1; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $704=$p; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $705=(($704+4)|0); //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($705)>>2)]=$703; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $706=$psize; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $707=$p; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $708=$707; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $709=$psize; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $710=(($708+$709)|0); //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $711=$710; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $712=(($711)|0); //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($712)>>2)]=$706; //@line 4807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $713=$p; //@line 4808 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $714=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4808 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $715=(($713)|0)==(($714)|0); //@line 4808 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($715) { __label__ = 149; break; } else { __label__ = 150; break; } //@line 4808 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 149: 
-      var $717=$psize; //@line 4809 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+8)|0))>>2)]=$717; //@line 4809 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 195; break; //@line 4810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 150: 
-      __label__ = 151; break;
-    case 151: 
-      __label__ = 152; break;
-    case 152: 
-      __label__ = 154; break; //@line 4813 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 153: 
-      var $722=$next; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $723=(($722+4)|0); //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $724=HEAP32[(($723)>>2)]; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $725=$724 & -2; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($723)>>2)]=$725; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $726=$psize; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $727=$726 | 1; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $728=$p; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $729=(($728+4)|0); //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($729)>>2)]=$727; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $730=$psize; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $731=$p; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $732=$731; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $733=$psize; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $734=(($732+$733)|0); //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $735=$734; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $736=(($735)|0); //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($736)>>2)]=$730; //@line 4815 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 154; break;
-    case 154: 
-      var $738=$psize; //@line 4817 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $739=$738 >>> 3; //@line 4817 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $740=(($739)>>>0) < 32; //@line 4817 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($740) { __label__ = 155; break; } else { __label__ = 162; break; } //@line 4817 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 155: 
-      var $742=$psize; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $743=$742 >>> 3; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I14=$743; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $744=$I14; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $745=$744 << 1; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $746=((((__gm_+40)|0)+($745<<2))|0); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $747=$746; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $748=$747; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B15=$748; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $749=$B15; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F16=$749; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $750=HEAP32[((((__gm_)|0))>>2)]; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $751=$I14; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $752=1 << $751; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $753=$750 & $752; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $754=(($753)|0)!=0; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($754) { __label__ = 157; break; } else { __label__ = 156; break; } //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 156: 
-      var $756=$I14; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $757=1 << $756; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $758=HEAP32[((((__gm_)|0))>>2)]; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $759=$758 | $757; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_)|0))>>2)]=$759; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 161; break; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 157: 
-      var $761=$B15; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $762=(($761+8)|0); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $763=HEAP32[(($762)>>2)]; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $764=$763; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $765=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $766=(($764)>>>0) >= (($765)>>>0); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $767=(($766)&1); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $768=(($767)==(1)); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $769=(($768)|0)!=0; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($769) { __label__ = 158; break; } else { __label__ = 159; break; } //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 158: 
-      var $771=$B15; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $772=(($771+8)|0); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $773=HEAP32[(($772)>>2)]; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F16=$773; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 160; break; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 159: 
-      _abort(); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 160: 
-      __label__ = 161; break;
-    case 161: 
-      var $777=$p; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $778=$B15; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $779=(($778+8)|0); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($779)>>2)]=$777; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $780=$p; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $781=$F16; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $782=(($781+12)|0); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($782)>>2)]=$780; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $783=$F16; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $784=$p; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $785=(($784+8)|0); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($785)>>2)]=$783; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $786=$B15; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $787=$p; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $788=(($787+12)|0); //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($788)>>2)]=$786; //@line 4818 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 191; break; //@line 4820 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 162: 
-      var $790=$p; //@line 4822 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $791=$790; //@line 4822 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tp=$791; //@line 4822 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $792=$psize; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $793=$792 >>> 8; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $X=$793; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $794=$X; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $795=(($794)|0)==0; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($795) { __label__ = 163; break; } else { __label__ = 164; break; } //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 163: 
-      $I18=0; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 168; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 164: 
-      var $798=$X; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $799=(($798)>>>0) > 65535; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($799) { __label__ = 165; break; } else { __label__ = 166; break; } //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 165: 
-      $I18=31; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 167; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 166: 
-      var $802=$X; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$802; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $803=$Y; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $804=(($803-256)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $805=$804 >>> 16; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $806=$805 & 8; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$806; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $807=$N; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $808=$Y; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $809=$808 << $807; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$809; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $810=(($809-4096)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $811=$810 >>> 16; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $812=$811 & 4; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$812; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $813=$K; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $814=$N; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $815=(($814+$813)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$815; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $816=$K; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $817=$Y; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $818=$817 << $816; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$818; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $819=(($818-16384)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $820=$819 >>> 16; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $821=$820 & 2; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$821; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $822=$N; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $823=(($822+$821)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$823; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $824=$N; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $825=((14-$824)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $826=$K; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $827=$Y; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $828=$827 << $826; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$828; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $829=$828 >>> 15; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $830=(($825+$829)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$830; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $831=$K; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $832=$831 << 1; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $833=$psize; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $834=$K; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $835=(($834+7)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $836=$833 >>> (($835)>>>0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $837=$836 & 1; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $838=(($832+$837)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I18=$838; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 167; break;
-    case 167: 
-      __label__ = 168; break;
-    case 168: 
-      var $841=$I18; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $842=((((__gm_+304)|0)+($841<<2))|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H17=$842; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $843=$I18; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $844=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $845=(($844+28)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($845)>>2)]=$843; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $846=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $847=(($846+16)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $848=(($847+4)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($848)>>2)]=0; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $849=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $850=(($849+16)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $851=(($850)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($851)>>2)]=0; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $852=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $853=$I18; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $854=1 << $853; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $855=$852 & $854; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $856=(($855)|0)!=0; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($856) { __label__ = 170; break; } else { __label__ = 169; break; } //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 169: 
-      var $858=$I18; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $859=1 << $858; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $860=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $861=$860 | $859; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+4)|0))>>2)]=$861; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $862=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $863=$H17; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($863)>>2)]=$862; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $864=$H17; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $865=$864; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $866=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $867=(($866+24)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($867)>>2)]=$865; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $868=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $869=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $870=(($869+12)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($870)>>2)]=$868; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $871=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $872=(($871+8)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($872)>>2)]=$868; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 188; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 170: 
-      var $874=$H17; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $875=HEAP32[(($874)>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$875; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $876=$psize; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $877=$I18; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $878=(($877)|0)==31; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($878) { __label__ = 171; break; } else { __label__ = 172; break; } //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 171: 
-      var $887 = 0;__label__ = 173; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 172: 
-      var $881=$I18; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $882=$881 >>> 1; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $883=(($882+8)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $884=(($883-2)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $885=((31-$884)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $887 = $885;__label__ = 173; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 173: 
-      var $887; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $888=$876 << $887; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K19=$888; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 174; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 174: 
-      var $890=$T; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $891=(($890+4)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $892=HEAP32[(($891)>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $893=$892 & -8; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $894=$psize; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $895=(($893)|0)!=(($894)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($895) { __label__ = 175; break; } else { __label__ = 181; break; } //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 175: 
-      var $897=$K19; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $898=$897 >>> 31; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $899=$898 & 1; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $900=$T; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $901=(($900+16)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $902=(($901+($899<<2))|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C=$902; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $903=$K19; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $904=$903 << 1; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K19=$904; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $905=$C; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $906=HEAP32[(($905)>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $907=(($906)|0)!=0; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($907) { __label__ = 176; break; } else { __label__ = 177; break; } //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 176: 
-      var $909=$C; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $910=HEAP32[(($909)>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$910; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 180; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 177: 
-      var $912=$C; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $913=$912; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $914=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $915=(($913)>>>0) >= (($914)>>>0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $916=(($915)&1); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $917=(($916)==(1)); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $918=(($917)|0)!=0; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($918) { __label__ = 178; break; } else { __label__ = 179; break; } //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 178: 
-      var $920=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $921=$C; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($921)>>2)]=$920; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $922=$T; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $923=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $924=(($923+24)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($924)>>2)]=$922; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $925=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $926=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $927=(($926+12)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($927)>>2)]=$925; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $928=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $929=(($928+8)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($929)>>2)]=$925; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 187; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 179: 
-      _abort(); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 180: 
-      __label__ = 186; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 181: 
-      var $933=$T; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $934=(($933+8)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $935=HEAP32[(($934)>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F20=$935; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $936=$T; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $937=$936; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $938=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $939=(($937)>>>0) >= (($938)>>>0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($939) { __label__ = 182; break; } else { var $946 = 0;__label__ = 183; break; } //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 182: 
-      var $941=$F20; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $942=$941; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $943=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $944=(($942)>>>0) >= (($943)>>>0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $946 = $944;__label__ = 183; break;
-    case 183: 
-      var $946;
-      var $947=(($946)&1);
-      var $948=(($947)==(1));
-      var $949=(($948)|0)!=0;
-      if ($949) { __label__ = 184; break; } else { __label__ = 185; break; }
-    case 184: 
-      var $951=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $952=$F20; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $953=(($952+12)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($953)>>2)]=$951; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $954=$T; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $955=(($954+8)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($955)>>2)]=$951; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $956=$F20; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $957=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $958=(($957+8)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($958)>>2)]=$956; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $959=$T; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $960=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $961=(($960+12)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($961)>>2)]=$959; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $962=$tp; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $963=(($962+24)|0); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($963)>>2)]=0; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 187; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 185: 
-      _abort(); //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 186: 
-      __label__ = 174; break; //@line 4823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 187: 
-      __label__ = 188; break;
-    case 188: 
-      var $968=HEAP32[((((__gm_+32)|0))>>2)]; //@line 4825 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $969=(($968-1)|0); //@line 4825 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+32)|0))>>2)]=$969; //@line 4825 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $970=(($969)|0)==0; //@line 4825 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($970) { __label__ = 189; break; } else { __label__ = 190; break; } //@line 4825 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 189: 
-      var $972=_release_unused_segments(__gm_); //@line 4826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 190; break; //@line 4826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 190: 
-      __label__ = 191; break;
-    case 191: 
-      __label__ = 195; break; //@line 4828 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 192: 
-      __label__ = 193; break; //@line 4830 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 193: 
-      __label__ = 194; break; //@line 4830 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 194: 
-      _abort(); //@line 4832 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4832 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 195: 
-      __label__ = 196; break; //@line 4836 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 196: 
-      ;
-      return; //@line 4840 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
+QuicEncoder.prototype.decode_eat32bits = function()
+{
+    this.decode_eatbits(16);
+    this.decode_eatbits(16);
 }
-Module["_free"] = _free;_free["X"]=1;
 
-function _sys_trim($m, $pad) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $released;
-      var $unit;
-      var $extra;
-      var $sp;
-      var $old_br;
-      var $rel_br;
-      var $new_br;
-      $1=$m;
-      $2=$pad;
-      $released=0; //@line 4126 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $3=HEAP32[((((_mparams)|0))>>2)]; //@line 4127 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $4=(($3)|0)!=0; //@line 4127 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($4) { var $9 = 1;__label__ = 3; break; } else { __label__ = 2; break; } //@line 4127 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $6=_init_mparams(); //@line 4127 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=(($6)|0)!=0; //@line 4127 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9 = $7;__label__ = 3; break; //@line 4127 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $9;
-      var $10=(($9)&1); //@line 4127 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $11=$2; //@line 4128 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $12=(($11)>>>0) < 4294967232; //@line 4128 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($12) { __label__ = 4; break; } else { __label__ = 25; break; } //@line 4128 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $14=$1; //@line 4128 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=(($14+24)|0); //@line 4128 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=HEAP32[(($15)>>2)]; //@line 4128 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=(($16)|0)!=0; //@line 4128 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($17) { __label__ = 5; break; } else { __label__ = 25; break; } //@line 4128 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $19=$2; //@line 4129 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=(($19+40)|0); //@line 4129 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $2=$20; //@line 4129 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=$1; //@line 4131 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=(($21+12)|0); //@line 4131 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=HEAPU32[(($22)>>2)]; //@line 4131 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=$2; //@line 4131 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=(($23)>>>0) > (($24)>>>0); //@line 4131 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($25) { __label__ = 6; break; } else { __label__ = 21; break; } //@line 4131 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $27=HEAP32[((((_mparams+8)|0))>>2)]; //@line 4133 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $unit=$27; //@line 4133 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=$1; //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=(($28+12)|0); //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=HEAP32[(($29)>>2)]; //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=$2; //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=(($30-$31)|0); //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=$unit; //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $34=(($33-1)|0); //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=(($32+$34)|0); //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=$unit; //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=Math.floor((($35)>>>0)/(($36)>>>0)); //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38=(($37-1)|0); //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=$unit; //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=(($38*$39)|0); //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $extra=$40; //@line 4135 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=$1; //@line 4136 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=$1; //@line 4136 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=(($42+24)|0); //@line 4136 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=HEAP32[(($43)>>2)]; //@line 4136 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=$44; //@line 4136 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=_segment_holding($41, $45); //@line 4136 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$46; //@line 4136 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $47=$sp; //@line 4138 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $48=(($47+12)|0); //@line 4138 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $49=HEAP32[(($48)>>2)]; //@line 4138 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $50=$49 & 8; //@line 4138 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=(($50)|0)!=0; //@line 4138 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($51) { __label__ = 18; break; } else { __label__ = 7; break; } //@line 4138 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $53=$sp; //@line 4139 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $54=(($53+12)|0); //@line 4139 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55=HEAP32[(($54)>>2)]; //@line 4139 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=$55 & 0; //@line 4139 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=(($56)|0)!=0; //@line 4139 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($57) { __label__ = 8; break; } else { __label__ = 9; break; } //@line 4139 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      __label__ = 17; break; //@line 4150 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $60=$extra; //@line 4152 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $61=(($60)>>>0) >= 2147483647; //@line 4152 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($61) { __label__ = 10; break; } else { __label__ = 11; break; } //@line 4152 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      var $63=$unit; //@line 4153 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=((-2147483648-$63)|0); //@line 4153 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $extra=$64; //@line 4153 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 11; break; //@line 4153 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      var $66=_sbrk(0); //@line 4157 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $old_br=$66; //@line 4157 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $67=$old_br; //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=$sp; //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=(($68)|0); //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=HEAP32[(($69)>>2)]; //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $71=$sp; //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $72=(($71+4)|0); //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $73=HEAP32[(($72)>>2)]; //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $74=(($70+$73)|0); //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $75=(($67)|0)==(($74)|0); //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($75) { __label__ = 12; break; } else { __label__ = 16; break; } //@line 4158 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      var $77=$extra; //@line 4159 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $78=(((-$77))|0); //@line 4159 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $79=_sbrk($78); //@line 4159 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rel_br=$79; //@line 4159 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $80=_sbrk(0); //@line 4160 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $new_br=$80; //@line 4160 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=$rel_br; //@line 4161 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=(($81)|0)!=-1; //@line 4161 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($82) { __label__ = 13; break; } else { __label__ = 15; break; } //@line 4161 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $84=$new_br; //@line 4161 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $85=$old_br; //@line 4161 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $86=(($84)>>>0) < (($85)>>>0); //@line 4161 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($86) { __label__ = 14; break; } else { __label__ = 15; break; } //@line 4161 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      var $88=$old_br; //@line 4162 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $89=$new_br; //@line 4162 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $90=$88; //@line 4162 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $91=$89; //@line 4162 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $92=(($90-$91)|0); //@line 4162 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $released=$92; //@line 4162 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 15; break; //@line 4162 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      __label__ = 16; break; //@line 4163 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      __label__ = 17; break;
-    case 17: 
-      __label__ = 18; break; //@line 4167 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 18: 
-      var $97=$released; //@line 4169 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $98=(($97)|0)!=0; //@line 4169 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($98) { __label__ = 19; break; } else { __label__ = 20; break; } //@line 4169 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 19: 
-      var $100=$released; //@line 4170 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $101=$sp; //@line 4170 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $102=(($101+4)|0); //@line 4170 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=HEAP32[(($102)>>2)]; //@line 4170 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $104=(($103-$100)|0); //@line 4170 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($102)>>2)]=$104; //@line 4170 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $105=$released; //@line 4171 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $106=$1; //@line 4171 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $107=(($106+432)|0); //@line 4171 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=HEAP32[(($107)>>2)]; //@line 4171 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $109=(($108-$105)|0); //@line 4171 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($107)>>2)]=$109; //@line 4171 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $110=$1; //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $111=$1; //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $112=(($111+24)|0); //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $113=HEAP32[(($112)>>2)]; //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $114=$1; //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $115=(($114+12)|0); //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $116=HEAP32[(($115)>>2)]; //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $117=$released; //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $118=(($116-$117)|0); //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      _init_top($110, $113, $118); //@line 4172 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 20; break; //@line 4174 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 20: 
-      __label__ = 21; break; //@line 4175 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 21: 
-      var $121=$released; //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $122=(($121)|0)==0; //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($122) { __label__ = 22; break; } else { __label__ = 24; break; } //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 22: 
-      var $124=$1; //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $125=(($124+12)|0); //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $126=HEAPU32[(($125)>>2)]; //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $127=$1; //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $128=(($127+28)|0); //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $129=HEAPU32[(($128)>>2)]; //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $130=(($126)>>>0) > (($129)>>>0); //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($130) { __label__ = 23; break; } else { __label__ = 24; break; } //@line 4182 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      var $132=$1; //@line 4183 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $133=(($132+28)|0); //@line 4183 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($133)>>2)]=-1; //@line 4183 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 24; break; //@line 4183 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 24: 
-      __label__ = 25; break; //@line 4184 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      var $136=$released; //@line 4186 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $137=(($136)|0)!=0; //@line 4186 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $138=$137 ? 1 : 0; //@line 4186 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $138; //@line 4186 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_sys_trim["X"]=1;
+QuicEncoder.prototype.reste_channels = function(bpc)
+{
+    var i;
 
-function _segment_holding($m, $addr) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $sp;
-      $2=$m;
-      $3=$addr;
-      var $4=$2; //@line 2562 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $5=(($4+444)|0); //@line 2562 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$5; //@line 2562 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 2; break; //@line 2563 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $7=$3; //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=$sp; //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=(($8)|0); //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=HEAPU32[(($9)>>2)]; //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $11=(($7)>>>0) >= (($10)>>>0); //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($11) { __label__ = 3; break; } else { __label__ = 5; break; } //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $13=$3; //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=$sp; //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=(($14)|0); //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=HEAP32[(($15)>>2)]; //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=$sp; //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=(($17+4)|0); //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19=HEAP32[(($18)>>2)]; //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=(($16+$19)|0); //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=(($13)>>>0) < (($20)>>>0); //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($21) { __label__ = 4; break; } else { __label__ = 5; break; } //@line 2564 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $23=$sp; //@line 2565 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $1=$23; //@line 2565 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 8; break; //@line 2565 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $25=$sp; //@line 2566 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=(($25+8)|0); //@line 2566 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=HEAP32[(($26)>>2)]; //@line 2566 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$27; //@line 2566 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=(($27)|0)==0; //@line 2566 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($28) { __label__ = 6; break; } else { __label__ = 7; break; } //@line 2566 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      $1=0; //@line 2567 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 8; break; //@line 2567 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      __label__ = 2; break; //@line 2568 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      var $32=$1; //@line 2569 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $32; //@line 2569 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
+    for (i = 0; i < 4; i++)
+        if (!this.channels[i].reste(bpc))
+            return false;
+    return true;
 }
 
+QuicEncoder.prototype.quic_decode_begin = function(io_ptr)
+{
+    if (!this.reste(io_ptr)) {
+        return false;
+    }
 
-function _release_unused_segments($m) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $released;
-      var $nsegs;
-      var $pred;
-      var $sp;
-      var $base;
-      var $size;
-      var $next;
-      var $p;
-      var $psize;
-      var $tp;
-      var $XP;
-      var $R;
-      var $F;
-      var $RP;
-      var $CP;
-      var $H;
-      var $C0;
-      var $C1;
-      var $H1;
-      var $I;
-      var $X;
-      var $Y;
-      var $N;
-      var $K;
-      var $T;
-      var $K2;
-      var $C;
-      var $F3;
-      $1=$m;
-      $released=0; //@line 4079 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nsegs=0; //@line 4080 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $2=$1; //@line 4081 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $3=(($2+444)|0); //@line 4081 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $pred=$3; //@line 4081 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $4=$pred; //@line 4082 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $5=(($4+8)|0); //@line 4082 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=HEAP32[(($5)>>2)]; //@line 4082 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$6; //@line 4082 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 2; break; //@line 4083 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $8=$sp; //@line 4083 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=(($8)|0)!=0; //@line 4083 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($9) { __label__ = 3; break; } else { __label__ = 87; break; } //@line 4083 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $11=$sp; //@line 4084 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $12=(($11)|0); //@line 4084 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=HEAP32[(($12)>>2)]; //@line 4084 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $base=$13; //@line 4084 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=$sp; //@line 4085 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=(($14+4)|0); //@line 4085 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=HEAP32[(($15)>>2)]; //@line 4085 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $size=$16; //@line 4085 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=$sp; //@line 4086 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=(($17+8)|0); //@line 4086 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19=HEAP32[(($18)>>2)]; //@line 4086 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $next=$19; //@line 4086 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=$nsegs; //@line 4087 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=(($20+1)|0); //@line 4087 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nsegs=$21; //@line 4087 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=$sp; //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=(($22+12)|0); //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=HEAP32[(($23)>>2)]; //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=$24 & 0; //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=(($25)|0)!=0; //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($26) { __label__ = 4; break; } else { __label__ = 86; break; } //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $28=$sp; //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=(($28+12)|0); //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=HEAP32[(($29)>>2)]; //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=$30 & 8; //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=(($31)|0)!=0; //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($32) { __label__ = 86; break; } else { __label__ = 5; break; } //@line 4088 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $34=$base; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=$base; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=(($35+8)|0); //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=$36; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38=$37 & 7; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=(($38)|0)==0; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($39) { __label__ = 6; break; } else { __label__ = 7; break; } //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $49 = 0;__label__ = 8; break; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $42=$base; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=(($42+8)|0); //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=$43; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=$44 & 7; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=((8-$45)|0); //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $47=$46 & 7; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $49 = $47;__label__ = 8; break; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      var $49; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $50=(($34+$49)|0); //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=$50; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$51; //@line 4089 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52=$p; //@line 4090 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $53=(($52+4)|0); //@line 4090 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $54=HEAP32[(($53)>>2)]; //@line 4090 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55=$54 & -8; //@line 4090 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$55; //@line 4090 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=$p; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=(($56+4)|0); //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $58=HEAP32[(($57)>>2)]; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $59=$58 & 3; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=(($59)|0)!=1; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($60) { __label__ = 85; break; } else { __label__ = 9; break; } //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $62=$p; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $63=$62; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=$psize; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $65=(($63+$64)|0); //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $66=$base; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $67=$size; //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=(($66+$67)|0); //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=(($68-40)|0); //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=(($65)>>>0) >= (($69)>>>0); //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($70) { __label__ = 10; break; } else { __label__ = 85; break; } //@line 4092 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      var $72=$p; //@line 4093 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $73=$72; //@line 4093 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tp=$73; //@line 4093 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $74=$p; //@line 4095 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $75=$1; //@line 4095 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $76=(($75+20)|0); //@line 4095 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $77=HEAP32[(($76)>>2)]; //@line 4095 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $78=(($74)|0)==(($77)|0); //@line 4095 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($78) { __label__ = 11; break; } else { __label__ = 12; break; } //@line 4095 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      var $80=$1; //@line 4096 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=(($80+20)|0); //@line 4096 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($81)>>2)]=0; //@line 4096 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=$1; //@line 4097 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83=(($82+8)|0); //@line 4097 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($83)>>2)]=0; //@line 4097 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 58; break; //@line 4098 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      var $85=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $86=(($85+24)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $87=HEAP32[(($86)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $XP=$87; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $88=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $89=(($88+12)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $90=HEAP32[(($89)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $91=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $92=(($90)|0)!=(($91)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($92) { __label__ = 13; break; } else { __label__ = 17; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $94=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $95=(($94+8)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $96=HEAP32[(($95)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F=$96; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $97=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $98=(($97+12)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $99=HEAP32[(($98)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$99; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $100=$F; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $101=$100; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $102=$1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=(($102+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $104=HEAPU32[(($103)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $105=(($101)>>>0) >= (($104)>>>0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $106=(($105)&1); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $107=(($106)==(1)); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=(($107)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($108) { __label__ = 14; break; } else { __label__ = 15; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      var $110=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $111=$F; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $112=(($111+12)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($112)>>2)]=$110; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $113=$F; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $114=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $115=(($114+8)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($115)>>2)]=$113; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 16; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      _abort(); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      __label__ = 29; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 17: 
-      var $119=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $120=(($119+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $121=(($120+4)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$121; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $122=HEAP32[(($121)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$122; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $123=(($122)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($123) { __label__ = 19; break; } else { __label__ = 18; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 18: 
-      var $125=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $126=(($125+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $127=(($126)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$127; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $128=HEAP32[(($127)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$128; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $129=(($128)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($129) { __label__ = 19; break; } else { __label__ = 28; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 19: 
-      __label__ = 20; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 20: 
-      var $132=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $133=(($132+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $134=(($133+4)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$134; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $135=HEAP32[(($134)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $136=(($135)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($136) { var $144 = 1;__label__ = 22; break; } else { __label__ = 21; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 21: 
-      var $138=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $139=(($138+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $140=(($139)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$140; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $141=HEAP32[(($140)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $142=(($141)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $144 = $142;__label__ = 22; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 22: 
-      var $144;
-      if ($144) { __label__ = 23; break; } else { __label__ = 24; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      var $146=$CP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$146; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $147=HEAP32[(($146)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$147; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 20; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 24: 
-      var $149=$RP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $150=$149; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $151=$1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $152=(($151+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $153=HEAPU32[(($152)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $154=(($150)>>>0) >= (($153)>>>0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $155=(($154)&1); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $156=(($155)==(1)); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $157=(($156)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($157) { __label__ = 25; break; } else { __label__ = 26; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      var $159=$RP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($159)>>2)]=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 27; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 26: 
-      _abort(); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 27: 
-      __label__ = 28; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 28: 
-      __label__ = 29; break;
-    case 29: 
-      var $164=$XP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $165=(($164)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($165) { __label__ = 30; break; } else { __label__ = 57; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 30: 
-      var $167=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $168=(($167+28)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $169=HEAP32[(($168)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $170=$1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $171=(($170+304)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $172=(($171+($169<<2))|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H=$172; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $173=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $174=$H; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $175=HEAP32[(($174)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $176=(($173)|0)==(($175)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($176) { __label__ = 31; break; } else { __label__ = 34; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 31: 
-      var $178=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $179=$H; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($179)>>2)]=$178; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $180=(($178)|0)==0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($180) { __label__ = 32; break; } else { __label__ = 33; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 32: 
-      var $182=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $183=(($182+28)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $184=HEAP32[(($183)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $185=1 << $184; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $186=$185 ^ -1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $187=$1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $188=(($187+4)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $189=HEAP32[(($188)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $190=$189 & $186; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($188)>>2)]=$190; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 33; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 33: 
-      __label__ = 41; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 34: 
-      var $193=$XP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $194=$193; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $195=$1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $196=(($195+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $197=HEAPU32[(($196)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $198=(($194)>>>0) >= (($197)>>>0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $199=(($198)&1); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $200=(($199)==(1)); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $201=(($200)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($201) { __label__ = 35; break; } else { __label__ = 39; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 35: 
-      var $203=$XP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $204=(($203+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $205=(($204)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $206=HEAP32[(($205)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $207=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $208=(($206)|0)==(($207)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($208) { __label__ = 36; break; } else { __label__ = 37; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 36: 
-      var $210=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $211=$XP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $212=(($211+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $213=(($212)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($213)>>2)]=$210; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 38; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 37: 
-      var $215=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $216=$XP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $217=(($216+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $218=(($217+4)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($218)>>2)]=$215; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 38; break;
-    case 38: 
-      __label__ = 40; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 39: 
-      _abort(); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 40: 
-      __label__ = 41; break;
-    case 41: 
-      var $223=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $224=(($223)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($224) { __label__ = 42; break; } else { __label__ = 56; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 42: 
-      var $226=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $227=$226; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $228=$1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $229=(($228+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $230=HEAPU32[(($229)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $231=(($227)>>>0) >= (($230)>>>0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $232=(($231)&1); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $233=(($232)==(1)); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $234=(($233)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($234) { __label__ = 43; break; } else { __label__ = 54; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 43: 
-      var $236=$XP; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $237=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $238=(($237+24)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($238)>>2)]=$236; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $239=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $240=(($239+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $241=(($240)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $242=HEAP32[(($241)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C0=$242; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $243=(($242)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($243) { __label__ = 44; break; } else { __label__ = 48; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 44: 
-      var $245=$C0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $246=$245; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $247=$1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $248=(($247+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $249=HEAPU32[(($248)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $250=(($246)>>>0) >= (($249)>>>0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $251=(($250)&1); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $252=(($251)==(1)); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $253=(($252)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($253) { __label__ = 45; break; } else { __label__ = 46; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 45: 
-      var $255=$C0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $256=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $257=(($256+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $258=(($257)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($258)>>2)]=$255; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $259=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $260=$C0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $261=(($260+24)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($261)>>2)]=$259; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 47; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 46: 
-      _abort(); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 47: 
-      __label__ = 48; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 48: 
-      var $265=$tp; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $266=(($265+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $267=(($266+4)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $268=HEAP32[(($267)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C1=$268; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $269=(($268)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($269) { __label__ = 49; break; } else { __label__ = 53; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 49: 
-      var $271=$C1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $272=$271; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $273=$1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $274=(($273+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $275=HEAPU32[(($274)>>2)]; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $276=(($272)>>>0) >= (($275)>>>0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $277=(($276)&1); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $278=(($277)==(1)); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $279=(($278)|0)!=0; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($279) { __label__ = 50; break; } else { __label__ = 51; break; } //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 50: 
-      var $281=$C1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $282=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $283=(($282+16)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $284=(($283+4)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($284)>>2)]=$281; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $285=$R; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $286=$C1; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $287=(($286+24)|0); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($287)>>2)]=$285; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 52; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 51: 
-      _abort(); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 52: 
-      __label__ = 53; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 53: 
-      __label__ = 55; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 54: 
-      _abort(); //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 55: 
-      __label__ = 56; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 56: 
-      __label__ = 57; break; //@line 4100 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 57: 
-      __label__ = 58; break;
-    case 58: 
-      var $296=$psize; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $297=$296 >>> 8; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $X=$297; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $298=$X; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $299=(($298)|0)==0; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($299) { __label__ = 59; break; } else { __label__ = 60; break; } //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 59: 
-      $I=0; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 64; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 60: 
-      var $302=$X; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $303=(($302)>>>0) > 65535; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($303) { __label__ = 61; break; } else { __label__ = 62; break; } //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 61: 
-      $I=31; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 63; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 62: 
-      var $306=$X; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$306; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $307=$Y; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $308=(($307-256)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $309=$308 >>> 16; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $310=$309 & 8; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$310; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $311=$N; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $312=$Y; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $313=$312 << $311; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$313; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $314=(($313-4096)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $315=$314 >>> 16; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $316=$315 & 4; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$316; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $317=$K; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $318=$N; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $319=(($318+$317)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$319; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $320=$K; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $321=$Y; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $322=$321 << $320; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$322; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $323=(($322-16384)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $324=$323 >>> 16; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $325=$324 & 2; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$325; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $326=$N; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $327=(($326+$325)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$327; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $328=$N; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $329=((14-$328)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $330=$K; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $331=$Y; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $332=$331 << $330; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$332; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $333=$332 >>> 15; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $334=(($329+$333)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$334; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $335=$K; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $336=$335 << 1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $337=$psize; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $338=$K; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $339=(($338+7)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $340=$337 >>> (($339)>>>0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $341=$340 & 1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $342=(($336+$341)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I=$342; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 63; break;
-    case 63: 
-      __label__ = 64; break;
-    case 64: 
-      var $345=$I; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $346=$1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $347=(($346+304)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $348=(($347+($345<<2))|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H1=$348; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $349=$I; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $350=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $351=(($350+28)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($351)>>2)]=$349; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $352=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $353=(($352+16)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $354=(($353+4)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($354)>>2)]=0; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $355=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $356=(($355+16)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $357=(($356)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($357)>>2)]=0; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $358=$1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $359=(($358+4)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $360=HEAP32[(($359)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $361=$I; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $362=1 << $361; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $363=$360 & $362; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $364=(($363)|0)!=0; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($364) { __label__ = 66; break; } else { __label__ = 65; break; } //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 65: 
-      var $366=$I; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $367=1 << $366; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $368=$1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $369=(($368+4)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $370=HEAP32[(($369)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $371=$370 | $367; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($369)>>2)]=$371; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $372=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $373=$H1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($373)>>2)]=$372; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $374=$H1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $375=$374; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $376=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $377=(($376+24)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($377)>>2)]=$375; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $378=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $379=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $380=(($379+12)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($380)>>2)]=$378; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $381=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $382=(($381+8)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($382)>>2)]=$378; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 84; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 66: 
-      var $384=$H1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $385=HEAP32[(($384)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$385; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $386=$psize; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $387=$I; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $388=(($387)|0)==31; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($388) { __label__ = 67; break; } else { __label__ = 68; break; } //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 67: 
-      var $397 = 0;__label__ = 69; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 68: 
-      var $391=$I; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $392=$391 >>> 1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $393=(($392+8)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $394=(($393-2)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $395=((31-$394)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $397 = $395;__label__ = 69; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 69: 
-      var $397; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $398=$386 << $397; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$398; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 70; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 70: 
-      var $400=$T; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $401=(($400+4)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $402=HEAP32[(($401)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $403=$402 & -8; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $404=$psize; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $405=(($403)|0)!=(($404)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($405) { __label__ = 71; break; } else { __label__ = 77; break; } //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 71: 
-      var $407=$K2; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $408=$407 >>> 31; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $409=$408 & 1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $410=$T; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $411=(($410+16)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $412=(($411+($409<<2))|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C=$412; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $413=$K2; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $414=$413 << 1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$414; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $415=$C; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $416=HEAP32[(($415)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $417=(($416)|0)!=0; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($417) { __label__ = 72; break; } else { __label__ = 73; break; } //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 72: 
-      var $419=$C; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $420=HEAP32[(($419)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$420; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 76; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 73: 
-      var $422=$C; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $423=$422; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $424=$1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $425=(($424+16)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $426=HEAPU32[(($425)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $427=(($423)>>>0) >= (($426)>>>0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $428=(($427)&1); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $429=(($428)==(1)); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $430=(($429)|0)!=0; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($430) { __label__ = 74; break; } else { __label__ = 75; break; } //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 74: 
-      var $432=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $433=$C; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($433)>>2)]=$432; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $434=$T; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $435=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $436=(($435+24)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($436)>>2)]=$434; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $437=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $438=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $439=(($438+12)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($439)>>2)]=$437; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $440=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $441=(($440+8)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($441)>>2)]=$437; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 83; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 75: 
-      _abort(); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 76: 
-      __label__ = 82; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 77: 
-      var $445=$T; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $446=(($445+8)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $447=HEAP32[(($446)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F3=$447; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $448=$T; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $449=$448; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $450=$1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $451=(($450+16)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $452=HEAPU32[(($451)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $453=(($449)>>>0) >= (($452)>>>0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($453) { __label__ = 78; break; } else { var $462 = 0;__label__ = 79; break; } //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 78: 
-      var $455=$F3; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $456=$455; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $457=$1; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $458=(($457+16)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $459=HEAPU32[(($458)>>2)]; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $460=(($456)>>>0) >= (($459)>>>0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $462 = $460;__label__ = 79; break;
-    case 79: 
-      var $462;
-      var $463=(($462)&1);
-      var $464=(($463)==(1));
-      var $465=(($464)|0)!=0;
-      if ($465) { __label__ = 80; break; } else { __label__ = 81; break; }
-    case 80: 
-      var $467=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $468=$F3; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $469=(($468+12)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($469)>>2)]=$467; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $470=$T; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $471=(($470+8)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($471)>>2)]=$467; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $472=$F3; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $473=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $474=(($473+8)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($474)>>2)]=$472; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $475=$T; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $476=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $477=(($476+12)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($477)>>2)]=$475; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $478=$tp; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $479=(($478+24)|0); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($479)>>2)]=0; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 83; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 81: 
-      _abort(); //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 82: 
-      __label__ = 70; break; //@line 4110 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 83: 
-      __label__ = 84; break;
-    case 84: 
-      __label__ = 85; break; //@line 4112 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 85: 
-      __label__ = 86; break; //@line 4113 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 86: 
-      var $486=$sp; //@line 4116 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $pred=$486; //@line 4116 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $487=$next; //@line 4117 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$487; //@line 4117 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 2; break; //@line 4118 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 87: 
-      var $489=$nsegs; //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $490=(($489)>>>0) > 4294967295; //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($490) { __label__ = 88; break; } else { __label__ = 89; break; } //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 88: 
-      var $492=$nsegs; //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $495 = $492;__label__ = 90; break; //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 89: 
-      var $495 = -1;__label__ = 90; break; //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 90: 
-      var $495; //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $496=$1; //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $497=(($496+32)|0); //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($497)>>2)]=$495; //@line 4120 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $498=$released; //@line 4122 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $498; //@line 4122 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_release_unused_segments["X"]=1;
+    this.io_idx = 0;
+    this.io_next_word = this.io_now[this.io_idx++] | this.io_now[this.io_idx++]<<8 | this.io_now[this.io_idx++]<<16 | this.io_now[this.io_idx++]<<24;
+    this.io_word = this.io_next_word;
+    this.io_available_bits = 0;
 
-function _init_mparams() {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $magic;
-      var $psize;
-      var $gsize;
-      var $1=HEAP32[((((_mparams)|0))>>2)]; //@line 2965 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $2=(($1)|0)==0; //@line 2965 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($2) { __label__ = 2; break; } else { __label__ = 6; break; } //@line 2965 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $4=_sysconf(8); //@line 2971 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$4; //@line 2971 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $5=$psize; //@line 2972 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $gsize=$5; //@line 2972 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=$gsize; //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=$gsize; //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=(($7-1)|0); //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=$6 & $8; //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=(($9)|0)!=0; //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($10) { __label__ = 4; break; } else { __label__ = 3; break; } //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $12=$psize; //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=$psize; //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=(($13-1)|0); //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=$12 & $14; //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=(($15)|0)!=0; //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($16) { __label__ = 4; break; } else { __label__ = 5; break; } //@line 2989 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      _abort(); //@line 2997 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 2997 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $19=$gsize; //@line 2999 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((_mparams+8)|0))>>2)]=$19; //@line 2999 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=$psize; //@line 3000 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((_mparams+4)|0))>>2)]=$20; //@line 3000 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((_mparams+12)|0))>>2)]=-1; //@line 3001 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((_mparams+16)|0))>>2)]=2097152; //@line 3002 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((_mparams+20)|0))>>2)]=0; //@line 3004 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=HEAP32[((((_mparams+20)|0))>>2)]; //@line 3011 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((__gm_+440)|0))>>2)]=$21; //@line 3011 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=_time(0); //@line 3030 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=$22 ^ 1431655765; //@line 3030 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $magic=$23; //@line 3030 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=$magic; //@line 3032 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=$24 | 8; //@line 3032 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $magic=$25; //@line 3032 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=$magic; //@line 3033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=$26 & -8; //@line 3033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $magic=$27; //@line 3033 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=$magic; //@line 3034 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[((((_mparams)|0))>>2)]=$28; //@line 3034 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 6; break; //@line 3036 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      ;
-      return 1; //@line 3039 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
-}
+    var magic = this.io_word;
+    this.decode_eat32bits();
+    if (magic != 0x43495551) /*QUIC*/ {
+        console.log("quic: bad magic "+magic.toString(16));
+        return false;
+    }
 
+    var version = this.io_word;
+    this.decode_eat32bits();
+    if (version != ((0 << 16) | (0 & 0xffff))) {
+        console.log("quic: bad version "+version.toString(16));
+        return false;
+    }
 
-function _init_top($m, $p, $psize) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $offset;
-      $1=$m;
-      $2=$p;
-      $3=$psize;
-      var $4=$2; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $5=$4; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=(($5+8)|0); //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=$6; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=$7 & 7; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=(($8)|0)==0; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($9) { __label__ = 2; break; } else { __label__ = 3; break; } //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $20 = 0;__label__ = 4; break; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $12=$2; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=$12; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=(($13+8)|0); //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=$14; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=$15 & 7; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=((8-$16)|0); //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=$17 & 7; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20 = $18;__label__ = 4; break; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $20; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $offset=$20; //@line 3736 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=$2; //@line 3737 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=$21; //@line 3737 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=$offset; //@line 3737 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=(($22+$23)|0); //@line 3737 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=$24; //@line 3737 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $2=$25; //@line 3737 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=$offset; //@line 3738 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=$3; //@line 3738 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=(($27-$26)|0); //@line 3738 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $3=$28; //@line 3738 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=$2; //@line 3740 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=$1; //@line 3740 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=(($30+24)|0); //@line 3740 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($31)>>2)]=$29; //@line 3740 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=$3; //@line 3741 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=$1; //@line 3741 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $34=(($33+12)|0); //@line 3741 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($34)>>2)]=$32; //@line 3741 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=$3; //@line 3742 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=$35 | 1; //@line 3742 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=$2; //@line 3742 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38=(($37+4)|0); //@line 3742 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($38)>>2)]=$36; //@line 3742 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=$2; //@line 3744 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=$39; //@line 3744 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=$3; //@line 3744 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=(($40+$41)|0); //@line 3744 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=$42; //@line 3744 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=(($43+4)|0); //@line 3744 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($44)>>2)]=40; //@line 3744 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=HEAP32[((((_mparams+16)|0))>>2)]; //@line 3745 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=$1; //@line 3745 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $47=(($46+28)|0); //@line 3745 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($47)>>2)]=$45; //@line 3745 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return; //@line 3746 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_init_top["X"]=1;
+    this.type = this.io_word;
+    this.decode_eat32bits();
 
-function _mmap_alloc($m, $nb) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $mmsize;
-      var $mm;
-      var $offset;
-      var $psize;
-      var $p;
-      $2=$m;
-      $3=$nb;
-      var $4=$3; //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $5=(($4+24)|0); //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=(($5+7)|0); //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=HEAP32[((((_mparams+4)|0))>>2)]; //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=(($7-1)|0); //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=(($6+$8)|0); //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=HEAP32[((((_mparams+4)|0))>>2)]; //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $11=(($10-1)|0); //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $12=$11 ^ -1; //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=$9 & $12; //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $mmsize=$13; //@line 3672 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=$mmsize; //@line 3673 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=$3; //@line 3673 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=(($14)>>>0) > (($15)>>>0); //@line 3673 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($16) { __label__ = 2; break; } else { __label__ = 13; break; } //@line 3673 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      $mm=-1; //@line 3674 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=$mm; //@line 3675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19=(($18)|0)!=-1; //@line 3675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($19) { __label__ = 3; break; } else { __label__ = 12; break; } //@line 3675 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $21=$mm; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=(($21+8)|0); //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=$22; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=$23 & 7; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=(($24)|0)==0; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($25) { __label__ = 4; break; } else { __label__ = 5; break; } //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $35 = 0;__label__ = 6; break; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $28=$mm; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=(($28+8)|0); //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $30=$29; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $31=$30 & 7; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=((8-$31)|0); //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=$32 & 7; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35 = $33;__label__ = 6; break; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $35; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $offset=$35; //@line 3676 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=$mmsize; //@line 3677 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=$offset; //@line 3677 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38=(($36-$37)|0); //@line 3677 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=(($38-16)|0); //@line 3677 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$39; //@line 3677 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=$mm; //@line 3678 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=$offset; //@line 3678 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=(($40+$41)|0); //@line 3678 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=$42; //@line 3678 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$43; //@line 3678 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=$offset; //@line 3679 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=$p; //@line 3679 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=(($45)|0); //@line 3679 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($46)>>2)]=$44; //@line 3679 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $47=$psize; //@line 3680 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $48=$p; //@line 3680 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $49=(($48+4)|0); //@line 3680 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($49)>>2)]=$47; //@line 3680 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $50=$p; //@line 3682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=$50; //@line 3682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52=$psize; //@line 3682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $53=(($51+$52)|0); //@line 3682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $54=$53; //@line 3682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55=(($54+4)|0); //@line 3682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($55)>>2)]=7; //@line 3682 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=$p; //@line 3683 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=$56; //@line 3683 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $58=$psize; //@line 3683 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $59=(($58+4)|0); //@line 3683 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=(($57+$59)|0); //@line 3683 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $61=$60; //@line 3683 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $62=(($61+4)|0); //@line 3683 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($62)>>2)]=0; //@line 3683 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $63=$2; //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=(($63+16)|0); //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $65=HEAP32[(($64)>>2)]; //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $66=(($65)|0)==0; //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($66) { __label__ = 8; break; } else { __label__ = 7; break; } //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $68=$mm; //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=$2; //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=(($69+16)|0); //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $71=HEAPU32[(($70)>>2)]; //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $72=(($68)>>>0) < (($71)>>>0); //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($72) { __label__ = 8; break; } else { __label__ = 9; break; } //@line 3685 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      var $74=$mm; //@line 3686 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $75=$2; //@line 3686 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $76=(($75+16)|0); //@line 3686 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($76)>>2)]=$74; //@line 3686 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 9; break; //@line 3686 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $78=$mmsize; //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $79=$2; //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $80=(($79+432)|0); //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=HEAP32[(($80)>>2)]; //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=(($81+$78)|0); //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($80)>>2)]=$82; //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83=$2; //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $84=(($83+436)|0); //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $85=HEAPU32[(($84)>>2)]; //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $86=(($82)>>>0) > (($85)>>>0); //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($86) { __label__ = 10; break; } else { __label__ = 11; break; } //@line 3687 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      var $88=$2; //@line 3688 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $89=(($88+432)|0); //@line 3688 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $90=HEAP32[(($89)>>2)]; //@line 3688 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $91=$2; //@line 3688 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $92=(($91+436)|0); //@line 3688 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($92)>>2)]=$90; //@line 3688 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 11; break; //@line 3688 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      var $94=$p; //@line 3691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $95=$94; //@line 3691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $96=(($95+8)|0); //@line 3691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $1=$96; //@line 3691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 14; break; //@line 3691 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      __label__ = 13; break; //@line 3693 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      $1=0; //@line 3694 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 14; break; //@line 3694 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      var $100=$1; //@line 3695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $100; //@line 3695 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_mmap_alloc["X"]=1;
+    this.width = this.io_word;
+    this.decode_eat32bits();
 
-function _init_bins($m) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $i;
-      var $bin;
-      $1=$m;
-      $i=0; //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 2; break; //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $3=$i; //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $4=(($3)>>>0) < 32; //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($4) { __label__ = 3; break; } else { __label__ = 5; break; } //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $6=$i; //@line 3753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=$6 << 1; //@line 3753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=$1; //@line 3753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=(($8+40)|0); //@line 3753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=(($9+($7<<2))|0); //@line 3753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $11=$10; //@line 3753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $12=$11; //@line 3753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $bin=$12; //@line 3753 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=$bin; //@line 3754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=$bin; //@line 3754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=(($14+12)|0); //@line 3754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($15)>>2)]=$13; //@line 3754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=$bin; //@line 3754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=(($16+8)|0); //@line 3754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($17)>>2)]=$13; //@line 3754 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 4; break; //@line 3755 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $19=$i; //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=(($19+1)|0); //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $i=$20; //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 2; break; //@line 3752 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      ;
-      return; //@line 3756 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
-}
+    this.height = this.io_word;
+    this.decode_eat32bits();
 
+    var bpc = quic_image_bpc(this.type);
 
-function _prepend_alloc($m, $newbase, $oldbase, $nb) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $p;
-      var $oldfirst;
-      var $psize;
-      var $q;
-      var $qsize;
-      var $tsize;
-      var $dsize;
-      var $nsize;
-      var $F;
-      var $B;
-      var $I;
-      var $TP;
-      var $XP;
-      var $R;
-      var $F1;
-      var $RP;
-      var $CP;
-      var $H;
-      var $C0;
-      var $C1;
-      var $I2;
-      var $B3;
-      var $F4;
-      var $TP5;
-      var $H6;
-      var $I7;
-      var $X;
-      var $Y;
-      var $N;
-      var $K;
-      var $T;
-      var $K8;
-      var $C;
-      var $F9;
-      $1=$m;
-      $2=$newbase;
-      $3=$oldbase;
-      $4=$nb;
-      var $5=$2; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=$2; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=(($6+8)|0); //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=$7; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=$8 & 7; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=(($9)|0)==0; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($10) { __label__ = 2; break; } else { __label__ = 3; break; } //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $20 = 0;__label__ = 4; break; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $13=$2; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=(($13+8)|0); //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=$14; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=$15 & 7; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=((8-$16)|0); //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=$17 & 7; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20 = $18;__label__ = 4; break; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $20; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=(($5+$20)|0); //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=$21; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$22; //@line 3780 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=$3; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=$3; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=(($24+8)|0); //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=$25; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=$26 & 7; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=(($27)|0)==0; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($28) { __label__ = 5; break; } else { __label__ = 6; break; } //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $38 = 0;__label__ = 7; break; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $31=$3; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $32=(($31+8)|0); //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=$32; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $34=$33 & 7; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=((8-$34)|0); //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=$35 & 7; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $38 = $36;__label__ = 7; break; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $38; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39=(($23+$38)|0); //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=$39; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $oldfirst=$40; //@line 3781 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=$oldfirst; //@line 3782 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=$41; //@line 3782 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=$p; //@line 3782 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=$43; //@line 3782 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=$42; //@line 3782 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=$44; //@line 3782 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $47=(($45-$46)|0); //@line 3782 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$47; //@line 3782 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $48=$p; //@line 3783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $49=$48; //@line 3783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $50=$4; //@line 3783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $51=(($49+$50)|0); //@line 3783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52=$51; //@line 3783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $q=$52; //@line 3783 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $53=$psize; //@line 3784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $54=$4; //@line 3784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55=(($53-$54)|0); //@line 3784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $qsize=$55; //@line 3784 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=$4; //@line 3785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=$56 | 1; //@line 3785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $58=$57 | 2; //@line 3785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $59=$p; //@line 3785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=(($59+4)|0); //@line 3785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($60)>>2)]=$58; //@line 3785 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $61=$oldfirst; //@line 3792 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $62=$1; //@line 3792 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $63=(($62+24)|0); //@line 3792 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=HEAP32[(($63)>>2)]; //@line 3792 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $65=(($61)|0)==(($64)|0); //@line 3792 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($65) { __label__ = 8; break; } else { __label__ = 9; break; } //@line 3792 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      var $67=$qsize; //@line 3793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=$1; //@line 3793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=(($68+12)|0); //@line 3793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=HEAP32[(($69)>>2)]; //@line 3793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $71=(($70+$67)|0); //@line 3793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($69)>>2)]=$71; //@line 3793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tsize=$71; //@line 3793 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $72=$q; //@line 3794 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $73=$1; //@line 3794 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $74=(($73+24)|0); //@line 3794 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($74)>>2)]=$72; //@line 3794 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $75=$tsize; //@line 3795 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $76=$75 | 1; //@line 3795 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $77=$q; //@line 3795 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $78=(($77+4)|0); //@line 3795 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($78)>>2)]=$76; //@line 3795 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 109; break; //@line 3797 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $80=$oldfirst; //@line 3798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=$1; //@line 3798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=(($81+20)|0); //@line 3798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83=HEAP32[(($82)>>2)]; //@line 3798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $84=(($80)|0)==(($83)|0); //@line 3798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($84) { __label__ = 10; break; } else { __label__ = 11; break; } //@line 3798 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      var $86=$qsize; //@line 3799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $87=$1; //@line 3799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $88=(($87+8)|0); //@line 3799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $89=HEAP32[(($88)>>2)]; //@line 3799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $90=(($89+$86)|0); //@line 3799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($88)>>2)]=$90; //@line 3799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $dsize=$90; //@line 3799 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $91=$q; //@line 3800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $92=$1; //@line 3800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $93=(($92+20)|0); //@line 3800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($93)>>2)]=$91; //@line 3800 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $94=$dsize; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $95=$94 | 1; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $96=$q; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $97=(($96+4)|0); //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($97)>>2)]=$95; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $98=$dsize; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $99=$q; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $100=$99; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $101=$dsize; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $102=(($100+$101)|0); //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=$102; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $104=(($103)|0); //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($104)>>2)]=$98; //@line 3801 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 108; break; //@line 3802 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      var $106=$oldfirst; //@line 3804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $107=(($106+4)|0); //@line 3804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=HEAP32[(($107)>>2)]; //@line 3804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $109=$108 & 3; //@line 3804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $110=(($109)|0)!=1; //@line 3804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($110) { __label__ = 72; break; } else { __label__ = 12; break; } //@line 3804 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      var $112=$oldfirst; //@line 3805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $113=(($112+4)|0); //@line 3805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $114=HEAP32[(($113)>>2)]; //@line 3805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $115=$114 & -8; //@line 3805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nsize=$115; //@line 3805 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $116=$nsize; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $117=$116 >>> 3; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $118=(($117)>>>0) < 32; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($118) { __label__ = 13; break; } else { __label__ = 25; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $120=$oldfirst; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $121=(($120+8)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $122=HEAP32[(($121)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F=$122; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $123=$oldfirst; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $124=(($123+12)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $125=HEAP32[(($124)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B=$125; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $126=$nsize; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $127=$126 >>> 3; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I=$127; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $128=$F; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $129=$B; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $130=(($128)|0)==(($129)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($130) { __label__ = 14; break; } else { __label__ = 15; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      var $132=$I; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $133=1 << $132; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $134=$133 ^ -1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $135=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $136=(($135)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $137=HEAP32[(($136)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $138=$137 & $134; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($136)>>2)]=$138; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 24; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      var $140=$F; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $141=$I; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $142=$141 << 1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $143=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $144=(($143+40)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $145=(($144+($142<<2))|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $146=$145; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $147=$146; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $148=(($140)|0)==(($147)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($148) { __label__ = 17; break; } else { __label__ = 16; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      var $150=$F; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $151=$150; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $152=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $153=(($152+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $154=HEAPU32[(($153)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $155=(($151)>>>0) >= (($154)>>>0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($155) { __label__ = 17; break; } else { var $176 = 0;__label__ = 20; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 17: 
-      var $157=$B; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $158=$I; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $159=$158 << 1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $160=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $161=(($160+40)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $162=(($161+($159<<2))|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $163=$162; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $164=$163; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $165=(($157)|0)==(($164)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($165) { var $174 = 1;__label__ = 19; break; } else { __label__ = 18; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 18: 
-      var $167=$B; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $168=$167; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $169=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $170=(($169+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $171=HEAPU32[(($170)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $172=(($168)>>>0) >= (($171)>>>0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $174 = $172;__label__ = 19; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 19: 
-      var $174;
-      var $176 = $174;__label__ = 20; break;
-    case 20: 
-      var $176;
-      var $177=(($176)&1);
-      var $178=(($177)==(1));
-      var $179=(($178)|0)!=0;
-      if ($179) { __label__ = 21; break; } else { __label__ = 22; break; }
-    case 21: 
-      var $181=$B; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $182=$F; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $183=(($182+12)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($183)>>2)]=$181; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $184=$F; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $185=$B; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $186=(($185+8)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($186)>>2)]=$184; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 23; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 22: 
-      _abort(); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      __label__ = 24; break;
-    case 24: 
-      __label__ = 71; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      var $191=$oldfirst; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $192=$191; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $TP=$192; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $193=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $194=(($193+24)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $195=HEAP32[(($194)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $XP=$195; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $196=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $197=(($196+12)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $198=HEAP32[(($197)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $199=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $200=(($198)|0)!=(($199)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($200) { __label__ = 26; break; } else { __label__ = 30; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 26: 
-      var $202=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $203=(($202+8)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $204=HEAP32[(($203)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F1=$204; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $205=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $206=(($205+12)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $207=HEAP32[(($206)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$207; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $208=$F1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $209=$208; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $210=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $211=(($210+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $212=HEAPU32[(($211)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $213=(($209)>>>0) >= (($212)>>>0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $214=(($213)&1); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $215=(($214)==(1)); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $216=(($215)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($216) { __label__ = 27; break; } else { __label__ = 28; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 27: 
-      var $218=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $219=$F1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $220=(($219+12)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($220)>>2)]=$218; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $221=$F1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $222=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $223=(($222+8)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($223)>>2)]=$221; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 29; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 28: 
-      _abort(); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 29: 
-      __label__ = 42; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 30: 
-      var $227=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $228=(($227+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $229=(($228+4)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$229; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $230=HEAP32[(($229)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$230; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $231=(($230)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($231) { __label__ = 32; break; } else { __label__ = 31; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 31: 
-      var $233=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $234=(($233+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $235=(($234)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$235; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $236=HEAP32[(($235)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$236; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $237=(($236)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($237) { __label__ = 32; break; } else { __label__ = 41; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 32: 
-      __label__ = 33; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 33: 
-      var $240=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $241=(($240+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $242=(($241+4)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$242; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $243=HEAP32[(($242)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $244=(($243)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($244) { var $252 = 1;__label__ = 35; break; } else { __label__ = 34; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 34: 
-      var $246=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $247=(($246+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $248=(($247)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $CP=$248; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $249=HEAP32[(($248)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $250=(($249)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $252 = $250;__label__ = 35; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 35: 
-      var $252;
-      if ($252) { __label__ = 36; break; } else { __label__ = 37; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 36: 
-      var $254=$CP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $RP=$254; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $255=HEAP32[(($254)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $R=$255; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 33; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 37: 
-      var $257=$RP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $258=$257; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $259=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $260=(($259+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $261=HEAPU32[(($260)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $262=(($258)>>>0) >= (($261)>>>0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $263=(($262)&1); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $264=(($263)==(1)); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $265=(($264)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($265) { __label__ = 38; break; } else { __label__ = 39; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 38: 
-      var $267=$RP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($267)>>2)]=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 40; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 39: 
-      _abort(); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 40: 
-      __label__ = 41; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 41: 
-      __label__ = 42; break;
-    case 42: 
-      var $272=$XP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $273=(($272)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($273) { __label__ = 43; break; } else { __label__ = 70; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 43: 
-      var $275=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $276=(($275+28)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $277=HEAP32[(($276)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $278=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $279=(($278+304)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $280=(($279+($277<<2))|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H=$280; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $281=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $282=$H; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $283=HEAP32[(($282)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $284=(($281)|0)==(($283)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($284) { __label__ = 44; break; } else { __label__ = 47; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 44: 
-      var $286=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $287=$H; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($287)>>2)]=$286; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $288=(($286)|0)==0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($288) { __label__ = 45; break; } else { __label__ = 46; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 45: 
-      var $290=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $291=(($290+28)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $292=HEAP32[(($291)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $293=1 << $292; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $294=$293 ^ -1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $295=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $296=(($295+4)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $297=HEAP32[(($296)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $298=$297 & $294; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($296)>>2)]=$298; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 46; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 46: 
-      __label__ = 54; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 47: 
-      var $301=$XP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $302=$301; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $303=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $304=(($303+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $305=HEAPU32[(($304)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $306=(($302)>>>0) >= (($305)>>>0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $307=(($306)&1); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $308=(($307)==(1)); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $309=(($308)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($309) { __label__ = 48; break; } else { __label__ = 52; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 48: 
-      var $311=$XP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $312=(($311+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $313=(($312)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $314=HEAP32[(($313)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $315=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $316=(($314)|0)==(($315)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($316) { __label__ = 49; break; } else { __label__ = 50; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 49: 
-      var $318=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $319=$XP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $320=(($319+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $321=(($320)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($321)>>2)]=$318; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 51; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 50: 
-      var $323=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $324=$XP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $325=(($324+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $326=(($325+4)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($326)>>2)]=$323; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 51; break;
-    case 51: 
-      __label__ = 53; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 52: 
-      _abort(); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 53: 
-      __label__ = 54; break;
-    case 54: 
-      var $331=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $332=(($331)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($332) { __label__ = 55; break; } else { __label__ = 69; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 55: 
-      var $334=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $335=$334; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $336=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $337=(($336+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $338=HEAPU32[(($337)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $339=(($335)>>>0) >= (($338)>>>0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $340=(($339)&1); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $341=(($340)==(1)); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $342=(($341)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($342) { __label__ = 56; break; } else { __label__ = 67; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 56: 
-      var $344=$XP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $345=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $346=(($345+24)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($346)>>2)]=$344; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $347=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $348=(($347+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $349=(($348)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $350=HEAP32[(($349)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C0=$350; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $351=(($350)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($351) { __label__ = 57; break; } else { __label__ = 61; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 57: 
-      var $353=$C0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $354=$353; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $355=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $356=(($355+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $357=HEAPU32[(($356)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $358=(($354)>>>0) >= (($357)>>>0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $359=(($358)&1); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $360=(($359)==(1)); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $361=(($360)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($361) { __label__ = 58; break; } else { __label__ = 59; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 58: 
-      var $363=$C0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $364=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $365=(($364+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $366=(($365)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($366)>>2)]=$363; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $367=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $368=$C0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $369=(($368+24)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($369)>>2)]=$367; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 60; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 59: 
-      _abort(); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 60: 
-      __label__ = 61; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 61: 
-      var $373=$TP; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $374=(($373+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $375=(($374+4)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $376=HEAP32[(($375)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C1=$376; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $377=(($376)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($377) { __label__ = 62; break; } else { __label__ = 66; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 62: 
-      var $379=$C1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $380=$379; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $381=$1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $382=(($381+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $383=HEAPU32[(($382)>>2)]; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $384=(($380)>>>0) >= (($383)>>>0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $385=(($384)&1); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $386=(($385)==(1)); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $387=(($386)|0)!=0; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($387) { __label__ = 63; break; } else { __label__ = 64; break; } //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 63: 
-      var $389=$C1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $390=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $391=(($390+16)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $392=(($391+4)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($392)>>2)]=$389; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $393=$R; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $394=$C1; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $395=(($394+24)|0); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($395)>>2)]=$393; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 65; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 64: 
-      _abort(); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 65: 
-      __label__ = 66; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 66: 
-      __label__ = 68; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 67: 
-      _abort(); //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 68: 
-      __label__ = 69; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 69: 
-      __label__ = 70; break; //@line 3806 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 70: 
-      __label__ = 71; break;
-    case 71: 
-      var $404=$oldfirst; //@line 3807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $405=$404; //@line 3807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $406=$nsize; //@line 3807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $407=(($405+$406)|0); //@line 3807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $408=$407; //@line 3807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $oldfirst=$408; //@line 3807 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $409=$nsize; //@line 3808 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $410=$qsize; //@line 3808 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $411=(($410+$409)|0); //@line 3808 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $qsize=$411; //@line 3808 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 72; break; //@line 3809 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 72: 
-      var $413=$oldfirst; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $414=(($413+4)|0); //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $415=HEAP32[(($414)>>2)]; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $416=$415 & -2; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($414)>>2)]=$416; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $417=$qsize; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $418=$417 | 1; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $419=$q; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $420=(($419+4)|0); //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($420)>>2)]=$418; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $421=$qsize; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $422=$q; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $423=$422; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $424=$qsize; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $425=(($423+$424)|0); //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $426=$425; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $427=(($426)|0); //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($427)>>2)]=$421; //@line 3810 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $428=$qsize; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $429=$428 >>> 3; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $430=(($429)>>>0) < 32; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($430) { __label__ = 73; break; } else { __label__ = 80; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 73: 
-      var $432=$qsize; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $433=$432 >>> 3; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I2=$433; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $434=$I2; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $435=$434 << 1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $436=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $437=(($436+40)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $438=(($437+($435<<2))|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $439=$438; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $440=$439; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B3=$440; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $441=$B3; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F4=$441; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $442=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $443=(($442)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $444=HEAP32[(($443)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $445=$I2; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $446=1 << $445; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $447=$444 & $446; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $448=(($447)|0)!=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($448) { __label__ = 75; break; } else { __label__ = 74; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 74: 
-      var $450=$I2; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $451=1 << $450; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $452=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $453=(($452)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $454=HEAP32[(($453)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $455=$454 | $451; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($453)>>2)]=$455; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 79; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 75: 
-      var $457=$B3; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $458=(($457+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $459=HEAP32[(($458)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $460=$459; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $461=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $462=(($461+16)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $463=HEAPU32[(($462)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $464=(($460)>>>0) >= (($463)>>>0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $465=(($464)&1); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $466=(($465)==(1)); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $467=(($466)|0)!=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($467) { __label__ = 76; break; } else { __label__ = 77; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 76: 
-      var $469=$B3; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $470=(($469+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $471=HEAP32[(($470)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F4=$471; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 78; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 77: 
-      _abort(); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 78: 
-      __label__ = 79; break;
-    case 79: 
-      var $475=$q; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $476=$B3; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $477=(($476+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($477)>>2)]=$475; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $478=$q; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $479=$F4; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $480=(($479+12)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($480)>>2)]=$478; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $481=$F4; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $482=$q; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $483=(($482+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($483)>>2)]=$481; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $484=$B3; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $485=$q; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $486=(($485+12)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($486)>>2)]=$484; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 107; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 80: 
-      var $488=$q; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $489=$488; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $TP5=$489; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $490=$qsize; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $491=$490 >>> 8; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $X=$491; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $492=$X; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $493=(($492)|0)==0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($493) { __label__ = 81; break; } else { __label__ = 82; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 81: 
-      $I7=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 86; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 82: 
-      var $496=$X; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $497=(($496)>>>0) > 65535; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($497) { __label__ = 83; break; } else { __label__ = 84; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 83: 
-      $I7=31; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 85; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 84: 
-      var $500=$X; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$500; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $501=$Y; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $502=(($501-256)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $503=$502 >>> 16; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $504=$503 & 8; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$504; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $505=$N; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $506=$Y; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $507=$506 << $505; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$507; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $508=(($507-4096)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $509=$508 >>> 16; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $510=$509 & 4; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$510; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $511=$K; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $512=$N; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $513=(($512+$511)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$513; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $514=$K; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $515=$Y; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $516=$515 << $514; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$516; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $517=(($516-16384)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $518=$517 >>> 16; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $519=$518 & 2; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$519; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $520=$N; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $521=(($520+$519)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$521; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $522=$N; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $523=((14-$522)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $524=$K; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $525=$Y; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $526=$525 << $524; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$526; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $527=$526 >>> 15; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $528=(($523+$527)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$528; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $529=$K; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $530=$529 << 1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $531=$qsize; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $532=$K; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $533=(($532+7)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $534=$531 >>> (($533)>>>0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $535=$534 & 1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $536=(($530+$535)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I7=$536; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 85; break;
-    case 85: 
-      __label__ = 86; break;
-    case 86: 
-      var $539=$I7; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $540=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $541=(($540+304)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $542=(($541+($539<<2))|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H6=$542; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $543=$I7; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $544=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $545=(($544+28)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($545)>>2)]=$543; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $546=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $547=(($546+16)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $548=(($547+4)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($548)>>2)]=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $549=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $550=(($549+16)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $551=(($550)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($551)>>2)]=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $552=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $553=(($552+4)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $554=HEAP32[(($553)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $555=$I7; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $556=1 << $555; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $557=$554 & $556; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $558=(($557)|0)!=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($558) { __label__ = 88; break; } else { __label__ = 87; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 87: 
-      var $560=$I7; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $561=1 << $560; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $562=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $563=(($562+4)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $564=HEAP32[(($563)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $565=$564 | $561; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($563)>>2)]=$565; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $566=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $567=$H6; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($567)>>2)]=$566; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $568=$H6; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $569=$568; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $570=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $571=(($570+24)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($571)>>2)]=$569; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $572=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $573=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $574=(($573+12)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($574)>>2)]=$572; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $575=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $576=(($575+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($576)>>2)]=$572; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 106; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 88: 
-      var $578=$H6; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $579=HEAP32[(($578)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$579; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $580=$qsize; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $581=$I7; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $582=(($581)|0)==31; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($582) { __label__ = 89; break; } else { __label__ = 90; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 89: 
-      var $591 = 0;__label__ = 91; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 90: 
-      var $585=$I7; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $586=$585 >>> 1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $587=(($586+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $588=(($587-2)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $589=((31-$588)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $591 = $589;__label__ = 91; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 91: 
-      var $591; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $592=$580 << $591; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K8=$592; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 92; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 92: 
-      var $594=$T; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $595=(($594+4)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $596=HEAP32[(($595)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $597=$596 & -8; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $598=$qsize; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $599=(($597)|0)!=(($598)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($599) { __label__ = 93; break; } else { __label__ = 99; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 93: 
-      var $601=$K8; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $602=$601 >>> 31; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $603=$602 & 1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $604=$T; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $605=(($604+16)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $606=(($605+($603<<2))|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C=$606; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $607=$K8; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $608=$607 << 1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K8=$608; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $609=$C; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $610=HEAP32[(($609)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $611=(($610)|0)!=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($611) { __label__ = 94; break; } else { __label__ = 95; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 94: 
-      var $613=$C; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $614=HEAP32[(($613)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$614; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 98; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 95: 
-      var $616=$C; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $617=$616; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $618=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $619=(($618+16)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $620=HEAPU32[(($619)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $621=(($617)>>>0) >= (($620)>>>0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $622=(($621)&1); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $623=(($622)==(1)); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $624=(($623)|0)!=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($624) { __label__ = 96; break; } else { __label__ = 97; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 96: 
-      var $626=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $627=$C; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($627)>>2)]=$626; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $628=$T; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $629=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $630=(($629+24)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($630)>>2)]=$628; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $631=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $632=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $633=(($632+12)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($633)>>2)]=$631; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $634=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $635=(($634+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($635)>>2)]=$631; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 105; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 97: 
-      _abort(); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 98: 
-      __label__ = 104; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 99: 
-      var $639=$T; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $640=(($639+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $641=HEAP32[(($640)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F9=$641; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $642=$T; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $643=$642; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $644=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $645=(($644+16)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $646=HEAPU32[(($645)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $647=(($643)>>>0) >= (($646)>>>0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($647) { __label__ = 100; break; } else { var $656 = 0;__label__ = 101; break; } //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 100: 
-      var $649=$F9; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $650=$649; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $651=$1; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $652=(($651+16)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $653=HEAPU32[(($652)>>2)]; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $654=(($650)>>>0) >= (($653)>>>0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $656 = $654;__label__ = 101; break;
-    case 101: 
-      var $656;
-      var $657=(($656)&1);
-      var $658=(($657)==(1));
-      var $659=(($658)|0)!=0;
-      if ($659) { __label__ = 102; break; } else { __label__ = 103; break; }
-    case 102: 
-      var $661=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $662=$F9; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $663=(($662+12)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($663)>>2)]=$661; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $664=$T; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $665=(($664+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($665)>>2)]=$661; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $666=$F9; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $667=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $668=(($667+8)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($668)>>2)]=$666; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $669=$T; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $670=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $671=(($670+12)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($671)>>2)]=$669; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $672=$TP5; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $673=(($672+24)|0); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($673)>>2)]=0; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 105; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 103: 
-      _abort(); //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 104: 
-      __label__ = 92; break; //@line 3811 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 105: 
-      __label__ = 106; break;
-    case 106: 
-      __label__ = 107; break;
-    case 107: 
-      __label__ = 108; break;
-    case 108: 
-      __label__ = 109; break;
-    case 109: 
-      var $681=$p; //@line 3816 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $682=$681; //@line 3816 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $683=(($682+8)|0); //@line 3816 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      ;
-      return $683; //@line 3816 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
-}
-_prepend_alloc["X"]=1;
+    if (!this.reste_channels(bpc))
+        return false;
 
-function _add_segment($m, $tbase, $tsize, $mmapped) {
-  ;
-  var __label__;
-  __label__ = 1; 
-  while(1) switch(__label__) {
-    case 1: 
-      var $1;
-      var $2;
-      var $3;
-      var $4;
-      var $old_top;
-      var $oldsp;
-      var $old_end;
-      var $ssize;
-      var $rawsp;
-      var $offset;
-      var $asp;
-      var $csp;
-      var $sp;
-      var $ss;
-      var $tnext;
-      var $p;
-      var $nfences;
-      var $nextp;
-      var $q;
-      var $psize;
-      var $tn;
-      var $I;
-      var $B;
-      var $F;
-      var $TP;
-      var $H;
-      var $I1;
-      var $X;
-      var $Y;
-      var $N;
-      var $K;
-      var $T;
-      var $K2;
-      var $C;
-      var $F3;
-      $1=$m;
-      $2=$tbase;
-      $3=$tsize;
-      $4=$mmapped;
-      var $5=$1; //@line 3822 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $6=(($5+24)|0); //@line 3822 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $7=HEAP32[(($6)>>2)]; //@line 3822 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $8=$7; //@line 3822 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $old_top=$8; //@line 3822 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $9=$1; //@line 3823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $10=$old_top; //@line 3823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $11=_segment_holding($9, $10); //@line 3823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $oldsp=$11; //@line 3823 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $12=$oldsp; //@line 3824 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $13=(($12)|0); //@line 3824 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $14=HEAP32[(($13)>>2)]; //@line 3824 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $15=$oldsp; //@line 3824 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $16=(($15+4)|0); //@line 3824 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $17=HEAP32[(($16)>>2)]; //@line 3824 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $18=(($14+$17)|0); //@line 3824 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $old_end=$18; //@line 3824 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $ssize=24; //@line 3825 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $19=$old_end; //@line 3826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $20=$ssize; //@line 3826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $21=(($20+16)|0); //@line 3826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $22=(($21+7)|0); //@line 3826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $23=(((-$22))|0); //@line 3826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $24=(($19+$23)|0); //@line 3826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $rawsp=$24; //@line 3826 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $25=$rawsp; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $26=(($25+8)|0); //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $27=$26; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $28=$27 & 7; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $29=(($28)|0)==0; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($29) { __label__ = 2; break; } else { __label__ = 3; break; } //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 2: 
-      var $39 = 0;__label__ = 4; break; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 3: 
-      var $32=$rawsp; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $33=(($32+8)|0); //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $34=$33; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $35=$34 & 7; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $36=((8-$35)|0); //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $37=$36 & 7; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $39 = $37;__label__ = 4; break; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 4: 
-      var $39; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $offset=$39; //@line 3827 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $40=$rawsp; //@line 3828 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $41=$offset; //@line 3828 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $42=(($40+$41)|0); //@line 3828 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $asp=$42; //@line 3828 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $43=$asp; //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $44=$old_top; //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $45=(($44+16)|0); //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $46=(($43)>>>0) < (($45)>>>0); //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($46) { __label__ = 5; break; } else { __label__ = 6; break; } //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 5: 
-      var $48=$old_top; //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52 = $48;__label__ = 7; break; //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 6: 
-      var $50=$asp; //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $52 = $50;__label__ = 7; break; //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 7: 
-      var $52; //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $csp=$52; //@line 3829 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $53=$csp; //@line 3830 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $54=$53; //@line 3830 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $sp=$54; //@line 3830 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $55=$sp; //@line 3831 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $56=$55; //@line 3831 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $57=(($56+8)|0); //@line 3831 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $58=$57; //@line 3831 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $ss=$58; //@line 3831 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $59=$sp; //@line 3832 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $60=$59; //@line 3832 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $61=$ssize; //@line 3832 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $62=(($60+$61)|0); //@line 3832 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $63=$62; //@line 3832 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tnext=$63; //@line 3832 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $64=$tnext; //@line 3833 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$64; //@line 3833 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nfences=0; //@line 3834 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $65=$1; //@line 3837 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $66=$2; //@line 3837 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $67=$66; //@line 3837 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $68=$3; //@line 3837 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $69=(($68-40)|0); //@line 3837 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      _init_top($65, $67, $69); //@line 3837 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $70=$ssize; //@line 3841 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $71=$70 | 1; //@line 3841 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $72=$71 | 2; //@line 3841 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $73=$sp; //@line 3841 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $74=(($73+4)|0); //@line 3841 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($74)>>2)]=$72; //@line 3841 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $75=$ss; //@line 3842 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $76=$1; //@line 3842 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $77=(($76+444)|0); //@line 3842 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $78=$75; //@line 3842 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $79=$77; //@line 3842 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      assert(16 % 1 === 0, 'memcpy given ' + 16 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($78)>>2)]=HEAP32[(($79)>>2)];HEAP32[(($78+4)>>2)]=HEAP32[(($79+4)>>2)];HEAP32[(($78+8)>>2)]=HEAP32[(($79+8)>>2)];HEAP32[(($78+12)>>2)]=HEAP32[(($79+12)>>2)]; //@line 3842 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $80=$2; //@line 3843 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $81=$1; //@line 3843 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $82=(($81+444)|0); //@line 3843 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $83=(($82)|0); //@line 3843 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($83)>>2)]=$80; //@line 3843 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $84=$3; //@line 3844 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $85=$1; //@line 3844 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $86=(($85+444)|0); //@line 3844 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $87=(($86+4)|0); //@line 3844 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($87)>>2)]=$84; //@line 3844 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $88=$4; //@line 3845 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $89=$1; //@line 3845 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $90=(($89+444)|0); //@line 3845 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $91=(($90+12)|0); //@line 3845 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($91)>>2)]=$88; //@line 3845 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $92=$ss; //@line 3846 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $93=$1; //@line 3846 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $94=(($93+444)|0); //@line 3846 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $95=(($94+8)|0); //@line 3846 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($95)>>2)]=$92; //@line 3846 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 8; break; //@line 3849 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 8: 
-      var $97=$p; //@line 3850 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $98=$97; //@line 3850 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $99=(($98+4)|0); //@line 3850 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $100=$99; //@line 3850 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nextp=$100; //@line 3850 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $101=$p; //@line 3851 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $102=(($101+4)|0); //@line 3851 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($102)>>2)]=7; //@line 3851 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $103=$nfences; //@line 3852 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $104=(($103+1)|0); //@line 3852 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $nfences=$104; //@line 3852 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $105=$nextp; //@line 3853 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $106=(($105+4)|0); //@line 3853 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $107=$106; //@line 3853 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $108=$old_end; //@line 3853 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $109=(($107)>>>0) < (($108)>>>0); //@line 3853 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($109) { __label__ = 9; break; } else { __label__ = 10; break; } //@line 3853 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 9: 
-      var $111=$nextp; //@line 3854 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $p=$111; //@line 3854 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 11; break; //@line 3854 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 10: 
-      __label__ = 12; break; //@line 3856 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 11: 
-      __label__ = 8; break; //@line 3857 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 12: 
-      var $115=$csp; //@line 3861 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $116=$old_top; //@line 3861 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $117=(($115)|0)!=(($116)|0); //@line 3861 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($117) { __label__ = 13; break; } else { __label__ = 49; break; } //@line 3861 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 13: 
-      var $119=$old_top; //@line 3862 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $120=$119; //@line 3862 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $q=$120; //@line 3862 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $121=$csp; //@line 3863 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $122=$old_top; //@line 3863 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $123=$121; //@line 3863 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $124=$122; //@line 3863 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $125=(($123-$124)|0); //@line 3863 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $psize=$125; //@line 3863 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $126=$q; //@line 3864 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $127=$126; //@line 3864 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $128=$psize; //@line 3864 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $129=(($127+$128)|0); //@line 3864 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $130=$129; //@line 3864 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $tn=$130; //@line 3864 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $131=$tn; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $132=(($131+4)|0); //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $133=HEAP32[(($132)>>2)]; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $134=$133 & -2; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($132)>>2)]=$134; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $135=$psize; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $136=$135 | 1; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $137=$q; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $138=(($137+4)|0); //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($138)>>2)]=$136; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $139=$psize; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $140=$q; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $141=$140; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $142=$psize; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $143=(($141+$142)|0); //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $144=$143; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $145=(($144)|0); //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($145)>>2)]=$139; //@line 3865 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $146=$psize; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $147=$146 >>> 3; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $148=(($147)>>>0) < 32; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($148) { __label__ = 14; break; } else { __label__ = 21; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 14: 
-      var $150=$psize; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $151=$150 >>> 3; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I=$151; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $152=$I; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $153=$152 << 1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $154=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $155=(($154+40)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $156=(($155+($153<<2))|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $157=$156; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $158=$157; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $B=$158; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $159=$B; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F=$159; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $160=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $161=(($160)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $162=HEAP32[(($161)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $163=$I; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $164=1 << $163; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $165=$162 & $164; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $166=(($165)|0)!=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($166) { __label__ = 16; break; } else { __label__ = 15; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 15: 
-      var $168=$I; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $169=1 << $168; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $170=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $171=(($170)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $172=HEAP32[(($171)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $173=$172 | $169; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($171)>>2)]=$173; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 20; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 16: 
-      var $175=$B; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $176=(($175+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $177=HEAP32[(($176)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $178=$177; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $179=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $180=(($179+16)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $181=HEAPU32[(($180)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $182=(($178)>>>0) >= (($181)>>>0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $183=(($182)&1); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $184=(($183)==(1)); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $185=(($184)|0)!=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($185) { __label__ = 17; break; } else { __label__ = 18; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 17: 
-      var $187=$B; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $188=(($187+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $189=HEAP32[(($188)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F=$189; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 19; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 18: 
-      _abort(); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 19: 
-      __label__ = 20; break;
-    case 20: 
-      var $193=$q; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $194=$B; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $195=(($194+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($195)>>2)]=$193; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $196=$q; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $197=$F; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $198=(($197+12)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($198)>>2)]=$196; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $199=$F; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $200=$q; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $201=(($200+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($201)>>2)]=$199; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $202=$B; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $203=$q; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $204=(($203+12)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($204)>>2)]=$202; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 48; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 21: 
-      var $206=$q; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $207=$206; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $TP=$207; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $208=$psize; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $209=$208 >>> 8; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $X=$209; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $210=$X; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $211=(($210)|0)==0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($211) { __label__ = 22; break; } else { __label__ = 23; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 22: 
-      $I1=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 27; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 23: 
-      var $214=$X; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $215=(($214)>>>0) > 65535; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($215) { __label__ = 24; break; } else { __label__ = 25; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 24: 
-      $I1=31; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 26; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 25: 
-      var $218=$X; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$218; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $219=$Y; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $220=(($219-256)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $221=$220 >>> 16; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $222=$221 & 8; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$222; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $223=$N; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $224=$Y; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $225=$224 << $223; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$225; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $226=(($225-4096)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $227=$226 >>> 16; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $228=$227 & 4; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$228; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $229=$K; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $230=$N; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $231=(($230+$229)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$231; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $232=$K; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $233=$Y; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $234=$233 << $232; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$234; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $235=(($234-16384)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $236=$235 >>> 16; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $237=$236 & 2; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$237; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $238=$N; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $239=(($238+$237)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $N=$239; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $240=$N; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $241=((14-$240)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $242=$K; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $243=$Y; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $244=$243 << $242; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $Y=$244; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $245=$244 >>> 15; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $246=(($241+$245)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K=$246; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $247=$K; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $248=$247 << 1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $249=$psize; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $250=$K; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $251=(($250+7)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $252=$249 >>> (($251)>>>0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $253=$252 & 1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $254=(($248+$253)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $I1=$254; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 26; break;
-    case 26: 
-      __label__ = 27; break;
-    case 27: 
-      var $257=$I1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $258=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $259=(($258+304)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $260=(($259+($257<<2))|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $H=$260; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $261=$I1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $262=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $263=(($262+28)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($263)>>2)]=$261; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $264=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $265=(($264+16)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $266=(($265+4)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($266)>>2)]=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $267=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $268=(($267+16)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $269=(($268)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($269)>>2)]=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $270=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $271=(($270+4)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $272=HEAP32[(($271)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $273=$I1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $274=1 << $273; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $275=$272 & $274; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $276=(($275)|0)!=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($276) { __label__ = 29; break; } else { __label__ = 28; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 28: 
-      var $278=$I1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $279=1 << $278; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $280=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $281=(($280+4)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $282=HEAP32[(($281)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $283=$282 | $279; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($281)>>2)]=$283; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $284=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $285=$H; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($285)>>2)]=$284; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $286=$H; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $287=$286; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $288=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $289=(($288+24)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($289)>>2)]=$287; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $290=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $291=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $292=(($291+12)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($292)>>2)]=$290; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $293=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $294=(($293+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($294)>>2)]=$290; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 47; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 29: 
-      var $296=$H; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $297=HEAP32[(($296)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$297; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $298=$psize; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $299=$I1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $300=(($299)|0)==31; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($300) { __label__ = 30; break; } else { __label__ = 31; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 30: 
-      var $309 = 0;__label__ = 32; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 31: 
-      var $303=$I1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $304=$303 >>> 1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $305=(($304+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $306=(($305-2)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $307=((31-$306)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $309 = $307;__label__ = 32; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 32: 
-      var $309; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $310=$298 << $309; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$310; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 33; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 33: 
-      var $312=$T; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $313=(($312+4)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $314=HEAP32[(($313)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $315=$314 & -8; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $316=$psize; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $317=(($315)|0)!=(($316)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($317) { __label__ = 34; break; } else { __label__ = 40; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 34: 
-      var $319=$K2; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $320=$319 >>> 31; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $321=$320 & 1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $322=$T; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $323=(($322+16)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $324=(($323+($321<<2))|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $C=$324; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $325=$K2; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $326=$325 << 1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $K2=$326; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $327=$C; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $328=HEAP32[(($327)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $329=(($328)|0)!=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($329) { __label__ = 35; break; } else { __label__ = 36; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 35: 
-      var $331=$C; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $332=HEAP32[(($331)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $T=$332; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 39; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 36: 
-      var $334=$C; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $335=$334; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $336=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $337=(($336+16)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $338=HEAPU32[(($337)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $339=(($335)>>>0) >= (($338)>>>0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $340=(($339)&1); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $341=(($340)==(1)); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $342=(($341)|0)!=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($342) { __label__ = 37; break; } else { __label__ = 38; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 37: 
-      var $344=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $345=$C; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($345)>>2)]=$344; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $346=$T; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $347=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $348=(($347+24)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($348)>>2)]=$346; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $349=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $350=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $351=(($350+12)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($351)>>2)]=$349; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $352=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $353=(($352+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($353)>>2)]=$349; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 46; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 38: 
-      _abort(); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 39: 
-      __label__ = 45; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 40: 
-      var $357=$T; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $358=(($357+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $359=HEAP32[(($358)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      $F3=$359; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $360=$T; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $361=$360; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $362=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $363=(($362+16)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $364=HEAPU32[(($363)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $365=(($361)>>>0) >= (($364)>>>0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      if ($365) { __label__ = 41; break; } else { var $374 = 0;__label__ = 42; break; } //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 41: 
-      var $367=$F3; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $368=$367; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $369=$1; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $370=(($369+16)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $371=HEAPU32[(($370)>>2)]; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $372=(($368)>>>0) >= (($371)>>>0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $374 = $372;__label__ = 42; break;
-    case 42: 
-      var $374;
-      var $375=(($374)&1);
-      var $376=(($375)==(1));
-      var $377=(($376)|0)!=0;
-      if ($377) { __label__ = 43; break; } else { __label__ = 44; break; }
-    case 43: 
-      var $379=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $380=$F3; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $381=(($380+12)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($381)>>2)]=$379; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $382=$T; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $383=(($382+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($383)>>2)]=$379; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $384=$F3; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $385=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $386=(($385+8)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($386)>>2)]=$384; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $387=$T; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $388=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $389=(($388+12)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($389)>>2)]=$387; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $390=$TP; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      var $391=(($390+24)|0); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      HEAP32[(($391)>>2)]=0; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      __label__ = 46; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 44: 
-      _abort(); //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-      throw "Reached an unreachable!" //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 45: 
-      __label__ = 33; break; //@line 3866 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 46: 
-      __label__ = 47; break;
-    case 47: 
-      __label__ = 48; break;
-    case 48: 
-      __label__ = 49; break; //@line 3867 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    case 49: 
-      ;
-      return; //@line 3870 "/home/jwhite/w/emscripten/system/lib/dlmalloc.c"
-    default: assert(0, "bad label: " + __label__);
-  }
+    return true;
 }
-_add_segment["X"]=1;
-// Warning: printing of i64 values may be slightly rounded! No deep i64 math used, so precise i64 code not included
-var i64Math = null;
-var _llvm_expect_i32; // stub for _llvm_expect_i32
 
-  
-  
-  
-  var ERRNO_CODES={E2BIG:7,EACCES:13,EADDRINUSE:98,EADDRNOTAVAIL:99,EAFNOSUPPORT:97,EAGAIN:11,EALREADY:114,EBADF:9,EBADMSG:74,EBUSY:16,ECANCELED:125,ECHILD:10,ECONNABORTED:103,ECONNREFUSED:111,ECONNRESET:104,EDEADLK:35,EDESTADDRREQ:89,EDOM:33,EDQUOT:122,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:113,EIDRM:43,EILSEQ:84,EINPROGRESS:115,EINTR:4,EINVAL:22,EIO:5,EISCONN:106,EISDIR:21,ELOOP:40,EMFILE:24,EMLINK:31,EMSGSIZE:90,EMULTIHOP:72,ENAMETOOLONG:36,ENETDOWN:100,ENETRESET:102,ENETUNREACH:101,ENFILE:23,ENOBUFS:105,ENODATA:61,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:37,ENOLINK:67,ENOMEM:12,ENOMSG:42,ENOPROTOOPT:92,ENOSPC:28,ENOSR:63,ENOSTR:60,ENOSYS:38,ENOTCONN:107,ENOTDIR:20,ENOTEMPTY:39,ENOTRECOVERABLE:131,ENOTSOCK:88,ENOTSUP:95,ENOTTY:25,ENXIO:6,EOVERFLOW:75,EOWNERDEAD:130,EPERM:1,EPIPE:32,EPROTO:71,EPROTONOSUPPORT:93,EPROTOTYPE:91,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:116,ETIME:62,ETIMEDOUT:110,ETXTBSY:26,EWOULDBLOCK:11,EXDEV:18};
-  
-  function ___setErrNo(value) {
-      // For convenient setting and returning of errno.
-      if (!___setErrNo.ret) ___setErrNo.ret = allocate([0], 'i32', ALLOC_STATIC);
-      HEAP32[((___setErrNo.ret)>>2)]=value
-      return value;
-    }
-  
-  var _stdin=0;
-  
-  var _stdout=0;
-  
-  var _stderr=0;
-  
-  var __impure_ptr=0;var FS={currentPath:"/",nextInode:2,streams:[null],ignorePermissions:true,absolutePath:function (relative, base) {
-        if (typeof relative !== 'string') return null;
-        if (base === undefined) base = FS.currentPath;
-        if (relative && relative[0] == '/') base = '';
-        var full = base + '/' + relative;
-        var parts = full.split('/').reverse();
-        var absolute = [''];
-        while (parts.length) {
-          var part = parts.pop();
-          if (part == '' || part == '.') {
-            // Nothing.
-          } else if (part == '..') {
-            if (absolute.length > 1) absolute.pop();
-          } else {
-            absolute.push(part);
-          }
-        }
-        return absolute.length == 1 ? '/' : absolute.join('/');
-      },analyzePath:function (path, dontResolveLastLink, linksVisited) {
-        var ret = {
-          isRoot: false,
-          exists: false,
-          error: 0,
-          name: null,
-          path: null,
-          object: null,
-          parentExists: false,
-          parentPath: null,
-          parentObject: null
-        };
-        path = FS.absolutePath(path);
-        if (path == '/') {
-          ret.isRoot = true;
-          ret.exists = ret.parentExists = true;
-          ret.name = '/';
-          ret.path = ret.parentPath = '/';
-          ret.object = ret.parentObject = FS.root;
-        } else if (path !== null) {
-          linksVisited = linksVisited || 0;
-          path = path.slice(1).split('/');
-          var current = FS.root;
-          var traversed = [''];
-          while (path.length) {
-            if (path.length == 1 && current.isFolder) {
-              ret.parentExists = true;
-              ret.parentPath = traversed.length == 1 ? '/' : traversed.join('/');
-              ret.parentObject = current;
-              ret.name = path[0];
-            }
-            var target = path.shift();
-            if (!current.isFolder) {
-              ret.error = ERRNO_CODES.ENOTDIR;
-              break;
-            } else if (!current.read) {
-              ret.error = ERRNO_CODES.EACCES;
-              break;
-            } else if (!current.contents.hasOwnProperty(target)) {
-              ret.error = ERRNO_CODES.ENOENT;
-              break;
-            }
-            current = current.contents[target];
-            if (current.link && !(dontResolveLastLink && path.length == 0)) {
-              if (linksVisited > 40) { // Usual Linux SYMLOOP_MAX.
-                ret.error = ERRNO_CODES.ELOOP;
-                break;
-              }
-              var link = FS.absolutePath(current.link, traversed.join('/'));
-              ret = FS.analyzePath([link].concat(path).join('/'),
-                                   dontResolveLastLink, linksVisited + 1);
-              return ret;
-            }
-            traversed.push(target);
-            if (path.length == 0) {
-              ret.exists = true;
-              ret.path = traversed.join('/');
-              ret.object = current;
-            }
-          }
-        }
-        return ret;
-      },findObject:function (path, dontResolveLastLink) {
-        FS.ensureRoot();
-        var ret = FS.analyzePath(path, dontResolveLastLink);
-        if (ret.exists) {
-          return ret.object;
-        } else {
-          ___setErrNo(ret.error);
-          return null;
-        }
-      },createObject:function (parent, name, properties, canRead, canWrite) {
-        if (!parent) parent = '/';
-        if (typeof parent === 'string') parent = FS.findObject(parent);
-  
-        if (!parent) {
-          ___setErrNo(ERRNO_CODES.EACCES);
-          throw new Error('Parent path must exist.');
-        }
-        if (!parent.isFolder) {
-          ___setErrNo(ERRNO_CODES.ENOTDIR);
-          throw new Error('Parent must be a folder.');
-        }
-        if (!parent.write && !FS.ignorePermissions) {
-          ___setErrNo(ERRNO_CODES.EACCES);
-          throw new Error('Parent folder must be writeable.');
-        }
-        if (!name || name == '.' || name == '..') {
-          ___setErrNo(ERRNO_CODES.ENOENT);
-          throw new Error('Name must not be empty.');
-        }
-        if (parent.contents.hasOwnProperty(name)) {
-          ___setErrNo(ERRNO_CODES.EEXIST);
-          throw new Error("Can't overwrite object.");
-        }
-  
-        parent.contents[name] = {
-          read: canRead === undefined ? true : canRead,
-          write: canWrite === undefined ? false : canWrite,
-          timestamp: Date.now(),
-          inodeNumber: FS.nextInode++
-        };
-        for (var key in properties) {
-          if (properties.hasOwnProperty(key)) {
-            parent.contents[name][key] = properties[key];
-          }
-        }
-  
-        return parent.contents[name];
-      },createFolder:function (parent, name, canRead, canWrite) {
-        var properties = {isFolder: true, isDevice: false, contents: {}};
-        return FS.createObject(parent, name, properties, canRead, canWrite);
-      },createPath:function (parent, path, canRead, canWrite) {
-        var current = FS.findObject(parent);
-        if (current === null) throw new Error('Invalid parent.');
-        path = path.split('/').reverse();
-        while (path.length) {
-          var part = path.pop();
-          if (!part) continue;
-          if (!current.contents.hasOwnProperty(part)) {
-            FS.createFolder(current, part, canRead, canWrite);
-          }
-          current = current.contents[part];
-        }
-        return current;
-      },createFile:function (parent, name, properties, canRead, canWrite) {
-        properties.isFolder = false;
-        return FS.createObject(parent, name, properties, canRead, canWrite);
-      },createDataFile:function (parent, name, data, canRead, canWrite) {
-        if (typeof data === 'string') {
-          var dataArray = new Array(data.length);
-          for (var i = 0, len = data.length; i < len; ++i) dataArray[i] = data.charCodeAt(i);
-          data = dataArray;
-        }
-        var properties = {isDevice: false, contents: data};
-        return FS.createFile(parent, name, properties, canRead, canWrite);
-      },createLazyFile:function (parent, name, url, canRead, canWrite) {
-        var properties = {isDevice: false, url: url};
-        return FS.createFile(parent, name, properties, canRead, canWrite);
-      },createLink:function (parent, name, target, canRead, canWrite) {
-        var properties = {isDevice: false, link: target};
-        return FS.createFile(parent, name, properties, canRead, canWrite);
-      },createDevice:function (parent, name, input, output) {
-        if (!(input || output)) {
-          throw new Error('A device must have at least one callback defined.');
-        }
-        var ops = {isDevice: true, input: input, output: output};
-        return FS.createFile(parent, name, ops, Boolean(input), Boolean(output));
-      },forceLoadFile:function (obj) {
-        if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
-        var success = true;
-        if (typeof XMLHttpRequest !== 'undefined') {
-          // Browser.
-          assert('Cannot do synchronous binary XHRs in modern browsers. Use --embed-file or --preload-file in emcc');
-        } else if (Module['read']) {
-          // Command-line.
-          try {
-            // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
-            //          read() will try to parse UTF8.
-            obj.contents = intArrayFromString(Module['read'](obj.url), true);
-          } catch (e) {
-            success = false;
-          }
-        } else {
-          throw new Error('Cannot load without read() or XMLHttpRequest.');
-        }
-        if (!success) ___setErrNo(ERRNO_CODES.EIO);
-        return success;
-      },ensureRoot:function () {
-        if (FS.root) return;
-        // The main file system tree. All the contents are inside this.
-        FS.root = {
-          read: true,
-          write: true,
-          isFolder: true,
-          isDevice: false,
-          timestamp: Date.now(),
-          inodeNumber: 1,
-          contents: {}
-        };
-      },init:function (input, output, error) {
-        // Make sure we initialize only once.
-        assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
-        FS.init.initialized = true;
-  
-        FS.ensureRoot();
-  
-        // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
-        input = input || Module['stdin'];
-        output = output || Module['stdout'];
-        error = error || Module['stderr'];
-  
-        // Default handlers.
-        var stdinOverridden = true, stdoutOverridden = true, stderrOverridden = true;
-        if (!input) {
-          stdinOverridden = false;
-          input = function() {
-            if (!input.cache || !input.cache.length) {
-              var result;
-              if (typeof window != 'undefined' &&
-                  typeof window.prompt == 'function') {
-                // Browser.
-                result = window.prompt('Input: ');
-              } else if (typeof readline == 'function') {
-                // Command line.
-                result = readline();
-              }
-              if (!result) result = '';
-              input.cache = intArrayFromString(result + '\n', true);
-            }
-            return input.cache.shift();
-          };
-        }
-        function simpleOutput(val) {
-          if (val === null || val === '\n'.charCodeAt(0)) {
-            output.printer(output.buffer.join(''));
-            output.buffer = [];
-          } else {
-            output.buffer.push(String.fromCharCode(val));
-          }
-        }
-        if (!output) {
-          stdoutOverridden = false;
-          output = simpleOutput;
-        }
-        if (!output.printer) output.printer = Module['print'];
-        if (!output.buffer) output.buffer = [];
-        if (!error) {
-          stderrOverridden = false;
-          error = simpleOutput;
-        }
-        if (!error.printer) error.printer = Module['print'];
-        if (!error.buffer) error.buffer = [];
-  
-        // Create the temporary folder.
-        FS.createFolder('/', 'tmp', true, true);
-  
-        // Create the I/O devices.
-        var devFolder = FS.createFolder('/', 'dev', true, true);
-        var stdin = FS.createDevice(devFolder, 'stdin', input);
-        var stdout = FS.createDevice(devFolder, 'stdout', null, output);
-        var stderr = FS.createDevice(devFolder, 'stderr', null, error);
-        FS.createDevice(devFolder, 'tty', input, output);
-  
-        // Create default streams.
-        FS.streams[1] = {
-          path: '/dev/stdin',
-          object: stdin,
-          position: 0,
-          isRead: true,
-          isWrite: false,
-          isAppend: false,
-          isTerminal: !stdinOverridden,
-          error: false,
-          eof: false,
-          ungotten: []
-        };
-        FS.streams[2] = {
-          path: '/dev/stdout',
-          object: stdout,
-          position: 0,
-          isRead: false,
-          isWrite: true,
-          isAppend: false,
-          isTerminal: !stdoutOverridden,
-          error: false,
-          eof: false,
-          ungotten: []
-        };
-        FS.streams[3] = {
-          path: '/dev/stderr',
-          object: stderr,
-          position: 0,
-          isRead: false,
-          isWrite: true,
-          isAppend: false,
-          isTerminal: !stderrOverridden,
-          error: false,
-          eof: false,
-          ungotten: []
-        };
-        _stdin = allocate([1], 'void*', ALLOC_STATIC);
-        _stdout = allocate([2], 'void*', ALLOC_STATIC);
-        _stderr = allocate([3], 'void*', ALLOC_STATIC);
-  
-        // Other system paths
-        FS.createPath('/', 'dev/shm/tmp', true, true); // temp files
-  
-        // Newlib initialization
-        FS.streams[_stdin] = FS.streams[1];
-        FS.streams[_stdout] = FS.streams[2];
-        FS.streams[_stderr] = FS.streams[3];
-        __impure_ptr = allocate([ allocate(
-          [0, 0, 0, 0, _stdin, 0, 0, 0, _stdout, 0, 0, 0, _stderr, 0, 0, 0],
-          'void*', ALLOC_STATIC) ], 'void*', ALLOC_STATIC);
-      },quit:function () {
-        if (!FS.init.initialized) return;
-        // Flush any partially-printed lines in stdout and stderr. Careful, they may have been closed
-        if (FS.streams[2] && FS.streams[2].object.output.buffer.length > 0) FS.streams[2].object.output('\n'.charCodeAt(0));
-        if (FS.streams[3] && FS.streams[3].object.output.buffer.length > 0) FS.streams[3].object.output('\n'.charCodeAt(0));
-      },standardizePath:function (path) {
-        if (path.substr(0, 2) == './') path = path.substr(2);
-        return path;
-      },deleteFile:function (path) {
-        var path = FS.analyzePath(path);
-        if (!path.parentExists || !path.exists) {
-          throw 'Invalid path ' + path;
-        }
-        delete path.parentObject.contents[path.name];
-      }};
-  
-  
-  
-  
-  
-  
-  
-  function _pwrite(fildes, buf, nbyte, offset) {
-      // ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
-      var stream = FS.streams[fildes];
-      if (!stream || stream.object.isDevice) {
-        ___setErrNo(ERRNO_CODES.EBADF);
-        return -1;
-      } else if (!stream.isWrite) {
-        ___setErrNo(ERRNO_CODES.EACCES);
-        return -1;
-      } else if (stream.object.isFolder) {
-        ___setErrNo(ERRNO_CODES.EISDIR);
-        return -1;
-      } else if (nbyte < 0 || offset < 0) {
-        ___setErrNo(ERRNO_CODES.EINVAL);
-        return -1;
-      } else {
-        var contents = stream.object.contents;
-        while (contents.length < offset) contents.push(0);
-        for (var i = 0; i < nbyte; i++) {
-          contents[offset + i] = HEAPU8[(buf+i)];
-        }
-        stream.object.timestamp = Date.now();
-        return i;
-      }
-    }function _write(fildes, buf, nbyte) {
-      // ssize_t write(int fildes, const void *buf, size_t nbyte);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
-      var stream = FS.streams[fildes];
-      if (!stream) {
-        ___setErrNo(ERRNO_CODES.EBADF);
-        return -1;
-      } else if (!stream.isWrite) {
-        ___setErrNo(ERRNO_CODES.EACCES);
-        return -1;
-      } else if (nbyte < 0) {
-        ___setErrNo(ERRNO_CODES.EINVAL);
-        return -1;
-      } else {
-        if (stream.object.isDevice) {
-          if (stream.object.output) {
-            for (var i = 0; i < nbyte; i++) {
-              try {
-                stream.object.output(HEAP8[(buf+i)]);
-              } catch (e) {
-                ___setErrNo(ERRNO_CODES.EIO);
-                return -1;
-              }
-            }
-            stream.object.timestamp = Date.now();
-            return i;
-          } else {
-            ___setErrNo(ERRNO_CODES.ENXIO);
-            return -1;
-          }
+QuicEncoder.prototype.quic_rgb32_uncompress_row0_seg = function (i, cur_row, end,
+                                       waitmask, bpc, bpc_mask)
+{
+    var channel_r = this.channels[0];
+    var channel_g = this.channels[1];
+    var channel_b = this.channels[2];
+
+    var correlate_row_r = channel_r.correlate_row;
+    var correlate_row_g = channel_g.correlate_row;
+    var correlate_row_b = channel_b.correlate_row;
+    var stopidx;
+
+    if (!i) {
+        var a;
+
+        cur_row[rgb32_pixel_pad] = 0;
+        a = golomb_decoding_8bpc(channel_r.find_bucket_8bpc(correlate_row_r.zero).bestcode, this.io_word);
+        correlate_row_r.row[0] = a.rc;
+        cur_row[rgb32_pixel_r] = (family_8bpc.xlatL2U[correlate_row_r.row[0]]&0xFF);
+        this.decode_eatbits(a.codewordlen);
+
+        a = golomb_decoding_8bpc(channel_g.find_bucket_8bpc(correlate_row_g.zero).bestcode, this.io_word);
+        correlate_row_g.row[0] = a.rc;
+        cur_row[rgb32_pixel_g] = (family_8bpc.xlatL2U[correlate_row_g.row[0]]&0xFF);
+        this.decode_eatbits(a.codewordlen);
+
+        a = golomb_decoding_8bpc(channel_b.find_bucket_8bpc(correlate_row_b.zero).bestcode, this.io_word);
+        correlate_row_b.row[0] = a.rc;
+        cur_row[rgb32_pixel_b] = (family_8bpc.xlatL2U[correlate_row_b.row[0]]&0xFF);
+        this.decode_eatbits(a.codewordlen);
+
+        if (this.rgb_state.waitcnt) {
+            --this.rgb_state.waitcnt;
         } else {
-          var bytesWritten = _pwrite(fildes, buf, nbyte, stream.position);
-          if (bytesWritten != -1) stream.position += bytesWritten;
-          return bytesWritten;
+            this.rgb_state.waitcnt = (this.rgb_state.tabrand() & waitmask);
+            channel_r.find_bucket_8bpc(correlate_row_r.zero).update_model_8bpc(this.rgb_state, correlate_row_r.row[0], bpc);
+            channel_g.find_bucket_8bpc(correlate_row_g.zero).update_model_8bpc(this.rgb_state, correlate_row_g.row[0], bpc);
+            channel_b.find_bucket_8bpc(correlate_row_b.zero).update_model_8bpc(this.rgb_state, correlate_row_b.row[0], bpc);
         }
-      }
-    }function _fwrite(ptr, size, nitems, stream) {
-      // size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/fwrite.html
-      var bytesToWrite = nitems * size;
-      if (bytesToWrite == 0) return 0;
-      var bytesWritten = _write(stream, ptr, bytesToWrite);
-      if (bytesWritten == -1) {
-        if (FS.streams[stream]) FS.streams[stream].error = true;
-        return -1;
-      } else {
-        return Math.floor(bytesWritten / size);
-      }
+        stopidx = ++i + this.rgb_state.waitcnt;
+    } else {
+        stopidx = i + this.rgb_state.waitcnt;
     }
-  
-  function __formatString(format, varargs) {
-      var textIndex = format;
-      var argIndex = 0;
-      function getNextArg(type) {
-        // NOTE: Explicitly ignoring type safety. Otherwise this fails:
-        //       int x = 4; printf("%c\n", (char)x);
-        var ret;
-        if (type === 'double') {
-          ret = (tempDoubleI32[0]=HEAP32[((varargs+argIndex)>>2)],tempDoubleI32[1]=HEAP32[((varargs+argIndex+4)>>2)],tempDoubleF64[0]);
-        } else if (type == 'i64') {
-          ret = [HEAP32[((varargs+argIndex)>>2)],
-                 HEAP32[((varargs+argIndex+4)>>2)]];
-        } else {
-          type = 'i32'; // varargs are always i32, i64, or double
-          ret = HEAP32[((varargs+argIndex)>>2)];
-        }
-        argIndex += Runtime.getNativeFieldSize(type);
-        return ret;
-      }
-  
-      var ret = [];
-      var curr, next, currArg;
-      while(1) {
-        var startTextIndex = textIndex;
-        curr = HEAP8[(textIndex)];
-        if (curr === 0) break;
-        next = HEAP8[(textIndex+1)];
-        if (curr == '%'.charCodeAt(0)) {
-          // Handle flags.
-          var flagAlwaysSigned = false;
-          var flagLeftAlign = false;
-          var flagAlternative = false;
-          var flagZeroPad = false;
-          flagsLoop: while (1) {
-            switch (next) {
-              case '+'.charCodeAt(0):
-                flagAlwaysSigned = true;
-                break;
-              case '-'.charCodeAt(0):
-                flagLeftAlign = true;
-                break;
-              case '#'.charCodeAt(0):
-                flagAlternative = true;
-                break;
-              case '0'.charCodeAt(0):
-                if (flagZeroPad) {
-                  break flagsLoop;
-                } else {
-                  flagZeroPad = true;
-                  break;
-                }
-              default:
-                break flagsLoop;
-            }
-            textIndex++;
-            next = HEAP8[(textIndex+1)];
-          }
-  
-          // Handle width.
-          var width = 0;
-          if (next == '*'.charCodeAt(0)) {
-            width = getNextArg('i32');
-            textIndex++;
-            next = HEAP8[(textIndex+1)];
-          } else {
-            while (next >= '0'.charCodeAt(0) && next <= '9'.charCodeAt(0)) {
-              width = width * 10 + (next - '0'.charCodeAt(0));
-              textIndex++;
-              next = HEAP8[(textIndex+1)];
-            }
-          }
-  
-          // Handle precision.
-          var precisionSet = false;
-          if (next == '.'.charCodeAt(0)) {
-            var precision = 0;
-            precisionSet = true;
-            textIndex++;
-            next = HEAP8[(textIndex+1)];
-            if (next == '*'.charCodeAt(0)) {
-              precision = getNextArg('i32');
-              textIndex++;
-            } else {
-              while(1) {
-                var precisionChr = HEAP8[(textIndex+1)];
-                if (precisionChr < '0'.charCodeAt(0) ||
-                    precisionChr > '9'.charCodeAt(0)) break;
-                precision = precision * 10 + (precisionChr - '0'.charCodeAt(0));
-                textIndex++;
-              }
-            }
-            next = HEAP8[(textIndex+1)];
-          } else {
-            var precision = 6; // Standard default.
-          }
-  
-          // Handle integer sizes. WARNING: These assume a 32-bit architecture!
-          var argSize;
-          switch (String.fromCharCode(next)) {
-            case 'h':
-              var nextNext = HEAP8[(textIndex+2)];
-              if (nextNext == 'h'.charCodeAt(0)) {
-                textIndex++;
-                argSize = 1; // char (actually i32 in varargs)
-              } else {
-                argSize = 2; // short (actually i32 in varargs)
-              }
-              break;
-            case 'l':
-              var nextNext = HEAP8[(textIndex+2)];
-              if (nextNext == 'l'.charCodeAt(0)) {
-                textIndex++;
-                argSize = 8; // long long
-              } else {
-                argSize = 4; // long
-              }
-              break;
-            case 'L': // long long
-            case 'q': // int64_t
-            case 'j': // intmax_t
-              argSize = 8;
-              break;
-            case 'z': // size_t
-            case 't': // ptrdiff_t
-            case 'I': // signed ptrdiff_t or unsigned size_t
-              argSize = 4;
-              break;
-            default:
-              argSize = null;
-          }
-          if (argSize) textIndex++;
-          next = HEAP8[(textIndex+1)];
-  
-          // Handle type specifier.
-          if (['d', 'i', 'u', 'o', 'x', 'X', 'p'].indexOf(String.fromCharCode(next)) != -1) {
-            // Integer.
-            var signed = next == 'd'.charCodeAt(0) || next == 'i'.charCodeAt(0);
-            argSize = argSize || 4;
-            var currArg = getNextArg('i' + (argSize * 8));
-            var origArg = currArg;
-            var argText;
-            // Flatten i64-1 [low, high] into a (slightly rounded) double
-            if (argSize == 8) {
-              currArg = Runtime.makeBigInt(currArg[0], currArg[1], next == 'u'.charCodeAt(0));
-            }
-            // Truncate to requested size.
-            if (argSize <= 4) {
-              var limit = Math.pow(256, argSize) - 1;
-              currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8);
-            }
-            // Format the number.
-            var currAbsArg = Math.abs(currArg);
-            var prefix = '';
-            if (next == 'd'.charCodeAt(0) || next == 'i'.charCodeAt(0)) {
-              if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1]); else
-              argText = reSign(currArg, 8 * argSize, 1).toString(10);
-            } else if (next == 'u'.charCodeAt(0)) {
-              if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], true); else
-              argText = unSign(currArg, 8 * argSize, 1).toString(10);
-              currArg = Math.abs(currArg);
-            } else if (next == 'o'.charCodeAt(0)) {
-              argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8);
-            } else if (next == 'x'.charCodeAt(0) || next == 'X'.charCodeAt(0)) {
-              prefix = flagAlternative ? '0x' : '';
-              if (currArg < 0) {
-                // Represent negative numbers in hex as 2's complement.
-                currArg = -currArg;
-                argText = (currAbsArg - 1).toString(16);
-                var buffer = [];
-                for (var i = 0; i < argText.length; i++) {
-                  buffer.push((0xF - parseInt(argText[i], 16)).toString(16));
-                }
-                argText = buffer.join('');
-                while (argText.length < argSize * 2) argText = 'f' + argText;
-              } else {
-                argText = currAbsArg.toString(16);
-              }
-              if (next == 'X'.charCodeAt(0)) {
-                prefix = prefix.toUpperCase();
-                argText = argText.toUpperCase();
-              }
-            } else if (next == 'p'.charCodeAt(0)) {
-              if (currAbsArg === 0) {
-                argText = '(nil)';
-              } else {
-                prefix = '0x';
-                argText = currAbsArg.toString(16);
-              }
-            }
-            if (precisionSet) {
-              while (argText.length < precision) {
-                argText = '0' + argText;
-              }
-            }
-  
-            // Add sign if needed
-            if (flagAlwaysSigned) {
-              if (currArg < 0) {
-                prefix = '-' + prefix;
-              } else {
-                prefix = '+' + prefix;
-              }
-            }
-  
-            // Add padding.
-            while (prefix.length + argText.length < width) {
-              if (flagLeftAlign) {
-                argText += ' ';
-              } else {
-                if (flagZeroPad) {
-                  argText = '0' + argText;
-                } else {
-                  prefix = ' ' + prefix;
-                }
-              }
-            }
-  
-            // Insert the result into the buffer.
-            argText = prefix + argText;
-            argText.split('').forEach(function(chr) {
-              ret.push(chr.charCodeAt(0));
-            });
-          } else if (['f', 'F', 'e', 'E', 'g', 'G'].indexOf(String.fromCharCode(next)) != -1) {
-            // Float.
-            var currArg = getNextArg('double');
-            var argText;
-  
-            if (isNaN(currArg)) {
-              argText = 'nan';
-              flagZeroPad = false;
-            } else if (!isFinite(currArg)) {
-              argText = (currArg < 0 ? '-' : '') + 'inf';
-              flagZeroPad = false;
-            } else {
-              var isGeneral = false;
-              var effectivePrecision = Math.min(precision, 20);
-  
-              // Convert g/G to f/F or e/E, as per:
-              // http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html
-              if (next == 'g'.charCodeAt(0) || next == 'G'.charCodeAt(0)) {
-                isGeneral = true;
-                precision = precision || 1;
-                var exponent = parseInt(currArg.toExponential(effectivePrecision).split('e')[1], 10);
-                if (precision > exponent && exponent >= -4) {
-                  next = ((next == 'g'.charCodeAt(0)) ? 'f' : 'F').charCodeAt(0);
-                  precision -= exponent + 1;
-                } else {
-                  next = ((next == 'g'.charCodeAt(0)) ? 'e' : 'E').charCodeAt(0);
-                  precision--;
-                }
-                effectivePrecision = Math.min(precision, 20);
-              }
-  
-              if (next == 'e'.charCodeAt(0) || next == 'E'.charCodeAt(0)) {
-                argText = currArg.toExponential(effectivePrecision);
-                // Make sure the exponent has at least 2 digits.
-                if (/[eE][-+]\d$/.test(argText)) {
-                  argText = argText.slice(0, -1) + '0' + argText.slice(-1);
-                }
-              } else if (next == 'f'.charCodeAt(0) || next == 'F'.charCodeAt(0)) {
-                argText = currArg.toFixed(effectivePrecision);
-              }
-  
-              var parts = argText.split('e');
-              if (isGeneral && !flagAlternative) {
-                // Discard trailing zeros and periods.
-                while (parts[0].length > 1 && parts[0].indexOf('.') != -1 &&
-                       (parts[0].slice(-1) == '0' || parts[0].slice(-1) == '.')) {
-                  parts[0] = parts[0].slice(0, -1);
-                }
-              } else {
-                // Make sure we have a period in alternative mode.
-                if (flagAlternative && argText.indexOf('.') == -1) parts[0] += '.';
-                // Zero pad until required precision.
-                while (precision > effectivePrecision++) parts[0] += '0';
-              }
-              argText = parts[0] + (parts.length > 1 ? 'e' + parts[1] : '');
-  
-              // Capitalize 'E' if needed.
-              if (next == 'E'.charCodeAt(0)) argText = argText.toUpperCase();
-  
-              // Add sign.
-              if (flagAlwaysSigned && currArg >= 0) {
-                argText = '+' + argText;
-              }
-            }
-  
-            // Add padding.
-            while (argText.length < width) {
-              if (flagLeftAlign) {
-                argText += ' ';
-              } else {
-                if (flagZeroPad && (argText[0] == '-' || argText[0] == '+')) {
-                  argText = argText[0] + '0' + argText.slice(1);
-                } else {
-                  argText = (flagZeroPad ? '0' : ' ') + argText;
-                }
-              }
-            }
-  
-            // Adjust case.
-            if (next < 'a'.charCodeAt(0)) argText = argText.toUpperCase();
-  
-            // Insert the result into the buffer.
-            argText.split('').forEach(function(chr) {
-              ret.push(chr.charCodeAt(0));
-            });
-          } else if (next == 's'.charCodeAt(0)) {
-            // String.
-            var arg = getNextArg('i8*');
-            var copiedString;
-            if (arg) {
-              copiedString = String_copy(arg);
-              if (precisionSet && copiedString.length > precision) {
-                copiedString = copiedString.slice(0, precision);
-              }
-            } else {
-              copiedString = intArrayFromString('(null)', true);
-            }
-            if (!flagLeftAlign) {
-              while (copiedString.length < width--) {
-                ret.push(' '.charCodeAt(0));
-              }
-            }
-            ret = ret.concat(copiedString);
-            if (flagLeftAlign) {
-              while (copiedString.length < width--) {
-                ret.push(' '.charCodeAt(0));
-              }
-            }
-          } else if (next == 'c'.charCodeAt(0)) {
-            // Character.
-            if (flagLeftAlign) ret.push(getNextArg('i8'));
-            while (--width > 0) {
-              ret.push(' '.charCodeAt(0));
-            }
-            if (!flagLeftAlign) ret.push(getNextArg('i8'));
-          } else if (next == 'n'.charCodeAt(0)) {
-            // Write the length written so far to the next parameter.
-            var ptr = getNextArg('i32*');
-            HEAP32[((ptr)>>2)]=ret.length
-          } else if (next == '%'.charCodeAt(0)) {
-            // Literal percent sign.
-            ret.push(curr);
-          } else {
-            // Unknown specifiers remain untouched.
-            for (var i = startTextIndex; i < textIndex + 2; i++) {
-              ret.push(HEAP8[(i)]);
-            }
-          }
-          textIndex += 2;
-          // TODO: Support a/A (hex float) and m (last error) specifiers.
-          // TODO: Support %1${specifier} for arg selection.
-        } else {
-          ret.push(curr);
-          textIndex += 1;
+
+    while (stopidx < end) {
+        for (; i <= stopidx; i++) {
+            var a;
+
+            cur_row[(i* rgb32_pixel_size)+rgb32_pixel_pad] = 0;
+            a = golomb_decoding_8bpc(channel_r.find_bucket_8bpc(correlate_row_r.row[i - 1]).bestcode, this.io_word);
+            correlate_row_r.row[i] = a.rc;
+            cur_row[(i* rgb32_pixel_size)+rgb32_pixel_r] = (family_8bpc.xlatL2U[correlate_row_r.row[i]] + cur_row[((i-1) * rgb32_pixel_size) + rgb32_pixel_r]) & bpc_mask;
+            this.decode_eatbits(a.codewordlen);
+
+            a = golomb_decoding_8bpc(channel_g.find_bucket_8bpc(correlate_row_g.row[i - 1]).bestcode, this.io_word);
+            correlate_row_g.row[i] = a.rc;
+            cur_row[(i* rgb32_pixel_size)+rgb32_pixel_g] = (family_8bpc.xlatL2U[correlate_row_g.row[i]] + cur_row[((i-1) * rgb32_pixel_size) + rgb32_pixel_g]) & bpc_mask;
+            this.decode_eatbits(a.codewordlen);
+
+            a = golomb_decoding_8bpc(channel_b.find_bucket_8bpc(correlate_row_b.row[i - 1]).bestcode, this.io_word);
+            correlate_row_b.row[i] = a.rc;
+            cur_row[(i* rgb32_pixel_size)+rgb32_pixel_b] = (family_8bpc.xlatL2U[correlate_row_b.row[i]] + cur_row[((i-1) * rgb32_pixel_size) + rgb32_pixel_b]) & bpc_mask;
+            this.decode_eatbits(a.codewordlen);
         }
-      }
-      return ret;
-    }function _fprintf(stream, format, varargs) {
-      // int fprintf(FILE *restrict stream, const char *restrict format, ...);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
-      var result = __formatString(format, varargs);
-      var stack = Runtime.stackSave();
-      var ret = _fwrite(allocate(result, 'i8', ALLOC_STACK), 1, result.length, stream);
-      Runtime.stackRestore(stack);
-      return ret;
+        channel_r.find_bucket_8bpc(correlate_row_r.row[stopidx - 1]).update_model_8bpc(this.rgb_state, correlate_row_r.row[stopidx], bpc);
+        channel_g.find_bucket_8bpc(correlate_row_g.row[stopidx - 1]).update_model_8bpc(this.rgb_state, correlate_row_g.row[stopidx], bpc);
+        channel_b.find_bucket_8bpc(correlate_row_b.row[stopidx - 1]).update_model_8bpc(this.rgb_state, correlate_row_b.row[stopidx], bpc);
+        stopidx = i + (this.rgb_state.tabrand() & waitmask);
     }
-var _llvm_va_start; // stub for _llvm_va_start
 
-  
-  
-  var _vfprintf=_fprintf;
-
-  function _llvm_va_end() {}
-
-  function _printf(format, varargs) {
-      // int printf(const char *restrict format, ...);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
-      var stdout = HEAP32[((_stdout)>>2)];
-      return _fprintf(stdout, format, varargs);
+    for (; i < end; i++) {
+        var a;
+
+        cur_row[(i* rgb32_pixel_size)+rgb32_pixel_pad] = 0;
+        a = golomb_decoding_8bpc(channel_r.find_bucket_8bpc(correlate_row_r.row[i - 1]).bestcode, this.io_word);
+        correlate_row_r.row[i] = a.rc;
+        cur_row[(i* rgb32_pixel_size)+rgb32_pixel_r] = (family_8bpc.xlatL2U[correlate_row_r.row[i]] + cur_row[((i-1) * rgb32_pixel_size) + rgb32_pixel_r]) & bpc_mask;
+        this.decode_eatbits(a.codewordlen);
+        a = golomb_decoding_8bpc(channel_g.find_bucket_8bpc(correlate_row_g.row[i - 1]).bestcode, this.io_word);
+        correlate_row_g.row[i] = a.rc;
+        cur_row[(i* rgb32_pixel_size)+rgb32_pixel_g] = (family_8bpc.xlatL2U[correlate_row_g.row[i]] + cur_row[((i-1) * rgb32_pixel_size) + rgb32_pixel_g]) & bpc_mask;
+        this.decode_eatbits(a.codewordlen);
+        a = golomb_decoding_8bpc(channel_b.find_bucket_8bpc(correlate_row_b.row[i - 1]).bestcode, this.io_word);
+        correlate_row_b.row[i] = a;
+        cur_row[(i* rgb32_pixel_size)+rgb32_pixel_b] = (family_8bpc.xlatL2U[correlate_row_b.row[i]] + cur_row[((i-1) * rgb32_pixel_size) + rgb32_pixel_b]) & bpc_mask;
+        this.decode_eatbits(a.codewordlen);
     }
+    this.rgb_state.waitcnt = stopidx - end;
+}
 
-  
-  function _memcpy(dest, src, num, align) {
-      assert(num % 1 === 0, 'memcpy given ' + num + ' bytes to copy. Problem with quantum=1 corrections perhaps?');
-      if (num >= 20 && src % 2 == dest % 2) {
-        // This is unaligned, but quite large, and potentially alignable, so work hard to get to aligned settings
-        if (src % 4 == dest % 4) {
-          var stop = src + num;
-          while (src % 4) { // no need to check for stop, since we have large num
-            HEAP8[dest++] = HEAP8[src++];
-          }
-          var src4 = src >> 2, dest4 = dest >> 2, stop4 = stop >> 2;
-          while (src4 < stop4) {
-            HEAP32[dest4++] = HEAP32[src4++];
-          }
-          src = src4 << 2;
-          dest = dest4 << 2;
-          while (src < stop) {
-            HEAP8[dest++] = HEAP8[src++];
-          }
-        } else {
-          var stop = src + num;
-          if (src % 2) { // no need to check for stop, since we have large num
-            HEAP8[dest++] = HEAP8[src++];
-          }
-          var src2 = src >> 1, dest2 = dest >> 1, stop2 = stop >> 1;
-          while (src2 < stop2) {
-            HEAP16[dest2++] = HEAP16[src2++];
-          }
-          src = src2 << 1;
-          dest = dest2 << 1;
-          if (src < stop) {
-            HEAP8[dest++] = HEAP8[src++];
-          }
-        }
-      } else {
-        while (num--) {
-          HEAP8[dest++] = HEAP8[src++];
+QuicEncoder.prototype.quic_rgb32_uncompress_row0 = function (cur_row)
+{
+    var bpc = 8;
+    var bpc_mask = 0xff;
+    var pos = 0;
+    var width = this.width;
+
+    while ((wmimax > this.rgb_state.wmidx) && (this.rgb_state.wmileft <= width)) {
+        if (this.rgb_state.wmileft) {
+            this.quic_rgb32_uncompress_row0_seg(pos, cur_row,
+                                       pos + this.rgb_state.wmileft,
+                                       bppmask[this.rgb_state.wmidx],
+                                       bpc, bpc_mask);
+            pos += this.rgb_state.wmileft;
+            width -= this.rgb_state.wmileft;
         }
-      }
-    }var _llvm_memcpy_p0i8_p0i8_i32=_memcpy;
 
-  
-  function _strncmp(px, py, n) {
-      var i = 0;
-      while (i < n) {
-        var x = HEAP8[(px+i)];
-        var y = HEAP8[(py+i)];
-        if (x == y && x == 0) return 0;
-        if (x == 0) return -1;
-        if (y == 0) return 1;
-        if (x == y) {
-          i ++;
-          continue;
-        } else {
-          return x > y ? 1 : -1;
-        }
-      }
-      return 0;
-    }function _strcmp(px, py) {
-      return _strncmp(px, py, TOTAL_MEMORY);
+        this.rgb_state.wmidx++;
+        this.rgb_state.set_wm_trigger();
+        this.rgb_state.wmileft = wminext;
     }
 
-  
-  
-  
-  
-  
-  
-  
-  
-  var ___dirent_struct_layout=null;function _open(path, oflag, varargs) {
-      // int open(const char *path, int oflag, ...);
-      // http://pubs.opengroup.org/onlinepubs/009695399/functions/open.html
-      // NOTE: This implementation tries to mimic glibc rather that strictly
-      // following the POSIX standard.
-  
-      var mode = HEAP32[((varargs)>>2)];
-  
-      // Simplify flags.
-      var accessMode = oflag & 3;
-      var isWrite = accessMode != 0;
-      var isRead = accessMode != 1;
-      var isCreate = Boolean(oflag & 512);
-      var isExistCheck = Boolean(oflag & 2048);
-      var isTruncate = Boolean(oflag & 1024);
-      var isAppend = Boolean(oflag & 8);
-  
-      // Verify path.
-      var origPath = path;
-      path = FS.analyzePath(Pointer_stringify(path));
-      if (!path.parentExists) {
-        ___setErrNo(path.error);
-        return -1;
-      }
-      var target = path.object || null;
-      var finalPath;
-  
-      // Verify the file exists, create if needed and allowed.
-      if (target) {
-        if (isCreate && isExistCheck) {
-          ___setErrNo(ERRNO_CODES.EEXIST);
-          return -1;
-        }
-        if ((isWrite || isCreate || isTruncate) && target.isFolder) {
-          ___setErrNo(ERRNO_CODES.EISDIR);
-          return -1;
-        }
-        if (isRead && !target.read || isWrite && !target.write) {
-          ___setErrNo(ERRNO_CODES.EACCES);
-          return -1;
-        }
-        if (isTruncate && !target.isDevice) {
-          target.contents = [];
-        } else {
-          if (!FS.forceLoadFile(target)) {
-            ___setErrNo(ERRNO_CODES.EIO);
-            return -1;
-          }
-        }
-        finalPath = path.path;
-      } else {
-        if (!isCreate) {
-          ___setErrNo(ERRNO_CODES.ENOENT);
-          return -1;
+    if (width) {
+        this.quic_rgb32_uncompress_row0_seg(pos, cur_row, pos + width,
+                                   bppmask[this.rgb_state.wmidx], bpc, bpc_mask);
+        if (wmimax > this.rgb_state.wmidx) {
+            this.rgb_state.wmileft -= width;
         }
-        if (!path.parentObject.write) {
-          ___setErrNo(ERRNO_CODES.EACCES);
-          return -1;
-        }
-        target = FS.createDataFile(path.parentObject, path.name, [],
-                                   mode & 0x100, mode & 0x80);  // S_IRUSR, S_IWUSR.
-        finalPath = path.parentPath + '/' + path.name;
-      }
-      // Actually create an open stream.
-      var id = FS.streams.length;
-      if (target.isFolder) {
-        var entryBuffer = 0;
-        if (___dirent_struct_layout) {
-          entryBuffer = _malloc(___dirent_struct_layout.__size__);
-        }
-        var contents = [];
-        for (var key in target.contents) contents.push(key);
-        FS.streams[id] = {
-          path: finalPath,
-          object: target,
-          // An index into contents. Special values: -2 is ".", -1 is "..".
-          position: -2,
-          isRead: true,
-          isWrite: false,
-          isAppend: false,
-          error: false,
-          eof: false,
-          ungotten: [],
-          // Folder-specific properties:
-          // Remember the contents at the time of opening in an array, so we can
-          // seek between them relying on a single order.
-          contents: contents,
-          // Each stream has its own area for readdir() returns.
-          currentEntry: entryBuffer
-        };
-      } else {
-        FS.streams[id] = {
-          path: finalPath,
-          object: target,
-          position: 0,
-          isRead: isRead,
-          isWrite: isWrite,
-          isAppend: isAppend,
-          error: false,
-          eof: false,
-          ungotten: []
-        };
-      }
-      return id;
-    }function _fopen(filename, mode) {
-      // FILE *fopen(const char *restrict filename, const char *restrict mode);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/fopen.html
-      var flags;
-      mode = Pointer_stringify(mode);
-      if (mode[0] == 'r') {
-        if (mode.indexOf('+') != -1) {
-          flags = 2;
-        } else {
-          flags = 0;
-        }
-      } else if (mode[0] == 'w') {
-        if (mode.indexOf('+') != -1) {
-          flags = 2;
-        } else {
-          flags = 1;
-        }
-        flags |= 512;
-        flags |= 1024;
-      } else if (mode[0] == 'a') {
-        if (mode.indexOf('+') != -1) {
-          flags = 2;
-        } else {
-          flags = 1;
-        }
-        flags |= 512;
-        flags |= 8;
-      } else {
-        ___setErrNo(ERRNO_CODES.EINVAL);
-        return 0;
-      }
-      var ret = _open(filename, flags, allocate([0x1FF, 0, 0, 0], 'i32', ALLOC_STACK));  // All creation permissions.
-      return (ret == -1) ? 0 : ret;
     }
+}
 
-  
-  
-  
-  
-  
-  
-  
-  
-  function _pread(fildes, buf, nbyte, offset) {
-      // ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
-      var stream = FS.streams[fildes];
-      if (!stream || stream.object.isDevice) {
-        ___setErrNo(ERRNO_CODES.EBADF);
-        return -1;
-      } else if (!stream.isRead) {
-        ___setErrNo(ERRNO_CODES.EACCES);
-        return -1;
-      } else if (stream.object.isFolder) {
-        ___setErrNo(ERRNO_CODES.EISDIR);
-        return -1;
-      } else if (nbyte < 0 || offset < 0) {
-        ___setErrNo(ERRNO_CODES.EINVAL);
-        return -1;
-      } else {
-        var bytesRead = 0;
-        while (stream.ungotten.length && nbyte > 0) {
-          HEAP8[(buf++)]=stream.ungotten.pop()
-          nbyte--;
-          bytesRead++;
-        }
-        var contents = stream.object.contents;
-        var size = Math.min(contents.length - offset, nbyte);
-        for (var i = 0; i < size; i++) {
-          HEAP8[(buf+i)]=contents[offset + i]
-          bytesRead++;
-        }
-        return bytesRead;
-      }
-    }function _read(fildes, buf, nbyte) {
-      // ssize_t read(int fildes, void *buf, size_t nbyte);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
-      var stream = FS.streams[fildes];
-      if (!stream) {
-        ___setErrNo(ERRNO_CODES.EBADF);
-        return -1;
-      } else if (!stream.isRead) {
-        ___setErrNo(ERRNO_CODES.EACCES);
-        return -1;
-      } else if (nbyte < 0) {
-        ___setErrNo(ERRNO_CODES.EINVAL);
-        return -1;
-      } else {
-        var bytesRead;
-        if (stream.object.isDevice) {
-          if (stream.object.input) {
-            bytesRead = 0;
-            while (stream.ungotten.length && nbyte > 0) {
-              HEAP8[(buf++)]=stream.ungotten.pop()
-              nbyte--;
-              bytesRead++;
-            }
-            for (var i = 0; i < nbyte; i++) {
-              try {
-                var result = stream.object.input();
-              } catch (e) {
-                ___setErrNo(ERRNO_CODES.EIO);
-                return -1;
-              }
-              if (result === null || result === undefined) break;
-              bytesRead++;
-              HEAP8[(buf+i)]=result
-            }
-            return bytesRead;
-          } else {
-            ___setErrNo(ERRNO_CODES.ENXIO);
-            return -1;
-          }
+QuicEncoder.prototype.quic_rgb32_uncompress_row_seg = function( prev_row, cur_row, i, end, bpc, bpc_mask)
+{
+    var channel_r = this.channels[0];
+    var channel_g = this.channels[1];
+    var channel_b = this.channels[2];
+
+    var correlate_row_r = channel_r.correlate_row;
+    var correlate_row_g = channel_g.correlate_row;
+    var correlate_row_b = channel_b.correlate_row;
+
+    var waitmask = bppmask[this.rgb_state.wmidx];
+
+    var a;
+
+    var b = {
+              i: i,
+              run_index: 0,
+              stopidx: 0,
+              run_end: 0,
+              end : end
+            };
+
+    if (!b.i)
+    {
+        cur_row[rgb32_pixel_pad] = 0;
+        a = golomb_decoding_8bpc(channel_r.find_bucket_8bpc(correlate_row_r.zero).bestcode, this.io_word);
+        correlate_row_r.row[0] = a.rc;
+        cur_row[rgb32_pixel_r] = (family_8bpc.xlatL2U[correlate_row_r.row[0]] + prev_row[rgb32_pixel_r]) & bpc_mask;
+        this.decode_eatbits(a.codewordlen);
+
+        a = golomb_decoding_8bpc(channel_g.find_bucket_8bpc(correlate_row_g.zero).bestcode, this.io_word);
+        correlate_row_g.row[0] = a.rc;
+        cur_row[rgb32_pixel_g] = (family_8bpc.xlatL2U[correlate_row_g.row[0]] + prev_row[rgb32_pixel_g]) & bpc_mask;
+        this.decode_eatbits(a.codewordlen);
+
+        a = golomb_decoding_8bpc(channel_b.find_bucket_8bpc(correlate_row_b.zero).bestcode, this.io_word);
+        correlate_row_b.row[0] = a.rc;
+        cur_row[rgb32_pixel_b] = (family_8bpc.xlatL2U[correlate_row_b.row[0]] + prev_row[rgb32_pixel_b]) & bpc_mask;
+        this.decode_eatbits(a.codewordlen);
+
+        if (this.rgb_state.waitcnt) {
+            --this.rgb_state.waitcnt;
         } else {
-          var ungotSize = stream.ungotten.length;
-          bytesRead = _pread(fildes, buf, nbyte, stream.position);
-          if (bytesRead != -1) {
-            stream.position += (stream.ungotten.length - ungotSize) + bytesRead;
-          }
-          return bytesRead;
+            this.rgb_state.waitcnt = (this.rgb_state.tabrand() & waitmask);
+            channel_r.find_bucket_8bpc(correlate_row_r.zero).update_model_8bpc(this.rgb_state, correlate_row_r.row[0], bpc);
+            channel_g.find_bucket_8bpc(correlate_row_g.zero).update_model_8bpc(this.rgb_state, correlate_row_g.row[0], bpc);
+            channel_b.find_bucket_8bpc(correlate_row_b.zero).update_model_8bpc(this.rgb_state, correlate_row_b.row[0], bpc);
         }
-      }
-    }function _fread(ptr, size, nitems, stream) {
-      // size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/fread.html
-      var bytesToRead = nitems * size;
-      if (bytesToRead == 0) return 0;
-      var bytesRead = _read(stream, ptr, bytesToRead);
-      var streamObj = FS.streams[stream];
-      if (bytesRead == -1) {
-        if (streamObj) streamObj.error = true;
-        return -1;
-      } else {
-        if (bytesRead < bytesToRead) streamObj.eof = true;
-        return Math.floor(bytesRead / size);
-      }
+        b.stopidx = ++b.i + this.rgb_state.waitcnt;
+    } else {
+        b.stopidx = b.i + this.rgb_state.waitcnt;
     }
+    for (;;) {
+        b.rc = 0;
+        while (b.stopidx < b.end && !b.rc) {
+            for (; b.i <= b.stopidx && !b.rc; b.i++) {
+                var pixel = b.i * rgb32_pixel_size;
+                var pixelm1 = (b.i-1) * rgb32_pixel_size;
+                var pixelm2 = (b.i-2) * rgb32_pixel_size;
+
+                if ( prev_row[pixelm1+rgb32_pixel_r] == prev_row[pixel+rgb32_pixel_r] && prev_row[pixelm1+rgb32_pixel_g] == prev_row[pixel+rgb32_pixel_g] && prev_row[pixelm1 + rgb32_pixel_b] == prev_row[pixel+rgb32_pixel_b])
+                {
+                    if (b.run_index != b.i && b.i > 2 && (cur_row[pixelm1+rgb32_pixel_r] == cur_row[pixelm2+rgb32_pixel_r] && cur_row[pixelm1+rgb32_pixel_g] == cur_row[pixelm2+rgb32_pixel_g] && cur_row[pixelm1+rgb32_pixel_b] == cur_row[pixelm2+rgb32_pixel_b]))
+                    {
+                        this.do_run(b, cur_row);
+                        if (b.rc === 2) return;
+                        else break;
+                    }
+                }
 
-  
-  function __exit(status) {
-      // void _exit(int status);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
-  
-  
-      exitRuntime();
-      ABORT = true;
-  
-      throw 'exit(' + status + ') called, at ' + new Error().stack;
-    }function _exit(status) {
-      __exit(status);
-    }
+                cur_row[pixel+rgb32_pixel_pad] = 0;
+                a = golomb_decoding_8bpc(channel_r.find_bucket_8bpc(correlate_row_r.row[b.i-1]).bestcode, this.io_word);
+                correlate_row_r.row[b.i] = a.rc;
+                cur_row[pixel+rgb32_pixel_r] = (family_8bpc.xlatL2U[a.rc] + ((cur_row[pixelm1+rgb32_pixel_r] + prev_row[pixel+rgb32_pixel_r]) >>> 1)) & bpc_mask;
+                this.decode_eatbits(a.codewordlen);
+
+                a = golomb_decoding_8bpc(channel_g.find_bucket_8bpc(correlate_row_g.row[b.i-1]).bestcode, this.io_word);
+                correlate_row_g.row[b.i] = a.rc;
+                cur_row[pixel+rgb32_pixel_g] = ((family_8bpc.xlatL2U[a.rc] + ((cur_row[pixelm1+rgb32_pixel_g] + prev_row[pixel+rgb32_pixel_g]) >>> 1)) & bpc_mask);
+                this.decode_eatbits(a.codewordlen);
+
+                a = golomb_decoding_8bpc(channel_b.find_bucket_8bpc(correlate_row_b.row[b.i-1]).bestcode, this.io_word);
+                correlate_row_b.row[b.i] = a.rc;
+                cur_row[pixel+rgb32_pixel_b] = ((family_8bpc.xlatL2U[a.rc] + ((cur_row[pixelm1+rgb32_pixel_b] + prev_row[pixel+rgb32_pixel_b]) >>> 1)) & bpc_mask);
+                this.decode_eatbits(a.codewordlen);
+            }
+            if (b.rc)
+                break;
 
-  
-  
-  
-  function _close(fildes) {
-      // int close(int fildes);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/close.html
-      if (FS.streams[fildes]) {
-        if (FS.streams[fildes].currentEntry) {
-          _free(FS.streams[fildes].currentEntry);
-        }
-        delete FS.streams[fildes];
-        return 0;
-      } else {
-        ___setErrNo(ERRNO_CODES.EBADF);
-        return -1;
-      }
-    }
-  
-  
-  
-  function _fsync(fildes) {
-      // int fsync(int fildes);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/fsync.html
-      if (FS.streams[fildes]) {
-        // We write directly to the file system, so there's nothing to do here.
-        return 0;
-      } else {
-        ___setErrNo(ERRNO_CODES.EBADF);
-        return -1;
-      }
-    }function _fclose(stream) {
-      // int fclose(FILE *stream);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/fclose.html
-      _fsync(stream);
-      return _close(stream);
-    }
+            channel_r.find_bucket_8bpc(correlate_row_r.row[b.stopidx - 1]).update_model_8bpc(this.rgb_state, correlate_row_r.row[b.stopidx], bpc);
+            channel_g.find_bucket_8bpc(correlate_row_g.row[b.stopidx - 1]).update_model_8bpc(this.rgb_state, correlate_row_g.row[b.stopidx], bpc);
+            channel_b.find_bucket_8bpc(correlate_row_b.row[b.stopidx - 1]).update_model_8bpc(this.rgb_state, correlate_row_b.row[b.stopidx], bpc);
 
-  
-  function _memset(ptr, value, num, align) {
-      // TODO: make these settings, and in memcpy, {{'s
-      if (num >= 20) {
-        // This is unaligned, but quite large, so work hard to get to aligned settings
-        var stop = ptr + num;
-        while (ptr % 4) { // no need to check for stop, since we have large num
-          HEAP8[ptr++] = value;
-        }
-        if (value < 0) value += 256; // make it unsigned
-        var ptr4 = ptr >> 2, stop4 = stop >> 2, value4 = value | (value << 8) | (value << 16) | (value << 24);
-        while (ptr4 < stop4) {
-          HEAP32[ptr4++] = value4;
-        }
-        ptr = ptr4 << 2;
-        while (ptr < stop) {
-          HEAP8[ptr++] = value;
+            b.stopidx = b.i + (this.rgb_state.tabrand() & waitmask);
         }
-      } else {
-        while (num--) {
-          HEAP8[ptr++] = value;
-        }
-      }
-    }var _llvm_memset_p0i8_i32=_memset;
-var _llvm_dbg_declare; // stub for _llvm_dbg_declare
-
-  function _abort() {
-      ABORT = true;
-      throw 'abort() at ' + (new Error().stack);
-    }
-
-  
-  function _sysconf(name) {
-      // long sysconf(int name);
-      // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
-      switch(name) {
-        case 8: return PAGE_SIZE;
-        case 54:
-        case 56:
-        case 21:
-        case 61:
-        case 63:
-        case 22:
-        case 67:
-        case 23:
-        case 24:
-        case 25:
-        case 26:
-        case 27:
-        case 69:
-        case 28:
-        case 101:
-        case 70:
-        case 71:
-        case 29:
-        case 30:
-        case 199:
-        case 75:
-        case 76:
-        case 32:
-        case 43:
-        case 44:
-        case 80:
-        case 46:
-        case 47:
-        case 45:
-        case 48:
-        case 49:
-        case 42:
-        case 82:
-        case 33:
-        case 7:
-        case 108:
-        case 109:
-        case 107:
-        case 112:
-        case 119:
-        case 121:
-          return 200809;
-        case 13:
-        case 104:
-        case 94:
-        case 95:
-        case 34:
-        case 35:
-        case 77:
-        case 81:
-        case 83:
-        case 84:
-        case 85:
-        case 86:
-        case 87:
-        case 88:
-        case 89:
-        case 90:
-        case 91:
-        case 94:
-        case 95:
-        case 110:
-        case 111:
-        case 113:
-        case 114:
-        case 115:
-        case 116:
-        case 117:
-        case 118:
-        case 120:
-        case 40:
-        case 16:
-        case 79:
-        case 19:
-          return -1;
-        case 92:
-        case 93:
-        case 5:
-        case 72:
-        case 6:
-        case 74:
-        case 92:
-        case 93:
-        case 96:
-        case 97:
-        case 98:
-        case 99:
-        case 102:
-        case 103:
-        case 105:
-          return 1;
-        case 38:
-        case 66:
-        case 50:
-        case 51:
-        case 4:
-          return 1024;
-        case 15:
-        case 64:
-        case 41:
-          return 32;
-        case 55:
-        case 37:
-        case 17:
-          return 2147483647;
-        case 18:
-        case 1:
-          return 47839;
-        case 59:
-        case 57:
-          return 99;
-        case 68:
-        case 58:
-          return 2048;
-        case 0: return 2097152;
-        case 3: return 65536;
-        case 14: return 32768;
-        case 73: return 32767;
-        case 39: return 16384;
-        case 60: return 1000;
-        case 106: return 700;
-        case 52: return 256;
-        case 62: return 255;
-        case 2: return 100;
-        case 65: return 64;
-        case 36: return 20;
-        case 100: return 16;
-        case 20: return 6;
-        case 53: return 4;
-      }
-      ___setErrNo(ERRNO_CODES.EINVAL);
-      return -1;
-    }
-
-  function _time(ptr) {
-      var ret = Math.floor(Date.now()/1000);
-      if (ptr) {
-        HEAP32[((ptr)>>2)]=ret
-      }
-      return ret;
-    }
-
-  
-  function ___errno_location() {
-      return ___setErrNo.ret;
-    }
-  var ___errno=___errno_location;
-
-  function _sbrk(bytes) {
-      // Implement a Linux-like 'memory area' for our 'process'.
-      // Changes the size of the memory area by |bytes|; returns the
-      // address of the previous top ('break') of the memory area
-  
-      // We need to make sure no one else allocates unfreeable memory!
-      // We must control this entirely. So we don't even need to do
-      // unfreeable allocations - the HEAP is ours, from STATICTOP up.
-      // TODO: We could in theory slice off the top of the HEAP when
-      //       sbrk gets a negative increment in |bytes|...
-      var self = _sbrk;
-      if (!self.called) {
-        STATICTOP = alignMemoryPage(STATICTOP); // make sure we start out aligned
-        self.called = true;
-      }
-      var ret = STATICTOP;
-      if (bytes != 0) Runtime.staticAlloc(bytes);
-      return ret;  // Previous break location.
-    }
-
 
+        for (; b.i < b.end && !b.rc; b.i++) {
+            var pixel = b.i * rgb32_pixel_size;
+            var pixelm1 = (b.i-1) * rgb32_pixel_size;
+            var pixelm2 = (b.i-2) * rgb32_pixel_size;
+
+            if (prev_row[pixelm1+rgb32_pixel_r] == prev_row[pixel+rgb32_pixel_r] && prev_row[pixelm1+rgb32_pixel_g] == prev_row[pixel+rgb32_pixel_g] && prev_row[pixelm1+rgb32_pixel_b] == prev_row[pixel+rgb32_pixel_b])
+            {
+                if (b.run_index != b.i && b.i > 2 && (cur_row[pixelm1+rgb32_pixel_r] == cur_row[pixelm2+rgb32_pixel_r] && cur_row[pixelm1+rgb32_pixel_g] == cur_row[pixelm2+rgb32_pixel_g] && cur_row[pixelm1+rgb32_pixel_b] == cur_row[pixelm2+rgb32_pixel_b]))
+                {
+                    this.do_run(b, cur_row);
+                    if (b.rc==2) return;
+                    else break;
+                }
+            }
 
+            cur_row[pixel+rgb32_pixel_pad] = 0;
+            a = golomb_decoding_8bpc(channel_r.find_bucket_8bpc(correlate_row_r.row[b.i-1]).bestcode, this.io_word);
+            correlate_row_r.row[b.i] = a.rc;
+            cur_row[pixel+rgb32_pixel_r] = (family_8bpc.xlatL2U[a.rc] + ((cur_row[pixelm1+rgb32_pixel_r] + prev_row[pixel+rgb32_pixel_r]) >>> 1)) & bpc_mask;
+            this.decode_eatbits(a.codewordlen);
+
+            a = golomb_decoding_8bpc(channel_g.find_bucket_8bpc(correlate_row_g.row[b.i-1]).bestcode, this.io_word);
+            correlate_row_g.row[b.i] = a.rc;
+            cur_row[pixel+rgb32_pixel_g] = (family_8bpc.xlatL2U[a.rc] + ((cur_row[pixelm1+rgb32_pixel_g] + prev_row[pixel+rgb32_pixel_g]) >>> 1)) & bpc_mask;
+            this.decode_eatbits(a.codewordlen);
+
+            a = golomb_decoding_8bpc(channel_b.find_bucket_8bpc(correlate_row_b.row[b.i-1]).bestcode, this.io_word);
+            correlate_row_b.row[b.i] = a.rc;
+            cur_row[pixel+rgb32_pixel_b] = (family_8bpc.xlatL2U[a.rc] + ((cur_row[pixelm1+rgb32_pixel_b] + prev_row[pixel+rgb32_pixel_b]) >>> 1)) & bpc_mask;
+            this.decode_eatbits(a.codewordlen);
+        }
 
-__ATINIT__.unshift({ func: function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() } });__ATMAIN__.push({ func: function() { FS.ignorePermissions = false } });__ATEXIT__.push({ func: function() { FS.quit() } });
-___setErrNo(0);
-
-// === Auto-generated postamble setup entry stuff ===
-
-Module.callMain = function callMain(args) {
-  var argc = args.length+1;
-  function pad() {
-    for (var i = 0; i < 4-1; i++) {
-      argv.push(0);
-    }
-  }
-  var argv = [allocate(intArrayFromString("/bin/this.program"), 'i8', ALLOC_STATIC) ];
-  pad();
-  for (var i = 0; i < argc-1; i = i + 1) {
-    argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_STATIC));
-    pad();
-  }
-  argv.push(0);
-  argv = allocate(argv, 'i32', ALLOC_STATIC);
-
-  return _main(argc, argv, 0);
+          if (!b.rc)
+          {
+            this.rgb_state.waitcnt = b.stopidx - b.end;
+            return;
+          }
+        }
 }
 
+QuicEncoder.prototype.decode_run = function()
+{
+    var runlen = 0;
 
+    do {
+        var hits;
+        var x = (~(this.io_word >>> 24)>>>0)&0xff;
+        var temp = zeroLUT[x];
 
+        for (hits = 1; hits <= temp; hits++) {
+            runlen += this.rgb_state.melcorder;
 
+            if (this.rgb_state.melcstate < 32) {
+                this.rgb_state.melclen = J[++this.rgb_state.melcstate];
+                this.rgb_state.melcorder = (1 << this.rgb_state.melclen);
+            }
+        }
+        if (temp != 8) {
+            this.decode_eatbits(temp + 1);
 
+            break;
+        }
+        this.decode_eatbits(8);
+    } while (1);
 
 
+    if (this.rgb_state.melclen) {
+        runlen += this.io_word >>> (32 - this.rgb_state.melclen);
+        this.decode_eatbits(this.rgb_state.melclen);
+    }
 
 
+    if (this.rgb_state.melcstate) {
+        this.rgb_state.melclen = J[--this.rgb_state.melcstate];
+        this.rgb_state.melcorder = (1 << this.rgb_state.melclen);
+    }
 
+    return runlen;
+}
 
-
-
-
-
-
-
-
-
-
-
-
-var _need_init;
-var _family_8bpc;
-var _family_5bpc;
-var _stderr;
-
-
-
-
-
-
-
-var _quic_decode_js_q;
-
-
-var _main_buf;
-
-
-
-
-
-
-
-var _zeroLUT;
-var _bppmask;
-
-
-
-
-
-
-
-
-
-
-var _evol;
-
-
-var _wmimax;
-var _wminext;
-
-
-
-
-
-
-
-
-
-
-var _besttrigtab;
-
-
-
-
-
-
-
-var _J;
-var _tabrand_chaos;
-
-
-
-var ___read_io_word_ptr;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-var __gm_;
-var _mparams;
-STRING_TABLE.__str=allocate([83,112,105,99,101,0] /* Spice\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str3=allocate([81,85,73,67,0] /* QUIC\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str6=allocate([97,115,115,101,114,116,105,111,110,32,96,37,115,39,32,102,97,105,108,101,100,0] /* assertion `%s' faile */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str15=allocate([98,97,100,32,105,109,97,103,101,32,116,121,112,101,10,0] /* bad image type\0A\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str16=allocate([98,97,100,32,109,97,103,105,99,10,0] /* bad magic\0A\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str17=allocate([98,97,100,32,118,101,114,115,105,111,110,10,0] /* bad version\0A\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str18=allocate([113,117,105,99,46,99,58,49,53,49,56,0] /* quic.c:1518\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_decode=allocate([113,117,105,99,95,100,101,99,111,100,101,0] /* quic_decode\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str19=allocate([98,117,102,0] /* buf\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str20=allocate([113,117,105,99,46,99,58,49,53,50,53,0] /* quic.c:1525\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str21=allocate([65,66,83,40,115,116,114,105,100,101,41,32,62,61,32,40,105,110,116,41,101,110,99,111,100,101,114,45,62,119,105,100,116,104,32,42,32,52,0] /* ABS(stride) _= (int) */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str22=allocate([113,117,105,99,46,99,58,49,53,50,57,0] /* quic.c:1529\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str23=allocate([65,66,83,40,115,116,114,105,100,101,41,32,62,61,32,40,105,110,116,41,101,110,99,111,100,101,114,45,62,119,105,100,116,104,32,42,32,51,0] /* ABS(stride) _= (int) */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str24=allocate([117,110,115,117,112,112,111,114,116,101,100,32,111,117,116,112,117,116,32,102,111,114,109,97,116,10,0] /* unsupported output f */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str25=allocate([113,117,105,99,46,99,58,49,53,51,55,0] /* quic.c:1537\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str26=allocate([65,66,83,40,115,116,114,105,100,101,41,32,62,61,32,40,105,110,116,41,101,110,99,111,100,101,114,45,62,119,105,100,116,104,32,42,32,50,0] /* ABS(stride) _= (int) */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str27=allocate([113,117,105,99,46,99,58,49,53,52,48,0] /* quic.c:1540\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str28=allocate([113,117,105,99,46,99,58,49,53,53,52,0] /* quic.c:1554\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str29=allocate([113,117,105,99,46,99,58,49,54,51,48,0] /* quic.c:1630\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str30=allocate([65,66,83,40,115,116,114,105,100,101,41,32,62,61,32,40,105,110,116,41,101,110,99,111,100,101,114,45,62,119,105,100,116,104,0] /* ABS(stride) _= (int) */, "i8", ALLOC_STATIC);
-_need_init=allocate([1], ["i32",0,0,0,0], ALLOC_STATIC);
-_family_8bpc=allocate(1408, ["i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","
 i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0
 ,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i
 32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0
 ,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0], ALLOC_STATIC);
-_family_5bpc=allocate(1408, ["i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","
 i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0
 ,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i
 32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0
 ,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0], ALLOC_STATIC);
-STRING_TABLE.__str31=allocate([37,115,45,37,115,45,37,115,58,32,0] /* %s-%s-%s: \00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str32=allocate([119,97,110,116,115,32,109,111,114,101,32,115,112,97,99,101,44,32,99,111,109,112,108,101,116,101,32,105,115,32,37,100,10,0] /* wants more space, co */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str33=allocate([119,104,97,116,32,100,111,101,115,32,109,111,114,101,95,108,105,110,101,115,32,109,101,97,110,63,10,0] /* what does more_lines */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str34=allocate([88,0] /* X\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str35=allocate([32,0] /*  \00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str36=allocate([10,0] /* \0A\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str37=allocate([69,114,114,111,114,32,45,32,99,97,110,39,116,32,104,97,110,100,108,101,32,116,121,112,101,32,37,100,32,121,101,116,10,0] /* Error - can't handle */, "i8", ALLOC_STATIC);
-_quic_decode_js_q=allocate(1, "i8**", ALLOC_STATIC);
-STRING_TABLE._main_membuf1=allocate([81,85,73,67,0,0,0,0,4,0,0,0,32,0,0,0,32,0,0,0,128,129,129,129,255,171,128,128,255,255,36,255,255,255,255,255,255,255,255,255,88,7,0,128,0,214,1,0,64,192,117,0,250,63,127,64,192,58,0,0,0,176,14,0,255,245,175,3,214,1,0,176,128,117,0,0,143,127,29,0,14,0,128,253,172,3,0,176,250,235,0,0,0,0,216,255,58,0,0,235,191,14,0,192,0,128,253,175,3,0,176,14,235,0,0,172,0,64,146,250,3,0,176,14,235,0,0,172,192,58,0,0,0,176,14,0,255,151,175,3,254,111,255,151,251,191,253,223,237,255,246,127,183,255,219,255,223,254,111,255,127,251,191,253,255,237,255,246,255,183,255,219,253,223,254,111,246,127,251,191,218,255,237,255,0,0,0,0] /* QUIC\00\00\00\00\04\ */, "i8", ALLOC_STATIC);
-STRING_TABLE._main_membuf2=allocate([81,85,73,67,0,0,0,0,4,0,0,0,32,3,0,0,88,2,0,0,255,128,128,128,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,25
 5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,85,255,255,255,255,255,253,253,0,48,250,255,0,214,1,0,0,128,117,0,16,16,112,29,0,0,207,27,14,0,64,59,183,3,0,208,0,80,210,235,0,0,172,3,58,0,0,235,0,224,57,254,1,0,104,7,118,0,0,218,146,0,16,248,8,250,250,250,237,0,0,0,64,59,0,0,213,223,14,0,176,14,0,128,0,172,3,0,231,248,235,0,160,29,0,128,0,104,7,0,64,192,219,1,175,175,47,9,0,0,64,160,7,0,160,29,219,1,0,104,47,9,96,242,128,160,175,175,128,118,0,0,0,160,29,0,0,48,111,7,0,0,214,1,29,0,128,117,7,0,128,124,218,1,0,104,255,118,0,0,7,0,192,237,214,1,0,88,253,117,0,0,29,0,128,231,104,7,0,160,192,219,1,0,176,14,0,64,0,172,3,0,253,85,235,0,0,172,255,253,127,127,127,73,223,95,18,224,36,96,248,223,243,191,191,191,245,245,37,129,14,0,0,244,180,3,
 0,208,248,237,0,0,253,253,37,1,0,96,151,255,0,192,58,0,3,0,176,14,237,0,0,172,64,59,0,0,192,222,14,0,0,88,7,0,0,0,214,1,0,0,244,117,14,0,64,59,183,3,0,208,0,32,245,255,0,0,172,3,58,0,0,235,0,192,243,254,3,0,208,14,237,0,0,180,7,0,32,224,214,1,0,88,128,117,0,0,0,160,29,0,1,0,104,7,36,0,206,219,243,191,191,191,192,192,36,64,65,65,193,192,128,191,191,63,0,96,29,0,1,0,88,7,118,0,0,214,160,29,0,128,24,111,7,0,0,214,1,0,0,128,117,0,7,0,96,29,218,1,0,104,243,118,0,0,6,6,38,1,252,253,253,5,255,254,254,146,117,0,0,238,96,29,0,128,0,88,7,0,0,0,218,1,29,0,128,118,127,73,160,190,0,248,127,127,0,96,29,0,1,0,88,7,118,0,0,214,160,29,0,128,96,111,7,0,0,172,3,0,0,0,235,0,0,0,250,58,7,0,160,29,219,1,0,104,0,96,245,255,0,0,172,3,58,0,0,235,0,192,243,254,3,0,208,14,237,0,0,180,7,0,32,224,214,1,0,88,128,117,0,0,0,160,29,0,1,0,104,7,36,0,212,219,240,191,191,191,176,14,0,64,0,172,3,0,0,0,235,0,14,0,64,59,180,3,0,208,0,237,0,0,0,64,59,0,12,76,210,14,4,4,12,12,192,36,96,0,64,192,192,192,0,0,28,64,58
 ,0,0,235,176,14,0,192,0,180,3,0,0,0,237,0,1,0,120,59,118,0,0,218,190,29,0,128,20,10,133,112,4,12,12,12,0,8,7,4,0,0,214,1,29,0,128,117,104,7,0,96,0,218,1,0,15,243,118,0,131,222,163,71,255,255,248,241,163,71,15,179,64,128,231,222,63,126,0,129,232,17,240,31,0,0,122,244,29,0,128,118,111,7,0,160,40,20,2,6,160,175,175,79,143,31,63,128,132,66,33,248,32,250,250,250,252,199,143,31,79,40,20,66,7,162,175,175,16,255,241,227,127,127,66,161,133,66,228,127,255,253,253,9,125,66,161,144,0,0,125,125,3,0,208,14,237,0,0,180,19,10,133,240,31,234,235,235,66,254,199,143,2,2,10,133,30,61,122,0,208,14,0,128,0,180,3,0,241,227,237,0,30,253,255,248,0,160,71,143,1,0,104,7,118,0,0,218,79,40,20,242,33,254,239,239,254,254,132,66,209,163,199,255,218,1,0,232,128,118,0,0,80,191,29,0,125,125,66,161,248,241,131,125,132,66,161,255,73,254,254,254,0,125,125,125,0,160,29,0,1,0,104,7,61,122,248,219,29,0,128,30,104,7,0,160,228,219,1,0,95,159,80,40,126,252,96,95,161,80,232,63,224,190,190,62,242,63,126,252,175,79,40,20
 ,3,0,160,175,237,0,0,180,126,59,0,0,245,9,133,66,199,15,246,245,66,33,255,227,251,250,250,132,255,241,227,7,172,3,0,224,0,235,0,0,0,192,58,0,3,0,208,14,237,0,0,180,163,71,15,254,248,241,131,223,161,255,255,255,223,163,71,15,0,129,192,188,240,31,63,126,122,244,232,17,128,118,0,0,0,160,29,0,10,13,111,7,247,247,39,20,172,3,0,240,0,235,0,0,127,213,58,0,10,3,127,127,247,247,39,20,12,12,76,242,248,251,251,11,127,66,161,48,0,0,127,127,14,0,192,58,172,3,0,176,0,237,0,0,0,64,59,0,244,8,222,14,0,0,61,122,14,0,64,59,182,3,0,208,241,3,8,4,209,3,252,248,63,126,244,232,0,129,192,31,127,66,161,176,241,227,127,127,0,0,252,248,3,0,176,14,235,0,0,172,2,2,2,86,40,20,10,33,8,24,24,24,130,130,2,8,127,127,127,130,192,192,192,36,4,64,64,192,32,160,80,40,209,163,7,32,248,241,3,233,161,80,136,255,191,192,192,64,80,152,191,191,191,191,63,161,96,29,0,128,0,88,7,0,0,0,214,1,29,0,128,117,92,7,0,96,223,95,48,24,132,66,225,223,2,255,254,254,10,133,4,4,12,12,12,20,66,2,4,4,6,6,10,133,254,253,253,5,253,9,13
 3,66,61,122,252,253,5,131,193,30,66,254,253,253,253,253,9,133,3,8,4,254,0,252,248,241,0,128,117,0,7,0,96,29,218,1,0,88,128,118,0,0,32,176,29,0,66,161,144,64,127,129,129,129,66,161,127,127,255,254,254,132,24,40,20,10,247,247,23,24,79,40,20,250,32,240,239,239,232,209,195,64,31,63,126,244,193,3,129,192,2,123,244,232,143,31,12,4,253,255,255,199,30,61,122,8,8,4,230,253,255,248,241,3,163,71,143,128,180,3,0,208,0,237,0,0,48,120,59,0,125,66,161,16,253,9,125,125,0,0,252,253,58,0,0,235,176,14,0,192,0,180,3,0,0,0,237,0,209,35,120,59,0,0,244,232,59,0,0,237,208,14,0,64,0,172,3,0,0,0,235,0,209,163,199,58,223,223,223,232,232,209,163,199,129,63,126,252,163,71,0,2,126,252,232,209,0,2,129,63,209,163,71,143,2,127,252,248,80,8,2,4,190,190,62,161,252,251,251,147,8,48,16,8,192,64,161,80,64,64,192,192,10,10,10,66,2,6,6,6,215,7,1,2,96,48,216,215,192,191,191,191,71,143,0,129,244,232,209,163,223,223,223,122,236,209,163,199,32,96,48,24,10,133,40,32,12,12,12,20,130,5,4,4,125,125,130,130,241,227,7,125,6
 3,126,252,248,244,0,2,129,143,31,61,122,64,32,240,199,232,209,163,71,129,63,126,252,30,61,2,2,241,227,71,143,32,16,8,252,31,61,122,244,32,240,199,143,244,232,193,64,143,30,61,122,252,251,251,107,244,32,16,8,143,31,61,122,64,32,240,199,61,122,244,224,7,6,2,129,8,252,241,227,252,223,63,16,30,61,122,212,121,3,129,192,252,0,2,129,2,129,63,126,122,244,8,0,199,143,31,61,4,64,32,240,80,40,20,2,239,47,48,48,61,128,224,239,227,71,143,30,122,244,248,241,199,143,31,61,8,64,32,240,31,61,122,244,209,227,199,143,24,12,246,232,228,239,239,47,251,19,10,133,80,40,252,251,96,96,96,160,122,8,32,32,199,143,30,61,32,16,248,227,10,133,66,8,253,5,6,6,244,64,252,253,143,31,61,122,64,32,240,199,30,61,122,208,248,227,199,143,245,65,32,16,63,126,244,245,1,129,192,31,143,190,190,62,16,248,227,199,244,232,33,32,23,12,6,123,61,246,247,247,227,71,143,30,16,8,252,241,30,61,122,32,248,227,199,143,40,76,32,16,223,223,159,80,61,128,64,224,227,71,143,30,16,8,252,241,61,122,244,8,240,199,143,31,163,71,64,32,126
 ,252,232,209,2,2,129,63,71,143,30,61,8,252,241,227,122,244,40,16,11,6,131,61,3,255,251,251,126,244,232,209,129,192,31,63,232,209,3,3,16,8,4,246,224,143,31,63,250,255,129,64,61,122,244,48,243,6,2,129,248,1,4,2,4,2,127,252,244,232,17,0,143,31,63,122,8,128,64,224,143,30,61,122,16,248,227,199,10,133,0,32,0,4,4,20,30,63,126,252,209,163,71,143,48,40,244,232,64,64,192,96,209,163,71,15,2,127,252,248,10,65,0,4,247,247,39,20,15,32,16,248,248,209,163,71,30,61,126,252,241,227,71,143,4,16,8,252,71,143,30,61,8,252,241,227,61,122,4,16,227,199,143,30,4,32,16,248,32,160,80,40,241,227,7,32,4,16,8,252,254,132,66,33,4,2,255,254,161,80,136,9,192,192,192,64,130,64,64,64,129,129,130,130,130,130,130,129,129,127,127,127,125,125,1,2,199,143,31,125,67,64,32,240,126,244,232,209,129,192,31,63,132,66,33,1,61,254,254,254,227,71,143,30,16,8,252,241,40,20,10,41,8,24,24,24,133,66,10,8,254,253,253,9,241,3,8,4,40,20,254,248,227,239,239,79,122,244,232,209,48,216,30,61,64,64,192,96,122,244,232,81,224,143,31,63,1
 63,7,129,64,126,252,232,209,4,2,129,63,253,9,133,66,61,122,252,253,227,199,143,30,72,32,16,248,191,63,161,80,3,129,192,191,209,163,71,15,2,127,252,248,163,7,15,4,16,8,236,209,31,63,126,48,255,3,129,192,61,122,8,253,2,129,192,30,2,129,96,179,63,126,252,0,17,0,2,129,63,122,244,232,64,224,143,31,40,20,14,128,176,175,175,79,125,125,193,96,199,143,31,125,246,232,209,227,239,47,24,12,133,66,226,239,244,245,245,9,192,96,48,24,20,10,64,64,48,48,80,40,2,16,16,48,64,161,80,8,71,15,64,64,143,31,208,163,64,32,240,199,240,199,143,31,125,125,66,161,11,6,131,125,252,232,235,235,2,129,63,126,10,133,66,0,122,0,2,2,252,128,30,61,2,129,63,126,209,163,135,4,63,126,252,232,16,3,2,129,129,129,66,161,128,128,128,129,240,199,143,31,127,127,66,161,0,2,129,127,31,61,122,244,32,240,199,143,66,161,112,64,48,125,125,125,128,128,193,96,71,143,30,128,254,248,241,163,61,18,8,4,227,71,143,30,16,8,252,241,9,10,10,42,131,245,245,245,4,4,12,6,61,122,244,0,251,11,6,131,80,8,254,251,64,64,64,161,208,163,71,15,19
 2,31,63,126,63,126,0,129,9,133,194,31,131,245,245,245,4,4,12,6,63,126,252,0,235,19,10,133,12,6,235,235,12,8,8,24,163,71,143,30,4,254,248,241,143,30,28,8,64,32,176,71,63,126,252,192,255,7,2,129,244,232,65,244,13,4,2,123,3,8,4,230,4,254,248,241,209,35,0,8,61,122,244,232,63,0,129,30,64,224,143,31,122,244,48,128,199,143,31,61,116,64,32,240,176,175,175,15,128,128,193,96,143,30,209,128,248,241,163,71,17,8,4,254,39,20,10,129,16,216,215,215,227,199,15,32,24,32,16,248,192,30,61,122,227,7,1,129,16,8,252,241,163,135,217,63,16,8,236,209,32,16,152,55,248,227,199,15,15,6,32,16,248,209,163,71,4,2,127,252,122,244,136,8,199,143,31,61,66,64,32,240,96,143,30,61,126,16,128,64,129,192,31,63,143,162,99,3,16,216,163,71,32,48,111,32,199,143,31,64,220,64,32,240,246,232,209,67,204,21,8,4,227,7,16,8,16,8,252,241,61,122,136,49,2,129,192,30,0,129,192,28,192,31,63,126,15,113,2,129,16,216,163,71,16,152,67,32,227,199,15,32,78,32,16,248,123,244,232,33,115,8,4,2,248,1,4,2,4,2,127,252,30,61,196,9,129,64,96,14
 3,128,64,96,14,224,143,31,63,135,56,129,64,8,236,209,163,8,204,33,16,241,227,7,16,39,16,8,252,61,122,244,16,57,4,2,129,252,0,2,129,2,129,63,126,143,30,226,4,64,32,176,71,64,32,48,135,240,199,143,31,67,156,64,32,4,246,232,209,4,230,16,8,248,241,3,8,19,8,4,254,30,61,122,136,28,2,129,192,126,0,129,192,129,192,31,63,71,15,113,2,32,16,216,163,32,16,152,67,248,227,199,15,33,78,32,16,2,123,244,232,2,115,8,4,252,248,1,4,9,4,2,127,143,30,61,196,14,129,64,96,63,128,64,96,64,224,143,31,163,135,56,129,16,8,236,209,16,8,204,33,252,241,227,7,16,39,16,8,129,61,122,244,129,57,4,2,126,252,0,2,4,2,129,63,71,143,30,226,135,64,32,176,31,64,32,48,32,240,199,143,209,67,156,64,8,4,246,232,8,4,230,16,254,248,241,3,136,19,8,4,192,30,61,122,192,28,2,129,63,126,0,129,2,129,192,31,163,71,15,113,67,32,16,216,15,32,16,152,16,248,227,199,232,33,78,32,4,2,123,244,4,2,115,8,127,252,248,1,196,9,4,2,96,143,30,61,96,14,129,64,31,63,128,64,129,64,224,143,209,163,135,56,33,16,8,236,7,16,8,204,8,252,241,227,244,1
 6,39,16,2,129,61,122,2,129,57,4,63,126,252,0,226,4,2,129,176,71,143,30,48,135,64,32,143,31,64,32,64,32,240,199,232,209,67,156,16,8,4,246,3,8,4,230,4,254,248,241,122,136,19,8,129,192,30,61,129,192,28,2,31,63,126,0,113,2,129,192,216,163,71,15,152,67,32,16,199,15,32,16,32,16,248,227,244,232,33,78,8,4,2,123,1,4,2,115,2,127,252,248,61,196,9,4,64,96,143,30,64,96,14,129,143,31,63,128,56,129,64,224,236,209,163,135,204,33,16,8,227,7,16,8,16,8,252,241,122,244,16,39,4,2,129,61,0,2,129,57,129,63,126,252,30,226,4,2,32,176,71,143,32,48,135,64,199,143,31,64,156,64,32,240,246,232,209,67,230,16,8,4,241,3,8,4,8,4,254,248,61,122,136,19,2,129,192,30,0,129,192,28,192,31,63,126,15,113,2,129,16,216,163,71,16,152,67,32,227,199,15,32,78,32,16,248,123,244,232,33,115,8,4,2,248,1,4,2,4,2,127,252,30,61,196,9,129,64,96,143,128,64,96,14,224,143,31,63,135,56,129,64,8,236,209,163,8,204,33,16,241,227,7,16,39,16,8,252,61,122,244,16,57,4,2,129,252,0,2,129,2,129,63,126,143,30,226,4,64,32,176,71,64,32,48,135,240
 ,199,143,31,67,156,64,32,4,246,232,209,4,230,16,8,248,241,3,8,19,8,4,254,30,61,122,136,28,2,129,192,126,0,129,192,129,192,31,63,71,15,113,2,32,16,216,163,32,16,152,67,248,227,199,15,33,78,32,16,2,123,244,232,2,115,8,4,252,248,1,4,9,4,2,127,143,30,61,196,14,129,64,96,63,128,64,96,64,224,143,31,163,135,56,129,16,8,236,209,16,8,204,33,252,241,227,7,16,39,16,8,129,61,122,244,129,57,4,2,126,252,0,2,4,2,129,63,71,143,30,226,135,64,32,176,31,64,32,48,32,240,199,143,209,67,156,64,8,4,246,232,8,4,230,16,254,248,241,3,136,19,8,4,192,30,61,122,192,28,2,129,63,126,0,129,2,129,192,31,163,71,15,113,67,32,16,216,7,8,8,152,16,248,247,247,215,39,78,32,32,16,216,215,8,8,152,67,248,247,247,7,39,78,32,16,16,216,215,215,8,152,67,32,247,247,7,8,78,32,16,248,216,215,215,39,152,67,32,16,247,7,8,8,32,16,248,247,215,215,39,78,67,32,16,216,7,8,8,152,16,248,247,247,215,39,78,32,32,16,216,215,8,8,152,67,248,247,247,7,39,78,32,16,16,216,215,215,8,152,67,32,247,247,7,8,78,32,16,248,216,215,215,39,152,67,3
 2,16,247,7,8,8,32,16,248,247,215,215,39,78,67,32,16,216,1,8,8,152,2,127,252,248,61,196,9,4,64,96,143,30,64,96,14,129,143,31,63,128,56,129,64,224,236,209,163,135,204,33,16,8,227,7,16,8,16,8,252,241,122,244,16,39,4,2,129,61,0,2,129,57,129,63,126,252,30,226,4,2,32,176,71,143,32,48,135,64,199,143,31,64,156,64,32,240,246,232,209,67,230,16,8,4,241,3,8,4,8,4,254,248,61,122,136,19,2,129,192,30,0,129,192,28,192,31,63,126,15,113,2,129,16,216,163,71,16,152,67,32,227,199,15,32,78,32,16,248,123,244,232,33,115,8,4,2,248,1,4,2,4,2,127,252,30,61,196,9,129,64,96,143,128,64,96,14,224,143,31,63,135,56,129,64,8,236,209,163,8,204,33,16,241,227,7,16,39,16,8,252,61,122,244,16,57,4,2,129,252,0,2,129,2,129,63,126,143,30,226,4,64,32,176,71,64,32,48,135,240,199,143,31,67,156,64,32,4,246,232,209,4,230,16,8,248,241,3,8,19,8,4,254,30,61,122,136,28,2,129,192,126,0,129,192,129,192,31,63,71,15,113,2,32,16,216,163,32,16,152,67,248,227,199,15,33,78,32,16,2,123,244,232,2,115,8,4,252,248,1,4,9,4,2,127,143,30,61
 ,196,14,129,64,96,63,128,64,96,64,224,143,31,163,135,56,129,16,8,236,209,16,8,204,33,252,241,227,7,16,39,16,8,129,61,122,244,129,57,4,2,126,252,0,2,4,2,129,63,71,143,30,226,135,64,32,176,31,64,32,48,32,240,199,143,209,67,156,64,8,4,246,232,8,4,230,16,254,248,241,3,136,19,8,4,192,30,61,122,192,28,2,129,63,126,0,129,2,129,192,31,163,71,15,113,67,32,16,216,15,32,16,152,16,248,227,199,232,33,78,32,4,2,123,244,4,2,115,8,127,252,248,1,196,9,4,2,96,143,30,61,96,14,129,64,31,63,128,64,129,64,224,143,209,163,135,56,33,16,8,236,7,16,8,204,8,252,241,227,244,16,39,16,2,129,61,122,2,129,57,4,63,126,252,0,226,4,2,129,176,71,143,30,48,135,64,32,143,31,64,32,64,32,240,199,232,209,67,156,16,8,4,246,3,8,4,230,4,254,248,241,122,136,19,8,129,192,30,61,129,192,28,2,31,63,126,0,113,2,129,192,216,163,71,15,152,67,32,16,199,15,32,16,32,16,248,227,244,232,33,78,8,4,2,123,1,4,2,115,2,127,252,248,61,196,9,4,64,96,143,30,64,96,14,129,143,31,63,128,56,129,64,224,236,209,163,135,204,33,16,8,227,7,16,8,16
 ,8,252,241,122,244,16,39,4,2,129,61,0,2,129,57,129,63,126,252,30,226,4,2,32,176,71,143,32,48,135,64,199,143,31,64,156,64,32,240,246,232,209,67,230,16,8,4,241,3,8,4,8,4,254,248,61,122,136,19,2,129,192,30,0,129,192,28,192,31,63,126,15,113,2,129,16,216,163,71,16,152,67,32,227,199,15,32,78,32,16,248,123,244,232,33,115,8,4,2,248,1,4,2,4,2,127,252,30,61,196,9,129,64,96,143,128,64,96,14,224,143,31,63,135,56,129,64,8,236,209,163,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,
 19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,
 4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,23
 5,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235
 ,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3
 ,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,16,8,236,235,4,4,204,33,252,251,251,3,19,39,16,8,8,236,235,235,4,204,33,16,251,251,3,4,39,16,8,252,236,235,235,19,204,33,16,8,251,3,4,4,16,8,252,251,235,235,19,39,33,16,8,236,3,4,4,204,8,252,251,251,235,19,39,16,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,2
 54,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,231,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,231,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,2
 31,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,231,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,231,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,
 239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,231,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,231,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,231,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,19,231,255,254,135,239,235,235,15,16,16,48,113,254,239,239,248,190,190,62,0,1,1,115,231,255,254,254,239,235,235,19,16,16,48,135,254,239,239,15
 ,190,190,62,113,1,1,115,248,255,254,254,0,235,235,19,231,16,48,135,239,239,239,15,16,190,62,113,254,1,115,248,190,254,254,0,1,235,19,231,255,48,135,239,235,239,15,16,16,62,113,254,239,115,248,190,190,254,0,1,1,80,228,255,254,9,10,10,2,4,244,245,245,252,253,253,1,250,250,250,146,251,251,3,4,125,125,175,255,1,51,254,125,254,254,0,1,0,96,244,255,0,214,1,0,0,128,117,0,7,0,96,29,214,1,0,88,240,117,0,0,23,24,24,8,16,255,247,247,251,125,125,125,3,4,4,204,209,255,251,251,7,0,0,160,214,1,0,88,171,117,0,0,164,0,1,1,247,251,250,250,7,8,8,152,163,255,247,247,176,14,0,64,0,172,3,0,0,0,235,0,14,0,64,59,183,3,0,208,190,190,62,169,1,1,115,252,255,254,254,0,0,0,52,240,58,0,0,235,176,14,0,192,0,180,3,0,0,0,237,0,245,73,121,59,48,215,247,245,239,15,16,16,64,3,255,239,0,176,14,0,0,0,172,3,59,0,0,235,208,14,0,64,148,183,3,0,125,95,95,159,0,1,1,115,240,255,254,254,235,0,0,52,192,58,0,0,0,176,14,0,0,0,180,3,59,0,0,237,245,245,73,121,16,48,215,247,239,239,15,16,0,64,3,255,3,0,176,14,235,0,0,172,64,
 59,0,0,0,208,14,0,159,148,183,3,115,125,95,95,254,0,1,1,52,240,255,254,0,235,0,0,0,192,58,0,3,0,176,14,237,0,0,180,121,59,0,0,247,245,245,73,16,16,48,215,255,239,239,15,14,0,64,3,172,3,0,176,0,235,0,0,0,64,59,0,3,0,208,14,95,159,148,183,1,115,125,95,254,254,0,1,0,52,240,255,0,0,235,0,14,0,192,58,180,3,0,176,0,237,0,0,73,121,59,0,215,247,245,245,15,16,16,48,3,255,239,239,176,14,0,64,0,172,3,0,0,0,235,0,14,0,64,59,183,3,0,208,95,95,159,148,1,1,115,125,255,254,254,0,73,0,48,240,125,128,128,128,0,0,125,125,0,64,59,0,3,0,208,14,190,190,168,183,2,230,253,190,253,253,1,2,8,160,232,255,215,39,40,40,3,1,222,215,250,250,2,3,117,0,0,250,96,29,0,128,16,88,7,0,254,239,239,15,247,245,245,189,4,4,204,248,255,251,251,3,175,175,79,220,128,128,185,190,127,127,127,128,250,250,196,248,4,204,225,251,251,251,3,4,175,79,156,255,192,28,190,175,191,63,64,64,250,196,249,191,204,225,251,250,251,3,4,4,79,156,255,251,28,190,175,175,63,64,64,192,196,249,191,191,225,251,250,250,3,4,4,204,156,255,251,251,1
 90,175,175,79,64,64,192,28,249,191,191,63,251,250,250,196,4,4,204,225,255,251,251,3,175,175,79,156,64,192,28,190,191,191,63,64,250,250,196,249,4,204,225,251,235,235,3,4,214,1,0,232,128,117,0,0,29,120,29,0,128,128,128,128,128,128,128,128,8,216,145,128,8,8,8,8,9,8,8,8,128,128,128,29,128,128,128,128,216,145,128,128,8,8,8,8,8,8,8,8,128,128,29,9,128,128,128,128,145,128,128,128,8,8,8,216,8,8,8,8,128,29,9,8,128,128,128,128,128,128,128,128,8,8,216,145,8,8,8,8,29,9,8,8,128,128,128,128,128,128,128,128,8,216,145,128,8,8,8,8,9,8,8,8,128,128,128,29,128,128,128,128,216,145,128,128,8,8,8,8,8,8,8,8,128,128,29,9,128,128,128,128,145,128,128,128,8,8,8,216,8,8,8,8,128,29,9,8,128,128,128,128,128,128,128,128,8,8,216,145,8,8,8,8,29,9,8,8,128,128,128,128,128,128,128,128,8,216,145,128,8,8,8,8,9,8,8,8,128,128,128,29,128,128,128,128,216,145,128,128,8,8,8,8,8,8,8,8,128,128,29,9,128,128,128,128,145,128,128,128,8,8,8,216,8,8,8,8,128,29,9,8,128,128,128,128,128,128,128,128,8,8,216,145,8,8,8,8,29,9,8,8,128,
 128,128,128,128,128,128,128,8,216,145,128,8,8,8,8,9,8,8,8,128,128,128,29,128,128,128,128,216,145,128,128,8,8,8,8,8,8,8,8,128,128,29,9,128,128,128,128,145,128,128,128,8,8,8,216,8,8,8,8,128,29,9,8,128,128,128,128,128,128,128,128,8,8,216,145,8,8,8,8,29,9,8,8,128,128,128,128,128,128,128,128,8,216,145,128,8,8,8,8,9,8,8,8,128,128,128,29,128,128,128,128,216,145,128,128,8,8,8,8,8,8,8,8,128,128,29,9,128,128,128,128,145,128,128,128,8,8,8,216,8,8,8,8,128,29,9,8,128,128,128,128,128,128,128,128,8,8,216,145,8,8,8,8,29,9,8,8,128,128,128,128,128,128,128,128,8,216,145,128,8,8,8,8,9,8,8,8,128,128,128,29,128,128,128,128,216,145,128,128,8,8,8,8,8,8,8,8,128,128,29,9,128,128,128,128,145,128,128,128,8,8,8,216,8,8,8,8,128,29,9,8,128,128,128,128,128,128,128,128,8,8,216,145,8,8,8,8,29,9,8,8,128,128,128,128,128,128,128,128,8,216,145,128,8,8,8,8,9,8,8,8,128,128,128,29,128,128,128,128,216,145,128,128,8,8,8,8,8,8,8,8,128,128,29,9,128,128,128,128,145,128,128,128,8,8,8,216,8,8,8,8,128,29,9,8,128,128,128,12
 8,128,128,128,128,8,8,216,145,8,8,8,8,29,9,8,8,128,128,128,128,128,128,128,128,8,216,145,128,8,8,8,8,9,8,8,8,128,128,128,29,128,128,128,128,216,145,128,128,8,8,8,8,8,8,8,8,128,128,29,9,128,128,128,128,145,128,128,128,8,8,8,216,8,8,8,8,128,29,9,8,128,128,128,128,128,128,128,128,8,8,216,145,8,8,8,8,29,9,8,8,128,128,128,128,128,128,128,128,8,216,145,128,32,16,8,8,71,2,129,64,2,129,64,96,32,16,8,4,16,8,236,72,2,129,64,32,129,29,9,4,16,8,4,2,35,129,64,32,129,64,32,176,16,8,4,2,8,4,118,36,129,64,32,16,192,142,4,2,8,4,2,129,145,64,32,16,64,32,16,216,8,4,2,129,4,2,59,18,64,32,16,8,96,71,2,129,4,2,129,64,72,32,16,8,32,16,8,236,4,2,129,64,2,129,29,9,32,16,8,4,176,35,129,64,2,129,64,32,36,16,8,4,16,8,4,118,2,129,64,32,129,192,142,4,16,8,4,2,216,145,64,32,129,64,32,16,18,8,4,2,8,4,2,59,129,64,32,16,64,96,71,2,8,4,2,129,236,72,32,16,64,32,16,8,9,4,2,129,4,2,129,29,64,32,16,8,32,176,35,129,4,2,129,64,118,36,16,8,32,16,8,4,4,2,129,64,2,129,192,142,32,16,8,4,16,216,145,64,2,129,64,32,59,18,
 8,4,16,8,4,2,2,129,64,32,129,64,96,71,16,8,4,2,8,236,72,32,129,64,32,16,29,9,4,2,8,4,2,129,129,64,32,16,64,32,176,35,8,4,2,129,4,118,36,16,64,32,16,8,142,4,2,129,4,2,129,192,64,32,16,8,32,16,216,145,4,2,129,64,2,59,18,8,32,16,8,4,71,2,129,64,2,129,64,96,32,16,8,4,16,8,236,72,2,129,64,32,129,29,9,4,16,8,4,2,35,129,64,32,129,64,32,176,16,8,4,2,8,4,118,36,129,64,32,16,192,142,4,2,8,4,2,129,145,64,32,16,64,32,16,216,8,4,2,129,4,2,59,18,64,32,16,8,96,71,2,129,4,2,129,64,72,32,16,8,32,16,8,236,4,2,129,64,2,129,29,9,32,16,8,4,176,35,129,64,2,129,64,32,36,16,8,4,16,8,4,118,2,129,64,32,129,192,142,4,16,8,4,2,216,145,64,32,129,64,32,16,18,8,4,2,8,4,2,59,129,64,32,16,64,96,71,2,8,4,2,129,236,72,32,16,64,32,16,8,9,4,2,129,4,2,129,29,64,32,16,8,32,176,35,129,4,2,129,64,118,36,16,8,32,16,8,4,4,2,129,64,2,129,192,142,32,16,8,4,16,216,145,64,2,129,64,32,59,18,8,4,16,8,4,2,2,129,64,32,129,64,96,71,16,8,4,2,8,236,72,32,129,64,32,16,29,9,4,2,8,4,2,129,129,64,32,16,64,32,176,35,8,4,2,129,4,118,
 36,16,64,32,16,8,142,4,2,129,4,2,129,192,64,32,16,8,32,16,216,145,4,2,129,64,2,59,18,8,32,16,8,4,71,2,129,64,2,129,64,96,32,16,8,4,16,8,236,72,2,129,64,32,129,29,9,4,16,8,4,2,35,129,64,32,129,64,32,176,16,8,4,2,8,4,118,36,129,64,32,16,192,142,4,2,8,4,2,129,145,64,32,16,64,32,16,216,8,4,2,129,4,2,59,18,64,32,16,8,96,71,2,129,4,2,129,64,72,32,16,8,32,16,8,236,4,2,129,64,2,129,29,9,32,16,8,4,176,35,129,64,2,129,64,32,36,16,8,4,16,8,4,118,2,129,64,32,129,192,142,4,16,8,4,2,216,145,64,32,129,64,32,16,18,8,4,2,8,4,2,59,129,64,32,16,64,96,71,2,8,4,2,129,236,72,32,16,64,32,16,8,9,4,2,129,4,2,129,29,64,32,16,8,32,176,35,129,4,2,129,64,118,36,16,8,32,16,8,4,4,2,129,64,2,129,192,142,32,16,8,4,16,216,145,64,2,129,64,32,59,18,8,4,16,8,4,2,2,129,64,32,129,64,96,71,16,8,4,2,8,236,72,32,129,64,32,16,29,9,4,2,8,4,2,129,129,64,32,16,64,32,176,35,8,4,2,129,4,118,36,16,64,32,16,8,142,4,2,129,4,2,129,192,64,32,16,8,32,16,216,145,4,2,129,64,2,59,18,8,32,16,8,4,71,2,129,64,2,129,64,96,32,16,8,4,16
 ,8,236,72,2,129,64,32,129,29,9,4,16,8,4,2,35,129,64,32,129,64,32,176,16,8,4,2,8,4,118,36,129,64,32,16,192,142,4,2,8,4,2,129,145,64,32,16,64,32,16,216,8,4,2,129,4,2,59,18,64,32,16,8,96,71,2,129,4,2,129,64,72,32,16,8,32,16,8,236,4,2,129,64,2,129,29,9,32,16,8,4,176,35,129,64,2,129,64,32,36,16,8,4,16,8,4,118,2,129,64,32,129,192,142,4,16,8,4,2,216,145,64,32,129,64,32,16,18,8,4,2,8,4,2,59,129,64,32,16,64,96,71,2,8,4,2,129,236,72,32,16,64,32,16,8,9,4,2,129,4,2,129,29,64,32,16,8,32,176,35,129,4,2,129,64,118,36,16,8,32,16,8,4,4,2,129,64,2,129,192,142,32,16,8,4,16,216,145,64,2,129,64,32,59,18,8,4,16,8,4,2,2,129,64,32,129,64,96,71,16,8,4,2,8,236,72,32,129,64,32,16,29,9,4,2,8,4,2,129,129,64,32,16,64,32,176,35,8,4,2,129,4,118,36,16,64,32,16,8,142,4,2,129,4,2,129,192,64,32,16,8,32,16,216,145,4,2,129,64,2,59,18,8,32,16,8,4,71,2,129,64,2,129,64,96,32,16,8,4,16,8,236,72,2,129,64,32,129,29,9,4,16,8,4,2,35,129,64,32,129,64,32,176,16,8,4,2,8,4,118,36,129,64,32,16,192,142,4,2,8,4,2,129,145,64,32
 ,16,64,32,16,216,8,4,2,129,4,2,59,18,64,32,16,8,96,71,2,129,4,2,129,64,72,32,16,8,32,16,8,236,4,2,129,64,2,129,29,9,32,16,8,4,176,35,129,64,2,129,64,32,36,16,8,4,16,8,4,118,2,129,64,32,129,192,142,4,16,8,4,2,216,145,64,32,129,64,32,16,18,8,4,2,8,4,2,59,129,64,32,16,64,96,71,2,8,4,2,129,236,72,32,16,64,32,16,8,9,4,2,129,4,2,129,29,64,32,16,8,32,176,35,129,4,2,129,64,118,36,16,8,32,16,8,4,4,2,129,64,2,129,192,142,32,16,8,4,16,216,145,64,2,129,64,32,59,18,8,4,16,8,4,2,2,129,64,32,129,64,96,71,16,8,4,2,8,236,72,32,129,64,32,16,29,9,4,2,8,4,2,129,129,64,32,16,64,32,176,35,8,4,2,129,4,118,36,16,64,32,16,8,142,4,2,129,4,2,129,192,64,32,16,8,32,16,216,145,4,2,129,64,2,59,18,8,32,16,8,4,71,2,129,64,2,129,64,96,32,16,8,4,16,8,236,72,2,129,64,32,129,29,9,4,16,8,4,2,35,129,64,32,129,64,32,176,16,8,4,2,8,4,118,36,129,64,32,16,192,142,4,2,8,4,2,129,145,64,32,16,64,32,16,216,8,4,2,129,4,2,59,18,64,32,16,8,96,71,2,129,4,2,129,64,72,32,16,8,32,16,8,236,4,2,129,64,2,129,29,9,32,16,8,4,176,35,
 129,64,2,129,64,32,36,16,8,4,191,35,255,119,200,255,29,249,127,71,254,239,145,255,59,242,255,142,252,223,35,255,119,228,255,29,249,191,71,254,239,200,255,59,242,127,142,252,223,145,255,119,228,255,29,249,191,35,254,239,200,255,59,242,127,71,252,223,145,255,119,228,255,142,249,191,35,255,239,200,255,29,242,127,71,254,223,145,255,59,228,255,142,252,191,35,255,119,200,255,29,249,127,71,254,239,145,255,59,242,255,142,252,223,35,255,119,228,255,29,249,191,71,254,239,200,0,0,0,64,0,0,0,0] /* QUIC\00\00\00\00\04\ */, "i8", ALLOC_STATIC);
-_main_buf=allocate(1048576, "i8", ALLOC_STATIC);
-STRING_TABLE.__str38=allocate([109,101,109,98,117,102,49,0] /* membuf1\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str39=allocate([109,101,109,98,117,102,50,0] /* membuf2\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str40=allocate([114,98,0] /* rb\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str41=allocate([37,115,58,32,114,101,97,100,32,37,100,32,98,121,116,101,115,10,0] /* %s: read %d bytes\0A */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str42=allocate([87,104,111,97,33,32,32,102,105,108,101,32,91,37,115,93,32,116,111,111,32,98,105,103,46,46,46,10,0] /* Whoa!  file [%s] too */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str43=allocate([87,104,111,97,33,32,32,110,111,116,104,105,110,103,32,105,110,32,102,105,108,101,32,91,37,115,93,10,0] /* Whoa!  nothing in fi */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str44=allocate([87,104,111,97,33,32,32,99,111,117,108,100,110,39,116,32,111,112,101,110,32,102,105,108,101,32,91,37,115,93,10,0] /* Whoa!  couldn't open */, "i8", ALLOC_STATIC);
-_zeroLUT=allocate(1024, "i32", ALLOC_STATIC);
-_bppmask=allocate([0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 15, 0, 0, 0, 31, 0, 0, 0, 63, 0, 0, 0, 127, 0, 0, 0, 255, 0, 0, 0, 511, 0, 0, 0, 1023, 0, 0, 0, 2047, 0, 0, 0, 4095, 0, 0, 0, 8191, 0, 0, 0, 16383, 0, 0, 0, 32767, 0, 0, 0, 65535, 0, 0, 0, 131071, 0, 0, 0, 262143, 0, 0, 0, 524287, 0, 0, 0, 1048575, 0, 0, 0, 2097151, 0, 0, 0, 4194303, 0, 0, 0, 8388607, 0, 0, 0, 16777215, 0, 0, 0, 33554431, 0, 0, 0, 67108863, 0, 0, 0, 134217727, 0, 0, 0, 268435455, 0, 0, 0, 536870911, 0, 0, 0, 1073741823, 0, 0, 0, 2147483647, 0, 0, 0, -1, 0, 0, 0], ["i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0], ALLOC_STATIC);
-STRING_TABLE.__str45=allocate([113,117,105,99,46,99,58,56,54,49,0] /* quic.c:861\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___fill_model_structures=allocate([102,105,108,108,95,109,111,100,101,108,95,115,116,114,117,99,116,117,114,101,115,0] /* fill_model_structure */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str46=allocate([98,115,116,97,114,116,32,60,32,110,95,98,117,99,107,101,116,115,95,112,116,114,115,0] /* bstart _ n_buckets_p */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str47=allocate([113,117,105,99,46,99,58,56,54,52,0] /* quic.c:864\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str48=allocate([98,101,110,100,32,60,32,110,95,98,117,99,107,101,116,115,95,112,116,114,115,0] /* bend _ n_buckets_ptr */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str49=allocate([113,117,105,99,46,99,58,56,55,51,0] /* quic.c:873\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str50=allocate([102,114,101,101,95,99,111,117,110,116,101,114,32,45,32,102,97,109,105,108,121,95,115,116,97,116,45,62,99,111,117,110,116,101,114,115,32,61,61,32,110,98,117,99,107,101,116,115,32,42,32,110,99,111,117,110,116,101,114,115,0] /* free_counter - famil */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str51=allocate([113,117,105,99,46,99,58,56,57,49,0] /* quic.c:891\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___find_model_params=allocate([102,105,110,100,95,109,111,100,101,108,95,112,97,114,97,109,115,0] /* find_model_params\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str52=allocate([98,112,99,32,60,61,32,56,32,38,38,32,98,112,99,32,62,32,48,0] /* bpc _= 8 && bpc _ 0\ */, "i8", ALLOC_STATIC);
-_evol=allocate([3], ["i32",0,0,0,0], ALLOC_STATIC);
-STRING_TABLE.__str53=allocate([102,105,110,100,109,111,100,101,108,112,97,114,97,109,115,40,41,58,32,101,118,111,108,32,118,97,108,117,101,32,111,98,115,111,108,101,116,101,33,33,33,10,0] /* findmodelparams(): e */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str54=allocate([102,105,110,100,109,111,100,101,108,112,97,114,97,109,115,40,41,58,32,101,118,111,108,32,111,117,116,32,111,102,32,114,97,110,103,101,33,33,33,10,0] /* findmodelparams(): e */, "i8", ALLOC_STATIC);
-_wmimax=allocate([6], ["i32",0,0,0,0], ALLOC_STATIC);
-_wminext=allocate([2048], ["i32",0,0,0,0], ALLOC_STATIC);
-STRING_TABLE.__str55=allocate([113,117,105,99,95,116,109,112,108,46,99,58,54,49,54,0] /* quic_tmpl.c:616\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_one_uncompress_row=allocate([113,117,105,99,95,111,110,101,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,0] /* quic_one_uncompress_ */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str56=allocate([40,105,110,116,41,99,104,97,110,110,101,108,45,62,115,116,97,116,101,46,119,109,105,100,120,32,60,61,32,119,109,105,109,97,120,0] /* (int)channel-_state. */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str57=allocate([113,117,105,99,95,116,109,112,108,46,99,58,54,49,55,0] /* quic_tmpl.c:617\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str58=allocate([99,104,97,110,110,101,108,45,62,115,116,97,116,101,46,119,109,105,100,120,32,60,61,32,51,50,0] /* channel-_state.wmidx */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str59=allocate([113,117,105,99,95,116,109,112,108,46,99,58,54,49,56,0] /* quic_tmpl.c:618\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str60=allocate([119,109,105,110,101,120,116,32,62,32,48,0] /* wminext _ 0\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str61=allocate([113,117,105,99,46,99,58,50,54,57,0] /* quic.c:269\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___set_wm_trigger=allocate([115,101,116,95,119,109,95,116,114,105,103,103,101,114,0] /* set_wm_trigger\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str62=allocate([101,118,111,108,32,60,32,54,0] /* evol _ 6\00 */, "i8", ALLOC_STATIC);
-_besttrigtab=allocate([550, 0, 900, 0, 800, 0, 700, 0, 500, 0, 350, 0, 300, 0, 200, 0, 180, 0, 180, 0, 160, 0, 110, 0, 550, 0, 900, 0, 800, 0, 550, 0, 400, 0, 350, 0, 250, 0, 140, 0, 160, 0, 140, 0, 100, 0, 120, 0, 550, 0, 900, 0, 700, 0, 500, 0, 400, 0, 300, 0, 220, 0, 250, 0, 160, 0], ["i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0,"i16",0], ALLOC_STATIC);
-STRING_TABLE.__str63=allocate([113,117,105,99,46,99,58,50,55,51,0] /* quic.c:273\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str64=allocate([115,116,97,116,101,45,62,119,109,95,116,114,105,103,103,101,114,32,60,61,32,50,48,48,48,0] /* state-_wm_trigger _= */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str65=allocate([113,117,105,99,46,99,58,50,55,52,0] /* quic.c:274\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str66=allocate([115,116,97,116,101,45,62,119,109,95,116,114,105,103,103,101,114,32,62,61,32,49,0] /* state-_wm_trigger _= */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str67=allocate([113,117,105,99,95,116,109,112,108,46,99,58,52,57,57,0] /* quic_tmpl.c:499\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_one_uncompress_row_seg=allocate([113,117,105,99,95,111,110,101,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,95,115,101,103,0] /* quic_one_uncompress_ */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str68=allocate([101,110,100,32,45,32,105,32,62,32,48,0] /* end - i _ 0\00 */, "i8", ALLOC_STATIC);
-_J=allocate([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0], ["i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0], ALLOC_STATIC);
-_tabrand_chaos=allocate([46495042, 0, 0, 0, 893548311, 0, 0, 0, 794435923, 0, 0, 0, -1840975531, 0, 0, 0, 2077388039, 0, 0, 0, 894197842, 0, 0, 0, 1462934312, 0, 0, 0, 697534094, 0, 0, 0, 1826128012, 0, 0, 0, 343623392, 0, 0, 0, -1713674577, 0, 0, 0, -483701588, 0, 0, 0, 459739748, 0, 0, 0, -1656540026, 0, 0, 0, 1654964626, 0, 0, 0, 101227083, 0, 0, 0, -1640116668, 0, 0, 0, -626266605, 0, 0, 0, 572794346, 0, 0, 0, -1536216291, 0, 0, 0, -849833392, 0, 0, 0, -1950868097, 0, 0, 0, -927516999, 0, 0, 0, 898927923, 0, 0, 0, -676560944, 0, 0, 0, 1606297603, 0, 0, 0, 754696453, 0, 0, 0, 20823118, 0, 0, 0, 2050458127, 0, 0, 0, 972590750, 0, 0, 0, -304773228, 0, 0, 0, -989370743, 0, 0, 0, -55728732, 0, 0, 0, 1690498157, 0, 0, 0, -1279643069, 0, 0, 0, -1988840199, 0, 0, 0, 1510321853, 0, 0, 0, 548392192, 0, 0, 0, 971157512, 0, 0, 0, -2002679227, 0, 0, 0, 1611390505, 0, 0, 0, -208201010, 0, 0, 0, -210040213, 0, 0, 0, 1883326811, 0, 0, 0, 1891043243, 0, 0, 0, 113180603, 0, 0, 0, 11076907
 83, 0, 0, 0, -516141341, 0, 0, 0, -1045986521, 0, 0, 0, -1851128196, 0, 0, 0, -2104101078, 0, 0, 0, 1932072870, 0, 0, 0, 495393613, 0, 0, 0, 1078522166, 0, 0, 0, -243003778, 0, 0, 0, 1784694977, 0, 0, 0, 1768732442, 0, 0, 0, 2146763203, 0, 0, 0, 264646923, 0, 0, 0, 1474361405, 0, 0, 0, -1933414796, 0, 0, 0, 296035746, 0, 0, 0, -1805044537, 0, 0, 0, 2094565616, 0, 0, 0, -1885501948, 0, 0, 0, 1334241083, 0, 0, 0, 72483606, 0, 0, 0, -554786292, 0, 0, 0, -237046634, 0, 0, 0, 1734898312, 0, 0, 0, -180304462, 0, 0, 0, 574624900, 0, 0, 0, 880305546, 0, 0, 0, -1036495034, 0, 0, 0, 26713132, 0, 0, 0, 1571648456, 0, 0, 0, 52557195, 0, 0, 0, -251733010, 0, 0, 0, -1836945953, 0, 0, 0, 676064371, 0, 0, 0, 1528437109, 0, 0, 0, 64953873, 0, 0, 0, 546717185, 0, 0, 0, -1585647317, 0, 0, 0, 1947039598, 0, 0, 0, -1482244292, 0, 0, 0, 28691684, 0, 0, 0, 286829174, 0, 0, 0, -59790326, 0, 0, 0, -829260133, 0, 0, 0, 12526951, 0, 0, 0, -2140200596, 0, 0, 0, -1129934762, 0, 0, 0, 2036061161, 0, 0, 0
 , -908311209, 0, 0, 0, -1993754942, 0, 0, 0, 2023576300, 0, 0, 0, 1061142336, 0, 0, 0, -1189514392, 0, 0, 0, -1551100491, 0, 0, 0, -1011593304, 0, 0, 0, -897371216, 0, 0, 0, -1209477744, 0, 0, 0, -1098874901, 0, 0, 0, -1084259488, 0, 0, 0, -643944612, 0, 0, 0, 925444321, 0, 0, 0, 2088074316, 0, 0, 0, 230011220, 0, 0, 0, -1071718910, 0, 0, 0, 533229176, 0, 0, 0, 523863486, 0, 0, 0, -1266656137, 0, 0, 0, 13140218, 0, 0, 0, -1756620014, 0, 0, 0, 900399636, 0, 0, 0, -1294171123, 0, 0, 0, 1526771255, 0, 0, 0, -753684442, 0, 0, 0, -1302292835, 0, 0, 0, 2135722105, 0, 0, 0, 389334227, 0, 0, 0, 1225164337, 0, 0, 0, -1175019487, 0, 0, 0, 1803959919, 0, 0, 0, -823796033, 0, 0, 0, 704170491, 0, 0, 0, 1407019136, 0, 0, 0, 1924534819, 0, 0, 0, 526887421, 0, 0, 0, 168782227, 0, 0, 0, 333811993, 0, 0, 0, 298623278, 0, 0, 0, -26515610, 0, 0, 0, 381087740, 0, 0, 0, -1752068156, 0, 0, 0, -1028086429, 0, 0, 0, -1796016319, 0, 0, 0, 200969370, 0, 0, 0, -783058200, 0, 0, 0, -1042664292, 0, 0, 0,
  -2026086198, 0, 0, 0, -1795138683, 0, 0, 0, -1688467442, 0, 0, 0, -1131758631, 0, 0, 0, -504712750, 0, 0, 0, 1840025712, 0, 0, 0, 1319758833, 0, 0, 0, -523292460, 0, 0, 0, 519421307, 0, 0, 0, -782171074, 0, 0, 0, 1563402978, 0, 0, 0, -10666834, 0, 0, 0, -2031247481, 0, 0, 0, 715250337, 0, 0, 0, -1116530124, 0, 0, 0, -1634776286, 0, 0, 0, -1312635270, 0, 0, 0, -1038657335, 0, 0, 0, -1585307299, 0, 0, 0, -860874424, 0, 0, 0, -1927901705, 0, 0, 0, 69438718, 0, 0, 0, 915160508, 0, 0, 0, 183164069, 0, 0, 0, -1160635356, 0, 0, 0, 175242981, 0, 0, 0, -1614423950, 0, 0, 0, 1421955782, 0, 0, 0, -63794045, 0, 0, 0, 1736652874, 0, 0, 0, -304398820, 0, 0, 0, 1710820912, 0, 0, 0, -2008362856, 0, 0, 0, -830380198, 0, 0, 0, 1261907837, 0, 0, 0, 1757387321, 0, 0, 0, 1128554270, 0, 0, 0, 1090050251, 0, 0, 0, -1865044810, 0, 0, 0, 1288729218, 0, 0, 0, 882830086, 0, 0, 0, 211637042, 0, 0, 0, 1376462063, 0, 0, 0, -2147351481, 0, 0, 0, 1737974929, 0, 0, 0, 798170275, 0, 0, 0, -23395019, 0, 0, 0
 , -53280224, 0, 0, 0, 1638524620, 0, 0, 0, -1534601001, 0, 0, 0, 1065115089, 0, 0, 0, 2097227717, 0, 0, 0, 1224023317, 0, 0, 0, 1625204849, 0, 0, 0, -911663945, 0, 0, 0, 1488272307, 0, 0, 0, -1654781139, 0, 0, 0, 1649047732, 0, 0, 0, 819719707, 0, 0, 0, -1679875353, 0, 0, 0, 502645401, 0, 0, 0, 760628135, 0, 0, 0, -186829313, 0, 0, 0, 63606742, 0, 0, 0, 1404337880, 0, 0, 0, 1865161130, 0, 0, 0, -21970444, 0, 0, 0, 1239761976, 0, 0, 0, 790984678, 0, 0, 0, -1081644695, 0, 0, 0, 1917062825, 0, 0, 0, -99897416, 0, 0, 0, 1962259360, 0, 0, 0, 2111002573, 0, 0, 0, -1982983336, 0, 0, 0, 1861406170, 0, 0, 0, 511141875, 0, 0, 0, -1497456677, 0, 0, 0, 1331661048, 0, 0, 0, -1164359110, 0, 0, 0, 147483493, 0, 0, 0, -527878120, 0, 0, 0, -1644125846, 0, 0, 0, -198443889, 0, 0, 0, -1720520996, 0, 0, 0, 1956416337, 0, 0, 0, 851468126, 0, 0, 0, -687439777, 0, 0, 0, 1811658703, 0, 0, 0, -652146160, 0, 0, 0, 832691095, 0, 0, 0, -1841654439, 0, 0, 0, 933732854, 0, 0, 0, 94341217, 0, 0, 0, -90116
 9566, 0, 0, 0, 1695907457, 0, 0, 0, -1889245219, 0, 0, 0, -1417281633, 0, 0, 0, -1825460238, 0, 0, 0, -2045330955, 0, 0, 0, -306358635, 0, 0, 0, -293721679, 0, 0, 0, 825934927, 0, 0, 0, -1190981329, 0, 0, 0, 1127151177, 0, 0, 0, -603310400, 0, 0, 0, 1640967098, 0, 0, 0, -2126034651, 0, 0, 0, -1464416339, 0, 0, 0, -296144418, 0, 0, 0, -1292364403, 0, 0, 0, 1509651465, 0, 0, 0, 775813869, 0, 0, 0, -1695393217, 0, 0, 0, -503393067, 0, 0, 0], ["i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32"
 ,0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,
 0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i3
 2",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0], ALLOC_STATIC);
-STRING_TABLE.__str69=allocate([113,117,105,99,46,99,58,52,55,54,0] /* quic.c:476\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___decode_eatbits=allocate([100,101,99,111,100,101,95,101,97,116,98,105,116,115,0] /* decode_eatbits\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str70=allocate([108,101,110,32,62,32,48,32,38,38,32,108,101,110,32,60,32,51,50,0] /* len _ 0 && len _ 32\ */, "i8", ALLOC_STATIC);
-___read_io_word_ptr=allocate([12], ["void (%struct.Encoder*)*",0,0,0,0], ALLOC_STATIC);
-STRING_TABLE.__str71=allocate([113,117,105,99,46,99,58,52,54,56,0] /* quic.c:468\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___read_io_word=allocate([114,101,97,100,95,105,111,95,119,111,114,100,0] /* read_io_word\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str72=allocate([101,110,99,111,100,101,114,45,62,105,111,95,110,111,119,32,60,32,101,110,99,111,100,101,114,45,62,105,111,95,101,110,100,0] /* encoder-_io_now _ en */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str73=allocate([37,115,58,32,110,111,32,109,111,114,101,32,119,111,114,100,115,10,0] /* %s: no more words\0A */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___more_io_words=allocate([109,111,114,101,95,105,111,95,119,111,114,100,115,0] /* more_io_words\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str74=allocate([113,117,105,99,46,99,58,51,57,52,0] /* quic.c:394\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str75=allocate([105,111,95,112,116,114,0] /* io_ptr\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str76=allocate([113,117,105,99,95,102,97,109,105,108,121,95,116,109,112,108,46,99,58,49,49,48,0] /* quic_family_tmpl.c:1 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___find_bucket_8bpc=allocate([102,105,110,100,95,98,117,99,107,101,116,95,56,98,112,99,0] /* find_bucket_8bpc\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str77=allocate([118,97,108,32,60,32,40,48,120,49,85,32,60,60,32,66,80,67,41,0] /* val _ (0x1U __ BPC)\ */, "i8", ALLOC_STATIC);
-STRING_TABLE._lzeroes=allocate([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] /* \08\07\06\06\05\05\0 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str78=allocate([113,117,105,99,95,116,109,112,108,46,99,58,52,55,56,0] /* quic_tmpl.c:478\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_one_uncompress_row0=allocate([113,117,105,99,95,111,110,101,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,0] /* quic_one_uncompress_ */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str79=allocate([113,117,105,99,95,116,109,112,108,46,99,58,52,55,57,0] /* quic_tmpl.c:479\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str80=allocate([113,117,105,99,95,116,109,112,108,46,99,58,52,56,48,0] /* quic_tmpl.c:480\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str81=allocate([113,117,105,99,95,116,109,112,108,46,99,58,51,57,51,0] /* quic_tmpl.c:393\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_one_uncompress_row0_seg=allocate([113,117,105,99,95,111,110,101,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,95,115,101,103,0] /* quic_one_uncompress_ */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_four_uncompress_row=allocate([113,117,105,99,95,102,111,117,114,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,0] /* quic_four_uncompress */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_four_uncompress_row_seg=allocate([113,117,105,99,95,102,111,117,114,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,95,115,101,103,0] /* quic_four_uncompress */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_four_uncompress_row0=allocate([113,117,105,99,95,102,111,117,114,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,0] /* quic_four_uncompress */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_four_uncompress_row0_seg=allocate([113,117,105,99,95,102,111,117,114,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,95,115,101,103,0] /* quic_four_uncompress */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str82=allocate([113,117,105,99,95,114,103,98,95,116,109,112,108,46,99,58,55,50,52,0] /* quic_rgb_tmpl.c:724\ */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row=allocate([113,117,105,99,95,114,103,98,49,54,95,116,111,95,51,50,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,0] /* quic_rgb16_to_32_unc */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str83=allocate([40,105,110,116,41,101,110,99,111,100,101,114,45,62,114,103,98,95,115,116,97,116,101,46,119,109,105,100,120,32,60,61,32,119,109,105,109,97,120,0] /* (int)encoder-_rgb_st */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str84=allocate([113,117,105,99,95,114,103,98,95,116,109,112,108,46,99,58,55,50,53,0] /* quic_rgb_tmpl.c:725\ */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str85=allocate([101,110,99,111,100,101,114,45,62,114,103,98,95,115,116,97,116,101,46,119,109,105,100,120,32,60,61,32,51,50,0] /* encoder-_rgb_state.w */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str86=allocate([113,117,105,99,95,114,103,98,95,116,109,112,108,46,99,58,55,50,54,0] /* quic_rgb_tmpl.c:726\ */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str87=allocate([113,117,105,99,95,114,103,98,95,116,109,112,108,46,99,58,54,49,52,0] /* quic_rgb_tmpl.c:614\ */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row_seg=allocate([113,117,105,99,95,114,103,98,49,54,95,116,111,95,51,50,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,95,115,101,103,0] /* quic_rgb16_to_32_unc */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___find_bucket_5bpc=allocate([102,105,110,100,95,98,117,99,107,101,116,95,53,98,112,99,0] /* find_bucket_5bpc\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str88=allocate([113,117,105,99,95,114,103,98,95,116,109,112,108,46,99,58,53,55,48,0] /* quic_rgb_tmpl.c:570\ */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row0=allocate([113,117,105,99,95,114,103,98,49,54,95,116,111,95,51,50,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,0] /* quic_rgb16_to_32_unc */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str89=allocate([113,117,105,99,95,114,103,98,95,116,109,112,108,46,99,58,53,55,49,0] /* quic_rgb_tmpl.c:571\ */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str90=allocate([113,117,105,99,95,114,103,98,95,116,109,112,108,46,99,58,53,55,50,0] /* quic_rgb_tmpl.c:572\ */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str91=allocate([113,117,105,99,95,114,103,98,95,116,109,112,108,46,99,58,52,57,51,0] /* quic_rgb_tmpl.c:493\ */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb16_to_32_uncompress_row0_seg=allocate([113,117,105,99,95,114,103,98,49,54,95,116,111,95,51,50,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,95,115,101,103,0] /* quic_rgb16_to_32_unc */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row=allocate([113,117,105,99,95,114,103,98,49,54,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,0] /* quic_rgb16_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row_seg=allocate([113,117,105,99,95,114,103,98,49,54,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,95,115,101,103,0] /* quic_rgb16_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row0=allocate([113,117,105,99,95,114,103,98,49,54,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,0] /* quic_rgb16_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb16_uncompress_row0_seg=allocate([113,117,105,99,95,114,103,98,49,54,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,95,115,101,103,0] /* quic_rgb16_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row=allocate([113,117,105,99,95,114,103,98,50,52,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,0] /* quic_rgb24_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row_seg=allocate([113,117,105,99,95,114,103,98,50,52,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,95,115,101,103,0] /* quic_rgb24_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row0=allocate([113,117,105,99,95,114,103,98,50,52,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,0] /* quic_rgb24_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb24_uncompress_row0_seg=allocate([113,117,105,99,95,114,103,98,50,52,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,95,115,101,103,0] /* quic_rgb24_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row=allocate([113,117,105,99,95,114,103,98,51,50,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,0] /* quic_rgb32_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row_seg=allocate([113,117,105,99,95,114,103,98,51,50,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,95,115,101,103,0] /* quic_rgb32_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row0=allocate([113,117,105,99,95,114,103,98,51,50,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,0] /* quic_rgb32_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_rgb32_uncompress_row0_seg=allocate([113,117,105,99,95,114,103,98,51,50,95,117,110,99,111,109,112,114,101,115,115,95,114,111,119,48,95,115,101,103,0] /* quic_rgb32_uncompres */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str115=allocate([37,115,58,32,98,97,100,32,98,112,99,32,37,100,10,0] /* %s: bad bpc %d\0A\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___encoder_reste_channels=allocate([101,110,99,111,100,101,114,95,114,101,115,116,101,95,99,104,97,110,110,101,108,115,0] /* encoder_reste_channe */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str116=allocate([113,117,105,99,46,99,58,49,48,55,57,0] /* quic.c:1079\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___encoder_reste=allocate([101,110,99,111,100,101,114,95,114,101,115,116,101,0] /* encoder_reste\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str117=allocate([40,40,117,110,115,105,103,110,101,100,32,108,111,110,103,41,105,111,95,112,116,114,32,37,32,52,41,32,61,61,32,40,40,117,110,115,105,103,110,101,100,32,108,111,110,103,41,105,111,95,112,116,114,95,101,110,100,32,37,32,52,41,0] /* ((unsigned long)io_p */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str118=allocate([113,117,105,99,46,99,58,49,48,56,48,0] /* quic.c:1080\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str119=allocate([105,111,95,112,116,114,32,60,61,32,105,111,95,112,116,114,95,101,110,100,0] /* io_ptr _= io_ptr_end */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str120=allocate([113,117,105,99,46,99,58,49,49,54,49,0] /* quic.c:1161\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.___FUNCTION___quic_image_params=allocate([113,117,105,99,95,105,109,97,103,101,95,112,97,114,97,109,115,0] /* quic_image_params\00 */, "i8", ALLOC_STATIC);
-STRING_TABLE.__str121=allocate([99,104,97,110,110,101,108,115,32,38,38,32,98,112,99,0] /* channels && bpc\00 */, "i8", ALLOC_STATIC);
-__gm_=allocate(468, ["i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",
 0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"*",0,0,0,"i32",0,0,0,"*",0,0,0,"i32",0,0,0,"*",0,0,0,"i32",0,0,0], ALLOC_STATIC);
-_mparams=allocate(24, "i32", ALLOC_STATIC);
-FUNCTION_TABLE = [0,0,_usr_msg,0,_usr_malloc,0,_usr_free,0,_usr_more_space,0,_usr_more_lines,0,___read_io_word,0]; Module["FUNCTION_TABLE"] = FUNCTION_TABLE;
-
-
-function run(args) {
-  args = args || Module['arguments'];
-
-  if (Module['setStatus']) {
-    Module['setStatus'](''); // clear the status from "Downloading.." etc.
-  }
-
-  if (Module['preRun']) {
-    Module['preRun']();
-  }
-
-  var ret = null;
-  if (Module['_main']) {
-    preMain();
-    ret = Module.callMain(args);
-    if (!Module['noExitRuntime']) {
-      exitRuntime();
+QuicEncoder.prototype.do_run = function(b, cur_row)
+{
+    this.rgb_state.waitcnt = b.stopidx - b.i;
+    b.run_index = b.i;
+    b.run_end = b.i + this.decode_run();
+
+    for (; b.i < b.run_end; b.i++) {
+        var pixel = b.i * rgb32_pixel_size;
+        var pixelm1 = (b.i-1) * rgb32_pixel_size;
+        cur_row[pixel+rgb32_pixel_pad] = 0;
+        cur_row[pixel+rgb32_pixel_r] = cur_row[pixelm1+rgb32_pixel_r];
+        cur_row[pixel+rgb32_pixel_g] = cur_row[pixelm1+rgb32_pixel_g];
+        cur_row[pixel+rgb32_pixel_b] = cur_row[pixelm1+rgb32_pixel_b];
     }
-  }
 
-  if (Module['postRun']) {
-    Module['postRun']();
-  }
+    if (b.i == b.end) {
+        b.rc = 2;
+        return;
+    }
 
-  return ret;
+    b.stopidx = b.i + this.rgb_state.waitcnt;
+    b.rc = 1;
 }
-Module['run'] = run;
 
-// {{PRE_RUN_ADDITIONS}}
+QuicEncoder.prototype.quic_rgb32_uncompress_row = function (prev_row, cur_row)
+{
+    var bpc = 8;
+    var bpc_mask = 0xff;
+    var pos = 0;
+    var width = this.width;
+
+    while ((wmimax > this.rgb_state.wmidx) && (this.rgb_state.wmileft <= width)) {
+        if (this.rgb_state.wmileft) {
+            this.quic_rgb32_uncompress_row_seg(prev_row, cur_row, pos,
+                                      pos + this.rgb_state.wmileft, bpc, bpc_mask);
+            pos += this.rgb_state.wmileft;
+            width -= this.rgb_state.wmileft;
+        }
 
-initRuntime();
+        this.rgb_state.wmidx++;
+        this.rgb_state.set_wm_trigger();
+        this.rgb_state.wmileft = wminext;
+    }
 
-if (Module['noInitialRun']) {
-  addRunDependency();
+    if (width) {
+        this.quic_rgb32_uncompress_row_seg(prev_row, cur_row, pos,
+                                  pos + width, bpc, bpc_mask);
+        if (wmimax > this.rgb_state.wmidx) {
+            this.rgb_state.wmileft -= width;
+        }
+    }
 }
 
-// {{POST_RUN_ADDITIONS}}
-
-
+QuicEncoder.prototype.quic_decode = function(buf, stride)
+{
+    var row;
+    var prev;
+    var cur = buf;
+
+    switch (this.type)
+    {
+        case QUIC_IMAGE_TYPE_RGB32:
+            this.channels[0].correlate_row.zero = 0;
+            this.channels[1].correlate_row.zero = 0;
+            this.channels[2].correlate_row.zero = 0;
+            this.quic_rgb32_uncompress_row0(cur);
+
+            this.rows_completed++;
+            for (row = 1; row < this.height; row++)
+            {
+                prev = cur;
+                cur = prev.subarray(stride);
+                this.channels[0].correlate_row.zero = this.channels[0].correlate_row.row[0];
+                this.channels[1].correlate_row.zero = this.channels[1].correlate_row.row[0];
+                this.channels[2].correlate_row.zero = this.channels[2].correlate_row.row[0];
+                this.quic_rgb32_uncompress_row(prev, cur);
+                this.rows_completed++;
+            };
+            break;
+        case QUIC_IMAGE_TYPE_RGB24:
+            console.log("quic: unsupported output format\n");
+            return false;
+            break;
+        case QUIC_IMAGE_TYPE_RGB16:
+            console.log("quic: unsupported output format\n");
+            return false;
+            break;
+        case QUIC_IMAGE_TYPE_RGBA:
+            console.log("quic: unsupported output format\n");
+            return false;
+            break;
+
+        case QUIC_IMAGE_TYPE_GRAY:
+            console.log("quic: unsupported output format\n");
+            return false;
+            break;
+
+        case QUIC_IMAGE_TYPE_INVALID:
+        default:
+            console.log("quic: bad image type\n");
+            return false;
+    }
+    return true;
+}
 
+QuicEncoder.prototype.simple_quic_decode = function(buf)
+{
+    var stride = 4; /* FIXME - proper stride calc please */
+    if (!this.quic_decode_begin(buf))
+        return undefined;
+    if (this.type != QUIC_IMAGE_TYPE_RGB32 && this.type != QUIC_IMAGE_TYPE_RGBA)
+        return undefined;
+    var out = new Uint8Array(this.width*this.height*4);
+    out[0] = 69;
+    if (this.quic_decode( out, (this.width * stride)))
+        return out;
+    return undefined;
+}
+
+function SpiceQuic()
+{
+}
 
+SpiceQuic.prototype =
+{
+    from_dv: function(dv, at, mb)
+    {
+        if (!encoder)
+            throw("quic: no quic encoder");
+        this.data_size = dv.getUint32(at, true);
+        at += 4;
+        var buf = new Uint8Array(mb.slice(at));
+        this.outptr = encoder.simple_quic_decode(buf);
+        if (this.outptr)
+        {
+            this.type = encoder.type;
+            this.width = encoder.width;
+            this.height = encoder.height;
+        }
+        at += buf.length;
+        return at;
+    },
+}
 
-  // {{MODULE_ADDITIONS}}
+function convert_spice_quic_to_web(context, spice_quic)
+{
+    var ret = context.createImageData(spice_quic.width, spice_quic.height);
+    var i;
+    for (i = 0; i < (ret.width * ret.height * 4); i+=4)
+    {
+        ret.data[i + 0] = spice_quic.outptr[i + 2];
+        ret.data[i + 1] = spice_quic.outptr[i + 1];
+        ret.data[i + 2] = spice_quic.outptr[i + 0];
+        if (spice_quic.type == 4)
+            ret.data[i + 3] = 255;
+        else
+            ret.data[i + 3] = spice_quic.outptr[i + 3];
+    }
+   return ret;
+}
 
+/* Module initialization */
+if (need_init)
+{
+    need_init = false;
+
+    family_init(family_8bpc, 8, DEFmaxclen);
+    family_init(family_5bpc, 5, DEFmaxclen);
+    /* init_zeroLUT */
+    var i, j, k, l;
+
+    j = k = 1;
+    l = 8;
+    for (i = 0; i < 256; ++i) {
+        zeroLUT[i] = l;
+        --k;
+        if (k == 0) {
+            k = j;
+            --l;
+            j *= 2;
+        }
+    }
 
-// EMSCRIPTEN_GENERATED_FUNCTIONS: ["_init_decode_io","_spice_log","_quic_image_params","_encoder_reste","_encoder_reste_channels","_quic_decode_begin","_decode_eat32bits","_quic_decode","_quic_rgb32_uncompress_row0","_quic_rgb32_uncompress_row","_quic_rgb24_uncompress_row0","_quic_rgb24_uncompress_row","_quic_rgb16_uncompress_row0","_quic_rgb16_uncompress_row","_quic_rgb16_to_32_uncompress_row0","_quic_rgb16_to_32_uncompress_row","_uncompress_rgba","_uncompress_gray","_quic_create","_init_encoder","_ceil_log_2","_init_zeroLUT","_decorelate_init","_corelate_init","_quic_destroy","_destroy_channel","_quic_init","_family_init","_usr_msg","_usr_malloc","_usr_free","_usr_more_space","_usr_more_lines","_print_a_line","_simple_quic_init","_simple_quic_term","_simple_quic_decode","_quic_decode_js","_free_family_stat","_main","_init_channel","_find_model_params","_init_model_structures","_fill_model_structures","_quic_one_uncompress_row0","_quic_one_uncompress_row","_tabrand","_quic
 _one_uncompress_row_seg","_set_wm_trigger","_golomb_decoding_8bpc","_find_bucket_8bpc","_decode_eatbits","_quic_one_corelate","_golomb_code_len_8bpc","_cnt_l_zeroes","_quic_one_corelate_0","_update_model_8bpc","_decode_channel_run","_read_io_word","___read_io_word","_more_io_words","_quic_one_uncompress_row0_seg","_quic_four_uncompress_row0","_quic_four_uncompress_row","_quic_four_corelate","_quic_four_corelate_0","_quic_four_uncompress_row_seg","_quic_four_uncompress_row0_seg","_quic_rgb16_to_32_uncompress_row_seg","_golomb_code_len_5bpc","_golomb_decoding_5bpc","_find_bucket_5bpc","_update_model_5bpc","_decode_run","_quic_rgb16_to_32_uncompress_row0_seg","_quic_rgb16_uncompress_row_seg","_quic_rgb16_uncompress_row0_seg","_quic_rgb24_uncompress_row_seg","_quic_rgb24_uncompress_row0_seg","_quic_rgb32_uncompress_row_seg","_stabrand","_encoder_init_rle","_quic_rgb32_uncompress_row0_seg","_malloc","_tmalloc_small","_tmalloc_large","_sys_alloc","_free","_sys_trim","_segment_hold
 ing","_release_unused_segments","_init_mparams","_init_top","_mmap_alloc","_init_bins","_prepend_alloc","_add_segment"]
+    encoder = new QuicEncoder;
 
-function getQuic(array_o_data)
-{
-    var ret = ccall("quic_decode_js", "", [ "array", "number" ], [ array_o_data, array_o_data.length ]);
-    return ret;
+    if (!encoder)
+        throw("quic: failed to create encoder");
 }
diff --git a/quic.shell b/quic.shell
deleted file mode 100644
index bf04de4..0000000
--- a/quic.shell
+++ /dev/null
@@ -1,91 +0,0 @@
-<html>
-<script>
- {{{ SCRIPT_CODE }}}
-</script>
-<body>
-
-<canvas id="myCanvas" width="800" height="600" style="border:1px solid #d3d3d3;">
-your browser does not support the canvas tag </canvas>
-<script type="text/javascript">
-
-
-/* 
-
-1:  
-And then this code goes in after you generate quic.html,
-in function _quic_decode_js, after the call to  simple_quic_decode.
-
-And don't forget to return ret instead of the other thang. 
-
-      var ret = new Object;
-      ret.type = HEAP32[$type>>2];
-      ret.width = HEAP32[$width>>2];
-      ret.height = HEAP32[$height>>2];
-      var outptr = HEAP32[$out>>2];
-      ret.imgData = global_ctx.createImageData(ret.width, ret.height);
-      var i;
-      for (i = 0; i < (ret.width * ret.height * 4); i+=4)
-      {
-         ret.imgData.data[i + 0] = HEAPU8[outptr + i + 2];
-         ret.imgData.data[i + 1] = HEAPU8[outptr + i + 1];
-         ret.imgData.data[i + 2] = HEAPU8[outptr + i + 0];
-         if (ret.type == 4)
-             ret.imgData.data[i + 3] = 255;
-         else
-             ret.imgData.data[i + 3] = HEAPU8[outptr + i + 3];
-      }
-
-2:  Near the bottom, delete this block of code:
-
-    if (runDependencies == 0) {
-      var ret = run();
-    }
-
-
-3:  Put this function at the bottom.
-function getQuic(array_o_data)
-{
-    var ret = ccall("quic_decode_js", "", [ "array", "number" ], [ array_o_data, array_o_data.length ]);
-    return ret;
-}
-
-*/
-
-var global_ctx;
-
-function getQuic(ctx, array_o_data)
-{
-    global_ctx = ctx;
-    var ret = ccall("quic_decode_js", "", [ "array", "number" ], [ array_o_data, array_o_data.length ]);
-    return ret;
-}
-
-//var membuf = [ 0x51,0x55,0x49,0x43,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x81,0x81,0x81,0xFF,0xAB,0x80,0x80,0xFF,0xFF,0x24,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x58,0x07,0x00,0x80,0x00,0xD6,0x01,0x00,0x40,0xC0,0x75,0x00,0xFA,0x3F,0x7F,0x40,0xC0,0x3A,0x00,0x00,0x00,0xB0,0x0E,0x00,0xFF,0xF5,0xAF,0x03,0xD6,0x01,0x00,0xB0,0x80,0x75,0x00,0x00,0x8F,0x7F,0x1D,0x00,0x0E,0x00,0x80,0xFD,0xAC,0x03,0x00,0xB0,0xFA,0xEB,0x00,0x00,0x00,0x00,0xD8,0xFF,0x3A,0x00,0x00,0xEB,0xBF,0x0E,0x00,0xC0,0x00,0x80,0xFD,0xAF,0x03,0x00,0xB0,0x0E,0xEB,0x00,0x00,0xAC,0x00,0x40,0x92,0xFA,0x03,0x00,0xB0,0x0E,0xEB,0x00,0x00,0xAC,0xC0,0x3A,0x00,0x00,0x00,0xB0,0x0E,0x00,0xFF,0x97,0xAF,0x03,0xFE,0x6F,0xFF,0x97,0xFB,0xBF,0xFD,0xDF,0xED,0xFF,0xF6,0x7F,0xB7,0xFF,0xDB,0xFF,0xDF,0xFE,0x6F,0xFF,0x7F,0xFB,0xBF,0xFD,0xFF,0xED,0xFF,0xF6,0xFF,0xB7,0xFF,0xDB,0xFD,0xDF,0xFE,0x6F,0xF6,0x7F,0xFB,0xBF,0xDA,0xFF,0xED,0xFF,0x00,0x00,0x00,0x00 ];
-var membuf = [ 0x51,0x55,0x49,0x43,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0x03,0x00,0x00,0x58,0x02,0x00,0x00,0xFF,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
 ,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFD,0x00,0x30,0xFA,0xFF,0x00,0xD6,0x01,0x00,0x00,0x80,0x75,0x00,0x10,0x10,0x70,0x1D,0x00,0x00,0xCF,0x1B,0x0E,0x00,0x40,0x3B,0xB7,0x03,0x00,0xD0,0x00,0x50,0xD2,0xEB,0x00,0x00,0xAC,0x03,0x3A,0x00,0x00,0xEB,0x00,0xE0,0x39,0xFE,0x01,0x00,0x68,0x07,0x76,0x00,0x00,0xDA,0x92,0x00,0x10,0xF8,0x08,0xFA,0xFA,0xFA,0xED,0x00,0x00,0x00,0x4
 0,0x3B,0x00,0x00,0xD5,0xDF,0x0E,0x00,0xB0,0x0E,0x00,0x80,0x00,0xAC,0x03,0x00,0xE7,0xF8,0xEB,0x00,0xA0,0x1D,0x00,0x80,0x00,0x68,0x07,0x00,0x40,0xC0,0xDB,0x01,0xAF,0xAF,0x2F,0x09,0x00,0x00,0x40,0xA0,0x07,0x00,0xA0,0x1D,0xDB,0x01,0x00,0x68,0x2F,0x09,0x60,0xF2,0x80,0xA0,0xAF,0xAF,0x80,0x76,0x00,0x00,0x00,0xA0,0x1D,0x00,0x00,0x30,0x6F,0x07,0x00,0x00,0xD6,0x01,0x1D,0x00,0x80,0x75,0x07,0x00,0x80,0x7C,0xDA,0x01,0x00,0x68,0xFF,0x76,0x00,0x00,0x07,0x00,0xC0,0xED,0xD6,0x01,0x00,0x58,0xFD,0x75,0x00,0x00,0x1D,0x00,0x80,0xE7,0x68,0x07,0x00,0xA0,0xC0,0xDB,0x01,0x00,0xB0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0xFD,0x55,0xEB,0x00,0x00,0xAC,0xFF,0xFD,0x7F,0x7F,0x7F,0x49,0xDF,0x5F,0x12,0xE0,0x24,0x60,0xF8,0xDF,0xF3,0xBF,0xBF,0xBF,0xF5,0xF5,0x25,0x81,0x0E,0x00,0x00,0xF4,0xB4,0x03,0x00,0xD0,0xF8,0xED,0x00,0x00,0xFD,0xFD,0x25,0x01,0x00,0x60,0x97,0xFF,0x00,0xC0,0x3A,0x00,0x03,0x00,0xB0,0x0E,0xED,0x00,0x00,0xAC,0x40,0x3B,0x00,0x00,0xC0,0xDE,0x0E,0x00,0x00,0x58,0x07,0x00,0x00,0x00,0xD6,0x01,0x00,0x00,0x
 F4,0x75,0x0E,0x00,0x40,0x3B,0xB7,0x03,0x00,0xD0,0x00,0x20,0xF5,0xFF,0x00,0x00,0xAC,0x03,0x3A,0x00,0x00,0xEB,0x00,0xC0,0xF3,0xFE,0x03,0x00,0xD0,0x0E,0xED,0x00,0x00,0xB4,0x07,0x00,0x20,0xE0,0xD6,0x01,0x00,0x58,0x80,0x75,0x00,0x00,0x00,0xA0,0x1D,0x00,0x01,0x00,0x68,0x07,0x24,0x00,0xCE,0xDB,0xF3,0xBF,0xBF,0xBF,0xC0,0xC0,0x24,0x40,0x41,0x41,0xC1,0xC0,0x80,0xBF,0xBF,0x3F,0x00,0x60,0x1D,0x00,0x01,0x00,0x58,0x07,0x76,0x00,0x00,0xD6,0xA0,0x1D,0x00,0x80,0x18,0x6F,0x07,0x00,0x00,0xD6,0x01,0x00,0x00,0x80,0x75,0x00,0x07,0x00,0x60,0x1D,0xDA,0x01,0x00,0x68,0xF3,0x76,0x00,0x00,0x06,0x06,0x26,0x01,0xFC,0xFD,0xFD,0x05,0xFF,0xFE,0xFE,0x92,0x75,0x00,0x00,0xEE,0x60,0x1D,0x00,0x80,0x00,0x58,0x07,0x00,0x00,0x00,0xDA,0x01,0x1D,0x00,0x80,0x76,0x7F,0x49,0xA0,0xBE,0x00,0xF8,0x7F,0x7F,0x00,0x60,0x1D,0x00,0x01,0x00,0x58,0x07,0x76,0x00,0x00,0xD6,0xA0,0x1D,0x00,0x80,0x60,0x6F,0x07,0x00,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0x00,0x00,0xFA,0x3A,0x07,0x00,0xA0,0x1D,0xDB,0x01,0x00,0x68,0x00,0x60,0xF5,0xFF,0
 x00,0x00,0xAC,0x03,0x3A,0x00,0x00,0xEB,0x00,0xC0,0xF3,0xFE,0x03,0x00,0xD0,0x0E,0xED,0x00,0x00,0xB4,0x07,0x00,0x20,0xE0,0xD6,0x01,0x00,0x58,0x80,0x75,0x00,0x00,0x00,0xA0,0x1D,0x00,0x01,0x00,0x68,0x07,0x24,0x00,0xD4,0xDB,0xF0,0xBF,0xBF,0xBF,0xB0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0x0E,0x00,0x40,0x3B,0xB4,0x03,0x00,0xD0,0x00,0xED,0x00,0x00,0x00,0x40,0x3B,0x00,0x0C,0x4C,0xD2,0x0E,0x04,0x04,0x0C,0x0C,0xC0,0x24,0x60,0x00,0x40,0xC0,0xC0,0xC0,0x00,0x00,0x1C,0x40,0x3A,0x00,0x00,0xEB,0xB0,0x0E,0x00,0xC0,0x00,0xB4,0x03,0x00,0x00,0x00,0xED,0x00,0x01,0x00,0x78,0x3B,0x76,0x00,0x00,0xDA,0xBE,0x1D,0x00,0x80,0x14,0x0A,0x85,0x70,0x04,0x0C,0x0C,0x0C,0x00,0x08,0x07,0x04,0x00,0x00,0xD6,0x01,0x1D,0x00,0x80,0x75,0x68,0x07,0x00,0x60,0x00,0xDA,0x01,0x00,0x0F,0xF3,0x76,0x00,0x83,0xDE,0xA3,0x47,0xFF,0xFF,0xF8,0xF1,0xA3,0x47,0x0F,0xB3,0x40,0x80,0xE7,0xDE,0x3F,0x7E,0x00,0x81,0xE8,0x11,0xF0,0x1F,0x00,0x00,0x7A,0xF4,0x1D,0x00,0x80,0x76,0x6F,0x07,0x00,0xA0,0x28,0x14,0x02,0x06,0xA0,0xAF,
 0xAF,0x4F,0x8F,0x1F,0x3F,0x80,0x84,0x42,0x21,0xF8,0x20,0xFA,0xFA,0xFA,0xFC,0xC7,0x8F,0x1F,0x4F,0x28,0x14,0x42,0x07,0xA2,0xAF,0xAF,0x10,0xFF,0xF1,0xE3,0x7F,0x7F,0x42,0xA1,0x85,0x42,0xE4,0x7F,0xFF,0xFD,0xFD,0x09,0x7D,0x42,0xA1,0x90,0x00,0x00,0x7D,0x7D,0x03,0x00,0xD0,0x0E,0xED,0x00,0x00,0xB4,0x13,0x0A,0x85,0xF0,0x1F,0xEA,0xEB,0xEB,0x42,0xFE,0xC7,0x8F,0x02,0x02,0x0A,0x85,0x1E,0x3D,0x7A,0x00,0xD0,0x0E,0x00,0x80,0x00,0xB4,0x03,0x00,0xF1,0xE3,0xED,0x00,0x1E,0xFD,0xFF,0xF8,0x00,0xA0,0x47,0x8F,0x01,0x00,0x68,0x07,0x76,0x00,0x00,0xDA,0x4F,0x28,0x14,0xF2,0x21,0xFE,0xEF,0xEF,0xFE,0xFE,0x84,0x42,0xD1,0xA3,0xC7,0xFF,0xDA,0x01,0x00,0xE8,0x80,0x76,0x00,0x00,0x50,0xBF,0x1D,0x00,0x7D,0x7D,0x42,0xA1,0xF8,0xF1,0x83,0x7D,0x84,0x42,0xA1,0xFF,0x49,0xFE,0xFE,0xFE,0x00,0x7D,0x7D,0x7D,0x00,0xA0,0x1D,0x00,0x01,0x00,0x68,0x07,0x3D,0x7A,0xF8,0xDB,0x1D,0x00,0x80,0x1E,0x68,0x07,0x00,0xA0,0xE4,0xDB,0x01,0x00,0x5F,0x9F,0x50,0x28,0x7E,0xFC,0x60,0x5F,0xA1,0x50,0xE8,0x3F,0xE0,0xBE,0xBE,0x3E,0xF2,0x3F,0x7E,0xFC
 ,0xAF,0x4F,0x28,0x14,0x03,0x00,0xA0,0xAF,0xED,0x00,0x00,0xB4,0x7E,0x3B,0x00,0x00,0xF5,0x09,0x85,0x42,0xC7,0x0F,0xF6,0xF5,0x42,0x21,0xFF,0xE3,0xFB,0xFA,0xFA,0x84,0xFF,0xF1,0xE3,0x07,0xAC,0x03,0x00,0xE0,0x00,0xEB,0x00,0x00,0x00,0xC0,0x3A,0x00,0x03,0x00,0xD0,0x0E,0xED,0x00,0x00,0xB4,0xA3,0x47,0x0F,0xFE,0xF8,0xF1,0x83,0xDF,0xA1,0xFF,0xFF,0xFF,0xDF,0xA3,0x47,0x0F,0x00,0x81,0xC0,0xBC,0xF0,0x1F,0x3F,0x7E,0x7A,0xF4,0xE8,0x11,0x80,0x76,0x00,0x00,0x00,0xA0,0x1D,0x00,0x0A,0x0D,0x6F,0x07,0xF7,0xF7,0x27,0x14,0xAC,0x03,0x00,0xF0,0x00,0xEB,0x00,0x00,0x7F,0xD5,0x3A,0x00,0x0A,0x03,0x7F,0x7F,0xF7,0xF7,0x27,0x14,0x0C,0x0C,0x4C,0xF2,0xF8,0xFB,0xFB,0x0B,0x7F,0x42,0xA1,0x30,0x00,0x00,0x7F,0x7F,0x0E,0x00,0xC0,0x3A,0xAC,0x03,0x00,0xB0,0x00,0xED,0x00,0x00,0x00,0x40,0x3B,0x00,0xF4,0x08,0xDE,0x0E,0x00,0x00,0x3D,0x7A,0x0E,0x00,0x40,0x3B,0xB6,0x03,0x00,0xD0,0xF1,0x03,0x08,0x04,0xD1,0x03,0xFC,0xF8,0x3F,0x7E,0xF4,0xE8,0x00,0x81,0xC0,0x1F,0x7F,0x42,0xA1,0xB0,0xF1,0xE3,0x7F,0x7F,0x00,0x00,0xFC,0xF8,0x03,0x0
 0,0xB0,0x0E,0xEB,0x00,0x00,0xAC,0x02,0x02,0x02,0x56,0x28,0x14,0x0A,0x21,0x08,0x18,0x18,0x18,0x82,0x82,0x02,0x08,0x7F,0x7F,0x7F,0x82,0xC0,0xC0,0xC0,0x24,0x04,0x40,0x40,0xC0,0x20,0xA0,0x50,0x28,0xD1,0xA3,0x07,0x20,0xF8,0xF1,0x03,0xE9,0xA1,0x50,0x88,0xFF,0xBF,0xC0,0xC0,0x40,0x50,0x98,0xBF,0xBF,0xBF,0xBF,0x3F,0xA1,0x60,0x1D,0x00,0x80,0x00,0x58,0x07,0x00,0x00,0x00,0xD6,0x01,0x1D,0x00,0x80,0x75,0x5C,0x07,0x00,0x60,0xDF,0x5F,0x30,0x18,0x84,0x42,0xE1,0xDF,0x02,0xFF,0xFE,0xFE,0x0A,0x85,0x04,0x04,0x0C,0x0C,0x0C,0x14,0x42,0x02,0x04,0x04,0x06,0x06,0x0A,0x85,0xFE,0xFD,0xFD,0x05,0xFD,0x09,0x85,0x42,0x3D,0x7A,0xFC,0xFD,0x05,0x83,0xC1,0x1E,0x42,0xFE,0xFD,0xFD,0xFD,0xFD,0x09,0x85,0x03,0x08,0x04,0xFE,0x00,0xFC,0xF8,0xF1,0x00,0x80,0x75,0x00,0x07,0x00,0x60,0x1D,0xDA,0x01,0x00,0x58,0x80,0x76,0x00,0x00,0x20,0xB0,0x1D,0x00,0x42,0xA1,0x90,0x40,0x7F,0x81,0x81,0x81,0x42,0xA1,0x7F,0x7F,0xFF,0xFE,0xFE,0x84,0x18,0x28,0x14,0x0A,0xF7,0xF7,0x17,0x18,0x4F,0x28,0x14,0xFA,0x20,0xF0,0xEF,0xEF,0xE8,0xD1,0xC3,0x
 40,0x1F,0x3F,0x7E,0xF4,0xC1,0x03,0x81,0xC0,0x02,0x7B,0xF4,0xE8,0x8F,0x1F,0x0C,0x04,0xFD,0xFF,0xFF,0xC7,0x1E,0x3D,0x7A,0x08,0x08,0x04,0xE6,0xFD,0xFF,0xF8,0xF1,0x03,0xA3,0x47,0x8F,0x80,0xB4,0x03,0x00,0xD0,0x00,0xED,0x00,0x00,0x30,0x78,0x3B,0x00,0x7D,0x42,0xA1,0x10,0xFD,0x09,0x7D,0x7D,0x00,0x00,0xFC,0xFD,0x3A,0x00,0x00,0xEB,0xB0,0x0E,0x00,0xC0,0x00,0xB4,0x03,0x00,0x00,0x00,0xED,0x00,0xD1,0x23,0x78,0x3B,0x00,0x00,0xF4,0xE8,0x3B,0x00,0x00,0xED,0xD0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0xD1,0xA3,0xC7,0x3A,0xDF,0xDF,0xDF,0xE8,0xE8,0xD1,0xA3,0xC7,0x81,0x3F,0x7E,0xFC,0xA3,0x47,0x00,0x02,0x7E,0xFC,0xE8,0xD1,0x00,0x02,0x81,0x3F,0xD1,0xA3,0x47,0x8F,0x02,0x7F,0xFC,0xF8,0x50,0x08,0x02,0x04,0xBE,0xBE,0x3E,0xA1,0xFC,0xFB,0xFB,0x93,0x08,0x30,0x10,0x08,0xC0,0x40,0xA1,0x50,0x40,0x40,0xC0,0xC0,0x0A,0x0A,0x0A,0x42,0x02,0x06,0x06,0x06,0xD7,0x07,0x01,0x02,0x60,0x30,0xD8,0xD7,0xC0,0xBF,0xBF,0xBF,0x47,0x8F,0x00,0x81,0xF4,0xE8,0xD1,0xA3,0xDF,0xDF,0xDF,0x7A,0xEC,0xD1,0xA3,0xC7,0x20,0
 x60,0x30,0x18,0x0A,0x85,0x28,0x20,0x0C,0x0C,0x0C,0x14,0x82,0x05,0x04,0x04,0x7D,0x7D,0x82,0x82,0xF1,0xE3,0x07,0x7D,0x3F,0x7E,0xFC,0xF8,0xF4,0x00,0x02,0x81,0x8F,0x1F,0x3D,0x7A,0x40,0x20,0xF0,0xC7,0xE8,0xD1,0xA3,0x47,0x81,0x3F,0x7E,0xFC,0x1E,0x3D,0x02,0x02,0xF1,0xE3,0x47,0x8F,0x20,0x10,0x08,0xFC,0x1F,0x3D,0x7A,0xF4,0x20,0xF0,0xC7,0x8F,0xF4,0xE8,0xC1,0x40,0x8F,0x1E,0x3D,0x7A,0xFC,0xFB,0xFB,0x6B,0xF4,0x20,0x10,0x08,0x8F,0x1F,0x3D,0x7A,0x40,0x20,0xF0,0xC7,0x3D,0x7A,0xF4,0xE0,0x07,0x06,0x02,0x81,0x08,0xFC,0xF1,0xE3,0xFC,0xDF,0x3F,0x10,0x1E,0x3D,0x7A,0xD4,0x79,0x03,0x81,0xC0,0xFC,0x00,0x02,0x81,0x02,0x81,0x3F,0x7E,0x7A,0xF4,0x08,0x00,0xC7,0x8F,0x1F,0x3D,0x04,0x40,0x20,0xF0,0x50,0x28,0x14,0x02,0xEF,0x2F,0x30,0x30,0x3D,0x80,0xE0,0xEF,0xE3,0x47,0x8F,0x1E,0x7A,0xF4,0xF8,0xF1,0xC7,0x8F,0x1F,0x3D,0x08,0x40,0x20,0xF0,0x1F,0x3D,0x7A,0xF4,0xD1,0xE3,0xC7,0x8F,0x18,0x0C,0xF6,0xE8,0xE4,0xEF,0xEF,0x2F,0xFB,0x13,0x0A,0x85,0x50,0x28,0xFC,0xFB,0x60,0x60,0x60,0xA0,0x7A,0x08,0x20,0x20,0xC7,0x8F,0x1E,
 0x3D,0x20,0x10,0xF8,0xE3,0x0A,0x85,0x42,0x08,0xFD,0x05,0x06,0x06,0xF4,0x40,0xFC,0xFD,0x8F,0x1F,0x3D,0x7A,0x40,0x20,0xF0,0xC7,0x1E,0x3D,0x7A,0xD0,0xF8,0xE3,0xC7,0x8F,0xF5,0x41,0x20,0x10,0x3F,0x7E,0xF4,0xF5,0x01,0x81,0xC0,0x1F,0x8F,0xBE,0xBE,0x3E,0x10,0xF8,0xE3,0xC7,0xF4,0xE8,0x21,0x20,0x17,0x0C,0x06,0x7B,0x3D,0xF6,0xF7,0xF7,0xE3,0x47,0x8F,0x1E,0x10,0x08,0xFC,0xF1,0x1E,0x3D,0x7A,0x20,0xF8,0xE3,0xC7,0x8F,0x28,0x4C,0x20,0x10,0xDF,0xDF,0x9F,0x50,0x3D,0x80,0x40,0xE0,0xE3,0x47,0x8F,0x1E,0x10,0x08,0xFC,0xF1,0x3D,0x7A,0xF4,0x08,0xF0,0xC7,0x8F,0x1F,0xA3,0x47,0x40,0x20,0x7E,0xFC,0xE8,0xD1,0x02,0x02,0x81,0x3F,0x47,0x8F,0x1E,0x3D,0x08,0xFC,0xF1,0xE3,0x7A,0xF4,0x28,0x10,0x0B,0x06,0x83,0x3D,0x03,0xFF,0xFB,0xFB,0x7E,0xF4,0xE8,0xD1,0x81,0xC0,0x1F,0x3F,0xE8,0xD1,0x03,0x03,0x10,0x08,0x04,0xF6,0xE0,0x8F,0x1F,0x3F,0xFA,0xFF,0x81,0x40,0x3D,0x7A,0xF4,0x30,0xF3,0x06,0x02,0x81,0xF8,0x01,0x04,0x02,0x04,0x02,0x7F,0xFC,0xF4,0xE8,0x11,0x00,0x8F,0x1F,0x3F,0x7A,0x08,0x80,0x40,0xE0,0x8F,0x1E,0x3D,0x7A,0x10
 ,0xF8,0xE3,0xC7,0x0A,0x85,0x00,0x20,0x00,0x04,0x04,0x14,0x1E,0x3F,0x7E,0xFC,0xD1,0xA3,0x47,0x8F,0x30,0x28,0xF4,0xE8,0x40,0x40,0xC0,0x60,0xD1,0xA3,0x47,0x0F,0x02,0x7F,0xFC,0xF8,0x0A,0x41,0x00,0x04,0xF7,0xF7,0x27,0x14,0x0F,0x20,0x10,0xF8,0xF8,0xD1,0xA3,0x47,0x1E,0x3D,0x7E,0xFC,0xF1,0xE3,0x47,0x8F,0x04,0x10,0x08,0xFC,0x47,0x8F,0x1E,0x3D,0x08,0xFC,0xF1,0xE3,0x3D,0x7A,0x04,0x10,0xE3,0xC7,0x8F,0x1E,0x04,0x20,0x10,0xF8,0x20,0xA0,0x50,0x28,0xF1,0xE3,0x07,0x20,0x04,0x10,0x08,0xFC,0xFE,0x84,0x42,0x21,0x04,0x02,0xFF,0xFE,0xA1,0x50,0x88,0x09,0xC0,0xC0,0xC0,0x40,0x82,0x40,0x40,0x40,0x81,0x81,0x82,0x82,0x82,0x82,0x82,0x81,0x81,0x7F,0x7F,0x7F,0x7D,0x7D,0x01,0x02,0xC7,0x8F,0x1F,0x7D,0x43,0x40,0x20,0xF0,0x7E,0xF4,0xE8,0xD1,0x81,0xC0,0x1F,0x3F,0x84,0x42,0x21,0x01,0x3D,0xFE,0xFE,0xFE,0xE3,0x47,0x8F,0x1E,0x10,0x08,0xFC,0xF1,0x28,0x14,0x0A,0x29,0x08,0x18,0x18,0x18,0x85,0x42,0x0A,0x08,0xFE,0xFD,0xFD,0x09,0xF1,0x03,0x08,0x04,0x28,0x14,0xFE,0xF8,0xE3,0xEF,0xEF,0x4F,0x7A,0xF4,0xE8,0xD1,0x30,0xD8,0x1
 E,0x3D,0x40,0x40,0xC0,0x60,0x7A,0xF4,0xE8,0x51,0xE0,0x8F,0x1F,0x3F,0xA3,0x07,0x81,0x40,0x7E,0xFC,0xE8,0xD1,0x04,0x02,0x81,0x3F,0xFD,0x09,0x85,0x42,0x3D,0x7A,0xFC,0xFD,0xE3,0xC7,0x8F,0x1E,0x48,0x20,0x10,0xF8,0xBF,0x3F,0xA1,0x50,0x03,0x81,0xC0,0xBF,0xD1,0xA3,0x47,0x0F,0x02,0x7F,0xFC,0xF8,0xA3,0x07,0x0F,0x04,0x10,0x08,0xEC,0xD1,0x1F,0x3F,0x7E,0x30,0xFF,0x03,0x81,0xC0,0x3D,0x7A,0x08,0xFD,0x02,0x81,0xC0,0x1E,0x02,0x81,0x60,0xB3,0x3F,0x7E,0xFC,0x00,0x11,0x00,0x02,0x81,0x3F,0x7A,0xF4,0xE8,0x40,0xE0,0x8F,0x1F,0x28,0x14,0x0E,0x80,0xB0,0xAF,0xAF,0x4F,0x7D,0x7D,0xC1,0x60,0xC7,0x8F,0x1F,0x7D,0xF6,0xE8,0xD1,0xE3,0xEF,0x2F,0x18,0x0C,0x85,0x42,0xE2,0xEF,0xF4,0xF5,0xF5,0x09,0xC0,0x60,0x30,0x18,0x14,0x0A,0x40,0x40,0x30,0x30,0x50,0x28,0x02,0x10,0x10,0x30,0x40,0xA1,0x50,0x08,0x47,0x0F,0x40,0x40,0x8F,0x1F,0xD0,0xA3,0x40,0x20,0xF0,0xC7,0xF0,0xC7,0x8F,0x1F,0x7D,0x7D,0x42,0xA1,0x0B,0x06,0x83,0x7D,0xFC,0xE8,0xEB,0xEB,0x02,0x81,0x3F,0x7E,0x0A,0x85,0x42,0x00,0x7A,0x00,0x02,0x02,0xFC,0x80,0x1E,0x3D,0x
 02,0x81,0x3F,0x7E,0xD1,0xA3,0x87,0x04,0x3F,0x7E,0xFC,0xE8,0x10,0x03,0x02,0x81,0x81,0x81,0x42,0xA1,0x80,0x80,0x80,0x81,0xF0,0xC7,0x8F,0x1F,0x7F,0x7F,0x42,0xA1,0x00,0x02,0x81,0x7F,0x1F,0x3D,0x7A,0xF4,0x20,0xF0,0xC7,0x8F,0x42,0xA1,0x70,0x40,0x30,0x7D,0x7D,0x7D,0x80,0x80,0xC1,0x60,0x47,0x8F,0x1E,0x80,0xFE,0xF8,0xF1,0xA3,0x3D,0x12,0x08,0x04,0xE3,0x47,0x8F,0x1E,0x10,0x08,0xFC,0xF1,0x09,0x0A,0x0A,0x2A,0x83,0xF5,0xF5,0xF5,0x04,0x04,0x0C,0x06,0x3D,0x7A,0xF4,0x00,0xFB,0x0B,0x06,0x83,0x50,0x08,0xFE,0xFB,0x40,0x40,0x40,0xA1,0xD0,0xA3,0x47,0x0F,0xC0,0x1F,0x3F,0x7E,0x3F,0x7E,0x00,0x81,0x09,0x85,0xC2,0x1F,0x83,0xF5,0xF5,0xF5,0x04,0x04,0x0C,0x06,0x3F,0x7E,0xFC,0x00,0xEB,0x13,0x0A,0x85,0x0C,0x06,0xEB,0xEB,0x0C,0x08,0x08,0x18,0xA3,0x47,0x8F,0x1E,0x04,0xFE,0xF8,0xF1,0x8F,0x1E,0x1C,0x08,0x40,0x20,0xB0,0x47,0x3F,0x7E,0xFC,0xC0,0xFF,0x07,0x02,0x81,0xF4,0xE8,0x41,0xF4,0x0D,0x04,0x02,0x7B,0x03,0x08,0x04,0xE6,0x04,0xFE,0xF8,0xF1,0xD1,0x23,0x00,0x08,0x3D,0x7A,0xF4,0xE8,0x3F,0x00,0x81,0x1E,0x40,0xE0,0
 x8F,0x1F,0x7A,0xF4,0x30,0x80,0xC7,0x8F,0x1F,0x3D,0x74,0x40,0x20,0xF0,0xB0,0xAF,0xAF,0x0F,0x80,0x80,0xC1,0x60,0x8F,0x1E,0xD1,0x80,0xF8,0xF1,0xA3,0x47,0x11,0x08,0x04,0xFE,0x27,0x14,0x0A,0x81,0x10,0xD8,0xD7,0xD7,0xE3,0xC7,0x0F,0x20,0x18,0x20,0x10,0xF8,0xC0,0x1E,0x3D,0x7A,0xE3,0x07,0x01,0x81,0x10,0x08,0xFC,0xF1,0xA3,0x87,0xD9,0x3F,0x10,0x08,0xEC,0xD1,0x20,0x10,0x98,0x37,0xF8,0xE3,0xC7,0x0F,0x0F,0x06,0x20,0x10,0xF8,0xD1,0xA3,0x47,0x04,0x02,0x7F,0xFC,0x7A,0xF4,0x88,0x08,0xC7,0x8F,0x1F,0x3D,0x42,0x40,0x20,0xF0,0x60,0x8F,0x1E,0x3D,0x7E,0x10,0x80,0x40,0x81,0xC0,0x1F,0x3F,0x8F,0xA2,0x63,0x03,0x10,0xD8,0xA3,0x47,0x20,0x30,0x6F,0x20,0xC7,0x8F,0x1F,0x40,0xDC,0x40,0x20,0xF0,0xF6,0xE8,0xD1,0x43,0xCC,0x15,0x08,0x04,0xE3,0x07,0x10,0x08,0x10,0x08,0xFC,0xF1,0x3D,0x7A,0x88,0x31,0x02,0x81,0xC0,0x1E,0x00,0x81,0xC0,0x1C,0xC0,0x1F,0x3F,0x7E,0x0F,0x71,0x02,0x81,0x10,0xD8,0xA3,0x47,0x10,0x98,0x43,0x20,0xE3,0xC7,0x0F,0x20,0x4E,0x20,0x10,0xF8,0x7B,0xF4,0xE8,0x21,0x73,0x08,0x04,0x02,0xF8,0x01,0x04,0x02,
 0x04,0x02,0x7F,0xFC,0x1E,0x3D,0xC4,0x09,0x81,0x40,0x60,0x8F,0x80,0x40,0x60,0x0E,0xE0,0x8F,0x1F,0x3F,0x87,0x38,0x81,0x40,0x08,0xEC,0xD1,0xA3,0x08,0xCC,0x21,0x10,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0xFC,0x3D,0x7A,0xF4,0x10,0x39,0x04,0x02,0x81,0xFC,0x00,0x02,0x81,0x02,0x81,0x3F,0x7E,0x8F,0x1E,0xE2,0x04,0x40,0x20,0xB0,0x47,0x40,0x20,0x30,0x87,0xF0,0xC7,0x8F,0x1F,0x43,0x9C,0x40,0x20,0x04,0xF6,0xE8,0xD1,0x04,0xE6,0x10,0x08,0xF8,0xF1,0x03,0x08,0x13,0x08,0x04,0xFE,0x1E,0x3D,0x7A,0x88,0x1C,0x02,0x81,0xC0,0x7E,0x00,0x81,0xC0,0x81,0xC0,0x1F,0x3F,0x47,0x0F,0x71,0x02,0x20,0x10,0xD8,0xA3,0x20,0x10,0x98,0x43,0xF8,0xE3,0xC7,0x0F,0x21,0x4E,0x20,0x10,0x02,0x7B,0xF4,0xE8,0x02,0x73,0x08,0x04,0xFC,0xF8,0x01,0x04,0x09,0x04,0x02,0x7F,0x8F,0x1E,0x3D,0xC4,0x0E,0x81,0x40,0x60,0x3F,0x80,0x40,0x60,0x40,0xE0,0x8F,0x1F,0xA3,0x87,0x38,0x81,0x10,0x08,0xEC,0xD1,0x10,0x08,0xCC,0x21,0xFC,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0x81,0x3D,0x7A,0xF4,0x81,0x39,0x04,0x02,0x7E,0xFC,0x00,0x02,0x04,0x02,0x81,0x3F,0x47,0x8F
 ,0x1E,0xE2,0x87,0x40,0x20,0xB0,0x1F,0x40,0x20,0x30,0x20,0xF0,0xC7,0x8F,0xD1,0x43,0x9C,0x40,0x08,0x04,0xF6,0xE8,0x08,0x04,0xE6,0x10,0xFE,0xF8,0xF1,0x03,0x88,0x13,0x08,0x04,0xC0,0x1E,0x3D,0x7A,0xC0,0x1C,0x02,0x81,0x3F,0x7E,0x00,0x81,0x02,0x81,0xC0,0x1F,0xA3,0x47,0x0F,0x71,0x43,0x20,0x10,0xD8,0x0F,0x20,0x10,0x98,0x10,0xF8,0xE3,0xC7,0xE8,0x21,0x4E,0x20,0x04,0x02,0x7B,0xF4,0x04,0x02,0x73,0x08,0x7F,0xFC,0xF8,0x01,0xC4,0x09,0x04,0x02,0x60,0x8F,0x1E,0x3D,0x60,0x0E,0x81,0x40,0x1F,0x3F,0x80,0x40,0x81,0x40,0xE0,0x8F,0xD1,0xA3,0x87,0x38,0x21,0x10,0x08,0xEC,0x07,0x10,0x08,0xCC,0x08,0xFC,0xF1,0xE3,0xF4,0x10,0x27,0x10,0x02,0x81,0x3D,0x7A,0x02,0x81,0x39,0x04,0x3F,0x7E,0xFC,0x00,0xE2,0x04,0x02,0x81,0xB0,0x47,0x8F,0x1E,0x30,0x87,0x40,0x20,0x8F,0x1F,0x40,0x20,0x40,0x20,0xF0,0xC7,0xE8,0xD1,0x43,0x9C,0x10,0x08,0x04,0xF6,0x03,0x08,0x04,0xE6,0x04,0xFE,0xF8,0xF1,0x7A,0x88,0x13,0x08,0x81,0xC0,0x1E,0x3D,0x81,0xC0,0x1C,0x02,0x1F,0x3F,0x7E,0x00,0x71,0x02,0x81,0xC0,0xD8,0xA3,0x47,0x0F,0x98,0x43,0x20,0x1
 0,0xC7,0x0F,0x20,0x10,0x20,0x10,0xF8,0xE3,0xF4,0xE8,0x21,0x4E,0x08,0x04,0x02,0x7B,0x01,0x04,0x02,0x73,0x02,0x7F,0xFC,0xF8,0x3D,0xC4,0x09,0x04,0x40,0x60,0x8F,0x1E,0x40,0x60,0x0E,0x81,0x8F,0x1F,0x3F,0x80,0x38,0x81,0x40,0xE0,0xEC,0xD1,0xA3,0x87,0xCC,0x21,0x10,0x08,0xE3,0x07,0x10,0x08,0x10,0x08,0xFC,0xF1,0x7A,0xF4,0x10,0x27,0x04,0x02,0x81,0x3D,0x00,0x02,0x81,0x39,0x81,0x3F,0x7E,0xFC,0x1E,0xE2,0x04,0x02,0x20,0xB0,0x47,0x8F,0x20,0x30,0x87,0x40,0xC7,0x8F,0x1F,0x40,0x9C,0x40,0x20,0xF0,0xF6,0xE8,0xD1,0x43,0xE6,0x10,0x08,0x04,0xF1,0x03,0x08,0x04,0x08,0x04,0xFE,0xF8,0x3D,0x7A,0x88,0x13,0x02,0x81,0xC0,0x1E,0x00,0x81,0xC0,0x1C,0xC0,0x1F,0x3F,0x7E,0x0F,0x71,0x02,0x81,0x10,0xD8,0xA3,0x47,0x10,0x98,0x43,0x20,0xE3,0xC7,0x0F,0x20,0x4E,0x20,0x10,0xF8,0x7B,0xF4,0xE8,0x21,0x73,0x08,0x04,0x02,0xF8,0x01,0x04,0x02,0x04,0x02,0x7F,0xFC,0x1E,0x3D,0xC4,0x09,0x81,0x40,0x60,0x8F,0x80,0x40,0x60,0x0E,0xE0,0x8F,0x1F,0x3F,0x87,0x38,0x81,0x40,0x08,0xEC,0xD1,0xA3,0x08,0xCC,0x21,0x10,0xF1,0xE3,0x07,0x10,0x27,0x
 10,0x08,0xFC,0x3D,0x7A,0xF4,0x10,0x39,0x04,0x02,0x81,0xFC,0x00,0x02,0x81,0x02,0x81,0x3F,0x7E,0x8F,0x1E,0xE2,0x04,0x40,0x20,0xB0,0x47,0x40,0x20,0x30,0x87,0xF0,0xC7,0x8F,0x1F,0x43,0x9C,0x40,0x20,0x04,0xF6,0xE8,0xD1,0x04,0xE6,0x10,0x08,0xF8,0xF1,0x03,0x08,0x13,0x08,0x04,0xFE,0x1E,0x3D,0x7A,0x88,0x1C,0x02,0x81,0xC0,0x7E,0x00,0x81,0xC0,0x81,0xC0,0x1F,0x3F,0x47,0x0F,0x71,0x02,0x20,0x10,0xD8,0xA3,0x20,0x10,0x98,0x43,0xF8,0xE3,0xC7,0x0F,0x21,0x4E,0x20,0x10,0x02,0x7B,0xF4,0xE8,0x02,0x73,0x08,0x04,0xFC,0xF8,0x01,0x04,0x09,0x04,0x02,0x7F,0x8F,0x1E,0x3D,0xC4,0x0E,0x81,0x40,0x60,0x3F,0x80,0x40,0x60,0x40,0xE0,0x8F,0x1F,0xA3,0x87,0x38,0x81,0x10,0x08,0xEC,0xD1,0x10,0x08,0xCC,0x21,0xFC,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0x81,0x3D,0x7A,0xF4,0x81,0x39,0x04,0x02,0x7E,0xFC,0x00,0x02,0x04,0x02,0x81,0x3F,0x47,0x8F,0x1E,0xE2,0x87,0x40,0x20,0xB0,0x1F,0x40,0x20,0x30,0x20,0xF0,0xC7,0x8F,0xD1,0x43,0x9C,0x40,0x08,0x04,0xF6,0xE8,0x08,0x04,0xE6,0x10,0xFE,0xF8,0xF1,0x03,0x88,0x13,0x08,0x04,0xC0,0x1E,0x3D,0
 x7A,0xC0,0x1C,0x02,0x81,0x3F,0x7E,0x00,0x81,0x02,0x81,0xC0,0x1F,0xA3,0x47,0x0F,0x71,0x43,0x20,0x10,0xD8,0x07,0x08,0x08,0x98,0x10,0xF8,0xF7,0xF7,0xD7,0x27,0x4E,0x20,0x20,0x10,0xD8,0xD7,0x08,0x08,0x98,0x43,0xF8,0xF7,0xF7,0x07,0x27,0x4E,0x20,0x10,0x10,0xD8,0xD7,0xD7,0x08,0x98,0x43,0x20,0xF7,0xF7,0x07,0x08,0x4E,0x20,0x10,0xF8,0xD8,0xD7,0xD7,0x27,0x98,0x43,0x20,0x10,0xF7,0x07,0x08,0x08,0x20,0x10,0xF8,0xF7,0xD7,0xD7,0x27,0x4E,0x43,0x20,0x10,0xD8,0x07,0x08,0x08,0x98,0x10,0xF8,0xF7,0xF7,0xD7,0x27,0x4E,0x20,0x20,0x10,0xD8,0xD7,0x08,0x08,0x98,0x43,0xF8,0xF7,0xF7,0x07,0x27,0x4E,0x20,0x10,0x10,0xD8,0xD7,0xD7,0x08,0x98,0x43,0x20,0xF7,0xF7,0x07,0x08,0x4E,0x20,0x10,0xF8,0xD8,0xD7,0xD7,0x27,0x98,0x43,0x20,0x10,0xF7,0x07,0x08,0x08,0x20,0x10,0xF8,0xF7,0xD7,0xD7,0x27,0x4E,0x43,0x20,0x10,0xD8,0x01,0x08,0x08,0x98,0x02,0x7F,0xFC,0xF8,0x3D,0xC4,0x09,0x04,0x40,0x60,0x8F,0x1E,0x40,0x60,0x0E,0x81,0x8F,0x1F,0x3F,0x80,0x38,0x81,0x40,0xE0,0xEC,0xD1,0xA3,0x87,0xCC,0x21,0x10,0x08,0xE3,0x07,0x10,0x08,0x10,
 0x08,0xFC,0xF1,0x7A,0xF4,0x10,0x27,0x04,0x02,0x81,0x3D,0x00,0x02,0x81,0x39,0x81,0x3F,0x7E,0xFC,0x1E,0xE2,0x04,0x02,0x20,0xB0,0x47,0x8F,0x20,0x30,0x87,0x40,0xC7,0x8F,0x1F,0x40,0x9C,0x40,0x20,0xF0,0xF6,0xE8,0xD1,0x43,0xE6,0x10,0x08,0x04,0xF1,0x03,0x08,0x04,0x08,0x04,0xFE,0xF8,0x3D,0x7A,0x88,0x13,0x02,0x81,0xC0,0x1E,0x00,0x81,0xC0,0x1C,0xC0,0x1F,0x3F,0x7E,0x0F,0x71,0x02,0x81,0x10,0xD8,0xA3,0x47,0x10,0x98,0x43,0x20,0xE3,0xC7,0x0F,0x20,0x4E,0x20,0x10,0xF8,0x7B,0xF4,0xE8,0x21,0x73,0x08,0x04,0x02,0xF8,0x01,0x04,0x02,0x04,0x02,0x7F,0xFC,0x1E,0x3D,0xC4,0x09,0x81,0x40,0x60,0x8F,0x80,0x40,0x60,0x0E,0xE0,0x8F,0x1F,0x3F,0x87,0x38,0x81,0x40,0x08,0xEC,0xD1,0xA3,0x08,0xCC,0x21,0x10,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0xFC,0x3D,0x7A,0xF4,0x10,0x39,0x04,0x02,0x81,0xFC,0x00,0x02,0x81,0x02,0x81,0x3F,0x7E,0x8F,0x1E,0xE2,0x04,0x40,0x20,0xB0,0x47,0x40,0x20,0x30,0x87,0xF0,0xC7,0x8F,0x1F,0x43,0x9C,0x40,0x20,0x04,0xF6,0xE8,0xD1,0x04,0xE6,0x10,0x08,0xF8,0xF1,0x03,0x08,0x13,0x08,0x04,0xFE,0x1E,0x3D,0x7A
 ,0x88,0x1C,0x02,0x81,0xC0,0x7E,0x00,0x81,0xC0,0x81,0xC0,0x1F,0x3F,0x47,0x0F,0x71,0x02,0x20,0x10,0xD8,0xA3,0x20,0x10,0x98,0x43,0xF8,0xE3,0xC7,0x0F,0x21,0x4E,0x20,0x10,0x02,0x7B,0xF4,0xE8,0x02,0x73,0x08,0x04,0xFC,0xF8,0x01,0x04,0x09,0x04,0x02,0x7F,0x8F,0x1E,0x3D,0xC4,0x0E,0x81,0x40,0x60,0x3F,0x80,0x40,0x60,0x40,0xE0,0x8F,0x1F,0xA3,0x87,0x38,0x81,0x10,0x08,0xEC,0xD1,0x10,0x08,0xCC,0x21,0xFC,0xF1,0xE3,0x07,0x10,0x27,0x10,0x08,0x81,0x3D,0x7A,0xF4,0x81,0x39,0x04,0x02,0x7E,0xFC,0x00,0x02,0x04,0x02,0x81,0x3F,0x47,0x8F,0x1E,0xE2,0x87,0x40,0x20,0xB0,0x1F,0x40,0x20,0x30,0x20,0xF0,0xC7,0x8F,0xD1,0x43,0x9C,0x40,0x08,0x04,0xF6,0xE8,0x08,0x04,0xE6,0x10,0xFE,0xF8,0xF1,0x03,0x88,0x13,0x08,0x04,0xC0,0x1E,0x3D,0x7A,0xC0,0x1C,0x02,0x81,0x3F,0x7E,0x00,0x81,0x02,0x81,0xC0,0x1F,0xA3,0x47,0x0F,0x71,0x43,0x20,0x10,0xD8,0x0F,0x20,0x10,0x98,0x10,0xF8,0xE3,0xC7,0xE8,0x21,0x4E,0x20,0x04,0x02,0x7B,0xF4,0x04,0x02,0x73,0x08,0x7F,0xFC,0xF8,0x01,0xC4,0x09,0x04,0x02,0x60,0x8F,0x1E,0x3D,0x60,0x0E,0x81,0x40,0x1
 F,0x3F,0x80,0x40,0x81,0x40,0xE0,0x8F,0xD1,0xA3,0x87,0x38,0x21,0x10,0x08,0xEC,0x07,0x10,0x08,0xCC,0x08,0xFC,0xF1,0xE3,0xF4,0x10,0x27,0x10,0x02,0x81,0x3D,0x7A,0x02,0x81,0x39,0x04,0x3F,0x7E,0xFC,0x00,0xE2,0x04,0x02,0x81,0xB0,0x47,0x8F,0x1E,0x30,0x87,0x40,0x20,0x8F,0x1F,0x40,0x20,0x40,0x20,0xF0,0xC7,0xE8,0xD1,0x43,0x9C,0x10,0x08,0x04,0xF6,0x03,0x08,0x04,0xE6,0x04,0xFE,0xF8,0xF1,0x7A,0x88,0x13,0x08,0x81,0xC0,0x1E,0x3D,0x81,0xC0,0x1C,0x02,0x1F,0x3F,0x7E,0x00,0x71,0x02,0x81,0xC0,0xD8,0xA3,0x47,0x0F,0x98,0x43,0x20,0x10,0xC7,0x0F,0x20,0x10,0x20,0x10,0xF8,0xE3,0xF4,0xE8,0x21,0x4E,0x08,0x04,0x02,0x7B,0x01,0x04,0x02,0x73,0x02,0x7F,0xFC,0xF8,0x3D,0xC4,0x09,0x04,0x40,0x60,0x8F,0x1E,0x40,0x60,0x0E,0x81,0x8F,0x1F,0x3F,0x80,0x38,0x81,0x40,0xE0,0xEC,0xD1,0xA3,0x87,0xCC,0x21,0x10,0x08,0xE3,0x07,0x10,0x08,0x10,0x08,0xFC,0xF1,0x7A,0xF4,0x10,0x27,0x04,0x02,0x81,0x3D,0x00,0x02,0x81,0x39,0x81,0x3F,0x7E,0xFC,0x1E,0xE2,0x04,0x02,0x20,0xB0,0x47,0x8F,0x20,0x30,0x87,0x40,0xC7,0x8F,0x1F,0x40,0x9C,0x40,0x
 20,0xF0,0xF6,0xE8,0xD1,0x43,0xE6,0x10,0x08,0x04,0xF1,0x03,0x08,0x04,0x08,0x04,0xFE,0xF8,0x3D,0x7A,0x88,0x13,0x02,0x81,0xC0,0x1E,0x00,0x81,0xC0,0x1C,0xC0,0x1F,0x3F,0x7E,0x0F,0x71,0x02,0x81,0x10,0xD8,0xA3,0x47,0x10,0x98,0x43,0x20,0xE3,0xC7,0x0F,0x20,0x4E,0x20,0x10,0xF8,0x7B,0xF4,0xE8,0x21,0x73,0x08,0x04,0x02,0xF8,0x01,0x04,0x02,0x04,0x02,0x7F,0xFC,0x1E,0x3D,0xC4,0x09,0x81,0x40,0x60,0x8F,0x80,0x40,0x60,0x0E,0xE0,0x8F,0x1F,0x3F,0x87,0x38,0x81,0x40,0x08,0xEC,0xD1,0xA3,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0
 x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,
 0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04
 ,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x2
 1,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0x
 FC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0
 xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,
 0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13
 ,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xCC,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x10,0x08,0xEC,0xEB,0x04,0x04,0xC
 C,0x21,0xFC,0xFB,0xFB,0x03,0x13,0x27,0x10,0x08,0x08,0xEC,0xEB,0xEB,0x04,0xCC,0x21,0x10,0xFB,0xFB,0x03,0x04,0x27,0x10,0x08,0xFC,0xEC,0xEB,0xEB,0x13,0xCC,0x21,0x10,0x08,0xFB,0x03,0x04,0x04,0x10,0x08,0xFC,0xFB,0xEB,0xEB,0x13,0x27,0x21,0x10,0x08,0xEC,0x03,0x04,0x04,0xCC,0x08,0xFC,0xFB,0xFB,0xEB,0x13,0x27,0x10,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0x
 F8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0
 xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,
 0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10
 ,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x13,0xE7,0xFF,0xFE,0x87,0xEF,0xEB,0xEB,0x0F,0x10,0x10,0x30,0x71,0xFE,0xEF,0xEF,0xF8,0xBE,0xBE,0x3E,0x00,0x01,0x01,0x73,0xE7,0xFF,0xFE,0xFE,0xEF,0xEB,0xEB,0x13,0x10,0x10,0x30,0x87,0xFE,0xEF,0xEF,0x0F,0xBE,0xBE,0x3E,0x71,0x01,0x01,0x73,0xF8,0xFF,0xFE,0xFE,0x00,0xEB,0xEB,0x13,0xE7,0x10,0x30,0x87,0xEF,0xEF,0xEF,0x0F,0x10,0xBE,0x3E,0x71,0xFE,0x01,0x73,0xF8,0xBE,0xFE,0xFE,0x00,0x01,0xEB,0x13,0xE7,0xFF,0x30,0x87,0xEF,0xEB,0xEF,0x0F,0x10,0x10,0x3E,0x71,0xFE,0xEF,0x73,0xF8,0xBE,0xBE,0xFE,0x00,0x01,0x01,0x50,0xE4,0xFF,0xFE,0x09,0x0A,0x0A,0x0
 2,0x04,0xF4,0xF5,0xF5,0xFC,0xFD,0xFD,0x01,0xFA,0xFA,0xFA,0x92,0xFB,0xFB,0x03,0x04,0x7D,0x7D,0xAF,0xFF,0x01,0x33,0xFE,0x7D,0xFE,0xFE,0x00,0x01,0x00,0x60,0xF4,0xFF,0x00,0xD6,0x01,0x00,0x00,0x80,0x75,0x00,0x07,0x00,0x60,0x1D,0xD6,0x01,0x00,0x58,0xF0,0x75,0x00,0x00,0x17,0x18,0x18,0x08,0x10,0xFF,0xF7,0xF7,0xFB,0x7D,0x7D,0x7D,0x03,0x04,0x04,0xCC,0xD1,0xFF,0xFB,0xFB,0x07,0x00,0x00,0xA0,0xD6,0x01,0x00,0x58,0xAB,0x75,0x00,0x00,0xA4,0x00,0x01,0x01,0xF7,0xFB,0xFA,0xFA,0x07,0x08,0x08,0x98,0xA3,0xFF,0xF7,0xF7,0xB0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0x0E,0x00,0x40,0x3B,0xB7,0x03,0x00,0xD0,0xBE,0xBE,0x3E,0xA9,0x01,0x01,0x73,0xFC,0xFF,0xFE,0xFE,0x00,0x00,0x00,0x34,0xF0,0x3A,0x00,0x00,0xEB,0xB0,0x0E,0x00,0xC0,0x00,0xB4,0x03,0x00,0x00,0x00,0xED,0x00,0xF5,0x49,0x79,0x3B,0x30,0xD7,0xF7,0xF5,0xEF,0x0F,0x10,0x10,0x40,0x03,0xFF,0xEF,0x00,0xB0,0x0E,0x00,0x00,0x00,0xAC,0x03,0x3B,0x00,0x00,0xEB,0xD0,0x0E,0x00,0x40,0x94,0xB7,0x03,0x00,0x7D,0x5F,0x5F,0x9F,0x00,0x01,0x01,0x73,0xF0,0x
 FF,0xFE,0xFE,0xEB,0x00,0x00,0x34,0xC0,0x3A,0x00,0x00,0x00,0xB0,0x0E,0x00,0x00,0x00,0xB4,0x03,0x3B,0x00,0x00,0xED,0xF5,0xF5,0x49,0x79,0x10,0x30,0xD7,0xF7,0xEF,0xEF,0x0F,0x10,0x00,0x40,0x03,0xFF,0x03,0x00,0xB0,0x0E,0xEB,0x00,0x00,0xAC,0x40,0x3B,0x00,0x00,0x00,0xD0,0x0E,0x00,0x9F,0x94,0xB7,0x03,0x73,0x7D,0x5F,0x5F,0xFE,0x00,0x01,0x01,0x34,0xF0,0xFF,0xFE,0x00,0xEB,0x00,0x00,0x00,0xC0,0x3A,0x00,0x03,0x00,0xB0,0x0E,0xED,0x00,0x00,0xB4,0x79,0x3B,0x00,0x00,0xF7,0xF5,0xF5,0x49,0x10,0x10,0x30,0xD7,0xFF,0xEF,0xEF,0x0F,0x0E,0x00,0x40,0x03,0xAC,0x03,0x00,0xB0,0x00,0xEB,0x00,0x00,0x00,0x40,0x3B,0x00,0x03,0x00,0xD0,0x0E,0x5F,0x9F,0x94,0xB7,0x01,0x73,0x7D,0x5F,0xFE,0xFE,0x00,0x01,0x00,0x34,0xF0,0xFF,0x00,0x00,0xEB,0x00,0x0E,0x00,0xC0,0x3A,0xB4,0x03,0x00,0xB0,0x00,0xED,0x00,0x00,0x49,0x79,0x3B,0x00,0xD7,0xF7,0xF5,0xF5,0x0F,0x10,0x10,0x30,0x03,0xFF,0xEF,0xEF,0xB0,0x0E,0x00,0x40,0x00,0xAC,0x03,0x00,0x00,0x00,0xEB,0x00,0x0E,0x00,0x40,0x3B,0xB7,0x03,0x00,0xD0,0x5F,0x5F,0x9F,0x94,0x01,0x01,0x73,0
 x7D,0xFF,0xFE,0xFE,0x00,0x49,0x00,0x30,0xF0,0x7D,0x80,0x80,0x80,0x00,0x00,0x7D,0x7D,0x00,0x40,0x3B,0x00,0x03,0x00,0xD0,0x0E,0xBE,0xBE,0xA8,0xB7,0x02,0xE6,0xFD,0xBE,0xFD,0xFD,0x01,0x02,0x08,0xA0,0xE8,0xFF,0xD7,0x27,0x28,0x28,0x03,0x01,0xDE,0xD7,0xFA,0xFA,0x02,0x03,0x75,0x00,0x00,0xFA,0x60,0x1D,0x00,0x80,0x10,0x58,0x07,0x00,0xFE,0xEF,0xEF,0x0F,0xF7,0xF5,0xF5,0xBD,0x04,0x04,0xCC,0xF8,0xFF,0xFB,0xFB,0x03,0xAF,0xAF,0x4F,0xDC,0x80,0x80,0xB9,0xBE,0x7F,0x7F,0x7F,0x80,0xFA,0xFA,0xC4,0xF8,0x04,0xCC,0xE1,0xFB,0xFB,0xFB,0x03,0x04,0xAF,0x4F,0x9C,0xFF,0xC0,0x1C,0xBE,0xAF,0xBF,0x3F,0x40,0x40,0xFA,0xC4,0xF9,0xBF,0xCC,0xE1,0xFB,0xFA,0xFB,0x03,0x04,0x04,0x4F,0x9C,0xFF,0xFB,0x1C,0xBE,0xAF,0xAF,0x3F,0x40,0x40,0xC0,0xC4,0xF9,0xBF,0xBF,0xE1,0xFB,0xFA,0xFA,0x03,0x04,0x04,0xCC,0x9C,0xFF,0xFB,0xFB,0xBE,0xAF,0xAF,0x4F,0x40,0x40,0xC0,0x1C,0xF9,0xBF,0xBF,0x3F,0xFB,0xFA,0xFA,0xC4,0x04,0x04,0xCC,0xE1,0xFF,0xFB,0xFB,0x03,0xAF,0xAF,0x4F,0x9C,0x40,0xC0,0x1C,0xBE,0xBF,0xBF,0x3F,0x40,0xFA,0xFA,0xC4,0xF9,0x04,
 0xCC,0xE1,0xFB,0xEB,0xEB,0x03,0x04,0xD6,0x01,0x00,0xE8,0x80,0x75,0x00,0x00,0x1D,0x78,0x1D,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91
 ,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x8
 0,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x
 80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x08,0x08,0x08,0x08,0x09,0x08,0x08,0x08,0x80,0x80,0x80,0x1D,0x80,0x80,0x80,0x80,0xD8,0x91,0x80,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x80,0x80,0x1D,0x09,0x80,0x80,0x80,0x80,0x91,0x80,0x80,0x80,0x08,0x08,0x08,0xD8,0x08,0x08,0x08,0x08,0x80,0x1D,0x09,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x08,0xD8,0x91,0x08,0x08,0x08,0x08,0x1D,0x09,0x08,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0xD8,0x91,0x80,0x20,0x10,0x08,0x08,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0
 x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0x02,0x81,0x1D,0x40,0x20,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40,0x20,0x10,0x08,0x8E,0x04,0x02,0x81,0x04,0x02,0x81,0xC0,0x40,0x20,
 0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0x02,0x81,0x1D,0x40,0x20,0x10,0x08
 ,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40,0x20,0x10,0x08,0x8E,0x04,0x02,0x81,0x04,0x02,0x81,0xC0,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x4
 7,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0x02,0x81,0x1D,0x40,0x20,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40,0x20,0x10,0x08,0x8E,0x04,0x02,0x
 81,0x04,0x02,0x81,0xC0,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0
 x02,0x81,0x1D,0x40,0x20,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40,0x20,0x10,0x08,0x8E,0x04,0x02,0x81,0x04,0x02,0x81,0xC0,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,
 0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0x10,0x08,0x04,0x76,0x02,0x81,0x40,0x20,0x81,0xC0,0x8E,0x04,0x10,0x08,0x04,0x02,0xD8,0x91,0x40,0x20,0x81,0x40,0x20,0x10,0x12,0x08,0x04,0x02,0x08,0x04,0x02,0x3B,0x81,0x40,0x20,0x10,0x40,0x60,0x47,0x02,0x08,0x04,0x02,0x81,0xEC,0x48,0x20,0x10,0x40,0x20,0x10,0x08,0x09,0x04,0x02,0x81,0x04,0x02,0x81,0x1D,0x40,0x20,0x10,0x08,0x20,0xB0,0x23,0x81,0x04,0x02,0x81,0x40,0x76,0x24,0x10,0x08,0x20,0x10,0x08,0x04,0x04,0x02,0x81,0x40,0x02,0x81,0xC0,0x8E,0x20,0x10,0x08,0x04,0x10,0xD8,0x91,0x40,0x02,0x81,0x40,0x20,0x3B,0x12,0x08,0x04,0x10,0x08,0x04,0x02,0x02,0x81,0x40,0x20,0x81,0x40,0x60,0x47,0x10,0x08,0x04,0x02,0x08,0xEC,0x48,0x20,0x81,0x40,0x20,0x10,0x1D,0x09,0x04,0x02,0x08,0x04,0x02,0x81,0x81,0x40,0x20,0x10,0x40,0x20,0xB0,0x23,0x08,0x04,0x02,0x81,0x04,0x76,0x24,0x10,0x40
 ,0x20,0x10,0x08,0x8E,0x04,0x02,0x81,0x04,0x02,0x81,0xC0,0x40,0x20,0x10,0x08,0x20,0x10,0xD8,0x91,0x04,0x02,0x81,0x40,0x02,0x3B,0x12,0x08,0x20,0x10,0x08,0x04,0x47,0x02,0x81,0x40,0x02,0x81,0x40,0x60,0x20,0x10,0x08,0x04,0x10,0x08,0xEC,0x48,0x02,0x81,0x40,0x20,0x81,0x1D,0x09,0x04,0x10,0x08,0x04,0x02,0x23,0x81,0x40,0x20,0x81,0x40,0x20,0xB0,0x10,0x08,0x04,0x02,0x08,0x04,0x76,0x24,0x81,0x40,0x20,0x10,0xC0,0x8E,0x04,0x02,0x08,0x04,0x02,0x81,0x91,0x40,0x20,0x10,0x40,0x20,0x10,0xD8,0x08,0x04,0x02,0x81,0x04,0x02,0x3B,0x12,0x40,0x20,0x10,0x08,0x60,0x47,0x02,0x81,0x04,0x02,0x81,0x40,0x48,0x20,0x10,0x08,0x20,0x10,0x08,0xEC,0x04,0x02,0x81,0x40,0x02,0x81,0x1D,0x09,0x20,0x10,0x08,0x04,0xB0,0x23,0x81,0x40,0x02,0x81,0x40,0x20,0x24,0x10,0x08,0x04,0xBF,0x23,0xFF,0x77,0xC8,0xFF,0x1D,0xF9,0x7F,0x47,0xFE,0xEF,0x91,0xFF,0x3B,0xF2,0xFF,0x8E,0xFC,0xDF,0x23,0xFF,0x77,0xE4,0xFF,0x1D,0xF9,0xBF,0x47,0xFE,0xEF,0xC8,0xFF,0x3B,0xF2,0x7F,0x8E,0xFC,0xDF,0x91,0xFF,0x77,0xE4,0xFF,0x1D,0xF9,0xBF,0x23,0xFE,0xEF,0xC
 8,0xFF,0x3B,0xF2,0x7F,0x47,0xFC,0xDF,0x91,0xFF,0x77,0xE4,0xFF,0x8E,0xF9,0xBF,0x23,0xFF,0xEF,0xC8,0xFF,0x1D,0xF2,0x7F,0x47,0xFE,0xDF,0x91,0xFF,0x3B,0xE4,0xFF,0x8E,0xFC,0xBF,0x23,0xFF,0x77,0xC8,0xFF,0x1D,0xF9,0x7F,0x47,0xFE,0xEF,0x91,0xFF,0x3B,0xF2,0xFF,0x8E,0xFC,0xDF,0x23,0xFF,0x77,0xE4,0xFF,0x1D,0xF9,0xBF,0x47,0xFE,0xEF,0xC8,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00];
-
-var canvas=document.getElementById("myCanvas");
-var ctx=canvas.getContext("2d");
-ctx.fillStyle="red";
-ctx.fillRect(10,10,50,50);
-var imgData=ctx.getImageData(30,30,50,50);
-for (i=0; i<imgData.width*imgData.height*4;i+=4)
-{
-    // Do nothing with the colors red and green, set blue=255, and alpha=255:
-    imgData.data[i+1]=0;
-    imgData.data[i+2]=255;
-    imgData.data[i+3]=255;
-}
-ctx.putImageData(imgData,30,30);
-
-console.log(imgData);
-
-var ret = getQuic(ctx, membuf);
-console.log(ret);
-
-ctx.putImageData(ret.imgData,0,0);
-
-</script>
-
-Hi mom!
-</body>
-</html>
diff --git a/spicetype.js b/spicetype.js
index f7c9661..e006d74 100644
--- a/spicetype.js
+++ b/spicetype.js
@@ -236,14 +236,8 @@ SpiceImage.prototype =
 
         if (this.descriptor.type == SPICE_IMAGE_TYPE_QUIC)
         {
-            var tmparr = [];
-            var i;
-            this.quicr_length = dv.getUint32(at, true); at += 4;
-            var qdv = new Uint8Array(mb.slice(at));
-            for (i = 0; i < qdv.length; i++)
-                tmparr[i] = qdv[i];
-            this.quic = getQuic(tmparr);
-            at += qdv.length;
+            this.quic = new SpiceQuic;
+            at = this.quic.from_dv(dv, at, mb);
         }
         return at;
     },


More information about the Spice-commits mailing list