#ifdef __cplusplus
extern "C" {
#endif
/*
ANSI C code generated by 
Liberty Eiffel The GNU Eiffel Compiler, Eiffel tools and libraries
    release 2022.dev (preparing Glenn Curtiss)

Copyright (C), 2011-2022 - C.ADRIAN, P.REDAELLI, R.MACK and others, see AUTHORS file
    http://www.liberty-eiffel.org

Original SmartEiffel code:
Copyright (C), 1994-2002 - INRIA - LORIA - ESIAL UHP Nancy 1 - FRANCE
Copyright (C), 2003-2005 - INRIA - LORIA - IUT Charlemagne Nancy 2 - FRANCE
D.COLNET, P.RIBET, C.ADRIAN, V.CROIZIER, F.MERIZEN
    http://smarteiffel.loria.fr
C Compiler options used: -O2 -pipe
*/

#ifdef __cplusplus
}
#endif
#include "se.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
/*
  This file (SmartEiffel/sys/runtime/base.c) is included for _all_ modes of
  compilation (-boost, -no_check, ... -all_check).
*/

/*
  Byte swapping function
*/
void copy_swap_16(const uint16_t *src, uint16_t *dest, int count){
  while (count--) {
    *dest++ = (*src << 8) | (*src >> 8);
    src++;
  }
}


void se_check_malloc(const void*result, const char*format, ...) {
  if (result == NULL) {
    handle(SE_HANDLE_NO_MORE_MEMORY, NULL);
#ifdef SE_EXCEPTIONS
    internal_exception_handler(No_more_memory);
#elif !defined(SE_BOOST)
    error0("No more memory.", NULL);
#else
    va_list arg;
    va_start(arg, format);
    vfprintf(SE_ERR,format, arg);
    va_end(arg);
    exit(EXIT_FAILURE);
#endif
  }
}

/*
  The wrapper for `malloc' (generated C code is supposed to use
  only `se_malloc' instead of direct `malloc').
*/
void* se_malloc(size_t size) {
   return se_malloc_(size, malloc);
}

void* se_malloc_(size_t size, void*(*alloc)(size_t)) {
  void *result = malloc(size);
  se_check_malloc(result, "No more memory (malloc failed).\n");
  return result;
}

/*
  The wrapper for `calloc' (generated C code is supposed to use
  only `se_calloc' instead of direct `calloc').
*/
void* se_calloc(size_t nmemb, size_t size) {
   return se_calloc_(nmemb, size, calloc);
}

void* se_calloc_(size_t nmemb, size_t size, void*(*alloc)(size_t,size_t)) {
  void *result = calloc(nmemb,size);
  se_check_malloc(result, "No more memory (calloc failed: %lu x %lu).\n", nmemb, size);
  return result;
}

/*
  The wrapper for `realloc' (generated C code is supposed to use
  only `se_realloc' instead of direct `realloc').
*/
void* se_realloc(void* src, size_t size) {
  void *result = realloc(src, size);
  se_check_malloc(result, "No more memory (realloc failed).\n");
  return result;
}

/* ---------------------------------------------------------------------- */

void se_die (int code) {
  handle(SE_HANDLE_DIE_WITH_CODE, &code);
  exit(code);
}

/*
   Runtime hooks
 */

static se_runtime_handler_t** handlers = NULL;
int handlers_count=0;

void register_handler(se_runtime_handler_t*handler) {
  int new_count = handlers_count + 1;
  handlers = (se_runtime_handler_t**)se_realloc(handlers, (new_count) * sizeof(void*));
  handlers[handlers_count] = handler;
  handlers_count = new_count;
}

void _handle(se_handler_action_t action, void*data) {
  int i;
  for (i = 0; i < handlers_count; i++) {
    handlers[i](action, data);
    /* *** Check type of this array. Function pointer may have different size from data pointer. (PH 17/07/08) */
  }
}
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
#if basic_exec_system == basic_exec_system_posix
static char** envp(void) {
  static char* result[] = {"PATH=/sbin:/usr/sbin:/bin:/usr/bin", NULL};
  return result;
}

static int arr_size(char** arr){
  int size = 0;
  while(arr[size] != NULL) {
    size++;
  }
  return size;
}

static int find_variable(char** env, char* var){
  int location;
  int src_size;
  if(var == NULL || env == NULL)
    return -1;
  src_size = strchr(var, '=') - var + 1;
  for(location = 0; env[location] != NULL; location++){
    if(strncasecmp(env[location], var, src_size) == 0){
      return location;
    }
  }
  return -1;
}

static void check_write(int expected, int actual) {
   if (actual != expected) {
    handle(SE_HANDLE_RUNTIME_ERROR, NULL);
#ifdef SE_EXCEPTIONS
    internal_exception_handler(Routine_failure);
#elif !defined(SE_BOOST)
    error0("Routine failure: could not write.", NULL);
#else
    fprintf(SE_ERR,"Routine failure (write returned %d but expected %d).\n", actual, expected);
    exit(EXIT_FAILURE);
#endif
  }
}

EIF_BOOLEAN basic_exec_posix_execute(se_exec_data_t*data, char*prog, char**args, EIF_BOOLEAN keep_env, char**add_env, int* in_fd, int* out_fd, int* err_fd) {
  int id = fork();
  if (id == 0) {
    /* child */

    if(in_fd) {
      dup2(in_fd[0], 0);
      close(in_fd[1]);
    }

    if(out_fd) {
      dup2(out_fd[1], 1);
      close(out_fd[0]);
    }

    if(err_fd) {
      dup2(err_fd[1], 2);
      close(err_fd[0]);
    }

    if (prog == NULL && args == NULL) {
      data->running = 1;
      data->child = 1;
#ifdef SE_SEDB
      sedb_duplicate();
#endif
      return 1;
    } else {
      if (add_env == NULL && keep_env) {
        execvp(prog, args); /* NO RETURN in child */
        se_print_run_time_stack();
        exit(1);
      }else{
        char** new_env;
        char** old_env;
        int old_size, add_size;
        int src, dest = 0;
        if(keep_env){
          old_env = environ;
        }else{
          old_env = envp();
        }
        old_size = arr_size(old_env);
        add_size = arr_size(add_env);
        new_env = malloc(sizeof(void*) * (old_size + add_size));

        /* we first copy the pointers from the old env */
        for(src = 0; src < old_size; src++){
          new_env[dest++] = old_env[src];
        }

        /* now the ones from add_env */
        for(src = 0; src < add_size; src++){
          int override = find_variable(old_env, add_env[src]);
          if (override >= 0){
            new_env[override] = add_env[src];
          }else{
            new_env[dest++] = add_env[src];
          }
        }

        execve(prog, args, new_env); /* NO RETURN in child */
        se_print_run_time_stack();
        exit(1);
      }
    }
  }
  else if (id > 0) {
    /* father */
    data->id = id;
    data->running = 1;
    data->child = 0;
    if(in_fd) close(in_fd[0]);
    if(out_fd) close(out_fd[1]);
    if(err_fd) close(err_fd[1]);
    return 1;
  } else {
    return 0; /* ... in father only */
  }
}

EIF_BOOLEAN basic_exec_is_finished(se_exec_data_t*data) {
  EIF_BOOLEAN result = (EIF_BOOLEAN)0;
  int status;
  if (data->running) {
    int id = waitpid(data->id, &status, WNOHANG);
    if (id == data->id) {
      /* child is finished */
      result = (EIF_BOOLEAN)(id == data->id);
      basic_exec_cleanup(data, status);
    }
  }
  else{
    result = (EIF_BOOLEAN)1;
  }
  return result;
}

void basic_exec_wait(se_exec_data_t*data) {
  int status;
  if (data->running) {
    int id = waitpid(data->id, &status, 0);
    if (id == data->id) {
      basic_exec_cleanup(data, status);
    }
  }
}

void basic_exec_cleanup(se_exec_data_t*data, int status) {
  data->status = WEXITSTATUS(status);
  data->running = 0;
}

EIF_INTEGER basic_exec_posix_get_character (EIF_INTEGER fd) {
  EIF_INTEGER result = -1;
  char buf[1];
  ssize_t r = read(fd, buf, 1);
  if (r > 0) {
    result = 0xff & ((EIF_INTEGER)(buf[0]));
  }
  return result;
}

void basic_exec_posix_put_character(EIF_INTEGER fd, EIF_CHARACTER c) {
  check_write(1, write(fd, &c, 1));
}

void basic_exec_posix_wait_any(se_exec_data_t*data) {
  data->id = wait(&data->status);
}

void basic_exec_posix_any_finished(se_exec_data_t*data) {
  data->id = waitpid(-1, &data->status, WNOHANG);
}

/*
 * See http://stackoverflow.com/questions/282176/waitpid-equivalent-with-timeout
 *
 * (with specific adaptation to Liberty Eiffel)
 */
static int waitpid_selfpipe[2];
static EIF_OBJECT waitpid_input;

static void waitpid_sigh(int n) {
   check_write(1, write(waitpid_selfpipe[1], "", 1));
}

void basic_exec_waitpid_init(EIF_OBJECT obj) {
   waitpid_input = obj;
}

EIF_INTEGER basic_exec_waitpid_fd(void) {
   static int init = 0;
   static struct sigaction act;
   if (!init) {
      init = 1;
      if (pipe(waitpid_selfpipe) == -1) {
         waitpid_selfpipe[0] = -1;
      }
      else {
         fcntl(waitpid_selfpipe[0], F_SETFL, fcntl(waitpid_selfpipe[0], F_GETFL) | O_NONBLOCK);
         fcntl(waitpid_selfpipe[1], F_SETFL, fcntl(waitpid_selfpipe[1], F_GETFL) | O_NONBLOCK);
         memset(&act, 0, sizeof(act));
         act.sa_handler = waitpid_sigh;
         sigaction(SIGCHLD, &act, NULL);
      }
   }
   return waitpid_selfpipe[0];
}

EIF_INTEGER basic_exec_waitpid_read_buffer(void*data) {
   static char dummy[4096];
   char *buffer = (char*)data;
   int pid, status;

   while (read(waitpid_selfpipe[0], dummy, sizeof(dummy)) > 0);

   while ((pid = waitpid(-1, &status, WNOHANG)) > 0) {
      oob_info(waitpid_input, pid, status);
   }

   buffer[0] = 0;
   return 1;
}
#else
EIF_INTEGER basic_exec_posix_get_character (EIF_INTEGER fd) {
  return 0;
}

void basic_exec_posix_put_character(EIF_INTEGER fd, EIF_CHARACTER c) {
}

void basic_exec_posix_wait_any(se_exec_data_t*data) {
}

void basic_exec_posix_any_finished(se_exec_data_t*data) {
}

EIF_BOOLEAN basic_exec_posix_execute(se_exec_data_t*data, char*prog, char**args, EIF_BOOLEAN keep_env, char**add_env, int* in_fd, int* out_fd, int* err_fd) {
  return 0;
}
#endif
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
#if basic_exec_system == basic_exec_system_none
/* Dummy implementation that always reports an error back to the Eiffel side */

EIF_BOOLEAN basic_exec_execute(se_exec_data_t*data, char*prog, char**args, EIF_BOOLEAN keep_env, char**add_env, int* in_fd, int* out_fd, int* err_fd) {
  return 0;
}

EIF_BOOLEAN basic_exec_is_finished(se_exec_data_t*data) {
  return (EIF_BOOLEAN)0;
}

void basic_exec_wait(se_exec_data_t*data) {
}

EIF_INTEGER basic_exec_get_character (EIF_INTEGER fd) {
  return (EIF_INTEGER)0;
}

void basic_exec_put_character(EIF_INTEGER fd, EIF_CHARACTER c) {
}

void basic_exec_cleanup(se_exec_data_t*data, int status) {
}

void basic_exec_waitpid_init(EIF_OBJECT obj) {
}

EIF_INTEGER basic_exec_waitpid_fd(void) {
   return -1;
}

EIF_INTEGER basic_exec_waitpid_read_buffer(void*data) {
   return -1;
}
#else
#endif
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
#if basic_exec_system == basic_exec_system_win32
static char* envp(void) {
  static char* result = "\0";/* *** Maybe call GetFullPathName to set =C: and friends */
  return result;
}

EIF_BOOLEAN basic_exec_win32_execute(se_exec_data_t*data, char*args, EIF_BOOLEAN keep_env, char*add_env, HANDLE*in_h, HANDLE*out_h, HANDLE*err_h) {
  STARTUPINFO start_info;
  EIF_BOOLEAN result = 0;

  ZeroMemory( &start_info, sizeof(STARTUPINFO) );

  start_info.cb = sizeof(STARTUPINFO);
  if(in_h) {
    start_info.hStdInput = in_h[0];
    SetHandleInformation(in_h[1], HANDLE_FLAG_INHERIT, 0);
  } else {
    start_info.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
  }
  if(INVALID_HANDLE_VALUE == start_info.hStdInput) goto leave;
  if(out_h) {
    start_info.hStdOutput = out_h[1];
    SetHandleInformation(out_h[0], HANDLE_FLAG_INHERIT, 0);
  } else {
    start_info.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
  }
  if(INVALID_HANDLE_VALUE == start_info.hStdOutput) goto leave;
  if(err_h) {
    start_info.hStdError = err_h[1];
    SetHandleInformation(err_h[0], HANDLE_FLAG_INHERIT, 0);
  } else {
    start_info.hStdError = GetStdHandle(STD_ERROR_HANDLE);
  }
  if(INVALID_HANDLE_VALUE == start_info.hStdError) goto leave;
  start_info.dwFlags |= STARTF_USESTDHANDLES;

  if(CreateProcess(NULL, args,
                   NULL,                                /* process security attributes          */
                   NULL,                                /* primary thread security attributes   */
                   TRUE,                                /* handles are inherited                */
                   0,                                   /* creation flags                       */
                   keep_env?NULL:envp(),
                   NULL,                                /* use parent's current directory       */
                   &start_info,                         /* STARTUPINFO pointer                  */
                   &data->process_information)) {       /* receives PROCESS_INFORMATION         */
    CloseHandle(data->process_information.hThread);
    data->running = 1;
    result = 1;
  }
 leave:
  if(in_h) CloseHandle(in_h[0]);
  if(out_h) CloseHandle(out_h[1]);
  if(err_h) CloseHandle(err_h[1]);
  return result;
}

EIF_BOOLEAN basic_exec_init_pipe(HANDLE*pipe) {
  SECURITY_ATTRIBUTES security_attributes;

  // Set the bInheritHandle flag so pipe handles are inherited.

  security_attributes.nLength = sizeof(SECURITY_ATTRIBUTES);
  security_attributes.bInheritHandle = TRUE;
  security_attributes.lpSecurityDescriptor = NULL;

  return CreatePipe(pipe, pipe+1, &security_attributes, 0);
}

EIF_BOOLEAN basic_exec_is_finished(se_exec_data_t*data) {
  EIF_BOOLEAN result = (EIF_BOOLEAN)0;
  if (data->running) {
    result = (WaitForSingleObject(data->process_information.hProcess, 0) == WAIT_OBJECT_0);
    if (result) {
      /* child is finished */
      DWORD status;
      GetExitCodeProcess(data->process_information.hProcess, &status);
      /* *** Could have failed */
      basic_exec_cleanup(data, status);
    }
  }
  else{
    result = (EIF_BOOLEAN)1;
  }
  return result;
}

void basic_exec_wait(se_exec_data_t*data) {
  if (data->running) {
    DWORD status;
    WaitForSingleObject(data->process_information.hProcess, INFINITE);
    GetExitCodeProcess(data->process_information.hProcess, &status);
    /* *** Any of these calls could have failed, right? */
    basic_exec_cleanup(data, status);
  }
}

EIF_INTEGER basic_exec_win32_get_character (HANDLE h) {
  char result;
  DWORD num_read;

  ReadFile(h, &result, 1, &num_read, NULL);
  if(!num_read) return -1;
  return result;
}

void basic_exec_win32_put_character(HANDLE h, EIF_CHARACTER c) {
  DWORD num_written;

  WriteFile(h, &c, 1, &num_written, NULL);
  /* *** Do something if num_written!=1 or WriteFile returned 0. */
}

void basic_exec_cleanup(se_exec_data_t*data, int status) {
  data->status = status;
  data->running = 0;
  CloseHandle(data->process_information.hProcess);
}

EIF_BOOLEAN basic_exec_win32_wait_any(HANDLE*handles, DWORD count, se_exec_data_t*data) {
  DWORD result = WaitForMultipleObjects(count, handles, FALSE, INFINITE);
  EIF_BOOLEAN success = (result < (WAIT_OBJECT_0 + count));
  if(success) {
    int index = result - WAIT_OBJECT_0;
    HANDLE handle = handles[index];
    GetExitCodeProcess(handle, &data->status);
    data->process_information.hProcess = handle;
  }
  return success;
}

EIF_BOOLEAN basic_exec_win32_any_finished(HANDLE*handles, DWORD count, se_exec_data_t*data ) {
  DWORD result = WaitForMultipleObjects(count, handles, FALSE, 0);
  EIF_BOOLEAN success = (result < (WAIT_OBJECT_0 + count));
  if(success) {
    int index = result - WAIT_OBJECT_0;
    HANDLE handle = handles[index];
    GetExitCodeProcess(handle, &data->status);
    data->process_information.hProcess = handle;
  }
  return success;
}

void basic_exec_waitpid_init(EIF_OBJECT obj) {
}

EIF_INTEGER basic_exec_waitpid_fd(void) {
   return -1;
}

EIF_INTEGER basic_exec_waitpid_read_buffer(void*data) {
   return -1;
}
#else
EIF_INTEGER basic_exec_win32_get_character (void *h) {
  return 0;
}

void basic_exec_win32_put_character(void *h, EIF_CHARACTER c) {
}

EIF_BOOLEAN basic_exec_win32_wait_any(void*handles, int count, se_exec_data_t*data) {
  return 0;
}

EIF_BOOLEAN basic_exec_win32_any_finished(void*handles, int count, se_exec_data_t*data) {
  return 0;
}

EIF_BOOLEAN basic_exec_win32_execute(se_exec_data_t*data, char*args, EIF_BOOLEAN keep_env, char*add_env, void*in_h, void*out_h, void*err_h) {
  return 0;
}
#endif
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
#if defined __USE_POSIX || defined __unix__ || defined _POSIX_C_SOURCE || (defined __APPLE__ && defined __MACH__)
/* macro read is used of read_stdin */

int io_copy (char*source, char*target) {
     /* We use the low-level descriptor functions rather than stream-oriented functions.
      * This allows us to copy the file's permissions. */

     int src;
     int tgt;
     struct stat info;
     static char *buffer = NULL;
     static int bufsize = 0;
     int read_count, write_count, written;

     src = open(source, O_RDONLY);
     if (fstat (src, &info))
          return 0; /* Ooops */
     if (bufsize < info.st_blksize)
          buffer = se_realloc (buffer, info.st_blksize);
     tgt = creat(target, info.st_mode);
     do {
          read_count = read(src, buffer, info.st_blksize);
          write_count = 0; written = 0;
          while ((write_count < read_count) && (written >= 0)) {
               written = write(tgt, buffer + write_count, read_count - write_count);
               write_count += written;
          }
     } while ((read_count > 0) && (written >= 0));
     close (src);
     close (tgt);

     return written >= 0;
}

int io_same_physical_file(char*path1,char*path2) {
  struct stat info1, info2;
  if (stat(path1, &info1))
    return 0; /* oops */
  if (stat(path2, &info2))
    return 0; /* oops */
  return (info1.st_dev == info2.st_dev) && (info1.st_ino == info2.st_ino);
}

#else
#define IO_COPY_BUFSIZE 4096

int read_stdin(EIF_CHARACTER *buffer, int size) {
  int c;
  c = getc(stdin);
  if (c==EOF)
    return 0;
  *buffer = (EIF_CHARACTER)c;
  return 1;
}

int io_copy(char*source, char*target) {
     static char *buffer = NULL;
     int read_count;
     FILE*src = fopen(source, "rb");
     FILE*tgt = fopen(target, "wb");

     if (!buffer)
          buffer = (char*)se_malloc(IO_COPY_BUFSIZE);

     while ((read_count = fread(buffer, 1, IO_COPY_BUFSIZE, src)), read_count) {
          size_t dummy = fwrite(buffer, 1, read_count, tgt);
          if (errno)
               return 0;
     }
     fclose(src);
     fclose(tgt);

     return 1;
}

int io_same_physical_file(char*path1,char*path2) {
  /* default implementation returns true only if the paths are the same */
  return !strcmp(path1, path2);
}
#endif

int io_file_exists(char*source) {
  FILE*src=fopen(source, "rb");
  if (src!=NULL) {
    fclose(src);
    return 1;
  }
  else {
    return (errno != ENOENT);
  }
}
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
void basic_putenv(EIF_POINTER variable, EIF_POINTER value) {
  size_t variable_len = strlen((char*)variable);
  size_t value_len = strlen((char*)value);
  char* v;
  v = se_malloc(variable_len + value_len + 2);
  strncpy(v,((char*)variable),variable_len);
  v[variable_len] = '=';
  strncpy(v + variable_len + 1,((char*)value),value_len);
  v[variable_len + 1 + value_len] = '\0';
  putenv(v);
}
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/

#if defined(_WIN16) || defined(_WIN32) || defined(_WIN64)
/*basic_system is a macro defined in basic_system.h*/
#else
#   include <sys/wait.h>
int basic_system(void *p) {
  int status = system((char *)p);

  if(WIFEXITED(status))
    return WEXITSTATUS(status);
  else
    return -1;
}
#endif
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/

EIF_INTEGER fstat_st_size(EIF_POINTER path) {

  struct stat buf;
  int test;

  test = stat(path, &buf);
  return (test == 0 ? buf.st_size : -1);

}

EIF_INTEGER_64 fstat_st_mtime(EIF_POINTER path) {

  struct stat buf;
  int test;

  test = stat(path, &buf);
  return (test == 0 ? buf.st_mtime : -1);

}

EIF_BOOLEAN fstat_st_is_file(EIF_POINTER path) {
#if defined S_ISREG
  struct stat buf;

  return stat((const char *)path, &buf)?0:!!S_ISREG(buf.st_mode);
#elif defined WIN32
  EIF_BOOLEAN result;
  HANDLE h=CreateFile((LPCTSTR)path, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
                      NULL, OPEN_EXISTING, 0, NULL);

  if(INVALID_HANDLE_VALUE == h) {
    return 0;
  }
  result = (GetFileType(h) == FILE_TYPE_DISK)
    && !(GetFileAttributes((LPCTSTR) path) & FILE_ATTRIBUTE_DIRECTORY);
  CloseHandle(h);
  return result;
#else
  printf("fstat_st_is_file (in SmartEiffel/sys/io/c/fstat.c)\nnot yet implemented for this architecture.\n");
  se_print_run_time_stack();
  exit(EXIT_FAILURE);
#endif
}

EIF_BOOLEAN fstat_st_is_dir(EIF_POINTER path) {
#if defined S_ISDIR
  struct stat buf;

  return stat((const char *)path, &buf)?0:!!S_ISDIR(buf.st_mode);
#elif defined WIN32
  DWORD attr =GetFileAttributes((LPCTSTR) path);
  return (attr != INVALID_FILE_ATTRIBUTES)  && (attr & FILE_ATTRIBUTE_DIRECTORY);
#else
  printf("fstat_st_is_dir (in SmartEiffel/sys/io/c/fstat.c)\nnot yet implemented for this architecture.\n");
  se_print_run_time_stack();
  exit(EXIT_FAILURE);
#endif
}
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
#ifdef WIN32
#define SIMULATED_MODE
/* The simulated mode for WIN32.
*/
typedef struct _SIMULATED_DIR {
  HANDLE handle;
  WIN32_FIND_DATA data;
  int entry_used;
  char * pattern;
} SIMULATED_DIR;

static SIMULATED_DIR* simulated_opendir(char* path) {
  int len = strlen((char*)path);
  char* pattern = se_malloc(len + 5);
  SIMULATED_DIR* result = se_malloc(sizeof(SIMULATED_DIR));

  pattern = strcpy(pattern,(char*)path);
  if (pattern[len - 1] != '\\') pattern[len++] = '\\';
  pattern[len++] = '*';
  pattern[len++] = '.';
  pattern[len++] = '*';
  pattern[len++] = 0;
  result->handle = FindFirstFile(pattern,&(result->data));
  if (result->handle == INVALID_HANDLE_VALUE) {
    free(pattern);
    free(result);
    return NULL;
  } else {
    result->pattern = pattern;
  }
  result->entry_used = 0;
  return result;
}

static void* simulated_readdir(SIMULATED_DIR* dirstream) {
  if (dirstream->entry_used) {
    if (FindNextFile(dirstream->handle,&(dirstream->data))) {
      dirstream->entry_used = 1;
      return dirstream;
    }
    else {
      return NULL;
    }
  }
  else {
    dirstream->entry_used = 1;
    return dirstream;
  }
}

#define simulated_get_entry_name(x) ((x)->data.cFileName)

static int simulated_closedir(SIMULATED_DIR* dirstream) {
  FindClose(dirstream->handle);
  free(dirstream->pattern);
  free(dirstream);
  return 0;
}


/* GCC(MingW32) doesn't need these prototypes; whereas, LCC needs them. */
char * getcwd(char* buffer, int maxlen);
int chdir(const char* buffer);
int mkdir(const char* directory_path);
int rmdir(const char* directory_path);


#define simulated_getcwd(x, y) getcwd(x, y)
#define simulated_chdir(x) chdir(x)
#define simulated_rmdir(x) rmdir(x)

int simulated_mkdir(const char* directory_path, int perm) {

  mkdir(directory_path);
  return 0;
}

#endif  /* WIN32 */

/*--------------------------------------------------------------------
  At his point, either this is a Linux/POSIX platform or some
  SIMULATED_MODE is defined. Unsupported platform should add their own
  SIMULATED_MODE before.
*/

EIF_POINTER directory_open(EIF_POINTER path) {
#ifndef SIMULATED_MODE
  return (opendir(((char*) path)));
#else
  return (simulated_opendir(((char*) path)));
#endif
}

EIF_POINTER directory_read_entry(EIF_POINTER dirstream) {
#ifndef SIMULATED_MODE
  return readdir((DIR*)dirstream);
#else
  return simulated_readdir((SIMULATED_DIR*)dirstream);
#endif
}

EIF_POINTER directory_get_entry_name(EIF_POINTER entry) {
#ifndef SIMULATED_MODE
  return (((struct dirent*)entry)->d_name);
#else
  return simulated_get_entry_name((SIMULATED_DIR*)entry);
#endif
}

EIF_BOOLEAN directory_close(EIF_POINTER dirstream) {
  int status;
#ifndef SIMULATED_MODE
  status = (closedir((DIR*)dirstream) == 0);
#else
  status = (simulated_closedir((SIMULATED_DIR*)dirstream) == 0);
#endif
  return ((EIF_BOOLEAN)(status ? 1 : 0));
}

EIF_POINTER directory_cwd(void) {
  static char* buf = NULL;
#ifdef WIN32
  /* MS Windows requires size to be an int; whereas in non-windows systems,
     it needs to be size_t
  */
  static int size = 0;
#else
  static size_t size = 0;
#endif
  int status;
  if (buf == NULL) {
    size = 256;
    buf = (char*)se_malloc(size);
  }


#ifndef SIMULATED_MODE
  status = (getcwd(buf,size) != NULL);
#else
  status = (simulated_getcwd(buf,size) != NULL);
#endif


  if (status) {
    return buf;
  }
  else {
    free(buf);
    size = size * 2;
    buf = (char*)se_malloc(size);
    return directory_cwd();
  }
}

EIF_BOOLEAN directory_chdir(EIF_POINTER destination) {
  int status;
#ifndef SIMULATED_MODE
  status = (chdir((char*)destination));
#else
  status = simulated_chdir((char*)destination);
#endif
  return ((EIF_BOOLEAN)(status == 0 ? 1 : 0));
}

EIF_BOOLEAN directory_mkdir(EIF_POINTER directory_path){
  int status;
#ifndef SIMULATED_MODE
  status = (mkdir((char*)directory_path,0777));
#else
  status = simulated_mkdir((char*)directory_path,0777);
#endif
  return ((EIF_BOOLEAN)(status == 0 ? 1 : 0));
}

EIF_BOOLEAN directory_rmdir(EIF_POINTER directory_path){
  int status;
#ifndef SIMULATED_MODE
  status = rmdir((char*)directory_path);
#else
  status = simulated_rmdir((char*)directory_path);
#endif
  return ((EIF_BOOLEAN)(status == 0 ? 1 : 0));
}


int se_cmpT294(T294* o1,T294* o2){
int R=0;
R = R || ((o1->_last_delete_succeeded) != (o2->_last_delete_succeeded));
return R;
}/*--*/

int se_cmpT548(T548* o1,T548* o2){
int R=0;
R = R || ((o1->_current_entry) != (o2->_current_entry));
R = R || ((o1->_directory_stream) != (o2->_directory_stream));
return R;
}/*--*/
T918 M918=/*init:COLLECTION_SORTER[STRING]*/0/*empty expanded*/;

int se_cmpT354(T354* o1,T354* o2){
int R=0;
R = R || ((o1->_mangling) != (o2->_mangling));
return R;
}/*--*/
T927 M927=/*init:REVERSE_COLLECTION_SORTER[POSITION]*/0/*empty expanded*/;
T933 M933={933,NULL};
T935 M935={935,NULL};
T944 M944=/*init:SAFE_EQUAL[STRING]*/0/*empty expanded*/;

int se_cmpT327(T327* o1,T327* o2){
int R=0;
R = R || ((o1->_item_memory) != (o2->_item_memory));
R = R || ((o1->_capacity) != (o2->_capacity));
return R;
}/*--*/
T957 M957={957,NULL};
T968 M968={968,NULL};

int se_cmpT792(T792* o1,T792* o2){
int R=0;
R = R || ((o1->_hashed_string_memory) != (o2->_hashed_string_memory));
R = R || ((o1->_column) != (o2->_column));
R = R || ((o1->_line) != (o2->_line));
return R;
}/*--*/

int se_cmpT545(T545* o1,T545* o2){
int R=0;
R = R || ((o1->_group) != (o2->_group));
R = R || ((o1->_direct_error) != (o2->_direct_error));
R = R || ((o1->_keep_environment) != (o2->_keep_environment));
R = R || ((o1->_direct_input) != (o2->_direct_input));
R = R || ((o1->_direct_output) != (o2->_direct_output));
return R;
}/*--*/
T974 M974={974,NULL};
T988 M988={988,NULL};
T996 M996={996,NULL};
T1004 M1004={1004,NULL};
T1008 M1008={1008,NULL};
T1011 M1011={1011,NULL};
T1020 M1020={1020,NULL};
T1023 M1023={1023,NULL};
T1040 M1040={1040,NULL};
T1046 M1046={1046,NULL};
T29 M29=/*init:SE*/{(void*)0,(void*)0,0,0};
T126 M126=/*init:ECHO*/{(void*)0,(void*)0,(void*)0,0,0};
T113 M113=/*init:SYSTEM_TOOLS*/{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0,{(void*)0,(void*)0},0};
T906 M906=/*init:FAST_ARRAY[STRING]*/{(void*)0,0,0,0};
T7 M7=/*init:STRING*/{7,(void*)0,0,0,0,0,0,0};
T303 M303=/*init:SYSTEM*/0/*empty expanded*/;
T111 M111=/*init:SMART_EIFFEL*/{0,0,0};
T907 M907=/*init:AVL_DICTIONARY[STRING,STRING]*/{907,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,0};
T294 M294=/*init:FILE_TOOLS*/{0};
T909 M909=/*init:REFERENCE[BOOLEAN]*/{0};
T69 M69=/*init:STD_OUTPUT*/{69,(void*)0,(void*)0,0,0};
T910 M910=/*init:AVL_DICTIONARY[SE_C_MODE,STRING]*/{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,0};
T302 M302=/*init:SE_C_MODE*/{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
T664 M664=/*init:NULL_OUTPUT_STREAM*/{664,(void*)0};
T81 M81=/*init:STD_ERROR*/{81,(void*)0};
T556 M556=/*init:SERC_FACTORY*/0/*empty expanded*/;
T548 M548=/*init:BASIC_DIRECTORY*/{(void*)0,(void*)0};
T78 M78=/*init:STD_INPUT_OUTPUT*/{78};
T293 M293=/*init:ERROR_HANDLER*/{(void*)0,(void*)0,(void*)0,0,0,0,0};
T99 M99=/*init:TEXT_FILE_READ*/{(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,0,0,'\0'};
T911 M911=/*init:HASHED_DICTIONARY[STRING,STRING]*/{911,(void*)0,(void*)0,(void*)0,0,0,0,0,0};
T321 M321=/*init:PARTIALLY_FILLED_STRING*/{321,(void*)0,(void*)0,(void*)0,(void*)0};
T913 M913=/*init:FAST_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/{(void*)0,0,0,0};
T914 M914=/*init:AVL_DICTIONARY_NODE[STRING,STRING]*/{(void*)0,(void*)0,(void*)0,(void*)0,0,0/*empty expanded*/};
T80 M80=/*init:AT_EXIT*/0/*empty expanded*/;
T915 M915=/*init:FAST_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/{(void*)0,0,0,0};
T916 M916=/*init:AVL_DICTIONARY_NODE[SE_C_MODE,STRING]*/{(void*)0,(void*)0,(void*)0,(void*)0,0,0/*empty expanded*/};
T809 M809=/*init:XDG*/0/*empty expanded*/;
T806 M806=/*init:SERC_CHAIN*/{806,(void*)0};
T808 M808=/*init:SERC_DEFAULTS*/{808,(void*)0,(void*)0,0};
T919 M919=/*init:STACK[STRING]*/{(void*)0,0,0,0};
T920 M920=/*init:REFERENCE[STRING]*/{(void*)0};
T59 M59=/*init:STRING_RECYCLING_POOL*/{0/*empty expanded*/,(void*)0,{(void*)0,0}};
T123 M123=/*init:PARSER_BUFFER*/{(void*)0,(void*)0,(void*)0,0};
T807 M807=/*init:SERC*/{807,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0};
T311 M311=/*init:FIXED_STRING*/{311,(void*)0,(void*)0,(void*)0,0,0,0,0,0,0};
T922 M922=/*init:REFERENCE[DIRECTORY_NOTATION]*/{(void*)0};
T923 M923=/*init:HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/{(void*)0,(void*)0,0,0,0,0};
T924 M924=/*init:FAST_ARRAY[FIXED_STRING]*/{(void*)0,0,0,0};
T563 M563=/*init:CYGWIN_DIRECTORY_NOTATION*/{563};
T558 M558=/*init:UNIX_DIRECTORY_NOTATION*/{558};
T562 M562=/*init:WINDOWS_DIRECTORY_NOTATION*/{562};
T925 M925=/*init:FAST_ARRAY[POSITION]*/{(void*)0,0,0,0};
T354 M354=/*init:POSITION*/{0};
T926 M926=/*init:RECYCLING_POOL[TAGGED_ERROR]*/{(void*)0,0,0,0};
T719 M719=/*init:TAGGED_ERROR*/{(void*)0,(void*)0,0};
T92 M92=/*init:CLASS_NAME*/{(void*)0,(void*)0,0,0,{0}};
T930 M930=/*init:HASHED_DICTIONARY_NODE[STRING,STRING]*/{(void*)0,(void*)0,(void*)0};
T936 M936=/*init:HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/{(void*)0,(void*)0,(void*)0};
T937 M937=/*init:HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/{(void*)0,(void*)0,0,0,0,0};
T938 M938=/*init:FAST_ARRAY[ABSTRACT_STRING]*/{(void*)0,0,0,0};
T941 M941=/*init:RING_ARRAY[PROCEDURE[TUPLE]]*/{(void*)0,0,0,0,0,0};
T946 M946=/*init:REFERENCE[FIXED_STRING]*/{(void*)0};
T948 M948=/*init:RING_ARRAY[SE_CONFIG]*/{(void*)0,0,0,0,0,0};
T949 M949=/*init:FAST_ARRAY[STRING_RECYCLING_ITEM]*/{(void*)0,0,0,0};
T327 M327=/*init:STRING_RECYCLING_ITEM*/{(void*)0,0};
T749 M749=/*init:STRING_RECYCLING_ITEM_SORTER*/0/*empty expanded*/;
T281 M281=/*init:STRING_ALIASER*/(void*)0;
T107 M107=/*init:HASHED_STRING*/{(void*)0,0};
T106 M106=/*init:INI_PARSER*/{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,0,0,0,{(void*)0,0,0},0,0,0,0,'\0'};
T951 M951=/*init:HASHED_DICTIONARY[SE_C_MODE,STRING]*/{(void*)0,(void*)0,(void*)0,0,0,0,0,0};
T953 M953=/*init:FAST_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/{(void*)0,0,0,0};
T956 M956=/*init:HASHED_DICTIONARY_NODE[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/{(void*)0,(void*)0,0};
T283 M283=/*init:ACE*/{(void*)0,0,0};
T291 M291=/*init:ID_PROVIDER*/{0,0};
T969 M969=/*init:HASHED_SET[HASHED_STRING]*/{(void*)0,(void*)0,0,0,0,0};
T970 M970=/*init:ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/{(void*)0,(void*)0,(void*)0,0,0,0,0};
T971 M971=/*init:ORDERED_DICTIONARY[STRING,STRING]*/{971,(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,0,0};
T440 M440=/*init:COMMENT*/{(void*)0,{0}};
T792 M792=/*init:TOKEN_BUFFER*/{(void*)0,0,0};
T398 M398=/*init:MANIFEST_STRING*/{(void*)0,(void*)0,0,0,{0}};
T336 M336=/*init:UNICODE_STRING*/{(void*)0,(void*)0,(void*)0,0,0,0};
T545 M545=/*init:PROCESS_FACTORY*/{(void*)0,0,0,0,0};
T972 M972=/*init:HASHED_DICTIONARY_NODE[SE_C_MODE,STRING]*/{(void*)0,(void*)0,(void*)0};
T978 M978=/*init:FAST_ARRAY[HASHED_STRING]*/{(void*)0,0,0,0};
T979 M979=/*init:FAST_ARRAY[CLUSTER]*/{(void*)0,0,0,0};
T980 M980=/*init:FAST_ARRAY[INTEGER_32]*/{(void*)0,0,0,0};
T711 M711=/*init:CLASSES_TREE_FACTORY*/0/*empty expanded*/;
T981 M981=/*init:HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/{(void*)0,(void*)0,(void*)0,0,0,0,0,0};
T587 M587=/*init:TYPE_ALIASING*/0/*empty expanded*/;
T710 M710=/*init:UNIVERSE*/{(void*)0,0};
T982 M982=/*init:HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/{(void*)0,(void*)0,(void*)0,0,0,0,0};
T987 M987=/*init:HASHED_SET_NODE[HASHED_STRING]*/{(void*)0,(void*)0};
T991 M991=/*init:HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/{(void*)0,(void*)0,0,0,0,0};
T993 M993=/*init:HASHED_DICTIONARY_NODE[ORDERED_DICTIONARY[STRING,STRING],STRING]*/{(void*)0,(void*)0,(void*)0};
T994 M994=/*init:ITERATOR_ON_TRAVERSABLE[STRING]*/{994,(void*)0,0,0};
T997 M997=/*init:ARRAY[STRING]*/{(void*)0,0,0,0,0};
T999 M999=/*init:FAST_ARRAY[INTEGER_16]*/{(void*)0,0,0,0};
T803 M803=/*init:PROCESS_POSIX*/{803,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,0};
T804 M804=/*init:PROCESS_WIN32*/{804,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,0,0,0,0};
T805 M805=/*init:PROCESS_NONE*/{805,(void*)0,0,0,0};
T800 M800=/*init:PROCESS_GROUP_POSIX*/{800,(void*)0,(void*)0};
T801 M801=/*init:PROCESS_GROUP_WIN32*/{801,(void*)0,(void*)0,0};
T802 M802=/*init:PROCESS_GROUP_NONE*/{802};
T1005 M1005=/*init:HASHED_DICTIONARY_NODE[INTEGER_16,HASHED_STRING]*/{(void*)0,(void*)0,0};
T1007 M1007=/*init:FAST_ARRAY[CLASSES]*/{(void*)0,0,0,0};
T1012 M1012=/*init:HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/{(void*)0,(void*)0,(void*)0};
T1015 M1015=/*init:HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/{(void*)0,(void*)0,0,0,0,0};
T1016 M1016=/*init:HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/{(void*)0,(void*)0,0,0,0,0};
T1018 M1018=/*init:HASHED_DICTIONARY_NODE[PROCESS_POSIX,INTEGER_32]*/{(void*)0,(void*)0,0};
T1021 M1021=/*init:HASHED_DICTIONARY_NODE[PROCESS_WIN32,INTEGER_32]*/{(void*)0,(void*)0,0};
T1025 M1025=/*init:ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/{1025,(void*)0,(void*)0,(void*)0,(void*)0,0};
T61 M61=/*init:STD_INPUT*/{(void*)0,(void*)0,0};
T1028 M1028=/*init:HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/{(void*)0,(void*)0,0,0,0,0};
T1030 M1030=/*init:RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]*/{1030,(void*)0,0,0,0};
T811 M811=/*init:POSIX_PATH_NAME*/{811,(void*)0};
T813 M813=/*init:MICROSOFT_PATH_NAME*/{813,(void*)0,(void*)0,'\0',0};
T1031 M1031=/*init:FAST_ARRAY[POINTER]*/{(void*)0,0,0,0};
T855 M855=/*init:EXEC_OUTPUT_STREAM_POSIX*/{855,(void*)0,(void*)0,0,0};
T857 M857=/*init:EXEC_INPUT_STREAM_POSIX*/{857,(void*)0,(void*)0,0,0,0,0,'\0',0,'\0'};
T858 M858=/*init:EXEC_OUTPUT_STREAM_WIN32*/{858,(void*)0,(void*)0,(void*)0,0};
T859 M859=/*init:EXEC_INPUT_STREAM_WIN32*/{859,(void*)0,(void*)0,(void*)0,0,0,0,'\0',0,'\0'};
T1032 M1032=/*init:RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]*/{(void*)0,0,0,0};
T1033 M1033=/*init:STACK[AVL_TREE_NODE[STRING]]*/{(void*)0,0,0,0};
T1035 M1035=/*init:HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/{(void*)0,(void*)0,0,0,0,0};
T1039 M1039=/*init:HASHED_DICTIONARY_NODE[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/{(void*)0,(void*)0,(void*)0};
T1045 M1045=/*init:HASHED_DICTIONARY_NODE[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/{(void*)0,(void*)0,(void*)0};
T1047 M1047=/*init:RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/{1047,(void*)0,0,0,0};
T1048 M1048=/*init:ITERATOR_ON_DICTIONARY_KEYS[STRING,STRING]*/{1048,(void*)0,0,0};
/*Aliased storage area or unicode storage.*/
char*s29_0A="";
char*s31_424424A="low_16";
char*s31_424430A="low_32";
char*s31_38A="&";
char*s31_42A="*";
char*s31_43A="+";
char*s31_45A="-";
char*s811_46A=".";
char*s31_47A="/";
char*s126_1071750288A="SmallEiffel";
char*s29_49A="1";
char*s31_60A="<";
char*s31_61A="=";
char*s31_62A=">";
char*s33_63A="\?";
char*s807_1883030297A=" (discarded)\n";
char*s31_64A="@";
char*s106_1684808173A="Invalid empty file";
char*s33_1202957293A=": missing file path name after -output_error_warning_on flag.\n";
char*s31_12376A="REAL";
char*s440_77A="\011"" ";
char*s115_301485A="Cygwin";
char*s29_1155834500A="SE_C_MODE_CPP_COMPILER_PATH=";
char*s31_94A="^";
char*s33_104A="h";
char*s31_112335826A="signal_number";
char*s33_118A="v";
char*s31_124A="\174""";
char*s31_126A="\176""";
char*s31_80109A="fifth";
char*s32_1473988901A="c_linker_options";
char*s29_180A="\"\n";
char*s31_961210799A="allocated_bytes";
char*s31_269315573A="notify_all";
char*s293_200A=" (";
char*s31_217A="#*";
char*s31_218A="#+";
char*s31_220A="#-";
char*s31_54688766A="se_atexit";
char*s29_230A=",\n";
char*s29_144394965A="=$\173""SE_BIN\175""";
char*s283_240A=".\n";
char*s31_241A="()";
char*s556_242A="* ";
char*s31_1682815431A="manifest_make";
char*s29_252A=", ";
char*s293_43325A=": and";
char*s105_116346440A="Unknown special character.";
char*s811_276A="..";
char*s31_282A="//";
char*s31_296A="/=";
char*s293_300A=":\n";
char*s31_430881A="notify";
char*s29_461965022A="SE_C_MODE_C_LINKER_PATH=";
char*s31_406284A="fourth";
char*s31_42134669A="Precursor";
char*s293_322A=": ";
char*s803_324A="-c";
char*s30_334A=".h";
char*s556_342A="> ";
char*s31_1501191A="Current";
char*s31_1578334651A="open_arguments";
char*s31_361A="<=";
char*s105_1700247488A="Unexpected character in hexadecimal ascii code.";
char*s31_371A=">=";
char*s31_548214405A="REAL_GENERAL";
char*s113_62728285A="The configuration file seems invalid. Correct the above errors first.";
char*s31_10377126A="is_empty";
char*s29_859934821A="SE_C_MODE_C_STRIP_PATH=";
char*s105_74239A="]foo\"";
char*s105_696478167A="Bad (empty\?) ascii code.";
char*s31_1603529235A="to_natural_8";
char*s31_80416A="first";
char*s31_878996813A="TYPED_INTERNALS";
char*s29_475A="]\n";
char*s113_1192507148A="Unknown os \"";
char*s31_1639475718A="UNICODE_STRING";
char*s813_498A="X:";
char*s807_1000694404A="].\nOriginal definition ";
char*s31_534A="a1";
char*s31_548A="[]";
char*s126_605800239A="\175"" variable used";
char*s31_552A="\\\\";
char*s32_1532343833A="cpp_compiler_path";
char*s807_68224A="The \'";
char*s293_22396357A=" columns ";
char*s283_1476966395A="More than one class in the system is named ";
char*s31_9713026A="as_32_ne";
char*s31_36193081A="INTEGER_8";
char*s105_1317175740A="Too long hexadecimal sequence for a single unicode value.";
char*s31_548331507A="NATIVE_ARRAY_INTERNALS";
char*s113_179868158A="Unknown system name in file\n\"";
char*s126_354654986A="Environment variable $\173""";
char*s31_51915068A="is_normal";
char*s31_636A="io";
char*s556_1790323015A="\\\\Liberty-Eiffel";
char*s31_1744399653A="type_attribute_generating_type";
char*s31_669A="or";
char*s32_670A="os";
char*s33_525197655A="\" specified for the -is_output_error_warning_on flag.\n";
char*s29_676A="se";
char*s113_1087245292A="#: config file corrupted!";
char*s113_481365653A="Further information for this command can be found at:\n";
char*s31_1115958189A="open_argument_indices";
char*s31_1206543966A="object_attribute";
char*s115_13028A="UNIX";
char*s31_80694A="floor";
char*s106_1385667261A=".\nIts retained value will be the last read.\n";
char*s31_849712179A="print_run_time_stack";
char*s115_1772235A="Windows";
char*s31_567319806A="to_integer_16";
char*s31_1597390874A="Character_bits";
char*s31_567319812A="to_integer_32";
char*s31_567319829A="to_integer_64";
char*s31_9676326A="capacity";
char*s283_1091711046A="\" (and there may be more). Search started from ";
char*s31_1671553525A="WEAK_REFERENCE";
char*s113_373286592A="\".\nCurrently handled system names:\n";
char*s31_1498845794A="NATIVE_ARRAY[CHARACTER]";
char*s106_1130154866A="Bad Environment variable.\n(Closing \"\175""\" not found.)";
char*s31_80854A="flush";
char*s31_13194A="TYPE";
char*s31_10377643A="is_equal";
char*s113_703496930A="\"[General] sys\" key is missing.";
char*s31_1594034A="ROUTINE";
char*s31_2246041A="storage";
char*s111_24235875A="2011-2022";
char*s31_1607595572A="to_character";
char*s29_1464394200A="SE_C_MODE_C_COMPILER_OPTIONS=\"";
char*s29_1537074433A="SE_C_MODE_CPP_LINKER_PATH=";
char*s293_7207A=" in ";
char*s126_1090A="\".\n";
char*s556_1027113524A="USERPROFILE";
char*s291_1133285999A="Cannot find the default class ";
char*s31_1157A="#//";
char*s113_1964046235A="\"[General] short\" key is missing.";
char*s31_1944903A="ceiling";
char*s31_55040341A="put_16_be";
char*s556_28418819A="/etc/serc";
char*s17_1210A=".\n\n";
char*s35_2246326A="verbose";
char*s113_1215A="\'.\n";
char*s283_767646015A="\" while the second is in the cluster \"";
char*s29_39613656A="SE_SHORT=";
char*s31_9529116A="add_last";
char*s126_1430004152A=" used in file \'";
char*s31_276937706A="slice_copy";
char*s31_1235A="#<<";
char*s31_55040391A="put_16_le";
char*s31_1247A="#>>";
char*s31_55040401A="put_16_ne";
char*s293_4479182A=" column ";
char*s31_2067995A="implies";
char*s126_2142794376A=" not executed.\n";
char*s291_1265A=").\n";
char*s31_259659630A="is_started";
char*s31_747962924A="type_item_is_expanded";
char*s32_945182441A="Environment";
char*s31_1245671098A="set_object_attribute";
char*s29_1129792417A="SE_C_MODE_SMARTEIFFEL_OPTIONS=\"";
char*s105_140920753A="You must use an even number of hexadecimal digits to denote a sequence of CHARACTERs.";
char*s32_139303084A="c_compiler_options";
char*s105_996106634A="Invalid unicode notation (see also http://www.unicode.org as well as feature \173""UNICODE_STRING\175"".valid_unicode).";
char*s105_181806522A="Unexpected new line in manifest string.";
char*s31_87541A="print";
char*s31_1427A="#\\\\";
char*s33_941571923A="output_error_warning_on";
char*s113_1649305994A="No default configuration file for Liberty Eiffel was found.\n\nPlease re-run the installation program.\nFor Unix-like systems, \"cd\" to the Liberty Eiffel directory and then type \n\"./install.sh\".\nFor Windows-like systems, run the \"install.exe\" program.\n\nNote: if you prefer, you can set the \"";
char*s31_1375414302A="type_generating_type";
char*s31_880412606A="generating_type";
char*s113_1102814319A="System is \"";
char*s29_1319120389A="SE_C_MODE_CPP_STRIP_PATH=";
char*s31_279656751A="std_output";
char*s31_859431564A="type_attribute_generator";
char*s31_438300A="second";
char*s29_1582401A="SE_BIN=";
char*s31_1319421852A="native_data";
char*s31_761722990A="mark_native_arrays";
char*s105_1038536453A="Extra blank or tab character removed in multi-line manifest string.";
char*s31_185934049A="NATURAL_16";
char*s31_185934055A="NATURAL_32";
char*s113_2139128753A="The environment variable \"";
char*s32_1532344910A="cpp_compiler_type";
char*s31_619776399A="Integer_bits";
char*s32_479921113A="c_compiler_type";
char*s31_185934072A="NATURAL_64";
char*s31_1326673961A="object_size";
char*s556_142089811A="/etc/issue";
char*s29_7924200A="SE_TOOL_";
char*s31_55926626A="std_input";
char*s126_1758326604A="**** delete failed!\n";
char*s113_1775A=".id";
char*s31_312005144A="type_can_be_assigned_to_attribute";
char*s29_1943188837A="\nShould you have any question about Liberty Eiffel, feel free to contact us by\ne-mail:\n      liberty-eiffel@gnu.org\n\nYou can also visit our web site:\n      http://www.liberty-eiffel.org\n";
char*s556_1826A=".se";
char*s31_94407393A="collection_off";
char*s31_14150A="Void";
char*s31_403163040A="THREAD_CONTEXT";
char*s291_327902A="TUPLE ";
char*s31_50778415A="exception";
char*s31_1530432238A="valid_generating_type_for_internals";
char*s31_88048A="put_0";
char*s31_88049A="put_1";
char*s29_841249607A="SE_C_MODE_CPP_COMPILER_OPTIONS=\"";
char*s31_55041091A="put_32_be";
char*s31_36200588A="INTERNALS";
char*s31_261093457A="make_blank";
char*s31_1286698901A="element_sizeof";
char*s31_1680885744A="default_rescue";
char*s31_55041141A="put_32_le";
char*s31_55041151A="put_32_ne";
char*s29_1139062643A="SE_C_MODE_CPP_LINKER_OPTIONS=";
char*s31_586229245A="type_is_expanded";
char*s31_1395184171A="same_dynamic_type";
char*s113_186217457A="... unique once buffer ...";
char*s31_1300046706A="last_result";
char*s31_2104A="ANY";
char*s32_251916328A="cpp_strip_path";
char*s32_69805A="Tools";
char*s115_2178A="DOS";
char*s32_401994A="flavor";
char*s31_2035472654A="type_attribute_count";
char*s32_820292A="****** ";
char*s31_1447702A="INTEGER";
char*s32_88336A="short";
char*s31_451252A="unlock";
char*s31_840111968A="collection_on";
char*s31_1297432701A="is_infinity";
char*s31_2067759348A="from_pointer";
char*s31_1209184326A="object_invariant";
char*s31_1604515261A="to_internals";
char*s556_2003309199A="/etc/xdg/liberty-eiffel";
char*s31_728963476A="type_item_generating_type";
char*s31_9647090A="and then";
char*s29_546635553A="SMART_EIFFEL_SHORT_VERSION";
char*s29_1519797571A="# environment";
char*s31_10938831A="se_fault";
char*s803_1121854A="/bin/sh";
char*s31_175767198A="EXCEPTIONS";
char*s293_63912A="Line ";
char*s556_1646495986A="Configuration chain (the lower the more specific):";
char*s31_2090604340A="full_collect";
char*s31_591414963A="standard_copy";
char*s31_2504A="SET";
char*s106_1656731300A=" in the section [";
char*s556_193194A="/.serc";
char*s31_1223768616A="NATURAL_GENERAL";
char*s31_744845610A="valid_generating_type_for_native_array_internals";
char*s556_64080A="Linux";
char*s105_894954671A="In extended form of manifest string. Bad character after \'%\'.";
char*s113_440518794A="\", flavor \"";
char*s113_1451626378A="\" is not set to the name of a valid file.\n";
char*s31_88795A="third";
char*s809_1309286095A="XDG_CONFIG_HOME";
char*s123_138929174A="\" seems to be empty.";
char*s33_1010347497A="Flag -is_output_error_warning_on must be used only once.\nYour command was:\n";
char*s29_17403870A="# C modes";
char*s31_201970776A="force_to_integer_64";
char*s31_201970793A="force_to_integer_32";
char*s31_756809447A="Minimum_real";
char*s31_201970799A="force_to_integer_16";
char*s32_479922190A="c_compiler_path";
char*s126_1800535743A="System call \"";
char*s112_1359484467A="(C) #(1) - #(2)";
char*s31_30191860A="type_attribute_is_expanded";
char*s31_1673345408A="open_argument_count";
char*s31_954385774A="Pointer_bits";
char*s31_827429162A="type_item_generator";
char*s31_253393261A="for_object";
char*s32_1509818A="General";
char*s113_8976A=".exe";
char*s105_1581369567A="Decimal CHARACTER code out of range.";
char*s31_52347889A="mark_item";
char*s31_76691A="agent";
char*s31_1095772782A="collector_counter";
char*s31_869539012A="sedb_breakpoint";
char*s31_1574640467A="trace_switch";
char*s293_2030552593A="The source lines relevant to this message are the following:\n\n";
char*s31_48958735A="deep_twin";
char*s106_1377150320A="\'. Maybe the program name is incorrect, or process execution is not yet supported on this platform.";
char*s31_170256464A="FAST_ARRAY";
char*s32_8054609A="Loadpath";
char*s812_1182938696A="a_file_name";
char*s31_180965424A="INTEGER_16";
char*s31_180965430A="INTEGER_32";
char*s31_11001014A="set_item";
char*s31_180965447A="INTEGER_64";
char*s31_10945665A="print_on";
char*s31_2174354A="realloc";
char*s31_3075A="and";
char*s32_3085A="bin";
char*s31_1856946950A="Minimum_character_code";
char*s31_39154229A="PROCEDURE";
char*s31_15448A="call";
char*s31_207673214A="force_to_real_64";
char*s31_207673231A="force_to_real_32";
char*s35_2248290A="version";
char*s31_7095298A="FUNCTION";
char*s31_280482649A="Boolean_bits";
char*s31_1753751730A="free_native_data";
char*s31_421505A="method";
char*s111_498062040A="#(1)\nOriginal SmartEiffel code:\nCopyright (C), 1994-2002 - INRIA - LORIA - ESIAL UHP Nancy 1 - FRANCE\nCopyright (C), 2003-2005 - INRIA - LORIA - IUT Charlemagne Nancy 2 - FRANCE\nD.COLNET, P.RIBET, C.ADRIAN, V.CROIZIER, F.MERIZEN\n    http://smarteiffel.loria.fr\n";
char*s31_7704337A="PLATFORM";
char*s31_33120277A="CHARACTER";
char*s126_1072344038A="SmartEiffel";
char*s113_150382995A="\"[General] bin\" key is missing.";
char*s29_1910891475A="SE_C_MODE_C_LINKER_OPTIONS=";
char*s31_698215697A="Maximum_real";
char*s31_89510A="stdin";
char*s31_1297876698A="is_not_null";
char*s31_3421A="not";
char*s31_15751A="code";
char*s31_3460A="\174""<<";
char*s31_3472A="\174"">>";
char*s31_3474A="pow";
char*s31_1418282620A="INTEGER_GENERAL";
char*s31_3501A="put";
char*s31_15831A="copy";
char*s31_1947246A="bit_set";
char*s31_1947251A="bit_put";
char*s807_789213750A=" (kept)\nRedundant definition ";
char*s31_3545A="run";
char*s105_176469602A="In extended form of manifest string. Bad character before \'%\'.";
char*s32_3595A="sys";
char*s126_1342164121A="It is now ignored and replaced by a lookup of the LibertyEiffel variable. Please update your file.\n";
char*s31_279523519A="to_pointer";
char*s556_1015749028A="/usr/local/etc/liberty-eiffel";
char*s31_577213499A="is_not_a_number";
char*s31_3669A="xor";
char*s807_711668223A="\", discarding it from ";
char*s31_911175911A="internals_from_generating_type";
char*s29_1333288287A="SE_C_MODE_C_COMPILER=";
char*s31_169371474A="DISPOSABLE";
char*s291_1539722017A=" correct items).\n";
char*s31_1947419A="bit_xor";
char*s31_2218105A="rounded";
char*s291_411001267A=" in any cluster. Don\'t expect the compilation to succeed.\n";
char*s31_203589551A="manifest_initialize";
char*s283_1737556726A=". The first one is in the cluster \"";
char*s31_275488632A="Maximum_double";
char*s32_2593373A="cpp_linker_options";
char*s126_113009974A=" in file \'";
char*s283_1799491166A="\" in any known cluster.";
char*s807_65332A="] in ";
char*s31_440571A="target";
char*s31_1604522960A="to_integer_8";
char*s31_2187464A="se_argc";
char*s291_188525860A="Corrupted *.id file (after ";
char*s35_16177A="help";
char*s31_2187483A="se_argv";
char*s293_1750778A="Warning";
char*s112_2107398012A="\nLiberty Eiffel The GNU Eiffel Compiler, Eiffel tools and libraries\n    release #(1)\n\nCopyright (C), #(2) - #(3)\n    http://www.liberty-eiffel.org\n";
char*s106_745978733A="\' is defined more than once";
char*s29_91413984A="# loadpath";
char*s31_1223936132A="deep_memcmp";
char*s31_37186806A="NATURAL_8";
char*s31_77832A="blank";
char*s283_1984169029A="Cannot find the class \"";
char*s31_65574A="TUPLE";
char*s31_197002151A="force_to_natural_64";
char*s31_550709268A="NATIVE_ARRAY_COLLECTOR";
char*s31_197002168A="force_to_natural_32";
char*s556_8935346A="\\\\SE.CFG";
char*s105_1836169859A="Unexpected character in hexadecimal unicode.";
char*s31_197002174A="force_to_natural_16";
char*s31_573080478A="raise_exception";
char*s113_1832417772A="Bad use of command `";
char*s31_53339A="ARRAY";
char*s291_838840612A="Previous IDs reloaded (max_id = ";
char*s29_1584951A="SE_SYS=";
char*s31_49076823A="clear_all";
char*s105_595894613A="Unexpected character in decimal ascii code.";
char*s556_2100865945A="\\\\LIBERTY.CFG";
char*s31_1202672333A="with_capacity";
char*s31_1744612358A="is_basic_expanded_type";
char*s106_42698349A="The key \'";
char*s112_45398669A="2022.dev (preparing Glenn Curtiss)";
char*s31_7748406A="REAL_128";
char*s31_16616A="last";
char*s32_16630A="jobs";
char*s106_1784452489A="Could not execute \'";
char*s32_56255230A="undefined";
char*s31_16639A="item";
char*s31_78150A="atan2";
char*s32_1730514379A="cpp_compiler_options";
char*s31_705019679A="die_with_code";
char*s31_1339128A="BOOLEAN";
char*s31_451899881A="type_attribute_name";
char*s31_1297145705A="is_finished";
char*s31_16686A="make";
char*s31_999658760A="THREAD_LOCK";
char*s29_197888231A="SE_C_MODE=";
char*s31_90544A="upper";
char*s556_311952415A="liberty-eiffel";
char*s792_1400894751A="... once unique buffer ..................................";
char*s31_839855894A="TEXT_FILE_WRITE";
char*s31_2126626A="or else";
char*s31_324411A="STRING";
char*s31_1739790308A="type_generator";
char*s31_16877A="lock";
char*s106_1043946153A="Unexpected text continuation";
char*s29_435095576A="# C mode: [";
char*s31_243411981A="bit_rotate";
char*s31_1419919903A="Maximum_character_code";
char*s113_2009849A="generic";
char*s809_630125369A="**** Fatal error: no $#(1) defined!";
char*s809_17725666A="#(1)/#(2)";
char*s31_1770803725A="from_external_sized_copy";
char*s31_41849945A="Real_bits";
char*s126_27561173A="Trying to read file \"";
char*s29_736680A="# tools";
char*s31_447584A="stderr";
char*s31_1554777A="POINTER";
char*s31_447600A="status";
char*s17_1216703285A="Some feature is not yet implemented (i.e. feature `not_yet_implemented\' of\nclass ANY has been called somewhere). Just run this code under the debugger\nto know the `not_yet_implemented\' caller.\n\nThe error occured in the type";
char*s31_591417242A="standard_twin";
char*s113_631091213A="\"[General] flavor\" key is missing.";
char*s31_1735712398A="object_as_pointer";
char*s31_51906905A="is_locked";
char*s31_1192911276A="object_memory";
char*s31_167970159A="TEXT_FILE_READ";
char*s106_126291003A="Bad program.\n(Closing \")\" not found.)";
char*s31_48856070A="arguments";
char*s31_1622700141A="deep_twin_from";
char*s113_1852458447A="      http://wiki.liberty-eiffel.org/index.php/";
char*s33_1364794873A="Unable to remove existing the file \"";
char*s106_618869258A="Inserted \':\'";
char*s105_174945438A="Error inside multi-line manifest string.";
char*s32_878084737A="LibertyEiffel";
char*s31_84881A="low_8";
char*s32_17221A="once";
char*s31_2038667775A="like Current";
char*s31_50246319A="generator";
char*s31_447851A="stdout";
char*s31_2098363273A="is_subnormal";
char*s31_349117293A="NATIVE_ARRAY";
char*s556_4992A="    ";
char*s31_84969A="lower";
char*s126_1018573728A="Obsolete $\173""";
char*s807_1932458562A="\' key in the ini file must be an integer.\n";
char*s113_422320405A="\nThe type of your operating system was automatically computed. Please verify.\n";
char*s31_1487451A="NATURAL";
char*s31_240810599A="c_inline_c";
char*s556_165909873A="/etc/liberty-eiffel";
char*s31_240810604A="c_inline_h";
char*s111_416839935A="C.ADRIAN, P.REDAELLI, R.MACK and others, see AUTHORS file";
char*s31_17422A="\174"">>>";
char*s31_2054549840A="manifest_put";
char*s31_337331A="Result";
char*s126_1293738877A=" is not set.\n";
char*s31_1483884743A="native_array_internals_from_generating_type";
char*s32_306165094A="smarteiffel_options";
char*s556_1707891936A="/.liberty-eiffel";
char*s556_11429A="HOME";
char*s123_300594A="File \"";
char*s31_1740332382A="Minimum_double";
char*s31_1644425991A="manifest_semicolon_check";
char*s31_267647687A="standard_is_equal";
char*s113_748280696A="\" environment variable to the \nabsolute path of a custom configuration file. This works on all operating systems.\n";
char*s293_1831619428A="Too many errors.\n";
char*s293_878860A="------\n";
char*s31_1979951A="dispose";
char*s31_386854A="calloc";
char*s31_1896328073A="alloc_native_data";
char*s31_79341A="count";
char*s293_60894A="Error";
char*s31_48672249A="bit_clear";
char*s31_572288431A="to_natural_16";
char*s809_2078852867A="#(1)/.config";
char*s31_572288437A="to_natural_32";
char*s126_7392907A="Command ";
char*s31_572288454A="to_natural_64";
char*s31_1680926299A="default_create";
char*s807_602797481A="Redundant key definition found in section [";
char*s113_120239233A="1234567890";
char*s31_17941A="wait";
char*s31_506823435A="manifest_creation";
char*s31_39002989A="PREDICATE";
char*s31_1937220099A="is_deep_equal";
char*s112_1461366457A="Version of command \"#(1)\" is:";
char*s31_247239028A="collecting";
char*s31_278061691A="timed_wait";
char*s807_1470715993A="Redundant definitions found for C mode \"";
char*s31_1549680A="REAL_32";
char*s29_652239368A="SE_C_MODES=\"";
char*s31_1549697A="REAL_64";
char*s31_1549703A="REAL_80";
char*s31_18110A="twin";
char*s32_292787264A="LIBERTY_CONF";
char*s31_1176378494A="type_can_be_assigned_to_item";
char*s31_55924644A="std_error";
char*s31_1673348567A="open_argument_index";
char*s29_1257682441A="environment";
char*s32_56927287A="c_linker_path";
char*s31_1831158645A="INTERNALS_HANDLER";
char*s293_927785894A="Fatal Error";
char*s31_1553736287A="REAL_EXTENDED";
char*s31_9712276A="as_16_ne";
char*s29_1605656896A="SE_C_MODE_CPP_COMPILER=";
char*s32_1168210079A="cpp_linker_path";
char*s113_165012750A="\"[General] os\" key is missing.";
char*s105_35386613A="...............................................";
char*s29_962311560A="Usage: se <command> [<args>]\n       se -environment \173""<c_mode>\175""\n       se -version\n       se -help\n\nse is the front-end to all Liberty Eiffel tools. It is usually followed by a\ncommand and the arguments of that command.\n\nIn all tools, you can write your options either X style (single-dashed), GNU\nstyle (double-dashed) or Windows style (slashed). These three options are the\nsame:\n                  -verbose   --verbose   /verbose\n\nTo get help on a particular command, type\n\n   se <command> -help\n\nYou already found out about this help:\n\n   se -help\n\nTo get a scriptable environment for Liberty Eiffel, type\n\n   se -environment\n\nThis will give you some variables that point to parts of the Liberty Eiffel\ndistribution, along with all the known tools. You can also give a C mode as\nsecond argument; it will give details about the command lines of the given C\nmode.\n\nThe available commands are:\n\n";
char*s710_8777401A="Universe";
char*s29_407786651A="SE_C_MODE_C_COMPILER_PATH=";
char*s32_1747646688A="c_strip_path";
char*s106_356743A="Bad program.\n(No program name found.)";
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
void se_print_run_time_stack (void) {
  handle(SE_HANDLE_ENTER_PRINT_STACK, NULL);
  fprintf(SE_ERR,"Application crash at run time.\n");
  fprintf(SE_ERR,"No trace when commpiled using option \"-boost\"\n");
  handle(SE_HANDLE_EXIT_PRINT_STACK, NULL);
}

void se_signal_handler(int sig) {
  handle(SE_HANDLE_RUNTIME_ERROR, NULL);
  printf("Received signal %d in '%s'.\n", sig, se_argv[0]);
  se_print_run_time_stack();
  exit(EXIT_FAILURE);
}

/*INTEGER_32*/T6 r2in_range(T2 C,T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>=*/((int32_t)(C))>=(/*`lower'*/a1)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(C))<=(/*`upper'*/a2)/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*INTEGER_32*/T2 r2max(T2 C,T2 a1){
T2 R=0;
if(/*RF8:>=*/((int32_t)(C))>=(/*`other'*/a1)/*:RF8*/){
R=C;
}
else{
R=/*`other'*/a1;
}
return R;
}/*--*/

/*INTEGER_32*/T6 r2is_even(T2 C){
T6 R=0;
R=((T6)((/*RF8:&*/(C&INT32_C(1))/*:RF8*/)==(INT8_C(0))));
return R;
}/*--*/

/*INTEGER_32*/T2 r2min(T2 C,T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(C))<=(/*`other'*/a1)/*:RF8*/){
R=C;
}
else{
R=/*`other'*/a1;
}
return R;
}/*--*/

/*INTEGER_32*/T2 r2_ix_9292(T2 C,T2 a1){
T2 R=0;
R=/*RF8:#\\*/((int32_t)(C))%(/*`other'*/a1)/*:RF8*/;
if(/*RF8:<*/((int32_t)(R))<(INT32_C(0))/*:RF8*/){
if(/*RF8:>*/((int32_t)(/*`other'*/a1))>(INT32_C(0))/*:RF8*/){
R=/*RF8:+*/((int32_t)(R))+(/*`other'*/a1)/*:RF8*/;
}
else{
R=/*RF8:-*/((int32_t)(R))-(/*`other'*/a1)/*:RF8*/;
}
}
return R;
}/*--*/

/*INTEGER_32*/T6 r2is_odd(T2 C){
T6 R=0;
R=((T6)((/*RF8:&*/(C&INT32_C(1))/*:RF8*/)!=(INT8_C(0))));
return R;
}/*--*/

/*INTEGER_32*/T6 r2bit_test(T2 C,T1 a1){
T6 R=0;
R=((T6)((/*RF8:&*/(/*RF8:bit_shift_right*/((C)>>(/*`idx'*/a1))/*:RF8*/&INT32_C(1))/*:RF8*/)!=(INT8_C(0))));
return R;
}/*--*/

/*INTEGER_32*/void r2append_in(T2 C,T0*a1){
T2 _val=0;
T2 _i=0;
T2 _idx=0;
if((C)==(INT8_C(0))){
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),((T3)'0'));
/*:RF3*/}
else{
if(/*RF8:>*/((int32_t)(C))>(INT32_C(0))/*:RF8*/){
_val=C;
_i=/*RF8:+*/((int32_t)((/*RF2:count*/(((T7*)/*`buffer'*/a1))->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),((T3)'\055'));
/*:RF3*/_i=/*RF8:+*/((int32_t)((/*RF2:count*/(((T7*)/*`buffer'*/a1))->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
_val=/*RF8:#\\*/((int32_t)(C))%(INT32_C(10))/*:RF8*/;
if(/*RF8:<=*/((int32_t)(_val))<=(INT32_C(0))/*:RF8*/){
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),/*RF4:decimal_digit*/r2decimal_digit(/*RF8:-*/-(_val)/*:RF8*/)/*:RF4*/);
/*:RF3*/_val=/*RF8:-*/-(/*RF8:#//*/((int32_t)(C))/(INT32_C(10))/*:RF8*/)/*:RF8*/;
}
else{
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),/*RF4:decimal_digit*/r2decimal_digit(/*RF8:+*/((int32_t)(/*RF8:-*/-(_val)/*:RF8*/))+(INT32_C(10))/*:RF8*/)/*:RF4*/);
/*:RF3*/_val=/*RF8:-*/((int32_t)(/*RF8:-*/-(/*RF8:#//*/((int32_t)(C))/(INT32_C(10))/*:RF8*/)/*:RF8*/))-(INT32_C(1))/*:RF8*/;
}
}
while(1){
/*until*/if((_val)==(INT8_C(0))) break;
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),/*RF4:decimal_digit*/r2decimal_digit(/*RF8:#\\*/((int32_t)(_val))%(INT32_C(10))/*:RF8*/)/*:RF4*/);
/*:RF3*/_val=/*RF8:#//*/((int32_t)(_val))/(INT32_C(10))/*:RF8*/;
}
_idx=(/*RF2:count*/(((T7*)/*`buffer'*/a1))->_count/*Tniiiiip*//*:RF2*/);
while(1){
/*until*/if(/*RF8:>=*/((int32_t)(_i))>=(_idx)/*:RF8*/) break;
/*RF3:swap*/r7swap(((T7*)/*`buffer'*/a1),_i,_idx);
/*:RF3*/_idx=/*RF8:-*/((int32_t)(_idx))-(INT32_C(1))/*:RF8*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
}/*--*/

/*INTEGER_32*/T3 r2decimal_digit(T2 C){
T3 R='\0';
R=/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(C))+(INT32_C(48))/*:RF8*/))/*:RF8*/;
return R;
}/*--*/

/*CHARACTER*/T3 r3to_upper(T3 C){
T3 R='\0';
if(/*RF8:<*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))<(INT16_C(97))/*:RF8*/){
R=C;
}
else{
if(/*RF8:>*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))>(INT16_C(122))/*:RF8*/){
R=C;
}
else{
R=/*RF8:to_character*/((T3)(/*RF8:-*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))-(INT16_C(32))/*:RF8*/))/*:RF8*/;
}
}
return R;
}/*--*/

/*CHARACTER*/T6 r3is_digit(T3 C){
T6 R=0;
if((((unsigned)(C))>=((unsigned)(((T3)'0'))))){
R=((T6)((((unsigned)(C))<=((unsigned)(((T3)'9'))))));
}
return R;
}/*--*/

/*CHARACTER*/T6 r3in_range(T3 C,T3 a1,T3 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)((((unsigned)(C))>=((unsigned)(/*`lower'*/a1)))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((((unsigned)(C))<=((unsigned)(/*`upper'*/a2)))));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*CHARACTER*/T1 r3value(T3 C){
T1 R=0;
R=/*RF8:-*/((int8_t)(/*RF8:to_integer_8*/((int8_t)(/*RF8:code*/T3code(C)/*:RF8*/))/*:RF8*/))-(INT8_C(48))/*:RF8*/;
return R;
}/*--*/

/*CHARACTER*/T6 r3is_separator(T3 C){
T6 R=0;
/*[inspect*/
switch(C){
case 0:
case 9:
case 10:
case 12:
case 13:
case 32:
R=((T6)(1));
break;
}
/*inspect]*/
return R;
}/*--*/

/*CHARACTER*/T1 r3decimal_value(T3 C){
T1 R=0;
R=/*RF8:-*/((int8_t)(/*RF8:to_integer_8*/((int8_t)(/*RF8:code*/T3code(C)/*:RF8*/))/*:RF8*/))-(INT8_C(48))/*:RF8*/;
return R;
}/*--*/

/*CHARACTER*/T1 r3hexadecimal_value(T3 C){
T1 R=0;
R=/*RF8:to_integer_8*/((int8_t)(/*RF8:code*/T3code(C)/*:RF8*/))/*:RF8*/;
if(/*RF8:<*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))<(INT16_C(65))/*:RF8*/){
R=/*RF8:-*/((int8_t)(R))-(INT8_C(48))/*:RF8*/;
}
else{
if(/*RF8:<*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))<(INT16_C(97))/*:RF8*/){
R=/*RF8:-*/((int8_t)(R))-(INT8_C(55))/*:RF8*/;
}
else{
R=/*RF8:-*/((int8_t)(R))-(INT8_C(87))/*:RF8*/;
}
}
return R;
}/*--*/

/*CHARACTER*/T3 r3to_lower(T3 C){
T3 R='\0';
if(/*RF8:<*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))<(INT16_C(65))/*:RF8*/){
R=C;
}
else{
if(/*RF8:>*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))>(INT16_C(90))/*:RF8*/){
R=C;
}
else{
R=/*RF8:to_character*/((T3)(/*RF8:+*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))+(INT16_C(32))/*:RF8*/))/*:RF8*/;
}
}
return R;
}/*--*/

/*CHARACTER*/T6 r3is_hexadecimal_digit(T3 C){
T6 R=0;
if(/*RF4:is_digit*/r3is_digit(C)/*:RF4*/){
R=((T6)(1));
}
else{
if((((unsigned)(C))>=((unsigned)(((T3)'a'))))){
R=((T6)((((unsigned)(C))<=((unsigned)(((T3)'f'))))));
}
else{
if((((unsigned)(C))>=((unsigned)(((T3)'A'))))){
R=((T6)((((unsigned)(C))<=((unsigned)(((T3)'F'))))));
}
}
}
return R;
}/*--*/

/*CHARACTER*/T6 r3_ix_60(T3 C,T3 a1){
T6 R=0;
R=((T6)(/*RF8:<*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))<(/*RF8:code*/T3code(/*`other'*/a1)/*:RF8*/)/*:RF8*/));
return R;
}/*--*/

/*CHARACTER*/T6 r3same_as(T3 C,T3 a1){
/*[INTERNAL_C_LOCAL list*/
T10 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
if((C)==(/*`other'*/a1)){
R=((T6)(1));
}
else{
tmp0/*inspectDynamicDispatchExpression*/=/*RF8:code*/T3code(C)/*:RF8*/;
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
R=((T6)((/*RF8:code*/T3code(C)/*:RF8*/)==(/*RF8:-*/((int16_t)(/*RF8:code*/T3code(/*`other'*/a1)/*:RF8*/))-(INT16_C(32))/*:RF8*/)));
break;
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
R=((T6)((/*RF8:code*/T3code(C)/*:RF8*/)==(/*RF8:+*/((int16_t)(/*RF8:code*/T3code(/*`other'*/a1)/*:RF8*/))+(INT16_C(32))/*:RF8*/)));
break;
}
/*inspect]*/
}
return R;
}/*--*/

/*CHARACTER*/T6 r3is_letter(T3 C){
T6 R=0;
if((((unsigned)(C))>=((unsigned)(((T3)'a'))))){
R=((T6)((((unsigned)(C))<=((unsigned)(((T3)'z'))))));
}
else{
if((((unsigned)(C))>=((unsigned)(((T3)'A'))))){
R=((T6)((((unsigned)(C))<=((unsigned)(((T3)'Z'))))));
}
}
return R;
}/*--*/

/*CHARACTER*/T6 r3_ix_6061(T3 C,T3 a1){
T6 R=0;
R=((T6)(/*RF8:<=*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))<=(/*RF8:code*/T3code(/*`other'*/a1)/*:RF8*/)/*:RF8*/));
return R;
}/*--*/

/*CHARACTER*/T6 r3_ix_6261(T3 C,T3 a1){
T6 R=0;
R=((T6)(/*RF8:>=*/((int16_t)(/*RF8:code*/T3code(C)/*:RF8*/))>=(/*RF8:code*/T3code(/*`other'*/a1)/*:RF8*/)/*:RF8*/));
return R;
}/*--*/

/*BOOLEAN*/T6 r6_ix_and(T6 C,T6 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(C));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*`other'*/a1));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*BOOLEAN*/T6 r6_ix_or(T6 C,T6 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*or else*/=((T6)(C));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*`other'*/a1));
}
R=((T6)(tmp0/*or else*/));
return R;
}/*--*/

/*POINTER*/T8 r8_ix_43(T8 C,T2 a1){
T8 R=(void*)0;
R=/*RF8:pointer_plus*/pointer_plus(C,/*`offset'*/a1)/*:RF8*/;
return R;
}/*--*/

/*INTEGER_16*/T6 r10in_range(T10 C,T10 a1,T10 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>=*/((int16_t)(C))>=(/*`lower'*/a1)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int16_t)(C))<=(/*`upper'*/a2)/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*INTEGER_16*/T10 r10max(T10 C,T10 a1){
T10 R=0;
if(/*RF8:>=*/((int16_t)(C))>=(/*`other'*/a1)/*:RF8*/){
R=C;
}
else{
R=/*`other'*/a1;
}
return R;
}/*--*/

/*INTEGER_16*/T10 r10min(T10 C,T10 a1){
T10 R=0;
if(/*RF8:<=*/((int16_t)(C))<=(/*`other'*/a1)/*:RF8*/){
R=C;
}
else{
R=/*`other'*/a1;
}
return R;
}/*--*/

/*INTEGER_16*/T2 r10to_integer_32(T10 C){
T2 R=0;
R=/*IC*/(T2)(C);
return R;
}/*--*/

/*INTEGER_64*/void r11append_in(T11 C,T0*a1){
T11 _val=0;
T2 _i=0;
T2 _idx=0;
if((C)==(INT8_C(0))){
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),((T3)'0'));
/*:RF3*/}
else{
if(/*RF8:>*/((int64_t)(C))>(INT64_C(0))/*:RF8*/){
_val=C;
_i=/*RF8:+*/((int32_t)((/*RF2:count*/(((T7*)/*`buffer'*/a1))->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),((T3)'\055'));
/*:RF3*/_i=/*RF8:+*/((int32_t)((/*RF2:count*/(((T7*)/*`buffer'*/a1))->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
_val=/*RF8:#\\*/((int64_t)(C))%(INT64_C(10))/*:RF8*/;
if(/*RF8:<=*/((int64_t)(_val))<=(INT64_C(0))/*:RF8*/){
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),/*RF4:decimal_digit*/r11decimal_digit(/*RF8:-*/-(_val)/*:RF8*/)/*:RF4*/);
/*:RF3*/_val=/*RF8:-*/-(/*RF8:#//*/((int64_t)(C))/(INT64_C(10))/*:RF8*/)/*:RF8*/;
}
else{
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),/*RF4:decimal_digit*/r11decimal_digit(/*RF8:+*/((int64_t)(/*RF8:-*/-(_val)/*:RF8*/))+(INT64_C(10))/*:RF8*/)/*:RF4*/);
/*:RF3*/_val=/*RF8:-*/((int64_t)(/*RF8:-*/-(/*RF8:#//*/((int64_t)(C))/(INT64_C(10))/*:RF8*/)/*:RF8*/))-(INT64_C(1))/*:RF8*/;
}
}
while(1){
/*until*/if((_val)==(INT8_C(0))) break;
/*RF3:extend*/r7extend(((T7*)/*`buffer'*/a1),/*RF4:decimal_digit*/r11decimal_digit(/*RF8:#\\*/((int64_t)(_val))%(INT64_C(10))/*:RF8*/)/*:RF4*/);
/*:RF3*/_val=/*RF8:#//*/((int64_t)(_val))/(INT64_C(10))/*:RF8*/;
}
_idx=(/*RF2:count*/(((T7*)/*`buffer'*/a1))->_count/*Tniiiiip*//*:RF2*/);
while(1){
/*until*/if(/*RF8:>=*/((int32_t)(_i))>=(_idx)/*:RF8*/) break;
/*RF3:swap*/r7swap(((T7*)/*`buffer'*/a1),_i,_idx);
/*:RF3*/_idx=/*RF8:-*/((int32_t)(_idx))-(INT32_C(1))/*:RF8*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
}/*--*/

/*INTEGER_64*/T3 r11decimal_digit(T11 C){
T3 R='\0';
R=/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:to_integer_32*/((int32_t)(C))/*:RF8*/))+(INT32_C(48))/*:RF8*/))/*:RF8*/;
return R;
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_reverse_index_of(T9 C,T3 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
R=/*`upper'*/a2;
while(1){
tmp0/*or else*/=((T6)(/*RF8:<*/((int32_t)(R))<(INT32_C(0))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*`element'*/a1)==(/*RF8:item*/(C)[R]/*:RF8*/)));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:-*/((int32_t)(R))-(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/T9 r9realloc(T9 C,T2 a1,T2 a2){
T9 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T3/*c*/))/*:RF8*/;
/*RF3:copy_from*/r9copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_index_of(T9 C,T3 a1,T2 a2,T2 a3){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
R=/*`start_index'*/a2;
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>(/*`upper'*/a3)/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*`element'*/a1)==(/*RF8:item*/(C)[R]/*:RF8*/)));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/T6 r9slice_fast_has(T9 C,T3 a1,T2 a2,T2 a3){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i=0;
_i=/*`lower'*/a2;
while(1){
tmp0/*or else*/=((T6)(R));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a3)/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
R=((T6)((/*`element'*/a1)==(/*RF8:item*/(C)[_i]/*:RF8*/)));
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/void r9copy_from(T9 C,T9 a1,T2 a2){
/*RF3:copy_slice_from*/r9copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/void r9move(T9 C,T2 a1,T2 a2,T2 a3){
T2 _i=0;
if((/*`offset'*/a3)==(INT8_C(0))){
}
else{
if(/*RF8:<*/((int32_t)(/*`offset'*/a3))<(INT32_C(0))/*:RF8*/){
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[/*RF8:+*/((int32_t)(_i))+(/*`offset'*/a3)/*:RF8*/]=(/*RF8:item*/(C)[_i]/*:RF8*/);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
else{
_i=/*`upper'*/a2;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(/*`lower'*/a1)/*:RF8*/) break;
/*RF7:put*/(C)[/*RF8:+*/((int32_t)(_i))+(/*`offset'*/a3)/*:RF8*/]=(/*RF8:item*/(C)[_i]/*:RF8*/);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}
}
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/void r9clear(T9 C,T2 a1,T2 a2){
T3 _v='\0';
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/void r9set_slice_with(T9 C,T3 a1,T2 a2,T2 a3){
T2 _i=0;
_i=/*`lower'*/a2;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a3)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(/*`v'*/a1);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/void r9clear_all(T9 C,T2 a1){
T3 _v='\0';
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/void r9set_all_with(T9 C,T3 a1,T2 a2){
/*RF3:set_slice_with*/r9set_slice_with(C,/*`v'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/T6 r9slice_fast_memcmp(T9 C,T2 a1,T9 a2,T2 a3,T2 a4){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i=0;
_i=/*RF8:-*/((int32_t)(/*`other_upper'*/a4))-(/*`other_lower'*/a3)/*:RF8*/;
while(1){
tmp0/*or else*/=((T6)(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF8:item*/(C)[/*RF8:+*/((int32_t)(/*`at'*/a1))+(_i)/*:RF8*/]/*:RF8*/)!=(/*RF8:item*/(/*`other'*/a2)[/*RF8:+*/((int32_t)(/*`other_lower'*/a3))+(_i)/*:RF8*/]/*:RF8*/)));
}
/*until*/if(tmp0/*or else*/) break;
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
R=((T6)(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/));
return R;
}/*--*/

/*NATIVE_ARRAY[CHARACTER]*/void r9copy_slice_from(T9 C,T9 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T3/*c*/));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[STRING]*/T912 r912realloc(T912 C,T2 a1,T2 a2){
T912 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r912copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[STRING]*/void r912copy_from(T912 C,T912 a1,T2 a2){
/*RF3:copy_slice_from*/r912copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[STRING]*/T6 r912safe_equal(T0*a1,T0*a2){
T6 R=0;
T0*_e_type=(void*)0;
if((/*`e1'*/a1)==((void*)(/*`e2'*/a2))){
R=((T6)(1));
}
else{
if((/*`e1'*/a1)==((void*)((void*)0))){
}
else{
if((/*`e2'*/a2)==((void*)((void*)0))){
}
else{
if((_e_type)==((void*)((void*)0))){
R=((T6)(/*RF4:is_equal*/r7is_equal(((T7*)/*`e1'*/a1),/*`e2'*/a2)/*:RF4*/));
}
}
}
}
return R;
}/*--*/

/*NATIVE_ARRAY[STRING]*/void r912clear(T912 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[STRING]*/void r912set_slice_with(T912 C,T0*a1,T2 a2,T2 a3){
T2 _i=0;
_i=/*`lower'*/a2;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a3)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(/*`v'*/a1);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[STRING]*/void r912clear_all(T912 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[STRING]*/void r912set_all_with(T912 C,T0*a1,T2 a2){
/*RF3:set_slice_with*/r912set_slice_with(C,/*`v'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[STRING]*/T2 r912first_index_of(T912 C,T0*a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>(/*`upper'*/a2)/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:safe_equal*/r912safe_equal(/*`element'*/a1,/*RF8:item*/(C)[R]/*:RF8*/)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*NATIVE_ARRAY[STRING]*/void r912copy_slice_from(T912 C,T912 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[STRING,STRING]]*/void r934clear_all(T934 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/T939 r939realloc(T939 C,T2 a1,T2 a2){
T939 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r939copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r939copy_from(T939 C,T939 a1,T2 a2){
/*RF3:copy_slice_from*/r939copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r939clear(T939 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r939clear_all(T939 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r939copy_slice_from(T939 C,T939 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/T943 r943realloc(T943 C,T2 a1,T2 a2){
T943 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r943copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r943copy_from(T943 C,T943 a1,T2 a2){
/*RF3:copy_slice_from*/r943copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r943clear(T943 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r943clear_all(T943 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r943copy_slice_from(T943 C,T943 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[FIXED_STRING],INTEGER_32]]*/void r955clear_all(T955 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/T958 r958realloc(T958 C,T2 a1,T2 a2){
T958 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r958copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/T2 r958fast_index_of(T958 C,T0*a1,T2 a2,T2 a3){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
R=/*`start_index'*/a2;
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>(/*`upper'*/a3)/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*`element'*/a1)==((void*)(/*RF8:item*/(C)[R]/*:RF8*/))));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/void r958copy_from(T958 C,T958 a1,T2 a2){
/*RF3:copy_slice_from*/r958copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/T6 r958safe_equal(T0*a1,T0*a2){
T6 R=0;
T0*_e_type=(void*)0;
if((/*`e1'*/a1)==((void*)(/*`e2'*/a2))){
R=((T6)(1));
}
else{
if((/*`e1'*/a1)==((void*)((void*)0))){
}
else{
if((/*`e2'*/a2)==((void*)((void*)0))){
}
else{
if((_e_type)==((void*)((void*)0))){
R=((T6)(/*RF4:is_equal*/r311is_equal(((T311*)/*`e1'*/a1),/*`e2'*/a2)/*:RF4*/));
}
}
}
}
return R;
}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/void r958clear(T958 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/void r958clear_all(T958 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/void r958remove(T958 C,T2 a1,T2 a2){
T2 _i=0;
_i=/*`index'*/a1;
while(1){
/*until*/if((_i)==(/*`upper'*/a2)) break;
/*RF7:put*/(C)[_i]=(/*RF8:item*/(C)[/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/]/*:RF8*/);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/T2 r958first_index_of(T958 C,T0*a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>(/*`upper'*/a2)/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:safe_equal*/r958safe_equal(/*`element'*/a1,/*RF8:item*/(C)[R]/*:RF8*/)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*NATIVE_ARRAY[FIXED_STRING]*/void r958copy_slice_from(T958 C,T958 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[POSITION]*/T959 r959realloc(T959 C,T2 a1,T2 a2){
T959 R=(void*)0;
R=/*RF8:calloc*/r959calloc(C,/*`new_nb_elts'*/a2)/*:RF8*/;
/*RF3:copy_from*/r959copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[POSITION]*/void r959copy_from(T959 C,T959 a1,T2 a2){
/*RF3:copy_slice_from*/r959copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[POSITION]*/T959 r959calloc(T959 C,T2 a1){
T959 R=(void*)0;
R=se_calloc(a1,sizeof(T354/*i*/));
r959clear_all(R,a1-1);
;
return R;
}/*--*/

/*NATIVE_ARRAY[POSITION]*/void r959clear(T959 C,T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 _v={0};
T2 _i=0;
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_v=tmp0/*locexp*/;
/*tmp0.unlock*/
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/{
T354 a1tmp=_v;
memcpy(&((C)[_i]),&a1tmp,sizeof(T354/*i*/));}
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[POSITION]*/void r959clear_all(T959 C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 _v={0};
T2 _i=0;
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_v=tmp0/*locexp*/;
/*tmp0.unlock*/
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/{
T354 a1tmp=_v;
memcpy(&((C)[_i]),&a1tmp,sizeof(T354/*i*/));}
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[POSITION]*/void r959slice_copy(T959 C,T2 a1,T959 a2,T2 a3,T2 a4){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*copy index*/=/*`src_min'*/a3;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(tmp0/*copy index*/))>(/*`src_max'*/a4)/*:RF8*/) break;
/*RF7:copy*/memcpy(&(/*NAI*/(C[/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(tmp0/*copy index*/))+(/*`at'*/a1)/*:RF8*/))-(/*`src_min'*/a3)/*:RF8*/])),&/*NAI*/((/*`src'*/a2)[tmp0/*copy index*/]),sizeof(T354/*i*/));
/*:RF7*/tmp0/*copy index*/=/*RF8:+*/((int32_t)(tmp0/*copy index*/))+(INT8_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[POSITION]*/void r959copy_slice_from(T959 C,T959 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/r959slice_copy(C,INT32_C(0),/*`model'*/a1,/*`lower'*/a2,/*`upper'*/a3);
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[CLASS_TEXT]*/void r960clear_all(T960 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[TAGGED_ERROR]*/T961 r961realloc(T961 C,T2 a1,T2 a2){
T961 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r961copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[TAGGED_ERROR]*/void r961copy_from(T961 C,T961 a1,T2 a2){
/*RF3:copy_slice_from*/r961copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[TAGGED_ERROR]*/void r961clear(T961 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[TAGGED_ERROR]*/void r961clear_all(T961 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[TAGGED_ERROR]*/void r961copy_slice_from(T961 C,T961 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r963clear_all(T963 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[ABSTRACT_STRING]*/T964 r964realloc(T964 C,T2 a1,T2 a2){
T964 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r964copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[ABSTRACT_STRING]*/void r964copy_from(T964 C,T964 a1,T2 a2){
/*RF3:copy_slice_from*/r964copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[ABSTRACT_STRING]*/void r964clear(T964 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[ABSTRACT_STRING]*/void r964clear_all(T964 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[ABSTRACT_STRING]*/void r964copy_slice_from(T964 C,T964 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[PROCEDURE[TUPLE]]*/void r965set_slice_with(T965 C,T0*a1,T2 a2,T2 a3){
T2 _i=0;
_i=/*`lower'*/a2;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a3)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(/*`v'*/a1);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[PROCEDURE[TUPLE]]*/void r965clear_all(T965 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[PROCEDURE[TUPLE]]*/void r965set_all_with(T965 C,T0*a1,T2 a2){
/*RF3:set_slice_with*/r965set_slice_with(C,/*`v'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[SE_CONFIG]*/T966 r966realloc(T966 C,T2 a1,T2 a2){
T966 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r966copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[SE_CONFIG]*/void r966copy_from(T966 C,T966 a1,T2 a2){
/*RF3:copy_slice_from*/r966copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[SE_CONFIG]*/void r966set_slice_with(T966 C,T0*a1,T2 a2,T2 a3){
T2 _i=0;
_i=/*`lower'*/a2;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a3)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(/*`v'*/a1);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[SE_CONFIG]*/void r966clear_all(T966 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[SE_CONFIG]*/void r966set_all_with(T966 C,T0*a1,T2 a2){
/*RF3:set_slice_with*/r966set_slice_with(C,/*`v'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[SE_CONFIG]*/void r966copy_slice_from(T966 C,T966 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[STRING_RECYCLING_ITEM]*/T967 r967realloc(T967 C,T2 a1,T2 a2){
T967 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T327/*pi*/))/*:RF8*/;
/*RF3:copy_from*/r967copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[STRING_RECYCLING_ITEM]*/void r967copy_from(T967 C,T967 a1,T2 a2){
/*RF3:copy_slice_from*/r967copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[STRING_RECYCLING_ITEM]*/void r967clear_all(T967 C,T2 a1){
T327 _v={(void*)0,0};
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/{
T327 a1tmp=_v;
memcpy(&((C)[_i]),&a1tmp,sizeof(T327/*pi*/));}
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[STRING_RECYCLING_ITEM]*/void r967slice_copy(T967 C,T2 a1,T967 a2,T2 a3,T2 a4){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*copy index*/=/*`src_min'*/a3;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(tmp0/*copy index*/))>(/*`src_max'*/a4)/*:RF8*/) break;
/*RF3:copy*/r327copy(&(/*NAI*/(C[/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(tmp0/*copy index*/))+(/*`at'*/a1)/*:RF8*/))-(/*`src_min'*/a3)/*:RF8*/])),/*NAI*/((/*`src'*/a2)[tmp0/*copy index*/]));
/*:RF3*/tmp0/*copy index*/=/*RF8:+*/((int32_t)(tmp0/*copy index*/))+(INT8_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[STRING_RECYCLING_ITEM]*/void r967copy_slice_from(T967 C,T967 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/r967slice_copy(C,INT32_C(0),/*`model'*/a1,/*`lower'*/a2,/*`upper'*/a3);
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r973clear_all(T973 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/T975 r975realloc(T975 C,T2 a1,T2 a2){
T975 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r975copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/void r975copy_from(T975 C,T975 a1,T2 a2){
/*RF3:copy_slice_from*/r975copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/void r975clear(T975 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/void r975clear_all(T975 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/void r975copy_slice_from(T975 C,T975 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[HASHED_SET_NODE[HASHED_STRING]]*/void r986clear_all(T986 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[ORDERED_DICTIONARY[STRING,STRING],STRING]]*/void r992clear_all(T992 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[INTEGER_16]*/T998 r998realloc(T998 C,T2 a1,T2 a2){
T998 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T10/*s*/))/*:RF8*/;
/*RF3:copy_from*/r998copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[INTEGER_16]*/void r998copy_from(T998 C,T998 a1,T2 a2){
/*RF3:copy_slice_from*/r998copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[INTEGER_16]*/void r998clear_all(T998 C,T2 a1){
T10 _v=0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[INTEGER_16]*/void r998copy_slice_from(T998 C,T998 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T10/*s*/));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[HASHED_STRING]*/void r1001clear(T1001 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[HASHED_STRING]*/void r1001clear_all(T1001 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[CLUSTER]*/void r1002clear_all(T1002 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[INTEGER_32]*/T1003 r1003realloc(T1003 C,T2 a1,T2 a2){
T1003 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T2/*i*/))/*:RF8*/;
/*RF3:copy_from*/r1003copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[INTEGER_32]*/T2 r1003fast_index_of(T1003 C,T2 a1,T2 a2,T2 a3){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
R=/*`start_index'*/a2;
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>(/*`upper'*/a3)/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*`element'*/a1)==(/*RF8:item*/(C)[R]/*:RF8*/)));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*NATIVE_ARRAY[INTEGER_32]*/void r1003copy_from(T1003 C,T1003 a1,T2 a2){
/*RF3:copy_slice_from*/r1003copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[INTEGER_32]*/void r1003clear_all(T1003 C,T2 a1){
T2 _v=0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[INTEGER_32]*/void r1003copy_slice_from(T1003 C,T1003 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T2/*i*/));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_16,HASHED_STRING]]*/void r1006clear_all(T1006 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]]*/void r1010clear_all(T1010 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]]*/void r1013clear_all(T1013 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[CLASSES]*/void r1017clear(T1017 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[CLASSES]*/void r1017clear_all(T1017 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCESS_POSIX,INTEGER_32]]*/void r1019clear_all(T1019 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCESS_WIN32,INTEGER_32]]*/void r1022clear_all(T1022 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]]*/void r1038clear_all(T1038 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[POINTER]*/void r1041clear_all(T1041 C,T2 a1){
T8 _v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[STACK[AVL_TREE_NODE[STRING]]]*/void r1042clear(T1042 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[STACK[AVL_TREE_NODE[STRING]]]*/void r1042clear_all(T1042 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[AVL_TREE_NODE[STRING]]*/T1043 r1043realloc(T1043 C,T2 a1,T2 a2){
T1043 R=(void*)0;
R=/*RF8:calloc*/se_calloc(/*`new_nb_elts'*/a2,sizeof(T0*))/*:RF8*/;
/*RF3:copy_from*/r1043copy_from(R,C,/*RF8:-*/((int32_t)(/*`old_nb_elts'*/a1))-(INT32_C(1))/*:RF8*/);
/*:RF3*/return R;
}/*--*/

/*NATIVE_ARRAY[AVL_TREE_NODE[STRING]]*/void r1043copy_from(T1043 C,T1043 a1,T2 a2){
/*RF3:copy_slice_from*/r1043copy_slice_from(C,/*`model'*/a1,INT32_C(0),/*`upper'*/a2);
/*:RF3*/}/*--*/

/*NATIVE_ARRAY[AVL_TREE_NODE[STRING]]*/void r1043clear(T1043 C,T2 a1,T2 a2){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`lower'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper'*/a2)/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[AVL_TREE_NODE[STRING]]*/void r1043clear_all(T1043 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NATIVE_ARRAY[AVL_TREE_NODE[STRING]]*/void r1043copy_slice_from(T1043 C,T1043 a1,T2 a2,T2 a3){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*`lower'*/a2;
memcpy((C)+(INT32_C(0)),(/*`model'*/a1)+a3tmp,((/*`upper'*/a3)-a3tmp+1)*sizeof(T0*));}
/*:RF7*/}/*--*/

/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]]*/void r1044clear_all(T1044 C,T2 a1){
T0*_v=(void*)0;
T2 _i=0;
_i=/*`upper'*/a1;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
/*RF7:put*/(C)[_i]=(_v);
/*:RF7*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*STRING*/T2 r7first_index_of(T7*C,T3 a1){
T2 R=0;
R=/*RF4:index_of*/r7index_of(C,/*`c'*/a1,INT32_C(1))/*:RF4*/;
return R;
}/*--*/

/*STRING*/T0*r7out(T7*C){
T0* R=(void*)0;
/*RF3:lock_tagged_out*/r7lock_tagged_out();
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)));
/*:RF3*//*RF3:out_in_tagged_out_memory*/r7out_in_tagged_out_memory(C);
/*:RF3*/R=/*RF8:twin*/r7twin((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)))/*:RF8*/;
/*RF3:unlock_tagged_out*/r7unlock_tagged_out();
/*:RF3*/return R;
}/*--*/

/*STRING*/void r7copy(T7*C,T0*a1){
T2 _c=0;
if((/*`other'*/a1)!=((void*)(C))){
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
_c=(/*RF2:count*/(((T7*)/*`other'*/a1))->_count/*Tniiiiip*//*:RF2*/);
if(/*RF8:>*/((int32_t)(_c))>(INT32_C(0))/*:RF8*/){
/*RF3:ensure_capacity*/r7ensure_capacity(C,_c);
/*:RF3*//*RF3:copy_slice_from*/r9copy_slice_from((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),(/*RF2:storage*/(((T7*)/*`other'*/a1))->_storage/*Tniiiiip*//*:RF2*/),(/*RF2:storage_lower*/(((T7*)/*`other'*/a1))->_storage_lower/*Tniiiiip*//*:RF2*/),/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(((T7*)/*`other'*/a1))->_storage_lower/*Tniiiiip*//*:RF2*/)))+(_c)/*:RF8*/))-(INT32_C(1))/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_count/*Tniiiiip*/)=_c;
}
}/*--*/

/*STRING*/T0*r7substring(T7*C,T2 a1,T2 a2){
T0* R=(void*)0;
T2 _new_count=0;
T9 _new_store=(void*)0;
_new_count=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*`end_index'*/a2))-(/*`start_index'*/a1)/*:RF8*/))+(INT32_C(1))/*:RF8*/;
_new_store=/*RF8:calloc*/se_calloc(/*RF8:+*/((int32_t)(_new_count))+(INT32_C(1))/*:RF8*/,sizeof(T3/*c*/))/*:RF8*/;
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`start_index'*/a1)/*:RF8*/))-(INT32_C(1))/*:RF8*/;
memcpy((_new_store)+(INT32_C(0)),((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))+a3tmp,((/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`end_index'*/a2)/*:RF8*/))-(INT32_C(1))/*:RF8*/)-a3tmp+1)*sizeof(T3/*c*/));}
/*:RF7*/R=/*RF8:standard_twin*/r7standard_twin(C)/*:RF8*/;
/*RF3:from_external_sized*/r7from_external_sized(((T7*)R),/*RF8:to_pointer*/((void*)(_new_store))/*:RF8*/,_new_count);
/*:RF3*/return R;
}/*--*/

/*STRING*/T0*r7standard_twin(T7*C){
T0* R=(void*)0;
R=((void*)se_malloc(sizeof(T7/*Tniiiiip*/)));
*((T7*)R)=*C;
return R;
}/*--*/

/*STRING*/T2 r7reverse_index_of(T7*C,T3 a1,T2 a2){
T2 R=0;
if(/*RF8:>*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
R=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*RF4:fast_reverse_index_of*/r9fast_reverse_index_of((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*`c'*/a1,/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(/*`start_index'*/a2))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)/*:RF4*/))-((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/))+(INT32_C(1))/*:RF8*/;
if(/*RF8:<=*/((int32_t)(R))<=(INT32_C(0))/*:RF8*/){
R=INT32_C(0);
}
}
return R;
}/*--*/

/*STRING*/T0*r7intern(T7*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_strings=(void*)0;
T2 _i=0;
_strings=/*RF4:reference_at*/r923reference_at((T923*)(/*RF6:interned*/r7interned()/*:RF6*/),/*RF4:computed_hash_code*/r7computed_hash_code(C)/*:RF4*/)/*:RF4*/;
if((_strings)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T924/*niii*/))));
*((T924*)tmp0/*new*/)=M924;
/*RF3:with_capacity*/r924with_capacity(((T924*)tmp0/*new*/),INT32_C(4));
/*:RF3*/_strings=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r923add((T923*)(/*RF6:interned*/r7interned()/*:RF6*/),_strings,/*RF4:computed_hash_code*/r7computed_hash_code(C)/*:RF4*/);
/*:RF3*/}
_i=INT32_C(0);
while(1){
tmp1/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/(((T924*)_strings))->_upper/*niii*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp1/*or else*/) break;
if(/*RF4:same_as*/r311same_as((T311*)(/*RF8:item*/((/*RF2:storage*/(((T924*)_strings))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/),(T0*)C)/*:RF4*/){
R=/*RF8:item*/((/*RF2:storage*/(((T924*)_strings))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/;
}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if((R)==((void*)((void*)0))){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T311/*T2pniiiipp*/))));
*((T311*)tmp0/*new*/)=M311;
/*RF3:make_from_string*/r311make_from_string(((T311*)tmp0/*new*/),(T0*)C);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:do_intern*/r311do_intern(((T311*)R),_strings);
/*:RF3*/}
return R;
}/*--*/

/*STRING*/void r7lock_tagged_out(void){
/*RF3:push*/r919push((T919*)(/*RF6:tagged_out_memories*/r7tagged_out_memories()/*:RF6*/),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)=/*RF4:best_fit*/r59best_fit((T59*)(/*RF6:tagged_out_memory_pool*/r7tagged_out_memory_pool()/*:RF6*/),INT32_C(32))/*:RF4*/;
}/*--*/

/*STRING*/T3 r7last(T7*C){
T3 R='\0';
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))[/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/]/*:RF8*/;
return R;
}/*--*/

/*STRING*/void r7remove_suffix(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
/*INTERNAL_C_LOCAL list]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:remove_tail*/r7remove_tail(C,tmp0/*count*/);
/*:RF3*/}/*--*/

/*STRING*/void r7put(T7*C,T3 a1,T2 a2){
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))[/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`i'*/a2)/*:RF8*/))-(INT32_C(1))/*:RF8*/]=(/*`c'*/a1);
/*:RF7*/}/*--*/

/*STRING*/void r7unlock_tagged_out(void){
/*RF3:recycle*/r59recycle((T59*)(/*RF6:tagged_out_memory_pool*/r7tagged_out_memory_pool()/*:RF6*/),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)=/*RF4:top*/r919top((T919*)(/*RF6:tagged_out_memories*/r7tagged_out_memories()/*:RF6*/))/*:RF4*/;
/*RF3:pop*/r919pop((T919*)(/*RF6:tagged_out_memories*/r7tagged_out_memories()/*:RF6*/));
/*:RF3*/}/*--*/

/*STRING*/T6 r7is_equal(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T6 tmp1;
T9 tmp2;
T6 tmp3;
T9 tmp4;
T2 tmp5;
T2 tmp6;
T2 tmp7;
T6 tmp8;
T3 tmp9;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T0*_nss=(void*)0;
T2 _i=0;
T2 _j=0;
if(can_assign_to39_from40((T0*)(/*`other'*/a1))){
_nss=/*`other'*/a1;
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)_nss))->_count/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp0/*count*/=(/*RF2:count*/(((T311*)_nss))->_count/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp1/*and then*/=((T6)(((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))==(tmp0/*count*/)));
if(tmp1/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp2/*storage*/=(/*RF2:storage*/(((T7*)_nss))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp2/*storage*/=(/*RF2:storage*/(((T311*)_nss))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp3/*or else*/=((T6)(((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))==((void*)(tmp2/*storage*/))));
if(tmp3/*or else*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp4/*storage*/=(/*RF2:storage*/(((T7*)_nss))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp4/*storage*/=(/*RF2:storage*/(((T311*)_nss))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp5/*storage_lower*/=(/*RF2:storage_lower*/(((T7*)_nss))->_storage_lower/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp5/*storage_lower*/=(/*RF2:storage_lower*/(((T311*)_nss))->_storage_lower/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp6/*storage_lower*/=(/*RF2:storage_lower*/(((T7*)_nss))->_storage_lower/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp6/*storage_lower*/=(/*RF2:storage_lower*/(((T311*)_nss))->_storage_lower/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp3/*or else*/=((T6)(/*RF4:slice_fast_memcmp*/r9slice_fast_memcmp((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),(/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/),tmp4/*storage*/,tmp5/*storage_lower*/,/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(tmp6/*storage_lower*/))+((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)/*:RF4*/));
}
tmp1/*and then*/=((T6)(tmp3/*or else*/));
}
R=((T6)(tmp1/*and then*/));
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp7/*count*/=(/*RF2:count*/(((T7*)/*`other'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp7/*count*/=(/*RF2:count*/(((T311*)/*`other'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp7/*count*/=/*RF4:count*/r321count(((T321*)/*`other'*/a1))/*:RF4*/;
}
/*inspect]*/
R=((T6)(((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))==(tmp7/*count*/)));
_i=INT32_C(1);
_j=INT32_C(1);
while(1){
tmp8/*or else*/=((T6)((R)==(0)));
if(tmp8/*or else*/){
}
else{
tmp8/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp8/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp9/*item*/=/*RF4:item*/r7item(((T7*)/*`other'*/a1),_j)/*:RF4*/;
break;
case 311:
tmp9/*item*/=/*RF4:item*/r311item(((T311*)/*`other'*/a1),_j)/*:RF4*/;
break;
default:;
tmp9/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`other'*/a1))/*:RF4*/),_j)/*:RF4*/;
}
/*inspect]*/
R=((T6)((/*RF4:item*/r7item(C,_i)/*:RF4*/)==(tmp9/*item*/)));
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
_j=/*RF8:+*/((int32_t)(_j))+(INT32_C(1))/*:RF8*/;
}
}
return R;
}/*--*/

/*STRING*/T0*r7_ix_35(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T321/*T4p*/))));
*((T321*)tmp0/*new*/)=M321;
/*RF3:from_string_and_arg*/r321from_string_and_arg(((T321*)tmp0/*new*/),(T0*)C,/*`a_value'*/a1);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/

/*STRING*/void r7insert_character(T7*C,T3 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))>(INT32_C(0))/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(/*`i'*/a2))<=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
}
if(tmp0/*and then*/){
if(/*RF8:>*/((int32_t)(/*`i'*/a2))>(INT32_C(1))/*:RF8*/){
/*RF3:move*/r9move((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),(/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/),/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`i'*/a2)/*:RF8*/))-(INT32_C(1))/*:RF8*/,INT32_C(-1));
/*:RF3*/}
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=/*RF8:-*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}
else{
/*RF3:ensure_capacity*/r7ensure_capacity(C,/*RF8:+*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/))+(INT32_C(1))/*:RF8*/);
/*:RF3*/if(/*RF8:<=*/((int32_t)(/*`i'*/a2))<=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*RF3:move*/r9move((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))-(INT32_C(1))/*:RF8*/))+(/*`i'*/a2)/*:RF8*/,/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))-(INT32_C(1))/*:RF8*/))+((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/,INT32_C(1));
/*:RF3*/}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))[/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`i'*/a2)/*:RF8*/))-(INT32_C(1))/*:RF8*/]=(/*`c'*/a1);
/*:RF7*//*SFN*/(C->_count/*Tniiiiip*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/
T0*oBC40interned=(void*)0;
int fBC40interned=0;

/*STRING*/T0*r7interned(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC40interned==0){fBC40interned=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T923/*pniiii*/))));
*((T923*)tmp0/*new*/)=M923;
/*RF3:make*/r923make(((T923*)tmp0/*new*/));
/*:RF3*/oBC40interned=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC40interned;
}/*--*/

/*STRING*/T3 r7item(T7*C,T2 a1){
T3 R='\0';
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))[/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*`i'*/a1))-(INT32_C(1))/*:RF8*/))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/]/*:RF8*/;
return R;
}/*--*/

/*STRING*/T0*r7_ix_43(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T0* tmp1;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`other'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`other'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`other'*/a1))/*:RF4*/;
}
/*inspect]*/
tmp1/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp1/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp1/*new*/),/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+(tmp0/*count*/)/*:RF8*/);
/*:RF3*/R=tmp1/*new*/;
/*tmp1.unlock*/
/*RF3:append*/r7append(((T7*)R),(T0*)C);
/*:RF3*//*RF3:append*/r7append(((T7*)R),/*`other'*/a1);
/*:RF3*/return R;
}/*--*/

/*STRING*/T6 r7valid_index(T7*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(INT32_C(1)))<=(/*`i'*/a1)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(/*`i'*/a1))<=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/
T0*oBC17tagged_out_memory_pool=(void*)0;
int fBC17tagged_out_memory_pool=0;

/*STRING*/T0*r7tagged_out_memory_pool(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17tagged_out_memory_pool==0){fBC17tagged_out_memory_pool=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T59/*0ppi*/))));
*((T59*)tmp0/*new*/)=M59;
/*RF3:make*/r59make(((T59*)tmp0/*new*/));
/*:RF3*/oBC17tagged_out_memory_pool=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17tagged_out_memory_pool;
}/*--*/

/*STRING*/void r7append(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _needed_capacity=0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
_needed_capacity=/*RF8:+*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+(tmp0/*count*/)/*:RF8*/))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/;
/*RF3:ensure_capacity*/r7ensure_capacity(C,_needed_capacity);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
/*auto-unlock tmp0*/tmp0/*upper*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*upper*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*upper*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:slice_copy*/r7slice_copy(C,(/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/),/*`s'*/a1,INT32_C(1),tmp0/*upper*/);
/*:RF3*//*SFN*/(C->_count/*Tniiiiip*/)=/*RF8:-*/((int32_t)(_needed_capacity))-((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/;
}/*--*/

/*STRING*/void r7print_on(T7*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file'*/a1))->id)){
case 69:
/*RF3:put_natively_stored_string*/r69put_natively_stored_string(((T69*)/*`file'*/a1),(T0*)C);
/*:RF3*/break;
case 78:
/*RF3:put_abstract_string*/r78put_abstract_string((T0*)C);
/*:RF3*/break;
case 81:
/*RF3:put_natively_stored_string*/r81put_natively_stored_string((T0*)C);
/*:RF3*/break;
case 664:
/*RF3:put_abstract_string*/r664put_abstract_string((T0*)C);
/*:RF3*/break;
case 855:
/*RF3:put_abstract_string*/r855put_abstract_string(((T855*)/*`file'*/a1),(T0*)C);
/*:RF3*/break;
default:;
/*RF3:put_abstract_string*/r858put_abstract_string(((T858*)/*`file'*/a1),(T0*)C);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*STRING*/T6 r7_ix_60(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T6 tmp1;
T3 tmp2;
T3 tmp3;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i=0;
T2 _maxi=0;
_i=INT32_C(1);
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`other'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`other'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`other'*/a1))/*:RF4*/;
}
/*inspect]*/
_maxi=/*RF4:min*/r2min((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/),tmp0/*count*/)/*:RF4*/;
while(1){
tmp1/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>(_maxi)/*:RF8*/));
if(tmp1/*or else*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp2/*item*/=/*RF4:item*/r7item(((T7*)/*`other'*/a1),_i)/*:RF4*/;
break;
case 311:
tmp2/*item*/=/*RF4:item*/r311item(((T311*)/*`other'*/a1),_i)/*:RF4*/;
break;
default:;
tmp2/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`other'*/a1))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
tmp1/*or else*/=((T6)((/*RF4:item*/r7item(C,_i)/*:RF4*/)!=(tmp2/*item*/)));
}
/*until*/if(tmp1/*or else*/) break;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(/*RF8:<=*/((int32_t)(_i))<=(_maxi)/*:RF8*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp3/*item*/=/*RF4:item*/r7item(((T7*)/*`other'*/a1),_i)/*:RF4*/;
break;
case 311:
tmp3/*item*/=/*RF4:item*/r311item(((T311*)/*`other'*/a1),_i)/*:RF4*/;
break;
default:;
tmp3/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`other'*/a1))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
R=((T6)((((unsigned)(/*RF4:item*/r7item(C,_i)/*:RF4*/))<((unsigned)(tmp3/*item*/)))));
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
/*auto-unlock tmp0*/tmp0/*count*/=(/*RF2:count*/(((T7*)/*`other'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`other'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`other'*/a1))/*:RF4*/;
}
/*inspect]*/
R=((T6)(/*RF8:<=*/((int32_t)(_i))<=(tmp0/*count*/)/*:RF8*/));
}
return R;
}/*--*/

/*STRING*/void r7make_from_string(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _c=0;
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`model'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`model'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`model'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`model'*/a1))/*:RF4*/;
}
/*inspect]*/
_c=tmp0/*count*/;
/*SFN*/(C->_count/*Tniiiiip*/)=_c;
if(/*RF8:>*/((int32_t)(_c))>(INT32_C(0))/*:RF8*/){
/*RF3:ensure_capacity*/r7ensure_capacity(C,_c);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*`model'*/a1))->id)){
case 7:
/*auto-unlock tmp0*/tmp0/*upper*/=(/*RF2:count*/(((T7*)/*`model'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*upper*/=(/*RF2:count*/(((T311*)/*`model'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*upper*/=/*RF4:count*/r321count(((T321*)/*`model'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:slice_copy*/r7slice_copy(C,INT32_C(0),/*`model'*/a1,INT32_C(1),tmp0/*upper*/);
/*:RF3*/}
/*RF3:next_generation*/r7next_generation(C);
/*:RF3*/}/*--*/

/*STRING*/void r7copy_slice_to_native(T7*C,T2 a1,T2 a2,T9 a3,T2 a4){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`start_index'*/a1)/*:RF8*/))-(INT32_C(1))/*:RF8*/;
memcpy((/*`target'*/a3)+(/*`target_offset'*/a4),((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))+a3tmp,((/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`end_index'*/a2)/*:RF8*/))-(INT32_C(1))/*:RF8*/)-a3tmp+1)*sizeof(T3/*c*/));}
/*:RF7*/}/*--*/

/*STRING*/T2 r7index_of(T7*C,T3 a1,T2 a2){
T2 R=0;
T2 _index=0;
if(/*RF8:<=*/((int32_t)(/*`start_index'*/a2))<=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
_index=/*RF4:fast_index_of*/r9fast_index_of((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*`c'*/a1,/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(/*`start_index'*/a2))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/,/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
R=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(INT32_C(1)))+(_index)/*:RF8*/))-((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/;
}
else{
R=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*STRING*/void r7out_in_tagged_out_memory(T7*C){
/*RF3:append*/r7append((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),(T0*)C);
/*:RF3*/}/*--*/

/*STRING*/void r7make_empty(T7*C){
/*RF3:make*/r7make(C,INT32_C(0));
/*:RF3*/}/*--*/

/*STRING*/void r7slice_copy(T7*C,T2 a1,T0*a2,T2 a3,T2 a4){
if(/*RF8:>=*/((int32_t)(/*`end_index'*/a4))>=(/*`start_index'*/a3)/*:RF8*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`source'*/a2))->id)){
case 7:
/*RF3:copy_slice_to_native*/r7copy_slice_to_native(((T7*)/*`source'*/a2),/*`start_index'*/a3,/*`end_index'*/a4,(/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*RF8:+*/((int32_t)(/*`at'*/a1))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/);
/*:RF3*/break;
case 311:
/*RF3:copy_slice_to_native*/r311copy_slice_to_native(((T311*)/*`source'*/a2),/*`start_index'*/a3,/*`end_index'*/a4,(/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*RF8:+*/((int32_t)(/*`at'*/a1))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/);
/*:RF3*/break;
default:;
/*RF3:copy_slice_to_native*/r321copy_slice_to_native(((T321*)/*`source'*/a2),/*`start_index'*/a3,/*`end_index'*/a4,(/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*RF8:+*/((int32_t)(/*`at'*/a1))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/);
/*:RF3*/}
/*inspect]*/
}
}/*--*/

/*STRING*/T6 r7has_suffix(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T2 tmp1;
T6 tmp2;
T3 tmp3;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i1=0;
T2 _i2=0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
if(/*RF8:<=*/((int32_t)(tmp0/*count*/))<=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp1/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp1/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp1/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
_i1=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))-(tmp1/*count*/)/*:RF8*/))+(INT32_C(1))/*:RF8*/;
_i2=INT32_C(1);
while(1){
tmp2/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i1))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
if(tmp2/*or else*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp3/*item*/=/*RF4:item*/r7item(((T7*)/*`s'*/a1),_i2)/*:RF4*/;
break;
case 311:
tmp3/*item*/=/*RF4:item*/r311item(((T311*)/*`s'*/a1),_i2)/*:RF4*/;
break;
default:;
tmp3/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`s'*/a1))/*:RF4*/),_i2)/*:RF4*/;
}
/*inspect]*/
tmp2/*or else*/=((T6)((/*RF4:item*/r7item(C,_i1)/*:RF4*/)!=(tmp3/*item*/)));
}
/*until*/if(tmp2/*or else*/) break;
_i1=/*RF8:+*/((int32_t)(_i1))+(INT32_C(1))/*:RF8*/;
_i2=/*RF8:+*/((int32_t)(_i2))+(INT32_C(1))/*:RF8*/;
}
R=((T6)(/*RF8:>*/((int32_t)(_i1))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
}
return R;
}/*--*/

/*STRING*/T6 r7is_integer(T7*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i=0;
T2 _state=0;
T2 _value=0;
T2 _bound=0;
T2 _critical_bound=0;
T3 _cc='\0';
_i=INT32_C(1);
while(1){
tmp0/*or else*/=((T6)((_state)==(INT8_C(2))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
_cc=/*RF4:item*/r7item(C,_i)/*:RF4*/;
/*[inspect*/
switch(_state){
case 0:
if(/*RF4:is_separator*/r3is_separator(_cc)/*:RF4*/){
}
else{
if((_cc)==(((T3)'\053'))){
_bound=INT32_C(7);
_critical_bound=INT32_C(214748364);
_state=INT32_C(1);
}
else{
if((_cc)==(((T3)'\055'))){
_bound=INT32_C(8);
_critical_bound=INT32_C(214748364);
_state=INT32_C(1);
}
else{
if(/*RF4:is_digit*/r3is_digit(_cc)/*:RF4*/){
_bound=INT32_C(7);
_critical_bound=INT32_C(214748364);
_value=/*IC*/(T2)(/*RF4:decimal_value*/r3decimal_value(_cc)/*:RF4*/);
_state=INT32_C(3);
}
else{
_state=INT32_C(2);
}
}
}
}
break;
case 1:
if(/*RF4:is_digit*/r3is_digit(_cc)/*:RF4*/){
_value=/*IC*/(T2)(/*RF4:decimal_value*/r3decimal_value(_cc)/*:RF4*/);
_state=INT32_C(3);
}
else{
_state=INT32_C(2);
}
break;
case 3:
if(/*RF4:is_digit*/r3is_digit(_cc)/*:RF4*/){
_value=/*RF8:+*/((int32_t)(/*RF8:**/((int32_t)(INT32_C(10)))*(_value)/*:RF8*/))+(/*IC*/(T2)(/*RF4:decimal_value*/r3decimal_value(_cc)/*:RF4*/))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(_value))>=(_critical_bound)/*:RF8*/){
_state=INT32_C(4);
}
}
else{
if(/*RF4:is_separator*/r3is_separator(_cc)/*:RF4*/){
_state=INT32_C(5);
}
else{
_state=INT32_C(2);
}
}
break;
case 4:
if(/*RF4:is_digit*/r3is_digit(_cc)/*:RF4*/){
if(/*RF8:>*/((int32_t)(_value))>(_critical_bound)/*:RF8*/){
_state=INT32_C(2);
}
else{
if(/*RF8:<=*/((int32_t)(/*IC*/(T2)(/*RF4:decimal_value*/r3decimal_value(_cc)/*:RF4*/)))<=(_bound)/*:RF8*/){
_state=INT32_C(5);
}
else{
_state=INT32_C(2);
}
}
}
else{
if(/*RF4:is_separator*/r3is_separator(_cc)/*:RF4*/){
_state=INT32_C(5);
}
else{
_state=INT32_C(2);
}
}
break;
default:;
if(/*RF4:is_separator*/r3is_separator(_cc)/*:RF4*/){
}
else{
_state=INT32_C(2);
}
}
/*inspect]*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
R=((T6)(/*RF8:>=*/((int32_t)(_state))>=(INT32_C(3))/*:RF8*/));
return R;
}/*--*/

/*STRING*/void r7remove_tail(T7*C,T2 a1){
if(/*RF8:>=*/((int32_t)(/*`n'*/a1))>=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
/*SFN*/(C->_count/*Tniiiiip*/)=INT32_C(0);
}
else{
/*SFN*/(C->_count/*Tniiiiip*/)=/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))-(/*`n'*/a1)/*:RF8*/;
}
}/*--*/

/*STRING*/void r7make(T7*C,T2 a1){
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
if(/*RF8:>*/((int32_t)(/*`needed_capacity'*/a1))>(INT32_C(0))/*:RF8*/){
/*RF3:ensure_capacity*/r7ensure_capacity(C,/*`needed_capacity'*/a1);
/*:RF3*/}
/*SFN*/(C->_count/*Tniiiiip*/)=INT32_C(0);
/*RF3:next_generation*/r7next_generation(C);
/*:RF3*/}/*--*/

/*STRING*/T6 r7has_prefix(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T2 tmp1;
T2 tmp2;
T6 tmp3;
T3 tmp4;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i=0;
T2 _ip=0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`p'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`p'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`p'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`p'*/a1))/*:RF4*/;
}
/*inspect]*/
if(/*RF8:<=*/((int32_t)(tmp0/*count*/))<=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`p'*/a1))->id)){
case 7:
tmp1/*count*/=(/*RF2:count*/(((T7*)/*`p'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp1/*count*/=(/*RF2:count*/(((T311*)/*`p'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp1/*count*/=/*RF4:count*/r321count(((T321*)/*`p'*/a1))/*:RF4*/;
}
/*inspect]*/
_i=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(INT32_C(1)))+(tmp1/*count*/)/*:RF8*/))-(INT32_C(1))/*:RF8*/;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`p'*/a1))->id)){
case 7:
tmp2/*upper*/=(/*RF2:count*/(((T7*)/*`p'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp2/*upper*/=(/*RF2:count*/(((T311*)/*`p'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp2/*upper*/=/*RF4:count*/r321count(((T321*)/*`p'*/a1))/*:RF4*/;
}
/*inspect]*/
_ip=tmp2/*upper*/;
while(1){
tmp3/*or else*/=((T6)(/*RF8:<*/((int32_t)(_i))<(INT32_C(1))/*:RF8*/));
if(tmp3/*or else*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`p'*/a1))->id)){
case 7:
tmp4/*item*/=/*RF4:item*/r7item(((T7*)/*`p'*/a1),_ip)/*:RF4*/;
break;
case 311:
tmp4/*item*/=/*RF4:item*/r311item(((T311*)/*`p'*/a1),_ip)/*:RF4*/;
break;
default:;
tmp4/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`p'*/a1))/*:RF4*/),_ip)/*:RF4*/;
}
/*inspect]*/
tmp3/*or else*/=((T6)((/*RF4:item*/r7item(C,_i)/*:RF4*/)!=(tmp4/*item*/)));
}
/*until*/if(tmp3/*or else*/) break;
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
_ip=/*RF8:-*/((int32_t)(_ip))-(INT32_C(1))/*:RF8*/;
}
R=((T6)(/*RF8:<*/((int32_t)(_i))<(INT32_C(1))/*:RF8*/));
}
return R;
}/*--*/

/*STRING*/void r7clear_count(T7*C){
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
/*SFN*/(C->_count/*Tniiiiip*/)=INT32_C(0);
}/*--*/

/*STRING*/void r7make_filled(T7*C,T3 a1,T2 a2){
/*RF3:make*/r7make(C,/*`n'*/a2);
/*:RF3*//*SFN*/(C->_count/*Tniiiiip*/)=/*`n'*/a2;
/*RF3:fill_with*/r7fill_with(C,/*`c'*/a1);
/*:RF3*//*RF3:next_generation*/r7next_generation(C);
/*:RF3*/}/*--*/

/*STRING*/T0*r7as_upper(T7*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make_from_string*/r7make_from_string(((T7*)tmp0/*new*/),(T0*)C);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:to_upper*/r7to_upper(((T7*)R));
/*:RF3*/return R;
}/*--*/

/*STRING*/void r7append_substring(T7*C,T0*a1,T2 a2,T2 a3){
T2 _needed_capacity=0;
_needed_capacity=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/))+(/*`end_index'*/a3)/*:RF8*/))-(/*`start_index'*/a2)/*:RF8*/))+(INT32_C(1))/*:RF8*/;
/*RF3:ensure_capacity*/r7ensure_capacity(C,_needed_capacity);
/*:RF3*//*RF3:slice_copy*/r7slice_copy(C,(/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/),/*`s'*/a1,/*`start_index'*/a2,/*`end_index'*/a3);
/*:RF3*//*SFN*/(C->_count/*Tniiiiip*/)=_needed_capacity;
}/*--*/
T0*oBC17tagged_out_memories=(void*)0;
int fBC17tagged_out_memories=0;

/*STRING*/T0*r7tagged_out_memories(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17tagged_out_memories==0){fBC17tagged_out_memories=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T919/*niii*/))));
*((T919*)tmp0/*new*/)=M919;
/*RF3:make*/r919make(((T919*)tmp0/*new*/));
/*:RF3*/oBC17tagged_out_memories=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17tagged_out_memories;
}/*--*/

/*STRING*/void r7from_external_sized(T7*C,T8 a1,T2 a2){
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
/*SFN*/(C->_storage/*Tniiiiip*/)=/*RF8:from_pointer*//*`p'*/a1/*:RF8*/;
/*SFN*/(C->_count/*Tniiiiip*/)=/*`size'*/a2;
/*SFN*/(C->_capacity/*Tniiiiip*/)=/*`size'*/a2;
if(/*RF8:>*/((int32_t)((/*RF2:storage_signature_count*/(C)->_storage_signature_count/*Tniiiiip*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_has_storage_signature/*Tniiiiip*/)=((T6)(0));
}
/*RF3:next_generation*/r7next_generation(C);
/*:RF3*/}/*--*/

/*STRING*/void r7extend(T7*C,T3 a1){
/*RF3:insert_character*/r7insert_character(C,/*`c'*/a1,/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/);
/*:RF3*/}/*--*/

/*STRING*/void r7remove_last(T7*C){
/*SFN*/(C->_count/*Tniiiiip*/)=/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}/*--*/

/*STRING*/T6 r7has(T7*C,T3 a1){
T6 R=0;
R=((T6)(/*RF4:slice_fast_has*/r9slice_fast_has((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*`c'*/a1,(/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/),/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)/*:RF4*/));
return R;
}/*--*/

/*STRING*/void r7keep_head(T7*C,T2 a1){
if(/*RF8:<*/((int32_t)(/*`n'*/a1))<((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*RF3:remove_tail*/r7remove_tail(C,/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))-(/*`n'*/a1)/*:RF8*/);
/*:RF3*/}
}/*--*/

/*STRING*/T2 r7to_integer(T7*C){
T2 R=0;
T2 _i=0;
T3 _cc='\0';
T6 _negative=0;
_i=INT32_C(1);
while(1){
/*until*/if((/*RF4:is_separator*/r3is_separator(/*RF4:item*/r7item(C,_i)/*:RF4*/)/*:RF4*/)==(0)) break;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
_cc=/*RF4:item*/r7item(C,_i)/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
if((_cc)==(((T3)'\053'))){
_cc=/*RF4:item*/r7item(C,_i)/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
else{
if((_cc)==(((T3)'\055'))){
_negative=((T6)(1));
_cc=/*RF4:item*/r7item(C,_i)/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
R=/*IC*/(T2)(/*RF8:-*/-(/*RF4:value*/r3value(_cc)/*:RF4*/)/*:RF8*/);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
_cc=/*RF4:item*/r7item(C,_i)/*:RF4*/;
if(/*RF4:is_digit*/r3is_digit(_cc)/*:RF4*/){
R=/*RF8:-*/((int32_t)(/*RF8:**/((int32_t)(INT32_C(10)))*(R)/*:RF8*/))-(/*IC*/(T2)(/*RF4:decimal_value*/r3decimal_value(_cc)/*:RF4*/))/*:RF8*/;
}
else{
_i=(/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/);
}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(_negative){
}
else{
R=/*RF8:-*/-(R)/*:RF8*/;
}
return R;
}/*--*/
T0*oBC17tagged_out_memory_ref=(void*)0;

/*STRING*/void r7fill_with(T7*C,T3 a1){
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
/*RF3:set_all_with*/r9set_all_with((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*`c'*/a1,/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))-(INT32_C(1))/*:RF8*/);
/*:RF3*/}/*--*/

/*STRING*/T6 r7same_as(T7*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T6 tmp1;
T9 tmp2;
T6 tmp3;
T9 tmp4;
T2 tmp5;
T2 tmp6;
T3 tmp7;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T0*_nss=(void*)0;
T2 _i=0;
T2 _j=0;
if(can_assign_to39_from40((T0*)(/*`other'*/a1))){
_nss=/*`other'*/a1;
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)_nss))->_count/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp0/*count*/=(/*RF2:count*/(((T311*)_nss))->_count/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp1/*and then*/=((T6)(((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))==(tmp0/*count*/)));
if(tmp1/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp2/*storage*/=(/*RF2:storage*/(((T7*)_nss))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp2/*storage*/=(/*RF2:storage*/(((T311*)_nss))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp3/*or else*/=((T6)(((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))==((void*)(tmp2/*storage*/))));
if(tmp3/*or else*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp4/*storage*/=(/*RF2:storage*/(((T7*)_nss))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp4/*storage*/=(/*RF2:storage*/(((T311*)_nss))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp5/*storage_lower*/=(/*RF2:storage_lower*/(((T7*)_nss))->_storage_lower/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp5/*storage_lower*/=(/*RF2:storage_lower*/(((T311*)_nss))->_storage_lower/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp6/*storage_lower*/=(/*RF2:storage_lower*/(((T7*)_nss))->_storage_lower/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp6/*storage_lower*/=(/*RF2:storage_lower*/(((T311*)_nss))->_storage_lower/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp3/*or else*/=((T6)(/*RF4:slice_fast_memcmp*/r9slice_fast_memcmp((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),(/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/),tmp4/*storage*/,tmp5/*storage_lower*/,/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(tmp6/*storage_lower*/))+((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)/*:RF4*/));
}
tmp1/*and then*/=((T6)(tmp3/*or else*/));
}
R=((T6)(tmp1/*and then*/));
}
if((R)==(0)){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
/*auto-unlock tmp0*/tmp0/*count*/=(/*RF2:count*/(((T7*)/*`other'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`other'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`other'*/a1))/*:RF4*/;
}
/*inspect]*/
R=((T6)(((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))==(tmp0/*count*/)));
_i=INT32_C(1);
_j=INT32_C(1);
while(1){
/*auto-unlock tmp1*/tmp1/*or else*/=((T6)((R)==(0)));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp1/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp7/*item*/=/*RF4:item*/r7item(((T7*)/*`other'*/a1),_j)/*:RF4*/;
break;
case 311:
tmp7/*item*/=/*RF4:item*/r311item(((T311*)/*`other'*/a1),_j)/*:RF4*/;
break;
default:;
tmp7/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`other'*/a1))/*:RF4*/),_j)/*:RF4*/;
}
/*inspect]*/
R=((T6)(/*RF4:same_as*/r3same_as(/*RF4:item*/r7item(C,_i)/*:RF4*/,tmp7/*item*/)/*:RF4*/));
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
_j=/*RF8:+*/((int32_t)(_j))+(INT32_C(1))/*:RF8*/;
}
}
return R;
}/*--*/

/*STRING*/void r7extend_unless(T7*C,T3 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*or else*/=((T6)(((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:item*/r7item(C,(/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/)!=(/*`ch'*/a1)));
}
if(tmp0/*or else*/){
/*RF3:add_last*/r7add_last(C,/*`ch'*/a1);
/*:RF3*/}
}/*--*/

/*STRING*/void r7add_last(T7*C,T3 a1){
/*RF3:insert_character*/r7insert_character(C,/*`c'*/a1,/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/);
/*:RF3*/}/*--*/

/*STRING*/T3 r7first(T7*C){
T3 R='\0';
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))[(/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*STRING*/void r7shrink(T7*C,T2 a1,T2 a2){
if(/*RF8:<*/((int32_t)(/*`max_index'*/a2))<(/*`min_index'*/a1)/*:RF8*/){
/*SFN*/(C->_count/*Tniiiiip*/)=INT32_C(0);
}
else{
if((/*`min_index'*/a1)==(INT8_C(1))){
/*SFN*/(C->_count/*Tniiiiip*/)=/*`max_index'*/a2;
}
else{
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`min_index'*/a1)/*:RF8*/))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_count/*Tniiiiip*/)=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*`max_index'*/a2))-(/*`min_index'*/a1)/*:RF8*/))+(INT32_C(1))/*:RF8*/;
}
}
}/*--*/

/*STRING*/void r7resize(T7*C,T2 a1){
if(/*RF8:<=*/((int32_t)(/*`new_count'*/a1))<=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
}
else{
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*Tniiiiip*//*:RF2*/)))<(/*RF8:+*/((int32_t)(/*`new_count'*/a1))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/)/*:RF8*/){
/*RF3:ensure_capacity*/r7ensure_capacity(C,/*RF8:+*/((int32_t)(/*`new_count'*/a1))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/);
/*:RF3*/}
else{
/*RF3:clear*/r9clear((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/,/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(/*`new_count'*/a1))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/);
/*:RF3*/}
}
/*SFN*/(C->_count/*Tniiiiip*/)=/*`new_count'*/a1;
}/*--*/

/*STRING*/void r7to_upper(T7*C){
T2 _i=0;
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
/*RF3:put*/r7put(C,/*RF4:to_upper*/r3to_upper(/*RF4:item*/r7item(C,_i)/*:RF4*/)/*:RF4*/,_i);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*STRING*/void r7ensure_capacity(T7*C,T2 a1){
T2 _actual_capacity=0;
T2 _new_capacity=0;
/*SFN*/(C->_storage_signature_count/*Tniiiiip*/)=INT32_C(0);
_actual_capacity=/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*Tniiiiip*//*:RF2*/)))+((/*RF2:storage_signature_count*/(C)->_storage_signature_count/*Tniiiiip*//*:RF2*/))/*:RF8*/;
if((/*RF8:is_not_null*/(NULL!=/*RF8:to_pointer*/((void*)((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/)))/*:RF8*/)/*:RF8*/)==(0)){
_new_capacity=/*`needed_capacity'*/a1;
if(/*RF8:>*/((int32_t)(/*RF8:+*/((int32_t)(_new_capacity))+((/*RF2:storage_signature_count*/(C)->_storage_signature_count/*Tniiiiip*//*:RF2*/))/*:RF8*/))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_storage/*Tniiiiip*/)=/*RF8:calloc*/se_calloc(/*RF8:+*/((int32_t)(_new_capacity))+((/*RF2:storage_signature_count*/(C)->_storage_signature_count/*Tniiiiip*//*:RF2*/))/*:RF8*/,sizeof(T3/*c*/))/*:RF8*/;
}
/*SFN*/(C->_capacity/*Tniiiiip*/)=_new_capacity;
}
else{
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*Tniiiiip*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
_new_capacity=/*RF4:max*/r2max(/*`needed_capacity'*/a1,/*RF4:max*/r2max(/*RF8:#**/(int32_t)(((uint32_t)((/*RF2:capacity*/(C)->_capacity/*Tniiiiip*//*:RF2*/)))*((uint32_t)(INT32_C(2))))/*:RF8*/,/*RF8:-*/((int32_t)(INT32_C(32)))-((/*RF2:storage_signature_count*/(C)->_storage_signature_count/*Tniiiiip*//*:RF2*/))/*:RF8*/)/*:RF4*/)/*:RF4*/;
/*SFN*/(C->_storage/*Tniiiiip*/)=/*RF4:realloc*/r9realloc((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/),_actual_capacity,/*RF8:+*/((int32_t)(_new_capacity))+((/*RF2:storage_signature_count*/(C)->_storage_signature_count/*Tniiiiip*//*:RF2*/))/*:RF8*/)/*:RF4*/;
/*SFN*/(C->_capacity/*Tniiiiip*/)=_new_capacity;
}
}
}/*--*/

/*STRING*/void r7from_external_copy(T7*C,T8 a1){
T9 _s=(void*)0;
T2 _i=0;
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
_s=/*RF8:from_pointer*//*`p'*/a1/*:RF8*/;
/*SFN*/(C->_count/*Tniiiiip*/)=INT32_C(0);
while(1){
/*until*/if((/*RF8:item*/(_s)[_i]/*:RF8*/)==(((T3)'\000'))) break;
/*RF3:add_last*/r7add_last(C,/*RF8:item*/(_s)[_i]/*:RF8*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF3:next_generation*/r7next_generation(C);
/*:RF3*/}/*--*/

/*STRING*/T2 r7computed_hash_code(T7*C){
T2 R=0;
T2 _i=0;
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*RF8:#**/(int32_t)(((uint32_t)(/*{INTEGER_32 5}*/INT32_C(5)))*((uint32_t)(R)))/*:RF8*/))+((uint32_t)(/*IC*/(T2)(/*RF8:code*/T3code(/*RF4:item*/r7item(C,_i)/*:RF4*/)/*:RF8*/))))/*:RF8*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(/*RF8:<*/((int32_t)(R))<(INT32_C(0))/*:RF8*/){
R=/*RF8:~*/~(R)/*:RF8*/;
}
return R;
}/*--*/

/*STRING*/T8 r7to_external(T7*C){
T8 R=(void*)0;
if((/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/)==((/*RF2:capacity*/(C)->_capacity/*Tniiiiip*//*:RF2*/))){
/*RF3:add_last*/r7add_last(C,((T3)'\000'));
/*:RF3*//*SFN*/(C->_count/*Tniiiiip*/)=/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}
else{
if((/*RF8:item*/((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))[/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/]/*:RF8*/)!=(((T3)'\000'))){
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))[/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF8*/]=(((T3)'\000'));
/*:RF7*/}
}
R=/*RF4:+*/r8_ix_43(/*RF8:to_pointer*/((void*)((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/)))/*:RF8*/,(/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/))/*:RF4*/;
return R;
}/*--*/

/*STRING*/void r7to_lower(T7*C){
T2 _i=0;
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
/*RF3:put*/r7put(C,/*RF4:to_lower*/r3to_lower(/*RF4:item*/r7item(C,_i)/*:RF4*/)/*:RF4*/,_i);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*STRING*/T2 r7last_index_of(T7*C,T3 a1){
T2 R=0;
R=/*RF4:reverse_index_of*/r7reverse_index_of(C,/*`c'*/a1,(/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/;
return R;
}/*--*/

/*STRING*/T0*r7twin(T7*C){
T0* R=(void*)0;
R=(void*)se_malloc(sizeof(T7/*Tniiiiip*/));
*((T7*)R)=M7;
/*RF3:copy*/r7copy(((T7*)R),((T0*)C));
/*:RF3*/;
return R;
}/*--*/

/*STRING*/void r7from_external_sized_copy(T7*C,T8 a1,T2 a2){
T9 _s=(void*)0;
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
/*RF3:ensure_capacity*/r7ensure_capacity(C,/*`size'*/a2);
/*:RF3*/_s=/*RF8:from_pointer*//*`p'*/a1/*:RF8*/;
/*SFN*/(C->_count/*Tniiiiip*/)=INT32_C(0);
while(1){
/*until*/if(((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))==(/*`size'*/a2)) break;
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*Tniiiiip*//*:RF2*/))[(/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)]=(/*RF8:item*/(_s)[(/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)]/*:RF8*/);
/*:RF7*//*SFN*/(C->_count/*Tniiiiip*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
/*RF3:next_generation*/r7next_generation(C);
/*:RF3*/}/*--*/

/*STRING*/void r7remove_head(T7*C,T2 a1){
if(/*RF8:>=*/((int32_t)(/*`n'*/a1))>=((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=INT32_C(0);
/*SFN*/(C->_count/*Tniiiiip*/)=INT32_C(0);
}
else{
/*SFN*/(C->_storage_lower/*Tniiiiip*/)=/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*Tniiiiip*//*:RF2*/)))+(/*`n'*/a1)/*:RF8*/;
/*SFN*/(C->_count/*Tniiiiip*/)=/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*Tniiiiip*//*:RF2*/)))-(/*`n'*/a1)/*:RF8*/;
}
}/*--*/

/*STRING*/void r7next_generation(T7*C){
/*SFN*/(C->_generation/*Tniiiiip*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*Tniiiiip*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*STRING*/void r7swap(T7*C,T2 a1,T2 a2){
T3 _tmp='\0';
_tmp=/*RF4:item*/r7item(C,/*`i1'*/a1)/*:RF4*/;
/*RF3:put*/r7put(C,/*RF4:item*/r7item(C,/*`i2'*/a2)/*:RF4*/,/*`i1'*/a1);
/*:RF3*//*RF3:put*/r7put(C,_tmp,/*`i2'*/a2);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING]*/void r906make(T906*C,T2 a1){
if(/*RF8:>*/((int32_t)(/*`new_count'*/a1))>((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`new_count'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`new_count'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF4:max*/r2max((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/),/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
/*RF3:clear_all*/r912clear_all((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
}
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r906next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING]*/void r906put(T906*C,T0*a1,T2 a2){
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[/*`i'*/a2]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r906next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING]*/void r906manifest_put(T906*C,T2 a1,T0*a2){
/*RF3:put*/r906put(C,/*`element'*/a2,/*`index'*/a1);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING]*/void r906add(T906*C,T0*a1,T2 a2){
if((/*`index'*/a2)==(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)){
/*RF3:add_last*/r906add_last(C,/*`element'*/a1);
/*:RF3*/}
else{
/*RF3:add_last*/r906add_last(C,/*`element'*/a1);
/*:RF3*//*RF3:move*/r906move(C,/*`index'*/a2,/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/,INT32_C(1));
/*:RF3*//*RF3:put*/r906put(C,/*`element'*/a1,/*`index'*/a2);
/*:RF3*/}
}/*--*/

/*FAST_ARRAY[STRING]*/void r906move(T906*C,T2 a1,T2 a2,T2 a3){
T0*_default_value=(void*)0;
T2 _i=0;
if((/*`distance'*/a3)==(INT8_C(0))){
}
else{
if(/*RF8:<*/((int32_t)(/*`distance'*/a3))<(INT32_C(0))/*:RF8*/){
_i=/*`lower_index'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper_index'*/a2)/*:RF8*/) break;
/*RF3:put*/r906put(C,/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/,/*RF8:+*/((int32_t)(_i))+(/*`distance'*/a3)/*:RF8*/);
/*:RF3*//*RF3:put*/r906put(C,_default_value,_i);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
else{
_i=/*`upper_index'*/a2;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(/*`lower_index'*/a1)/*:RF8*/) break;
/*RF3:put*/r906put(C,/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/,/*RF8:+*/((int32_t)(_i))+(/*`distance'*/a3)/*:RF8*/);
/*:RF3*//*RF3:put*/r906put(C,_default_value,_i);
/*:RF3*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}
}
}/*--*/

/*FAST_ARRAY[STRING]*/T0*r906new_iterator(T906*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T994/*Tpii*/))));
*((T994*)tmp0/*new*/)=M994;
/*RF3:make*/r994make(((T994*)tmp0/*new*/),(T0*)C);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/

/*FAST_ARRAY[STRING]*/void r906add_last(T906*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r912realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r906next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING]*/void r906clear_count(T906*C){
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r906next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING]*/void r906manifest_make(T906*C,T2 a1){
/*RF3:make*/r906make(C,/*`needed_capacity'*/a1);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING]*/T6 r906valid_index(T906*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(INT32_C(0)))<=(/*`i'*/a1)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(/*`i'*/a1))<=((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*FAST_ARRAY[STRING]*/T2 r906first_index_of(T906*C,T0*a1){
T2 R=0;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:first_index_of*/r912first_index_of((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),/*`element'*/a1,(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF4*/;
}
return R;
}/*--*/

/*FAST_ARRAY[STRING]*/void r906with_capacity(T906*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r912clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r906next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING]*/void r906next_generation(T906*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[STRING]*/T6 r906has(T906*C,T0*a1){
T6 R=0;
R=((T6)(/*RF4:valid_index*/r906valid_index(C,/*RF4:first_index_of*/r906first_index_of(C,/*`x'*/a1)/*:RF4*/)/*:RF4*/));
return R;
}/*--*/

/*FAST_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r913make(T913*C,T2 a1){
if(/*RF8:>*/((int32_t)(/*`new_count'*/a1))>((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`new_count'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`new_count'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF4:max*/r2max((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/),/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
/*RF3:clear_all*/r939clear_all((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
}
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r913next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r913add_last(T913*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r939realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r913next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r913clear_count(T913*C){
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r913next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r913next_generation(T913*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r915make(T915*C,T2 a1){
if(/*RF8:>*/((int32_t)(/*`new_count'*/a1))>((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`new_count'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`new_count'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF4:max*/r2max((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/),/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
/*RF3:clear_all*/r943clear_all((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
}
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r915next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r915add_last(T915*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r943realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r915next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r915clear_count(T915*C){
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r915next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r915next_generation(T915*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[FIXED_STRING]*/void r924add_last(T924*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r958realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r924next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[FIXED_STRING]*/T2 r924fast_first_index_of(T924*C,T0*a1){
T2 R=0;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:fast_index_of*/r958fast_index_of((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),/*`element'*/a1,INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF4*/;
}
return R;
}/*--*/

/*FAST_ARRAY[FIXED_STRING]*/void r924remove(T924*C,T2 a1){
/*RF3:remove*/r958remove((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),/*`index'*/a1,(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*//*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r924next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[FIXED_STRING]*/T6 r924valid_index(T924*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(INT32_C(0)))<=(/*`i'*/a1)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(/*`i'*/a1))<=((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*FAST_ARRAY[FIXED_STRING]*/T2 r924first_index_of(T924*C,T0*a1){
T2 R=0;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:first_index_of*/r958first_index_of((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),/*`element'*/a1,(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF4*/;
}
return R;
}/*--*/

/*FAST_ARRAY[FIXED_STRING]*/void r924with_capacity(T924*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r958clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r924next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[FIXED_STRING]*/void r924next_generation(T924*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[FIXED_STRING]*/T2 r924count(T924*C){
T2 R=0;
R=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[POSITION]*/void r925swap(T925*C,T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 _tmp={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_tmp=tmp0/*locexp*/;
/*tmp0.unlock*/
_tmp=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r925item(C,/*`i1'*/a1)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
/*RF3:put*/r925put(C,/*RF4:item*/r925item(C,/*`i2'*/a2)/*:RF4*/,/*`i1'*/a1);
/*:RF3*//*RF3:put*/r925put(C,_tmp,/*`i2'*/a2);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POSITION]*/T354 r925first(T925*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 R={0};
tmp0/*resexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*resexp*/);
/*:RF3*/R=tmp0/*resexp*/;
/*tmp0.unlock*/
R=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[INT32_C(0)]/*:RF8*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[POSITION]*/void r925remove_last(T925*C){
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[POSITION]*/void r925put(T925*C,T354 a1,T2 a2){
/*RF7:put*/{
T354 a1tmp=/*`element'*/a1;
memcpy(&(((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[/*`i'*/a2]),&a1tmp,sizeof(T354/*i*/));}
/*:RF7*//*RF3:next_generation*/r925next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POSITION]*/void r925copy(T925*C,T0*a1){
T2 _other_upper=0;
T2 _new_capacity=0;
_other_upper=(/*RF2:upper*/(((T925*)/*`other'*/a1))->_upper/*niii*//*:RF2*/);
if(/*RF8:>=*/((int32_t)(_other_upper))>=(INT32_C(0))/*:RF8*/){
_new_capacity=/*RF8:+*/((int32_t)(_other_upper))+(INT32_C(1))/*:RF8*/;
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(_new_capacity)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/r959calloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),_new_capacity)/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
}
/*RF3:copy_from*/r959copy_from((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:storage*/(((T925*)/*`other'*/a1))->_storage/*niii*//*:RF2*/),_other_upper);
/*:RF3*/}
/*SFN*/(C->_upper/*niii*/)=_other_upper;
/*RF3:next_generation*/r925next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POSITION]*/T354 r925last(T925*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 R={0};
tmp0/*resexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*resexp*/);
/*:RF3*/R=tmp0/*resexp*/;
/*tmp0.unlock*/
R=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r925item(C,(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[POSITION]*/void r925add_last(T925*C,T354 a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/r959calloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(2))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r959realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/{
T354 a1tmp=/*`element'*/a1;
memcpy(&(((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]),&a1tmp,sizeof(T354/*i*/));}
/*:RF7*//*RF3:next_generation*/r925next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POSITION]*/T354 r925item(T925*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 R={0};
tmp0/*resexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*resexp*/);
/*:RF3*/R=tmp0/*resexp*/;
/*tmp0.unlock*/
R=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[/*`i'*/a1]/*:RF8*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[POSITION]*/void r925clear_count(T925*C){
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r925next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POSITION]*/T6 r925is_empty(T925*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))<(INT32_C(0))/*:RF8*/));
return R;
}/*--*/

/*FAST_ARRAY[POSITION]*/T0*r925twin(T925*C){
T0* R=(void*)0;
R=(void*)se_malloc(sizeof(T925/*niii*/));
*((T925*)R)=M925;
/*RF3:copy*/r925copy(((T925*)R),((T0*)C));
/*:RF3*/;
return R;
}/*--*/

/*FAST_ARRAY[POSITION]*/void r925with_capacity(T925*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/r959calloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),/*`needed_capacity'*/a1)/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r959clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r925next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POSITION]*/void r925next_generation(T925*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[POSITION]*/T2 r925count(T925*C){
T2 R=0;
R=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[ABSTRACT_STRING]*/void r938add_last(T938*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r964realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r938next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[ABSTRACT_STRING]*/T6 r938valid_index(T938*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(INT32_C(0)))<=(/*`i'*/a1)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(/*`i'*/a1))<=((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*FAST_ARRAY[ABSTRACT_STRING]*/void r938with_capacity(T938*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r964clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r938next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[ABSTRACT_STRING]*/void r938next_generation(T938*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/void r949make(T949*C,T2 a1){
if(/*RF8:>*/((int32_t)(/*`new_count'*/a1))>((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`new_count'*/a1,sizeof(T327/*pi*/))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`new_count'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF4:max*/r2max((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/),/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
/*RF3:clear_all*/r967clear_all((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
}
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r949next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/void r949put(T949*C,T327 a1,T2 a2){
/*RF7:put*/{
T327 a1tmp=/*`element'*/a1;
memcpy(&(((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[/*`i'*/a2]),&a1tmp,sizeof(T327/*pi*/));}
/*:RF7*//*RF3:next_generation*/r949next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/void r949add(T949*C,T327 a1,T2 a2){
if((/*`index'*/a2)==(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)){
/*RF3:add_last*/r949add_last(C,/*`element'*/a1);
/*:RF3*/}
else{
/*RF3:add_last*/r949add_last(C,/*`element'*/a1);
/*:RF3*//*RF3:move*/r949move(C,/*`index'*/a2,/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/,INT32_C(1));
/*:RF3*//*RF3:put*/r949put(C,/*`element'*/a1,/*`index'*/a2);
/*:RF3*/}
}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/void r949move(T949*C,T2 a1,T2 a2,T2 a3){
T327 _default_value={(void*)0,0};
T2 _i=0;
if((/*`distance'*/a3)==(INT8_C(0))){
}
else{
if(/*RF8:<*/((int32_t)(/*`distance'*/a3))<(INT32_C(0))/*:RF8*/){
_i=/*`lower_index'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper_index'*/a2)/*:RF8*/) break;
/*RF3:put*/r949put(C,/*RF4:item*/r949item(C,_i)/*:RF4*/,/*RF8:+*/((int32_t)(_i))+(/*`distance'*/a3)/*:RF8*/);
/*:RF3*//*RF3:put*/r949put(C,_default_value,_i);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
else{
_i=/*`upper_index'*/a2;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(/*`lower_index'*/a1)/*:RF8*/) break;
/*RF3:put*/r949put(C,/*RF4:item*/r949item(C,_i)/*:RF4*/,/*RF8:+*/((int32_t)(_i))+(/*`distance'*/a3)/*:RF8*/);
/*:RF3*//*RF3:put*/r949put(C,_default_value,_i);
/*:RF3*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}
}
}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/void r949add_last(T949*C,T327 a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T327/*pi*/))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r967realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/{
T327 a1tmp=/*`element'*/a1;
memcpy(&(((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]),&a1tmp,sizeof(T327/*pi*/));}
/*:RF7*//*RF3:next_generation*/r949next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/T327 r949item(T949*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T327 tmp0;
/*INTERNAL_C_LOCAL list]*/
T327 R={(void*)0,0};
R=/*RF8:twin*/r327twin((tmp0/*fcstrangeisnotunlock*/=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[/*`i'*/a1]/*:RF8*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/T6 r949is_empty(T949*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))<(INT32_C(0))/*:RF8*/));
return R;
}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/T6 r949valid_index(T949*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(INT32_C(0)))<=(/*`i'*/a1)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(/*`i'*/a1))<=((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*FAST_ARRAY[STRING_RECYCLING_ITEM]*/void r949next_generation(T949*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/void r953remove_last(T953*C){
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/T0*r953last(T953*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/void r953add_last(T953*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r975realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r953next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/T6 r953is_empty(T953*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))<(INT32_C(0))/*:RF8*/));
return R;
}/*--*/

/*FAST_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/void r953with_capacity(T953*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r975clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r953next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]*/void r953next_generation(T953*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[HASHED_STRING]*/void r978with_capacity(T978*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r1001clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r978next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[HASHED_STRING]*/void r978next_generation(T978*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[HASHED_STRING]*/T2 r978count(T978*C){
T2 R=0;
R=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[CLUSTER]*/void r979make(T979*C,T2 a1){
if(/*RF8:>*/((int32_t)(/*`new_count'*/a1))>((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`new_count'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`new_count'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF4:max*/r2max((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/),/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
/*RF3:clear_all*/r1002clear_all((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
}
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r979next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[CLUSTER]*/T0*r979first(T979*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[INT32_C(0)]/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[CLUSTER]*/void r979clear_count(T979*C){
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r979next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[CLUSTER]*/void r979next_generation(T979*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[CLUSTER]*/T2 r979count(T979*C){
T2 R=0;
R=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[INTEGER_32]*/void r980make(T980*C,T2 a1){
if(/*RF8:>*/((int32_t)(/*`new_count'*/a1))>((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`new_count'*/a1,sizeof(T2/*i*/))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`new_count'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF4:max*/r2max((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/),/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
/*RF3:clear_all*/r1003clear_all((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
}
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r980next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[INTEGER_32]*/T2 r980first(T980*C){
T2 R=0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[INT32_C(0)]/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[INTEGER_32]*/T2 r980fast_first_index_of(T980*C,T2 a1){
T2 R=0;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:fast_index_of*/r1003fast_index_of((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),/*`element'*/a1,INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/))/*:RF4*/;
}
return R;
}/*--*/

/*FAST_ARRAY[INTEGER_32]*/void r980add_last(T980*C,T2 a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T2/*i*/))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r1003realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r980next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[INTEGER_32]*/void r980clear_count(T980*C){
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r980next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[INTEGER_32]*/void r980next_generation(T980*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*ARRAY[STRING]*/void r997put(T997*C,T0*a1,T2 a2){
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niiii*//*:RF2*/))[/*RF8:-*/((int32_t)(/*`i'*/a2))-((/*RF2:lower*/(C)->_lower/*niiii*//*:RF2*/))/*:RF8*/]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r997next_generation(C);
/*:RF3*/}/*--*/

/*ARRAY[STRING]*/void r997ensure_capacity_and_bounds(T997*C,T2 a1,T2 a2,T2 a3){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_value=(void*)0;
tmp0/*and then*/=((T6)((_value)==((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/));
}
if(tmp0/*and then*/){
/*RF3:clear_all*/r997clear_all(C);
/*:RF3*/}
/*SFN*/(C->_lower/*niiii*/)=/*`low'*/a2;
/*SFN*/(C->_upper/*niiii*/)=/*`up'*/a3;
if(/*RF8:>*/((int32_t)(/*`needed_capacity'*/a1))>(INT32_C(0))/*:RF8*/){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niiii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niiii*/)=/*`needed_capacity'*/a1;
}
else{
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)((_value)!=((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:>=*/((int32_t)(/*`up'*/a3))>=(/*`low'*/a2)/*:RF8*/));
}
if(tmp0/*and then*/){
/*RF3:clear_all*/r997clear_all(C);
/*:RF3*/}
}
}
/*RF3:next_generation*/r997next_generation(C);
/*:RF3*/}/*--*/

/*ARRAY[STRING]*/void r997add_last(T997*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiii*//*:RF2*/)))<(/*RF8:+*/((int32_t)(/*RF4:count*/r997count(C)/*:RF4*/))+(INT32_C(1))/*:RF8*/)/*:RF8*/){
if(((/*RF2:capacity*/(C)->_capacity/*niiii*//*:RF2*/))==(INT8_C(0))){
_new_capacity=INT32_C(16);
/*SFN*/(C->_storage/*niiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niiii*/)=_new_capacity;
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niiii*/)=/*RF4:realloc*/r912realloc((/*RF2:storage*/(C)->_storage/*niiii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niiii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niiii*/)=_new_capacity;
}
}
/*SFN*/(C->_upper/*niiii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:put*/r997put(C,/*`element'*/a1,(/*RF2:upper*/(C)->_upper/*niiii*//*:RF2*/));
/*:RF3*/}/*--*/

/*ARRAY[STRING]*/void r997clear_all(T997*C){
T0*_value=(void*)0;
/*RF3:set_all_with*/r997set_all_with(C,_value);
/*:RF3*/}/*--*/

/*ARRAY[STRING]*/void r997set_all_with(T997*C,T0*a1){
/*RF3:set_all_with*/r912set_all_with((/*RF2:storage*/(C)->_storage/*niiii*//*:RF2*/),/*`v'*/a1,/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiii*//*:RF2*/)))-((/*RF2:lower*/(C)->_lower/*niiii*//*:RF2*/))/*:RF8*/);
/*:RF3*//*RF3:next_generation*/r997next_generation(C);
/*:RF3*/}/*--*/

/*ARRAY[STRING]*/void r997with_capacity(T997*C,T2 a1,T2 a2){
/*RF3:ensure_capacity_and_bounds*/r997ensure_capacity_and_bounds(C,/*`needed_capacity'*/a1,/*`low'*/a2,/*RF8:-*/((int32_t)(/*`low'*/a2))-(INT32_C(1))/*:RF8*/);
/*:RF3*/}/*--*/

/*ARRAY[STRING]*/void r997next_generation(T997*C){
/*SFN*/(C->_generation/*niiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*ARRAY[STRING]*/T2 r997count(T997*C){
T2 R=0;
R=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiii*//*:RF2*/)))-((/*RF2:lower*/(C)->_lower/*niiii*//*:RF2*/))/*:RF8*/))+(INT32_C(1))/*:RF8*/;
return R;
}/*--*/

/*FAST_ARRAY[INTEGER_16]*/void r999make(T999*C,T2 a1){
if(/*RF8:>*/((int32_t)(/*`new_count'*/a1))>((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`new_count'*/a1,sizeof(T10/*s*/))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`new_count'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF4:max*/r2max((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/),/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
/*RF3:clear_all*/r998clear_all((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
}
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r999next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[INTEGER_16]*/void r999add_last(T999*C,T10 a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T10/*s*/))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r998realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r999next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[INTEGER_16]*/void r999next_generation(T999*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[CLASSES]*/void r1007with_capacity(T1007*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r1017clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r1007next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[CLASSES]*/void r1007next_generation(T1007*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*FAST_ARRAY[POINTER]*/void r1031make(T1031*C,T2 a1){
if(/*RF8:>*/((int32_t)(/*`new_count'*/a1))>((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`new_count'*/a1,sizeof(T8/*p*/))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`new_count'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF4:max*/r2max((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/),/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/)/*:RF4*/;
if(/*RF8:>=*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))>=(INT32_C(0))/*:RF8*/){
/*RF3:clear_all*/r1041clear_all((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
}
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)(/*`new_count'*/a1))-(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r1031next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POINTER]*/void r1031put(T1031*C,T8 a1,T2 a2){
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[/*`i'*/a2]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r1031next_generation(C);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POINTER]*/void r1031manifest_put(T1031*C,T2 a1,T8 a2){
/*RF3:put*/r1031put(C,/*`element'*/a2,/*`index'*/a1);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POINTER]*/void r1031manifest_make(T1031*C,T2 a1){
/*RF3:make*/r1031make(C,/*`needed_capacity'*/a1);
/*:RF3*/}/*--*/

/*FAST_ARRAY[POINTER]*/void r1031next_generation(T1031*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907a_new_node(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T914/*4pi0*/))));
*((T914*)tmp0/*new*/)=M914;
R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/void r907make(T907*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T913/*niii*/))));
*((T913*)tmp0/*new*/)=M913;
/*RF3:make*/r913make(((T913*)tmp0/*new*/),INT32_C(0));
/*:RF3*//*SFN*/(C->_map/*T5piipp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:next_generation*/r907next_generation(C);
/*:RF3*/}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907key(T907*C,T2 a1){
T0* R=(void*)0;
if((/*RF2:map_dirty*/(C)->_map_dirty/*T5piipp*//*:RF2*/)){
/*RF3:build_map*/r907build_map(C);
/*:RF3*/}
R=(/*RF2:key*/((T914*)(/*RF8:item*/((/*RF2:storage*/((T913*)((/*RF2:map*/(C)->_map/*T5piipp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF8:-*/((int32_t)(/*`index'*/a1))-(INT32_C(1))/*:RF8*/]/*:RF8*/))->_key/*4pi0*//*:RF2*/);
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/void r907set_value(T907*C,T0*a1){
(/*RF2:value*/(((T914*)/*`n'*/a1))->_value/*4pi0*//*:RF2*/)=(/*RF2:value_memory*/(C)->_value_memory/*T5piipp*//*:RF2*/);
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907new_node(T907*C){
T0* R=(void*)0;
if(/*RF4:is_empty*/r1030is_empty((T1030*)(/*RF4:lost_nodes*/r907lost_nodes(C)/*:RF4*/))/*:RF4*/){
R=/*RF4:a_new_node*/r907a_new_node()/*:RF4*/;
}
else{
R=/*RF4:item*/r1030item((T1030*)(/*RF4:lost_nodes*/r907lost_nodes(C)/*:RF4*/))/*:RF4*/;
}
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/void r907add(T907*C,T0*a1,T0*a2){
/*SFN*/(C->_value_memory/*T5piipp*/)=/*`v'*/a1;
/*SFN*/(C->_key_memory/*T5piipp*/)=/*`k'*/a2;
/*SFN*/(C->_root/*T5piipp*/)=/*RF4:do_insert*/r907do_insert(C,(/*RF2:root*/(C)->_root/*T5piipp*//*:RF2*/))/*:RF4*/;
/*RF3:next_generation*/r907next_generation(C);
/*:RF3*/}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907at(T907*C,T0*a1){
T0* R=(void*)0;
R=(/*RF2:value*/((T914*)(/*RF4:at*/r914at((T914*)((/*RF2:root*/(C)->_root/*T5piipp*//*:RF2*/)),/*`k'*/a1)/*:RF4*/))->_value/*4pi0*//*:RF2*/);
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/void r907set_value_and_key(T907*C,T0*a1){
/*RF3:set*/r914set(((T914*)/*`n'*/a1),(/*RF2:value_memory*/(C)->_value_memory/*T5piipp*//*:RF2*/),(/*RF2:key_memory*/(C)->_key_memory/*T5piipp*//*:RF2*/));
/*:RF3*/}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907left_grown(T907*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T2 tmp1;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*inspectDynamicDispatchExpression*/=(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/);
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case -1:
if(((/*RF2:balance*/((T914*)((/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/))==(INT32_C(-1))){
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T914*)((/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
}
else{
tmp1/*inspectDynamicDispatchExpression*/=(/*RF2:balance*/((T914*)((/*RF2:right*/((T914*)((/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/);
/*[inspect*/
switch(tmp1/*inspectDynamicDispatchExpression*/){
case -1:
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(1);
(/*RF2:balance*/((T914*)((/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
break;
case 0:
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T914*)((/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
break;
default:;
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T914*)((/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(-1);
}
/*inspect]*/
(/*RF2:balance*/((T914*)((/*RF2:right*/((T914*)((/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)=/*RF4:rotate_left*/r914rotate_left((T914*)((/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))/*:RF4*/;
}
R=/*RF4:rotate_right*/r914rotate_right(((T914*)/*`n'*/a1))/*:RF4*/;
/*SFN*/(C->_rebalance/*T5piipp*/)=((T6)(0));
break;
case 0:
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(-1);
R=/*`n'*/a1;
break;
default:;
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
R=/*`n'*/a1;
/*SFN*/(C->_rebalance/*T5piipp*/)=((T6)(0));
}
/*inspect]*/
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/void r907build_map(T907*C){
/*RF3:clear_count*/r913clear_count((T913*)((/*RF2:map*/(C)->_map/*T5piipp*//*:RF2*/)));
/*:RF3*/if(/*RF8:>*/((int32_t)((/*RF2:count*/(C)->_count/*T5piipp*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*RF3:map_in*/r914map_in((T914*)((/*RF2:root*/(C)->_root/*T5piipp*//*:RF2*/)),(/*RF2:map*/(C)->_map/*T5piipp*//*:RF2*/));
/*:RF3*/}
/*SFN*/(C->_map_dirty/*T5piipp*/)=((T6)(0));
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907reference_at(T907*C,T0*a1){
T0* R=(void*)0;
T0*_n=(void*)0;
if(((/*RF2:root*/(C)->_root/*T5piipp*//*:RF2*/))!=((void*)((void*)0))){
_n=/*RF4:at*/r914at((T914*)((/*RF2:root*/(C)->_root/*T5piipp*//*:RF2*/)),/*`k'*/a1)/*:RF4*/;
if((_n)!=((void*)((void*)0))){
R=(/*RF2:value*/(((T914*)/*ND*/(T0*)(_n)))->_value/*4pi0*//*:RF2*/);
}
}
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907item(T907*C,T2 a1){
T0* R=(void*)0;
if((/*RF2:map_dirty*/(C)->_map_dirty/*T5piipp*//*:RF2*/)){
/*RF3:build_map*/r907build_map(C);
/*:RF3*/}
R=(/*RF2:value*/((T914*)(/*RF8:item*/((/*RF2:storage*/((T913*)((/*RF2:map*/(C)->_map/*T5piipp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF8:-*/((int32_t)(/*`index'*/a1))-(INT32_C(1))/*:RF8*/]/*:RF8*/))->_value/*4pi0*//*:RF2*/);
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907do_insert(T907*C,T0*a1){
T0* R=(void*)0;
if((/*`n'*/a1)==((void*)((void*)0))){
R=/*RF4:new_node*/r907new_node(C)/*:RF4*/;
/*RF3:set_value_and_key*/r907set_value_and_key(C,R);
/*:RF3*//*SFN*/(C->_count/*T5piipp*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*T5piipp*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_map_dirty/*T5piipp*/)=((T6)(1));
/*SFN*/(C->_rebalance/*T5piipp*/)=((T6)(1));
}
else{
if(/*RF4:ordered*/r907ordered((/*RF2:key_memory*/(C)->_key_memory/*T5piipp*//*:RF2*/),(/*RF2:key*/(((T914*)/*`n'*/a1))->_key/*4pi0*//*:RF2*/))/*:RF4*/){
(/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)=/*RF4:do_insert*/r907do_insert(C,(/*RF2:left*/(((T914*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/))/*:RF4*/;
if((/*RF2:rebalance*/(C)->_rebalance/*T5piipp*//*:RF2*/)){
R=/*RF4:left_grown*/r907left_grown(C,/*`n'*/a1)/*:RF4*/;
}
else{
R=/*`n'*/a1;
}
}
else{
if(/*RF4:ordered*/r907ordered((/*RF2:key*/(((T914*)/*`n'*/a1))->_key/*4pi0*//*:RF2*/),(/*RF2:key_memory*/(C)->_key_memory/*T5piipp*//*:RF2*/))/*:RF4*/){
(/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)=/*RF4:do_insert*/r907do_insert(C,(/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/))/*:RF4*/;
if((/*RF2:rebalance*/(C)->_rebalance/*T5piipp*//*:RF2*/)){
R=/*RF4:right_grown*/r907right_grown(C,/*`n'*/a1)/*:RF4*/;
}
else{
R=/*`n'*/a1;
}
}
else{
R=/*`n'*/a1;
/*RF3:set_value*/r907set_value(C,R);
/*:RF3*//*SFN*/(C->_rebalance/*T5piipp*/)=((T6)(0));
}
}
}
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907right_grown(T907*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T2 tmp1;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*inspectDynamicDispatchExpression*/=(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/);
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 1:
if(((/*RF2:balance*/((T914*)((/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/))==(INT32_C(1))){
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T914*)((/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
}
else{
tmp1/*inspectDynamicDispatchExpression*/=(/*RF2:balance*/((T914*)((/*RF2:left*/((T914*)((/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/);
/*[inspect*/
switch(tmp1/*inspectDynamicDispatchExpression*/){
case 1:
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(-1);
(/*RF2:balance*/((T914*)((/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
break;
case 0:
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T914*)((/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
break;
default:;
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T914*)((/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(1);
}
/*inspect]*/
(/*RF2:balance*/((T914*)((/*RF2:left*/((T914*)((/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)=/*RF4:rotate_right*/r914rotate_right((T914*)((/*RF2:right*/(((T914*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))/*:RF4*/;
}
R=/*RF4:rotate_left*/r914rotate_left(((T914*)/*`n'*/a1))/*:RF4*/;
/*SFN*/(C->_rebalance/*T5piipp*/)=((T6)(0));
break;
case 0:
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(1);
R=/*`n'*/a1;
break;
default:;
(/*RF2:balance*/(((T914*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
R=/*`n'*/a1;
/*SFN*/(C->_rebalance/*T5piipp*/)=((T6)(0));
}
/*inspect]*/
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907lost_nodes(T907*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_key=(void*)0;
R=(/*RF2:lost_nodes_memory*/(C)->_lost_nodes_memory/*T5piipp*//*:RF2*/);
if((R)==((void*)((void*)0))){
_key=/*RF4:intern*/r7intern((T7*)(/*RF8:generating_type*/(T0*)(t[(C)->id])/*:RF8*/))/*:RF4*/;
R=/*RF4:fast_reference_at*/r1028fast_reference_at((T1028*)(/*RF6:lost_nodes_pool*/r907lost_nodes_pool()/*:RF6*/),_key)/*:RF4*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1030/*Tniii*/))));
*((T1030*)tmp0/*new*/)=M1030;
/*RF3:make*/r1030make(((T1030*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r1028add((T1028*)(/*RF6:lost_nodes_pool*/r907lost_nodes_pool()/*:RF6*/),R,_key);
/*:RF3*/}
/*SFN*/(C->_lost_nodes_memory/*T5piipp*/)=R;
}
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/void r907next_generation(T907*C){
/*SFN*/(C->_generation/*T5piipp*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*T5piipp*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/
T0*oBC300lost_nodes_pool=(void*)0;
int fBC300lost_nodes_pool=0;

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907lost_nodes_pool(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC300lost_nodes_pool==0){fBC300lost_nodes_pool=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1028/*pniiii*/))));
*((T1028*)tmp0/*new*/)=M1028;
/*RF3:make*/r1028make(((T1028*)tmp0/*new*/));
/*:RF3*/oBC300lost_nodes_pool=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC300lost_nodes_pool;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T6 r907ordered(T0*a1,T0*a2){
T6 R=0;
R=((T6)(/*RF4:<*/r7_ix_60(((T7*)/*`k1'*/a1),/*`k2'*/a2)/*:RF4*/));
return R;
}/*--*/

/*AVL_DICTIONARY[STRING,STRING]*/T0*r907new_iterator_on_keys(T907*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1025/*T4pi*/))));
*((T1025*)tmp0/*new*/)=M1025;
/*RF3:make*/r1025make(((T1025*)tmp0/*new*/),(T0*)C);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910a_new_node(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T916/*4pi0*/))));
*((T916*)tmp0/*new*/)=M916;
R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/void r910make(T910*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T915/*niii*/))));
*((T915*)tmp0/*new*/)=M915;
/*RF3:make*/r915make(((T915*)tmp0/*new*/),INT32_C(0));
/*:RF3*//*SFN*/(C->_map/*5piipp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:next_generation*/r910next_generation(C);
/*:RF3*/}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910key(T910*C,T2 a1){
T0* R=(void*)0;
if((/*RF2:map_dirty*/(C)->_map_dirty/*5piipp*//*:RF2*/)){
/*RF3:build_map*/r910build_map(C);
/*:RF3*/}
R=(/*RF2:key*/((T916*)(/*RF8:item*/((/*RF2:storage*/((T915*)((/*RF2:map*/(C)->_map/*5piipp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF8:-*/((int32_t)(/*`index'*/a1))-(INT32_C(1))/*:RF8*/]/*:RF8*/))->_key/*4pi0*//*:RF2*/);
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/void r910set_value(T910*C,T0*a1){
(/*RF2:value*/(((T916*)/*`n'*/a1))->_value/*4pi0*//*:RF2*/)=(/*RF2:value_memory*/(C)->_value_memory/*5piipp*//*:RF2*/);
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910new_node(T910*C){
T0* R=(void*)0;
if(/*RF4:is_empty*/r1047is_empty((T1047*)(/*RF4:lost_nodes*/r910lost_nodes(C)/*:RF4*/))/*:RF4*/){
R=/*RF4:a_new_node*/r910a_new_node()/*:RF4*/;
}
else{
R=/*RF4:item*/r1047item((T1047*)(/*RF4:lost_nodes*/r910lost_nodes(C)/*:RF4*/))/*:RF4*/;
}
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/void r910add(T910*C,T0*a1,T0*a2){
/*SFN*/(C->_value_memory/*5piipp*/)=/*`v'*/a1;
/*SFN*/(C->_key_memory/*5piipp*/)=/*`k'*/a2;
/*SFN*/(C->_root/*5piipp*/)=/*RF4:do_insert*/r910do_insert(C,(/*RF2:root*/(C)->_root/*5piipp*//*:RF2*/))/*:RF4*/;
/*RF3:next_generation*/r910next_generation(C);
/*:RF3*/}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/void r910set_value_and_key(T910*C,T0*a1){
/*RF3:set*/r916set(((T916*)/*`n'*/a1),(/*RF2:value_memory*/(C)->_value_memory/*5piipp*//*:RF2*/),(/*RF2:key_memory*/(C)->_key_memory/*5piipp*//*:RF2*/));
/*:RF3*/}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910left_grown(T910*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T2 tmp1;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*inspectDynamicDispatchExpression*/=(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/);
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case -1:
if(((/*RF2:balance*/((T916*)((/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/))==(INT32_C(-1))){
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T916*)((/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
}
else{
tmp1/*inspectDynamicDispatchExpression*/=(/*RF2:balance*/((T916*)((/*RF2:right*/((T916*)((/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/);
/*[inspect*/
switch(tmp1/*inspectDynamicDispatchExpression*/){
case -1:
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(1);
(/*RF2:balance*/((T916*)((/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
break;
case 0:
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T916*)((/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
break;
default:;
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T916*)((/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(-1);
}
/*inspect]*/
(/*RF2:balance*/((T916*)((/*RF2:right*/((T916*)((/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)=/*RF4:rotate_left*/r916rotate_left((T916*)((/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)))/*:RF4*/;
}
R=/*RF4:rotate_right*/r916rotate_right(((T916*)/*`n'*/a1))/*:RF4*/;
/*SFN*/(C->_rebalance/*5piipp*/)=((T6)(0));
break;
case 0:
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(-1);
R=/*`n'*/a1;
break;
default:;
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
R=/*`n'*/a1;
/*SFN*/(C->_rebalance/*5piipp*/)=((T6)(0));
}
/*inspect]*/
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/void r910build_map(T910*C){
/*RF3:clear_count*/r915clear_count((T915*)((/*RF2:map*/(C)->_map/*5piipp*//*:RF2*/)));
/*:RF3*/if(/*RF8:>*/((int32_t)((/*RF2:count*/(C)->_count/*5piipp*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*RF3:map_in*/r916map_in((T916*)((/*RF2:root*/(C)->_root/*5piipp*//*:RF2*/)),(/*RF2:map*/(C)->_map/*5piipp*//*:RF2*/));
/*:RF3*/}
/*SFN*/(C->_map_dirty/*5piipp*/)=((T6)(0));
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910reference_at(T910*C,T0*a1){
T0* R=(void*)0;
T0*_n=(void*)0;
if(((/*RF2:root*/(C)->_root/*5piipp*//*:RF2*/))!=((void*)((void*)0))){
_n=/*RF4:at*/r916at((T916*)((/*RF2:root*/(C)->_root/*5piipp*//*:RF2*/)),/*`k'*/a1)/*:RF4*/;
if((_n)!=((void*)((void*)0))){
R=(/*RF2:value*/(((T916*)/*ND*/(T0*)(_n)))->_value/*4pi0*//*:RF2*/);
}
}
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910do_insert(T910*C,T0*a1){
T0* R=(void*)0;
if((/*`n'*/a1)==((void*)((void*)0))){
R=/*RF4:new_node*/r910new_node(C)/*:RF4*/;
/*RF3:set_value_and_key*/r910set_value_and_key(C,R);
/*:RF3*//*SFN*/(C->_count/*5piipp*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*5piipp*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_map_dirty/*5piipp*/)=((T6)(1));
/*SFN*/(C->_rebalance/*5piipp*/)=((T6)(1));
}
else{
if(/*RF4:ordered*/r910ordered((/*RF2:key_memory*/(C)->_key_memory/*5piipp*//*:RF2*/),(/*RF2:key*/(((T916*)/*`n'*/a1))->_key/*4pi0*//*:RF2*/))/*:RF4*/){
(/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/)=/*RF4:do_insert*/r910do_insert(C,(/*RF2:left*/(((T916*)/*`n'*/a1))->_left/*4pi0*//*:RF2*/))/*:RF4*/;
if((/*RF2:rebalance*/(C)->_rebalance/*5piipp*//*:RF2*/)){
R=/*RF4:left_grown*/r910left_grown(C,/*`n'*/a1)/*:RF4*/;
}
else{
R=/*`n'*/a1;
}
}
else{
if(/*RF4:ordered*/r910ordered((/*RF2:key*/(((T916*)/*`n'*/a1))->_key/*4pi0*//*:RF2*/),(/*RF2:key_memory*/(C)->_key_memory/*5piipp*//*:RF2*/))/*:RF4*/){
(/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)=/*RF4:do_insert*/r910do_insert(C,(/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/))/*:RF4*/;
if((/*RF2:rebalance*/(C)->_rebalance/*5piipp*//*:RF2*/)){
R=/*RF4:right_grown*/r910right_grown(C,/*`n'*/a1)/*:RF4*/;
}
else{
R=/*`n'*/a1;
}
}
else{
R=/*`n'*/a1;
/*RF3:set_value*/r910set_value(C,R);
/*:RF3*//*SFN*/(C->_rebalance/*5piipp*/)=((T6)(0));
}
}
}
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910right_grown(T910*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T2 tmp1;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*inspectDynamicDispatchExpression*/=(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/);
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 1:
if(((/*RF2:balance*/((T916*)((/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/))==(INT32_C(1))){
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T916*)((/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
}
else{
tmp1/*inspectDynamicDispatchExpression*/=(/*RF2:balance*/((T916*)((/*RF2:left*/((T916*)((/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/);
/*[inspect*/
switch(tmp1/*inspectDynamicDispatchExpression*/){
case 1:
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(-1);
(/*RF2:balance*/((T916*)((/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
break;
case 0:
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T916*)((/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
break;
default:;
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:balance*/((T916*)((/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(1);
}
/*inspect]*/
(/*RF2:balance*/((T916*)((/*RF2:left*/((T916*)((/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))->_left/*4pi0*//*:RF2*/)))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
(/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)=/*RF4:rotate_right*/r916rotate_right((T916*)((/*RF2:right*/(((T916*)/*`n'*/a1))->_right/*4pi0*//*:RF2*/)))/*:RF4*/;
}
R=/*RF4:rotate_left*/r916rotate_left(((T916*)/*`n'*/a1))/*:RF4*/;
/*SFN*/(C->_rebalance/*5piipp*/)=((T6)(0));
break;
case 0:
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(1);
R=/*`n'*/a1;
break;
default:;
(/*RF2:balance*/(((T916*)/*`n'*/a1))->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
R=/*`n'*/a1;
/*SFN*/(C->_rebalance/*5piipp*/)=((T6)(0));
}
/*inspect]*/
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910lost_nodes(T910*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_key=(void*)0;
R=(/*RF2:lost_nodes_memory*/(C)->_lost_nodes_memory/*5piipp*//*:RF2*/);
if((R)==((void*)((void*)0))){
_key=/*RF4:intern*/r7intern((T7*)(/*RF8:generating_type*/(T0*)(t[910])/*:RF8*/))/*:RF4*/;
R=/*RF4:fast_reference_at*/r1028fast_reference_at((T1028*)(/*RF6:lost_nodes_pool*/r910lost_nodes_pool()/*:RF6*/),_key)/*:RF4*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1047/*Tniii*/))));
*((T1047*)tmp0/*new*/)=M1047;
/*RF3:make*/r1047make(((T1047*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r1028add((T1028*)(/*RF6:lost_nodes_pool*/r910lost_nodes_pool()/*:RF6*/),R,_key);
/*:RF3*/}
/*SFN*/(C->_lost_nodes_memory/*5piipp*/)=R;
}
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/void r910next_generation(T910*C){
/*SFN*/(C->_generation/*5piipp*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*5piipp*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T0*r910lost_nodes_pool(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC300lost_nodes_pool==0){fBC300lost_nodes_pool=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1028/*pniiii*/))));
*((T1028*)tmp0/*new*/)=M1028;
/*RF3:make*/r1028make(((T1028*)tmp0/*new*/));
/*:RF3*/oBC300lost_nodes_pool=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC300lost_nodes_pool;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T6 r910ordered(T0*a1,T0*a2){
T6 R=0;
R=((T6)(/*RF4:<*/r7_ix_60(((T7*)/*`k1'*/a1),/*`k2'*/a2)/*:RF4*/));
return R;
}/*--*/

/*AVL_DICTIONARY[SE_C_MODE,STRING]*/T6 r910has(T910*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(((/*RF2:root*/(C)->_root/*5piipp*//*:RF2*/))!=((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF4:has*/r916has((T916*)((/*RF2:root*/(C)->_root/*5piipp*//*:RF2*/)),/*`e'*/a1)/*:RF4*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/
T0*oBC313common_free_nodes=(void*)0;
int fBC313common_free_nodes=0;

/*HASHED_DICTIONARY[STRING,STRING]*/T0*r911common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/void r911make(T911*C){
/*RF3:create_with_capacity*/r911create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T0*r911key(T911*C,T2 a1){
T0* R=(void*)0;
/*RF3:set_cache_user*/r911set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(/*RF2:key*/((T930*)((/*RF2:cache_node*/(C)->_cache_node/*T2pniiiii*//*:RF2*/)))->_key/*3p*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/void r911put(T911*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
_h=/*RF4:hash_code*/r911hash_code(/*`k'*/a2)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r911key_safe_equal((/*RF2:key*/(((T930*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a2)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T930*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)==((void*)((void*)0))){
if(/*RF4:should_increase_capacity*/r911should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*T2pniiiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r911increase_capacity(C);
/*:RF3*/_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/))/*:RF8*/;
}
_node=/*RF4:new_node*/r911new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*T2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*T2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_user/*T2pniiiii*/)=INT32_C(-1);
}
else{
(/*RF2:item*/(((T930*)_node))->_item/*3p*//*:RF2*/)=/*`v'*/a1;
}
/*RF3:next_generation*/r911next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T0*r911new_node(T911*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T933*)((/*RF2:free_nodes*/(C)->_free_nodes/*T2pniiiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T930/*3p*/))));
*((T930*)tmp0/*new*/)=M930;
/*RF3:make*/r930make(((T930*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T933*)((/*RF2:free_nodes*/(C)->_free_nodes/*T2pniiiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T930*)R))->_next/*3p*//*:RF2*/));
/*:RF7*//*RF3:make*/r930make(((T930*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/void r911add(T911*C,T0*a1,T0*a2){
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*T2pniiiii*/)=INT32_C(-1);
if(/*RF4:should_increase_capacity*/r911should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*T2pniiiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r911increase_capacity(C);
/*:RF3*/}
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r911hash_code(/*`k'*/a2)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:new_node*/r911new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*T2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*T2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r911next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T0*r911at(T911*C,T0*a1){
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r911hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
/*until*/if(/*RF4:key_safe_equal*/r911key_safe_equal((/*RF2:key*/(((T930*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a1)/*:RF4*/) break;
_node=(/*RF2:next*/(((T930*)_node))->_next/*3p*//*:RF2*/);
}
R=(/*RF2:item*/(((T930*)_node))->_item/*3p*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/void r911set_cache_user(T911*C,T2 a1){
if((/*`index'*/a1)==(/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*T2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)){
/*SFN*/(C->_cache_user/*T2pniiiii*/)=/*`index'*/a1;
/*SFN*/(C->_cache_node/*T2pniiiii*/)=(/*RF2:next*/((T930*)((/*RF2:cache_node*/(C)->_cache_node/*T2pniiiii*//*:RF2*/)))->_next/*3p*//*:RF2*/);
while(1){
/*until*/if(((/*RF2:cache_node*/(C)->_cache_node/*T2pniiiii*//*:RF2*/))!=((void*)((void*)0))) break;
/*SFN*/(C->_cache_buckets/*T2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*T2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*T2pniiiii*/)=/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*T2pniiiii*//*:RF2*/))/*:RF4*/;
}
}
else{
if((/*`index'*/a1)==((/*RF2:cache_user*/(C)->_cache_user/*T2pniiiii*//*:RF2*/))){
}
else{
if((/*`index'*/a1)==(INT8_C(1))){
/*SFN*/(C->_cache_user/*T2pniiiii*/)=INT32_C(1);
/*SFN*/(C->_cache_buckets/*T2pniiiii*/)=INT32_C(0);
/*SFN*/(C->_cache_node/*T2pniiiii*/)=/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*T2pniiiii*//*:RF2*/))/*:RF4*/;
while(1){
/*until*/if(((/*RF2:cache_node*/(C)->_cache_node/*T2pniiiii*//*:RF2*/))!=((void*)((void*)0))) break;
/*SFN*/(C->_cache_buckets/*T2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*T2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*T2pniiiii*/)=/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*T2pniiiii*//*:RF2*/))/*:RF4*/;
}
}
else{
/*RF3:set_cache_user*/r911set_cache_user(C,INT32_C(1));
/*:RF3*/while(1){
/*until*/if(((/*RF2:cache_user*/(C)->_cache_user/*T2pniiiii*//*:RF2*/))==(/*`index'*/a1)) break;
/*RF3:set_cache_user*/r911set_cache_user(C,/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*T2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/);
/*:RF3*/}
}
}
}
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T2 r911prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r911prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r911prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T0*r911buckets_item(T934 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T6 r911should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T6 r911key_safe_equal(T0*a1,T0*a2){
T6 R=0;
if((/*`k1'*/a1)==((void*)(/*`k2'*/a2))){
R=((T6)(1));
}
else{
R=((T6)(/*RF4:is_equal*/r7is_equal(((T7*)/*`k1'*/a1),/*`k2'*/a2)/*:RF4*/));
}
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T0*r911reference_at(T911*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r911hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r911key_safe_equal((/*RF2:key*/(((T930*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T930*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T930*)_node))->_item/*3p*//*:RF2*/);
}
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T2 r911prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T0*r911item(T911*C,T2 a1){
T0* R=(void*)0;
/*RF3:set_cache_user*/r911set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(/*RF2:item*/((T930*)((/*RF2:cache_node*/(C)->_cache_node/*T2pniiiii*//*:RF2*/)))->_item/*3p*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/void r911create_with_capacity(T911*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*T2pniiiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r911common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[(C)->id])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*T2pniiiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T933/*0*/))));
*((T933*)tmp0/*new*/)=M933;
/*RF7:set_item*/(((T933*)(((T933*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*T2pniiiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r911common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*T2pniiiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[(C)->id])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*T2pniiiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*T2pniiiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*T2pniiiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*T2pniiiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/void r911increase_capacity(T911*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T934 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r911prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/);
/*SFN*/(C->_buckets/*T2pniiiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*T2pniiiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r911buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T930*)_node1))->_next/*3p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r911hash_code((/*RF2:key*/(((T930*)_node1))->_key/*3p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T2pniiiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T930*)_node1))->_next/*3p*//*:RF2*/)=/*RF4:buckets_item*/r911buckets_item((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*T2pniiiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*T2pniiiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/void r911next_generation(T911*C){
/*SFN*/(C->_generation/*T2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*T2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T2 r911hash_code(T0*a1){
T2 R=0;
R=/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)/*`k'*/a1))/*:RF4*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[STRING,STRING]*/T0*r911new_iterator_on_keys(T911*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1048/*Tpii*/))));
*((T1048*)tmp0/*new*/)=M1048;
/*RF3:make*/r1048make(((T1048*)tmp0/*new*/),(T0*)C);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[STRING,STRING]*/T0*r914rotate_left(T914*C){
T0* R=(void*)0;
T0*_right_left=(void*)0;
R=(/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/);
_right_left=(/*RF2:left*/((T914*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)))->_left/*4pi0*//*:RF2*/);
(/*RF2:left*/((T914*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)))->_left/*4pi0*//*:RF2*/)=((T0*)(C));
(/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)=_right_left;
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[STRING,STRING]*/void r914set(T914*C,T0*a1,T0*a2){
(/*RF2:balance*/(C)->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
/*SFN*/(C->_left/*4pi0*/)=(void*)0;
/*SFN*/(C->_right/*4pi0*/)=(void*)0;
(/*RF2:value*/(C)->_value/*4pi0*//*:RF2*/)=/*`v'*/a1;
(/*RF2:key*/(C)->_key/*4pi0*//*:RF2*/)=/*`k'*/a2;
}/*--*/

/*AVL_DICTIONARY_NODE[STRING,STRING]*/T0*r914rotate_right(T914*C){
T0* R=(void*)0;
T0*_left_right=(void*)0;
R=(/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/);
_left_right=(/*RF2:right*/((T914*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)))->_right/*4pi0*//*:RF2*/);
(/*RF2:right*/((T914*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)))->_right/*4pi0*//*:RF2*/)=((T0*)(C));
(/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)=_left_right;
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[STRING,STRING]*/T0*r914at(T914*C,T0*a1){
T0* R=(void*)0;
if(/*RF4:test*/r944test((/*RF2:key*/(C)->_key/*4pi0*//*:RF2*/),/*`e'*/a1)/*:RF4*/){
R=((T0*)(C));
}
else{
if(/*RF4:ordered*/r914ordered(/*`e'*/a1,(/*RF2:key*/(C)->_key/*4pi0*//*:RF2*/))/*:RF4*/){
if(((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/))!=((void*)((void*)0))){
R=/*RF4:at*/r914at((T914*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)),/*`e'*/a1)/*:RF4*/;
}
}
else{
if(((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/))!=((void*)((void*)0))){
R=/*RF4:at*/r914at((T914*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)),/*`e'*/a1)/*:RF4*/;
}
}
}
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[STRING,STRING]*/T6 r914ordered(T0*a1,T0*a2){
T6 R=0;
R=((T6)(/*RF4:<*/r7_ix_60(((T7*)/*`k1'*/a1),/*`k2'*/a2)/*:RF4*/));
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[STRING,STRING]*/void r914map_in(T914*C,T0*a1){
if(((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:map_in*/r914map_in((T914*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)),/*`map'*/a1);
/*:RF3*/}
/*RF3:add_last*/r913add_last(((T913*)/*ND*/(T0*)(/*`map'*/a1)),(T0*)C);
/*:RF3*/if(((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:map_in*/r914map_in((T914*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)),/*`map'*/a1);
/*:RF3*/}
}/*--*/

/*AVL_DICTIONARY_NODE[SE_C_MODE,STRING]*/T0*r916rotate_left(T916*C){
T0* R=(void*)0;
T0*_right_left=(void*)0;
R=(/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/);
_right_left=(/*RF2:left*/((T916*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)))->_left/*4pi0*//*:RF2*/);
(/*RF2:left*/((T916*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)))->_left/*4pi0*//*:RF2*/)=((T0*)(C));
(/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)=_right_left;
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[SE_C_MODE,STRING]*/void r916set(T916*C,T0*a1,T0*a2){
(/*RF2:balance*/(C)->_balance/*4pi0*//*:RF2*/)=INT32_C(0);
/*SFN*/(C->_left/*4pi0*/)=(void*)0;
/*SFN*/(C->_right/*4pi0*/)=(void*)0;
(/*RF2:value*/(C)->_value/*4pi0*//*:RF2*/)=/*`v'*/a1;
(/*RF2:key*/(C)->_key/*4pi0*//*:RF2*/)=/*`k'*/a2;
}/*--*/

/*AVL_DICTIONARY_NODE[SE_C_MODE,STRING]*/T0*r916rotate_right(T916*C){
T0* R=(void*)0;
T0*_left_right=(void*)0;
R=(/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/);
_left_right=(/*RF2:right*/((T916*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)))->_right/*4pi0*//*:RF2*/);
(/*RF2:right*/((T916*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)))->_right/*4pi0*//*:RF2*/)=((T0*)(C));
(/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)=_left_right;
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[SE_C_MODE,STRING]*/T0*r916at(T916*C,T0*a1){
T0* R=(void*)0;
if(/*RF4:test*/r944test((/*RF2:key*/(C)->_key/*4pi0*//*:RF2*/),/*`e'*/a1)/*:RF4*/){
R=((T0*)(C));
}
else{
if(/*RF4:ordered*/r916ordered(/*`e'*/a1,(/*RF2:key*/(C)->_key/*4pi0*//*:RF2*/))/*:RF4*/){
if(((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/))!=((void*)((void*)0))){
R=/*RF4:at*/r916at((T916*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)),/*`e'*/a1)/*:RF4*/;
}
}
else{
if(((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/))!=((void*)((void*)0))){
R=/*RF4:at*/r916at((T916*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)),/*`e'*/a1)/*:RF4*/;
}
}
}
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[SE_C_MODE,STRING]*/T6 r916ordered(T0*a1,T0*a2){
T6 R=0;
R=((T6)(/*RF4:<*/r7_ix_60(((T7*)/*`k1'*/a1),/*`k2'*/a2)/*:RF4*/));
return R;
}/*--*/

/*AVL_DICTIONARY_NODE[SE_C_MODE,STRING]*/void r916map_in(T916*C,T0*a1){
if(((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:map_in*/r916map_in((T916*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)),/*`map'*/a1);
/*:RF3*/}
/*RF3:add_last*/r915add_last(((T915*)/*ND*/(T0*)(/*`map'*/a1)),(T0*)C);
/*:RF3*/if(((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:map_in*/r916map_in((T916*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)),/*`map'*/a1);
/*:RF3*/}
}/*--*/

/*AVL_DICTIONARY_NODE[SE_C_MODE,STRING]*/T6 r916has(T916*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
R=((T6)(/*RF4:test*/r944test((/*RF2:key*/(C)->_key/*4pi0*//*:RF2*/),/*`e'*/a1)/*:RF4*/));
if((R)==(0)){
if(/*RF4:ordered*/r916ordered(/*`e'*/a1,(/*RF2:key*/(C)->_key/*4pi0*//*:RF2*/))/*:RF4*/){
tmp0/*and then*/=((T6)(((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/))!=((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF4:has*/r916has((T916*)((/*RF2:left*/(C)->_left/*4pi0*//*:RF2*/)),/*`e'*/a1)/*:RF4*/));
}
R=((T6)(tmp0/*and then*/));
}
else{
tmp1/*and then*/=((T6)(((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/))!=((void*)((void*)0))));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)(/*RF4:has*/r916has((T916*)((/*RF2:right*/(C)->_right/*4pi0*//*:RF2*/)),/*`e'*/a1)/*:RF4*/));
}
R=((T6)(tmp1/*and then*/));
}
}
return R;
}/*--*/

/*COLLECTION_SORTER[STRING]*/void r918add(T0*a1,T0*a2){
/*RF3:add*/r906add(((T906*)/*ND*/(T0*)(/*`c'*/a1)),/*`element'*/a2,/*RF4:insert_index*/r918insert_index(/*`c'*/a1,/*`element'*/a2)/*:RF4*/);
/*:RF3*/}/*--*/

/*COLLECTION_SORTER[STRING]*/T2 r918insert_index(T0*a1,T0*a2){
T2 R=0;
T2 _min=0;
T2 _max=0;
_min=INT32_C(0);
_max=/*RF8:+*/((int32_t)((/*RF2:upper*/(((T906*)/*ND*/(T0*)(/*`c'*/a1)))->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
while(1){
/*until*/if((_min)==(_max)) break;
R=/*RF8:#//*/((int32_t)(/*RF8:+*/((int32_t)(_min))+(_max)/*:RF8*/))/(INT32_C(2))/*:RF8*/;
if(/*RF4:lte*/r918lte(/*RF8:item*/((/*RF2:storage*/(((T906*)/*ND*/(T0*)(/*`c'*/a1)))->_storage/*niii*//*:RF2*/))[R]/*:RF8*/,/*`element'*/a2)/*:RF4*/){
_min=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
else{
_max=R;
}
}
R=_min;
return R;
}/*--*/

/*COLLECTION_SORTER[STRING]*/T6 r918lt(T0*a1,T0*a2){
T6 R=0;
R=((T6)(/*RF4:<*/r7_ix_60(((T7*)/*`x'*/a1),/*`y'*/a2)/*:RF4*/));
return R;
}/*--*/

/*COLLECTION_SORTER[STRING]*/T6 r918lte(T0*a1,T0*a2){
T6 R=0;
R=((T6)((/*RF4:lt*/r918lt(/*`y'*/a2,/*`x'*/a1)/*:RF4*/)==(0)));
return R;
}/*--*/

/*STACK[STRING]*/void r919make(T919*C){
/*RF3:with_capacity*/r919with_capacity(C,INT32_C(16));
/*:RF3*/}/*--*/

/*STACK[STRING]*/void r919push(T919*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r912realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r919next_generation(C);
/*:RF3*/}/*--*/

/*STACK[STRING]*/void r919pop(T919*C){
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}/*--*/

/*STACK[STRING]*/T0*r919top(T919*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*STACK[STRING]*/void r919with_capacity(T919*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r912clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r919next_generation(C);
/*:RF3*/}/*--*/

/*STACK[STRING]*/void r919next_generation(T919*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T0*r923common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/void r923make(T923*C){
/*RF3:create_with_capacity*/r923create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T0*r923new_node(T923*C,T0*a1,T2 a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T957*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T956/*2pi*/))));
*((T956*)tmp0/*new*/)=M956;
/*RF3:make*/r956make(((T956*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T957*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T956*)R))->_next/*2pi*//*:RF2*/));
/*:RF7*//*RF3:make*/r956make(((T956*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/void r923add(T923*C,T0*a1,T2 a2){
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
if(/*RF4:should_increase_capacity*/r923should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r923increase_capacity(C);
/*:RF3*/}
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r923hash_code(/*`k'*/a2)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:new_node*/r923new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r923buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r923next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T2 r923prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r923prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r923prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T0*r923buckets_item(T955 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T6 r923should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T6 r923key_safe_equal(T2 a1,T2 a2){
T6 R=0;
if((/*`k1'*/a1)==(/*`k2'*/a2)){
R=((T6)(1));
}
else{
R=((T6)((/*`k1'*/a1)==(/*`k2'*/a2)));
}
return R;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T0*r923reference_at(T923*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r923hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r923buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r923key_safe_equal((/*RF2:key*/(((T956*)_node))->_key/*2pi*//*:RF2*/),/*`k'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T956*)_node))->_next/*2pi*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T956*)_node))->_item/*2pi*//*:RF2*/);
}
return R;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T2 r923prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/void r923create_with_capacity(T923*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*pniiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r923common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[923])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T957/*0*/))));
*((T957*)tmp0/*new*/)=M957;
/*RF7:set_item*/(((T957*)(((T957*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r923common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[923])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*pniiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/void r923increase_capacity(T923*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T955 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r923prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r923buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T956*)_node1))->_next/*2pi*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r923hash_code((/*RF2:key*/(((T956*)_node1))->_key/*2pi*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T956*)_node1))->_next/*2pi*//*:RF2*/)=/*RF4:buckets_item*/r923buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/void r923next_generation(T923*C){
/*SFN*/(C->_generation/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/T2 r923hash_code(T2 a1){
T2 R=0;
R=/*RF8:&*/(/*`k'*/a1&/*0x7FFFFFFF*/INT32_C(2147483647))/*:RF8*/;
return R;
}/*--*/

/*RECYCLING_POOL[TAGGED_ERROR]*/void r926make(T926*C){
/*RF3:with_capacity*/r926with_capacity(C,INT32_C(16));
/*:RF3*/}/*--*/

/*RECYCLING_POOL[TAGGED_ERROR]*/void r926recycle(T926*C,T0*a1){
/*RF3:recycle*/r719recycle(((T719*)/*`an_item'*/a1));
/*:RF3*//*RF3:push*/r926push(C,/*`an_item'*/a1);
/*:RF3*/}/*--*/

/*RECYCLING_POOL[TAGGED_ERROR]*/void r926push(T926*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r961realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r926next_generation(C);
/*:RF3*/}/*--*/

/*RECYCLING_POOL[TAGGED_ERROR]*/void r926with_capacity(T926*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r961clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r926next_generation(C);
/*:RF3*/}/*--*/

/*RECYCLING_POOL[TAGGED_ERROR]*/void r926next_generation(T926*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*REVERSE_COLLECTION_SORTER[POSITION]*/void r927quick_sort_region(T0*a1,T2 a2,T2 a3){
T2 _middle=0;
T2 _i=0;
if(/*RF8:<*/((int32_t)(/*`left'*/a2))<(/*`right'*/a3)/*:RF8*/){
_i=/*RF8:+*/((int32_t)(/*RF8:+*/((int32_t)(/*`left'*/a2))+(/*RF8:#//*/((int32_t)(/*RF8:-*/((int32_t)(/*`right'*/a3))-(/*`left'*/a2)/*:RF8*/))/(INT32_C(2))/*:RF8*/)/*:RF8*/))+(INT32_C(1))/*:RF8*/;
/*RF3:swap*/r925swap(((T925*)/*ND*/(T0*)(/*`c'*/a1)),/*`left'*/a2,_i);
/*:RF3*/_middle=/*`left'*/a2;
_i=/*RF8:+*/((int32_t)(/*`left'*/a2))+(INT32_C(1))/*:RF8*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`right'*/a3)/*:RF8*/) break;
if(/*RF4:lt*/r927lt(/*RF4:item*/r925item(((T925*)/*ND*/(T0*)(/*`c'*/a1)),_i)/*:RF4*/,/*RF4:item*/r925item(((T925*)/*ND*/(T0*)(/*`c'*/a1)),/*`left'*/a2)/*:RF4*/)/*:RF4*/){
_middle=/*RF8:+*/((int32_t)(_middle))+(INT32_C(1))/*:RF8*/;
/*RF3:swap*/r925swap(((T925*)/*ND*/(T0*)(/*`c'*/a1)),_middle,_i);
/*:RF3*/}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF3:swap*/r925swap(((T925*)/*ND*/(T0*)(/*`c'*/a1)),/*`left'*/a2,_middle);
/*:RF3*//*RF3:quick_sort_region*/r927quick_sort_region(/*`c'*/a1,/*`left'*/a2,/*RF8:-*/((int32_t)(_middle))-(INT32_C(1))/*:RF8*/);
/*:RF3*//*RF3:quick_sort_region*/r927quick_sort_region(/*`c'*/a1,/*RF8:+*/((int32_t)(_middle))+(INT32_C(1))/*:RF8*/,/*`right'*/a3);
/*:RF3*/}
}/*--*/

/*REVERSE_COLLECTION_SORTER[POSITION]*/T6 r927lt(T354 a1,T354 a2){
T6 R=0;
R=((T6)(/*RF4:<*/r354_ix_60(&/*`y'*/a2,/*`x'*/a1)/*:RF4*/));
return R;
}/*--*/

/*REVERSE_COLLECTION_SORTER[POSITION]*/void r927quick_sort(T0*a1){
/*RF3:quick_sort_region*/r927quick_sort_region(/*`c'*/a1,INT32_C(0),(/*RF2:upper*/(((T925*)/*ND*/(T0*)(/*`c'*/a1)))->_upper/*niii*//*:RF2*/));
/*:RF3*/}/*--*/

/*REVERSE_COLLECTION_SORTER[POSITION]*/T6 r927lte(T354 a1,T354 a2){
T6 R=0;
R=((T6)((/*RF4:lt*/r927lt(/*`y'*/a2,/*`x'*/a1)/*:RF4*/)==(0)));
return R;
}/*--*/

/*REVERSE_COLLECTION_SORTER[POSITION]*/void r927sort(T0*a1){
if((/*RF4:is_sorted*/r927is_sorted(/*`c'*/a1)/*:RF4*/)==(0)){
/*RF3:quick_sort*/r927quick_sort(/*`c'*/a1);
/*:RF3*/}
}/*--*/

/*REVERSE_COLLECTION_SORTER[POSITION]*/T6 r927is_sorted(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
T6 tmp1;
T354 tmp2;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i=0;
T2 _c_upper=0;
T354 _elt1={0};
T354 _elt2={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_elt1=tmp0/*locexp*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_elt2=tmp0/*locexp*/;
/*tmp0.unlock*/
_c_upper=(/*RF2:upper*/(((T925*)/*ND*/(T0*)(/*`c'*/a1)))->_upper/*niii*//*:RF2*/);
R=((T6)(1));
if(/*RF8:>*/((int32_t)(_c_upper))>(_i)/*:RF8*/){
_elt1=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r925item(((T925*)/*ND*/(T0*)(/*`c'*/a1)),_i)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
while(1){
tmp1/*or else*/=((T6)((R)==(0)));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(/*RF8:>=*/((int32_t)(_i))>=(_c_upper)/*:RF8*/));
}
/*until*/if(tmp1/*or else*/) break;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
_elt2=/*RF8:twin*/r354twin((tmp2/*fcstrangeisnotunlock*/=/*RF4:item*/r925item(((T925*)/*ND*/(T0*)(/*`c'*/a1)),_i)/*:RF4*/,&tmp2/*fcstrangeisnotunlock*/))/*:RF8*/;
R=((T6)(/*RF4:lte*/r927lte(_elt1,_elt2)/*:RF4*/));
_elt1=/*RF8:twin*/r354twin(&_elt2)/*:RF8*/;
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY_NODE[STRING,STRING]*/void r930make(T930*C,T0*a1,T0*a2,T0*a3){
/*SFN*/(C->_item/*3p*/)=/*`i'*/a1;
/*SFN*/(C->_key/*3p*/)=/*`k'*/a2;
/*SFN*/(C->_next/*3p*/)=/*`n'*/a3;
}/*--*/

/*HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r936make(T936*C,T0*a1,T0*a2,T0*a3){
/*SFN*/(C->_item/*3p*/)=/*`i'*/a1;
/*SFN*/(C->_key/*3p*/)=/*`k'*/a2;
/*SFN*/(C->_next/*3p*/)=/*`n'*/a3;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0*r937new_node(T937*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T935*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T936/*3p*/))));
*((T936*)tmp0/*new*/)=M936;
/*RF3:make*/r936make(((T936*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T935*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T936*)R))->_next/*3p*//*:RF2*/));
/*:RF7*//*RF3:make*/r936make(((T936*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r937add(T937*C,T0*a1,T0*a2){
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
if(/*RF4:should_increase_capacity*/r937should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r937increase_capacity(C);
/*:RF3*/}
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r937hash_code(/*`k'*/a2)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:new_node*/r937new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r937buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r937next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r937prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r937prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r937prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0*r937buckets_item(T963 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T6 r937should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r937special_common_dictionary(T937*C,T0*a1){
T2 _new_capacity=0;
_new_capacity=INT32_C(53);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*pniiii*/)=INT32_C(0);
/*SFN*/(C->_free_nodes/*pniiii*/)=/*`fn'*/a1;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r937prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r937increase_capacity(T937*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T963 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r937prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r937buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T936*)_node1))->_next/*3p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r937hash_code((/*RF2:key*/(((T936*)_node1))->_key/*3p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T936*)_node1))->_next/*3p*//*:RF2*/)=/*RF4:buckets_item*/r937buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r937next_generation(T937*C){
/*SFN*/(C->_generation/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r937hash_code(T0*a1){
T2 R=0;
R=/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)/*`k'*/a1))/*:RF4*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0*r937fast_reference_at(T937*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r937hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r937buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(((/*RF2:key*/(((T936*)_node))->_key/*3p*//*:RF2*/))==((void*)(/*`k'*/a1))));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T936*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T936*)_node))->_item/*3p*//*:RF2*/);
}
return R;
}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/void r941make(T941*C,T2 a1,T2 a2){
T2 _needed=0;
/*SFN*/(C->_lower/*niiiii*/)=/*`min_index'*/a1;
/*SFN*/(C->_upper/*niiiii*/)=/*`max_index'*/a2;
_needed=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*`max_index'*/a2))-(/*`min_index'*/a1)/*:RF8*/))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_storage_lower/*niiiii*/)=INT32_C(0);
if(/*RF8:>*/((int32_t)(_needed))>(INT32_C(0))/*:RF8*/){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/)))<(_needed)/*:RF8*/){
/*SFN*/(C->_storage/*niiiii*/)=/*RF8:calloc*/se_calloc(_needed,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niiiii*/)=_needed;
}
else{
/*RF3:clear_all*/r941clear_all(C);
/*:RF3*/}
}
/*RF3:next_generation*/r941next_generation(C);
/*:RF3*/}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/T0*r941first(T941*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/))[(/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/T2 r941storage_upper(T941*C){
T2 R=0;
R=/*RF4:storage_index*/r941storage_index(C,(/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/))/*:RF4*/;
return R;
}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/void r941clear_all(T941*C){
T0*_value=(void*)0;
/*RF3:set_all_with*/r941set_all_with(C,_value);
/*:RF3*/}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/T6 r941is_empty(T941*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/)))<((/*RF2:lower*/(C)->_lower/*niiiii*//*:RF2*/))/*:RF8*/));
return R;
}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/T2 r941storage_index(T941*C,T2 a1){
T2 R=0;
R=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*`i'*/a1))-((/*RF2:lower*/(C)->_lower/*niiiii*//*:RF2*/))/*:RF8*/))+((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/){
R=/*RF8:-*/((int32_t)(R))-((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/;
}
return R;
}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/void r941set_all_with(T941*C,T0*a1){
T2 _s_u=0;
if(/*RF4:is_empty*/r941is_empty(C)/*:RF4*/){
}
else{
_s_u=/*RF4:storage_upper*/r941storage_upper(C)/*:RF4*/;
if(/*RF8:<=*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))<=(_s_u)/*:RF8*/){
/*RF3:set_slice_with*/r965set_slice_with((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/),/*`v'*/a1,(/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/),_s_u);
/*:RF3*/}
else{
/*RF3:set_all_with*/r965set_all_with((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/),/*`v'*/a1,_s_u);
/*:RF3*//*RF3:set_slice_with*/r965set_slice_with((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/),/*`v'*/a1,(/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/),/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/);
/*:RF3*/}
}
/*RF3:next_generation*/r941next_generation(C);
/*:RF3*/}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/void r941next_generation(T941*C){
/*SFN*/(C->_generation/*niiiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*RING_ARRAY[PROCEDURE[TUPLE]]*/void r941remove_first(T941*C){
/*SFN*/(C->_lower/*niiiii*/)=/*RF8:+*/((int32_t)((/*RF2:lower*/(C)->_lower/*niiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_storage_lower/*niiiii*/)=/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
if(((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/))==((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))){
/*SFN*/(C->_storage_lower/*niiiii*/)=INT32_C(0);
}
/*RF3:next_generation*/r941next_generation(C);
/*:RF3*/}/*--*/

/*SAFE_EQUAL[STRING]*/T6 r944test(T0*a1,T0*a2){
T6 R=0;
T0*_e_type=(void*)0;
if((/*`e1'*/a1)==((void*)(/*`e2'*/a2))){
R=((T6)(1));
}
else{
if((/*`e1'*/a1)==((void*)((void*)0))){
}
else{
if((/*`e2'*/a2)==((void*)((void*)0))){
}
else{
if((_e_type)==((void*)((void*)0))){
R=((T6)(/*RF4:is_equal*/r7is_equal(((T7*)/*`e1'*/a1),/*`e2'*/a2)/*:RF4*/));
}
}
}
}
return R;
}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948make(T948*C,T2 a1,T2 a2){
T2 _needed=0;
/*SFN*/(C->_lower/*niiiii*/)=/*`min_index'*/a1;
/*SFN*/(C->_upper/*niiiii*/)=/*`max_index'*/a2;
_needed=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*`max_index'*/a2))-(/*`min_index'*/a1)/*:RF8*/))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_storage_lower/*niiiii*/)=INT32_C(0);
if(/*RF8:>*/((int32_t)(_needed))>(INT32_C(0))/*:RF8*/){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/)))<(_needed)/*:RF8*/){
/*SFN*/(C->_storage/*niiiii*/)=/*RF8:calloc*/se_calloc(_needed,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niiiii*/)=_needed;
}
else{
/*RF3:clear_all*/r948clear_all(C);
/*:RF3*/}
}
/*RF3:next_generation*/r948next_generation(C);
/*:RF3*/}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948add_first(T948*C,T0*a1){
/*RF3:make_space_for_one*/r948make_space_for_one(C);
/*:RF3*//*SFN*/(C->_upper/*niiiii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_storage_lower/*niiiii*/)=/*RF8:-*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
if(/*RF8:<*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))<(INT32_C(0))/*:RF8*/){
/*SFN*/(C->_storage_lower/*niiiii*/)=/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))+((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/;
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/))[(/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r948next_generation(C);
/*:RF3*/}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948put(T948*C,T0*a1,T2 a2){
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/))[/*RF4:storage_index*/r948storage_index(C,/*`i'*/a2)/*:RF4*/]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r948next_generation(C);
/*:RF3*/}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948move(T948*C,T2 a1,T2 a2,T2 a3){
T0*_default_value=(void*)0;
T2 _i=0;
if((/*`distance'*/a3)==(INT8_C(0))){
}
else{
if(/*RF8:<*/((int32_t)(/*`distance'*/a3))<(INT32_C(0))/*:RF8*/){
_i=/*`lower_index'*/a1;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`upper_index'*/a2)/*:RF8*/) break;
/*RF3:put*/r948put(C,/*RF4:item*/r948item(C,_i)/*:RF4*/,/*RF8:+*/((int32_t)(_i))+(/*`distance'*/a3)/*:RF8*/);
/*:RF3*//*RF3:put*/r948put(C,_default_value,_i);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
else{
_i=/*`upper_index'*/a2;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(/*`lower_index'*/a1)/*:RF8*/) break;
/*RF3:put*/r948put(C,/*RF4:item*/r948item(C,_i)/*:RF4*/,/*RF8:+*/((int32_t)(_i))+(/*`distance'*/a3)/*:RF8*/);
/*:RF3*//*RF3:put*/r948put(C,_default_value,_i);
/*:RF3*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}
}
}/*--*/

/*RING_ARRAY[SE_CONFIG]*/T2 r948wrap_point(T948*C){
T2 R=0;
R=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/)))+((/*RF2:lower*/(C)->_lower/*niiiii*//*:RF2*/))/*:RF8*/))-((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/))/*:RF8*/;
return R;
}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948make_space_for_one(T948*C){
T2 _old_capacity=0;
T2 _s_u=0;
T2 _wp=0;
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/)))<(/*RF8:+*/((int32_t)(/*RF4:count*/r948count(C)/*:RF4*/))+(INT32_C(1))/*:RF8*/)/*:RF8*/){
if(((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_capacity/*niiiii*/)=INT32_C(16);
/*SFN*/(C->_storage/*niiiii*/)=/*RF8:calloc*/se_calloc((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/),sizeof(T0*))/*:RF8*/;
}
else{
_wp=/*RF4:wrap_point*/r948wrap_point(C)/*:RF4*/;
_s_u=/*RF4:storage_upper*/r948storage_upper(C)/*:RF4*/;
_old_capacity=(/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/);
/*SFN*/(C->_capacity/*niiiii*/)=/*RF8:**/((int32_t)(INT32_C(2)))*((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/;
/*SFN*/(C->_storage/*niiiii*/)=/*RF4:realloc*/r966realloc((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/),_old_capacity,(/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF4*/;
if(/*RF8:<*/((int32_t)(_s_u))<((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_upper/*niiiii*/)=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/)))+((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/))-(_old_capacity)/*:RF8*/;
/*RF3:squeeze_bubble*/r948squeeze_bubble(C,(/*RF2:lower*/(C)->_lower/*niiiii*//*:RF2*/),(/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/),_wp,/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/)))-(_old_capacity)/*:RF8*/);
/*:RF3*//*SFN*/(C->_upper/*niiiii*/)=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/)))-((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/))+(_old_capacity)/*:RF8*/;
}
}
}
/*RF3:next_generation*/r948next_generation(C);
/*:RF3*/}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948squeeze_bubble(T948*C,T2 a1,T2 a2,T2 a3,T2 a4){
if(/*RF8:<=*/((int32_t)(/*RF8:-*/((int32_t)(/*`pos'*/a3))-(/*`min'*/a1)/*:RF8*/))<=(/*RF8:-*/((int32_t)(/*RF8:-*/((int32_t)(/*`max'*/a2))-(/*`pos'*/a3)/*:RF8*/))-(/*`length'*/a4)/*:RF8*/)/*:RF8*/){
/*RF3:move*/r948move(C,/*`min'*/a1,/*RF8:-*/((int32_t)(/*`pos'*/a3))-(INT32_C(1))/*:RF8*/,/*`length'*/a4);
/*:RF3*//*SFN*/(C->_storage_lower/*niiiii*/)=/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))+(/*`length'*/a4)/*:RF8*/;
if(/*RF8:>=*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))>=((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_storage_lower/*niiiii*/)=/*RF8:-*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))-((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/;
}
}
else{
/*RF3:move*/r948move(C,/*RF8:+*/((int32_t)(/*`pos'*/a3))+(/*`length'*/a4)/*:RF8*/,/*`max'*/a2,/*RF8:-*/-(/*`length'*/a4)/*:RF8*/);
/*:RF3*/}
/*RF3:next_generation*/r948next_generation(C);
/*:RF3*/}/*--*/

/*RING_ARRAY[SE_CONFIG]*/T0*r948item(T948*C,T2 a1){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/))[/*RF4:storage_index*/r948storage_index(C,/*`i'*/a1)/*:RF4*/]/*:RF8*/;
return R;
}/*--*/

/*RING_ARRAY[SE_CONFIG]*/T2 r948storage_upper(T948*C){
T2 R=0;
R=/*RF4:storage_index*/r948storage_index(C,(/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/))/*:RF4*/;
return R;
}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948clear_all(T948*C){
T0*_value=(void*)0;
/*RF3:set_all_with*/r948set_all_with(C,_value);
/*:RF3*/}/*--*/

/*RING_ARRAY[SE_CONFIG]*/T6 r948is_empty(T948*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/)))<((/*RF2:lower*/(C)->_lower/*niiiii*//*:RF2*/))/*:RF8*/));
return R;
}/*--*/

/*RING_ARRAY[SE_CONFIG]*/T2 r948storage_index(T948*C,T2 a1){
T2 R=0;
R=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*`i'*/a1))-((/*RF2:lower*/(C)->_lower/*niiiii*//*:RF2*/))/*:RF8*/))+((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/){
R=/*RF8:-*/((int32_t)(R))-((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/))/*:RF8*/;
}
return R;
}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948set_all_with(T948*C,T0*a1){
T2 _s_u=0;
if(/*RF4:is_empty*/r948is_empty(C)/*:RF4*/){
}
else{
_s_u=/*RF4:storage_upper*/r948storage_upper(C)/*:RF4*/;
if(/*RF8:<=*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/)))<=(_s_u)/*:RF8*/){
/*RF3:set_slice_with*/r966set_slice_with((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/),/*`v'*/a1,(/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/),_s_u);
/*:RF3*/}
else{
/*RF3:set_all_with*/r966set_all_with((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/),/*`v'*/a1,_s_u);
/*:RF3*//*RF3:set_slice_with*/r966set_slice_with((/*RF2:storage*/(C)->_storage/*niiiii*//*:RF2*/),/*`v'*/a1,(/*RF2:storage_lower*/(C)->_storage_lower/*niiiii*//*:RF2*/),/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niiiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/);
/*:RF3*/}
}
/*RF3:next_generation*/r948next_generation(C);
/*:RF3*/}/*--*/

/*RING_ARRAY[SE_CONFIG]*/void r948next_generation(T948*C){
/*SFN*/(C->_generation/*niiiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*RING_ARRAY[SE_CONFIG]*/T2 r948count(T948*C){
T2 R=0;
R=/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niiiii*//*:RF2*/)))-((/*RF2:lower*/(C)->_lower/*niiiii*//*:RF2*/))/*:RF8*/))+(INT32_C(1))/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T0*r951common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/void r951make(T951*C){
/*RF3:create_with_capacity*/r951create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T0*r951key(T951*C,T2 a1){
T0* R=(void*)0;
/*RF3:set_cache_user*/r951set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(/*RF2:key*/((T972*)((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/)))->_key/*3p*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/void r951put(T951*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
_h=/*RF4:hash_code*/r951hash_code(/*`k'*/a2)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r951buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r951key_safe_equal((/*RF2:key*/(((T972*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a2)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T972*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)==((void*)((void*)0))){
if(/*RF4:should_increase_capacity*/r951should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*2pniiiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r951increase_capacity(C);
/*:RF3*/_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/))/*:RF8*/;
}
_node=/*RF4:new_node*/r951new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r951buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_user/*2pniiiii*/)=INT32_C(-1);
}
else{
(/*RF2:item*/(((T972*)_node))->_item/*3p*//*:RF2*/)=/*`v'*/a1;
}
/*RF3:next_generation*/r951next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T0*r951new_node(T951*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T974*)((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T972/*3p*/))));
*((T972*)tmp0/*new*/)=M972;
/*RF3:make*/r972make(((T972*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T974*)((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T972*)R))->_next/*3p*//*:RF2*/));
/*:RF7*//*RF3:make*/r972make(((T972*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/void r951set_cache_user(T951*C,T2 a1){
if((/*`index'*/a1)==(/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)){
/*SFN*/(C->_cache_user/*2pniiiii*/)=/*`index'*/a1;
/*SFN*/(C->_cache_node/*2pniiiii*/)=(/*RF2:next*/((T972*)((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/)))->_next/*3p*//*:RF2*/);
while(1){
/*until*/if(((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/))!=((void*)((void*)0))) break;
/*SFN*/(C->_cache_buckets/*2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*2pniiiii*/)=/*RF4:buckets_item*/r951buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/))/*:RF4*/;
}
}
else{
if((/*`index'*/a1)==((/*RF2:cache_user*/(C)->_cache_user/*2pniiiii*//*:RF2*/))){
}
else{
if((/*`index'*/a1)==(INT8_C(1))){
/*SFN*/(C->_cache_user/*2pniiiii*/)=INT32_C(1);
/*SFN*/(C->_cache_buckets/*2pniiiii*/)=INT32_C(0);
/*SFN*/(C->_cache_node/*2pniiiii*/)=/*RF4:buckets_item*/r951buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/))/*:RF4*/;
while(1){
/*until*/if(((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/))!=((void*)((void*)0))) break;
/*SFN*/(C->_cache_buckets/*2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*2pniiiii*/)=/*RF4:buckets_item*/r951buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/))/*:RF4*/;
}
}
else{
/*RF3:set_cache_user*/r951set_cache_user(C,INT32_C(1));
/*:RF3*/while(1){
/*until*/if(((/*RF2:cache_user*/(C)->_cache_user/*2pniiiii*//*:RF2*/))==(/*`index'*/a1)) break;
/*RF3:set_cache_user*/r951set_cache_user(C,/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/);
/*:RF3*/}
}
}
}
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T2 r951prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r951prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r951prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T0*r951buckets_item(T973 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T6 r951should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T6 r951key_safe_equal(T0*a1,T0*a2){
T6 R=0;
if((/*`k1'*/a1)==((void*)(/*`k2'*/a2))){
R=((T6)(1));
}
else{
R=((T6)(/*RF4:is_equal*/r7is_equal(((T7*)/*`k1'*/a1),/*`k2'*/a2)/*:RF4*/));
}
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T2 r951prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T0*r951item(T951*C,T2 a1){
T0* R=(void*)0;
/*RF3:set_cache_user*/r951set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(/*RF2:item*/((T972*)((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/)))->_item/*3p*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/void r951create_with_capacity(T951*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*2pniiiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r951common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[951])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T974/*0*/))));
*((T974*)tmp0/*new*/)=M974;
/*RF7:set_item*/(((T974*)(((T974*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*2pniiiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r951common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*2pniiiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[951])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*2pniiiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniiiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*2pniiiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*2pniiiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/void r951increase_capacity(T951*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T973 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r951prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/);
/*SFN*/(C->_buckets/*2pniiiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniiiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r951buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T972*)_node1))->_next/*3p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r951hash_code((/*RF2:key*/(((T972*)_node1))->_key/*3p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T972*)_node1))->_next/*3p*//*:RF2*/)=/*RF4:buckets_item*/r951buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*2pniiiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/void r951next_generation(T951*C){
/*SFN*/(C->_generation/*2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[SE_C_MODE,STRING]*/T2 r951hash_code(T0*a1){
T2 R=0;
R=/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)/*`k'*/a1))/*:RF4*/;
return R;
}/*--*/

/*HASHED_DICTIONARY_NODE[FAST_ARRAY[FIXED_STRING],INTEGER_32]*/void r956make(T956*C,T0*a1,T2 a2,T0*a3){
/*SFN*/(C->_item/*2pi*/)=/*`i'*/a1;
/*SFN*/(C->_key/*2pi*/)=/*`k'*/a2;
/*SFN*/(C->_next/*2pi*/)=/*`n'*/a3;
}/*--*/
T0*oBC349common_free_nodes=(void*)0;
int fBC349common_free_nodes=0;

/*HASHED_SET[HASHED_STRING]*/T0*r969common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC349common_free_nodes==0){fBC349common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T991/*pniiii*/))));
*((T991*)tmp0/*new*/)=M991;
/*RF3:make*/r991make(((T991*)tmp0/*new*/));
/*:RF3*/oBC349common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC349common_free_nodes;
}/*--*/

/*HASHED_SET[HASHED_STRING]*/T0*r969new_node(T969*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T988*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T987/*2p*/))));
*((T987*)tmp0/*new*/)=M987;
/*RF3:make*/r987make(((T987*)tmp0/*new*/),/*`e'*/a1,/*`next'*/a2);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T988*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T987*)R))->_next/*2p*//*:RF2*/));
/*:RF7*//*RF3:make*/r987make(((T987*)R),/*`e'*/a1,/*`next'*/a2);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_SET[HASHED_STRING]*/T6 r969safe_equal(T0*a1,T0*a2){
T6 R=0;
T0*_e_type=(void*)0;
if((/*`e1'*/a1)==((void*)(/*`e2'*/a2))){
R=((T6)(1));
}
else{
if((/*`e1'*/a1)==((void*)((void*)0))){
}
else{
if((/*`e2'*/a2)==((void*)((void*)0))){
}
else{
if((_e_type)==((void*)((void*)0))){
R=((T6)(/*RF4:is_equal*/r107is_equal(((T107*)/*`e1'*/a1),/*`e2'*/a2)/*:RF4*/));
}
}
}
}
return R;
}/*--*/

/*HASHED_SET[HASHED_STRING]*/void r969add(T969*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
_h=/*RF4:hash_code*/r969hash_code(/*`e'*/a1)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF8:item*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]/*:RF8*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:safe_equal*/r969safe_equal((/*RF2:item*/(((T987*)_node))->_item/*2p*//*:RF2*/),/*`e'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T987*)_node))->_next/*2p*//*:RF2*/);
}
if((_node)==((void*)((void*)0))){
if(/*RF4:should_increase_capacity*/r969should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r969increase_capacity(C);
/*:RF3*/_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
}
_node=/*RF4:new_node*/r969new_node(C,/*`e'*/a1,/*RF8:item*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]/*:RF8*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
/*RF3:next_generation*/r969next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_SET[HASHED_STRING]*/void r969manifest_put(T969*C,T2 a1,T0*a2){
/*RF3:add*/r969add(C,/*`element'*/a2);
/*:RF3*/}/*--*/

/*HASHED_SET[HASHED_STRING]*/T2 r969prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r969prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r969prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_SET[HASHED_STRING]*/T6 r969should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_SET[HASHED_STRING]*/T0*r969reference_at(T969*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r969hash_code(/*`e'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF8:item*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]/*:RF8*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:safe_equal*/r969safe_equal((/*RF2:item*/(((T987*)_node))->_item/*2p*//*:RF2*/),/*`e'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T987*)_node))->_next/*2p*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T987*)_node))->_item/*2p*//*:RF2*/);
}
return R;
}/*--*/

/*HASHED_SET[HASHED_STRING]*/T2 r969prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_SET[HASHED_STRING]*/void r969manifest_make(T969*C,T2 a1){
/*RF3:with_capacity*/r969with_capacity(C,/*`needed_capacity'*/a1);
/*:RF3*/}/*--*/

/*HASHED_SET[HASHED_STRING]*/void r969create_with_capacity(T969*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/))==((void*)((void*)0))){
/*SFN*/(C->_free_nodes/*pniiii*/)=/*RF4:fast_reference_at*/r991fast_reference_at(((T991*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r969common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[969])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T988/*0*/))));
*((T988*)tmp0/*new*/)=M988;
/*RF7:set_item*/(((T988*)(((T988*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r991add(((T991*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r969common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[969])/*:RF8*/);
/*:RF3*/}
}
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*pniiii*/)=INT32_C(0);
}/*--*/

/*HASHED_SET[HASHED_STRING]*/void r969increase_capacity(T969*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T986 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r969prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF8:item*/(_old_buckets)[_i]/*:RF8*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T987*)_node1))->_next/*2p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r969hash_code((/*RF2:item*/(((T987*)_node1))->_item/*2p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T987*)_node1))->_next/*2p*//*:RF2*/)=/*RF8:item*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]/*:RF8*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_SET[HASHED_STRING]*/void r969with_capacity(T969*C,T2 a1){
/*RF3:create_with_capacity*/r969create_with_capacity(C,/*RF4:prime_capacity*/r969prime_capacity(/*`medium_size'*/a1)/*:RF4*/);
/*:RF3*//*RF3:next_generation*/r969next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_SET[HASHED_STRING]*/void r969next_generation(T969*C){
/*SFN*/(C->_generation/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_SET[HASHED_STRING]*/T2 r969hash_code(T0*a1){
T2 R=0;
R=(/*RF2:hash_code*/(((T107*)/*`e'*/a1))->_hash_code/*pi*//*:RF2*/);
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T0*r970common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970make(T970*C){
/*RF3:create_with_capacity*/r970create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T0*r970new_node(T970*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T996*)((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T993/*3p*/))));
*((T993*)tmp0/*new*/)=M993;
/*RF3:make*/r993make(((T993*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T996*)((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T993*)R))->_next/*3p*//*:RF2*/));
/*:RF7*//*RF3:make*/r993make(((T993*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970add(T970*C,T0*a1,T0*a2){
/*RF3:_P_313_add*/r970_P_313_add(C,/*`v'*/a1,/*`k'*/a2);
/*:RF3*//*RF3:add_last*/r906add_last((T906*)((/*RF2:ordered_keys*/(C)->_ordered_keys/*2pniiii*//*:RF2*/)),/*`k'*/a2);
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T0*r970at(T970*C,T0*a1){
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r970hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r970buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
/*until*/if(/*RF4:key_safe_equal*/r970key_safe_equal((/*RF2:key*/(((T993*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a1)/*:RF4*/) break;
_node=(/*RF2:next*/(((T993*)_node))->_next/*3p*//*:RF2*/);
}
R=(/*RF2:item*/(((T993*)_node))->_item/*3p*//*:RF2*/);
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T2 r970prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r970prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r970prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T0*r970buckets_item(T992 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T6 r970should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T0*r970reference_at(T970*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r970hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r970buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r970key_safe_equal((/*RF2:key*/(((T993*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T993*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T993*)_node))->_item/*3p*//*:RF2*/);
}
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T6 r970key_safe_equal(T0*a1,T0*a2){
T6 R=0;
if((/*`k1'*/a1)==((void*)(/*`k2'*/a2))){
R=((T6)(1));
}
else{
R=((T6)(/*RF4:is_equal*/r7is_equal(((T7*)/*`k1'*/a1),/*`k2'*/a2)/*:RF4*/));
}
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T2 r970prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T0*r970dispose_node(T970*C,T0*a1){
T0* R=(void*)0;
R=(/*RF2:next*/(((T993*)/*`node'*/a1))->_next/*3p*//*:RF2*/);
(/*RF2:next*/(((T993*)/*`node'*/a1))->_next/*3p*//*:RF2*/)=/*RF8:item*/(((T996*)((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiii*//*:RF2*/)))->o)/*:RF8*/;
/*RF7:set_item*/(((T996*)((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiii*//*:RF2*/)))->o)=(T0*)(/*`node'*/a1);
/*:RF7*/return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970clear_count(T970*C){
/*RF3:_P_313_clear_count*/r970_P_313_clear_count(C);
/*:RF3*//*RF3:clear_count*/r906clear_count((T906*)((/*RF2:ordered_keys*/(C)->_ordered_keys/*2pniiii*//*:RF2*/)));
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970create_with_capacity(T970*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*RF3:_P_313_create_with_capacity*/r970_P_313_create_with_capacity(C,/*`medium_size'*/a1);
/*:RF3*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:with_capacity*/r906with_capacity(((T906*)tmp0/*new*/),/*`medium_size'*/a1);
/*:RF3*//*SFN*/(C->_ordered_keys/*2pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970increase_capacity(T970*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T992 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r970prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*2pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r970buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T993*)_node1))->_next/*3p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r970hash_code((/*RF2:key*/(((T993*)_node1))->_key/*3p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T993*)_node1))->_next/*3p*//*:RF2*/)=/*RF4:buckets_item*/r970buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*2pniiii*/)=INT32_C(-1);
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970next_generation(T970*C){
/*SFN*/(C->_generation/*2pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*2pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T2 r970hash_code(T0*a1){
T2 R=0;
R=/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)/*`k'*/a1))/*:RF4*/;
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T0*r970new_iterator_on_keys(T970*C){
T0* R=(void*)0;
R=/*RF4:new_iterator*/r906new_iterator((T906*)((/*RF2:ordered_keys*/(C)->_ordered_keys/*2pniiii*//*:RF2*/)))/*:RF4*/;
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/T6 r970has(T970*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r970hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r970buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r970key_safe_equal((/*RF2:key*/(((T993*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T993*)_node))->_next/*3p*//*:RF2*/);
}
R=((T6)((_node)!=((void*)((void*)0))));
return R;
}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970_P_313_add(T970*C,T0*a1,T0*a2){
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*2pniiii*/)=INT32_C(-1);
if(/*RF4:should_increase_capacity*/r970should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*2pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r970increase_capacity(C);
/*:RF3*/}
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r970hash_code(/*`k'*/a2)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:new_node*/r970new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r970buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*2pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*2pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r970next_generation(C);
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970_P_313_clear_count(T970*C){
T2 _i=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*2pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*2pniiii*/)=INT32_C(0);
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node=/*RF4:buckets_item*/r970buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),_i)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/))[_i]=((void*)0);
/*:RF7*/while(1){
/*until*/if((_node)==((void*)((void*)0))) break;
_node=/*RF4:dispose_node*/r970dispose_node(C,_node)/*:RF4*/;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*RF3:next_generation*/r970next_generation(C);
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r970_P_313_create_with_capacity(T970*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*2pniiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r970common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[970])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T996/*0*/))));
*((T996*)tmp0/*new*/)=M996;
/*RF7:set_item*/(((T996*)(((T996*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*2pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r970common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*2pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[970])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*2pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*2pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*2pniiii*/)=INT32_C(0);
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T971*create971make(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T971/*T3pniiiii*/))));
*((T971*)tmp0/*new*/)=M971;
/*RF3:make*/r971make(((T971*)tmp0/*new*/));
/*:RF3*/return ((T971*)tmp0/*new*/);
/*tmp0.unlock*/
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971make(T971*C){
/*RF3:create_with_capacity*/r971create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971key(T971*C,T2 a1){
T0* R=(void*)0;
/*RF3:set_cache_user*/r971set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(/*RF2:key*/((T930*)((/*RF2:cache_node*/(C)->_cache_node/*T3pniiiii*//*:RF2*/)))->_key/*3p*//*:RF2*/);
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971put(T971*C,T0*a1,T0*a2){
if(/*RF4:has*/r971has(C,/*`k'*/a2)/*:RF4*/){
/*RF3:_P_313_put*/r971_P_313_put(C,/*`v'*/a1,/*`k'*/a2);
/*:RF3*/}
else{
/*RF3:add*/r971add(C,/*`v'*/a1,/*`k'*/a2);
/*:RF3*/}
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971new_node(T971*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T933*)((/*RF2:free_nodes*/(C)->_free_nodes/*T3pniiiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T930/*3p*/))));
*((T930*)tmp0/*new*/)=M930;
/*RF3:make*/r930make(((T930*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T933*)((/*RF2:free_nodes*/(C)->_free_nodes/*T3pniiiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T930*)R))->_next/*3p*//*:RF2*/));
/*:RF7*//*RF3:make*/r930make(((T930*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971add(T971*C,T0*a1,T0*a2){
/*RF3:_P_313_add*/r971_P_313_add(C,/*`v'*/a1,/*`k'*/a2);
/*:RF3*//*RF3:add_last*/r906add_last((T906*)((/*RF2:ordered_keys*/(C)->_ordered_keys/*T3pniiiii*//*:RF2*/)),/*`k'*/a2);
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971set_cache_user(T971*C,T2 a1){
if((/*`index'*/a1)==(/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*T3pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)){
/*SFN*/(C->_cache_user/*T3pniiiii*/)=/*`index'*/a1;
/*SFN*/(C->_cache_node/*T3pniiiii*/)=(/*RF2:next*/((T930*)((/*RF2:cache_node*/(C)->_cache_node/*T3pniiiii*//*:RF2*/)))->_next/*3p*//*:RF2*/);
while(1){
/*until*/if(((/*RF2:cache_node*/(C)->_cache_node/*T3pniiiii*//*:RF2*/))!=((void*)((void*)0))) break;
/*SFN*/(C->_cache_buckets/*T3pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*T3pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*T3pniiiii*/)=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*T3pniiiii*//*:RF2*/))/*:RF4*/;
}
}
else{
if((/*`index'*/a1)==((/*RF2:cache_user*/(C)->_cache_user/*T3pniiiii*//*:RF2*/))){
}
else{
if((/*`index'*/a1)==(INT8_C(1))){
/*SFN*/(C->_cache_user/*T3pniiiii*/)=INT32_C(1);
/*SFN*/(C->_cache_buckets/*T3pniiiii*/)=INT32_C(0);
/*SFN*/(C->_cache_node/*T3pniiiii*/)=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*T3pniiiii*//*:RF2*/))/*:RF4*/;
while(1){
/*until*/if(((/*RF2:cache_node*/(C)->_cache_node/*T3pniiiii*//*:RF2*/))!=((void*)((void*)0))) break;
/*SFN*/(C->_cache_buckets/*T3pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*T3pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*T3pniiiii*/)=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*T3pniiiii*//*:RF2*/))/*:RF4*/;
}
}
else{
/*RF3:set_cache_user*/r971set_cache_user(C,INT32_C(1));
/*:RF3*/while(1){
/*until*/if(((/*RF2:cache_user*/(C)->_cache_user/*T3pniiiii*//*:RF2*/))==(/*`index'*/a1)) break;
/*RF3:set_cache_user*/r971set_cache_user(C,/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*T3pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/);
/*:RF3*/}
}
}
}
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971at(T971*C,T0*a1){
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r971hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
/*until*/if(/*RF4:key_safe_equal*/r971key_safe_equal((/*RF2:key*/(((T930*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a1)/*:RF4*/) break;
_node=(/*RF2:next*/(((T930*)_node))->_next/*3p*//*:RF2*/);
}
R=(/*RF2:item*/(((T930*)_node))->_item/*3p*//*:RF2*/);
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T2 r971prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r971prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r971prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971buckets_item(T934 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T6 r971should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T6 r971key_safe_equal(T0*a1,T0*a2){
T6 R=0;
if((/*`k1'*/a1)==((void*)(/*`k2'*/a2))){
R=((T6)(1));
}
else{
R=((T6)(/*RF4:is_equal*/r7is_equal(((T7*)/*`k1'*/a1),/*`k2'*/a2)/*:RF4*/));
}
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971reference_at(T971*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r971hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r971key_safe_equal((/*RF2:key*/(((T930*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T930*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T930*)_node))->_item/*3p*//*:RF2*/);
}
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T2 r971prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971dispose_node(T971*C,T0*a1){
T0* R=(void*)0;
R=(/*RF2:next*/(((T930*)/*`node'*/a1))->_next/*3p*//*:RF2*/);
(/*RF2:next*/(((T930*)/*`node'*/a1))->_next/*3p*//*:RF2*/)=/*RF8:item*/(((T933*)((/*RF2:free_nodes*/(C)->_free_nodes/*T3pniiiii*//*:RF2*/)))->o)/*:RF8*/;
/*RF7:set_item*/(((T933*)((/*RF2:free_nodes*/(C)->_free_nodes/*T3pniiiii*//*:RF2*/)))->o)=(T0*)(/*`node'*/a1);
/*:RF7*/return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971item(T971*C,T2 a1){
T0* R=(void*)0;
/*RF3:set_cache_user*/r971set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(/*RF2:item*/((T930*)((/*RF2:cache_node*/(C)->_cache_node/*T3pniiiii*//*:RF2*/)))->_item/*3p*//*:RF2*/);
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971clear_count(T971*C){
/*RF3:_P_313_clear_count*/r971_P_313_clear_count(C);
/*:RF3*//*RF3:clear_count*/r906clear_count((T906*)((/*RF2:ordered_keys*/(C)->_ordered_keys/*T3pniiiii*//*:RF2*/)));
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971create_with_capacity(T971*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*RF3:_P_313_create_with_capacity*/r971_P_313_create_with_capacity(C,/*`medium_size'*/a1);
/*:RF3*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:with_capacity*/r906with_capacity(((T906*)tmp0/*new*/),/*`medium_size'*/a1);
/*:RF3*//*SFN*/(C->_ordered_keys/*T3pniiiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971increase_capacity(T971*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T934 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r971prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/);
/*SFN*/(C->_buckets/*T3pniiiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*T3pniiiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r971buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T930*)_node1))->_next/*3p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r971hash_code((/*RF2:key*/(((T930*)_node1))->_key/*3p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T930*)_node1))->_next/*3p*//*:RF2*/)=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*T3pniiiii*/)=INT32_C(-1);
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971next_generation(T971*C){
/*SFN*/(C->_generation/*T3pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*T3pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T2 r971hash_code(T0*a1){
T2 R=0;
R=/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)/*`k'*/a1))/*:RF4*/;
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T0*r971new_iterator_on_keys(T971*C){
T0* R=(void*)0;
R=/*RF4:new_iterator*/r906new_iterator((T906*)((/*RF2:ordered_keys*/(C)->_ordered_keys/*T3pniiiii*//*:RF2*/)))/*:RF4*/;
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/T6 r971has(T971*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r971hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r971key_safe_equal((/*RF2:key*/(((T930*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T930*)_node))->_next/*3p*//*:RF2*/);
}
R=((T6)((_node)!=((void*)((void*)0))));
return R;
}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971_P_313_put(T971*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
_h=/*RF4:hash_code*/r971hash_code(/*`k'*/a2)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r971key_safe_equal((/*RF2:key*/(((T930*)_node))->_key/*3p*//*:RF2*/),/*`k'*/a2)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T930*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)==((void*)((void*)0))){
if(/*RF4:should_increase_capacity*/r971should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*T3pniiiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r971increase_capacity(C);
/*:RF3*/_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/))/*:RF8*/;
}
_node=/*RF4:new_node*/r971new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*T3pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*T3pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_user/*T3pniiiii*/)=INT32_C(-1);
}
else{
(/*RF2:item*/(((T930*)_node))->_item/*3p*//*:RF2*/)=/*`v'*/a1;
}
/*RF3:next_generation*/r971next_generation(C);
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971_P_313_add(T971*C,T0*a1,T0*a2){
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*T3pniiiii*/)=INT32_C(-1);
if(/*RF4:should_increase_capacity*/r971should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*T3pniiiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r971increase_capacity(C);
/*:RF3*/}
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r971hash_code(/*`k'*/a2)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:new_node*/r971new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*T3pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*T3pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r971next_generation(C);
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971_P_313_clear_count(T971*C){
T2 _i=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*T3pniiiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*T3pniiiii*/)=INT32_C(0);
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*T3pniiiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node=/*RF4:buckets_item*/r971buckets_item((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/),_i)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*T3pniiiii*//*:RF2*/))[_i]=((void*)0);
/*:RF7*/while(1){
/*until*/if((_node)==((void*)((void*)0))) break;
_node=/*RF4:dispose_node*/r971dispose_node(C,_node)/*:RF4*/;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*RF3:next_generation*/r971next_generation(C);
/*:RF3*/}/*--*/

/*ORDERED_DICTIONARY[STRING,STRING]*/void r971_P_313_create_with_capacity(T971*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*T3pniiiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r971common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[(C)->id])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*T3pniiiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T933/*0*/))));
*((T933*)tmp0/*new*/)=M933;
/*RF7:set_item*/(((T933*)(((T933*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*T3pniiiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r971common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*T3pniiiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[(C)->id])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*T3pniiiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*T3pniiiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*T3pniiiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*T3pniiiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY_NODE[SE_C_MODE,STRING]*/void r972make(T972*C,T0*a1,T0*a2,T0*a3){
/*SFN*/(C->_item/*3p*/)=/*`i'*/a1;
/*SFN*/(C->_key/*3p*/)=/*`k'*/a2;
/*SFN*/(C->_next/*3p*/)=/*`n'*/a3;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T0*r981common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T0*r981key(T981*C,T2 a1){
T0* R=(void*)0;
/*RF3:set_cache_user*/r981set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(/*RF2:key*/((T1005*)((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/)))->_key/*2ps*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T0*r981fast_key_at(T981*C,T10 a1){
T0* R=(void*)0;
T2 _i=0;
_i=INT32_C(1);
while(1){
/*until*/if((/*`v'*/a1)==(/*RF4:item*/r981item(C,_i)/*:RF4*/)) break;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
R=/*RF4:key*/r981key(C,_i)/*:RF4*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T0*r981new_node(T981*C,T10 a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T1004*)((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1005/*2ps*/))));
*((T1005*)tmp0/*new*/)=M1005;
/*RF3:make*/r1005make(((T1005*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T1004*)((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T1005*)R))->_next/*2ps*//*:RF2*/));
/*:RF7*//*RF3:make*/r1005make(((T1005*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/void r981set_cache_user(T981*C,T2 a1){
if((/*`index'*/a1)==(/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)){
/*SFN*/(C->_cache_user/*2pniiiii*/)=/*`index'*/a1;
/*SFN*/(C->_cache_node/*2pniiiii*/)=(/*RF2:next*/((T1005*)((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/)))->_next/*2ps*//*:RF2*/);
while(1){
/*until*/if(((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/))!=((void*)((void*)0))) break;
/*SFN*/(C->_cache_buckets/*2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*2pniiiii*/)=/*RF4:buckets_item*/r981buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/))/*:RF4*/;
}
}
else{
if((/*`index'*/a1)==((/*RF2:cache_user*/(C)->_cache_user/*2pniiiii*//*:RF2*/))){
}
else{
if((/*`index'*/a1)==(INT8_C(1))){
/*SFN*/(C->_cache_user/*2pniiiii*/)=INT32_C(1);
/*SFN*/(C->_cache_buckets/*2pniiiii*/)=INT32_C(0);
/*SFN*/(C->_cache_node/*2pniiiii*/)=/*RF4:buckets_item*/r981buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/))/*:RF4*/;
while(1){
/*until*/if(((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/))!=((void*)((void*)0))) break;
/*SFN*/(C->_cache_buckets/*2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*2pniiiii*/)=/*RF4:buckets_item*/r981buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiiii*//*:RF2*/))/*:RF4*/;
}
}
else{
/*RF3:set_cache_user*/r981set_cache_user(C,INT32_C(1));
/*:RF3*/while(1){
/*until*/if(((/*RF2:cache_user*/(C)->_cache_user/*2pniiiii*//*:RF2*/))==(/*`index'*/a1)) break;
/*RF3:set_cache_user*/r981set_cache_user(C,/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/);
/*:RF3*/}
}
}
}
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T2 r981prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r981prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r981prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T0*r981buckets_item(T1006 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T6 r981should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T2 r981prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T10 r981item(T981*C,T2 a1){
T10 R=0;
/*RF3:set_cache_user*/r981set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(/*RF2:item*/((T1005*)((/*RF2:cache_node*/(C)->_cache_node/*2pniiiii*//*:RF2*/)))->_item/*2ps*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/void r981create_with_capacity(T981*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*2pniiiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r981common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[981])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1004/*0*/))));
*((T1004*)tmp0/*new*/)=M1004;
/*RF7:set_item*/(((T1004*)(((T1004*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*2pniiiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r981common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*2pniiiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[981])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*2pniiiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniiiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*2pniiiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*2pniiiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/void r981increase_capacity(T981*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T1006 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r981prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/);
/*SFN*/(C->_buckets/*2pniiiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniiiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r981buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T1005*)_node1))->_next/*2ps*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r981hash_code((/*RF2:key*/(((T1005*)_node1))->_key/*2ps*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T1005*)_node1))->_next/*2ps*//*:RF2*/)=/*RF4:buckets_item*/r981buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*2pniiiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/void r981with_capacity(T981*C,T2 a1){
/*RF3:create_with_capacity*/r981create_with_capacity(C,/*RF4:prime_capacity*/r981prime_capacity(/*`medium_size'*/a1)/*:RF4*/);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/void r981next_generation(T981*C){
/*SFN*/(C->_generation/*2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/void r981fast_put(T981*C,T10 a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
_h=/*RF4:hash_code*/r981hash_code(/*`k'*/a2)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r981buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(((/*RF2:key*/(((T1005*)_node))->_key/*2ps*//*:RF2*/))==((void*)(/*`k'*/a2))));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T1005*)_node))->_next/*2ps*//*:RF2*/);
}
if((_node)==((void*)((void*)0))){
if(/*RF4:should_increase_capacity*/r981should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*2pniiiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r981increase_capacity(C);
/*:RF3*/_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*2pniiiii*//*:RF2*/))/*:RF8*/;
}
_node=/*RF4:new_node*/r981new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r981buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*2pniiiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*2pniiiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*2pniiiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_user/*2pniiiii*/)=INT32_C(-1);
}
else{
(/*RF2:item*/(((T1005*)_node))->_item/*2ps*//*:RF2*/)=/*`v'*/a1;
}
/*RF3:next_generation*/r981next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]*/T2 r981hash_code(T0*a1){
T2 R=0;
R=(/*RF2:hash_code*/(((T107*)/*`k'*/a1))->_hash_code/*pi*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/T0*r982common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/
/*l505c41/abstract_hashed_dictionary.e*/
/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/void r982set_cache_user(T982*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if((/*`index'*/a1)==(/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*2pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)){
/*SFN*/(C->_cache_user/*2pniiii*/)=/*`index'*/a1;
/*SFN*/(C->_cache_node/*2pniiii*/)=(T0*)(/*se_evobt*/(void*)0,se_print_run_time_stack(),exit(1),tmp0/*evobt*/=(void*)0);
while(1){
/*until*/if(0) break;
/*SFN*/(C->_cache_buckets/*2pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*2pniiii*/)=/*RF4:buckets_item*/r982buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiii*//*:RF2*/))/*:RF4*/;
}
}
else{
if((/*`index'*/a1)==((/*RF2:cache_user*/(C)->_cache_user/*2pniiii*//*:RF2*/))){
}
else{
if((/*`index'*/a1)==(INT8_C(1))){
/*SFN*/(C->_cache_user/*2pniiii*/)=INT32_C(1);
/*SFN*/(C->_cache_buckets/*2pniiii*/)=INT32_C(0);
/*SFN*/(C->_cache_node/*2pniiii*/)=/*RF4:buckets_item*/r982buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiii*//*:RF2*/))/*:RF4*/;
while(1){
/*until*/if(0) break;
/*SFN*/(C->_cache_buckets/*2pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_node/*2pniiii*/)=/*RF4:buckets_item*/r982buckets_item((/*RF2:buckets*/(C)->_buckets/*2pniiii*//*:RF2*/),(/*RF2:cache_buckets*/(C)->_cache_buckets/*2pniiii*//*:RF2*/))/*:RF4*/;
}
}
else{
/*RF3:set_cache_user*/r982set_cache_user(C,INT32_C(1));
/*:RF3*/while(1){
/*until*/if(((/*RF2:cache_user*/(C)->_cache_user/*2pniiii*//*:RF2*/))==(/*`index'*/a1)) break;
/*RF3:set_cache_user*/r982set_cache_user(C,/*RF8:+*/((int32_t)((/*RF2:cache_user*/(C)->_cache_user/*2pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/);
/*:RF3*/}
}
}
}
}/*--*/

/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/T2 r982prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r982prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r982prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/T0*r982buckets_item(T1010 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/T2 r982prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/T2 r982upper(T982*C){
T2 R=0;
R=(/*RF2:count*/(C)->_count/*2pniiii*//*:RF2*/);
return R;
}/*--*/
/*l342c31/abstract_hashed_dictionary.e*/
/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/T0*r982item(T982*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
/*RF3:set_cache_user*/r982set_cache_user(C,/*`index'*/a1);
/*:RF3*/R=(T0*)(/*se_evobt*/(void*)0,se_print_run_time_stack(),exit(1),tmp0/*evobt*/=(void*)0);
return R;
}/*--*/

/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/void r982create_with_capacity(T982*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*2pniiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r982common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[982])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*2pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1008/*0*/))));
*((T1008*)tmp0/*new*/)=M1008;
/*RF7:set_item*/(((T1008*)(((T1008*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*2pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r982common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*2pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[982])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*2pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*2pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*2pniiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]*/void r982with_capacity(T982*C,T2 a1){
/*RF3:create_with_capacity*/r982create_with_capacity(C,/*RF4:prime_capacity*/r982prime_capacity(/*`medium_size'*/a1)/*:RF4*/);
/*:RF3*/}/*--*/

/*HASHED_SET_NODE[HASHED_STRING]*/void r987make(T987*C,T0*a1,T0*a2){
/*SFN*/(C->_item/*2p*/)=/*`i'*/a1;
/*SFN*/(C->_next/*2p*/)=/*`n'*/a2;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/T0*r991common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/void r991make(T991*C){
/*RF3:create_with_capacity*/r991create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/T0*r991new_node(T991*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T1011*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1012/*3p*/))));
*((T1012*)tmp0/*new*/)=M1012;
/*RF3:make*/r1012make(((T1012*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T1011*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T1012*)R))->_next/*3p*//*:RF2*/));
/*:RF7*//*RF3:make*/r1012make(((T1012*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/void r991add(T991*C,T0*a1,T0*a2){
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
if(/*RF4:should_increase_capacity*/r991should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r991increase_capacity(C);
/*:RF3*/}
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r991hash_code(/*`k'*/a2)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:new_node*/r991new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r991buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r991next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/T2 r991prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r991prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r991prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/T0*r991buckets_item(T1013 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/T6 r991should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/T2 r991prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/void r991create_with_capacity(T991*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*pniiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r991common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[991])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1011/*0*/))));
*((T1011*)tmp0/*new*/)=M1011;
/*RF7:set_item*/(((T1011*)(((T1011*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r991common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[991])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*pniiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/void r991increase_capacity(T991*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T1013 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r991prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r991buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T1012*)_node1))->_next/*3p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r991hash_code((/*RF2:key*/(((T1012*)_node1))->_key/*3p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T1012*)_node1))->_next/*3p*//*:RF2*/)=/*RF4:buckets_item*/r991buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/void r991next_generation(T991*C){
/*SFN*/(C->_generation/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/T2 r991hash_code(T0*a1){
T2 R=0;
R=/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)/*`k'*/a1))/*:RF4*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/T0*r991fast_reference_at(T991*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r991hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r991buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(((/*RF2:key*/(((T1012*)_node))->_key/*3p*//*:RF2*/))==((void*)(/*`k'*/a1))));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T1012*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T1012*)_node))->_item/*3p*//*:RF2*/);
}
return R;
}/*--*/

/*HASHED_DICTIONARY_NODE[ORDERED_DICTIONARY[STRING,STRING],STRING]*/void r993make(T993*C,T0*a1,T0*a2,T0*a3){
/*SFN*/(C->_item/*3p*/)=/*`i'*/a1;
/*SFN*/(C->_key/*3p*/)=/*`k'*/a2;
/*SFN*/(C->_next/*3p*/)=/*`n'*/a3;
}/*--*/

/*ITERATOR_ON_TRAVERSABLE[STRING]*/void r994make(T994*C,T0*a1){
/*SFN*/(C->_traversable/*Tpii*/)=/*`t'*/a1;
/*RF3:start*/r994start(C);
/*:RF3*/}/*--*/

/*ITERATOR_ON_TRAVERSABLE[STRING]*/T6 r994is_off(T994*C){
T6 R=0;
R=((T6)((/*RF4:valid_index*/r906valid_index(((T906*)/*ND*/(T0*)((/*RF2:traversable*/(C)->_traversable/*Tpii*//*:RF2*/))),(/*RF2:item_index*/(C)->_item_index/*Tpii*//*:RF2*/))/*:RF4*/)==(0)));
return R;
}/*--*/

/*ITERATOR_ON_TRAVERSABLE[STRING]*/void r994next(T994*C){
/*SFN*/(C->_item_index/*Tpii*/)=/*RF8:+*/((int32_t)((/*RF2:item_index*/(C)->_item_index/*Tpii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*ITERATOR_ON_TRAVERSABLE[STRING]*/T2 r994iterable_generation(T994*C){
T2 R=0;
R=(/*RF2:generation*/(((T906*)/*ND*/(T0*)((/*RF2:traversable*/(C)->_traversable/*Tpii*//*:RF2*/))))->_generation/*niii*//*:RF2*/);
return R;
}/*--*/

/*ITERATOR_ON_TRAVERSABLE[STRING]*/T0*r994item(T994*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(((T906*)/*ND*/(T0*)((/*RF2:traversable*/(C)->_traversable/*Tpii*//*:RF2*/))))->_storage/*niii*//*:RF2*/))[(/*RF2:item_index*/(C)->_item_index/*Tpii*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*ITERATOR_ON_TRAVERSABLE[STRING]*/void r994start(T994*C){
/*SFN*/(C->_item_index/*Tpii*/)=INT32_C(0);
/*SFN*/(C->_generation/*Tpii*/)=/*RF4:iterable_generation*/r994iterable_generation(C)/*:RF4*/;
}/*--*/

/*HASHED_DICTIONARY_NODE[INTEGER_16,HASHED_STRING]*/void r1005make(T1005*C,T10 a1,T0*a2,T0*a3){
/*SFN*/(C->_item/*2ps*/)=/*`i'*/a1;
/*SFN*/(C->_key/*2ps*/)=/*`k'*/a2;
/*SFN*/(C->_next/*2ps*/)=/*`n'*/a3;
}/*--*/

/*HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]*/void r1012make(T1012*C,T0*a1,T0*a2,T0*a3){
/*SFN*/(C->_item/*3p*/)=/*`i'*/a1;
/*SFN*/(C->_key/*3p*/)=/*`k'*/a2;
/*SFN*/(C->_next/*3p*/)=/*`n'*/a3;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T0*r1015common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/void r1015make(T1015*C){
/*RF3:create_with_capacity*/r1015create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/void r1015put(T1015*C,T0*a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
_h=/*RF4:hash_code*/r1015hash_code(/*`k'*/a2)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r1015buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r1015key_safe_equal((/*RF2:key*/(((T1018*)_node))->_key/*2pi*//*:RF2*/),/*`k'*/a2)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T1018*)_node))->_next/*2pi*//*:RF2*/);
}
if((_node)==((void*)((void*)0))){
if(/*RF4:should_increase_capacity*/r1015should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r1015increase_capacity(C);
/*:RF3*/_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
}
_node=/*RF4:new_node*/r1015new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r1015buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}
else{
(/*RF2:item*/(((T1018*)_node))->_item/*2pi*//*:RF2*/)=/*`v'*/a1;
}
/*RF3:next_generation*/r1015next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T0*r1015new_node(T1015*C,T0*a1,T2 a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T1020*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1018/*2pi*/))));
*((T1018*)tmp0/*new*/)=M1018;
/*RF3:make*/r1018make(((T1018*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T1020*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T1018*)R))->_next/*2pi*//*:RF2*/));
/*:RF7*//*RF3:make*/r1018make(((T1018*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T2 r1015prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r1015prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r1015prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T0*r1015buckets_item(T1019 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T6 r1015should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T6 r1015key_safe_equal(T2 a1,T2 a2){
T6 R=0;
if((/*`k1'*/a1)==(/*`k2'*/a2)){
R=((T6)(1));
}
else{
R=((T6)((/*`k1'*/a1)==(/*`k2'*/a2)));
}
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T2 r1015prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T0*r1015dispose_node(T1015*C,T0*a1){
T0* R=(void*)0;
R=(/*RF2:next*/(((T1018*)/*`node'*/a1))->_next/*2pi*//*:RF2*/);
(/*RF2:next*/(((T1018*)/*`node'*/a1))->_next/*2pi*//*:RF2*/)=/*RF8:item*/(((T1020*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
/*RF7:set_item*/(((T1020*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)(/*`node'*/a1);
/*:RF7*/return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/void r1015remove(T1015*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
T0*_previous_node=(void*)0;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
_h=/*RF4:hash_code*/r1015hash_code(/*`k'*/a1)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r1015buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
if((_node)!=((void*)((void*)0))){
if(/*RF4:key_safe_equal*/r1015key_safe_equal((/*RF2:key*/(((T1018*)_node))->_key/*2pi*//*:RF2*/),/*`k'*/a1)/*:RF4*/){
/*SFN*/(C->_count/*pniiii*/)=/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
_node=/*RF4:dispose_node*/r1015dispose_node(C,_node)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*/}
else{
_previous_node=_node;
_node=(/*RF2:next*/(((T1018*)_node))->_next/*2pi*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r1015key_safe_equal((/*RF2:key*/(((T1018*)_node))->_key/*2pi*//*:RF2*/),/*`k'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_previous_node=_node;
_node=(/*RF2:next*/(((T1018*)_node))->_next/*2pi*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
/*SFN*/(C->_count/*pniiii*/)=/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
(/*RF2:next*/(((T1018*)_previous_node))->_next/*2pi*//*:RF2*/)=/*RF4:dispose_node*/r1015dispose_node(C,_node)/*:RF4*/;
}
}
}
/*RF3:next_generation*/r1015next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/void r1015create_with_capacity(T1015*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*pniiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r1015common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[1015])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1020/*0*/))));
*((T1020*)tmp0/*new*/)=M1020;
/*RF7:set_item*/(((T1020*)(((T1020*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r1015common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[1015])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*pniiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/void r1015increase_capacity(T1015*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T1019 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r1015prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r1015buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T1018*)_node1))->_next/*2pi*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r1015hash_code((/*RF2:key*/(((T1018*)_node1))->_key/*2pi*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T1018*)_node1))->_next/*2pi*//*:RF2*/)=/*RF4:buckets_item*/r1015buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/void r1015next_generation(T1015*C){
/*SFN*/(C->_generation/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]*/T2 r1015hash_code(T2 a1){
T2 R=0;
R=/*RF8:&*/(/*`k'*/a1&/*0x7FFFFFFF*/INT32_C(2147483647))/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T0*r1016common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/void r1016make(T1016*C){
/*RF3:create_with_capacity*/r1016create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/void r1016put(T1016*C,T0*a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
_h=/*RF4:hash_code*/r1016hash_code(/*`k'*/a2)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r1016buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r1016key_safe_equal((/*RF2:key*/(((T1021*)_node))->_key/*2pi*//*:RF2*/),/*`k'*/a2)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T1021*)_node))->_next/*2pi*//*:RF2*/);
}
if((_node)==((void*)((void*)0))){
if(/*RF4:should_increase_capacity*/r1016should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r1016increase_capacity(C);
/*:RF3*/_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
}
_node=/*RF4:new_node*/r1016new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r1016buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}
else{
(/*RF2:item*/(((T1021*)_node))->_item/*2pi*//*:RF2*/)=/*`v'*/a1;
}
/*RF3:next_generation*/r1016next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T0*r1016new_node(T1016*C,T0*a1,T2 a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T1023*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1021/*2pi*/))));
*((T1021*)tmp0/*new*/)=M1021;
/*RF3:make*/r1021make(((T1021*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T1023*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T1021*)R))->_next/*2pi*//*:RF2*/));
/*:RF7*//*RF3:make*/r1021make(((T1021*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T2 r1016prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r1016prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r1016prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T0*r1016buckets_item(T1022 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T6 r1016should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T6 r1016key_safe_equal(T2 a1,T2 a2){
T6 R=0;
if((/*`k1'*/a1)==(/*`k2'*/a2)){
R=((T6)(1));
}
else{
R=((T6)((/*`k1'*/a1)==(/*`k2'*/a2)));
}
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T2 r1016prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T0*r1016dispose_node(T1016*C,T0*a1){
T0* R=(void*)0;
R=(/*RF2:next*/(((T1021*)/*`node'*/a1))->_next/*2pi*//*:RF2*/);
(/*RF2:next*/(((T1021*)/*`node'*/a1))->_next/*2pi*//*:RF2*/)=/*RF8:item*/(((T1023*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
/*RF7:set_item*/(((T1023*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)(/*`node'*/a1);
/*:RF7*/return R;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/void r1016remove(T1016*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _h=0;
T2 _idx=0;
T0*_node=(void*)0;
T0*_previous_node=(void*)0;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
_h=/*RF4:hash_code*/r1016hash_code(/*`k'*/a1)/*:RF4*/;
_idx=/*RF8:#\\*/((int32_t)(_h))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r1016buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
if((_node)!=((void*)((void*)0))){
if(/*RF4:key_safe_equal*/r1016key_safe_equal((/*RF2:key*/(((T1021*)_node))->_key/*2pi*//*:RF2*/),/*`k'*/a1)/*:RF4*/){
/*SFN*/(C->_count/*pniiii*/)=/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
_node=/*RF4:dispose_node*/r1016dispose_node(C,_node)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*/}
else{
_previous_node=_node;
_node=(/*RF2:next*/(((T1021*)_node))->_next/*2pi*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:key_safe_equal*/r1016key_safe_equal((/*RF2:key*/(((T1021*)_node))->_key/*2pi*//*:RF2*/),/*`k'*/a1)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_previous_node=_node;
_node=(/*RF2:next*/(((T1021*)_node))->_next/*2pi*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
/*SFN*/(C->_count/*pniiii*/)=/*RF8:-*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
(/*RF2:next*/(((T1021*)_previous_node))->_next/*2pi*//*:RF2*/)=/*RF4:dispose_node*/r1016dispose_node(C,_node)/*:RF4*/;
}
}
}
/*RF3:next_generation*/r1016next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/void r1016create_with_capacity(T1016*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*pniiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r1016common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[1016])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1023/*0*/))));
*((T1023*)tmp0/*new*/)=M1023;
/*RF7:set_item*/(((T1023*)(((T1023*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r1016common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[1016])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*pniiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/void r1016increase_capacity(T1016*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T1022 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r1016prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r1016buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T1021*)_node1))->_next/*2pi*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r1016hash_code((/*RF2:key*/(((T1021*)_node1))->_key/*2pi*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T1021*)_node1))->_next/*2pi*//*:RF2*/)=/*RF4:buckets_item*/r1016buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/void r1016next_generation(T1016*C){
/*SFN*/(C->_generation/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]*/T2 r1016hash_code(T2 a1){
T2 R=0;
R=/*RF8:&*/(/*`k'*/a1&/*0x7FFFFFFF*/INT32_C(2147483647))/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY_NODE[PROCESS_POSIX,INTEGER_32]*/void r1018make(T1018*C,T0*a1,T2 a2,T0*a3){
/*SFN*/(C->_item/*2pi*/)=/*`i'*/a1;
/*SFN*/(C->_key/*2pi*/)=/*`k'*/a2;
/*SFN*/(C->_next/*2pi*/)=/*`n'*/a3;
}/*--*/

/*HASHED_DICTIONARY_NODE[PROCESS_WIN32,INTEGER_32]*/void r1021make(T1021*C,T0*a1,T2 a2,T0*a3){
/*SFN*/(C->_item/*2pi*/)=/*`i'*/a1;
/*SFN*/(C->_key/*2pi*/)=/*`k'*/a2;
/*SFN*/(C->_next/*2pi*/)=/*`n'*/a3;
}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/void r1025make(T1025*C,T0*a1){
/*SFN*/(C->_dico/*T4pi*/)=/*`a_dico'*/a1;
/*SFN*/(C->_nodes/*T4pi*/)=/*RF4:new_nodes*/r1025new_nodes(C)/*:RF4*/;
/*RF3:start*/r1025start(C);
/*:RF3*/}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/void r1025go_leftmost(T1025*C,T0*a1){
T0*_left=(void*)0;
_left=(/*RF2:left*/(((T914*)/*ND*/(T0*)(/*`node'*/a1)))->_left/*4pi0*//*:RF2*/);
if((_left)==((void*)((void*)0))){
/*SFN*/(C->_cur/*T4pi*/)=/*`node'*/a1;
}
else{
/*RF3:push*/r1033push((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)),_left);
/*:RF3*//*RF3:go_leftmost*/r1025go_leftmost(C,_left);
/*:RF3*/}
}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/void r1025go_next_node(T1025*C,T0*a1){
T0*_right=(void*)0;
if(((/*RF2:cur*/(C)->_cur/*T4pi*//*:RF2*/))==((void*)(/*`node'*/a1))){
_right=(/*RF2:right*/(((T914*)/*ND*/(T0*)(/*`node'*/a1)))->_right/*4pi0*//*:RF2*/);
if((_right)!=((void*)((void*)0))){
/*RF3:pop*/r1033pop((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)));
/*:RF3*//*RF3:push*/r1033push((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)),_right);
/*:RF3*//*RF3:go_leftmost*/r1025go_leftmost(C,_right);
/*:RF3*/}
else{
/*RF3:pop*/r1033pop((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)));
/*:RF3*/if(/*RF4:is_empty*/r1033is_empty((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)))/*:RF4*/){
/*SFN*/(C->_cur/*T4pi*/)=(void*)0;
}
else{
/*SFN*/(C->_cur/*T4pi*/)=/*RF4:top*/r1033top((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)))/*:RF4*/;
}
}
}
else{
/*SFN*/(C->_cur/*T4pi*/)=/*`node'*/a1;
}
}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/void r1025go_first(T1025*C,T0*a1){
while(1){
/*until*/if(/*RF4:is_empty*/r1033is_empty((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)))/*:RF4*/) break;
/*RF3:pop*/r1033pop((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)));
/*:RF3*/}
/*RF3:push*/r1033push((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)),/*`root'*/a1);
/*:RF3*//*RF3:go_leftmost*/r1025go_leftmost(C,/*`root'*/a1);
/*:RF3*/}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/T0*r1025nodes_pool(T1025*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_key=(void*)0;
R=(/*RF2:nodes_pool_memory*/(C)->_nodes_pool_memory/*T4pi*//*:RF2*/);
if((R)==((void*)((void*)0))){
_key=/*RF4:intern*/r7intern((T7*)(/*RF8:generating_type*/(T0*)(t[(C)->id])/*:RF8*/))/*:RF4*/;
R=/*RF4:fast_reference_at*/r1035fast_reference_at((T1035*)(/*RF6:nodes_pools*/r1025nodes_pools()/*:RF6*/),_key)/*:RF4*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1032/*niii*/))));
*((T1032*)tmp0/*new*/)=M1032;
/*RF3:make*/r1032make(((T1032*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r1035add((T1035*)(/*RF6:nodes_pools*/r1025nodes_pools()/*:RF6*/),R,_key);
/*:RF3*/}
/*SFN*/(C->_nodes_pool_memory/*T4pi*/)=R;
}
return R;
}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/T2 r1025iterable_generation(T1025*C){
T2 R=0;
R=(/*RF2:generation*/(((T907*)/*ND*/(T0*)((/*RF2:dico*/(C)->_dico/*T4pi*//*:RF2*/))))->_generation/*T5piipp*//*:RF2*/);
return R;
}/*--*/
T0*oBC730nodes_pools=(void*)0;
int fBC730nodes_pools=0;

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/T0*r1025nodes_pools(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC730nodes_pools==0){fBC730nodes_pools=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1035/*pniiii*/))));
*((T1035*)tmp0/*new*/)=M1035;
/*RF3:make*/r1035make(((T1035*)tmp0/*new*/));
/*:RF3*/oBC730nodes_pools=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC730nodes_pools;
}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/T0*r1025item(T1025*C){
T0* R=(void*)0;
T0*_node=(void*)0;
_node=(/*RF2:cur*/(C)->_cur/*T4pi*//*:RF2*/);
R=(/*RF2:key*/(((T914*)/*ND*/(T0*)(_node)))->_key/*4pi0*//*:RF2*/);
return R;
}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/void r1025start(T1025*C){
if(((/*RF2:root*/(((T907*)/*ND*/(T0*)((/*RF2:dico*/(C)->_dico/*T4pi*//*:RF2*/))))->_root/*T5piipp*//*:RF2*/))!=((void*)((void*)0))){
/*SFN*/(C->_generation/*T4pi*/)=/*RF4:iterable_generation*/r1025iterable_generation(C)/*:RF4*/;
/*RF3:go_first*/r1025go_first(C,(/*RF2:root*/(((T907*)/*ND*/(T0*)((/*RF2:dico*/(C)->_dico/*T4pi*//*:RF2*/))))->_root/*T5piipp*//*:RF2*/));
/*:RF3*/}
}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/void r1025go_next(T1025*C){
/*RF3:go_next_node*/r1025go_next_node(C,/*RF4:top*/r1033top((T1033*)((/*RF2:nodes*/(C)->_nodes/*T4pi*//*:RF2*/)))/*:RF4*/);
/*:RF3*/}/*--*/

/*ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]*/T0*r1025new_nodes(T1025*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
if(/*RF4:is_empty*/r1032is_empty((T1032*)(/*RF4:nodes_pool*/r1025nodes_pool(C)/*:RF4*/))/*:RF4*/){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1033/*niii*/))));
*((T1033*)tmp0/*new*/)=M1033;
/*RF3:make*/r1033make(((T1033*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
R=/*RF4:item*/r1032item((T1032*)(/*RF4:nodes_pool*/r1025nodes_pool(C)/*:RF4*/))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/T0*r1028common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/void r1028make(T1028*C){
/*RF3:create_with_capacity*/r1028create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/T0*r1028new_node(T1028*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T1040*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1039/*3p*/))));
*((T1039*)tmp0/*new*/)=M1039;
/*RF3:make*/r1039make(((T1039*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T1040*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T1039*)R))->_next/*3p*//*:RF2*/));
/*:RF7*//*RF3:make*/r1039make(((T1039*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/void r1028add(T1028*C,T0*a1,T0*a2){
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
if(/*RF4:should_increase_capacity*/r1028should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r1028increase_capacity(C);
/*:RF3*/}
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r1028hash_code(/*`k'*/a2)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:new_node*/r1028new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r1028buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r1028next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/T2 r1028prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r1028prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r1028prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/T0*r1028buckets_item(T1038 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/T6 r1028should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/T2 r1028prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/void r1028create_with_capacity(T1028*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*pniiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r1028common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[1028])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1040/*0*/))));
*((T1040*)tmp0/*new*/)=M1040;
/*RF7:set_item*/(((T1040*)(((T1040*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r1028common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[1028])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*pniiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/void r1028increase_capacity(T1028*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T1038 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r1028prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r1028buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T1039*)_node1))->_next/*3p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r1028hash_code((/*RF2:key*/(((T1039*)_node1))->_key/*3p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T1039*)_node1))->_next/*3p*//*:RF2*/)=/*RF4:buckets_item*/r1028buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/void r1028next_generation(T1028*C){
/*SFN*/(C->_generation/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/T2 r1028hash_code(T0*a1){
T2 R=0;
R=(/*RF2:hash_code*/(((T311*)/*`k'*/a1))->_hash_code/*T2pniiiipp*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/T0*r1028fast_reference_at(T1028*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r1028hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r1028buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(((/*RF2:key*/(((T1039*)_node))->_key/*3p*//*:RF2*/))==((void*)(/*`k'*/a1))));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T1039*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T1039*)_node))->_item/*3p*//*:RF2*/);
}
return R;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r1030make(T1030*C){
/*RF3:with_capacity*/r1030with_capacity(C,INT32_C(16));
/*:RF3*/}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]*/T0*r1030item(T1030*C){
T0* R=(void*)0;
R=/*RF4:top*/r1030top(C)/*:RF4*/;
/*RF3:pop*/r1030pop(C);
/*:RF3*/return R;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]*/T6 r1030is_empty(T1030*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*Tniii*//*:RF2*/)))<(INT32_C(0))/*:RF8*/));
return R;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r1030pop(T1030*C){
/*SFN*/(C->_upper/*Tniii*/)=/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*Tniii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]*/T0*r1030top(T1030*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*Tniii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*Tniii*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r1030with_capacity(T1030*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*Tniii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*Tniii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*Tniii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*Tniii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r939clear((/*RF2:storage*/(C)->_storage/*Tniii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*Tniii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*Tniii*/)=INT32_C(-1);
/*RF3:next_generation*/r1030next_generation(C);
/*:RF3*/}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]*/void r1030next_generation(T1030*C){
/*SFN*/(C->_generation/*Tniii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*Tniii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]*/void r1032make(T1032*C){
/*RF3:with_capacity*/r1032with_capacity(C,INT32_C(16));
/*:RF3*/}/*--*/

/*RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]*/T0*r1032item(T1032*C){
T0* R=(void*)0;
R=/*RF4:top*/r1032top(C)/*:RF4*/;
/*RF3:pop*/r1032pop(C);
/*:RF3*/return R;
}/*--*/

/*RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]*/T6 r1032is_empty(T1032*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))<(INT32_C(0))/*:RF8*/));
return R;
}/*--*/

/*RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]*/void r1032pop(T1032*C){
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}/*--*/

/*RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]*/T0*r1032top(T1032*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]*/void r1032with_capacity(T1032*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r1042clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r1032next_generation(C);
/*:RF3*/}/*--*/

/*RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]*/void r1032next_generation(T1032*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*STACK[AVL_TREE_NODE[STRING]]*/void r1033make(T1033*C){
/*RF3:with_capacity*/r1033with_capacity(C,INT32_C(16));
/*:RF3*/}/*--*/

/*STACK[AVL_TREE_NODE[STRING]]*/void r1033push(T1033*C,T0*a1){
T2 _new_capacity=0;
if(/*RF8:<=*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/))<=(/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF8*/){
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(INT32_C(2),sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=INT32_C(2);
/*SFN*/(C->_upper/*niii*/)=INT32_C(0);
}
else{
_new_capacity=/*RF8:**/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))*(INT32_C(2))/*:RF8*/;
/*SFN*/(C->_storage/*niii*/)=/*RF4:realloc*/r1043realloc((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*niii*/)=_new_capacity;
/*SFN*/(C->_upper/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}
}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]=(/*`element'*/a1);
/*:RF7*//*RF3:next_generation*/r1033next_generation(C);
/*:RF3*/}/*--*/

/*STACK[AVL_TREE_NODE[STRING]]*/T6 r1033is_empty(T1033*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))<(INT32_C(0))/*:RF8*/));
return R;
}/*--*/

/*STACK[AVL_TREE_NODE[STRING]]*/void r1033pop(T1033*C){
/*SFN*/(C->_upper/*niii*/)=/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}/*--*/

/*STACK[AVL_TREE_NODE[STRING]]*/T0*r1033top(T1033*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*STACK[AVL_TREE_NODE[STRING]]*/void r1033with_capacity(T1033*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*niii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*niii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*niii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r1043clear((/*RF2:storage*/(C)->_storage/*niii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*niii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*niii*/)=INT32_C(-1);
/*RF3:next_generation*/r1033next_generation(C);
/*:RF3*/}/*--*/

/*STACK[AVL_TREE_NODE[STRING]]*/void r1033next_generation(T1033*C){
/*SFN*/(C->_generation/*niii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/T0*r1035common_free_nodes(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_fn=(void*)0;
if(fBC313common_free_nodes==0){fBC313common_free_nodes=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T935/*0*/))));
*((T935*)tmp0/*new*/)=M935;
/*RF7:set_item*/(((T935*)(((T935*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*/_fn=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T937/*pniiii*/))));
*((T937*)tmp0/*new*/)=M937;
/*RF3:special_common_dictionary*/r937special_common_dictionary(((T937*)tmp0/*new*/),_fn);
/*:RF3*/oBC313common_free_nodes=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(oBC313common_free_nodes)),_fn,/*RF8:generating_type*/(T0*)(t[937])/*:RF8*/);
/*:RF3*/}}
return oBC313common_free_nodes;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/void r1035make(T1035*C){
/*RF3:create_with_capacity*/r1035create_with_capacity(C,INT32_C(53));
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/T0*r1035new_node(T1035*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
R=/*RF8:item*/(((T1046*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)/*:RF8*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1045/*3p*/))));
*((T1045*)tmp0/*new*/)=M1045;
/*RF3:make*/r1045make(((T1045*)tmp0/*new*/),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T1046*)((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/)))->o)=(T0*)((/*RF2:next*/(((T1045*)R))->_next/*3p*//*:RF2*/));
/*:RF7*//*RF3:make*/r1045make(((T1045*)R),/*`v'*/a1,/*`k'*/a2,/*`next'*/a3);
/*:RF3*/}
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/void r1035add(T1035*C,T0*a1,T0*a2){
T2 _idx=0;
T0*_node=(void*)0;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
if(/*RF4:should_increase_capacity*/r1035should_increase_capacity((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/),(/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/))/*:RF4*/){
/*RF3:increase_capacity*/r1035increase_capacity(C);
/*:RF3*/}
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r1035hash_code(/*`k'*/a2)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:new_node*/r1035new_node(C,/*`v'*/a1,/*`k'*/a2,/*RF4:buckets_item*/r1035buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node);
/*:RF7*//*SFN*/(C->_count/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r1035next_generation(C);
/*:RF3*/}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/T2 r1035prime_capacity(T2 a1){
T2 R=0;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*`a_capacity'*/a1))+((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(2))/*:RF8*/)))/*:RF8*/;
if(/*RF8:>=*/((int32_t)(R))>=(INT32_C(0))/*:RF8*/){
R=/*RF4:prime_number_ceiling*/r1035prime_number_ceiling(R)/*:RF4*/;
}
else{
R=/*RF4:prime_number_ceiling*/r1035prime_number_ceiling(INT32_C(2147483647))/*:RF4*/;
}
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/T0*r1035buckets_item(T1044 a1,T2 a2){
T0* R=(void*)0;
R=/*RF8:item*/(/*`a_buckets'*/a1)[/*`idx'*/a2]/*:RF8*/;
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/T6 r1035should_increase_capacity(T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*`a_count'*/a2))>(/*RF8:#**/(int32_t)(((uint32_t)(/*RF8:#//*/((int32_t)(/*`a_capacity'*/a1))/(INT32_C(3))/*:RF8*/))*((uint32_t)(INT32_C(2))))/*:RF8*/)/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*`a_capacity'*/a1))<(INT32_C(2147483647))/*:RF8*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/T2 r1035prime_number_ceiling(T2 a1){
T2 R=0;
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(98317))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(769))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(53))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(11))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3))/*:RF8*/){
R=INT32_C(3);
}
else{
R=INT32_C(11);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(23))/*:RF8*/){
R=INT32_C(23);
}
else{
R=INT32_C(53);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(193))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(97))/*:RF8*/){
R=INT32_C(97);
}
else{
R=INT32_C(193);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(389))/*:RF8*/){
R=INT32_C(389);
}
else{
R=INT32_C(769);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12289))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3079))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1543))/*:RF8*/){
R=INT32_C(1543);
}
else{
R=INT32_C(3079);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6151))/*:RF8*/){
R=INT32_C(6151);
}
else{
R=INT32_C(12289);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(24593))/*:RF8*/){
R=INT32_C(24593);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(49157))/*:RF8*/){
R=INT32_C(49157);
}
else{
R=INT32_C(98317);
}
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(12582917))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1572869))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(393241))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(196613))/*:RF8*/){
R=INT32_C(196613);
}
else{
R=INT32_C(393241);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(786433))/*:RF8*/){
R=INT32_C(786433);
}
else{
R=INT32_C(1572869);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(3145739))/*:RF8*/){
R=INT32_C(3145739);
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(6291469))/*:RF8*/){
R=INT32_C(6291469);
}
else{
R=INT32_C(12582917);
}
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(201326611))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(50331653))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(25165843))/*:RF8*/){
R=INT32_C(25165843);
}
else{
R=INT32_C(50331653);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(100663319))/*:RF8*/){
R=INT32_C(100663319);
}
else{
R=INT32_C(201326611);
}
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(805306457))/*:RF8*/){
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(402653189))/*:RF8*/){
R=INT32_C(402653189);
}
else{
R=INT32_C(805306457);
}
}
else{
if(/*RF8:<=*/((int32_t)(/*`integer'*/a1))<=(INT32_C(1610612741))/*:RF8*/){
R=INT32_C(1610612741);
}
else{
R=INT32_C(2147483647);
}
}
}
}
}
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/void r1035create_with_capacity(T1035*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_free_nodes/*pniiii*/)=/*RF4:fast_reference_at*/r937fast_reference_at(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r1035common_free_nodes()/*:RF6*/)),/*RF8:generating_type*/(T0*)(t[1035])/*:RF8*/)/*:RF4*/;
if(((/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1046/*0*/))));
*((T1046*)tmp0/*new*/)=M1046;
/*RF7:set_item*/(((T1046*)(((T1046*)tmp0/*new*/)))->o)=(T0*)((void*)0);
/*:RF7*//*SFN*/(C->_free_nodes/*pniiii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r937add(((T937*)/*ND*/(T0*)(/*RF6:common_free_nodes*/r1035common_free_nodes()/*:RF6*/)),(/*RF2:free_nodes*/(C)->_free_nodes/*pniiii*//*:RF2*/),/*RF8:generating_type*/(T0*)(t[1035])/*:RF8*/);
/*:RF3*/}
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(/*`new_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=/*`new_capacity'*/a1;
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
/*SFN*/(C->_count/*pniiii*/)=INT32_C(0);
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/void r1035increase_capacity(T1035*C){
T2 _i=0;
T2 _idx=0;
T2 _new_capacity=0;
T1044 _old_buckets=(void*)0;
T0*_node1=(void*)0;
T0*_node2=(void*)0;
_new_capacity=/*RF4:prime_capacity*/r1035prime_capacity(/*RF8:+*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/)/*:RF4*/;
_old_buckets=(/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/);
/*SFN*/(C->_buckets/*pniiii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T0*))/*:RF8*/;
_i=/*RF8:-*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_capacity/*pniiii*/)=_new_capacity;
while(1){
/*until*/if(/*RF8:<*/((int32_t)(_i))<(INT32_C(0))/*:RF8*/) break;
_node1=/*RF4:buckets_item*/r1035buckets_item(_old_buckets,_i)/*:RF4*/;
while(1){
/*until*/if((_node1)==((void*)((void*)0))) break;
_node2=(/*RF2:next*/(((T1045*)_node1))->_next/*3p*//*:RF2*/);
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r1035hash_code((/*RF2:key*/(((T1045*)_node1))->_key/*3p*//*:RF2*/))/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
(/*RF2:next*/(((T1045*)_node1))->_next/*3p*//*:RF2*/)=/*RF4:buckets_item*/r1035buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
/*RF7:put*/((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/))[_idx]=(_node1);
/*:RF7*/_node1=_node2;
}
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
/*SFN*/(C->_cache_user/*pniiii*/)=INT32_C(-1);
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/void r1035next_generation(T1035*C){
/*SFN*/(C->_generation/*pniiii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*pniiii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/T2 r1035hash_code(T0*a1){
T2 R=0;
R=(/*RF2:hash_code*/(((T311*)/*`k'*/a1))->_hash_code/*T2pniiiipp*//*:RF2*/);
return R;
}/*--*/

/*HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/T0*r1035fast_reference_at(T1035*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _idx=0;
T0*_node=(void*)0;
_idx=/*RF8:#\\*/((int32_t)(/*RF4:hash_code*/r1035hash_code(/*`k'*/a1)/*:RF4*/))%((/*RF2:capacity*/(C)->_capacity/*pniiii*//*:RF2*/))/*:RF8*/;
_node=/*RF4:buckets_item*/r1035buckets_item((/*RF2:buckets*/(C)->_buckets/*pniiii*//*:RF2*/),_idx)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)((_node)==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(((/*RF2:key*/(((T1045*)_node))->_key/*3p*//*:RF2*/))==((void*)(/*`k'*/a1))));
}
/*until*/if(tmp0/*or else*/) break;
_node=(/*RF2:next*/(((T1045*)_node))->_next/*3p*//*:RF2*/);
}
if((_node)!=((void*)((void*)0))){
R=(/*RF2:item*/(((T1045*)_node))->_item/*3p*//*:RF2*/);
}
return R;
}/*--*/

/*HASHED_DICTIONARY_NODE[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]*/void r1039make(T1039*C,T0*a1,T0*a2,T0*a3){
/*SFN*/(C->_item/*3p*/)=/*`i'*/a1;
/*SFN*/(C->_key/*3p*/)=/*`k'*/a2;
/*SFN*/(C->_next/*3p*/)=/*`n'*/a3;
}/*--*/

/*HASHED_DICTIONARY_NODE[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]*/void r1045make(T1045*C,T0*a1,T0*a2,T0*a3){
/*SFN*/(C->_item/*3p*/)=/*`i'*/a1;
/*SFN*/(C->_key/*3p*/)=/*`k'*/a2;
/*SFN*/(C->_next/*3p*/)=/*`n'*/a3;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r1047make(T1047*C){
/*RF3:with_capacity*/r1047with_capacity(C,INT32_C(16));
/*:RF3*/}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/T0*r1047item(T1047*C){
T0* R=(void*)0;
R=/*RF4:top*/r1047top(C)/*:RF4*/;
/*RF3:pop*/r1047pop(C);
/*:RF3*/return R;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/T6 r1047is_empty(T1047*C){
T6 R=0;
R=((T6)(/*RF8:<*/((int32_t)((/*RF2:upper*/(C)->_upper/*Tniii*//*:RF2*/)))<(INT32_C(0))/*:RF8*/));
return R;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r1047pop(T1047*C){
/*SFN*/(C->_upper/*Tniii*/)=/*RF8:-*/((int32_t)((/*RF2:upper*/(C)->_upper/*Tniii*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/T0*r1047top(T1047*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*Tniii*//*:RF2*/))[(/*RF2:upper*/(C)->_upper/*Tniii*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r1047with_capacity(T1047*C,T2 a1){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*Tniii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*Tniii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T0*))/*:RF8*/;
/*SFN*/(C->_capacity/*Tniii*/)=/*`needed_capacity'*/a1;
}
else{
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*Tniii*//*:RF2*/)))>(/*`needed_capacity'*/a1)/*:RF8*/){
/*RF3:clear*/r943clear((/*RF2:storage*/(C)->_storage/*Tniii*//*:RF2*/),INT32_C(0),(/*RF2:upper*/(C)->_upper/*Tniii*//*:RF2*/));
/*:RF3*/}
}
/*SFN*/(C->_upper/*Tniii*/)=INT32_C(-1);
/*RF3:next_generation*/r1047next_generation(C);
/*:RF3*/}/*--*/

/*RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]*/void r1047next_generation(T1047*C){
/*SFN*/(C->_generation/*Tniii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*Tniii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*ITERATOR_ON_DICTIONARY_KEYS[STRING,STRING]*/void r1048make(T1048*C,T0*a1){
/*SFN*/(C->_dictionary/*Tpii*/)=/*`d'*/a1;
/*RF3:start*/r1048start(C);
/*:RF3*/}/*--*/

/*ITERATOR_ON_DICTIONARY_KEYS[STRING,STRING]*/T6 r1048is_off(T1048*C){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->id)){
case 907:
tmp0/*count*/=(/*RF2:count*/(((T907*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->_count/*T5piipp*//*:RF2*/);
break;
case 911:
tmp0/*count*/=(/*RF2:count*/(((T911*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->_count/*T2pniiiii*//*:RF2*/);
break;
default:;
tmp0/*count*/=(/*RF2:count*/(((T971*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->_count/*T3pniiiii*//*:RF2*/);
}
/*inspect]*/
R=((T6)(/*RF8:>*/((int32_t)((/*RF2:item_index*/(C)->_item_index/*Tpii*//*:RF2*/)))>(tmp0/*count*/)/*:RF8*/));
return R;
}/*--*/

/*ITERATOR_ON_DICTIONARY_KEYS[STRING,STRING]*/void r1048next(T1048*C){
/*SFN*/(C->_item_index/*Tpii*/)=/*RF8:+*/((int32_t)((/*RF2:item_index*/(C)->_item_index/*Tpii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*ITERATOR_ON_DICTIONARY_KEYS[STRING,STRING]*/T2 r1048iterable_generation(T1048*C){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->id)){
case 907:
tmp0/*generation*/=(/*RF2:generation*/(((T907*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->_generation/*T5piipp*//*:RF2*/);
break;
case 911:
tmp0/*generation*/=(/*RF2:generation*/(((T911*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->_generation/*T2pniiiii*//*:RF2*/);
break;
default:;
tmp0/*generation*/=(/*RF2:generation*/(((T971*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->_generation/*T3pniiiii*//*:RF2*/);
}
/*inspect]*/
R=tmp0/*generation*/;
return R;
}/*--*/

/*ITERATOR_ON_DICTIONARY_KEYS[STRING,STRING]*/T0*r1048item(T1048*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)))->id)){
case 907:
tmp0/*key*/=/*RF4:key*/r907key(((T907*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)),(/*RF2:item_index*/(C)->_item_index/*Tpii*//*:RF2*/))/*:RF4*/;
break;
case 911:
tmp0/*key*/=/*RF4:key*/r911key(((T911*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)),(/*RF2:item_index*/(C)->_item_index/*Tpii*//*:RF2*/))/*:RF4*/;
break;
default:;
tmp0/*key*/=/*RF4:key*/r971key(((T971*)(/*RF2:dictionary*/(C)->_dictionary/*Tpii*//*:RF2*/)),(/*RF2:item_index*/(C)->_item_index/*Tpii*//*:RF2*/))/*:RF4*/;
}
/*inspect]*/
R=tmp0/*key*/;
return R;
}/*--*/

/*ITERATOR_ON_DICTIONARY_KEYS[STRING,STRING]*/void r1048start(T1048*C){
/*SFN*/(C->_item_index/*Tpii*/)=INT32_C(1);
/*SFN*/(C->_generation/*Tpii*/)=/*RF4:iterable_generation*/r1048iterable_generation(C)/*:RF4*/;
}/*--*/

/*SE*/void r29show_environment(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T0* tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T0*_tools=(void*)0;
T0*_env=(void*)0;
T0*_loadpath=(void*)0;
T0*_c_modes=(void*)0;
T0*_c_mode=(void*)0;
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1582401Abc29A);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/)))))->id)){
case 806:
tmp1/*bin*/=/*RF4:bin*/r806bin(((T806*)tmp0/*ddt1*/))/*:RF4*/;
break;
case 807:
tmp1/*bin*/=(/*RF2:bin*/(((T807*)tmp0/*ddt1*/))->_bin/*T10pi*//*:RF2*/);
break;
default:;
/*UNUSED_EXPRESSION:*/(void)((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/));
tmp1/*bin*/=(void*)0;
}
/*inspect]*/
/*tmp0.unlock*/
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),tmp1/*bin*/);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1584951Abc29A);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*reusing tmp0*/(tmp0/*ddt1*/=((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/)))))->id)){
case 806:
/*auto-unlock tmp1*/tmp1/*sys*/=/*RF4:sys*/r806sys(((T806*)tmp0/*ddt1*/))/*:RF4*/;
break;
case 807:
tmp1/*sys*/=(/*RF2:sys*/(((T807*)tmp0/*ddt1*/))->_sys/*T10pi*//*:RF2*/);
break;
default:;
/*UNUSED_EXPRESSION:*/(void)((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/));
tmp1/*sys*/=(void*)0;
}
/*inspect]*/
/*tmp0.unlock*/
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),tmp1/*sys*/);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_39613656Abc29A);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*reusing tmp0*/(tmp0/*ddt1*/=((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/)))))->id)){
case 806:
/*auto-unlock tmp1*/tmp1/*short*/=/*RF4:short*/r806short(((T806*)tmp0/*ddt1*/))/*:RF4*/;
break;
case 807:
tmp1/*short*/=(/*RF2:short*/(((T807*)tmp0/*ddt1*/))->_short/*T10pi*//*:RF2*/);
break;
default:;
/*UNUSED_EXPRESSION:*/(void)((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/));
tmp1/*short*/=(void*)0;
}
/*inspect]*/
/*tmp0.unlock*/
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),tmp1/*short*/);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*//*RF3:put_line*/r69put_line((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_736680Abc29A);
/*:RF3*//*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T907/*T5piipp*/))));
*((T907*)tmp0/*new*/)=M907;
/*RF3:make*/r907make(((T907*)tmp0/*new*/));
/*:RF3*/_tools=tmp0/*new*/;
/*tmp0.unlock*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*reusing tmp0*/(tmp0/*ddt1*/=((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/)))))->id)){
case 806:
/*RF3:tools_in*/r806tools_in(((T806*)tmp0/*ddt1*/),_tools);
/*:RF3*/break;
case 807:
/*RF3:tools_in*/r807tools_in(((T807*)tmp0/*ddt1*/),_tools);
/*:RF3*/break;
default:;
/*UNUSED_EXPRESSION:*/(void)((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/));
}
/*inspect]*/
/*tmp0.unlock*/
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T907*)_tools))->_count/*T5piipp*//*:RF2*/))/*:RF8*/) break;
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_7924200Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*RF4:as_upper*/r7as_upper((T7*)(/*RF4:key*/r907key(((T907*)_tools),_i)/*:RF4*/))/*:RF4*/);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_144394965Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*RF4:item*/r907item(((T907*)_tools),_i)/*:RF4*/);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF3:put_line*/r69put_line((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1519797571Abc29A);
/*:RF3*//*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T907/*T5piipp*/))));
*((T907*)tmp0/*new*/)=M907;
/*RF3:make*/r907make(((T907*)tmp0/*new*/));
/*:RF3*/_env=tmp0/*new*/;
/*tmp0.unlock*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*reusing tmp0*/(tmp0/*ddt1*/=((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/)))))->id)){
case 806:
/*RF3:environment_in*/r806environment_in(((T806*)tmp0/*ddt1*/),_env);
/*:RF3*/break;
case 807:
/*RF3:environment_in*/r807environment_in(((T807*)tmp0/*ddt1*/),_env);
/*:RF3*/break;
default:;
/*UNUSED_EXPRESSION:*/(void)((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/));
}
/*inspect]*/
/*tmp0.unlock*/
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T907*)_env))->_count/*T5piipp*//*:RF2*/))/*:RF8*/) break;
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*RF4:key*/r907key(((T907*)_env),_i)/*:RF4*/);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\075'));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*RF4:item*/r907item(((T907*)_env),_i)/*:RF4*/);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF3:put_line*/r69put_line((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_91413984Abc29A);
/*:RF3*//*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T907/*T5piipp*/))));
*((T907*)tmp0/*new*/)=M907;
/*RF3:make*/r907make(((T907*)tmp0/*new*/));
/*:RF3*/_loadpath=tmp0/*new*/;
/*tmp0.unlock*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*reusing tmp0*/(tmp0/*ddt1*/=((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/)))))->id)){
case 806:
/*RF3:loadpaths_in*/r806loadpaths_in(((T806*)tmp0/*ddt1*/),_loadpath);
/*:RF3*/break;
case 807:
/*RF3:loadpaths_in*/r807loadpaths_in(((T807*)tmp0/*ddt1*/),_loadpath);
/*:RF3*/break;
default:;
/*UNUSED_EXPRESSION:*/(void)((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/));
}
/*inspect]*/
/*tmp0.unlock*/
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T907*)_loadpath))->_count/*T5piipp*//*:RF2*/))/*:RF8*/) break;
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*RF4:key*/r907key(((T907*)_loadpath),_i)/*:RF4*/);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\075'));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*RF4:item*/r907item(((T907*)_loadpath),_i)/*:RF4*/);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF3:put_line*/r69put_line((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_17403870Abc29A);
/*:RF3*//*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T910/*5piipp*/))));
*((T910*)tmp0/*new*/)=M910;
/*RF3:make*/r910make(((T910*)tmp0/*new*/));
/*:RF3*/_c_modes=tmp0/*new*/;
/*tmp0.unlock*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*reusing tmp0*/(tmp0/*ddt1*/=((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/)))))->id)){
case 806:
/*RF3:c_modes_in*/r806c_modes_in(((T806*)tmp0/*ddt1*/),_c_modes);
/*:RF3*/break;
case 807:
/*RF3:c_modes_in*/r807c_modes_in(((T807*)tmp0/*ddt1*/),_c_modes);
/*:RF3*/break;
default:;
/*UNUSED_EXPRESSION:*/(void)((/*RF2:config*/((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/))->_config/*11pippi*//*:RF2*/));
}
/*inspect]*/
/*tmp0.unlock*/
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_652239368Abc29A);
/*:RF3*/_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T910*)_c_modes))->_count/*5piipp*//*:RF2*/))/*:RF8*/) break;
if(/*RF8:>*/((int32_t)(_i))>(INT32_C(1))/*:RF8*/){
/*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\040'));
/*:RF3*/}
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*RF4:key*/r910key(((T910*)_c_modes),_i)/*:RF4*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_180Abc29A);
/*:RF3*/if((/*`a_c_mode'*/a1)!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_435095576Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*`a_c_mode'*/a1);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_475Abc29A);
/*:RF3*/_c_mode=/*RF4:reference_at*/r910reference_at(((T910*)_c_modes),/*`a_c_mode'*/a1)/*:RF4*/;
if((_c_mode)!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_197888231Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),/*`a_c_mode'*/a1);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/if(((/*RF2:c_compiler*/(((T302*)_c_mode))->_c_compiler/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1333288287Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:c_compiler*/(((T302*)_c_mode))->_c_compiler/*13p*//*:RF2*/));
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}
if(((/*RF2:c_compiler_path*/(((T302*)_c_mode))->_c_compiler_path/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_407786651Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:c_compiler_path*/(((T302*)_c_mode))->_c_compiler_path/*13p*//*:RF2*/));
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}
if(((/*RF2:c_linker_path*/(((T302*)_c_mode))->_c_linker_path/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_461965022Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:c_linker_path*/(((T302*)_c_mode))->_c_linker_path/*13p*//*:RF2*/));
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}
if(((/*RF2:c_strip_path*/(((T302*)_c_mode))->_c_strip_path/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_859934821Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:c_strip_path*/(((T302*)_c_mode))->_c_strip_path/*13p*//*:RF2*/));
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}
if(((/*RF2:c_compiler_options*/(((T302*)_c_mode))->_c_compiler_options/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1464394200Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:c_compiler_options*/(((T302*)_c_mode))->_c_compiler_options/*13p*//*:RF2*/));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_180Abc29B);
/*:RF3*/}
if(((/*RF2:c_linker_options*/(((T302*)_c_mode))->_c_linker_options/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1910891475Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:c_linker_options*/(((T302*)_c_mode))->_c_linker_options/*13p*//*:RF2*/));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_180Abc29C);
/*:RF3*/}
if(((/*RF2:cpp_compiler*/(((T302*)_c_mode))->_cpp_compiler/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1605656896Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:cpp_compiler*/(((T302*)_c_mode))->_cpp_compiler/*13p*//*:RF2*/));
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}
if(((/*RF2:cpp_compiler_path*/(((T302*)_c_mode))->_cpp_compiler_path/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1155834500Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:cpp_compiler_path*/(((T302*)_c_mode))->_cpp_compiler_path/*13p*//*:RF2*/));
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}
if(((/*RF2:cpp_linker_path*/(((T302*)_c_mode))->_cpp_linker_path/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1537074433Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:cpp_linker_path*/(((T302*)_c_mode))->_cpp_linker_path/*13p*//*:RF2*/));
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}
if(((/*RF2:cpp_strip_path*/(((T302*)_c_mode))->_cpp_strip_path/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1319120389Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:cpp_strip_path*/(((T302*)_c_mode))->_cpp_strip_path/*13p*//*:RF2*/));
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}
if(((/*RF2:cpp_compiler_options*/(((T302*)_c_mode))->_cpp_compiler_options/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_841249607Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:cpp_compiler_options*/(((T302*)_c_mode))->_cpp_compiler_options/*13p*//*:RF2*/));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_180Abc29D);
/*:RF3*/}
if(((/*RF2:cpp_linker_options*/(((T302*)_c_mode))->_cpp_linker_options/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1139062643Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:cpp_linker_options*/(((T302*)_c_mode))->_cpp_linker_options/*13p*//*:RF2*/));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_180Abc29E);
/*:RF3*/}
if(((/*RF2:smarteiffel_options*/(((T302*)_c_mode))->_smarteiffel_options/*13p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_1129792417Abc29A);
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),(/*RF2:smarteiffel_options*/(((T302*)_c_mode))->_smarteiffel_options/*13p*//*:RF2*/));
/*:RF3*//*RF3:put_string*/r69put_string((T69*)(/*RF6:std_output*/r29std_output()/*:RF6*/),ms29_180Abc29F);
/*:RF3*/}
}
}
}/*--*/

/*SE*/void r29make(T29*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_plugin=(void*)0;
/*RF3:set_verbose*/r29set_verbose();
/*:RF3*/(/*RF2:item*/(((T909*)oBC30is_launcher_memory))->_item/*p*//*:RF2*/)=((T6)(1));
if((/*RF4:search_for_echo_redirect_flag*/r29search_for_echo_redirect_flag(C)/*:RF4*/)!=((void*)((void*)0))){
/*RF3:redirect_output_on_dev_null*/r126redirect_output_on_dev_null((T126*)(/*RF6:echo*/r29echo()/*:RF6*/));
/*:RF3*/}
tmp0/*ifthen (empty)*/=((T6)((/*RF6:system_tools*/r29system_tools()/*:RF6*/)!=((void*)((void*)0))));
/*RF3:load_plugins*/r29load_plugins(C);
/*:RF3*/if(/*RF8:<*/((int32_t)(/*RF4:argument_count*/r29argument_count()/*:RF4*/))<(INT32_C(1))/*:RF8*/){
/*RF3:bad_use_exit*/r113bad_use_exit((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/),/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[INT32_C(0)]/*:RF8*/,/*RF6:command_line_help_summary*/r29command_line_help_summary(C)/*:RF6*/);
/*:RF3*/}
else{
_plugin=/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[INT32_C(1)]/*:RF8*/;
if(/*RF4:has*/r906has((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)),_plugin)/*:RF4*/){
/*RF3:call_plugin*/r29call_plugin(C,_plugin);
/*:RF3*/}
else{
if(/*RF4:has*/r906has((T906*)((/*RF2:plugin_commands*/(C)->_plugin_commands/*2ppp*//*:RF2*/)),_plugin)/*:RF4*/){
/*RF3:call_plugin*/r29call_plugin(C,/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF4:first_index_of*/r906first_index_of((T906*)((/*RF2:plugin_commands*/(C)->_plugin_commands/*2ppp*//*:RF2*/)),_plugin)/*:RF4*/]/*:RF8*/);
/*:RF3*/}
else{
if(/*RF4:is_version_flag_no_exit*/r29is_version_flag_no_exit(C,_plugin)/*:RF4*/){
/*RF3:print_all_version_numbers*/r29print_all_version_numbers(C,_plugin);
/*:RF3*/}
else{
if(/*RF4:is_help_flag*/r29is_help_flag(C,_plugin)/*:RF4*/){
}
else{
if(/*RF4:flag_match*/r29flag_match(ms29_1257682441Abc29A,_plugin)/*:RF4*/){
if((/*RF4:argument_count*/r29argument_count()/*:RF4*/)==(INT8_C(1))){
/*RF3:show_environment*/r29show_environment((void*)0);
/*:RF3*/}
else{
/*RF3:show_environment*/r29show_environment(/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[INT32_C(2)]/*:RF8*/);
/*:RF3*/}
}
else{
/*RF3:bad_use_exit*/r113bad_use_exit((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/),/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[INT32_C(0)]/*:RF8*/,/*RF6:command_line_help_summary*/r29command_line_help_summary(C)/*:RF6*/);
/*:RF3*/}
}
}
}
}
}
}/*--*/
T0*oBC29command_line_help_summary=(void*)0;
int fBC29command_line_help_summary=0;

/*SE*/T0*r29command_line_help_summary(T29*C){
T2 _i=0;
T2 _n=0;
T2 _c=0;
if(fBC29command_line_help_summary==0){fBC29command_line_help_summary=1;{
oBC29command_line_help_summary=se_string(894,s29_962311560A);
_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
_c=(/*RF2:count*/((T7*)(/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/))->_count/*Tniiiiip*//*:RF2*/);
if(/*RF8:>*/((int32_t)(/*RF8:+*/((int32_t)(_n))+(_c)/*:RF8*/))>(INT32_C(78))/*:RF8*/){
/*RF3:append*/r7append(((T7*)oBC29command_line_help_summary),ms29_230Abc29A);
/*:RF3*/_n=INT32_C(0);
}
else{
if(/*RF8:>*/((int32_t)(_n))>(INT32_C(0))/*:RF8*/){
/*RF3:append*/r7append(((T7*)oBC29command_line_help_summary),ms29_252Abc29A);
/*:RF3*/_n=/*RF8:+*/((int32_t)(_n))+(INT32_C(2))/*:RF8*/;
}
}
/*RF3:append*/r7append(((T7*)oBC29command_line_help_summary),/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/);
/*:RF3*/_n=/*RF8:+*/((int32_t)(_n))+(_c)/*:RF8*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(/*RF8:>*/((int32_t)(_n))>(INT32_C(0))/*:RF8*/){
/*RF3:extend*/r7extend(((T7*)oBC29command_line_help_summary),((T3)'\n'));
/*:RF3*/}
/*RF3:append*/r7append(((T7*)oBC29command_line_help_summary),se_string(186,s29_1943188837A));
/*:RF3*/}}
return oBC29command_line_help_summary;
}/*--*/

/*SE*/T2 r29argument_count(void){
T2 R=0;
R=(/*RF2:upper*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_upper/*niii*//*:RF2*/);
return R;
}/*--*/
T0*oBC34command_arguments=(void*)0;
int fBC34command_arguments=0;

/*SE*/T0*r29command_arguments(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T0*_arg=(void*)0;
if(fBC34command_arguments==0){fBC34command_arguments=1;{
_i=INT32_C(0);
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:make*/r906make(((T906*)tmp0/*new*/),/*RF8:se_argc*/se_argc/*:RF8*/);
/*:RF3*/oBC34command_arguments=tmp0/*new*/;
/*tmp0.unlock*/
while(1){
/*until*/if(/*RF8:>=*/((int32_t)(_i))>=(/*RF8:se_argc*/se_argc/*:RF8*/)/*:RF8*/) break;
_arg=/*RF8:se_argv*/((T0*)se_string(strlen(se_argv[_i]), se_argv[_i]))/*:RF8*/;
/*RF3:put*/r906put(((T906*)oBC34command_arguments),_arg,_i);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}}
return oBC34command_arguments;
}/*--*/

/*SE*/T6 r29valid_arg_index(T2 a1){
T6 R=0;
R=((T6)(/*RF4:in_range*/r2in_range(/*`i'*/a1,INT32_C(1),/*RF4:argument_count*/r29argument_count()/*:RF4*/)/*:RF4*/));
return R;
}/*--*/

/*SE*/void r29call_plugin(T29*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _status=0;
T0*_cmd=(void*)0;
T0*_arg=(void*)0;
_i=/*RF4:first_index_of*/r906first_index_of((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)),/*`plugin'*/a1)/*:RF4*/;
_cmd=/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:plugin_commands*/(C)->_plugin_commands/*2ppp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:with_capacity*/r906with_capacity(((T906*)tmp0/*new*/),/*RF8:-*/((int32_t)(/*RF4:argument_count*/r29argument_count()/*:RF4*/))-(INT32_C(1))/*:RF8*/);
/*:RF3*/_arg=tmp0/*new*/;
/*tmp0.unlock*/
_i=INT32_C(2);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*RF4:argument_count*/r29argument_count()/*:RF4*/)/*:RF8*/) break;
/*RF3:add_last*/r906add_last(((T906*)_arg),/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
_status=/*RF4:do_plugin_call*/r29do_plugin_call(_cmd,_arg)/*:RF4*/;
if((_status)!=(INT8_C(0))){
/*RF7:die_with_code*/se_die(_status);
/*:RF7*/}
}/*--*/
T0*oBC30echo=(void*)0;
int fBC30echo=0;

/*SE*/T0*r29echo(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30echo==0){fBC30echo=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T126/*3pip*/))));
*((T126*)tmp0/*new*/)=M126;
/*RF3:make*/r126make(((T126*)tmp0/*new*/));
/*:RF3*/oBC30echo=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30echo;
}/*--*/

/*SE*/T0*r29search_for_echo_redirect_flag(T29*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _argi=0;
T0*_arg=(void*)0;
T294 _file_tools={0};
_argi=INT32_C(1);
while(1){
/*until*/if((/*RF4:valid_arg_index*/r29valid_arg_index(_argi)/*:RF4*/)==(0)) break;
_arg=/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[_argi]/*:RF8*/;
if(/*RF4:is_output_error_warning_on_flag*/r29is_output_error_warning_on_flag(C,_arg,_argi)/*:RF4*/){
if((R)==((void*)((void*)0))){
R=/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[/*RF8:+*/((int32_t)(_argi))+(INT32_C(1))/*:RF8*/]/*:RF8*/;
_argi=/*RF8:+*/((int32_t)(_argi))+(INT32_C(2))/*:RF8*/;
if(/*RF4:file_exists*/r294file_exists(R)/*:RF4*/){
/*RF3:delete*/r294delete(&_file_tools,R);
/*:RF3*/tmp0/*or else*/=((T6)(((/*RF2:last_delete_succeeded*/(_file_tools)._last_delete_succeeded/*p*//*:RF2*/))==(0)));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:file_exists*/r294file_exists(R)/*:RF4*/));
}
if(tmp0/*or else*/){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),se_string(36,s33_1364794873A));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),R);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),se_string(54,s33_525197655A));
/*:RF3*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}
}
}
else{
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),se_string(75,s33_1010347497A));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[INT32_C(0)]/*:RF8*/);
/*:RF3*/_argi=INT32_C(1);
while(1){
/*until*/if((/*RF4:valid_arg_index*/r29valid_arg_index(_argi)/*:RF4*/)==(0)) break;
/*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),((T3)'\040'));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[_argi]/*:RF8*/);
/*:RF3*/_argi=/*RF8:+*/((int32_t)(_argi))+(INT32_C(1))/*:RF8*/;
}
/*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),((T3)'\n'));
/*:RF3*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}
}
else{
_argi=/*RF8:+*/((int32_t)(_argi))+(INT32_C(1))/*:RF8*/;
}
}
return R;
}/*--*/

/*SE*/T6 r29is_output_error_warning_on_flag(T29*C,T0*a1,T2 a2){
T6 R=0;
if(/*RF4:flag_match*/r29flag_match(ms33_941571923Abc33A,/*`flag'*/a1)/*:RF4*/){
R=((T6)(1));
if(/*RF8:>=*/((int32_t)(/*`argi'*/a2))>=(/*RF4:argument_count*/r29argument_count()/*:RF4*/)/*:RF8*/){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),ms29_676Abc29A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),se_string(62,s33_1202957293A));
/*:RF3*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}
}
return R;
}/*--*/
T0*oBC17std_output=(void*)0;
int fBC17std_output=0;

/*SE*/T0*r29std_output(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17std_output==0){fBC17std_output=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T69/*Tpnii*/))));
*((T69*)tmp0/*new*/)=M69;
/*RF3:make*/r69make(((T69*)tmp0/*new*/));
/*:RF3*/oBC17std_output=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17std_output;
}/*--*/

/*SE*/void r29set_verbose(void){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T6 _ok=0;
_i=INT32_C(2);
while(1){
tmp0/*or else*/=((T6)(_ok));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>(/*RF4:argument_count*/r29argument_count()/*:RF4*/)/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
if(/*RF4:flag_match*/r29flag_match(/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r29command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/,ms35_2246326Abc35A)/*:RF4*/){
(/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)=((T6)(1));
}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*SE*/void r29load_plugins(T29*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_t=(void*)0;
T2 _i=0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:with_capacity*/r906with_capacity(((T906*)tmp0/*new*/),INT32_C(16));
/*:RF3*//*SFN*/(C->_plugins/*2ppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:with_capacity*/r906with_capacity(((T906*)tmp0/*new*/),INT32_C(16));
/*:RF3*//*SFN*/(C->_plugin_commands/*2ppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T907/*T5piipp*/))));
*((T907*)tmp0/*new*/)=M907;
/*RF3:make*/r907make(((T907*)tmp0/*new*/));
/*:RF3*/_t=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:load_tools_in*/r113load_tools_in((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/),_t);
/*:RF3*/_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T907*)_t))->_count/*T5piipp*//*:RF2*/))/*:RF8*/) break;
/*RF3:add_last*/r906add_last((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)),/*RF4:key*/r907key(((T907*)_t),_i)/*:RF4*/);
/*:RF3*//*RF3:add_last*/r906add_last((T906*)((/*RF2:plugin_commands*/(C)->_plugin_commands/*2ppp*//*:RF2*/)),/*RF4:item*/r907item(((T907*)_t),_i)/*:RF4*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/
T0*oBC30is_launcher_memory=(void*)0;

/*SE*/T6 r29is_version_flag_no_exit(T29*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*or else*/=((T6)(/*RF4:flag_match*/r29flag_match(ms35_2248290Abc35A,/*`flag'*/a1)/*:RF4*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:flag_match*/r29flag_match(ms33_118Abc33A,/*`flag'*/a1)/*:RF4*/));
}
if(tmp0/*or else*/){
if(((/*RF2:version_flag*/(C)->_version_flag/*2ppp*//*:RF2*/))==(0)){
/*RF3:print_version*/r111print_version(((T111*)oBC30smart_eiffel));
/*:RF3*//*SFN*/(C->_version_flag/*2ppp*/)=((T6)(1));
}
R=((T6)(1));
}
return R;
}/*--*/
T0*oBC30system_tools=(void*)0;
int fBC30system_tools=0;

/*SE*/T0*r29system_tools(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30system_tools==0){fBC30system_tools=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T113/*11pippi*/))));
*((T113*)tmp0/*new*/)=M113;
/*RF3:make*/r113make(((T113*)tmp0/*new*/));
/*:RF3*/oBC30system_tools=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30system_tools;
}/*--*/

/*SE*/T6 r29flag_match(T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T3 tmp0;
T6 tmp1;
T6 tmp2;
T6 tmp3;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i_flag=0;
T2 _i_arg=0;
T3 _flag_char='\0';
T3 _arg_char='\0';
_i_arg=(/*RF2:count*/(((T7*)/*`arg'*/a2))->_count/*Tniiiiip*//*:RF2*/);
if(/*RF8:>=*/((int32_t)(_i_arg))>=(INT32_C(2))/*:RF8*/){
_i_flag=(/*RF2:count*/(((T7*)/*`flag'*/a1))->_count/*Tniiiiip*//*:RF2*/);
tmp0/*inspectDynamicDispatchExpression*/=/*RF4:first*/r7first(((T7*)/*`arg'*/a2))/*:RF4*/;
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 45:
if((/*RF4:item*/r7item(((T7*)/*`arg'*/a2),INT32_C(2))/*:RF4*/)==(((T3)'\055'))){
R=((T6)((/*RF8:+*/((int32_t)(_i_flag))+(INT32_C(2))/*:RF8*/)==(_i_arg)));
}
else{
R=((T6)((/*RF8:+*/((int32_t)(_i_flag))+(INT32_C(1))/*:RF8*/)==(_i_arg)));
}
break;
case 47:
R=((T6)((/*RF8:+*/((int32_t)(_i_flag))+(INT32_C(1))/*:RF8*/)==(_i_arg)));
break;
}
/*inspect]*/
while(1){
tmp1/*or else*/=((T6)((R)==(0)));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)((_i_flag)==(INT8_C(0))));
}
/*until*/if(tmp1/*or else*/) break;
_flag_char=/*RF4:item*/r7item(((T7*)/*`flag'*/a1),_i_flag)/*:RF4*/;
_arg_char=/*RF4:item*/r7item(((T7*)/*`arg'*/a2),_i_arg)/*:RF4*/;
tmp2/*or else*/=((T6)(/*RF4:same_as*/r3same_as(_flag_char,_arg_char)/*:RF4*/));
if(tmp2/*or else*/){
}
else{
tmp3/*and then*/=((T6)((_flag_char)==(((T3)'\137'))));
if(tmp3/*and then*/){
tmp3/*and then*/=((T6)((_arg_char)==(((T3)'\055'))));
}
tmp2/*or else*/=((T6)(tmp3/*and then*/));
}
if(tmp2/*or else*/){
_i_arg=/*RF8:-*/((int32_t)(_i_arg))-(INT32_C(1))/*:RF8*/;
_i_flag=/*RF8:-*/((int32_t)(_i_flag))-(INT32_C(1))/*:RF8*/;
}
else{
R=((T6)(0));
}
}
}
return R;
}/*--*/
T0*oBC30smart_eiffel=(void*)0;

/*SE*/T2 r29do_plugin_call(T0*a1,T0*a2){
T2 R=0;
T2 _i=0;
T0*_cmd=(void*)0;
_cmd=ms29_0Abc29A;
/*RF3:clear_count*/r7clear_count(((T7*)_cmd));
/*:RF3*//*RF3:append_command_path_to*/r113append_command_path_to((T113*)(/*RF6:system_tools*/r29system_tools()/*:RF6*/),_cmd,/*`plugin'*/a1);
/*:RF3*/_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/(((T906*)/*`arguments'*/a2))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
/*RF3:extend*/r7extend(((T7*)_cmd),((T3)'\040'));
/*:RF3*//*RF3:append*/r7append(((T7*)_cmd),/*RF8:item*/((/*RF2:storage*/(((T906*)/*`arguments'*/a2))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
R=/*RF4:system_call*/r126system_call((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),_cmd)/*:RF4*/;
return R;
}/*--*/

/*SE*/void r29print_all_version_numbers(T29*C,T0*a1){
T0*_arg=(void*)0;
T2 _i=0;
T2 _status=0;
T0*_plugin_name=(void*)0;
T6 _echo_verbose_status_save=0;
int _sys=0/*empty expanded*/;
_echo_verbose_status_save=((T6)((/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)));
(/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)=((T6)(1));
_plugin_name=ms29_676Abc29A;
/*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),_plugin_name);
/*:RF3*//*RF3:put_spaces*/r126put_spaces((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*RF6:command_name_length*/r29command_name_length(C)/*:RF6*/))-((/*RF2:count*/(((T7*)_plugin_name))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/))+(INT32_C(2))/*:RF8*/);
/*:RF3*//*RF3:put_line*/r126put_line((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),/*RF6:short_copyright*/r111short_copyright()/*:RF6*/);
/*:RF3*/_arg=se_manifest_args906(se_manifest906(1),0,1,
/*`version_arg'*/a1);
/*RF3:set_environment_variable*/r303set_environment_variable(se_string(26,s29_546635553A),se_string(1,s29_49A));
/*:RF3*/_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
_plugin_name=/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/;
/*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),_plugin_name);
/*:RF3*//*RF3:put_spaces*/r126put_spaces((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*RF6:command_name_length*/r29command_name_length(C)/*:RF6*/))-((/*RF2:count*/(((T7*)_plugin_name))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/))+(INT32_C(2))/*:RF8*/);
/*:RF3*/(/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)=((T6)(0));
_status=/*RF4:do_plugin_call*/r29do_plugin_call(/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:plugin_commands*/(C)->_plugin_commands/*2ppp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/,_arg)/*:RF4*/;
(/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)=((T6)(1));
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF3:put_new_line*/r126put_new_line((T126*)(/*RF6:echo*/r29echo()/*:RF6*/));
/*:RF3*/(/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)=((T6)(_echo_verbose_status_save));
}/*--*/

/*SE*/T6 r29is_help_flag(T29*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
T2 tmp2;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T6 _echo_verbose_status_save=0;
tmp0/*or else*/=((T6)(/*RF4:flag_match*/r29flag_match(ms35_16177Abc35A,/*`flag'*/a1)/*:RF4*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:flag_match*/r29flag_match(ms33_104Abc33A,/*`flag'*/a1)/*:RF4*/));
}
tmp1/*or else*/=((T6)(tmp0/*or else*/));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(/*RF4:is_equal*/r7is_equal(((T7*)ms33_63Abc33A),/*`flag'*/a1)/*:RF4*/));
}
if(tmp1/*or else*/){
if(((/*RF2:help_flag*/(C)->_help_flag/*2ppp*//*:RF2*/))==(0)){
_echo_verbose_status_save=((T6)((/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)));
(/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)=((T6)(1));
/*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r29echo()/*:RF6*/),/*RF6:command_line_help_summary*/r29command_line_help_summary(C)/*:RF6*/);
/*:RF3*/(/*RF2:is_verbose*/((T126*)(/*RF6:echo*/r29echo()/*:RF6*/))->_is_verbose/*3pip*//*:RF2*/)=((T6)(_echo_verbose_status_save));
}
tmp2/*inspectDynamicDispatchExpression*/=/*RF4:argument_count*/r29argument_count()/*:RF4*/;
/*[inspect*/
switch(tmp2/*inspectDynamicDispatchExpression*/){
case 1:
/*RF7:die_with_code*/se_die(INT32_C(0));
/*:RF7*/break;
case 2:
if((/*RF2:version_flag*/(C)->_version_flag/*2ppp*//*:RF2*/)){
/*RF7:die_with_code*/se_die(INT32_C(0));
/*:RF7*/}
break;
}
/*inspect]*/
/*SFN*/(C->_help_flag/*2ppp*/)=((T6)(1));
R=((T6)(1));
}
return R;
}/*--*/
T2 oBC29command_name_length=0;
int fBC29command_name_length=0;

/*SE*/T2 r29command_name_length(T29*C){
T2 _i=0;
if(fBC29command_name_length==0){fBC29command_name_length=1;{
_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
oBC29command_name_length=/*RF4:max*/r2max(oBC29command_name_length,(/*RF2:count*/((T7*)(/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:plugins*/(C)->_plugins/*2ppp*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/))->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}}
return oBC29command_name_length;
}/*--*/

/*ECHO*/void r126put_spaces(T126*C,T2 a1){
T2 _i=0;
if((/*RF2:is_verbose*/(C)->_is_verbose/*3pip*//*:RF2*/)){
_i=/*`n'*/a1;
while(1){
/*until*/if((_i)==(INT8_C(0))) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_put_character*/r69filtered_put_character(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),((T3)'\040'));
/*:RF3*/break;
case 78:
/*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/),((T3)'\040'));
/*:RF3*/break;
case 81:
/*RF7:io_putc*/io_putc(((T3)'\040'),/*NVND*/(stderr));
/*:RF7*/break;
case 664:
break;
case 855:
/*RF3:filtered_put_character*/r855filtered_put_character(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),((T3)'\040'));
/*:RF3*/break;
default:;
/*RF3:filtered_put_character*/r858filtered_put_character(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),((T3)'\040'));
/*:RF3*/}
/*inspect]*/
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}/*--*/

/*ECHO*/void r126put_line(T126*C,T0*a1){
if((/*RF2:is_verbose*/(C)->_is_verbose/*3pip*//*:RF2*/)){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:put_line*/r69put_line(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 78:
/*RF3:put_line*/r78put_line(((T78*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 81:
/*RF3:put_line*/r81put_line(((T81*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 664:
/*RF3:put_string*/r664put_string(((T664*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 855:
/*RF3:put_line*/r855put_line(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
default:;
/*RF3:put_line*/r858put_line(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
}/*--*/

/*ECHO*/void r126make(T126*C){
/*SFN*/(C->_output_stream/*3pip*/)=/*RF6:std_output*/r126std_output()/*:RF6*/;
/*SFN*/(C->_error_stream/*3pip*/)=oBC17std_error;
}/*--*/

/*ECHO*/void r126before_exit_close(T126*C){
T294 _file_tools={0};
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
if(((/*RF2:output_state*/(C)->_output_state/*3pip*//*:RF2*/))==(INT32_C(2))){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
(/*RF2:filter*/(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->_filter/*Tpnii*//*:RF2*/)=(void*)0;
break;
case 78:
/*RF3:disconnect*/r78disconnect();
/*:RF3*/break;
case 81:
(/*RF2:filter*/(((T81*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->_filter/*Tp*//*:RF2*/)=(void*)0;
break;
case 664:
(/*RF2:filter*/(((T664*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->_filter/*Tp*//*:RF2*/)=(void*)0;
break;
case 855:
/*RF3:disconnect*/r855disconnect(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:disconnect*/r858disconnect(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
/*SFN*/(C->_output_stream/*3pip*/)=/*RF6:std_output*/r126std_output()/*:RF6*/;
if(/*RF4:is_empty*/r294is_empty((/*RF2:output_path*/(C)->_output_path/*3pip*//*:RF2*/))/*:RF4*/){
/*RF3:delete*/r294delete(&_file_tools,(/*RF2:output_path*/(C)->_output_path/*3pip*//*:RF2*/));
/*:RF3*/if(((/*RF2:last_delete_succeeded*/(_file_tools)._last_delete_succeeded/*p*//*:RF2*/))==(0)){
/*RF3:w_put_string*/r126w_put_string(C,ms126_1758326604Abc126A);
/*:RF3*/}
}
/*SFN*/(C->_output_state/*3pip*/)=INT32_C(0);
/*SFN*/(C->_output_stream/*3pip*/)=/*RF6:std_output*/r126std_output()/*:RF6*/;
/*SFN*/(C->_error_stream/*3pip*/)=oBC17std_error;
}
}/*--*/

/*ECHO*/void r126w_put_string(T126*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:put_string*/r69put_string(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 78:
/*RF3:put_string*/r78put_string(((T78*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 81:
/*RF3:put_string*/r81put_string(((T81*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 664:
/*RF3:put_string*/r664put_string(((T664*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 855:
/*RF3:put_string*/r855put_string(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
default:;
/*RF3:put_string*/r858put_string(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}/*--*/

/*ECHO*/void r126tfr_connect(T126*C,T0*a1,T0*a2){
/*RF3:put_string*/r126put_string(C,ms126_27561173Abc126A);
/*:RF3*//*RF3:put_string*/r126put_string(C,/*`path'*/a2);
/*:RF3*//*RF3:put_string*/r126put_string(C,ms126_1090Abc126B);
/*:RF3*//*RF3:connect_to*/r99connect_to(((T99*)/*`tfr'*/a1),/*`path'*/a2);
/*:RF3*/}/*--*/

/*ECHO*/T0*r126std_output(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17std_output==0){fBC17std_output=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T69/*Tpnii*/))));
*((T69*)tmp0/*new*/)=M69;
/*RF3:make*/r69make(((T69*)tmp0/*new*/));
/*:RF3*/oBC17std_output=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17std_output;
}/*--*/

/*ECHO*/T0*r126getenv(T126*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
int _s=0/*empty expanded*/;
tmp0/*or else*/=((T6)(/*RF4:same_as*/r7same_as(((T7*)ms126_1072344038Abc126A),/*`variable'*/a1)/*:RF4*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:same_as*/r7same_as(((T7*)ms126_1071750288Abc126A),/*`variable'*/a1)/*:RF4*/));
}
if(tmp0/*or else*/){
/*RF3:w_put_string*/r126w_put_string(C,ms126_1018573728Abc126A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string(C,/*`variable'*/a1);
/*:RF3*//*RF3:w_put_string*/r126w_put_string(C,ms126_605800239Abc126A);
/*:RF3*/if((/*`file'*/a2)!=((void*)((void*)0))){
/*RF3:w_put_string*/r126w_put_string(C,ms126_113009974Abc126A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string(C,/*`file'*/a2);
/*:RF3*//*RF3:w_put_character*/r126w_put_character(C,((T3)'\047'));
/*:RF3*/}
else{
/*RF3:w_put_character*/r126w_put_character(C,((T3)'\056'));
/*:RF3*/}
/*RF3:w_put_character*/r126w_put_character(C,((T3)'\n'));
/*:RF3*//*RF3:w_put_string*/r126w_put_string(C,ms126_1342164121Abc126A);
/*:RF3*/R=/*RF4:get_environment_variable*/r303get_environment_variable(ms32_878084737Abc32A)/*:RF4*/;
}
else{
R=/*RF4:get_environment_variable*/r303get_environment_variable(/*`variable'*/a1)/*:RF4*/;
}
if((R)==((void*)((void*)0))){
R=/*RF4:environment*/r113environment((T113*)(/*RF6:system_tools*/r126system_tools()/*:RF6*/),/*`variable'*/a1)/*:RF4*/;
if((R)==((void*)((void*)0))){
/*RF3:w_put_string*/r126w_put_string(C,ms126_354654986Abc126A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string(C,/*`variable'*/a1);
/*:RF3*//*RF3:w_put_character*/r126w_put_character(C,((T3)'\175'));
/*:RF3*/if((/*`file'*/a2)!=((void*)((void*)0))){
/*RF3:w_put_string*/r126w_put_string(C,ms126_1430004152Abc126A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string(C,/*`file'*/a2);
/*:RF3*//*RF3:w_put_character*/r126w_put_character(C,((T3)'\047'));
/*:RF3*/}
/*RF3:w_put_string*/r126w_put_string(C,ms126_1293738877Abc126A);
/*:RF3*/}
}
return R;
}/*--*/

/*ECHO*/T2 r126system_call(T126*C,T0*a1){
T2 R=0;
T2 _i=0;
T0*_cmd2=(void*)0;
int _s=0/*empty expanded*/;
if((/*RF4:last*/r7last(((T7*)/*`cmd'*/a1))/*:RF4*/)==(((T3)'\n'))){
/*RF3:remove_last*/r7remove_last(((T7*)/*`cmd'*/a1));
/*:RF3*/R=/*RF4:system_call*/r126system_call(C,/*`cmd'*/a1)/*:RF4*/;
}
else{
if(/*RF4:has*/r7has(((T7*)/*`cmd'*/a1),((T3)'\n'))/*:RF4*/){
_i=/*RF4:first_index_of*/r7first_index_of(((T7*)/*`cmd'*/a1),((T3)'\n'))/*:RF4*/;
_cmd2=/*RF4:substring*/r7substring(((T7*)/*`cmd'*/a1),/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/,(/*RF2:count*/(((T7*)/*`cmd'*/a1))->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/;
/*RF3:remove_tail*/r7remove_tail(((T7*)/*`cmd'*/a1),/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)((/*RF2:count*/(((T7*)/*`cmd'*/a1))->_count/*Tniiiiip*//*:RF2*/)))-(_i)/*:RF8*/))+(INT32_C(1))/*:RF8*/);
/*:RF3*/R=/*RF4:system_call*/r126system_call(C,/*`cmd'*/a1)/*:RF4*/;
if((R)==(INT8_C(0))){
R=/*RF4:system_call*/r126system_call(C,_cmd2)/*:RF4*/;
}
else{
/*RF3:put_string*/r126put_string(C,ms126_7392907Abc126A);
/*:RF3*//*RF3:put_string*/r126put_string(C,_cmd2);
/*:RF3*//*RF3:put_string*/r126put_string(C,ms126_2142794376Abc126A);
/*:RF3*/}
}
else{
if((/*RF4:first*/r7first(((T7*)/*`cmd'*/a1))/*:RF4*/)==(((T3)'\043'))){
}
else{
/*RF3:put_string*/r126put_string(C,ms126_1800535743Abc126A);
/*:RF3*//*RF3:put_string*/r126put_string(C,/*`cmd'*/a1);
/*:RF3*//*RF3:put_string*/r126put_string(C,ms126_1090Abc126A);
/*:RF3*/R=/*RF4:execute_command*/r303execute_command(/*`cmd'*/a1)/*:RF4*/;
}
}
}
return R;
}/*--*/

/*ECHO*/void r126w_put_character(T126*C,T3 a1){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_put_character*/r69filtered_put_character(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`c'*/a1);
/*:RF3*/break;
case 78:
/*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/),/*`c'*/a1);
/*:RF3*/break;
case 81:
/*RF7:io_putc*/io_putc(/*`c'*/a1,/*NVND*/(stderr));
/*:RF7*/break;
case 664:
break;
case 855:
/*RF3:filtered_put_character*/r855filtered_put_character(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`c'*/a1);
/*:RF3*/break;
default:;
/*RF3:filtered_put_character*/r858filtered_put_character(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`c'*/a1);
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}/*--*/

/*ECHO*/void r126put_new_line(T126*C){
if((/*RF2:is_verbose*/(C)->_is_verbose/*3pip*//*:RF2*/)){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_put_character*/r69filtered_put_character(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),((T3)'\n'));
/*:RF3*/break;
case 78:
/*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/break;
case 81:
/*RF7:io_putc*/io_putc(((T3)'\n'),/*NVND*/(stderr));
/*:RF7*/break;
case 664:
break;
case 855:
/*RF3:filtered_put_character*/r855filtered_put_character(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),((T3)'\n'));
/*:RF3*/break;
default:;
/*RF3:filtered_put_character*/r858filtered_put_character(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),((T3)'\n'));
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
}/*--*/

/*ECHO*/void r126put_string(T126*C,T0*a1){
if((/*RF2:is_verbose*/(C)->_is_verbose/*3pip*//*:RF2*/)){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:put_string*/r69put_string(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 78:
/*RF3:put_string*/r78put_string(((T78*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 81:
/*RF3:put_string*/r81put_string(((T81*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 664:
/*RF3:put_string*/r664put_string(((T664*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 855:
/*RF3:put_string*/r855put_string(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
default:;
/*RF3:put_string*/r858put_string(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
}/*--*/

/*ECHO*/T0*r126system_tools(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30system_tools==0){fBC30system_tools=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T113/*11pippi*/))));
*((T113*)tmp0/*new*/)=M113;
/*RF3:make*/r113make(((T113*)tmp0/*new*/));
/*:RF3*/oBC30system_tools=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30system_tools;
}/*--*/

/*ECHO*/void r126w_put_line(T126*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:put_line*/r69put_line(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 78:
/*RF3:put_line*/r78put_line(((T78*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 81:
/*RF3:put_line*/r81put_line(((T81*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 664:
/*RF3:put_string*/r664put_string(((T664*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
case 855:
/*RF3:put_line*/r855put_line(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/break;
default:;
/*RF3:put_line*/r858put_line(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}/*--*/

/*ECHO*/void r126put_integer(T126*C,T2 a1){
if((/*RF2:is_verbose*/(C)->_is_verbose/*3pip*//*:RF2*/)){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:put_integer*/r69put_integer(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
case 78:
/*RF3:put_integer*/r78put_integer(((T78*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
case 81:
/*RF3:put_integer*/r81put_integer(((T81*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
case 664:
/*RF3:put_integer*/r664put_integer(((T664*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
case 855:
/*RF3:put_integer*/r855put_integer(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
default:;
/*RF3:put_integer*/r858put_integer(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
}/*--*/
T0*oBC17std_error=(void*)0;

/*ECHO*/void r126redirect_output_on_dev_null(T126*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T664/*Tp*/))));
*((T664*)tmp0/*new*/)=M664;
/*SFN*/(C->_output_stream/*3pip*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*SFN*/(C->_error_stream/*3pip*/)=(/*RF2:output_stream*/(C)->_output_stream/*3pip*//*:RF2*/);
}/*--*/

/*ECHO*/void r126w_put_integer(T126*C,T2 a1){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:put_integer*/r69put_integer(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
case 78:
/*RF3:put_integer*/r78put_integer(((T78*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
case 81:
/*RF3:put_integer*/r81put_integer(((T81*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
case 664:
/*RF3:put_integer*/r664put_integer(((T664*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
case 855:
/*RF3:put_integer*/r855put_integer(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/break;
default:;
/*RF3:put_integer*/r858put_integer(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)),/*IC*/(T11)(/*`i'*/a1));
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)))->id)){
case 69:
/*RF3:filtered_flush*/r69filtered_flush(((T69*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
case 78:
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/));
/*:RF3*/break;
case 81:
/*RF3:filtered_flush*/r81filtered_flush();
/*:RF3*/break;
case 664:
break;
case 855:
/*RF3:filtered_flush*/r855filtered_flush(((T855*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:filtered_flush*/r858filtered_flush(((T858*)(/*RF2:error_stream*/(C)->_error_stream/*3pip*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}/*--*/

/*SYSTEM_TOOLS*/void r113environment_variable_substitution(T113*C,T0*a1,T0*a2){
T2 _i=0;
T2 _state=0;
T2 _mem1=0;
T2 _mem2=0;
T3 _c='\0';
T0*_value=(void*)0;
T0*_variable=(void*)0;
_variable=ms113_186217457Abc113A;
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T7*)/*`line'*/a2))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
_c=/*RF4:item*/r7item(((T7*)/*`line'*/a2),_i)/*:RF4*/;
/*[inspect*/
switch(_state){
case 0:
if((_c)==(((T3)'\044'))){
_state=INT32_C(1);
_mem1=_i;
}
break;
case 1:
if((_c)==(((T3)'\173'))){
_state=INT32_C(2);
/*RF3:clear_count*/r7clear_count(((T7*)_variable));
/*:RF3*/}
else{
_state=INT32_C(0);
}
break;
case 2:
if((_c)==(((T3)'\175'))){
_state=INT32_C(3);
_mem2=_i;
}
else{
/*RF3:extend*/r7extend(((T7*)_variable),_c);
/*:RF3*/}
break;
}
/*inspect]*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if((_state)==(INT8_C(3))){
if(/*RF4:is_equal*/r7is_equal(((T7*)_variable),ms32_3595Abc32A)/*:RF4*/){
_value=(/*RF2:sys_directory*/(C)->_sys_directory/*11pippi*//*:RF2*/);
}
else{
if(/*RF4:is_equal*/r7is_equal(((T7*)_variable),ms32_3085Abc32A)/*:RF4*/){
_value=(/*RF2:bin_directory*/(C)->_bin_directory/*11pippi*//*:RF2*/);
}
else{
if(/*RF4:is_equal*/r7is_equal(((T7*)_variable),ms32_88336Abc32A)/*:RF4*/){
_value=(/*RF2:short_directory*/(C)->_short_directory/*11pippi*//*:RF2*/);
}
}
}
if((_value)==((void*)((void*)0))){
_value=/*RF4:getenv*/r126getenv((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),_variable,/*`path'*/a1)/*:RF4*/;
}
if((_value)!=((void*)((void*)0))){
/*RF3:copy*/r7copy(((T7*)_variable),/*`line'*/a2);
/*:RF3*//*RF3:keep_head*/r7keep_head(((T7*)/*`line'*/a2),/*RF8:-*/((int32_t)(_mem1))-(INT32_C(1))/*:RF8*/);
/*:RF3*//*RF3:append*/r7append(((T7*)/*`line'*/a2),_value);
/*:RF3*//*RF3:remove_head*/r7remove_head(((T7*)_variable),_mem2);
/*:RF3*//*RF3:append*/r7append(((T7*)/*`line'*/a2),_variable);
/*:RF3*//*RF3:environment_variable_substitution*/r113environment_variable_substitution(C,/*`path'*/a1,/*`line'*/a2);
/*:RF3*/}
}
}/*--*/

/*SYSTEM_TOOLS*/void r113make(T113*C){
int _rcf=0/*empty expanded*/;
/*SFN*/(C->_c_compiler_mode/*11pippi*/)=INT32_C(1);
/*RF5:set_config*/r113set_config(C);
/*:RF5*/if(((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/))==((void*)((void*)0))){
if((/*RF6:seconf_env*/r556seconf_env()/*:RF6*/)!=((void*)((void*)0))){
/*SFN*/(C->_seconf/*11pippi*/)=/*RF6:seconf_env*/r556seconf_env()/*:RF6*/;
}
else{
/*SFN*/(C->_seconf/*11pippi*/)=ms32_56255230Abc32A;
}
if((/*RF2:item*/(((T909*)oBC30install_memory))->_item/*p*//*:RF2*/)){
/*RF3:set_automatic_system_name*/r113set_automatic_system_name(C);
/*:RF3*/}
else{
if(((/*RF2:seconf*/(C)->_seconf/*11pippi*//*:RF2*/))!=((void*)(ms32_56255230Abc32A))){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms113_2139128753Abc113A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms32_292787264Abc32A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms113_1451626378Abc113A);
/*:RF3*/}
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms113_1649305994Abc113A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms32_292787264Abc32A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms113_748280696Abc113A);
/*:RF3*/if(((/*RF2:item*/(((T909*)oBC30install_memory))->_item/*p*//*:RF2*/))==(0)){
/*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}
}
}
}/*--*/

/*SYSTEM_TOOLS*/T2 r113nb_errors(void){
T2 R=0;
R=(/*RF2:error_counter*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_error_counter/*3piipp*//*:RF2*/);
return R;
}/*--*/
int fBC113include_config_loadpaths=0;

/*SYSTEM_TOOLS*/void r113include_config_loadpaths(T113*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_loadpaths=(void*)0;
T2 _i=0;
if(fBC113include_config_loadpaths==0){fBC113include_config_loadpaths=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T911/*T2pniiiii*/))));
*((T911*)tmp0/*new*/)=M911;
/*RF3:make*/r911make(((T911*)tmp0/*new*/));
/*:RF3*/_loadpaths=tmp0/*new*/;
/*tmp0.unlock*/
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->id)){
case 806:
/*RF3:loadpaths_in*/r806loadpaths_in(((T806*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)),_loadpaths);
/*:RF3*/break;
case 807:
/*RF3:loadpaths_in*/r807loadpaths_in(((T807*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)),_loadpaths);
/*:RF3*/break;
default:;
}
/*inspect]*/
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T911*)_loadpaths))->_count/*T2pniiiii*//*:RF2*/))/*:RF8*/) break;
/*RF3:add_config_loadpath_file*/r113add_config_loadpath_file(C,/*RF4:item*/r911item(((T911*)_loadpaths),_i)/*:RF4*/,/*RF4:key*/r911key(((T911*)_loadpaths),_i)/*:RF4*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}}}/*--*/
T0*oBC30ace=(void*)0;

/*SYSTEM_TOOLS*/T0*r113echo(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30echo==0){fBC30echo=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T126/*3pip*/))));
*((T126*)tmp0/*new*/)=M126;
/*RF3:make*/r126make(((T126*)tmp0/*new*/));
/*:RF3*/oBC30echo=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30echo;
}/*--*/

/*SYSTEM_TOOLS*/T0*r113environment(T113*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->id)){
case 806:
tmp0/*environment*/=/*RF4:environment*/r806environment(((T806*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)),/*`var'*/a1)/*:RF4*/;
break;
case 807:
tmp0/*environment*/=/*RF4:reference_at*/r911reference_at((T911*)((/*RF2:my_environment*/(((T807*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->_my_environment/*T10pi*//*:RF2*/)),/*`var'*/a1)/*:RF4*/;
break;
default:;
tmp0/*environment*/=/*RF4:environment*/r808environment(/*`var'*/a1)/*:RF4*/;
}
/*inspect]*/
R=tmp0/*environment*/;
return R;
}/*--*/

/*SYSTEM_TOOLS*/T6 r113is_install(void){
T6 R=0;
R=((T6)((/*RF2:item*/(((T909*)oBC30install_memory))->_item/*p*//*:RF2*/)));
return R;
}/*--*/

/*SYSTEM_TOOLS*/void r113fill_path(T113*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(/*RF4:root_count*/r283root_count()/*:RF4*/))>(INT32_C(1))/*:RF8*/));
if(tmp0/*and then*/){
tmp1/*or else*/=((T6)((ms115_2178Abc115A)==((void*)((/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/)))));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)((/*RF2:need_path_id*/(((T283*)oBC30ace))->_need_path_id/*pip*//*:RF2*/)));
}
tmp0/*and then*/=((T6)(tmp1/*or else*/));
}
if(tmp0/*and then*/){
if(/*RF8:<*/((int32_t)((/*RF2:path_id*/(C)->_path_id/*11pippi*//*:RF2*/)))<(INT32_C(10))/*:RF8*/){
/*RF3:extend*/r7extend(((T7*)/*`path'*/a1),((T3)'0'));
/*:RF3*/}
/*RF3:append_in*/r2append_in((/*RF2:path_id*/(C)->_path_id/*11pippi*//*:RF2*/),/*`path'*/a1);
/*:RF3*//*RF3:extend*/r7extend(((T7*)/*`path'*/a1),((T3)'\055'));
/*:RF3*/}
if((ms115_2178Abc115A)==((void*)((/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/)))){
/*RF3:copy*/r7copy(((T7*)/*`path'*/a1),ms29_676Abc113A);
/*:RF3*/}
else{
/*RF3:copy*/r7copy(((T7*)/*`path'*/a1),(/*RF2:to_string*/((T107*)(/*RF4:root_class_name*/r283root_class_name(((T283*)oBC30ace))/*:RF4*/))->_to_string/*pi*//*:RF2*/));
/*:RF3*/}
/*RF3:to_lower*/r7to_lower(((T7*)/*`path'*/a1));
/*:RF3*//*RF3:append*/r7append(((T7*)/*`path'*/a1),/*`suffix'*/a2);
/*:RF3*/}/*--*/
T0*oBC113id_file_path=(void*)0;
int fBC113id_file_path=0;

/*SYSTEM_TOOLS*/T0*r113id_file_path(T113*C){
if(fBC113id_file_path==0){fBC113id_file_path=1;{
oBC113id_file_path=ms29_0Abc113A;
/*RF3:copy*/r7copy(((T7*)oBC113id_file_path),/*RF4:path_h*/r113path_h(C)/*:RF4*/);
/*:RF3*//*RF3:remove_suffix*/r7remove_suffix(((T7*)oBC113id_file_path),ms30_334Abc30A);
/*:RF3*//*RF3:append*/r7append(((T7*)oBC113id_file_path),ms113_1775Abc113A);
/*:RF3*/}}
return oBC113id_file_path;
}/*--*/

/*SYSTEM_TOOLS*/void r113load_tools_in(T113*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->id)){
case 806:
/*RF3:tools_in*/r806tools_in(((T806*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)),/*`tools'*/a1);
/*:RF3*/break;
case 807:
/*RF3:tools_in*/r807tools_in(((T807*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)),/*`tools'*/a1);
/*:RF3*/break;
default:;
}
/*inspect]*/
}/*--*/
T0*oBC113x_suffix=(void*)0;
int fBC113x_suffix=0;

/*SYSTEM_TOOLS*/T0*r113x_suffix(T113*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC113x_suffix==0){fBC113x_suffix=1;{
if((ms115_2178Abc115A)==((void*)((/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/)))){
oBC113x_suffix=ms113_8976Abc113A;
/*RF3:to_upper*/r7to_upper(((T7*)oBC113x_suffix));
/*:RF3*/}
else{
if((ms115_1772235Abc115A)==((void*)((/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/)))){
oBC113x_suffix=ms113_8976Abc113A;
}
else{
if((ms115_301485Abc115A)==((void*)((/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/)))){
oBC113x_suffix=ms113_8976Abc113A;
}
else{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(4));
/*:RF3*/oBC113x_suffix=tmp0/*new*/;
/*tmp0.unlock*/
}
}
}
}}
return oBC113x_suffix;
}/*--*/
T0*oBC30tmp_file_read=(void*)0;

/*SYSTEM_TOOLS*/T0*r113path_h(T113*C){
T0* R=(void*)0;
R=ms29_0Abc113B;
if(((/*RF2:count*/(((T7*)R))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
/*RF3:fill_path*/r113fill_path(C,R,ms30_334Abc30A);
/*:RF3*/}
return R;
}/*--*/
T0*oBC17io=(void*)0;
T0*oBC30install_memory=(void*)0;

/*SYSTEM_TOOLS*/void r113bad_use_exit(T113*C,T0*a1,T0*a2){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),se_string(20,s113_1832417772A));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),/*`command_name'*/a1);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),se_string(3,s113_1215A));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),/*`command_line_help_summary'*/a2);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),((T3)'\n'));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),se_string(54,s113_481365653A));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),se_string(47,s113_1852458447A));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),/*`command_name'*/a1);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),((T3)'\n'));
/*:RF3*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}/*--*/
T0*oBC113system_list=(void*)0;
int fBC113system_list=0;

/*SYSTEM_TOOLS*/T0*r113system_list(void){
if(fBC113system_list==0){fBC113system_list=1;{
oBC113system_list=se_manifest_args906(se_manifest906(4),0,4,
ms115_13028Abc115A,
ms115_1772235Abc115A,
ms115_301485Abc115A,
ms115_2178Abc115A);
}}
return oBC113system_list;
}/*--*/

/*SYSTEM_TOOLS*/void r113verify_system_name(T113*C){
T2 _i=0;
_i=/*RF4:first_index_of*/r906first_index_of((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/),(/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/))/*:RF4*/;
if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/))->_upper/*niii*//*:RF2*/))/*:RF8*/){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms113_179868158Abc113A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),(/*RF2:path*/(((T99*)oBC30tmp_file_read))->_path/*pnpiiippc*//*:RF2*/));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms113_373286592Abc113A);
/*:RF3*/_i=((/*UT*/(void)((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/))),/*RF1:lower*/INT32_C(0))/*:RF1*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),((T3)'\n'));
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}
else{
/*RF3:set_system_name*/r113set_system_name(C,/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/);
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms113_1102814319Abc113A);
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),(/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/));
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms113_440518794Abc113A);
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),(/*RF2:system_flavor*/(C)->_system_flavor/*11pippi*//*:RF2*/));
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r113echo()/*:RF6*/),ms126_1090Abc113A);
/*:RF3*/}
}/*--*/
int fBC113set_config=0;

/*SYSTEM_TOOLS*/void r113set_config(T113*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
int _rcf=0/*empty expanded*/;
T0*_s=(void*)0;
if(fBC113set_config==0){fBC113set_config=1;{
/*SFN*/(C->_config/*11pippi*/)=/*RF6:config*/r556config((T0*)C)/*:RF6*/;
if(((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/))!=((void*)((void*)0))){
if((/*RF4:is_install*/r113is_install()/*:RF4*/)==(0)){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->id)){
case 806:
tmp0/*bin*/=/*RF4:bin*/r806bin(((T806*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))/*:RF4*/;
break;
case 807:
tmp0/*bin*/=(/*RF2:bin*/(((T807*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->_bin/*T10pi*//*:RF2*/);
break;
default:;
tmp0/*bin*/=(void*)0;
}
/*inspect]*/
/*SFN*/(C->_bin_directory/*11pippi*/)=tmp0/*bin*/;
if(((/*RF2:bin_directory*/(C)->_bin_directory/*11pippi*//*:RF2*/))==((void*)((void*)0))){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms113_150382995Abc113A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/));
/*:RF3*/}
else{
/*RF3:environment_variable_substitution*/r113environment_variable_substitution(C,(void*)0,(/*RF2:bin_directory*/(C)->_bin_directory/*11pippi*//*:RF2*/));
/*:RF3*/}
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->id)){
case 806:
/*auto-unlock tmp0*/tmp0/*sys*/=/*RF4:sys*/r806sys(((T806*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))/*:RF4*/;
break;
case 807:
tmp0/*sys*/=(/*RF2:sys*/(((T807*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->_sys/*T10pi*//*:RF2*/);
break;
default:;
tmp0/*sys*/=(void*)0;
}
/*inspect]*/
/*SFN*/(C->_sys_directory/*11pippi*/)=tmp0/*sys*/;
if(((/*RF2:sys_directory*/(C)->_sys_directory/*11pippi*//*:RF2*/))==((void*)((void*)0))){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms113_703496930Abc113A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/));
/*:RF3*/}
else{
/*RF3:environment_variable_substitution*/r113environment_variable_substitution(C,(void*)0,(/*RF2:sys_directory*/(C)->_sys_directory/*11pippi*//*:RF2*/));
/*:RF3*/}
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->id)){
case 806:
/*auto-unlock tmp0*/tmp0/*short*/=/*RF4:short*/r806short(((T806*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))/*:RF4*/;
break;
case 807:
tmp0/*short*/=(/*RF2:short*/(((T807*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->_short/*T10pi*//*:RF2*/);
break;
default:;
tmp0/*short*/=(void*)0;
}
/*inspect]*/
/*SFN*/(C->_short_directory/*11pippi*/)=tmp0/*short*/;
if(((/*RF2:short_directory*/(C)->_short_directory/*11pippi*//*:RF2*/))==((void*)((void*)0))){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms113_1964046235Abc113A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/));
/*:RF3*/}
else{
/*RF3:environment_variable_substitution*/r113environment_variable_substitution(C,(void*)0,(/*RF2:short_directory*/(C)->_short_directory/*11pippi*//*:RF2*/));
/*:RF3*/}
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->id)){
case 806:
/*auto-unlock tmp0*/tmp0/*os*/=/*RF4:os*/r806os(((T806*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))/*:RF4*/;
break;
case 807:
tmp0/*os*/=(/*RF2:os*/(((T807*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->_os/*T10pi*//*:RF2*/);
break;
default:;
tmp0/*os*/=(/*RF2:os*/(((T808*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->_os/*T2pi*//*:RF2*/);
}
/*inspect]*/
_s=tmp0/*os*/;
if((_s)==((void*)((void*)0))){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms113_165012750Abc113A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/));
/*:RF3*/}
else{
if((/*RF4:has*/r906has((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/),_s)/*:RF4*/)==(0)){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms113_1192507148Abc113A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),_s);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms113_1087245292Abc113A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/));
/*:RF3*/}
_s=/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/))->_storage/*niii*//*:RF2*/))[/*RF4:first_index_of*/r906first_index_of((T906*)(/*RF6:system_list*/r113system_list()/*:RF6*/),_s)/*:RF4*/]/*:RF8*/;
/*RF3:set_system_name*/r113set_system_name(C,_s);
/*:RF3*/}
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->id)){
case 806:
/*auto-unlock tmp0*/tmp0/*flavor*/=/*RF4:flavor*/r806flavor(((T806*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))/*:RF4*/;
break;
case 807:
tmp0/*flavor*/=(/*RF2:flavor*/(((T807*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->_flavor/*T10pi*//*:RF2*/);
break;
default:;
tmp0/*flavor*/=(/*RF2:flavor*/(((T808*)(/*RF2:config*/(C)->_config/*11pippi*//*:RF2*/)))->_flavor/*T2pi*//*:RF2*/);
}
/*inspect]*/
(/*RF2:system_flavor*/(C)->_system_flavor/*11pippi*//*:RF2*/)=tmp0/*flavor*/;
if(((/*RF2:system_flavor*/(C)->_system_flavor/*11pippi*//*:RF2*/))==((void*)((void*)0))){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms113_631091213Abc113A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/));
/*:RF3*/}
if((/*RF4:nb_errors*/r113nb_errors()/*:RF4*/)!=(INT8_C(0))){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms113_62728285Abc113A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r113error_handler()/*:RF6*/));
/*:RF3*/}
/*RF3:verify_system_name*/r113verify_system_name(C);
/*:RF3*/}
/*RF5:include_config_loadpaths*/r113include_config_loadpaths(C);
/*:RF5*/}
}}}/*--*/

/*SYSTEM_TOOLS*/void r113set_system_name(T113*C,T0*a1){
/*SFN*/(C->_system_name/*11pippi*/)=/*`name'*/a1;
/*SFN*/(C->_is_win_like/*11pippi*/)=(void*)0;
/*SFN*/(C->_is_unix_like/*11pippi*/)=(void*)0;
}/*--*/
T0*oBC30error_handler=(void*)0;
int fBC30error_handler=0;

/*SYSTEM_TOOLS*/T0*r113error_handler(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30error_handler==0){fBC30error_handler=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T293/*3piipp*/))));
*((T293*)tmp0/*new*/)=M293;
/*RF3:default_create*/r293default_create(((T293*)tmp0/*new*/));
/*:RF3*/oBC30error_handler=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30error_handler;
}/*--*/

/*SYSTEM_TOOLS*/void r113append_command_path_to(T113*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T548 _bd={(void*)0,(void*)0};
T0*_tmp_file=(void*)0;
_tmp_file=ms113_120239233Abc113A;
/*RF3:copy*/r7copy(((T7*)_tmp_file),/*`command_name'*/a2);
/*:RF3*//*RF3:append*/r7append(((T7*)_tmp_file),/*RF6:x_suffix*/r113x_suffix(C)/*:RF6*/);
/*:RF3*//*RF3:compute_file_path_with*/r548compute_file_path_with((/*RF2:bin_directory*/(C)->_bin_directory/*11pippi*//*:RF2*/),_tmp_file);
/*:RF3*/tmp0/*or else*/=((T6)(((/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/))==((void*)(ms115_1772235Abc115A))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(((/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/))==((void*)(ms115_301485Abc115A))));
}
if(tmp0/*or else*/){
/*RF3:extend*/r7extend(((T7*)/*`command'*/a1),((T3)'\042'));
/*:RF3*//*RF3:append*/r7append(((T7*)/*`command'*/a1),/*RF6:last_entry*/r548last_entry()/*:RF6*/);
/*:RF3*//*RF3:extend*/r7extend(((T7*)/*`command'*/a1),((T3)'\042'));
/*:RF3*/}
else{
/*RF3:append*/r7append(((T7*)/*`command'*/a1),/*RF6:last_entry*/r548last_entry()/*:RF6*/);
/*:RF3*/}
}/*--*/

/*SYSTEM_TOOLS*/void r113add_config_loadpath_file(T113*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(((/*RF2:config_loadpath_files*/(C)->_config_loadpath_files/*11pippi*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:with_capacity*/r906with_capacity(((T906*)tmp0/*new*/),INT32_C(4));
/*:RF3*//*SFN*/(C->_config_loadpath_files/*11pippi*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:with_capacity*/r906with_capacity(((T906*)tmp0/*new*/),INT32_C(4));
/*:RF3*//*SFN*/(C->_config_loadpath_names/*11pippi*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
/*RF3:add_last*/r906add_last((T906*)((/*RF2:config_loadpath_files*/(C)->_config_loadpath_files/*11pippi*//*:RF2*/)),/*`loadpath_file'*/a1);
/*:RF3*//*RF3:add_last*/r906add_last((T906*)((/*RF2:config_loadpath_names*/(C)->_config_loadpath_names/*11pippi*//*:RF2*/)),/*`loadpath_name'*/a2);
/*:RF3*/}/*--*/

/*SYSTEM_TOOLS*/void r113set_automatic_system_name(T113*C){
if(((/*RF2:system_name*/(C)->_system_name/*11pippi*//*:RF2*/))==((void*)((void*)0))){
if((/*RF4:system_notation*/r548system_notation()/*:RF4*/)!=((void*)((void*)0))){
if(/*RF4:unix_notation*/r548unix_notation()/*:RF4*/){
/*RF3:set_system_name*/r113set_system_name(C,ms115_13028Abc115A);
/*:RF3*/}
else{
if(/*RF4:cygwin_notation*/r548cygwin_notation()/*:RF4*/){
/*RF3:set_system_name*/r113set_system_name(C,ms115_301485Abc115A);
/*:RF3*/}
else{
if(/*RF4:windows_notation*/r548windows_notation()/*:RF4*/){
/*RF3:set_system_name*/r113set_system_name(C,ms115_1772235Abc115A);
/*:RF3*/}
}
}
}
}
if(((/*RF2:system_flavor*/(C)->_system_flavor/*11pippi*//*:RF2*/))==((void*)((void*)0))){
(/*RF2:system_flavor*/(C)->_system_flavor/*11pippi*//*:RF2*/)=ms113_2009849Abc113A;
}
/*RF3:put_string*/r78put_string(((T78*)oBC17io),ms113_422320405Abc113A);
/*:RF3*/}/*--*/

/*SYSTEM*/T0*r303get_environment_variable(T0*a1){
T0* R=(void*)0;
R=ms29_0Abc303A;
if((/*RF4:get_environment_variable_in*/r303get_environment_variable_in(/*`variable'*/a1,R)/*:RF4*/)==(0)){
R=(void*)0;
}
return R;
}/*--*/

/*SYSTEM*/void r303set_environment_variable(T0*a1,T0*a2){
/*RF7:basic_putenv*/basic_putenv(/*RF4:to_external*/r7to_external(((T7*)/*`variable'*/a1))/*:RF4*/,/*RF4:to_external*/r7to_external(((T7*)/*`value'*/a2))/*:RF4*/);
/*:RF7*/}/*--*/

/*SYSTEM*/T6 r303get_environment_variable_in(T0*a1,T0*a2){
T6 R=0;
T8 _p=(void*)0;
T8 _null=(void*)0;
_p=/*RF4:to_external*/r7to_external(((T7*)/*`variable'*/a1))/*:RF4*/;
_p=/*RF8:basic_getenv*/basic_getenv(_p)/*:RF8*/;
if((_p)!=(_null)){
/*RF3:from_external_copy*/r7from_external_copy(((T7*)/*`value'*/a2),_p);
/*:RF3*/R=((T6)(1));
}
return R;
}/*--*/

/*SYSTEM*/T2 r303execute_command(T0*a1){
T2 R=0;
T0*_s=(void*)0;
T8 _p=(void*)0;
if(can_assign_to7_from40((T0*)(/*`system_command_line'*/a1))){
_s=/*`system_command_line'*/a1;
}
else{
_s=ms29_0Abc303B;
/*RF3:make_from_string*/r7make_from_string(((T7*)_s),/*`system_command_line'*/a1);
/*:RF3*/}
_p=/*RF4:to_external*/r7to_external(((T7*)_s))/*:RF4*/;
R=/*RF8:basic_system*/basic_system(_p)/*:RF8*/;
return R;
}/*--*/

/*SMART_EIFFEL*/T0*r111command_arguments(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T0*_arg=(void*)0;
if(fBC34command_arguments==0){fBC34command_arguments=1;{
_i=INT32_C(0);
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:make*/r906make(((T906*)tmp0/*new*/),/*RF8:se_argc*/se_argc/*:RF8*/);
/*:RF3*/oBC34command_arguments=tmp0/*new*/;
/*tmp0.unlock*/
while(1){
/*until*/if(/*RF8:>=*/((int32_t)(_i))>=(/*RF8:se_argc*/se_argc/*:RF8*/)/*:RF8*/) break;
_arg=/*RF8:se_argv*/((T0*)se_string(strlen(se_argv[_i]), se_argv[_i]))/*:RF8*/;
/*RF3:put*/r906put(((T906*)oBC34command_arguments),_arg,_i);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}}
return oBC34command_arguments;
}/*--*/

/*SMART_EIFFEL*/T0*r111cluster_of(T0*a1){
T0* R=(void*)0;
R=/*RF4:cluster_of*/r283cluster_of(/*`class_name'*/a1,(void*)0)/*:RF4*/;
return R;
}/*--*/

/*SMART_EIFFEL*/T0*r111cluster_named(T0*a1){
T0* R=(void*)0;
R=/*RF4:cluster_named*/r710cluster_named((T710*)(/*RF6:universe*/r283universe()/*:RF6*/),/*`cluster_name'*/a1)/*:RF4*/;
return R;
}/*--*/
T0*oBC111copyright=(void*)0;
int fBC111copyright=0;

/*SMART_EIFFEL*/T0*r111copyright(T111*C){
if(fBC111copyright==0){fBC111copyright=1;{
oBC111copyright=/*RF4:#*/r7_ix_35(((T7*)se_string(261,s111_498062040A)),/*RF6:_P_112_copyright*/r111_P_112_copyright()/*:RF6*/)/*:RF4*/;
}}
return oBC111copyright;
}/*--*/

/*SMART_EIFFEL*/T0*r111std_output(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17std_output==0){fBC17std_output=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T69/*Tpnii*/))));
*((T69*)tmp0/*new*/)=M69;
/*RF3:make*/r69make(((T69*)tmp0/*new*/));
/*:RF3*/oBC17std_output=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17std_output;
}/*--*/

/*SMART_EIFFEL*/T0*r111command_name(void){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/((T906*)(/*RF6:command_arguments*/r111command_arguments()/*:RF6*/))->_storage/*niii*//*:RF2*/))[INT32_C(0)]/*:RF8*/;
return R;
}/*--*/

/*SMART_EIFFEL*/void r111print_version(T111*C){
int _sys=0/*empty expanded*/;
T548 _bd={(void*)0,(void*)0};
if((/*RF4:get_environment_variable*/r303get_environment_variable(se_string(26,s29_546635553A))/*:RF4*/)!=((void*)((void*)0))){
/*RF3:put_line*/r69put_line((T69*)(/*RF6:std_output*/r111std_output()/*:RF6*/),/*RF6:short_copyright*/r111short_copyright()/*:RF6*/);
/*:RF3*/}
else{
/*RF5:ensure_system_notation*/r548ensure_system_notation();
/*:RF5*//*RF3:compute_short_name_of*/r548compute_short_name_of(/*RF4:command_name*/r111command_name()/*:RF4*/);
/*:RF3*//*RF3:put_line*/r69put_line((T69*)(/*RF6:std_output*/r111std_output()/*:RF6*/),/*RF4:#*/r7_ix_35(((T7*)se_string(29,s112_1461366457A)),/*RF6:last_entry*/r548last_entry()/*:RF6*/)/*:RF4*/);
/*:RF3*//*RF3:put_line*/r69put_line((T69*)(/*RF6:std_output*/r111std_output()/*:RF6*/),/*RF6:copyright*/r111copyright(C)/*:RF6*/);
/*:RF3*/}
}/*--*/
T0*oBC112short_copyright=(void*)0;
int fBC112short_copyright=0;

/*SMART_EIFFEL*/T0*r111short_copyright(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T0* tmp1;
/*INTERNAL_C_LOCAL list]*/
if(fBC112short_copyright==0){fBC112short_copyright=1;{
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:#*/r7_ix_35(((T7*)se_string(15,s112_1359484467A)),ms111_24235875Abc111A)/*:RF4*/))))->id)){
case 7:
tmp1/*#*/=/*RF4:#*/r7_ix_35(((T7*)tmp0/*ddt1*/),ms111_416839935Abc111A)/*:RF4*/;
break;
case 311:
tmp1/*#*/=/*RF4:#*/r311_ix_35(((T311*)tmp0/*ddt1*/),ms111_416839935Abc111A)/*:RF4*/;
break;
default:;
tmp1/*#*/=/*RF4:#*/r321_ix_35(((T321*)tmp0/*ddt1*/),ms111_416839935Abc111A)/*:RF4*/;
}
/*inspect]*/
/*tmp0.unlock*/
oBC112short_copyright=tmp1/*#*/;
}}
return oBC112short_copyright;
}/*--*/
T0*oBC112copyright=(void*)0;
int fBC112copyright=0;

/*SMART_EIFFEL*/T0*r111_P_112_copyright(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T0* tmp1;
/*INTERNAL_C_LOCAL list]*/
if(fBC112copyright==0){fBC112copyright=1;{
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:#*/r7_ix_35(((T7*)se_string(147,s112_2107398012A)),ms112_45398669Abc112A)/*:RF4*/))))->id)){
case 7:
tmp1/*#*/=/*RF4:#*/r7_ix_35(((T7*)tmp0/*ddt1*/),ms111_24235875Abc111A)/*:RF4*/;
break;
case 311:
tmp1/*#*/=/*RF4:#*/r311_ix_35(((T311*)tmp0/*ddt1*/),ms111_24235875Abc111A)/*:RF4*/;
break;
default:;
tmp1/*#*/=/*RF4:#*/r321_ix_35(((T321*)tmp0/*ddt1*/),ms111_24235875Abc111A)/*:RF4*/;
}
/*inspect]*/
/*tmp0.unlock*/
/*[inspectDynamicDispatch*/
switch((((T0*)(tmp1/*#*/))->id)){
case 7:
/*reusing tmp0*/tmp0/*#*/=/*RF4:#*/r7_ix_35(((T7*)tmp1/*#*/),ms111_416839935Abc111A)/*:RF4*/;
break;
case 311:
tmp0/*#*/=/*RF4:#*/r311_ix_35(((T311*)tmp1/*#*/),ms111_416839935Abc111A)/*:RF4*/;
break;
default:;
tmp0/*#*/=/*RF4:#*/r321_ix_35(((T321*)tmp1/*#*/),ms111_416839935Abc111A)/*:RF4*/;
}
/*inspect]*/
oBC112copyright=tmp0/*#*/;
}}
return oBC112copyright;
}/*--*/
T0*oBC294tfr1=(void*)0;

/*FILE_TOOLS*/T6 r294is_readable(T0*a1){
T6 R=0;
T548 _bd={(void*)0,(void*)0};
if(/*RF4:is_directory*/r294is_directory(/*`path'*/a1)/*:RF4*/){
/*RF3:connect_to*/r548connect_to(&_bd,/*`path'*/a1);
/*:RF3*/if(/*RF8:is_not_null*/(NULL!=(/*RF2:directory_stream*/(_bd)._directory_stream/*pp*//*:RF2*/))/*:RF8*/){
R=((T6)(1));
/*RF3:disconnect*/r548disconnect(&_bd);
/*:RF3*/}
}
else{
/*RF3:connect_to*/r99connect_to(((T99*)oBC294tfr1),/*`path'*/a1);
/*:RF3*/if(((/*RF2:path*/(((T99*)oBC294tfr1))->_path/*pnpiiippc*//*:RF2*/))!=((void*)((void*)0))){
R=((T6)(1));
/*RF3:disconnect*/r99disconnect(((T99*)oBC294tfr1));
/*:RF3*/}
}
return R;
}/*--*/

/*FILE_TOOLS*/T6 r294file_exists(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T8 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
tmp0/*to_external*/=/*RF4:to_external*/r7to_external(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*to_external*/=/*RF4:to_external*/r311to_external(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*to_external*/=/*RF4:to_external*/r7to_external((T7*)(/*RF4:memory*/r321memory(((T321*)/*`path'*/a1))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
R=((T6)(/*RF8:io_file_exists*/io_file_exists(tmp0/*to_external*/)/*:RF8*/));
return R;
}/*--*/

/*FILE_TOOLS*/void r294delete(T294*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T8 tmp0;
/*INTERNAL_C_LOCAL list]*/
T8 _p=(void*)0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
tmp0/*to_external*/=/*RF4:to_external*/r7to_external(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*to_external*/=/*RF4:to_external*/r311to_external(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*to_external*/=/*RF4:to_external*/r7to_external((T7*)(/*RF4:memory*/r321memory(((T321*)/*`path'*/a1))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
_p=tmp0/*to_external*/;
/*SFN*/(C->_last_delete_succeeded/*p*/)=((T6)(/*RF8:io_remove*/io_remove(_p)/*:RF8*/));
}/*--*/

/*FILE_TOOLS*/T6 r294is_empty(T0*a1){
T6 R=0;
/*RF3:connect_to*/r99connect_to(((T99*)oBC294tfr1),/*`path'*/a1);
/*:RF3*/if(((/*RF2:path*/(((T99*)oBC294tfr1))->_path/*pnpiiippc*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:filtered_read_character*/r99filtered_read_character(((T99*)oBC294tfr1));
/*:RF3*/R=((T6)((/*RF2:end_of_input*/(((T99*)oBC294tfr1))->_end_of_input/*pnpiiippc*//*:RF2*/)));
/*RF3:disconnect*/r99disconnect(((T99*)oBC294tfr1));
/*:RF3*/}
return R;
}/*--*/

/*FILE_TOOLS*/T6 r294is_directory(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T8 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
tmp0/*to_external*/=/*RF4:to_external*/r7to_external(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*to_external*/=/*RF4:to_external*/r311to_external(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*to_external*/=/*RF4:to_external*/r7to_external((T7*)(/*RF4:memory*/r321memory(((T321*)/*`path'*/a1))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
R=((T6)(/*RF8:fstat_st_is_dir*/fstat_st_is_dir(tmp0/*to_external*/)/*:RF8*/));
return R;
}/*--*/

/*STD_OUTPUT*/void r69put_line(T69*C,T0*a1){
/*RF3:put_string*/r69put_string(C,/*`s'*/a1);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character(C,((T3)'\n'));
/*:RF3*/}/*--*/

/*STD_OUTPUT*/void r69make(T69*C){
/*SFN*/(C->_buffer/*Tpnii*/)=/*RF8:calloc*/se_calloc(INT32_C(4096),sizeof(T3/*c*/))/*:RF8*/;
/*SFN*/(C->_capacity/*Tpnii*/)=INT32_C(4096);
}/*--*/

/*STD_OUTPUT*/void r69filtered_put_character(T69*C,T3 a1){
if(/*RF8:>=*/((int32_t)((/*RF2:buffer_position*/(C)->_buffer_position/*Tpnii*//*:RF2*/)))>=(INT32_C(4096))/*:RF8*/){
/*RF3:write_buffer*/r69write_buffer(C);
/*:RF3*/}
/*RF7:put*/((/*RF2:buffer*/(C)->_buffer/*Tpnii*//*:RF2*/))[(/*RF2:buffer_position*/(C)->_buffer_position/*Tpnii*//*:RF2*/)]=(/*`c'*/a1);
/*:RF7*//*SFN*/(C->_buffer_position/*Tpnii*/)=/*RF8:+*/((int32_t)((/*RF2:buffer_position*/(C)->_buffer_position/*Tpnii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
if((/*`c'*/a1)==(((T3)'\n'))){
/*RF3:write_buffer*/r69write_buffer(C);
/*:RF3*/}
}/*--*/

/*STD_OUTPUT*/void r69put_natively_stored_string(T69*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T9 tmp0;
T2 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _unused_result=0;
T0*_fs=(void*)0;
/*RF3:write_buffer*/r69write_buffer(C);
/*:RF3*/if(can_assign_to311_from39((T0*)(/*`s'*/a1))){
_fs=/*`s'*/a1;
if(/*RF4:is_shared*/r311is_shared(((T311*)_fs))/*:RF4*/){
/*RF3:unshare*/r311unshare(((T311*)_fs));
/*:RF3*/}
}
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*storage*/=(/*RF2:storage*/(((T7*)/*`s'*/a1))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp0/*storage*/=(/*RF2:storage*/(((T311*)/*`s'*/a1))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp1/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp1/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
_unused_result=/*RF8:io_fwrite*/io_fwrite(tmp0/*storage*/,tmp1/*count*/,/*NVND*/(stdout))/*:RF8*/;
}/*--*/

/*STD_OUTPUT*/T0*r69std_output(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17std_output==0){fBC17std_output=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T69/*Tpnii*/))));
*((T69*)tmp0/*new*/)=M69;
/*RF3:make*/r69make(((T69*)tmp0/*new*/));
/*:RF3*/oBC17std_output=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17std_output;
}/*--*/

/*STD_OUTPUT*/void r69flush(T69*C){
/*RF3:filtered_flush*/r69filtered_flush(C);
/*:RF3*/}/*--*/

/*STD_OUTPUT*/void r69put_string(T69*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
/*RF3:print_on*/r7print_on(((T7*)/*`s'*/a1),/*RF4:as_output_stream*/r69as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
case 311:
/*RF3:print_on*/r311print_on(((T311*)/*`s'*/a1),/*RF4:as_output_stream*/r69as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
default:;
/*RF3:print_on*/r321print_on(((T321*)/*`s'*/a1),/*RF4:as_output_stream*/r69as_output_stream(C)/*:RF4*/);
/*:RF3*/}
/*inspect]*/
}/*--*/
T0*oBC72tmp_string=(void*)0;
int fBC72tmp_string=0;

/*STD_OUTPUT*/T0*r69tmp_string(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC72tmp_string==0){fBC72tmp_string=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(512));
/*:RF3*/oBC72tmp_string=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC72tmp_string;
}/*--*/

/*STD_OUTPUT*/void r69put_integer(T69*C,T11 a1){
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:tmp_string*/r69tmp_string()/*:RF6*/));
/*:RF3*//*RF3:append_in*/r11append_in(/*`i'*/a1,/*RF6:tmp_string*/r69tmp_string()/*:RF6*/);
/*:RF3*//*RF3:put_string*/r69put_string(C,/*RF6:tmp_string*/r69tmp_string()/*:RF6*/);
/*:RF3*/}/*--*/

/*STD_OUTPUT*/void r69se_atexit(void){
int _at_exit_actions=0/*empty expanded*/;
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r69std_output()/*:RF6*/));
/*:RF3*//*RF3:run*/r80run();
/*:RF3*/}/*--*/

/*STD_OUTPUT*/void r69filtered_flush(T69*C){
if(/*RF8:>*/((int32_t)((/*RF2:buffer_position*/(C)->_buffer_position/*Tpnii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
/*RF3:write_buffer*/r69write_buffer(C);
/*:RF3*/}
/*RF7:io_flush*/io_flush(/*NVND*/(stdout));
/*:RF7*/}/*--*/

/*STD_OUTPUT*/void r69put_abstract_string(T69*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T3 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _count=0;
_i=INT32_C(1);
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
_count=tmp0/*count*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(_count)/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp1/*item*/=/*RF4:item*/r7item(((T7*)/*`s'*/a1),_i)/*:RF4*/;
break;
case 311:
tmp1/*item*/=/*RF4:item*/r311item(((T311*)/*`s'*/a1),_i)/*:RF4*/;
break;
default:;
tmp1/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`s'*/a1))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
/*RF3:filtered_put_character*/r69filtered_put_character(C,tmp1/*item*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*STD_OUTPUT*/T0*r69as_output_stream(T69*C){
T0* R=(void*)0;
R=((T0*)(C));
return R;
}/*--*/

/*STD_OUTPUT*/void r69write_buffer(T69*C){
T2 _unused_result=0;
if(/*RF8:>*/((int32_t)((/*RF2:buffer_position*/(C)->_buffer_position/*Tpnii*//*:RF2*/)))>(INT32_C(0))/*:RF8*/){
_unused_result=/*RF8:io_fwrite*/io_fwrite((/*RF2:buffer*/(C)->_buffer/*Tpnii*//*:RF2*/),(/*RF2:buffer_position*/(C)->_buffer_position/*Tpnii*//*:RF2*/),/*NVND*/(stdout))/*:RF8*/;
/*SFN*/(C->_buffer_position/*Tpnii*/)=INT32_C(0);
}
}/*--*/

/*SE_C_MODE*/void r302make(T302*C,T0*a1,T0*a2,T0*a3,T0*a4,T0*a5,T0*a6,T0*a7,T0*a8,T0*a9,T0*a10,T0*a11,T0*a12,T0*a13){
/*SFN*/(C->_c_compiler/*13p*/)=/*`a_c_compiler'*/a1;
/*SFN*/(C->_c_compiler_path/*13p*/)=/*`a_c_compiler_path'*/a2;
/*SFN*/(C->_c_linker_path/*13p*/)=/*`a_c_linker_path'*/a3;
/*SFN*/(C->_c_strip_path/*13p*/)=/*`a_c_strip_path'*/a4;
/*SFN*/(C->_c_compiler_options/*13p*/)=/*`a_c_compiler_options'*/a5;
/*SFN*/(C->_c_linker_options/*13p*/)=/*`a_c_linker_options'*/a6;
/*SFN*/(C->_cpp_compiler/*13p*/)=/*`a_cpp_compiler'*/a7;
/*SFN*/(C->_cpp_compiler_path/*13p*/)=/*`a_cpp_compiler_path'*/a8;
/*SFN*/(C->_cpp_linker_path/*13p*/)=/*`a_cpp_linker_path'*/a9;
/*SFN*/(C->_cpp_strip_path/*13p*/)=/*`a_cpp_strip_path'*/a10;
/*SFN*/(C->_cpp_compiler_options/*13p*/)=/*`a_cpp_compiler_options'*/a11;
/*SFN*/(C->_cpp_linker_options/*13p*/)=/*`a_cpp_linker_options'*/a12;
/*SFN*/(C->_smarteiffel_options/*13p*/)=/*`a_smarteiffel_options'*/a13;
}/*--*/

/*NULL_OUTPUT_STREAM*/void r664put_string(T664*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
/*RF3:print_on*/r7print_on(((T7*)/*`s'*/a1),/*RF4:as_output_stream*/r664as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
case 311:
/*RF3:print_on*/r311print_on(((T311*)/*`s'*/a1),/*RF4:as_output_stream*/r664as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
default:;
/*RF3:print_on*/r321print_on(((T321*)/*`s'*/a1),/*RF4:as_output_stream*/r664as_output_stream(C)/*:RF4*/);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*NULL_OUTPUT_STREAM*/T0*r664tmp_string(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC72tmp_string==0){fBC72tmp_string=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(512));
/*:RF3*/oBC72tmp_string=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC72tmp_string;
}/*--*/

/*NULL_OUTPUT_STREAM*/void r664put_integer(T664*C,T11 a1){
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:tmp_string*/r664tmp_string()/*:RF6*/));
/*:RF3*//*RF3:append_in*/r11append_in(/*`i'*/a1,/*RF6:tmp_string*/r664tmp_string()/*:RF6*/);
/*:RF3*//*RF3:put_string*/r664put_string(C,/*RF6:tmp_string*/r664tmp_string()/*:RF6*/);
/*:RF3*/}/*--*/

/*NULL_OUTPUT_STREAM*/void r664put_abstract_string(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _count=0;
_i=INT32_C(1);
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
_count=tmp0/*count*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(_count)/*:RF8*/) break;
/*UNUSED_EXPRESSION:*/(void)(/*RF9:item*/'\0'/*:RF9*/);
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*NULL_OUTPUT_STREAM*/T0*r664as_output_stream(T664*C){
T0* R=(void*)0;
R=((T0*)(C));
return R;
}/*--*/

/*STD_ERROR*/void r81put_line(T81*C,T0*a1){
/*RF3:put_string*/r81put_string(C,/*`s'*/a1);
/*:RF3*//*RF7:io_putc*/io_putc(((T3)'\n'),/*NVND*/(stderr));
/*:RF7*/}/*--*/

/*STD_ERROR*/void r81put_natively_stored_string(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T9 tmp0;
T2 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _unused_result=0;
T0*_fs=(void*)0;
if(can_assign_to311_from39((T0*)(/*`s'*/a1))){
_fs=/*`s'*/a1;
if(/*RF4:is_shared*/r311is_shared(((T311*)_fs))/*:RF4*/){
/*RF3:unshare*/r311unshare(((T311*)_fs));
/*:RF3*/}
}
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*storage*/=(/*RF2:storage*/(((T7*)/*`s'*/a1))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp0/*storage*/=(/*RF2:storage*/(((T311*)/*`s'*/a1))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp1/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp1/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
_unused_result=/*RF8:io_fwrite*/io_fwrite(tmp0/*storage*/,tmp1/*count*/,/*NVND*/(stderr))/*:RF8*/;
}/*--*/

/*STD_ERROR*/T0*r81std_output(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17std_output==0){fBC17std_output=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T69/*Tpnii*/))));
*((T69*)tmp0/*new*/)=M69;
/*RF3:make*/r69make(((T69*)tmp0/*new*/));
/*:RF3*/oBC17std_output=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17std_output;
}/*--*/

/*STD_ERROR*/void r81put_string(T81*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
/*RF3:print_on*/r7print_on(((T7*)/*`s'*/a1),/*RF4:as_output_stream*/r81as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
case 311:
/*RF3:print_on*/r311print_on(((T311*)/*`s'*/a1),/*RF4:as_output_stream*/r81as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
default:;
/*RF3:print_on*/r321print_on(((T321*)/*`s'*/a1),/*RF4:as_output_stream*/r81as_output_stream(C)/*:RF4*/);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*STD_ERROR*/T0*r81tmp_string(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC72tmp_string==0){fBC72tmp_string=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(512));
/*:RF3*/oBC72tmp_string=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC72tmp_string;
}/*--*/

/*STD_ERROR*/void r81put_integer(T81*C,T11 a1){
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:tmp_string*/r81tmp_string()/*:RF6*/));
/*:RF3*//*RF3:append_in*/r11append_in(/*`i'*/a1,/*RF6:tmp_string*/r81tmp_string()/*:RF6*/);
/*:RF3*//*RF3:put_string*/r81put_string(C,/*RF6:tmp_string*/r81tmp_string()/*:RF6*/);
/*:RF3*/}/*--*/

/*STD_ERROR*/void r81filtered_flush(void){
/*RF3:filtered_flush*/r69filtered_flush((T69*)(/*RF6:std_output*/r81std_output()/*:RF6*/));
/*:RF3*//*RF7:io_flush*/io_flush(/*NVND*/(stderr));
/*:RF7*/}/*--*/

/*STD_ERROR*/void r81put_abstract_string(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T3 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _count=0;
_i=INT32_C(1);
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
_count=tmp0/*count*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(_count)/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp1/*item*/=/*RF4:item*/r7item(((T7*)/*`s'*/a1),_i)/*:RF4*/;
break;
case 311:
tmp1/*item*/=/*RF4:item*/r311item(((T311*)/*`s'*/a1),_i)/*:RF4*/;
break;
default:;
tmp1/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`s'*/a1))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
/*RF7:io_putc*/io_putc(tmp1/*item*/,/*NVND*/(stderr));
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*STD_ERROR*/T0*r81as_output_stream(T81*C){
T0* R=(void*)0;
R=((T0*)(C));
return R;
}/*--*/

/*SERC_FACTORY*/void r556add_to_chain(T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T548 _basic_directory={(void*)0,(void*)0};
T0*_serc=(void*)0;
T0*_subchain=(void*)0;
T0*_entries=(void*)0;
int _sorter=0/*empty expanded*/;
T2 _i=0;
T0*_s=(void*)0;
/*RF3:connect_to*/r548connect_to(&_basic_directory,/*`rc'*/a2);
/*:RF3*/if(/*RF8:is_not_null*/(NULL!=(/*RF2:directory_stream*/(_basic_directory)._directory_stream/*pp*//*:RF2*/))/*:RF8*/){
/*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r556echo()/*:RF6*/),/*`indent'*/a3);
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r556echo()/*:RF6*/),ms556_242Abc556A);
/*:RF3*//*RF3:put_line*/r126put_line((T126*)(/*RF6:echo*/r556echo()/*:RF6*/),/*`rc'*/a2);
/*:RF3*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:make*/r906make(((T906*)tmp0/*new*/),INT32_C(0));
/*:RF3*/_entries=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:read_entry*/r548read_entry(&_basic_directory);
/*:RF3*/while(1){
/*until*/if((/*RF8:is_not_null*/(NULL!=(/*RF2:current_entry*/(_basic_directory)._current_entry/*pp*//*:RF2*/))/*:RF8*/)==(0)) break;
_s=ms29_0Abc556A;
/*RF3:copy*/r7copy(((T7*)_s),/*RF6:last_entry*/r548last_entry()/*:RF6*/);
/*:RF3*//*RF3:to_lower*/r7to_lower(((T7*)_s));
/*:RF3*/tmp1/*and then*/=((T6)(/*RF4:has_suffix*/r7has_suffix(((T7*)_s),ms556_1826Abc556A)/*:RF4*/));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)((/*RF4:first*/r7first(((T7*)_s))/*:RF4*/)!=(((T3)'\056'))));
}
if(tmp1/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`rc'*/a2))->id)){
case 7:
/*reusing tmp0*/tmp0/*out*/=/*RF4:out*/r7out(((T7*)/*`rc'*/a2))/*:RF4*/;
break;
case 311:
tmp0/*out*/=/*RF4:out*/r311out(((T311*)/*`rc'*/a2))/*:RF4*/;
break;
default:;
tmp0/*out*/=/*RF4:out*/r321out(((T321*)/*`rc'*/a2))/*:RF4*/;
}
/*inspect]*/
_s=tmp0/*out*/;
/*RF3:extend*/r7extend(((T7*)_s),((T3)'\057'));
/*:RF3*//*RF3:append*/r7append(((T7*)_s),/*RF6:last_entry*/r548last_entry()/*:RF6*/);
/*:RF3*//*RF3:add*/r918add(_entries,_s);
/*:RF3*/}
/*RF3:read_entry*/r548read_entry(&_basic_directory);
/*:RF3*/}
/*RF3:disconnect*/r548disconnect(&_basic_directory);
/*:RF3*//*auto-unlock tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T806/*Tp*/))));
*((T806*)tmp0/*new*/)=M806;
/*RF3:make*/r806make(((T806*)tmp0/*new*/));
/*:RF3*/_subchain=tmp0/*new*/;
/*tmp0.unlock*/
_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/(((T906*)_entries))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
/*RF3:add_to_chain*/r556add_to_chain(_subchain,/*RF8:item*/((/*RF2:storage*/(((T906*)_entries))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/,/*RF4:+*/r7_ix_43(((T7*)/*`indent'*/a3),se_string(4,s556_4992A))/*:RF4*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if((/*RF4:is_empty*/r948is_empty((T948*)((/*RF2:config*/(((T806*)_subchain))->_config/*Tp*//*:RF2*/)))/*:RF4*/)==(0)){
/*RF3:add_first*/r948add_first((T948*)((/*RF2:config*/(((T806*)/*`chain'*/a1))->_config/*Tp*//*:RF2*/)),_subchain);
/*:RF3*/}
}
else{
_s=ms29_0Abc556B;
/*RF3:make_from_string*/r7make_from_string(((T7*)_s),/*`rc'*/a2);
/*:RF3*//*RF3:load_file*/r123load_file((T123*)(/*RF6:parser_buffer*/r556parser_buffer()/*:RF6*/),_s);
/*:RF3*/if(((/*RF2:hashed_path*/((T123*)(/*RF6:parser_buffer*/r556parser_buffer()/*:RF6*/))->_hashed_path/*3pi*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r556echo()/*:RF6*/),/*`indent'*/a3);
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r556echo()/*:RF6*/),ms556_342Abc556A);
/*:RF3*//*RF3:put_line*/r126put_line((T126*)(/*RF6:echo*/r556echo()/*:RF6*/),/*`rc'*/a2);
/*:RF3*//*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T807/*T10pi*/))));
*((T807*)tmp0/*new*/)=M807;
/*RF3:make*/r807make(((T807*)tmp0/*new*/));
/*:RF3*/_serc=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add_first*/r948add_first((T948*)((/*RF2:config*/(((T806*)/*`chain'*/a1))->_config/*Tp*//*:RF2*/)),_serc);
/*:RF3*/}
}
}/*--*/
T0*oBC556config=(void*)0;
int fBC556config=0;

/*SERC_FACTORY*/T0*r556config(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T548 _basic_directory={(void*)0,(void*)0};
T0*_chain=(void*)0;
T0*_s=(void*)0;
T0*_def=(void*)0;
T294 _file_tools={0};
int _xdg=0/*empty expanded*/;
if(fBC556config==0){fBC556config=1;{
/*RF3:put_line*/r126put_line((T126*)(/*RF6:echo*/r556echo()/*:RF6*/),se_string(50,s556_1646495986A));
/*:RF3*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T806/*Tp*/))));
*((T806*)tmp0/*new*/)=M806;
/*RF3:make*/r806make(((T806*)tmp0/*new*/));
/*:RF3*/_chain=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T808/*T2pi*/))));
*((T808*)tmp0/*new*/)=M808;
/*RF3:make*/r808make(((T808*)tmp0/*new*/));
/*:RF3*/_def=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add_first*/r948add_first((T948*)((/*RF2:config*/(((T806*)_chain))->_config/*Tp*//*:RF2*/)),_def);
/*:RF3*//*RF5:ensure_system_notation*/r548ensure_system_notation();
/*:RF5*/tmp1/*or else*/=((T6)(/*RF4:unix_notation*/r548unix_notation()/*:RF4*/));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(/*RF4:cygwin_notation*/r548cygwin_notation()/*:RF4*/));
}
if(tmp1/*or else*/){
/*RF5:set_package*/r809set_package(se_string(14,s556_311952415A));
/*:RF5*/(/*RF2:os*/(((T808*)_def))->_os/*T2pi*//*:RF2*/)=ms115_13028Abc115A;
if(/*RF4:is_readable*/r294is_readable(se_string(10,s556_142089811A))/*:RF4*/){
(/*RF2:flavor*/(((T808*)_def))->_flavor/*T2pi*//*:RF2*/)=se_string(5,s556_64080A);
}
/*RF3:add_to_chain*/r556add_to_chain(_chain,se_string(9,s556_28418819A),se_string(4,s556_4992A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,se_string(23,s556_2003309199A),se_string(4,s556_4992A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,se_string(19,s556_165909873A),se_string(4,s556_4992A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,se_string(29,s556_1015749028A),se_string(4,s556_4992A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,/*RF6:config_home*/r809config_home(_xdg)/*:RF6*/,se_string(4,s556_4992A));
/*:RF3*/_s=/*RF6:home_env*/r556home_env()/*:RF6*/;
if((_s)!=((void*)((void*)0))){
/*RF3:append*/r7append(((T7*)_s),se_string(6,s556_193194A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,_s,se_string(4,s556_4992A));
/*:RF3*//*RF3:remove_suffix*/r7remove_suffix(((T7*)_s),se_string(6,s556_193194A));
/*:RF3*//*RF3:append*/r7append(((T7*)_s),se_string(16,s556_1707891936A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,_s,se_string(4,s556_4992A));
/*:RF3*/}
}
else{
if(/*RF4:windows_notation*/r548windows_notation()/*:RF4*/){
_s=/*RF6:userprofile_env*/r556userprofile_env()/*:RF6*/;
if((_s)!=((void*)((void*)0))){
/*RF3:append*/r7append(((T7*)_s),se_string(8,s556_8935346A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,_s,se_string(4,s556_4992A));
/*:RF3*//*RF3:remove_suffix*/r7remove_suffix(((T7*)_s),se_string(8,s556_8935346A));
/*:RF3*//*RF3:append*/r7append(((T7*)_s),se_string(13,s556_2100865945A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,_s,se_string(4,s556_4992A));
/*:RF3*//*RF3:remove_suffix*/r7remove_suffix(((T7*)_s),se_string(13,s556_2100865945A));
/*:RF3*//*RF3:append*/r7append(((T7*)_s),se_string(16,s556_1790323015A));
/*:RF3*//*RF3:add_to_chain*/r556add_to_chain(_chain,_s,se_string(4,s556_4992A));
/*:RF3*/}
(/*RF2:os*/(((T808*)_def))->_os/*T2pi*//*:RF2*/)=ms115_1772235Abc115A;
}
}
_s=/*RF6:seconf_env*/r556seconf_env()/*:RF6*/;
if((_s)!=((void*)((void*)0))){
/*RF3:add_to_chain*/r556add_to_chain(_chain,_s,se_string(4,s556_4992A));
/*:RF3*/}
oBC556config=_chain;
/*RF3:put_new_line*/r126put_new_line((T126*)(/*RF6:echo*/r556echo()/*:RF6*/));
/*:RF3*/}}
return oBC556config;
}/*--*/
T0*oBC556seconf_env=(void*)0;
int fBC556seconf_env=0;

/*SERC_FACTORY*/T0*r556seconf_env(void){
if(fBC556seconf_env==0){fBC556seconf_env=1;{
oBC556seconf_env=/*RF4:env*/r556env(ms32_292787264Abc32A)/*:RF4*/;
}}
return oBC556seconf_env;
}/*--*/

/*SERC_FACTORY*/T0*r556echo(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30echo==0){fBC30echo=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T126/*3pip*/))));
*((T126*)tmp0/*new*/)=M126;
/*RF3:make*/r126make(((T126*)tmp0/*new*/));
/*:RF3*/oBC30echo=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30echo;
}/*--*/
T0*oBC556userprofile_env=(void*)0;
int fBC556userprofile_env=0;

/*SERC_FACTORY*/T0*r556userprofile_env(void){
if(fBC556userprofile_env==0){fBC556userprofile_env=1;{
oBC556userprofile_env=/*RF4:env*/r556env(se_string(11,s556_1027113524A))/*:RF4*/;
}}
return oBC556userprofile_env;
}/*--*/
T0*oBC556home_env=(void*)0;
int fBC556home_env=0;

/*SERC_FACTORY*/T0*r556home_env(void){
if(fBC556home_env==0){fBC556home_env=1;{
oBC556home_env=/*RF4:env*/r556env(se_string(4,s556_11429A))/*:RF4*/;
}}
return oBC556home_env;
}/*--*/
T0*oBC30parser_buffer=(void*)0;
int fBC30parser_buffer=0;

/*SERC_FACTORY*/T0*r556parser_buffer(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30parser_buffer==0){fBC30parser_buffer=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T123/*3pi*/))));
*((T123*)tmp0/*new*/)=M123;
/*RF3:make*/r123make(((T123*)tmp0/*new*/));
/*:RF3*/oBC30parser_buffer=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30parser_buffer;
}/*--*/

/*SERC_FACTORY*/T0*r556env(T0*a1){
T0* R=(void*)0;
int _s=0/*empty expanded*/;
R=/*RF4:get_environment_variable*/r303get_environment_variable(/*`var'*/a1)/*:RF4*/;
return R;
}/*--*/

/*BASIC_DIRECTORY*/void r548compute_file_path_with(T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T0* tmp1;
T0* tmp2;
T0* tmp3;
/*INTERNAL_C_LOCAL list]*/
if((/*RF4:system_notation*/r548system_notation()/*:RF4*/)!=((void*)((void*)0))){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`parent_path'*/a1))->id)){
case 7:
tmp0/*out*/=/*RF4:out*/r7out(((T7*)/*`parent_path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*out*/=/*RF4:out*/r311out(((T311*)/*`parent_path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*out*/=/*RF4:out*/r321out(((T321*)/*`parent_path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:copy*/r7copy((T7*)(/*RF6:last_entry*/r548last_entry()/*:RF6*/),tmp0/*out*/);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*auto-unlock tmp0*/(tmp0/*ddt1*/=(/*RF4:system_notation*/r548system_notation()/*:RF4*/))))->id)){
case 558:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file_name'*/a2))->id)){
case 7:
tmp1/*out*/=/*RF4:out*/r7out(((T7*)/*`file_name'*/a2))/*:RF4*/;
break;
case 311:
tmp1/*out*/=/*RF4:out*/r311out(((T311*)/*`file_name'*/a2))/*:RF4*/;
break;
default:;
tmp1/*out*/=/*RF4:out*/r321out(((T321*)/*`file_name'*/a2))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_file_path_with*/r558to_file_path_with(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp1/*out*/);
/*:RF3*/break;
case 562:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file_name'*/a2))->id)){
case 7:
tmp2/*out*/=/*RF4:out*/r7out(((T7*)/*`file_name'*/a2))/*:RF4*/;
break;
case 311:
tmp2/*out*/=/*RF4:out*/r311out(((T311*)/*`file_name'*/a2))/*:RF4*/;
break;
default:;
tmp2/*out*/=/*RF4:out*/r321out(((T321*)/*`file_name'*/a2))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_file_path_with*/r562to_file_path_with(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp2/*out*/);
/*:RF3*/break;
default:;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file_name'*/a2))->id)){
case 7:
tmp3/*out*/=/*RF4:out*/r7out(((T7*)/*`file_name'*/a2))/*:RF4*/;
break;
case 311:
tmp3/*out*/=/*RF4:out*/r311out(((T311*)/*`file_name'*/a2))/*:RF4*/;
break;
default:;
tmp3/*out*/=/*RF4:out*/r321out(((T321*)/*`file_name'*/a2))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_file_path_with*/r563to_file_path_with(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp3/*out*/);
/*:RF3*/}
/*inspect]*/
/*tmp0.unlock*/
}
else{
/*RF3:set_notation_using*/r548set_notation_using(/*`parent_path'*/a1);
/*:RF3*/if((/*RF4:system_notation*/r548system_notation()/*:RF4*/)!=((void*)((void*)0))){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`parent_path'*/a1))->id)){
case 7:
/*reusing tmp0*/tmp0/*out*/=/*RF4:out*/r7out(((T7*)/*`parent_path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*out*/=/*RF4:out*/r311out(((T311*)/*`parent_path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*out*/=/*RF4:out*/r321out(((T321*)/*`parent_path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:copy*/r7copy((T7*)(/*RF6:last_entry*/r548last_entry()/*:RF6*/),tmp0/*out*/);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*auto-unlock tmp0*/(tmp0/*ddt1*/=(/*RF4:system_notation*/r548system_notation()/*:RF4*/))))->id)){
case 558:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file_name'*/a2))->id)){
case 7:
/*auto-unlock tmp1*/tmp1/*out*/=/*RF4:out*/r7out(((T7*)/*`file_name'*/a2))/*:RF4*/;
break;
case 311:
tmp1/*out*/=/*RF4:out*/r311out(((T311*)/*`file_name'*/a2))/*:RF4*/;
break;
default:;
tmp1/*out*/=/*RF4:out*/r321out(((T321*)/*`file_name'*/a2))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_file_path_with*/r558to_file_path_with(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp1/*out*/);
/*:RF3*/break;
case 562:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file_name'*/a2))->id)){
case 7:
/*auto-unlock tmp2*/tmp2/*out*/=/*RF4:out*/r7out(((T7*)/*`file_name'*/a2))/*:RF4*/;
break;
case 311:
tmp2/*out*/=/*RF4:out*/r311out(((T311*)/*`file_name'*/a2))/*:RF4*/;
break;
default:;
tmp2/*out*/=/*RF4:out*/r321out(((T321*)/*`file_name'*/a2))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_file_path_with*/r562to_file_path_with(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp2/*out*/);
/*:RF3*/break;
default:;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file_name'*/a2))->id)){
case 7:
/*auto-unlock tmp3*/tmp3/*out*/=/*RF4:out*/r7out(((T7*)/*`file_name'*/a2))/*:RF4*/;
break;
case 311:
tmp3/*out*/=/*RF4:out*/r311out(((T311*)/*`file_name'*/a2))/*:RF4*/;
break;
default:;
tmp3/*out*/=/*RF4:out*/r321out(((T321*)/*`file_name'*/a2))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_file_path_with*/r563to_file_path_with(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp3/*out*/);
/*:RF3*/}
/*inspect]*/
/*tmp0.unlock*/
}
else{
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:last_entry*/r548last_entry()/*:RF6*/));
/*:RF3*/}
}
}/*--*/

/*BASIC_DIRECTORY*/T6 r548unix_notation(void){
T6 R=0;
R=((T6)(can_assign_to558_from560((T0*)(/*RF4:system_notation*/r548system_notation()/*:RF4*/))));
return R;
}/*--*/

/*BASIC_DIRECTORY*/T6 r548windows_notation(void){
T6 R=0;
R=((T6)(can_assign_to562_from560((T0*)(/*RF4:system_notation*/r548system_notation()/*:RF4*/))));
return R;
}/*--*/

/*BASIC_DIRECTORY*/void r548set_notation_using(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T3 tmp0;
T2 tmp1;
T6 tmp2;
T3 tmp3;
T6 tmp4;
T3 tmp5;
T2 tmp6;
T3 tmp7;
T2 tmp8;
T6 tmp9;
T6 tmp10;
T6 tmp11;
T6 tmp12;
/*INTERNAL_C_LOCAL list]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp0/*first*/=/*RF4:first*/r7first(((T7*)/*`some_path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*first*/=/*RF4:first*/r311first(((T311*)/*`some_path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*first*/=/*RF4:first*/r7first((T7*)(/*RF4:memory*/r321memory(((T321*)/*`some_path'*/a1))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
/*[inspect*/
switch(tmp0/*first*/){
case 46:
case 47:
case 126:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp1/*count*/=(/*RF2:count*/(((T7*)/*`some_path'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp1/*count*/=(/*RF2:count*/(((T311*)/*`some_path'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp1/*count*/=/*RF4:count*/r321count(((T321*)/*`some_path'*/a1))/*:RF4*/;
}
/*inspect]*/
tmp2/*and then*/=((T6)(/*RF8:>=*/((int32_t)(tmp1/*count*/))>=(INT32_C(4))/*:RF8*/));
if(tmp2/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp3/*item*/=/*RF4:item*/r7item(((T7*)/*`some_path'*/a1),INT32_C(2))/*:RF4*/;
break;
case 311:
tmp3/*item*/=/*RF4:item*/r311item(((T311*)/*`some_path'*/a1),INT32_C(2))/*:RF4*/;
break;
default:;
tmp3/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`some_path'*/a1))/*:RF4*/),INT32_C(2))/*:RF4*/;
}
/*inspect]*/
tmp2/*and then*/=((T6)((tmp3/*item*/)==(((T3)'\057'))));
}
tmp4/*and then*/=((T6)(tmp2/*and then*/));
if(tmp4/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp5/*item*/=/*RF4:item*/r7item(((T7*)/*`some_path'*/a1),INT32_C(4))/*:RF4*/;
break;
case 311:
tmp5/*item*/=/*RF4:item*/r311item(((T311*)/*`some_path'*/a1),INT32_C(4))/*:RF4*/;
break;
default:;
tmp5/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`some_path'*/a1))/*:RF4*/),INT32_C(4))/*:RF4*/;
}
/*inspect]*/
tmp4/*and then*/=((T6)((tmp5/*item*/)==(((T3)'\057'))));
}
if(tmp4/*and then*/){
(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/)=((T0*)create563());
}
else{
(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/)=((T0*)create558());
}
break;
case 92:
(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/)=((T0*)create562());
break;
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp6/*count*/=(/*RF2:count*/(((T7*)/*`some_path'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp6/*count*/=(/*RF2:count*/(((T311*)/*`some_path'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp6/*count*/=/*RF4:count*/r321count(((T321*)/*`some_path'*/a1))/*:RF4*/;
}
/*inspect]*/
if(/*RF8:>=*/((int32_t)(tmp6/*count*/))>=(INT32_C(2))/*:RF8*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp7/*item*/=/*RF4:item*/r7item(((T7*)/*`some_path'*/a1),INT32_C(2))/*:RF4*/;
break;
case 311:
tmp7/*item*/=/*RF4:item*/r311item(((T311*)/*`some_path'*/a1),INT32_C(2))/*:RF4*/;
break;
default:;
tmp7/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`some_path'*/a1))/*:RF4*/),INT32_C(2))/*:RF4*/;
}
/*inspect]*/
/*[inspect*/
switch(tmp7/*item*/){
case 58:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp8/*count*/=(/*RF2:count*/(((T7*)/*`some_path'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp8/*count*/=(/*RF2:count*/(((T311*)/*`some_path'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp8/*count*/=/*RF4:count*/r321count(((T321*)/*`some_path'*/a1))/*:RF4*/;
}
/*inspect]*/
if((tmp8/*count*/)==(INT8_C(2))){
(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/)=((T0*)create562());
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp9/*has*/=((T6)(/*RF4:has*/r7has(((T7*)/*`some_path'*/a1),((T3)'\134'))/*:RF4*/));
break;
case 311:
tmp9/*has*/=((T6)(/*RF4:has*/r311has(((T311*)/*`some_path'*/a1),((T3)'\134'))/*:RF4*/));
break;
default:;
tmp9/*has*/=((T6)(/*RF4:has*/r7has((T7*)(/*RF4:memory*/r321memory(((T321*)/*`some_path'*/a1))/*:RF4*/),((T3)'\134'))/*:RF4*/));
}
/*inspect]*/
if(tmp9/*has*/){
(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/)=((T0*)create562());
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp10/*has*/=((T6)(/*RF4:has*/r7has(((T7*)/*`some_path'*/a1),((T3)'\057'))/*:RF4*/));
break;
case 311:
tmp10/*has*/=((T6)(/*RF4:has*/r311has(((T311*)/*`some_path'*/a1),((T3)'\057'))/*:RF4*/));
break;
default:;
tmp10/*has*/=((T6)(/*RF4:has*/r7has((T7*)(/*RF4:memory*/r321memory(((T321*)/*`some_path'*/a1))/*:RF4*/),((T3)'\057'))/*:RF4*/));
}
/*inspect]*/
if(tmp10/*has*/){
(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/)=((T0*)create563());
}
}
}
break;
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp11/*has*/=((T6)(/*RF4:has*/r7has(((T7*)/*`some_path'*/a1),((T3)'\057'))/*:RF4*/));
break;
case 311:
tmp11/*has*/=((T6)(/*RF4:has*/r311has(((T311*)/*`some_path'*/a1),((T3)'\057'))/*:RF4*/));
break;
default:;
tmp11/*has*/=((T6)(/*RF4:has*/r7has((T7*)(/*RF4:memory*/r321memory(((T321*)/*`some_path'*/a1))/*:RF4*/),((T3)'\057'))/*:RF4*/));
}
/*inspect]*/
if(tmp11/*has*/){
(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/)=((T0*)create558());
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`some_path'*/a1))->id)){
case 7:
tmp12/*has*/=((T6)(/*RF4:has*/r7has(((T7*)/*`some_path'*/a1),((T3)'\134'))/*:RF4*/));
break;
case 311:
tmp12/*has*/=((T6)(/*RF4:has*/r311has(((T311*)/*`some_path'*/a1),((T3)'\134'))/*:RF4*/));
break;
default:;
tmp12/*has*/=((T6)(/*RF4:has*/r7has((T7*)(/*RF4:memory*/r321memory(((T321*)/*`some_path'*/a1))/*:RF4*/),((T3)'\134'))/*:RF4*/));
}
/*inspect]*/
if(tmp12/*has*/){
(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/)=((T0*)create558());
}
}
break;
}
/*inspect]*/
}
break;
}
/*inspect]*/
}/*--*/

/*BASIC_DIRECTORY*/void r548compute_short_name_of(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T0* tmp1;
T0* tmp2;
T0* tmp3;
/*INTERNAL_C_LOCAL list]*/
if((/*RF4:system_notation*/r548system_notation()/*:RF4*/)!=((void*)((void*)0))){
/*RF3:copy*/r7copy((T7*)(/*RF6:last_entry*/r548last_entry()/*:RF6*/),/*RF4:out*/r311out((T311*)(/*RF4:current_working_directory*/r548current_working_directory()/*:RF4*/))/*:RF4*/);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:system_notation*/r548system_notation()/*:RF4*/))))->id)){
case 558:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
tmp1/*out*/=/*RF4:out*/r7out(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp1/*out*/=/*RF4:out*/r311out(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp1/*out*/=/*RF4:out*/r321out(((T321*)/*`path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_short_name_in*/r558to_short_name_in(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp1/*out*/);
/*:RF3*/break;
case 562:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
tmp2/*out*/=/*RF4:out*/r7out(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp2/*out*/=/*RF4:out*/r311out(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp2/*out*/=/*RF4:out*/r321out(((T321*)/*`path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_short_name_in*/r562to_short_name_in(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp2/*out*/);
/*:RF3*/break;
default:;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
tmp3/*out*/=/*RF4:out*/r7out(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp3/*out*/=/*RF4:out*/r311out(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp3/*out*/=/*RF4:out*/r321out(((T321*)/*`path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_short_name_in*/r563to_short_name_in(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp3/*out*/);
/*:RF3*/}
/*inspect]*/
/*tmp0.unlock*/
}
else{
/*RF3:set_notation_using*/r548set_notation_using(/*`path'*/a1);
/*:RF3*/if((/*RF4:system_notation*/r548system_notation()/*:RF4*/)!=((void*)((void*)0))){
/*RF3:copy*/r7copy((T7*)(/*RF6:last_entry*/r548last_entry()/*:RF6*/),/*RF4:out*/r311out((T311*)(/*RF4:current_working_directory*/r548current_working_directory()/*:RF4*/))/*:RF4*/);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*reusing tmp0*/(tmp0/*ddt1*/=(/*RF4:system_notation*/r548system_notation()/*:RF4*/))))->id)){
case 558:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
/*auto-unlock tmp1*/tmp1/*out*/=/*RF4:out*/r7out(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp1/*out*/=/*RF4:out*/r311out(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp1/*out*/=/*RF4:out*/r321out(((T321*)/*`path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_short_name_in*/r558to_short_name_in(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp1/*out*/);
/*:RF3*/break;
case 562:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
/*auto-unlock tmp2*/tmp2/*out*/=/*RF4:out*/r7out(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp2/*out*/=/*RF4:out*/r311out(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp2/*out*/=/*RF4:out*/r321out(((T321*)/*`path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_short_name_in*/r562to_short_name_in(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp2/*out*/);
/*:RF3*/break;
default:;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`path'*/a1))->id)){
case 7:
/*auto-unlock tmp3*/tmp3/*out*/=/*RF4:out*/r7out(((T7*)/*`path'*/a1))/*:RF4*/;
break;
case 311:
tmp3/*out*/=/*RF4:out*/r311out(((T311*)/*`path'*/a1))/*:RF4*/;
break;
default:;
tmp3/*out*/=/*RF4:out*/r321out(((T321*)/*`path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*RF3:to_short_name_in*/r563to_short_name_in(/*RF6:last_entry*/r548last_entry()/*:RF6*/,tmp3/*out*/);
/*:RF3*/}
/*inspect]*/
/*tmp0.unlock*/
}
else{
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:last_entry*/r548last_entry()/*:RF6*/));
/*:RF3*/}
}
}/*--*/

/*BASIC_DIRECTORY*/T6 r548cygwin_notation(void){
T6 R=0;
R=((T6)(can_assign_to563_from560((T0*)(/*RF4:system_notation*/r548system_notation()/*:RF4*/))));
return R;
}/*--*/
T0*oBC548last_entry=(void*)0;
int fBC548last_entry=0;

/*BASIC_DIRECTORY*/T0*r548last_entry(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC548last_entry==0){fBC548last_entry=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(256));
/*:RF3*/oBC548last_entry=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC548last_entry;
}/*--*/

/*BASIC_DIRECTORY*/T0*r548current_working_directory(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T8 _path=(void*)0;
T0*_cwd=(void*)0;
_path=/*RF8:directory_current_working_directory*/directory_current_working_directory/*:RF8*/;
if(/*RF8:is_not_null*/(NULL!=_path)/*:RF8*/){
_cwd=ms29_0Abc548A;
/*RF3:from_external_copy*/r7from_external_copy(((T7*)_cwd),_path);
/*:RF3*/if(((/*RF4:system_notation*/r548system_notation()/*:RF4*/)!=((void*)((void*)0)))==(0)){
/*RF3:set_notation_using*/r548set_notation_using(_cwd);
/*:RF3*/}
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:system_notation*/r548system_notation()/*:RF4*/))))->id)){
case 558:
/*RF3:to_directory_path*/r558to_directory_path(_cwd);
/*:RF3*/break;
case 562:
/*RF3:to_directory_path*/r562to_directory_path(_cwd);
/*:RF3*/break;
default:;
/*RF3:to_directory_path*/r563to_directory_path(_cwd);
/*:RF3*/}
/*inspect]*/
/*tmp0.unlock*/
R=/*RF4:intern*/r7intern(((T7*)_cwd))/*:RF4*/;
}
return R;
}/*--*/

/*BASIC_DIRECTORY*/T0*r548system_notation(void){
T0* R=(void*)0;
R=(/*RF2:item*/(((T922*)oBC548system_notation_buffer))->_item/*p*//*:RF2*/);
return R;
}/*--*/
int fBC548ensure_system_notation=0;

/*BASIC_DIRECTORY*/void r548ensure_system_notation(void){
T6 _dummy=0;
if(fBC548ensure_system_notation==0){fBC548ensure_system_notation=1;{
_dummy=((T6)(/*RF6:require_system_notation*/r548require_system_notation()/*:RF6*/));
}}}/*--*/

/*BASIC_DIRECTORY*/void r548connect_to(T548*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T8 tmp0;
/*INTERNAL_C_LOCAL list]*/
T8 _path_pointer=(void*)0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`directory_path'*/a1))->id)){
case 7:
tmp0/*to_external*/=/*RF4:to_external*/r7to_external(((T7*)/*`directory_path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*to_external*/=/*RF4:to_external*/r311to_external(((T311*)/*`directory_path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*to_external*/=/*RF4:to_external*/r7to_external((T7*)(/*RF4:memory*/r321memory(((T321*)/*`directory_path'*/a1))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
_path_pointer=tmp0/*to_external*/;
/*SFN*/(C->_directory_stream/*pp*/)=/*RF8:directory_open*/directory_open(_path_pointer)/*:RF8*/;
/*SFN*/(C->_current_entry/*pp*/)=(/*RF2:directory_stream*/(*C)._directory_stream/*pp*//*:RF2*/);
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:last_entry*/r548last_entry()/*:RF6*/));
/*:RF3*/}/*--*/

/*BASIC_DIRECTORY*/void r548read_entry(T548*C){
T8 _name=(void*)0;
/*SFN*/(C->_current_entry/*pp*/)=/*RF8:directory_read_entry*/directory_read_entry((/*RF2:directory_stream*/(*C)._directory_stream/*pp*//*:RF2*/))/*:RF8*/;
if(/*RF8:is_not_null*/(NULL!=(/*RF2:current_entry*/(*C)._current_entry/*pp*//*:RF2*/))/*:RF8*/){
_name=/*RF8:directory_get_entry_name*/directory_get_entry_name((/*RF2:current_entry*/(*C)._current_entry/*pp*//*:RF2*/))/*:RF8*/;
/*RF3:from_external_copy*/r7from_external_copy((T7*)(/*RF6:last_entry*/r548last_entry()/*:RF6*/),_name);
/*:RF3*/}
}/*--*/
T6 oBC548require_system_notation=0;
int fBC548require_system_notation=0;

/*BASIC_DIRECTORY*/T6 r548require_system_notation(void){
if(fBC548require_system_notation==0){fBC548require_system_notation=1;{
oBC548require_system_notation=((T6)((/*RF4:current_working_directory*/r548current_working_directory()/*:RF4*/)!=((void*)((void*)0))));
}}
return oBC548require_system_notation;
}/*--*/

/*BASIC_DIRECTORY*/void r548disconnect(T548*C){
T8 _null=(void*)0;
if(/*RF8:directory_close*/directory_close((/*RF2:directory_stream*/(*C)._directory_stream/*pp*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_directory_stream/*pp*/)=_null;
/*SFN*/(C->_current_entry/*pp*/)=_null;
}
}/*--*/
T0*oBC548system_notation_buffer=(void*)0;

/*STD_INPUT_OUTPUT*/void r78put_line(T78*C,T0*a1){
/*RF3:put_string*/r78put_string(C,/*`s'*/a1);
/*:RF3*//*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/),((T3)'\n'));
/*:RF3*/}/*--*/
T0*oBC17std_input=(void*)0;
int fBC17std_input=0;

/*STD_INPUT_OUTPUT*/T0*r78std_input(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17std_input==0){fBC17std_input=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T61/*ni*/))));
*((T61*)tmp0/*new*/)=M61;
/*RF3:make*/r61make(((T61*)tmp0/*new*/));
/*:RF3*/oBC17std_input=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17std_input;
}/*--*/

/*STD_INPUT_OUTPUT*/T0*r78std_output(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17std_output==0){fBC17std_output=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T69/*Tpnii*/))));
*((T69*)tmp0/*new*/)=M69;
/*RF3:make*/r69make(((T69*)tmp0/*new*/));
/*:RF3*/oBC17std_output=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17std_output;
}/*--*/

/*STD_INPUT_OUTPUT*/T6 r78is_connected(void){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
T6 tmp2;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)((/*RF6:std_input*/r78std_input()/*:RF6*/)!=((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(((/*UT*/(void)((T61*)(/*RF6:std_input*/r78std_input()/*:RF6*/))),/*RF1:is_connected*/1)/*:RF1*/));
}
tmp1/*and then*/=((T6)(tmp0/*and then*/));
if(tmp1/*and then*/){
tmp2/*and then*/=((T6)((/*RF6:std_output*/r78std_output()/*:RF6*/)!=((void*)((void*)0))));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)(((/*UT*/(void)((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/))),/*RF1:is_connected*/1)/*:RF1*/));
}
tmp1/*and then*/=((T6)(tmp2/*and then*/));
}
R=((T6)(tmp1/*and then*/));
return R;
}/*--*/

/*STD_INPUT_OUTPUT*/void r78put_string(T78*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
/*RF3:print_on*/r7print_on(((T7*)/*`s'*/a1),/*RF4:as_output_stream*/r78as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
case 311:
/*RF3:print_on*/r311print_on(((T311*)/*`s'*/a1),/*RF4:as_output_stream*/r78as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
default:;
/*RF3:print_on*/r321print_on(((T321*)/*`s'*/a1),/*RF4:as_output_stream*/r78as_output_stream(C)/*:RF4*/);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*STD_INPUT_OUTPUT*/T0*r78tmp_string(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC72tmp_string==0){fBC72tmp_string=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(512));
/*:RF3*/oBC72tmp_string=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC72tmp_string;
}/*--*/

/*STD_INPUT_OUTPUT*/void r78put_integer(T78*C,T11 a1){
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:tmp_string*/r78tmp_string()/*:RF6*/));
/*:RF3*//*RF3:append_in*/r11append_in(/*`i'*/a1,/*RF6:tmp_string*/r78tmp_string()/*:RF6*/);
/*:RF3*//*RF3:put_string*/r78put_string(C,/*RF6:tmp_string*/r78tmp_string()/*:RF6*/);
/*:RF3*/}/*--*/

/*STD_INPUT_OUTPUT*/void r78put_abstract_string(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T3 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _count=0;
_i=INT32_C(1);
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
_count=tmp0/*count*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(_count)/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp1/*item*/=/*RF4:item*/r7item(((T7*)/*`s'*/a1),_i)/*:RF4*/;
break;
case 311:
tmp1/*item*/=/*RF4:item*/r311item(((T311*)/*`s'*/a1),_i)/*:RF4*/;
break;
default:;
tmp1/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`s'*/a1))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
/*RF3:filtered_put_character*/r69filtered_put_character((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/),tmp1/*item*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*STD_INPUT_OUTPUT*/void r78disconnect(void){
(/*RF2:filter*/((T61*)(/*RF6:std_input*/r78std_input()/*:RF6*/))->_filter/*ni*//*:RF2*/)=(void*)0;
(/*RF2:filter*/((T69*)(/*RF6:std_output*/r78std_output()/*:RF6*/))->_filter/*Tpnii*//*:RF2*/)=(void*)0;
}/*--*/

/*STD_INPUT_OUTPUT*/T0*r78as_output_stream(T78*C){
T0* R=(void*)0;
R=((T0*)(C));
return R;
}/*--*/

/*ERROR_HANDLER*/void r293put_arrows_into(T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
T354 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>=*/((int32_t)(_i))>=((/*RF2:count*/(((T7*)/*`line'*/a1))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
if((/*RF4:item*/r7item(((T7*)/*`line'*/a1),_i)/*:RF4*/)!=(((T3)'\011'))){
/*RF3:put*/r7put(((T7*)/*`line'*/a1),((T3)'\040'),_i);
/*:RF3*/}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(/*RF8:>*/((int32_t)(/*RF4:column*/r354column((tmp0/*fcstrangeisnotunlock*/=/*RF4:first*/r925first(((T925*)/*`p'*/a2))/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF4*/))>(INT32_C(0))/*:RF8*/){
_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/(((T925*)/*`p'*/a2))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
/*RF3:put*/r7put(((T7*)/*`line'*/a1),((T3)'\136'),/*RF4:column*/r354column((tmp1/*fcstrangeisnotunlock*/=/*RF4:item*/r925item(((T925*)/*`p'*/a2),_i)/*:RF4*/,&tmp1/*fcstrangeisnotunlock*/))/*:RF4*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
}/*--*/

/*ERROR_HANDLER*/void r293print_as_error(T293*C){
/*RF3:emit_all_warnings*/r293emit_all_warnings(C);
/*:RF3*//*RF3:do_print*/r293do_print(C,ms293_60894Abc293A);
/*:RF3*//*RF7:sedb_breakpoint*//*:RF7*//*SFN*/(C->_error_counter/*3piipp*/)=/*RF8:+*/((int32_t)((/*RF2:error_counter*/(C)->_error_counter/*3piipp*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
if(/*RF8:>=*/((int32_t)((/*RF2:error_counter*/(C)->_error_counter/*3piipp*//*:RF2*/)))>=(INT32_C(6))/*:RF8*/){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),ms32_820292Abc32A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),ms293_1831619428Abc293A);
/*:RF3*//*RF3:before_exit_close*/r126before_exit_close((T126*)(/*RF6:echo*/r293echo()/*:RF6*/));
/*:RF3*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}
}/*--*/

/*ERROR_HANDLER*/void r293get_positions_on_same_line(T293*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
T354 tmp1;
/*INTERNAL_C_LOCAL list]*/
T354 _pos1={0};
T354 _pos2={0};
T354 _no_column_pos={0};
T6 _stop=0;
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_pos1=tmp0/*locexp*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_pos2=tmp0/*locexp*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_no_column_pos=tmp0/*locexp*/;
/*tmp0.unlock*/
/*RF3:clear_count*/r925clear_count(((T925*)/*`p'*/a1));
/*:RF3*/_pos1=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:last*/r925last((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
if((/*RF4:column*/r354column(&_pos1)/*:RF4*/)==(INT8_C(0))){
_no_column_pos=/*RF8:twin*/r354twin(&_pos1)/*:RF8*/;
}
else{
/*RF3:add_last*/r925add_last(((T925*)/*`p'*/a1),_pos1);
/*:RF3*/}
/*RF3:remove_last*/r925remove_last((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)));
/*:RF3*/_stop=((T6)(/*RF4:is_empty*/r925is_empty((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))/*:RF4*/));
while(1){
/*until*/if(_stop) break;
_pos2=/*RF8:twin*/r354twin((tmp1/*fcstrangeisnotunlock*/=/*RF4:last*/r925last((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))/*:RF4*/,&tmp1/*fcstrangeisnotunlock*/))/*:RF8*/;
if(/*RF4:same_line_as*/r354same_line_as(&_pos2,_pos1)/*:RF4*/){
if((/*RF4:column*/r354column(&_pos2)/*:RF4*/)!=(/*RF4:column*/r354column(&_pos1)/*:RF4*/)){
/*RF3:add_last*/r925add_last(((T925*)/*`p'*/a1),_pos2);
/*:RF3*/_pos1=/*RF8:twin*/r354twin(&_pos2)/*:RF8*/;
}
/*RF3:remove_last*/r925remove_last((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)));
/*:RF3*/_stop=((T6)(/*RF4:is_empty*/r925is_empty((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))/*:RF4*/));
}
else{
_stop=((T6)(1));
}
}
if(/*RF4:is_empty*/r925is_empty(((T925*)/*`p'*/a1))/*:RF4*/){
/*RF3:add_last*/r925add_last(((T925*)/*`p'*/a1),_no_column_pos);
/*:RF3*/}
}/*--*/

/*ERROR_HANDLER*/void r293emit_all_warnings(T293*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T0*_error=(void*)0;
T0*_class_text=(void*)0;
_error=/*RF4:new_error*/r293new_error(C)/*:RF4*/;
/*RF3:cancel*/r293cancel(C);
/*:RF3*/_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T925*)((/*RF2:positions*/(((T719*)_error))->_positions/*2pp*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
_class_text=/*RF4:class_text*/r354class_text((tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r925item((T925*)((/*RF2:positions*/(((T719*)_error))->_positions/*2pp*//*:RF2*/)),_i)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*RF3:copy*/r7copy((T7*)((/*RF2:explanation*/(C)->_explanation/*3piipp*//*:RF2*/)),(/*RF2:explanation*/(((T719*)_error))->_explanation/*2pp*//*:RF2*/));
/*:RF3*//*RF3:copy*/r925copy((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)),(/*RF2:positions*/(((T719*)_error))->_positions/*2pp*//*:RF2*/));
/*:RF3*//*RF3:recycle*/r926recycle((T926*)((/*RF2:errors_pool*/(C)->_errors_pool/*3piipp*//*:RF2*/)),_error);
/*:RF3*/}/*--*/

/*ERROR_HANDLER*/void r293cancel(T293*C){
/*RF3:clear_count*/r7clear_count((T7*)((/*RF2:explanation*/(C)->_explanation/*3piipp*//*:RF2*/)));
/*:RF3*//*RF3:clear_count*/r925clear_count((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)));
/*:RF3*/}/*--*/

/*ERROR_HANDLER*/void r293print_spaces(T2 a1){
T2 _i=0;
_i=/*`number'*/a1;
while(1){
/*until*/if((_i)==(INT8_C(0))) break;
/*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),((T3)'\040'));
/*:RF3*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*ERROR_HANDLER*/void r293save_error(T293*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_inttag=(void*)0;
T0*_errors=(void*)0;
T0*_error=(void*)0;
T2 _i=0;
T6 _saved=0;
T0*_class_text=(void*)0;
_error=/*RF4:new_error*/r293new_error(C)/*:RF4*/;
_inttag=/*RF4:intern*/r7intern(((T7*)/*`tag'*/a1))/*:RF4*/;
_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
_class_text=/*RF4:class_text*/r354class_text((tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r925item((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)),_i)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(_saved){
/*RF3:cancel*/r293cancel(C);
/*:RF3*/}
else{
/*RF3:do_print*/r293do_print(C,/*`tag'*/a1);
/*:RF3*/}
}/*--*/

/*ERROR_HANDLER*/void r293default_create(T293*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(1024));
/*:RF3*//*SFN*/(C->_explanation/*3piipp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T925/*niii*/))));
*((T925*)tmp0/*new*/)=M925;
/*RF3:with_capacity*/r925with_capacity(((T925*)tmp0/*new*/),INT32_C(16));
/*:RF3*//*SFN*/(C->_positions/*3piipp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T926/*niii*/))));
*((T926*)tmp0/*new*/)=M926;
/*RF3:make*/r926make(((T926*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_errors_pool/*3piipp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}/*--*/

/*ERROR_HANDLER*/T0*r293echo(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30echo==0){fBC30echo=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T126/*3pip*/))));
*((T126*)tmp0/*new*/)=M126;
/*RF3:make*/r126make(((T126*)tmp0/*new*/));
/*:RF3*/oBC30echo=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30echo;
}/*--*/

/*ERROR_HANDLER*/void r293do_print_standard(T293*C,T0*a1){
T2 _i=0;
T3 _cc='\0';
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),ms32_820292Abc32A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*`tag'*/a1);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),((T3)'\072'));
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),((T3)'\040'));
/*:RF3*/_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/((T7*)((/*RF2:explanation*/(C)->_explanation/*3piipp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
_cc=/*RF4:item*/r7item((T7*)((/*RF2:explanation*/(C)->_explanation/*3piipp*//*:RF2*/)),_i)/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
/*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),_cc);
/*:RF3*/}
/*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),((T3)'\n'));
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),((T3)'\n'));
/*:RF3*/if(/*RF8:>=*/((int32_t)(/*RF4:count*/r925count((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))/*:RF4*/))>=(INT32_C(2))/*:RF8*/){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),ms293_2030552593Abc293A);
/*:RF3*/}
/*RF3:display_lines*/r293display_lines(C);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),ms293_878860Abc293A);
/*:RF3*/}/*--*/

/*ERROR_HANDLER*/void r293add_position(T293*C,T354 a1){
if(((/*RF2:mangling*/(/*`p'*/a1)._mangling/*i*//*:RF2*/))==(INT8_C(0))){
}
else{
/*RF3:add_last*/r925add_last((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)),/*`p'*/a1);
/*:RF3*/}
}/*--*/

/*ERROR_HANDLER*/T2 r293detab_line(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
T2 _i=0;
_i=INT32_C(1);
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T7*)/*`line'*/a1))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_separator*/r3is_separator(/*RF4:item*/r7item(((T7*)/*`line'*/a1),_i)/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
if((/*RF4:item*/r7item(((T7*)/*`line'*/a1),_i)/*:RF4*/)==(((T3)'\011'))){
/*RF3:put*/r7put(((T7*)/*`line'*/a1),((T3)'\040'),_i);
/*:RF3*/R=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(R))+(INT32_C(2))/*:RF8*/))-(/*RF4:\\*/r2_ix_9292(/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(_i))+(R)/*:RF8*/))-(INT32_C(1))/*:RF8*/,INT32_C(3))/*:RF4*/)/*:RF8*/;
}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*ERROR_HANDLER*/void r293print_as_fatal_error(T293*C){
/*RF3:emit_all_warnings*/r293emit_all_warnings(C);
/*:RF3*//*RF3:do_print*/r293do_print(C,ms293_927785894Abc293A);
/*:RF3*//*RF7:sedb_breakpoint*//*:RF7*//*RF3:before_exit_close*/r126before_exit_close((T126*)(/*RF6:echo*/r293echo()/*:RF6*/));
/*:RF3*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}/*--*/

/*ERROR_HANDLER*/void r293do_print(T293*C,T0*a1){
if((/*RF2:flymake_mode*/(C)->_flymake_mode/*3piipp*//*:RF2*/)){
/*RF3:do_print_flymake*/r293do_print_flymake(C,/*`tag'*/a1);
/*:RF3*/}
else{
/*RF3:do_print_standard*/r293do_print_standard(C,/*`tag'*/a1);
/*:RF3*/}
/*RF3:cancel*/r293cancel(C);
/*:RF3*/}/*--*/

/*ERROR_HANDLER*/void r293do_print_flymake(T293*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _err=0;
T354 _pos={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_pos=tmp0/*locexp*/;
/*tmp0.unlock*/
_err=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_err))>((/*RF2:upper*/((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
_pos=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r925item((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)),_err)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*RF4:path*/r354path(&_pos)/*:RF4*/);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),((T3)'\072'));
/*:RF3*//*RF3:w_put_integer*/r126w_put_integer((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*RF4:line*/r354line(&_pos)/*:RF4*/);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),((T3)'\072'));
/*:RF3*//*RF3:w_put_integer*/r126w_put_integer((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*RF4:column*/r354column(&_pos)/*:RF4*/);
/*:RF3*/if(/*RF8:<*/((int32_t)(_err))<((/*RF2:upper*/((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/){
/*RF3:w_put_line*/r126w_put_line((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),ms293_43325Abc293A);
/*:RF3*/}
_err=/*RF8:+*/((int32_t)(_err))+(INT32_C(1))/*:RF8*/;
}
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),ms293_322Abc293A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*`tag'*/a1);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),ms293_322Abc293B);
/*:RF3*//*RF3:w_put_line*/r126w_put_line((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),(/*RF2:explanation*/(C)->_explanation/*3piipp*//*:RF2*/));
/*:RF3*/}/*--*/

/*ERROR_HANDLER*/void r293print_as_warning(T293*C){
if((/*RF2:no_warning*/(C)->_no_warning/*3piipp*//*:RF2*/)){
/*RF3:cancel*/r293cancel(C);
/*:RF3*/}
else{
if(/*RF4:is_empty*/r925is_empty((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))/*:RF4*/){
/*RF3:do_print*/r293do_print(C,ms293_1750778Abc293A);
/*:RF3*//*SFN*/(C->_warning_counter/*3piipp*/)=/*RF8:+*/((int32_t)((/*RF2:warning_counter*/(C)->_warning_counter/*3piipp*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF7:sedb_breakpoint*//*:RF7*/}
else{
/*RF3:save_error*/r293save_error(C,ms293_1750778Abc293A);
/*:RF3*/}
}
}/*--*/

/*ERROR_HANDLER*/T0*r293new_error(T293*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T719/*2pp*/))));
*((T719*)tmp0/*new*/)=M719;
/*RF3:make*/r719make(((T719*)tmp0/*new*/),(/*RF2:explanation*/(C)->_explanation/*3piipp*//*:RF2*/),(/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/

/*ERROR_HANDLER*/void r293print_error_header(T0*a1,T0*a2,T2 a3,T0*a4){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _col=0;
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),se_string(5,s293_63912A));
/*:RF3*//*RF3:w_put_integer*/r126w_put_integer((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*`line_number'*/a3);
/*:RF3*/if(/*RF8:>*/((int32_t)(/*RF4:count*/r925count(((T925*)/*`pos'*/a4))/*:RF4*/))>(INT32_C(1))/*:RF8*/){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),se_string(9,s293_22396357A));
/*:RF3*/_i=INT32_C(0);
/*RF3:w_put_integer*/r126w_put_integer((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*RF4:column*/r354column((tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r925item(((T925*)/*`pos'*/a4),_i)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF4*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/(((T925*)/*`pos'*/a4))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),se_string(2,s29_252A));
/*:RF3*//*RF3:w_put_integer*/r126w_put_integer((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*RF4:column*/r354column((/*auto-unlock tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r925item(((T925*)/*`pos'*/a4),_i)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF4*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
else{
if((/*RF4:count*/r925count(((T925*)/*`pos'*/a4))/*:RF4*/)==(INT8_C(1))){
_col=/*RF4:column*/r354column((/*auto-unlock tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:first*/r925first(((T925*)/*`pos'*/a4))/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF4*/;
if(/*RF8:>*/((int32_t)(_col))>(INT32_C(0))/*:RF8*/){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),se_string(8,s293_4479182A));
/*:RF3*//*RF3:w_put_integer*/r126w_put_integer((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),_col);
/*:RF3*/}
}
}
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),se_string(4,s293_7207A));
/*:RF3*/if((/*`cn'*/a1)!=((void*)((void*)0))){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),(/*RF2:to_string*/(((T92*)/*`cn'*/a1))->_to_string/*2pipi*//*:RF2*/));
/*:RF3*/}
if((/*`file_path'*/a2)!=((void*)((void*)0))){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),se_string(2,s293_200A));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),/*`file_path'*/a2);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),((T3)'\051'));
/*:RF3*/}
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),se_string(2,s293_300A));
/*:RF3*/}/*--*/

/*ERROR_HANDLER*/void r293display_lines(T293*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
T0* tmp1;
T6 tmp2;
/*INTERNAL_C_LOCAL list]*/
T354 _pos={0};
int _s=0/*empty expanded*/;
T0*_cn=(void*)0;
T2 _li=0;
T2 _offset=0;
T0*_file_path=(void*)0;
T0*_the_line=(void*)0;
T0*_line_positions=(void*)0;
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_pos=tmp0/*locexp*/;
/*tmp0.unlock*/
/*RF3:sort*/r927sort((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/));
/*:RF3*/tmp1/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T925/*niii*/))));
*((T925*)tmp1/*new*/)=M925;
/*RF3:with_capacity*/r925with_capacity(((T925*)tmp1/*new*/),INT32_C(2));
/*:RF3*/_line_positions=tmp1/*new*/;
/*tmp1.unlock*/
while(1){
/*until*/if(/*RF4:is_empty*/r925is_empty((T925*)((/*RF2:positions*/(C)->_positions/*3piipp*//*:RF2*/)))/*:RF4*/) break;
/*RF3:get_positions_on_same_line*/r293get_positions_on_same_line(C,_line_positions);
/*:RF3*/_pos=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:first*/r925first(((T925*)_line_positions))/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
_file_path=/*RF4:path*/r354path(&_pos)/*:RF4*/;
_cn=/*RF4:class_text_name*/r354class_text_name(&_pos)/*:RF4*/;
_li=/*RF4:line*/r354line(&_pos)/*:RF4*/;
/*RF3:print_error_header*/r293print_error_header(_cn,_file_path,_li,_line_positions);
/*:RF3*/tmp2/*and then*/=((T6)((_file_path)!=((void*)((void*)0))));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)(/*RF8:>*/((int32_t)(_li))>(INT32_C(0))/*:RF8*/));
}
if(tmp2/*and then*/){
_the_line=/*RF4:get_line*/r293get_line(_file_path,_li)/*:RF4*/;
if((_the_line)!=((void*)((void*)0))){
/*RF3:extend*/r7extend(((T7*)_the_line),((T3)'\n'));
/*:RF3*/_offset=/*RF4:detab_line*/r293detab_line(_the_line)/*:RF4*/;
/*RF3:print_spaces*/r293print_spaces(_offset);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),_the_line);
/*:RF3*//*RF3:print_spaces*/r293print_spaces(_offset);
/*:RF3*//*RF3:put_arrows_into*/r293put_arrows_into(_the_line,_line_positions);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),_the_line);
/*:RF3*/}
}
}
}/*--*/

/*ERROR_HANDLER*/T0*r293get_line(T0*a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
/*RF3:tfr_connect*/r126tfr_connect((T126*)(/*RF6:echo*/r293echo()/*:RF6*/),oBC30tmp_file_read,/*`file_path'*/a1);
/*:RF3*/if(((/*RF2:path*/(((T99*)oBC30tmp_file_read))->_path/*pnpiiippc*//*:RF2*/))!=((void*)((void*)0))){
while(1){
tmp0/*or else*/=((T6)((/*RF2:end_of_input*/(((T99*)oBC30tmp_file_read))->_end_of_input/*pnpiiippc*//*:RF2*/)));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((_i)==(/*`li'*/a2)));
}
/*until*/if(tmp0/*or else*/) break;
/*RF3:read_line*/r99read_line(((T99*)oBC30tmp_file_read));
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(((/*RF2:end_of_input*/(((T99*)oBC30tmp_file_read))->_end_of_input/*pnpiiippc*//*:RF2*/))==(0)){
R=/*RF6:last_string*/r99last_string()/*:RF6*/;
}
/*RF3:disconnect*/r99disconnect(((T99*)oBC30tmp_file_read));
/*:RF3*/}
return R;
}/*--*/

/*TEXT_FILE_READ*/void r99unlock_tagged_out(void){
/*RF3:recycle*/r59recycle((T59*)(/*RF6:tagged_out_memory_pool*/r99tagged_out_memory_pool()/*:RF6*/),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)=/*RF4:top*/r919top((T919*)(/*RF6:tagged_out_memories*/r99tagged_out_memories()/*:RF6*/))/*:RF4*/;
/*RF3:pop*/r919pop((T919*)(/*RF6:tagged_out_memories*/r99tagged_out_memories()/*:RF6*/));
/*:RF3*/}/*--*/

/*TEXT_FILE_READ*/T0*r99tagged_out_memory_pool(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17tagged_out_memory_pool==0){fBC17tagged_out_memory_pool=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T59/*0ppi*/))));
*((T59*)tmp0/*new*/)=M59;
/*RF3:make*/r59make(((T59*)tmp0/*new*/));
/*:RF3*/oBC17tagged_out_memory_pool=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17tagged_out_memory_pool;
}/*--*/

/*TEXT_FILE_READ*/void r99filtered_read_character(T99*C){
if(/*RF8:>=*/((int32_t)((/*RF2:buffer_position*/(C)->_buffer_position/*pnpiiippc*//*:RF2*/)))>=((/*RF2:buffer_size*/(C)->_buffer_size/*pnpiiippc*//*:RF2*/))/*:RF8*/){
/*RF3:fill_buffer*/r99fill_buffer(C);
/*:RF3*/}
/*SFN*/(C->_filtered_last_character/*pnpiiippc*/)=/*RF8:item*/((/*RF2:buffer*/(C)->_buffer/*pnpiiippc*//*:RF2*/))[(/*RF2:buffer_position*/(C)->_buffer_position/*pnpiiippc*//*:RF2*/)]/*:RF8*/;
/*SFN*/(C->_buffer_position/*pnpiiippc*/)=/*RF8:+*/((int32_t)((/*RF2:buffer_position*/(C)->_buffer_position/*pnpiiippc*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_end_of_input/*pnpiiippc*/)=((T6)((/*RF2:end_reached*/(C)->_end_reached/*pnpiiippc*//*:RF2*/)));
}/*--*/

/*TEXT_FILE_READ*/void r99lock_tagged_out(void){
/*RF3:push*/r919push((T919*)(/*RF6:tagged_out_memories*/r99tagged_out_memories()/*:RF6*/),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)=/*RF4:best_fit*/r59best_fit((T59*)(/*RF6:tagged_out_memory_pool*/r99tagged_out_memory_pool()/*:RF6*/),INT32_C(32))/*:RF4*/;
}/*--*/

/*TEXT_FILE_READ*/void r99filtered_read_line_in(T99*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
T6 tmp2;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T6 _stop=0;
T2 _old_count=0;
T2 _new_count=0;
T2 _initial_count=0;
_initial_count=(/*RF2:count*/(((T7*)/*`str'*/a1))->_count/*Tniiiiip*//*:RF2*/);
while(1){
/*until*/if(_stop) break;
_i=(/*RF2:buffer_position*/(C)->_buffer_position/*pnpiiippc*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)(/*RF8:>=*/((int32_t)(_i))>=((/*RF2:buffer_size*/(C)->_buffer_size/*pnpiiippc*//*:RF2*/))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF8:item*/((/*RF2:buffer*/(C)->_buffer/*pnpiiippc*//*:RF2*/))[_i]/*:RF8*/)==(((T3)'\n'))));
}
/*until*/if(tmp0/*or else*/) break;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(/*RF8:>*/((int32_t)(_i))>((/*RF2:buffer_position*/(C)->_buffer_position/*pnpiiippc*//*:RF2*/))/*:RF8*/){
_old_count=(/*RF2:count*/(((T7*)/*`str'*/a1))->_count/*Tniiiiip*//*:RF2*/);
_new_count=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(_old_count))+(_i)/*:RF8*/))-((/*RF2:buffer_position*/(C)->_buffer_position/*pnpiiippc*//*:RF2*/))/*:RF8*/;
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(((T7*)/*`str'*/a1))->_capacity/*Tniiiiip*//*:RF2*/)))<(_new_count)/*:RF8*/){
/*RF3:resize*/r7resize(((T7*)/*`str'*/a1),/*RF4:max*/r2max(/*RF8:**/((int32_t)(_old_count))*(INT32_C(2))/*:RF8*/,_new_count)/*:RF4*/);
/*:RF3*/}
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=(/*RF2:buffer_position*/(C)->_buffer_position/*pnpiiippc*//*:RF2*/);
memcpy(((/*RF2:storage*/(((T7*)/*`str'*/a1))->_storage/*Tniiiiip*//*:RF2*/))+(_old_count),((/*RF2:buffer*/(C)->_buffer/*pnpiiippc*//*:RF2*/))+a3tmp,((/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/)-a3tmp+1)*sizeof(T3/*c*/));}
/*:RF7*/(/*RF2:count*/(((T7*)/*`str'*/a1))->_count/*Tniiiiip*//*:RF2*/)=_new_count;
}
tmp1/*and then*/=((T6)(/*RF8:<*/((int32_t)(_i))<((/*RF2:buffer_size*/(C)->_buffer_size/*pnpiiippc*//*:RF2*/))/*:RF8*/));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)((/*RF8:item*/((/*RF2:buffer*/(C)->_buffer/*pnpiiippc*//*:RF2*/))[_i]/*:RF8*/)==(((T3)'\n'))));
}
if(tmp1/*and then*/){
_stop=((T6)(1));
/*SFN*/(C->_buffer_position/*pnpiiippc*/)=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
tmp2/*and then*/=((T6)(/*RF8:>*/((int32_t)((/*RF2:count*/(((T7*)/*`str'*/a1))->_count/*Tniiiiip*//*:RF2*/)))>(_initial_count)/*:RF8*/));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)((/*RF4:last*/r7last(((T7*)/*`str'*/a1))/*:RF4*/)==(((T3)'\015'))));
}
if(tmp2/*and then*/){
/*RF3:remove_last*/r7remove_last(((T7*)/*`str'*/a1));
/*:RF3*/}
}
else{
if(((/*RF2:end_reached*/(C)->_end_reached/*pnpiiippc*//*:RF2*/))==(0)){
/*RF3:fill_buffer*/r99fill_buffer(C);
/*:RF3*/}
_stop=((T6)((/*RF2:end_reached*/(C)->_end_reached/*pnpiiippc*//*:RF2*/)));
}
}
/*SFN*/(C->_end_of_input/*pnpiiippc*/)=((T6)((/*RF2:end_reached*/(C)->_end_reached/*pnpiiippc*//*:RF2*/)));
}/*--*/

/*TEXT_FILE_READ*/void r99set_path(T99*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(((/*RF2:path*/(C)->_path/*pnpiiippc*//*:RF2*/))==((void*)((void*)0))){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`new_path'*/a1))->id)){
case 7:
tmp0/*out*/=/*RF4:out*/r7out(((T7*)/*`new_path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*out*/=/*RF4:out*/r311out(((T311*)/*`new_path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*out*/=/*RF4:out*/r321out(((T321*)/*`new_path'*/a1))/*:RF4*/;
}
/*inspect]*/
/*SFN*/(C->_path/*pnpiiippc*/)=tmp0/*out*/;
}
else{
/*RF3:lock_tagged_out*/r99lock_tagged_out();
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)));
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*`new_path'*/a1))->id)){
case 7:
/*RF3:out_in_tagged_out_memory*/r7out_in_tagged_out_memory(((T7*)/*`new_path'*/a1));
/*:RF3*/break;
case 311:
/*RF3:fill_tagged_out_memory*/r311fill_tagged_out_memory(((T311*)/*`new_path'*/a1));
/*:RF3*/break;
default:;
/*RF3:out_in_tagged_out_memory*/r321out_in_tagged_out_memory(((T321*)/*`new_path'*/a1));
/*:RF3*/}
/*inspect]*/
/*RF3:copy*/r7copy((T7*)((/*RF2:path*/(C)->_path/*pnpiiippc*//*:RF2*/)),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*//*RF3:unlock_tagged_out*/r99unlock_tagged_out();
/*:RF3*/}
}/*--*/

/*TEXT_FILE_READ*/void r99read_line(T99*C){
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:last_string*/r99last_string()/*:RF6*/));
/*:RF3*//*RF3:filtered_read_line_in*/r99filtered_read_line_in(C,/*RF6:last_string*/r99last_string()/*:RF6*/);
/*:RF3*/}/*--*/

/*TEXT_FILE_READ*/void r99fill_buffer(T99*C){
T3 _last='\0';
T6 _more=0;
_more=((T6)(/*RF8:>*/((int32_t)((/*RF2:buffer_size*/(C)->_buffer_size/*pnpiiippc*//*:RF2*/)))>(INT32_C(0))/*:RF8*/));
if(_more){
_last=/*RF8:item*/((/*RF2:buffer*/(C)->_buffer/*pnpiiippc*//*:RF2*/))[/*RF8:-*/((int32_t)((/*RF2:buffer_size*/(C)->_buffer_size/*pnpiiippc*//*:RF2*/)))-(INT32_C(1))/*:RF8*/]/*:RF8*/;
}
/*SFN*/(C->_buffer_size/*pnpiiippc*/)=/*RF8:io_fread*/io_fread((/*RF2:buffer*/(C)->_buffer/*pnpiiippc*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*pnpiiippc*//*:RF2*/),(/*RF2:input_stream*/(C)->_input_stream/*pnpiiippc*//*:RF2*/))/*:RF8*/;
/*SFN*/(C->_buffer_position/*pnpiiippc*/)=INT32_C(0);
if(((/*RF2:buffer_size*/(C)->_buffer_size/*pnpiiippc*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_end_reached/*pnpiiippc*/)=((T6)(1));
if(_more){
/*RF7:put*/((/*RF2:buffer*/(C)->_buffer/*pnpiiippc*//*:RF2*/))[INT32_C(0)]=(_last);
/*:RF7*//*SFN*/(C->_buffer_size/*pnpiiippc*/)=INT32_C(1);
/*SFN*/(C->_buffer_position/*pnpiiippc*/)=INT32_C(1);
}
else{
/*SFN*/(C->_buffer_size/*pnpiiippc*/)=INT32_C(0);
}
}
else{
if(/*RF8:<*/((int32_t)((/*RF2:buffer_size*/(C)->_buffer_size/*pnpiiippc*//*:RF2*/)))<(INT32_C(0))/*:RF8*/){
}
}
}/*--*/

/*TEXT_FILE_READ*/void r99connect_to(T99*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T8 tmp0;
/*INTERNAL_C_LOCAL list]*/
T8 _p=(void*)0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`new_path'*/a1))->id)){
case 7:
tmp0/*to_external*/=/*RF4:to_external*/r7to_external(((T7*)/*`new_path'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*to_external*/=/*RF4:to_external*/r311to_external(((T311*)/*`new_path'*/a1))/*:RF4*/;
break;
default:;
tmp0/*to_external*/=/*RF4:to_external*/r7to_external((T7*)(/*RF4:memory*/r321memory(((T321*)/*`new_path'*/a1))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
_p=tmp0/*to_external*/;
/*SFN*/(C->_input_stream/*pnpiiippc*/)=/*RF8:text_file_read_open*/text_file_read_open(_p)/*:RF8*/;
if(/*RF8:is_not_null*/(NULL!=(/*RF2:input_stream*/(C)->_input_stream/*pnpiiippc*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_end_of_input/*pnpiiippc*/)=((T6)(0));
/*RF3:set_path*/r99set_path(C,/*`new_path'*/a1);
/*:RF3*/if(((/*RF2:capacity*/(C)->_capacity/*pnpiiippc*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_buffer/*pnpiiippc*/)=/*RF8:calloc*/se_calloc(INT32_C(4096),sizeof(T3/*c*/))/*:RF8*/;
/*SFN*/(C->_capacity/*pnpiiippc*/)=INT32_C(4096);
}
/*SFN*/(C->_end_reached/*pnpiiippc*/)=((T6)(0));
/*SFN*/(C->_buffer_position/*pnpiiippc*/)=INT32_C(0);
/*SFN*/(C->_buffer_size/*pnpiiippc*/)=INT32_C(0);
/*SFN*/(C->_filtered_last_character/*pnpiiippc*/)=((T3)'\000');
}
}/*--*/
T0*oBC66last_string=(void*)0;
int fBC66last_string=0;

/*TEXT_FILE_READ*/T0*r99last_string(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC66last_string==0){fBC66last_string=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(1024));
/*:RF3*/oBC66last_string=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC66last_string;
}/*--*/

/*TEXT_FILE_READ*/void r99dispose(T99*C){
if(((/*RF2:path*/(C)->_path/*pnpiiippc*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:disconnect*/r99disconnect(C);
/*:RF3*/}
}/*--*/

/*TEXT_FILE_READ*/void r99disconnect(T99*C){
/*RF7:io_fclose*/io_fclose((/*RF2:input_stream*/(C)->_input_stream/*pnpiiippc*//*:RF2*/));
/*:RF7*//*SFN*/(C->_path/*pnpiiippc*/)=(void*)0;
/*SFN*/(C->_filter/*pnpiiippc*/)=(void*)0;
}/*--*/

/*TEXT_FILE_READ*/T0*r99tagged_out_memories(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17tagged_out_memories==0){fBC17tagged_out_memories=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T919/*niii*/))));
*((T919*)tmp0/*new*/)=M919;
/*RF3:make*/r919make(((T919*)tmp0/*new*/));
/*:RF3*/oBC17tagged_out_memories=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17tagged_out_memories;
}/*--*/

/*PARTIALLY_FILLED_STRING*/void r321unlock_tagged_out(void){
/*RF3:recycle*/r59recycle((T59*)(/*RF6:tagged_out_memory_pool*/r321tagged_out_memory_pool()/*:RF6*/),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)=/*RF4:top*/r919top((T919*)(/*RF6:tagged_out_memories*/r321tagged_out_memories()/*:RF6*/))/*:RF4*/;
/*RF3:pop*/r919pop((T919*)(/*RF6:tagged_out_memories*/r321tagged_out_memories()/*:RF6*/));
/*:RF3*/}/*--*/

/*PARTIALLY_FILLED_STRING*/T0*r321tagged_out_memory_pool(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17tagged_out_memory_pool==0){fBC17tagged_out_memory_pool=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T59/*0ppi*/))));
*((T59*)tmp0/*new*/)=M59;
/*RF3:make*/r59make(((T59*)tmp0/*new*/));
/*:RF3*/oBC17tagged_out_memory_pool=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17tagged_out_memory_pool;
}/*--*/

/*PARTIALLY_FILLED_STRING*/void r321lock_tagged_out(void){
/*RF3:push*/r919push((T919*)(/*RF6:tagged_out_memories*/r321tagged_out_memories()/*:RF6*/),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)=/*RF4:best_fit*/r59best_fit((T59*)(/*RF6:tagged_out_memory_pool*/r321tagged_out_memory_pool()/*:RF6*/),INT32_C(32))/*:RF4*/;
}/*--*/

/*PARTIALLY_FILLED_STRING*/void r321put_arg(T321*C,T0*a1){
/*RF3:add_last*/r938add_last((T938*)((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/)),/*`a_argument'*/a1);
/*:RF3*//*SFN*/(C->_memory_/*T4p*/)=(void*)0;
}/*--*/

/*PARTIALLY_FILLED_STRING*/T0*r321_ix_35(T321*C,T0*a1){
T0* R=(void*)0;
/*RF3:put_arg*/r321put_arg(C,/*`a_argument'*/a1);
/*:RF3*/R=((T0*)(C));
return R;
}/*--*/

/*PARTIALLY_FILLED_STRING*/T3 r321item(T321*C,T2 a1){
T3 R='\0';
R=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(C)/*:RF4*/),/*`a_index'*/a1)/*:RF4*/;
return R;
}/*--*/

/*PARTIALLY_FILLED_STRING*/void r321out_in_tagged_out_memory(T321*C){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T3 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _save_i=0;
T2 _accu=0;
T2 _state=0;
T3 _c='\0';
_i=INT32_C(1);
while(1){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))->id)){
case 7:
tmp0/*upper*/=(/*RF2:count*/(((T7*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*upper*/=(/*RF2:count*/(((T311*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*upper*/=/*RF4:count*/r321count(((T321*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))/*:RF4*/;
}
/*inspect]*/
/*until*/if(/*RF8:>*/((int32_t)(_i))>(tmp0/*upper*/)/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))->id)){
case 7:
tmp1/*item*/=/*RF4:item*/r7item(((T7*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)),_i)/*:RF4*/;
break;
case 311:
tmp1/*item*/=/*RF4:item*/r311item(((T311*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)),_i)/*:RF4*/;
break;
default:;
tmp1/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
_c=tmp1/*item*/;
/*[inspect*/
switch(_state){
case 0:
if((_c)==(((T3)'\043'))){
_state=INT32_C(1);
}
else{
/*RF3:extend*/r7extend((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),_c);
/*:RF3*/}
break;
case 1:
if((_c)==(((T3)'\050'))){
_save_i=_i;
_state=INT32_C(2);
_accu=INT32_C(0);
}
else{
if((_c)==(((T3)'\043'))){
/*RF3:extend*/r7extend((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),((T3)'\043'));
/*:RF3*/_state=INT32_C(0);
}
else{
/*RF3:extend*/r7extend((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),((T3)'\043'));
/*:RF3*/_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
_state=INT32_C(0);
}
}
break;
default:;
if((_c)==(((T3)'\051'))){
if((/*RF4:valid_index*/r938valid_index((T938*)((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/)),/*RF8:-*/((int32_t)(_accu))-(INT32_C(1))/*:RF8*/)/*:RF4*/)==(0)){
/*RF3:extend*/r7extend((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),((T3)'\043'));
/*:RF3*//*RF3:extend*/r7extend((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),((T3)'\050'));
/*:RF3*/_i=_save_i;
}
else{
if((/*RF8:item*/((/*RF2:storage*/((T938*)((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF8:-*/((int32_t)(_accu))-(INT32_C(1))/*:RF8*/]/*:RF8*/)==((void*)((void*)0))){
/*RF3:append*/r7append((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),ms31_14150Abc321A);
/*:RF3*/}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*RF8:item*/((/*RF2:storage*/((T938*)((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF8:-*/((int32_t)(_accu))-(INT32_C(1))/*:RF8*/]/*:RF8*/))->id)){
case 7:
/*RF3:out_in_tagged_out_memory*/r7out_in_tagged_out_memory(((T7*)/*RF8:item*/((/*RF2:storage*/((T938*)((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF8:-*/((int32_t)(_accu))-(INT32_C(1))/*:RF8*/]/*:RF8*/));
/*:RF3*/break;
case 311:
/*RF3:fill_tagged_out_memory*/r311fill_tagged_out_memory(((T311*)/*RF8:item*/((/*RF2:storage*/((T938*)((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF8:-*/((int32_t)(_accu))-(INT32_C(1))/*:RF8*/]/*:RF8*/));
/*:RF3*/break;
default:;
/*RF3:out_in_tagged_out_memory*/r321out_in_tagged_out_memory(((T321*)/*RF8:item*/((/*RF2:storage*/((T938*)((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF8:-*/((int32_t)(_accu))-(INT32_C(1))/*:RF8*/]/*:RF8*/));
/*:RF3*/}
/*inspect]*/
}
}
_state=INT32_C(0);
}
else{
if(/*RF4:is_digit*/r3is_digit(_c)/*:RF4*/){
_accu=/*RF8:+*/((int32_t)(/*RF8:**/((int32_t)(_accu))*(INT32_C(10))/*:RF8*/))+(/*IC*/(T2)(/*RF4:decimal_value*/r3decimal_value(_c)/*:RF4*/))/*:RF8*/;
}
else{
/*RF3:extend*/r7extend((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),((T3)'\043'));
/*:RF3*//*RF3:extend*/r7extend((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),((T3)'\050'));
/*:RF3*/_i=_save_i;
_state=INT32_C(0);
}
}
}
/*inspect]*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*PARTIALLY_FILLED_STRING*/T0*r321memory(T321*C){
T0* R=(void*)0;
R=(/*RF2:memory_*/(C)->_memory_/*T4p*//*:RF2*/);
if((R)==((void*)((void*)0))){
/*RF3:lock_tagged_out*/r321lock_tagged_out();
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)));
/*:RF3*//*RF3:out_in_tagged_out_memory*/r321out_in_tagged_out_memory(C);
/*:RF3*/R=(/*RF2:memory__*/(C)->_memory__/*T4p*//*:RF2*/);
if((R)==((void*)((void*)0))){
R=/*RF8:twin*/r7twin((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)))/*:RF8*/;
/*SFN*/(C->_memory__/*T4p*/)=R;
}
else{
R=(/*RF2:memory__*/(C)->_memory__/*T4p*//*:RF2*/);
/*RF3:copy*/r7copy(((T7*)R),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/}
/*RF3:unlock_tagged_out*/r321unlock_tagged_out();
/*:RF3*//*SFN*/(C->_memory_/*T4p*/)=R;
}
return R;
}/*--*/

/*PARTIALLY_FILLED_STRING*/void r321parse_template(T321*C){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T3 tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _accu=0;
T2 _capacity=0;
T2 _state=0;
T3 _c='\0';
_i=INT32_C(1);
while(1){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))->id)){
case 7:
tmp0/*upper*/=(/*RF2:count*/(((T7*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*upper*/=(/*RF2:count*/(((T311*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*upper*/=/*RF4:count*/r321count(((T321*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))/*:RF4*/;
}
/*inspect]*/
/*until*/if(/*RF8:>*/((int32_t)(_i))>(tmp0/*upper*/)/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))->id)){
case 7:
tmp1/*item*/=/*RF4:item*/r7item(((T7*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)),_i)/*:RF4*/;
break;
case 311:
tmp1/*item*/=/*RF4:item*/r311item(((T311*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)),_i)/*:RF4*/;
break;
default:;
tmp1/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)(/*RF2:template*/(C)->_template/*T4p*//*:RF2*/)))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
_c=tmp1/*item*/;
/*[inspect*/
switch(_state){
case 0:
if((_c)==(((T3)'\043'))){
_state=INT32_C(1);
}
break;
case 1:
if((_c)==(((T3)'\050'))){
_state=INT32_C(2);
_accu=INT32_C(0);
}
else{
_state=INT32_C(0);
}
break;
default:;
if((_c)==(((T3)'\051'))){
if(/*RF8:<*/((int32_t)(_capacity))<(_accu)/*:RF8*/){
_capacity=_accu;
}
_state=INT32_C(0);
}
else{
if(/*RF4:is_digit*/r3is_digit(_c)/*:RF4*/){
_accu=/*RF8:+*/((int32_t)(/*RF8:**/((int32_t)(_accu))*(INT32_C(10))/*:RF8*/))+(/*IC*/(T2)(/*RF4:decimal_value*/r3decimal_value(_c)/*:RF4*/))/*:RF8*/;
}
else{
_state=INT32_C(0);
}
}
}
/*inspect]*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:with_capacity*/r938with_capacity((T938*)((/*RF2:storage*/(C)->_storage/*T4p*//*:RF2*/)),_capacity);
/*:RF3*/}
else{
tmp2/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T938/*niii*/))));
*((T938*)tmp2/*new*/)=M938;
/*RF3:with_capacity*/r938with_capacity(((T938*)tmp2/*new*/),_capacity);
/*:RF3*//*SFN*/(C->_storage/*T4p*/)=tmp2/*new*/;
/*tmp2.unlock*/
}
}/*--*/

/*PARTIALLY_FILLED_STRING*/T0*r321tagged_out_memory(void){
T0* R=(void*)0;
R=(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/);
return R;
}/*--*/

/*PARTIALLY_FILLED_STRING*/T0*r321out(T321*C){
T0* R=(void*)0;
/*RF3:lock_tagged_out*/r321lock_tagged_out();
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)(/*RF4:tagged_out_memory*/r321tagged_out_memory()/*:RF4*/));
/*:RF3*//*RF3:out_in_tagged_out_memory*/r321out_in_tagged_out_memory(C);
/*:RF3*/R=/*RF8:twin*/r7twin((T7*)(/*RF4:tagged_out_memory*/r321tagged_out_memory()/*:RF4*/))/*:RF8*/;
/*RF3:unlock_tagged_out*/r321unlock_tagged_out();
/*:RF3*/return R;
}/*--*/

/*PARTIALLY_FILLED_STRING*/void r321from_string_and_arg(T321*C,T0*a1,T0*a2){
/*SFN*/(C->_template/*T4p*/)=/*`a_string'*/a1;
/*RF3:parse_template*/r321parse_template(C);
/*:RF3*//*RF3:put_arg*/r321put_arg(C,/*`a_argument'*/a2);
/*:RF3*/}/*--*/

/*PARTIALLY_FILLED_STRING*/void r321copy_slice_to_native(T321*C,T2 a1,T2 a2,T9 a3,T2 a4){
T2 _i=0;
T2 _j=0;
_i=/*`start_index'*/a1;
_j=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(/*`end_index'*/a2)/*:RF8*/) break;
/*RF7:put*/(/*`target'*/a3)[/*RF8:+*/((int32_t)(/*`target_offset'*/a4))+(_j)/*:RF8*/]=(/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(C)/*:RF4*/),_i)/*:RF4*/);
/*:RF7*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
_j=/*RF8:+*/((int32_t)(_j))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*PARTIALLY_FILLED_STRING*/T0*r321tagged_out_memories(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17tagged_out_memories==0){fBC17tagged_out_memories=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T919/*niii*/))));
*((T919*)tmp0/*new*/)=M919;
/*RF3:make*/r919make(((T919*)tmp0/*new*/));
/*:RF3*/oBC17tagged_out_memories=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17tagged_out_memories;
}/*--*/

/*PARTIALLY_FILLED_STRING*/void r321print_on(T321*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file'*/a1))->id)){
case 69:
/*RF3:put_abstract_string*/r69put_abstract_string(((T69*)/*`file'*/a1),(T0*)C);
/*:RF3*/break;
case 78:
/*RF3:put_abstract_string*/r78put_abstract_string((T0*)C);
/*:RF3*/break;
case 81:
/*RF3:put_abstract_string*/r81put_abstract_string((T0*)C);
/*:RF3*/break;
case 664:
/*RF3:put_abstract_string*/r664put_abstract_string((T0*)C);
/*:RF3*/break;
case 855:
/*RF3:put_abstract_string*/r855put_abstract_string(((T855*)/*`file'*/a1),(T0*)C);
/*:RF3*/break;
default:;
/*RF3:put_abstract_string*/r858put_abstract_string(((T858*)/*`file'*/a1),(T0*)C);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*PARTIALLY_FILLED_STRING*/T2 r321count(T321*C){
T2 R=0;
R=(/*RF2:count*/((T7*)(/*RF4:memory*/r321memory(C)/*:RF4*/))->_count/*Tniiiiip*//*:RF2*/);
return R;
}/*--*/
T0*oBC80is_running_memory=(void*)0;

/*AT_EXIT*/void r80run(void){
T0*_action=(void*)0;
(/*RF2:item*/(((T909*)oBC80is_running_memory))->_item/*p*//*:RF2*/)=((T6)(1));
while(1){
/*until*/if(/*RF4:is_empty*/r941is_empty((T941*)(/*RF6:actions*/r80actions()/*:RF6*/))/*:RF4*/) break;
_action=/*RF4:first*/r941first((T941*)(/*RF6:actions*/r80actions()/*:RF6*/))/*:RF4*/;
/*RF3:remove_first*/r941remove_first((T941*)(/*RF6:actions*/r80actions()/*:RF6*/));
/*:RF3*/agent_launcher(_action);
}
(/*RF2:item*/(((T909*)oBC80is_running_memory))->_item/*p*//*:RF2*/)=((T6)(0));
}/*--*/
T0*oBC80actions=(void*)0;
int fBC80actions=0;

/*AT_EXIT*/T0*r80actions(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC80actions==0){fBC80actions=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T941/*niiiii*/))));
*((T941*)tmp0/*new*/)=M941;
/*RF3:make*/r941make(((T941*)tmp0/*new*/),INT32_C(1),INT32_C(0));
/*:RF3*/oBC80actions=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC80actions;
}/*--*/

static 
/*agent launcher*/T0* afp_agenT809f809l126c52(se_agenT809f809l126c52*u){
int closed_C=(u->closed_C);
u->R=/*RF4:_inline_agent34*/r809_inline_agent34(closed_C)/*:RF4*/;
return u->R;
}/*--*/

/*agent creation*/T0*agenT809f809l126c52(int closed_C){
se_agenT809f809l126c52*u=(void*)new_agent(947);
u->creation_mold_id=0;
u->afp=afp_agenT809f809l126c52;
u->closed_C=closed_C;
return((T0*)u);
}/*--*/
T0*oBC809home=(void*)0;
int fBC809home=0;

/*XDG*/T0*r809home(T809 C){
if(fBC809home==0){fBC809home=1;{
oBC809home=/*RF4:getenv*/r809getenv(C,se_string(4,s556_11429A),(void*)0,(void*)0)/*:RF4*/;
}}
return oBC809home;
}/*--*/

/*XDG*/T0*r809package(void){
T0* R=(void*)0;
R=(/*RF2:item*/(((T946*)oBC809package_name))->_item/*p*//*:RF2*/);
return R;
}/*--*/

/*XDG*/T0*r809getenv(T809 C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T6 tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
int _system=0/*empty expanded*/;
T0*_value=(void*)0;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`var'*/a1))->id)){
case 7:
tmp0/*out*/=/*RF4:out*/r7out(((T7*)/*`var'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*out*/=/*RF4:out*/r311out(((T311*)/*`var'*/a1))/*:RF4*/;
break;
default:;
tmp0/*out*/=/*RF4:out*/r321out(((T321*)/*`var'*/a1))/*:RF4*/;
}
/*inspect]*/
_value=/*RF4:get_environment_variable*/r303get_environment_variable(tmp0/*out*/)/*:RF4*/;
tmp1/*or else*/=((T6)((_value)==((void*)((void*)0))));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(((/*RF2:count*/(((T7*)_value))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))));
}
if(tmp1/*or else*/){
if((/*`def'*/a3)==((void*)((void*)0))){
/*RF3:put_line*/r81put_line(((T81*)oBC17std_error),/*RF4:#*/r7_ix_35(((T7*)se_string(35,s809_630125369A)),/*`var'*/a1)/*:RF4*/);
/*:RF3*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}
/*[inspectDynamicDispatch*/
switch((((T0*)(/*auto-unlock tmp0*/(tmp0/*ddt1*/=(agent_launcher_R40(/*`def'*/a3)))))->id)){
case 7:
tmp2/*intern*/=/*RF4:intern*/r7intern(((T7*)tmp0/*ddt1*/))/*:RF4*/;
break;
case 311:
tmp2/*intern*/=/*RF4:intern*/r311intern(((T311*)tmp0/*ddt1*/))/*:RF4*/;
break;
default:;
tmp2/*intern*/=/*RF4:intern*/r7intern((T7*)(/*RF4:memory*/r321memory(((T321*)tmp0/*ddt1*/))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
/*tmp0.unlock*/
R=tmp2/*intern*/;
}
else{
R=/*RF4:intern*/r7intern(((T7*)_value))/*:RF4*/;
}
return R;
}/*--*/
T0*oBC809package_name=(void*)0;
T0*oBC809config_home=(void*)0;
int fBC809config_home=0;

/*XDG*/T0*r809config_home(T809 C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T0* tmp1;
/*INTERNAL_C_LOCAL list]*/
if(fBC809config_home==0){fBC809config_home=1;{
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:#*/r7_ix_35(((T7*)se_string(9,s809_17725666A)),/*RF6:config_home_*/r809config_home_(C)/*:RF6*/)/*:RF4*/))))->id)){
case 7:
tmp1/*#*/=/*RF4:#*/r7_ix_35(((T7*)tmp0/*ddt1*/),/*RF4:package*/r809package()/*:RF4*/)/*:RF4*/;
break;
case 311:
tmp1/*#*/=/*RF4:#*/r311_ix_35(((T311*)tmp0/*ddt1*/),/*RF4:package*/r809package()/*:RF4*/)/*:RF4*/;
break;
default:;
tmp1/*#*/=/*RF4:#*/r321_ix_35(((T321*)tmp0/*ddt1*/),/*RF4:package*/r809package()/*:RF4*/)/*:RF4*/;
}
/*inspect]*/
/*tmp0.unlock*/
/*[inspectDynamicDispatch*/
switch((((T0*)(tmp1/*#*/))->id)){
case 7:
/*reusing tmp0*/tmp0/*intern*/=/*RF4:intern*/r7intern(((T7*)tmp1/*#*/))/*:RF4*/;
break;
case 311:
tmp0/*intern*/=/*RF4:intern*/r311intern(((T311*)tmp1/*#*/))/*:RF4*/;
break;
default:;
tmp0/*intern*/=/*RF4:intern*/r7intern((T7*)(/*RF4:memory*/r321memory(((T321*)tmp1/*#*/))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
oBC809config_home=tmp0/*intern*/;
}}
return oBC809config_home;
}/*--*/

/*XDG*/T0*r809_inline_agent34(T809 C){
T0* R=(void*)0;
R=/*RF4:#*/r7_ix_35(((T7*)se_string(12,s809_2078852867A)),/*RF6:home*/r809home(C)/*:RF6*/)/*:RF4*/;
return R;
}/*--*/
int fBC809set_package=0;

/*XDG*/void r809set_package(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC809set_package==0){fBC809set_package=1;{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`a_package'*/a1))->id)){
case 7:
tmp0/*intern*/=/*RF4:intern*/r7intern(((T7*)/*`a_package'*/a1))/*:RF4*/;
break;
case 311:
tmp0/*intern*/=/*RF4:intern*/r311intern(((T311*)/*`a_package'*/a1))/*:RF4*/;
break;
default:;
tmp0/*intern*/=/*RF4:intern*/r7intern((T7*)(/*RF4:memory*/r321memory(((T321*)/*`a_package'*/a1))/*:RF4*/))/*:RF4*/;
}
/*inspect]*/
(/*RF2:item*/(((T946*)oBC809package_name))->_item/*p*//*:RF2*/)=tmp0/*intern*/;
}}}/*--*/
T0*oBC809config_home_=(void*)0;
int fBC809config_home_=0;

/*XDG*/T0*r809config_home_(T809 C){
if(fBC809config_home_==0){fBC809config_home_=1;{
oBC809config_home_=/*RF4:getenv*/r809getenv(C,se_string(15,s809_1309286095A),(void*)0,agenT809f809l126c52(C))/*:RF4*/;
}}
return oBC809config_home_;
}/*--*/

/*SERC_CHAIN*/void r806make(T806*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T948/*niiiii*/))));
*((T948*)tmp0/*new*/)=M948;
/*RF3:make*/r948make(((T948*)tmp0/*new*/),INT32_C(1),INT32_C(0));
/*:RF3*//*SFN*/(C->_config/*Tp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}/*--*/

/*SERC_CHAIN*/T0*r806sys(T806*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T0* tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp1/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
tmp2/*sys*/=/*RF4:sys*/r806sys(((T806*)tmp1/*ddt1*/))/*:RF4*/;
break;
case 807:
tmp2/*sys*/=(/*RF2:sys*/(((T807*)tmp1/*ddt1*/))->_sys/*T10pi*//*:RF2*/);
break;
default:;
/*UNUSED_EXPRESSION:*/(void)(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/);
tmp2/*sys*/=(void*)0;
}
/*inspect]*/
/*tmp1.unlock*/
R=tmp2/*sys*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*SERC_CHAIN*/void r806tools_in(T806*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
/*RF3:tools_in*/r806tools_in(((T806*)tmp0/*ddt1*/),/*`tools'*/a1);
/*:RF3*/break;
case 807:
/*RF3:tools_in*/r807tools_in(((T807*)tmp0/*ddt1*/),/*`tools'*/a1);
/*:RF3*/break;
default:;
/*UNUSED_EXPRESSION:*/(void)(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/);
}
/*inspect]*/
/*tmp0.unlock*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*SERC_CHAIN*/void r806loadpaths_in(T806*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
/*RF3:loadpaths_in*/r806loadpaths_in(((T806*)tmp0/*ddt1*/),/*`loadpaths'*/a1);
/*:RF3*/break;
case 807:
/*RF3:loadpaths_in*/r807loadpaths_in(((T807*)tmp0/*ddt1*/),/*`loadpaths'*/a1);
/*:RF3*/break;
default:;
/*UNUSED_EXPRESSION:*/(void)(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/);
}
/*inspect]*/
/*tmp0.unlock*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*SERC_CHAIN*/void r806environment_in(T806*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
/*RF3:environment_in*/r806environment_in(((T806*)tmp0/*ddt1*/),/*`env'*/a1);
/*:RF3*/break;
case 807:
/*RF3:environment_in*/r807environment_in(((T807*)tmp0/*ddt1*/),/*`env'*/a1);
/*:RF3*/break;
default:;
/*UNUSED_EXPRESSION:*/(void)(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/);
}
/*inspect]*/
/*tmp0.unlock*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*SERC_CHAIN*/void r806c_modes_in(T806*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp0/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
/*RF3:c_modes_in*/r806c_modes_in(((T806*)tmp0/*ddt1*/),/*`c_modes'*/a1);
/*:RF3*/break;
case 807:
/*RF3:c_modes_in*/r807c_modes_in(((T807*)tmp0/*ddt1*/),/*`c_modes'*/a1);
/*:RF3*/break;
default:;
/*UNUSED_EXPRESSION:*/(void)(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/);
}
/*inspect]*/
/*tmp0.unlock*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*SERC_CHAIN*/T0*r806flavor(T806*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T0* tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp1/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
tmp2/*flavor*/=/*RF4:flavor*/r806flavor(((T806*)tmp1/*ddt1*/))/*:RF4*/;
break;
case 807:
tmp2/*flavor*/=(/*RF2:flavor*/(((T807*)tmp1/*ddt1*/))->_flavor/*T10pi*//*:RF2*/);
break;
default:;
tmp2/*flavor*/=(/*RF2:flavor*/(((T808*)tmp1/*ddt1*/))->_flavor/*T2pi*//*:RF2*/);
}
/*inspect]*/
/*tmp1.unlock*/
R=tmp2/*flavor*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*SERC_CHAIN*/T0*r806environment(T806*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T0* tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp1/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
tmp2/*environment*/=/*RF4:environment*/r806environment(((T806*)tmp1/*ddt1*/),/*`var'*/a1)/*:RF4*/;
break;
case 807:
tmp2/*environment*/=/*RF4:reference_at*/r911reference_at((T911*)((/*RF2:my_environment*/(((T807*)tmp1/*ddt1*/))->_my_environment/*T10pi*//*:RF2*/)),/*`var'*/a1)/*:RF4*/;
break;
default:;
tmp2/*environment*/=/*RF4:environment*/r808environment(/*`var'*/a1)/*:RF4*/;
}
/*inspect]*/
/*tmp1.unlock*/
R=tmp2/*environment*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*SERC_CHAIN*/T0*r806short(T806*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T0* tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp1/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
tmp2/*short*/=/*RF4:short*/r806short(((T806*)tmp1/*ddt1*/))/*:RF4*/;
break;
case 807:
tmp2/*short*/=(/*RF2:short*/(((T807*)tmp1/*ddt1*/))->_short/*T10pi*//*:RF2*/);
break;
default:;
/*UNUSED_EXPRESSION:*/(void)(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/);
tmp2/*short*/=(void*)0;
}
/*inspect]*/
/*tmp1.unlock*/
R=tmp2/*short*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*SERC_CHAIN*/T0*r806bin(T806*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T0* tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp1/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
tmp2/*bin*/=/*RF4:bin*/r806bin(((T806*)tmp1/*ddt1*/))/*:RF4*/;
break;
case 807:
tmp2/*bin*/=(/*RF2:bin*/(((T807*)tmp1/*ddt1*/))->_bin/*T10pi*//*:RF2*/);
break;
default:;
/*UNUSED_EXPRESSION:*/(void)(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/);
tmp2/*bin*/=(void*)0;
}
/*inspect]*/
/*tmp1.unlock*/
R=tmp2/*bin*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*SERC_CHAIN*/T0*r806os(T806*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T0* tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
_i=(/*RF2:lower*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_lower/*niiiii*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)))->_upper/*niiiii*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)((tmp1/*ddt1*/=(/*RF4:item*/r948item((T948*)((/*RF2:config*/(C)->_config/*Tp*//*:RF2*/)),_i)/*:RF4*/))))->id)){
case 806:
tmp2/*os*/=/*RF4:os*/r806os(((T806*)tmp1/*ddt1*/))/*:RF4*/;
break;
case 807:
tmp2/*os*/=(/*RF2:os*/(((T807*)tmp1/*ddt1*/))->_os/*T10pi*//*:RF2*/);
break;
default:;
tmp2/*os*/=(/*RF2:os*/(((T808*)tmp1/*ddt1*/))->_os/*T2pi*//*:RF2*/);
}
/*inspect]*/
/*tmp1.unlock*/
R=tmp2/*os*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*SERC_DEFAULTS*/void r808make(T808*C){
/*SFN*/(C->_jobs/*T2pi*/)=INT32_C(1);
/*SFN*/(C->_flavor/*T2pi*/)=ms113_2009849Abc808A;
}/*--*/

/*SERC_DEFAULTS*/T0*r808environment(T0*a1){
T0* R=(void*)0;
int _system=0/*empty expanded*/;
R=/*RF4:get_environment_variable*/r303get_environment_variable(/*`var'*/a1)/*:RF4*/;
return R;
}/*--*/

/*STRING_RECYCLING_POOL*/void r59make(T59*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T949/*niii*/))));
*((T949*)tmp0/*new*/)=M949;
/*RF3:make*/r949make(((T949*)tmp0/*new*/),INT32_C(0));
/*:RF3*//*SFN*/(C->_strings/*0ppi*/)=tmp0/*new*/;
/*tmp0.unlock*/
}/*--*/

/*STRING_RECYCLING_POOL*/void r59recycle(T59*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T327 tmp1;
T327 tmp2;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T327 _item={(void*)0,0};
/*RF3:clear_count*/r7clear_count(((T7*)/*`string'*/a1));
/*:RF3*//*RF3:set_item*/r327set_item(&((/*RF2:recycling_item*/(C)->_recycling_item/*0ppi*//*:RF2*/)),/*`string'*/a1);
/*:RF3*/if(/*RF4:is_empty*/r949is_empty((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)))/*:RF4*/){
/*RF3:add_last*/r949add_last((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),(/*RF2:recycling_item*/(C)->_recycling_item/*0ppi*//*:RF2*/));
/*:RF3*//*SFN*/(C->_recycling_item/*0ppi*/)=/*RF8:twin*/r327twin(&_item)/*:RF8*/;
}
else{
_i=/*RF4:insert_index*/r749insert_index((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/),(/*RF2:recycling_item*/(C)->_recycling_item/*0ppi*//*:RF2*/))/*:RF4*/;
tmp0/*and then*/=((T6)(/*RF4:valid_index*/r949valid_index((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_i)/*:RF4*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:item*/r327item((tmp1/*fcstrangeisnotunlock*/=/*RF4:item*/r949item((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_i)/*:RF4*/,&tmp1/*fcstrangeisnotunlock*/))/*:RF4*/)==((void*)((void*)0))));
}
if(tmp0/*and then*/){
_item=/*RF8:twin*/r327twin((tmp2/*fcstrangeisnotunlock*/=/*RF4:item*/r949item((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_i)/*:RF4*/,&tmp2/*fcstrangeisnotunlock*/))/*:RF8*/;
/*RF3:set_item*/r327set_item(&_item,/*`string'*/a1);
/*:RF3*//*RF3:put*/r949put((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_item,_i);
/*:RF3*//*RF3:set_item*/r327set_item(&((/*RF2:recycling_item*/(C)->_recycling_item/*0ppi*//*:RF2*/)),(void*)0);
/*:RF3*/}
else{
/*RF3:add*/r949add((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_item,_i);
/*:RF3*//*SFN*/(C->_recycling_item/*0ppi*/)=/*RF8:twin*/r327twin(&_item)/*:RF8*/;
}
}
}/*--*/

/*STRING_RECYCLING_POOL*/T0*r59best_fit(T59*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T327 tmp0;
T6 tmp1;
T6 tmp2;
T327 tmp3;
T0* tmp4;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
T6 _gc=0;
T327 _item={(void*)0,0};
_gc=((T6)(/*RF8:collecting*/(0)/*:RF8*/));
if(_gc){
/*RF7:collection_off*//*:RF7*/}
if((/*RF4:is_empty*/r949is_empty((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)))/*:RF4*/)==(0)){
(/*RF2:capacity*/(_item)._capacity/*pi*//*:RF2*/)=/*`capacity'*/a1;
_i=/*RF4:insert_index*/r749insert_index((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/),_item)/*:RF4*/;
if(/*RF4:valid_index*/r949valid_index((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_i)/*:RF4*/){
R=/*RF4:item*/r327item((tmp0/*fcstrangeisnotunlock*/=/*RF4:item*/r949item((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_i)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF4*/;
while(1){
tmp1/*and then*/=((T6)((R)!=((void*)((void*)0))));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)(/*RF8:>=*/((int32_t)((/*RF2:capacity*/(((T7*)R))->_capacity/*Tniiiiip*//*:RF2*/)))>=(/*`capacity'*/a1)/*:RF8*/));
}
tmp2/*or else*/=((T6)(tmp1/*and then*/));
if(tmp2/*or else*/){
}
else{
tmp2/*or else*/=((T6)((_i)==(INT32_C(0))));
}
/*until*/if(tmp2/*or else*/) break;
_i=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
R=/*RF4:item*/r327item((tmp3/*fcstrangeisnotunlock*/=/*RF4:item*/r949item((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_i)/*:RF4*/,&tmp3/*fcstrangeisnotunlock*/))/*:RF4*/;
}
if((R)!=((void*)((void*)0))){
_item=/*RF8:twin*/r327twin((/*auto-unlock tmp3*/tmp3/*fcstrangeisnotunlock*/=/*RF4:item*/r949item((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_i)/*:RF4*/,&tmp3/*fcstrangeisnotunlock*/))/*:RF8*/;
/*RF3:set_item*/r327set_item(&_item,(void*)0);
/*:RF3*//*RF3:put*/r949put((T949*)((/*RF2:strings*/(C)->_strings/*0ppi*//*:RF2*/)),_item,_i);
/*:RF3*/if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(((T7*)R))->_capacity/*Tniiiiip*//*:RF2*/)))<(/*`capacity'*/a1)/*:RF8*/){
/*RF3:ensure_capacity*/r7ensure_capacity(((T7*)R),/*`capacity'*/a1);
/*:RF3*/}
}
}
}
if(_gc){
/*RF7:collection_on*//*:RF7*/}
if((R)==((void*)((void*)0))){
tmp4/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp4/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp4/*new*/),/*`capacity'*/a1);
/*:RF3*/R=tmp4/*new*/;
/*tmp4.unlock*/
}
return R;
}/*--*/

/*PARSER_BUFFER*/void r123make(T123*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T906/*niii*/))));
*((T906*)tmp0/*new*/)=M906;
/*RF3:with_capacity*/r906with_capacity(((T906*)tmp0/*new*/),INT32_C(6000));
/*:RF3*//*SFN*/(C->_text/*3pi*/)=tmp0/*new*/;
/*tmp0.unlock*/
}/*--*/

/*PARSER_BUFFER*/void r123release(T123*C){
/*SFN*/(C->_hashed_path/*3pi*/)=(void*)0;
/*SFN*/(C->_cluster/*3pi*/)=(void*)0;
}/*--*/

/*PARSER_BUFFER*/void r123load_file(T123*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
/*RF3:connect_to*/r99connect_to(((T99*)oBC30tmp_file_read),/*`a_path'*/a1);
/*:RF3*/if(((/*RF2:path*/(((T99*)oBC30tmp_file_read))->_path/*pnpiiippc*//*:RF2*/))!=((void*)((void*)0))){
/*SFN*/(C->_hashed_path/*3pi*/)=/*RF4:hashed_string*/r281hashed_string(/*`a_path'*/a1)/*:RF4*/;
tmp0/*ifthen (empty)*/=((T6)((/*RF4:empty_line_at*/r123empty_line_at(C,INT32_C(0))/*:RF4*/)!=((void*)((void*)0))));
_i=INT32_C(1);
/*RF3:filtered_read_line_in*/r99filtered_read_line_in(((T99*)oBC30tmp_file_read),/*RF4:empty_line_at*/r123empty_line_at(C,_i)/*:RF4*/);
/*:RF3*/while(1){
/*until*/if((/*RF2:end_of_input*/(((T99*)oBC30tmp_file_read))->_end_of_input/*pnpiiippc*//*:RF2*/)) break;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
/*RF3:filtered_read_line_in*/r99filtered_read_line_in(((T99*)oBC30tmp_file_read),/*RF4:empty_line_at*/r123empty_line_at(C,_i)/*:RF4*/);
/*:RF3*/}
if(((/*RF2:count*/((T7*)(/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:text*/(C)->_text/*3pi*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_count/*3pi*/)=/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/;
}
else{
/*SFN*/(C->_count/*3pi*/)=_i;
}
/*RF3:disconnect*/r99disconnect(((T99*)oBC30tmp_file_read));
/*:RF3*//*auto-unlock tmp0*/tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)((/*RF2:count*/(C)->_count/*3pi*//*:RF2*/)))<=(INT32_C(0))/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(((/*RF2:item*/(((T909*)oBC30install_memory))->_item/*p*//*:RF2*/))==(0)));
}
if(tmp0/*and then*/){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r123error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms123_300594Abc123A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r123error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),(/*RF2:to_string*/((T107*)((/*RF2:hashed_path*/(C)->_hashed_path/*3pi*//*:RF2*/)))->_to_string/*pi*//*:RF2*/));
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r123error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms123_138929174Abc123A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r123error_handler()/*:RF6*/));
/*:RF3*/}
}
else{
/*SFN*/(C->_hashed_path/*3pi*/)=(void*)0;
}
}/*--*/
T0*oBC30string_aliaser=(void*)0;

/*PARSER_BUFFER*/T0*r123error_handler(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30error_handler==0){fBC30error_handler=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T293/*3piipp*/))));
*((T293*)tmp0/*new*/)=M293;
/*RF3:default_create*/r293default_create(((T293*)tmp0/*new*/));
/*:RF3*/oBC30error_handler=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30error_handler;
}/*--*/

/*PARSER_BUFFER*/T0*r123empty_line_at(T123*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
if(/*RF8:<=*/((int32_t)(/*`i'*/a1))<=((/*RF2:upper*/((T906*)((/*RF2:text*/(C)->_text/*3pi*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/){
R=/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:text*/(C)->_text/*3pi*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*`i'*/a1]/*:RF8*/;
/*RF3:clear_count*/r7clear_count(((T7*)R));
/*:RF3*/}
else{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(128));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add_last*/r906add_last((T906*)((/*RF2:text*/(C)->_text/*3pi*//*:RF2*/)),R);
/*:RF3*/}
return R;
}/*--*/

/*SERC*/void r807make(T807*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T6 tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0*_i=(void*)0;
T0*_cmode=(void*)0;
T0*_m=(void*)0;
T0*_cc=(void*)0;
T0*_ccp=(void*)0;
T0*_clp=(void*)0;
T0*_csp=(void*)0;
T0*_cco=(void*)0;
T0*_clo=(void*)0;
T0*_pc=(void*)0;
T0*_pcp=(void*)0;
T0*_plp=(void*)0;
T0*_psp=(void*)0;
T0*_pco=(void*)0;
T0*_plo=(void*)0;
T0*_so=(void*)0;
T0*_tmp=(void*)0;
/*SFN*/(C->_my_path/*T10pi*/)=/*RF8:twin*/r7twin((T7*)((/*RF2:to_string*/((T107*)((/*RF2:hashed_path*/((T123*)(/*RF6:parser_buffer*/r807parser_buffer()/*:RF6*/))->_hashed_path/*3pi*//*:RF2*/)))->_to_string/*pi*//*:RF2*/)))/*:RF8*/;
/*RF3:a_inifile*/r106a_inifile(((T106*)oBC30ini_parser));
/*:RF3*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T911/*T2pniiiii*/))));
*((T911*)tmp0/*new*/)=M911;
/*RF3:make*/r911make(((T911*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_my_environment/*T10pi*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T911/*T2pniiiii*/))));
*((T911*)tmp0/*new*/)=M911;
/*RF3:make*/r911make(((T911*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_my_loadpaths/*T10pi*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T911/*T2pniiiii*/))));
*((T911*)tmp0/*new*/)=M911;
/*RF3:make*/r911make(((T911*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_my_tools/*T10pi*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T951/*2pniiiii*/))));
*((T951*)tmp0/*new*/)=M951;
/*RF3:make*/r951make(((T951*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_my_c_modes/*T10pi*/)=tmp0/*new*/;
/*tmp0.unlock*/
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_3085Abc32A)/*:RF4*/){
/*SFN*/(C->_bin/*T10pi*/)=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_3085Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_3595Abc32A)/*:RF4*/){
/*SFN*/(C->_sys/*T10pi*/)=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_3595Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_88336Abc32A)/*:RF4*/){
/*SFN*/(C->_short/*T10pi*/)=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_88336Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_670Abc32A)/*:RF4*/){
/*SFN*/(C->_os/*T10pi*/)=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_670Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_401994Abc32A)/*:RF4*/){
/*SFN*/(C->_flavor/*T10pi*/)=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_401994Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_16630Abc32A)/*:RF4*/){
_tmp=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_1509818Abc32A,ms32_16630Abc32A)/*:RF4*/;
if((/*RF4:is_integer*/r7is_integer(((T7*)_tmp))/*:RF4*/)==(0)){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms807_68224Abc807A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms32_16630Abc32A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms807_1932458562Abc807A);
/*:RF3*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}
/*SFN*/(C->_jobs/*T10pi*/)=/*RF4:to_integer*/r7to_integer(((T7*)_tmp))/*:RF4*/;
}
_i=/*RF4:section_key_iterator*/r106section_key_iterator(((T106*)oBC30ini_parser),ms32_945182441Abc32A)/*:RF4*/;
if((_i)!=((void*)((void*)0))){
while(1){
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
tmp1/*is_off*/=((T6)(/*RF4:is_off*/r994is_off(((T994*)_i))/*:RF4*/));
break;
case 1025:
tmp1/*is_off*/=((T6)(((/*RF2:cur*/(((T1025*)_i))->_cur/*T4pi*//*:RF2*/))==((void*)((void*)0))));
break;
default:;
tmp1/*is_off*/=((T6)(/*RF4:is_off*/r1048is_off(((T1048*)_i))/*:RF4*/));
}
/*inspect]*/
/*until*/if(tmp1/*is_off*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*reusing tmp0*/tmp0/*item*/=/*RF4:item*/r994item(((T994*)_i))/*:RF4*/;
break;
case 1025:
tmp0/*item*/=/*RF4:item*/r1025item(((T1025*)_i))/*:RF4*/;
break;
default:;
tmp0/*item*/=/*RF4:item*/r1048item(((T1048*)_i))/*:RF4*/;
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
tmp2/*item*/=/*RF4:item*/r994item(((T994*)_i))/*:RF4*/;
break;
case 1025:
tmp2/*item*/=/*RF4:item*/r1025item(((T1025*)_i))/*:RF4*/;
break;
default:;
tmp2/*item*/=/*RF4:item*/r1048item(((T1048*)_i))/*:RF4*/;
}
/*inspect]*/
/*RF3:put*/r911put((T911*)((/*RF2:my_environment*/(C)->_my_environment/*T10pi*//*:RF2*/)),/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_945182441Abc32A,tmp0/*item*/)/*:RF4*/,tmp2/*item*/);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*RF3:next*/r994next(((T994*)_i));
/*:RF3*/break;
case 1025:
/*RF3:go_next*/r1025go_next(((T1025*)_i));
/*:RF3*/break;
default:;
/*RF3:next*/r1048next(((T1048*)_i));
/*:RF3*/}
/*inspect]*/
}
}
_i=/*RF4:section_key_iterator*/r106section_key_iterator(((T106*)oBC30ini_parser),ms32_8054609Abc32A)/*:RF4*/;
if((_i)!=((void*)((void*)0))){
while(1){
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*auto-unlock tmp1*/tmp1/*is_off*/=((T6)(/*RF4:is_off*/r994is_off(((T994*)_i))/*:RF4*/));
break;
case 1025:
tmp1/*is_off*/=((T6)(((/*RF2:cur*/(((T1025*)_i))->_cur/*T4pi*//*:RF2*/))==((void*)((void*)0))));
break;
default:;
tmp1/*is_off*/=((T6)(/*RF4:is_off*/r1048is_off(((T1048*)_i))/*:RF4*/));
}
/*inspect]*/
/*until*/if(tmp1/*is_off*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*auto-unlock tmp0*/tmp0/*item*/=/*RF4:item*/r994item(((T994*)_i))/*:RF4*/;
break;
case 1025:
tmp0/*item*/=/*RF4:item*/r1025item(((T1025*)_i))/*:RF4*/;
break;
default:;
tmp0/*item*/=/*RF4:item*/r1048item(((T1048*)_i))/*:RF4*/;
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*auto-unlock tmp2*/tmp2/*item*/=/*RF4:item*/r994item(((T994*)_i))/*:RF4*/;
break;
case 1025:
tmp2/*item*/=/*RF4:item*/r1025item(((T1025*)_i))/*:RF4*/;
break;
default:;
tmp2/*item*/=/*RF4:item*/r1048item(((T1048*)_i))/*:RF4*/;
}
/*inspect]*/
/*RF3:put*/r911put((T911*)((/*RF2:my_loadpaths*/(C)->_my_loadpaths/*T10pi*//*:RF2*/)),/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_8054609Abc32A,tmp0/*item*/)/*:RF4*/,tmp2/*item*/);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*RF3:next*/r994next(((T994*)_i));
/*:RF3*/break;
case 1025:
/*RF3:go_next*/r1025go_next(((T1025*)_i));
/*:RF3*/break;
default:;
/*RF3:next*/r1048next(((T1048*)_i));
/*:RF3*/}
/*inspect]*/
}
}
_i=/*RF4:section_key_iterator*/r106section_key_iterator(((T106*)oBC30ini_parser),ms32_69805Abc32A)/*:RF4*/;
if((_i)!=((void*)((void*)0))){
while(1){
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*auto-unlock tmp1*/tmp1/*is_off*/=((T6)(/*RF4:is_off*/r994is_off(((T994*)_i))/*:RF4*/));
break;
case 1025:
tmp1/*is_off*/=((T6)(((/*RF2:cur*/(((T1025*)_i))->_cur/*T4pi*//*:RF2*/))==((void*)((void*)0))));
break;
default:;
tmp1/*is_off*/=((T6)(/*RF4:is_off*/r1048is_off(((T1048*)_i))/*:RF4*/));
}
/*inspect]*/
/*until*/if(tmp1/*is_off*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*auto-unlock tmp0*/tmp0/*item*/=/*RF4:item*/r994item(((T994*)_i))/*:RF4*/;
break;
case 1025:
tmp0/*item*/=/*RF4:item*/r1025item(((T1025*)_i))/*:RF4*/;
break;
default:;
tmp0/*item*/=/*RF4:item*/r1048item(((T1048*)_i))/*:RF4*/;
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*auto-unlock tmp2*/tmp2/*item*/=/*RF4:item*/r994item(((T994*)_i))/*:RF4*/;
break;
case 1025:
tmp2/*item*/=/*RF4:item*/r1025item(((T1025*)_i))/*:RF4*/;
break;
default:;
tmp2/*item*/=/*RF4:item*/r1048item(((T1048*)_i))/*:RF4*/;
}
/*inspect]*/
/*RF3:put*/r911put((T911*)((/*RF2:my_tools*/(C)->_my_tools/*T10pi*//*:RF2*/)),/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),ms32_69805Abc32A,tmp0/*item*/)/*:RF4*/,tmp2/*item*/);
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*RF3:next*/r994next(((T994*)_i));
/*:RF3*/break;
case 1025:
/*RF3:go_next*/r1025go_next(((T1025*)_i));
/*:RF3*/break;
default:;
/*RF3:next*/r1048next(((T1048*)_i));
/*:RF3*/}
/*inspect]*/
}
}
_i=/*RF4:sections_iterator*/r106sections_iterator(((T106*)oBC30ini_parser))/*:RF4*/;
if((_i)!=((void*)((void*)0))){
while(1){
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*auto-unlock tmp1*/tmp1/*is_off*/=((T6)(/*RF4:is_off*/r994is_off(((T994*)_i))/*:RF4*/));
break;
case 1025:
tmp1/*is_off*/=((T6)(((/*RF2:cur*/(((T1025*)_i))->_cur/*T4pi*//*:RF2*/))==((void*)((void*)0))));
break;
default:;
tmp1/*is_off*/=((T6)(/*RF4:is_off*/r1048is_off(((T1048*)_i))/*:RF4*/));
}
/*inspect]*/
/*until*/if(tmp1/*is_off*/) break;
_cc=(void*)0;
_ccp=(void*)0;
_clp=(void*)0;
_csp=(void*)0;
_cco=(void*)0;
_clo=(void*)0;
_pc=(void*)0;
_pcp=(void*)0;
_plp=(void*)0;
_psp=(void*)0;
_pco=(void*)0;
_plo=(void*)0;
_so=(void*)0;
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*auto-unlock tmp0*/tmp0/*item*/=/*RF4:item*/r994item(((T994*)_i))/*:RF4*/;
break;
case 1025:
tmp0/*item*/=/*RF4:item*/r1025item(((T1025*)_i))/*:RF4*/;
break;
default:;
tmp0/*item*/=/*RF4:item*/r1048item(((T1048*)_i))/*:RF4*/;
}
/*inspect]*/
_m=tmp0/*item*/;
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_479921113Abc32A)/*:RF4*/){
_cc=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_479921113Abc32A)/*:RF4*/;
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_479922190Abc32A)/*:RF4*/){
_ccp=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_479922190Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_56927287Abc32A)/*:RF4*/){
_clp=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_56927287Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_1747646688Abc32A)/*:RF4*/){
_csp=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_1747646688Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_139303084Abc32A)/*:RF4*/){
_cco=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_139303084Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_1473988901Abc32A)/*:RF4*/){
_clo=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_1473988901Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_1532344910Abc32A)/*:RF4*/){
_pc=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_1532344910Abc32A)/*:RF4*/;
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_1532343833Abc32A)/*:RF4*/){
_pcp=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_1532343833Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_1168210079Abc32A)/*:RF4*/){
_plp=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_1168210079Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_251916328Abc32A)/*:RF4*/){
_psp=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_251916328Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_1730514379Abc32A)/*:RF4*/){
_pco=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_1730514379Abc32A)/*:RF4*/;
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_2593373Abc32A)/*:RF4*/){
_plo=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_2593373Abc32A)/*:RF4*/;
}
}
if(/*RF4:section_has*/r106section_has(((T106*)oBC30ini_parser),_m,ms32_306165094Abc32A)/*:RF4*/){
_so=/*RF4:section_item*/r106section_item(((T106*)oBC30ini_parser),_m,ms32_306165094Abc32A)/*:RF4*/;
}
/*auto-unlock tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T302/*13p*/))));
*((T302*)tmp0/*new*/)=M302;
/*RF3:make*/r302make(((T302*)tmp0/*new*/),_cc,_ccp,_clp,_csp,_cco,_clo,_pc,_pcp,_plp,_psp,_pco,_plo,_so);
/*:RF3*/_cmode=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:put*/r951put((T951*)((/*RF2:my_c_modes*/(C)->_my_c_modes/*T10pi*//*:RF2*/)),_cmode,_m);
/*:RF3*/}
/*[inspectDynamicDispatch*/
switch((((T0*)(_i))->id)){
case 994:
/*RF3:next*/r994next(((T994*)_i));
/*:RF3*/break;
case 1025:
/*RF3:go_next*/r1025go_next(((T1025*)_i));
/*:RF3*/break;
default:;
/*RF3:next*/r1048next(((T1048*)_i));
/*:RF3*/}
/*inspect]*/
}
}
}/*--*/

/*SERC*/void r807add_all(T807*C,T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T0* tmp1;
T0* tmp2;
T0* tmp3;
T0* tmp4;
T0* tmp5;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T0*_k=(void*)0;
T0*_v=(void*)0;
_i=INT32_C(1);
while(1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`source'*/a2))->id)){
case 907:
tmp0/*upper*/=(/*RF2:count*/(((T907*)/*`source'*/a2))->_count/*T5piipp*//*:RF2*/);
break;
case 911:
tmp0/*upper*/=(/*RF2:count*/(((T911*)/*`source'*/a2))->_count/*T2pniiiii*//*:RF2*/);
break;
default:;
tmp0/*upper*/=(/*RF2:count*/(((T971*)/*`source'*/a2))->_count/*T3pniiiii*//*:RF2*/);
}
/*inspect]*/
/*until*/if(/*RF8:>*/((int32_t)(_i))>(tmp0/*upper*/)/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`source'*/a2))->id)){
case 907:
tmp1/*key*/=/*RF4:key*/r907key(((T907*)/*`source'*/a2),_i)/*:RF4*/;
break;
case 911:
tmp1/*key*/=/*RF4:key*/r911key(((T911*)/*`source'*/a2),_i)/*:RF4*/;
break;
default:;
tmp1/*key*/=/*RF4:key*/r971key(((T971*)/*`source'*/a2),_i)/*:RF4*/;
}
/*inspect]*/
_k=tmp1/*key*/;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`target'*/a1))->id)){
case 907:
/*auto-unlock tmp1*/tmp1/*reference_at*/=/*RF4:reference_at*/r907reference_at(((T907*)/*`target'*/a1),_k)/*:RF4*/;
break;
case 911:
tmp1/*reference_at*/=/*RF4:reference_at*/r911reference_at(((T911*)/*`target'*/a1),_k)/*:RF4*/;
break;
default:;
tmp1/*reference_at*/=/*RF4:reference_at*/r971reference_at(((T971*)/*`target'*/a1),_k)/*:RF4*/;
}
/*inspect]*/
_v=tmp1/*reference_at*/;
if((_v)==((void*)((void*)0))){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`target'*/a1))->id)){
case 907:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`source'*/a2))->id)){
case 907:
/*auto-unlock tmp1*/tmp1/*item*/=/*RF4:item*/r907item(((T907*)/*`source'*/a2),_i)/*:RF4*/;
break;
case 911:
tmp1/*item*/=/*RF4:item*/r911item(((T911*)/*`source'*/a2),_i)/*:RF4*/;
break;
default:;
tmp1/*item*/=/*RF4:item*/r971item(((T971*)/*`source'*/a2),_i)/*:RF4*/;
}
/*inspect]*/
/*RF3:add*/r907add(((T907*)/*`target'*/a1),tmp1/*item*/,_k);
/*:RF3*/break;
case 911:
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`source'*/a2))->id)){
case 907:
tmp2/*item*/=/*RF4:item*/r907item(((T907*)/*`source'*/a2),_i)/*:RF4*/;
break;
case 911:
tmp2/*item*/=/*RF4:item*/r911item(((T911*)/*`source'*/a2),_i)/*:RF4*/;
break;
default:;
tmp2/*item*/=/*RF4:item*/r971item(((T971*)/*`source'*/a2),_i)/*:RF4*/;
}
/*inspect]*/
/*RF3:add*/r911add(((T911*)/*`target'*/a1),tmp2/*item*/,_k);
/*:RF3*/break;
default:;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`source'*/a2))->id)){
case 907:
tmp3/*item*/=/*RF4:item*/r907item(((T907*)/*`source'*/a2),_i)/*:RF4*/;
break;
case 911:
tmp3/*item*/=/*RF4:item*/r911item(((T911*)/*`source'*/a2),_i)/*:RF4*/;
break;
default:;
tmp3/*item*/=/*RF4:item*/r971item(((T971*)/*`source'*/a2),_i)/*:RF4*/;
}
/*inspect]*/
/*RF3:add*/r971add(((T971*)/*`target'*/a1),tmp3/*item*/,_k);
/*:RF3*/}
/*inspect]*/
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`source'*/a2))->id)){
case 907:
tmp4/*item*/=/*RF4:item*/r907item(((T907*)/*`source'*/a2),_i)/*:RF4*/;
break;
case 911:
tmp4/*item*/=/*RF4:item*/r911item(((T911*)/*`source'*/a2),_i)/*:RF4*/;
break;
default:;
tmp4/*item*/=/*RF4:item*/r971item(((T971*)/*`source'*/a2),_i)/*:RF4*/;
}
/*inspect]*/
if((/*RF4:is_equal*/r7is_equal(((T7*)tmp4/*item*/),_v)/*:RF4*/)==(0)){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms807_602797481Abc807A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),/*`section_name'*/a3);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms807_65332Abc807A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),(/*RF2:my_path*/(C)->_my_path/*T10pi*//*:RF2*/));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms807_1000694404Abc807A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),_k);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),((T3)'\072'));
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*`target'*/a1))->id)){
case 907:
tmp5/*at*/=/*RF4:at*/r907at(((T907*)/*`target'*/a1),_k)/*:RF4*/;
break;
case 911:
tmp5/*at*/=/*RF4:at*/r911at(((T911*)/*`target'*/a1),_k)/*:RF4*/;
break;
default:;
tmp5/*at*/=/*RF4:at*/r971at(((T971*)/*`target'*/a1),_k)/*:RF4*/;
}
/*inspect]*/
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),tmp5/*at*/);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms807_789213750Abc807A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),_k);
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),((T3)'\072'));
/*:RF3*//*[inspectDynamicDispatch*/
switch((((T0*)(/*`source'*/a2))->id)){
case 907:
/*auto-unlock tmp5*/tmp5/*at*/=/*RF4:at*/r907at(((T907*)/*`source'*/a2),_k)/*:RF4*/;
break;
case 911:
tmp5/*at*/=/*RF4:at*/r911at(((T911*)/*`source'*/a2),_k)/*:RF4*/;
break;
default:;
tmp5/*at*/=/*RF4:at*/r971at(((T971*)/*`source'*/a2),_k)/*:RF4*/;
}
/*inspect]*/
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),tmp5/*at*/);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),se_string(13,s807_1883030297A));
/*:RF3*/}
}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*SERC*/void r807tools_in(T807*C,T0*a1){
/*RF3:add_all*/r807add_all(C,/*`tools'*/a1,(/*RF2:my_tools*/(C)->_my_tools/*T10pi*//*:RF2*/),ms32_69805Abc807A);
/*:RF3*/}/*--*/

/*SERC*/T0*r807echo(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30echo==0){fBC30echo=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T126/*3pip*/))));
*((T126*)tmp0/*new*/)=M126;
/*RF3:make*/r126make(((T126*)tmp0/*new*/));
/*:RF3*/oBC30echo=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30echo;
}/*--*/

/*SERC*/void r807loadpaths_in(T807*C,T0*a1){
/*RF3:add_all*/r807add_all(C,/*`loadpaths'*/a1,(/*RF2:my_loadpaths*/(C)->_my_loadpaths/*T10pi*//*:RF2*/),ms32_8054609Abc807A);
/*:RF3*/}/*--*/

/*SERC*/void r807environment_in(T807*C,T0*a1){
/*RF3:add_all*/r807add_all(C,/*`env'*/a1,(/*RF2:my_environment*/(C)->_my_environment/*T10pi*//*:RF2*/),ms32_945182441Abc807A);
/*:RF3*/}/*--*/

/*SERC*/void r807c_modes_in(T807*C,T0*a1){
T2 _i=0;
T0*_k=(void*)0;
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/((T951*)((/*RF2:my_c_modes*/(C)->_my_c_modes/*T10pi*//*:RF2*/)))->_count/*2pniiiii*//*:RF2*/))/*:RF8*/) break;
_k=/*RF4:key*/r951key((T951*)((/*RF2:my_c_modes*/(C)->_my_c_modes/*T10pi*//*:RF2*/)),_i)/*:RF4*/;
if((/*RF4:has*/r910has(((T910*)/*ND*/(T0*)(/*`c_modes'*/a1)),_k)/*:RF4*/)==(0)){
/*RF3:add*/r910add(((T910*)/*ND*/(T0*)(/*`c_modes'*/a1)),/*RF4:item*/r951item((T951*)((/*RF2:my_c_modes*/(C)->_my_c_modes/*T10pi*//*:RF2*/)),_i)/*:RF4*/,_k);
/*:RF3*/}
else{
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms807_1470715993Abc807A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),_k);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms807_711668223Abc807A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),(/*RF2:my_path*/(C)->_my_path/*T10pi*//*:RF2*/));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r807echo()/*:RF6*/),ms283_240Abc807A);
/*:RF3*/}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/
T0*oBC30ini_parser=(void*)0;

/*SERC*/T0*r807parser_buffer(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30parser_buffer==0){fBC30parser_buffer=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T123/*3pi*/))));
*((T123*)tmp0/*new*/)=M123;
/*RF3:make*/r123make(((T123*)tmp0/*new*/));
/*:RF3*/oBC30parser_buffer=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30parser_buffer;
}/*--*/

/*FIXED_STRING*/T6 r311is_equal(T311*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T6 tmp1;
T9 tmp2;
T6 tmp3;
T9 tmp4;
T2 tmp5;
T2 tmp6;
T2 tmp7;
T6 tmp8;
T3 tmp9;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T0*_nss=(void*)0;
T2 _i=0;
T2 _j=0;
if(can_assign_to39_from40((T0*)(/*`other'*/a1))){
_nss=/*`other'*/a1;
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)_nss))->_count/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp0/*count*/=(/*RF2:count*/(((T311*)_nss))->_count/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp1/*and then*/=((T6)(((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))==(tmp0/*count*/)));
if(tmp1/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp2/*storage*/=(/*RF2:storage*/(((T7*)_nss))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp2/*storage*/=(/*RF2:storage*/(((T311*)_nss))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp3/*or else*/=((T6)(((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/))==((void*)(tmp2/*storage*/))));
if(tmp3/*or else*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp4/*storage*/=(/*RF2:storage*/(((T7*)_nss))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp4/*storage*/=(/*RF2:storage*/(((T311*)_nss))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp5/*storage_lower*/=(/*RF2:storage_lower*/(((T7*)_nss))->_storage_lower/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp5/*storage_lower*/=(/*RF2:storage_lower*/(((T311*)_nss))->_storage_lower/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp6/*storage_lower*/=(/*RF2:storage_lower*/(((T7*)_nss))->_storage_lower/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp6/*storage_lower*/=(/*RF2:storage_lower*/(((T311*)_nss))->_storage_lower/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp3/*or else*/=((T6)(/*RF4:slice_fast_memcmp*/r9slice_fast_memcmp((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/),(/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/),tmp4/*storage*/,tmp5/*storage_lower*/,/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(tmp6/*storage_lower*/))+((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)/*:RF4*/));
}
tmp1/*and then*/=((T6)(tmp3/*or else*/));
}
R=((T6)(tmp1/*and then*/));
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp7/*count*/=(/*RF2:count*/(((T7*)/*`other'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp7/*count*/=(/*RF2:count*/(((T311*)/*`other'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp7/*count*/=/*RF4:count*/r321count(((T321*)/*`other'*/a1))/*:RF4*/;
}
/*inspect]*/
R=((T6)(((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))==(tmp7/*count*/)));
_i=INT32_C(1);
_j=INT32_C(1);
while(1){
tmp8/*or else*/=((T6)((R)==(0)));
if(tmp8/*or else*/){
}
else{
tmp8/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp8/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp9/*item*/=/*RF4:item*/r7item(((T7*)/*`other'*/a1),_j)/*:RF4*/;
break;
case 311:
tmp9/*item*/=/*RF4:item*/r311item(((T311*)/*`other'*/a1),_j)/*:RF4*/;
break;
default:;
tmp9/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`other'*/a1))/*:RF4*/),_j)/*:RF4*/;
}
/*inspect]*/
R=((T6)((/*RF4:item*/r311item(C,_i)/*:RF4*/)==(tmp9/*item*/)));
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
_j=/*RF8:+*/((int32_t)(_j))+(INT32_C(1))/*:RF8*/;
}
}
return R;
}/*--*/

/*FIXED_STRING*/T0*r311intern(T311*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_strings=(void*)0;
T2 _i=0;
if((/*RF2:is_interned*/(C)->_is_interned/*T2pniiiipp*//*:RF2*/)){
R=((T0*)(C));
}
else{
_strings=/*RF4:reference_at*/r923reference_at((T923*)(/*RF6:interned*/r311interned()/*:RF6*/),(/*RF2:hash_code*/(C)->_hash_code/*T2pniiiipp*//*:RF2*/))/*:RF4*/;
if((_strings)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T924/*niii*/))));
*((T924*)tmp0/*new*/)=M924;
/*RF3:with_capacity*/r924with_capacity(((T924*)tmp0/*new*/),INT32_C(4));
/*:RF3*/_strings=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r923add((T923*)(/*RF6:interned*/r311interned()/*:RF6*/),_strings,(/*RF2:hash_code*/(C)->_hash_code/*T2pniiiipp*//*:RF2*/));
/*:RF3*/}
_i=/*RF4:first_index_of*/r924first_index_of(((T924*)_strings),(T0*)C)/*:RF4*/;
if(/*RF4:valid_index*/r924valid_index(((T924*)_strings),_i)/*:RF4*/){
R=/*RF8:item*/((/*RF2:storage*/(((T924*)_strings))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/;
}
else{
/*RF3:do_intern*/r311do_intern(C,_strings);
/*:RF3*/R=((T0*)(C));
}
}
return R;
}/*--*/

/*FIXED_STRING*/void r311unlock_tagged_out(void){
/*RF3:recycle*/r59recycle((T59*)(/*RF6:tagged_out_memory_pool*/r311tagged_out_memory_pool()/*:RF6*/),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)=/*RF4:top*/r919top((T919*)(/*RF6:tagged_out_memories*/r311tagged_out_memories()/*:RF6*/))/*:RF4*/;
/*RF3:pop*/r919pop((T919*)(/*RF6:tagged_out_memories*/r311tagged_out_memories()/*:RF6*/));
/*:RF3*/}/*--*/

/*FIXED_STRING*/T3 r311first(T311*C){
T3 R='\0';
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/))[(/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/

/*FIXED_STRING*/T0*r311tagged_out_memory_pool(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17tagged_out_memory_pool==0){fBC17tagged_out_memory_pool=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T59/*0ppi*/))));
*((T59*)tmp0/*new*/)=M59;
/*RF3:make*/r59make(((T59*)tmp0/*new*/));
/*:RF3*/oBC17tagged_out_memory_pool=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17tagged_out_memory_pool;
}/*--*/

/*FIXED_STRING*/void r311fill_tagged_out_memory(T311*C){
/*RF3:append*/r7append((T7*)((/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)),(T0*)C);
/*:RF3*/}/*--*/

/*FIXED_STRING*/void r311lock_tagged_out(void){
/*RF3:push*/r919push((T919*)(/*RF6:tagged_out_memories*/r311tagged_out_memories()/*:RF6*/),(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/));
/*:RF3*/(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/)=/*RF4:best_fit*/r59best_fit((T59*)(/*RF6:tagged_out_memory_pool*/r311tagged_out_memory_pool()/*:RF6*/),INT32_C(32))/*:RF4*/;
}/*--*/
T0*oBC311weakrefs=(void*)0;
int fBC311weakrefs=0;

/*FIXED_STRING*/T0*r311weakrefs(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC311weakrefs==0){fBC311weakrefs=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T953/*niii*/))));
*((T953*)tmp0/*new*/)=M953;
/*RF3:with_capacity*/r953with_capacity(((T953*)tmp0/*new*/),INT32_C(1024));
/*:RF3*/oBC311weakrefs=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC311weakrefs;
}/*--*/

/*FIXED_STRING*/void r311make_from_string(T311*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _new_count=0;
T2 _new_capacity=0;
_new_count=(/*RF2:count*/(((T7*)/*`model'*/a1))->_count/*Tniiiiip*//*:RF2*/);
tmp0/*and then*/=((T6)(/*RF8:>*/((int32_t)(_new_count))>(INT32_C(0))/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:last*/r7last(((T7*)/*`model'*/a1))/*:RF4*/)==(((T3)'\000'))));
}
if(tmp0/*and then*/){
_new_capacity=_new_count;
/*SFN*/(C->_storage/*T2pniiiipp*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T3/*c*/))/*:RF8*/;
/*RF3:copy_slice_to_native*/r7copy_slice_to_native(((T7*)/*`model'*/a1),INT32_C(1),(/*RF2:count*/(((T7*)/*`model'*/a1))->_count/*Tniiiiip*//*:RF2*/),(/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/),INT32_C(0));
/*:RF3*/}
else{
_new_capacity=/*RF8:+*/((int32_t)(_new_count))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_storage/*T2pniiiipp*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T3/*c*/))/*:RF8*/;
if(/*RF8:>*/((int32_t)(_new_count))>(INT32_C(0))/*:RF8*/){
/*RF3:copy_slice_to_native*/r7copy_slice_to_native(((T7*)/*`model'*/a1),INT32_C(1),(/*RF2:count*/(((T7*)/*`model'*/a1))->_count/*Tniiiiip*//*:RF2*/),(/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/),INT32_C(0));
/*:RF3*/}
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/))[_new_count]=(((T3)'\000'));
/*:RF7*/}
/*SFN*/(C->_capacity/*T2pniiiipp*/)=_new_capacity;
/*SFN*/(C->_count/*T2pniiiipp*/)=_new_count;
/*SFN*/(C->_immutable/*T2pniiiipp*/)=((T6)(1));
/*SFN*/(C->_original/*T2pniiiipp*/)=(void*)0;
/*SFN*/(C->_holders/*T2pniiiipp*/)=/*RF4:new_holders*/r311new_holders(C)/*:RF4*/;
/*SFN*/(C->_hash_code/*T2pniiiipp*/)=/*RF4:computed_hash_code*/r311computed_hash_code(C)/*:RF4*/;
}/*--*/
/*l353c26/fixed_string.e*//*l355c19/fixed_string.e*/
/*FIXED_STRING*/T0*r311new_holders(T311*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T0* tmp1;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_wr=(void*)0;
while(1){
tmp0/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:is_empty*/r953is_empty((T953*)(/*RF6:holders_memory*/r311holders_memory()/*:RF6*/))/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_wr=/*RF4:last*/r953last((T953*)(/*RF6:holders_memory*/r311holders_memory()/*:RF6*/))/*:RF4*/;
/*RF3:remove_last*/r953remove_last((T953*)(/*RF6:holders_memory*/r311holders_memory()/*:RF6*/));
/*:RF3*/R=(T0*)(/*se_evobt*/(void*)0,se_print_run_time_stack(),exit(1),tmp1/*evobt*/=(void*)0);
if((R)!=((void*)((void*)0))){
/*se_evobt*/(void*)0,se_print_run_time_stack(),exit(1);
}
/*RF3:add_last*/r953add_last((T953*)(/*RF6:weakrefs*/r311weakrefs()/*:RF6*/),_wr);
/*:RF3*/}
if((R)==((void*)((void*)0))){
/*auto-unlock tmp1*/tmp1/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T924/*niii*/))));
*((T924*)tmp1/*new*/)=M924;
/*RF3:with_capacity*/r924with_capacity(((T924*)tmp1/*new*/),INT32_C(1));
/*:RF3*/R=tmp1/*new*/;
/*tmp1.unlock*/
}
/*RF3:add_last*/r924add_last(((T924*)R),(T0*)C);
/*:RF3*/return R;
}/*--*/

/*FIXED_STRING*/T0*r311_ix_35(T311*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T321/*T4p*/))));
*((T321*)tmp0/*new*/)=M321;
/*RF3:from_string_and_arg*/r321from_string_and_arg(((T321*)tmp0/*new*/),(T0*)C,/*`a_value'*/a1);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/

/*FIXED_STRING*/T6 r311is_shared(T311*C){
T6 R=0;
R=((T6)(/*RF8:>*/((int32_t)(/*RF4:count*/r924count((T924*)((/*RF2:holders*/(C)->_holders/*T2pniiiipp*//*:RF2*/)))/*:RF4*/))>(INT32_C(1))/*:RF8*/));
return R;
}/*--*/

/*FIXED_STRING*/void r311unshare(T311*C){
T9 _s=(void*)0;
/*SFN*/(C->_capacity/*T2pniiiipp*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
_s=/*RF8:calloc*/se_calloc((/*RF2:capacity*/(C)->_capacity/*T2pniiiipp*//*:RF2*/),sizeof(T3/*c*/))/*:RF8*/;
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=(/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/);
memcpy((_s)+(INT32_C(0)),((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/))+a3tmp,((/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/)))+((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)-a3tmp+1)*sizeof(T3/*c*/));}
/*:RF7*//*RF7:put*/(_s)[(/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/)]=(((T3)'\000'));
/*:RF7*//*SFN*/(C->_storage/*T2pniiiipp*/)=_s;
/*SFN*/(C->_storage_lower/*T2pniiiipp*/)=INT32_C(0);
/*RF3:remove*/r924remove((T924*)((/*RF2:holders*/(C)->_holders/*T2pniiiipp*//*:RF2*/)),/*RF4:fast_first_index_of*/r924fast_first_index_of((T924*)((/*RF2:holders*/(C)->_holders/*T2pniiiipp*//*:RF2*/)),(T0*)C)/*:RF4*/);
/*:RF3*//*SFN*/(C->_holders/*T2pniiiipp*/)=/*RF4:new_holders*/r311new_holders(C)/*:RF4*/;
}/*--*/

/*FIXED_STRING*/T8 r311to_external(T311*C){
T8 R=(void*)0;
if(/*RF4:is_shared*/r311is_shared(C)/*:RF4*/){
/*RF3:unshare*/r311unshare(C);
/*:RF3*/}
R=/*RF4:+*/r8_ix_43(/*RF8:to_pointer*/((void*)((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/)))/*:RF8*/,(/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/))/*:RF4*/;
return R;
}/*--*/

/*FIXED_STRING*/T2 r311computed_hash_code(T311*C){
T2 R=0;
T2 _i=0;
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))/*:RF8*/) break;
R=/*RF8:#+*/(int32_t)(((uint32_t)(/*RF8:#**/(int32_t)(((uint32_t)(/*{INTEGER_32 5}*/INT32_C(5)))*((uint32_t)(R)))/*:RF8*/))+((uint32_t)(/*IC*/(T2)(/*RF8:code*/T3code(/*RF4:item*/r311item(C,_i)/*:RF4*/)/*:RF8*/))))/*:RF8*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
if(/*RF8:<*/((int32_t)(R))<(INT32_C(0))/*:RF8*/){
R=/*RF8:~*/~(R)/*:RF8*/;
}
return R;
}/*--*/

/*FIXED_STRING*/T3 r311item(T311*C,T2 a1){
T3 R='\0';
R=/*RF8:item*/((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/))[/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)(/*`i'*/a1))-(INT32_C(1))/*:RF8*/))+((/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/))/*:RF8*/]/*:RF8*/;
return R;
}/*--*/

/*FIXED_STRING*/T6 r311same_as(T311*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T6 tmp1;
T9 tmp2;
T6 tmp3;
T9 tmp4;
T2 tmp5;
T2 tmp6;
T3 tmp7;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T0*_nss=(void*)0;
T2 _i=0;
T2 _j=0;
if(can_assign_to39_from40((T0*)(/*`other'*/a1))){
_nss=/*`other'*/a1;
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)_nss))->_count/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp0/*count*/=(/*RF2:count*/(((T311*)_nss))->_count/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp1/*and then*/=((T6)(((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))==(tmp0/*count*/)));
if(tmp1/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp2/*storage*/=(/*RF2:storage*/(((T7*)_nss))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp2/*storage*/=(/*RF2:storage*/(((T311*)_nss))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp3/*or else*/=((T6)(((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/))==((void*)(tmp2/*storage*/))));
if(tmp3/*or else*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp4/*storage*/=(/*RF2:storage*/(((T7*)_nss))->_storage/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp4/*storage*/=(/*RF2:storage*/(((T311*)_nss))->_storage/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp5/*storage_lower*/=(/*RF2:storage_lower*/(((T7*)_nss))->_storage_lower/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp5/*storage_lower*/=(/*RF2:storage_lower*/(((T311*)_nss))->_storage_lower/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_nss))->id)){
case 7:
tmp6/*storage_lower*/=(/*RF2:storage_lower*/(((T7*)_nss))->_storage_lower/*Tniiiiip*//*:RF2*/);
break;
default:;
tmp6/*storage_lower*/=(/*RF2:storage_lower*/(((T311*)_nss))->_storage_lower/*T2pniiiipp*//*:RF2*/);
}
/*inspect]*/
tmp3/*or else*/=((T6)(/*RF4:slice_fast_memcmp*/r9slice_fast_memcmp((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/),(/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/),tmp4/*storage*/,tmp5/*storage_lower*/,/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)(tmp6/*storage_lower*/))+((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)/*:RF4*/));
}
tmp1/*and then*/=((T6)(tmp3/*or else*/));
}
R=((T6)(tmp1/*and then*/));
}
if((R)==(0)){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
/*auto-unlock tmp0*/tmp0/*count*/=(/*RF2:count*/(((T7*)/*`other'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`other'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`other'*/a1))/*:RF4*/;
}
/*inspect]*/
R=((T6)(((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))==(tmp0/*count*/)));
_i=INT32_C(1);
_j=INT32_C(1);
while(1){
/*auto-unlock tmp1*/tmp1/*or else*/=((T6)((R)==(0)));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp1/*or else*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 7:
tmp7/*item*/=/*RF4:item*/r7item(((T7*)/*`other'*/a1),_j)/*:RF4*/;
break;
case 311:
tmp7/*item*/=/*RF4:item*/r311item(((T311*)/*`other'*/a1),_j)/*:RF4*/;
break;
default:;
tmp7/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`other'*/a1))/*:RF4*/),_j)/*:RF4*/;
}
/*inspect]*/
R=((T6)(/*RF4:same_as*/r3same_as(/*RF4:item*/r311item(C,_i)/*:RF4*/,tmp7/*item*/)/*:RF4*/));
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
_j=/*RF8:+*/((int32_t)(_j))+(INT32_C(1))/*:RF8*/;
}
}
return R;
}/*--*/

/*FIXED_STRING*/T0*r311interned(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC40interned==0){fBC40interned=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T923/*pniiii*/))));
*((T923*)tmp0/*new*/)=M923;
/*RF3:make*/r923make(((T923*)tmp0/*new*/));
/*:RF3*/oBC40interned=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC40interned;
}/*--*/

/*FIXED_STRING*/T0*r311tagged_out_memory(void){
T0* R=(void*)0;
R=(/*RF2:item*/(((T920*)oBC17tagged_out_memory_ref))->_item/*p*//*:RF2*/);
return R;
}/*--*/
T0*oBC311holders_memory=(void*)0;
int fBC311holders_memory=0;

/*FIXED_STRING*/T0*r311holders_memory(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC311holders_memory==0){fBC311holders_memory=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T953/*niii*/))));
*((T953*)tmp0/*new*/)=M953;
/*RF3:with_capacity*/r953with_capacity(((T953*)tmp0/*new*/),INT32_C(1024));
/*:RF3*/oBC311holders_memory=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC311holders_memory;
}/*--*/

/*FIXED_STRING*/void r311do_intern(T311*C,T0*a1){
/*RF3:add_last*/r924add_last(((T924*)/*`strings'*/a1),(T0*)C);
/*:RF3*//*SFN*/(C->_is_interned/*T2pniiiipp*/)=((T6)(1));
}/*--*/

/*FIXED_STRING*/T0*r311out(T311*C){
T0* R=(void*)0;
/*RF3:lock_tagged_out*/r311lock_tagged_out();
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)(/*RF4:tagged_out_memory*/r311tagged_out_memory()/*:RF4*/));
/*:RF3*//*RF3:fill_tagged_out_memory*/r311fill_tagged_out_memory(C);
/*:RF3*/R=/*RF8:twin*/r7twin((T7*)(/*RF4:tagged_out_memory*/r311tagged_out_memory()/*:RF4*/))/*:RF8*/;
/*RF3:unlock_tagged_out*/r311unlock_tagged_out();
/*:RF3*/return R;
}/*--*/

/*FIXED_STRING*/void r311copy_slice_to_native(T311*C,T2 a1,T2 a2,T9 a3,T2 a4){
/*RF7:slice_copy*/{/*slice_copy*/
int a3tmp=/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/)))+(/*`start_index'*/a1)/*:RF8*/))-(INT32_C(1))/*:RF8*/;
memcpy((/*`target'*/a3)+(/*`target_offset'*/a4),((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/))+a3tmp,((/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/)))+(/*`end_index'*/a2)/*:RF8*/))-(INT32_C(1))/*:RF8*/)-a3tmp+1)*sizeof(T3/*c*/));}
/*:RF7*/}/*--*/

/*FIXED_STRING*/T0*r311tagged_out_memories(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC17tagged_out_memories==0){fBC17tagged_out_memories=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T919/*niii*/))));
*((T919*)tmp0/*new*/)=M919;
/*RF3:make*/r919make(((T919*)tmp0/*new*/));
/*:RF3*/oBC17tagged_out_memories=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC17tagged_out_memories;
}/*--*/

/*FIXED_STRING*/void r311print_on(T311*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`file'*/a1))->id)){
case 69:
/*RF3:put_natively_stored_string*/r69put_natively_stored_string(((T69*)/*`file'*/a1),(T0*)C);
/*:RF3*/break;
case 78:
/*RF3:put_abstract_string*/r78put_abstract_string((T0*)C);
/*:RF3*/break;
case 81:
/*RF3:put_natively_stored_string*/r81put_natively_stored_string((T0*)C);
/*:RF3*/break;
case 664:
/*RF3:put_abstract_string*/r664put_abstract_string((T0*)C);
/*:RF3*/break;
case 855:
/*RF3:put_abstract_string*/r855put_abstract_string(((T855*)/*`file'*/a1),(T0*)C);
/*:RF3*/break;
default:;
/*RF3:put_abstract_string*/r858put_abstract_string(((T858*)/*`file'*/a1),(T0*)C);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*FIXED_STRING*/T6 r311has(T311*C,T3 a1){
T6 R=0;
R=((T6)(/*RF4:slice_fast_has*/r9slice_fast_has((/*RF2:storage*/(C)->_storage/*T2pniiiipp*//*:RF2*/),/*`c'*/a1,(/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/),/*RF8:-*/((int32_t)(/*RF8:+*/((int32_t)((/*RF2:storage_lower*/(C)->_storage_lower/*T2pniiiipp*//*:RF2*/)))+((/*RF2:count*/(C)->_count/*T2pniiiipp*//*:RF2*/))/*:RF8*/))-(INT32_C(1))/*:RF8*/)/*:RF4*/));
return R;
}/*--*/

/*CYGWIN_DIRECTORY_NOTATION*/T563*create563(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T563/*0*/))));
*((T563*)tmp0/*new*/)=M563;
return ((T563*)tmp0/*new*/);
/*tmp0.unlock*/
}/*--*/

/*CYGWIN_DIRECTORY_NOTATION*/void r563to_directory_path(T0*a1){
/*RF3:extend_unless*/r7extend_unless(((T7*)/*`path'*/a1),((T3)'\057'));
/*:RF3*/}/*--*/

/*CYGWIN_DIRECTORY_NOTATION*/void r563to_short_name_in(T0*a1,T0*a2){
T2 _i=0;
/*RF3:copy*/r7copy(((T7*)/*`buffer'*/a1),/*`path'*/a2);
/*:RF3*/if((/*RF4:last*/r7last(((T7*)/*`buffer'*/a1))/*:RF4*/)==(((T3)'\057'))){
/*RF3:remove_last*/r7remove_last(((T7*)/*`buffer'*/a1));
/*:RF3*/}
_i=/*RF4:last_index_of*/r7last_index_of(((T7*)/*`buffer'*/a1),((T3)'\057'))/*:RF4*/;
if(/*RF8:>=*/((int32_t)(_i))>=(INT32_C(0))/*:RF8*/){
/*RF3:shrink*/r7shrink(((T7*)/*`buffer'*/a1),/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/,(/*RF2:count*/(((T7*)/*`buffer'*/a1))->_count/*Tniiiiip*//*:RF2*/));
/*:RF3*/}
}/*--*/

/*CYGWIN_DIRECTORY_NOTATION*/void r563to_file_path_with(T0*a1,T0*a2){
/*RF3:extend_unless*/r7extend_unless(((T7*)/*`parent_path'*/a1),((T3)'\057'));
/*:RF3*/if((/*RF4:first*/r7first(((T7*)/*`file_name'*/a2))/*:RF4*/)==(((T3)'\057'))){
/*RF3:remove_last*/r7remove_last(((T7*)/*`parent_path'*/a1));
/*:RF3*/}
/*RF3:append*/r7append(((T7*)/*`parent_path'*/a1),/*`file_name'*/a2);
/*:RF3*/}/*--*/

/*UNIX_DIRECTORY_NOTATION*/T558*create558(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T558/*0*/))));
*((T558*)tmp0/*new*/)=M558;
return ((T558*)tmp0/*new*/);
/*tmp0.unlock*/
}/*--*/

/*UNIX_DIRECTORY_NOTATION*/void r558to_directory_path(T0*a1){
/*RF3:extend_unless*/r7extend_unless(((T7*)/*`path'*/a1),((T3)'\057'));
/*:RF3*/}/*--*/

/*UNIX_DIRECTORY_NOTATION*/void r558to_short_name_in(T0*a1,T0*a2){
/*RF3:make_from_string*/r811make_from_string((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/),/*`path'*/a2);
/*:RF3*//*RF3:copy*/r7copy(((T7*)/*`buffer'*/a1),/*RF4:short_name*/r811short_name((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/))/*:RF4*/);
/*:RF3*/}/*--*/

/*UNIX_DIRECTORY_NOTATION*/void r558to_file_path_with(T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_ds=(void*)0;
/*RF3:make_from_string*/r811make_from_string((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/),/*`parent_path'*/a1);
/*:RF3*/if((/*RF4:count*/r811count((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/))/*:RF4*/)==(INT8_C(0))){
_ds=/*RF4:drive_specification*/((/*UT*/(void)((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/))),r811drive_specification())/*:RF4*/;
tmp0/*and then*/=((T6)((_ds)!=((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((((/*RF2:count*/(((T7*)_ds))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
}
if(tmp0/*and then*/){
/*RF3:make_root*/r811make_root((T811*)(/*RF6:tmp2*/r558tmp2()/*:RF6*/));
/*:RF3*//*RF3:join_to*/r811join_to((T811*)(/*RF6:tmp2*/r558tmp2()/*:RF6*/),/*RF6:tmp1*/r558tmp1()/*:RF6*/);
/*:RF3*/}
}
/*RF3:start_join*/r811start_join((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/),(void*)0,INT32_C(0));
/*:RF3*//*RF3:join_element*/r811join_element((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/),/*`file_name'*/a2);
/*:RF3*//*RF3:end_join*/r811end_join((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/));
/*:RF3*//*RF3:copy*/r7copy(((T7*)/*`parent_path'*/a1),(/*RF2:to_string*/((T811*)(/*RF6:tmp1*/r558tmp1()/*:RF6*/))->_to_string/*Tp*//*:RF2*/));
/*:RF3*/}/*--*/
T0*oBC558tmp1=(void*)0;
int fBC558tmp1=0;

/*UNIX_DIRECTORY_NOTATION*/T0*r558tmp1(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC558tmp1==0){fBC558tmp1=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T811/*Tp*/))));
*((T811*)tmp0/*new*/)=M811;
/*RF3:make_empty*/r811make_empty(((T811*)tmp0/*new*/));
/*:RF3*/oBC558tmp1=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC558tmp1;
}/*--*/
T0*oBC558tmp2=(void*)0;
int fBC558tmp2=0;

/*UNIX_DIRECTORY_NOTATION*/T0*r558tmp2(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC558tmp2==0){fBC558tmp2=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T811/*Tp*/))));
*((T811*)tmp0/*new*/)=M811;
/*RF3:make_empty*/r811make_empty(((T811*)tmp0/*new*/));
/*:RF3*/oBC558tmp2=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC558tmp2;
}/*--*/

/*WINDOWS_DIRECTORY_NOTATION*/T562*create562(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T562/*0*/))));
*((T562*)tmp0/*new*/)=M562;
return ((T562*)tmp0/*new*/);
/*tmp0.unlock*/
}/*--*/

/*WINDOWS_DIRECTORY_NOTATION*/void r562to_directory_path(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
while(1){
tmp0/*or else*/=((T6)(((/*RF2:count*/(((T7*)/*`path'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:last*/r7last(((T7*)/*`path'*/a1))/*:RF4*/)!=(((T3)'\134'))));
}
/*until*/if(tmp0/*or else*/) break;
/*RF3:remove_last*/r7remove_last(((T7*)/*`path'*/a1));
/*:RF3*/}
}/*--*/

/*WINDOWS_DIRECTORY_NOTATION*/void r562to_short_name_in(T0*a1,T0*a2){
/*RF3:make_from_string*/r813make_from_string((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/),/*`path'*/a2);
/*:RF3*//*RF3:copy*/r7copy(((T7*)/*`buffer'*/a1),/*RF4:short_name*/r813short_name((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/))/*:RF4*/);
/*:RF3*/}/*--*/

/*WINDOWS_DIRECTORY_NOTATION*/void r562to_file_path_with(T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_ds=(void*)0;
/*RF3:make_from_string*/r813make_from_string((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/),/*`parent_path'*/a1);
/*:RF3*/if((/*RF4:count*/r813count((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/))/*:RF4*/)==(INT8_C(0))){
_ds=/*RF4:drive_specification*/r813drive_specification((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/))/*:RF4*/;
tmp0/*and then*/=((T6)((_ds)!=((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((((/*RF2:count*/(((T7*)_ds))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
}
if(tmp0/*and then*/){
/*RF3:make_root*/r813make_root((T813*)(/*RF6:tmp2*/r562tmp2()/*:RF6*/));
/*:RF3*//*RF3:join_to*/r813join_to((T813*)(/*RF6:tmp2*/r562tmp2()/*:RF6*/),/*RF6:tmp1*/r562tmp1()/*:RF6*/);
/*:RF3*/}
}
/*RF3:start_join*/r813start_join((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/),(void*)0,INT32_C(0));
/*:RF3*//*RF3:join_element*/r813join_element((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/),/*`file_name'*/a2);
/*:RF3*//*RF3:end_join*/r813end_join((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/));
/*:RF3*//*RF3:copy*/r7copy(((T7*)/*`parent_path'*/a1),/*RF4:to_string*/r813to_string((T813*)(/*RF6:tmp1*/r562tmp1()/*:RF6*/))/*:RF4*/);
/*:RF3*/}/*--*/
T0*oBC562tmp1=(void*)0;
int fBC562tmp1=0;

/*WINDOWS_DIRECTORY_NOTATION*/T0*r562tmp1(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC562tmp1==0){fBC562tmp1=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T813/*T2pcp*/))));
*((T813*)tmp0/*new*/)=M813;
/*RF3:make_empty*/r813make_empty(((T813*)tmp0/*new*/));
/*:RF3*/oBC562tmp1=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC562tmp1;
}/*--*/
T0*oBC562tmp2=(void*)0;
int fBC562tmp2=0;

/*WINDOWS_DIRECTORY_NOTATION*/T0*r562tmp2(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC562tmp2==0){fBC562tmp2=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T813/*T2pcp*/))));
*((T813*)tmp0/*new*/)=M813;
/*RF3:make_empty*/r813make_empty(((T813*)tmp0/*new*/));
/*:RF3*/oBC562tmp2=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC562tmp2;
}/*--*/

/*POSITION*/void r354set(T354*C,T2 a1,T2 a2,T10 a3,T0*a4){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)(/*RF8:<=*/((int16_t)(/*`class_id'*/a3))<=(INT16_C(2047))/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF8:<=*/((int32_t)(/*`li'*/a1))<=(INT32_C(8191))/*:RF8*/));
}
tmp1/*and then*/=((T6)(tmp0/*and then*/));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)(/*RF8:<=*/((int32_t)(/*`co'*/a2))<=(INT32_C(127))/*:RF8*/));
}
if(tmp1/*and then*/){
/*SFN*/(C->_mangling/*i*/)=/*RF8:|<<*/((/*RF4:to_integer_32*/r10to_integer_32(/*`class_id'*/a3)/*:RF4*/)<<(INT8_C(21)))/*:RF8*/;
/*SFN*/(C->_mangling/*i*/)=/*RF8:|*/((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/)|/*RF8:|<<*/((/*`li'*/a1)<<(INT8_C(8)))/*:RF8*/)/*:RF8*/;
/*SFN*/(C->_mangling/*i*/)=/*RF8:|*/((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/)|/*RF8:|<<*/((/*`co'*/a2)<<(INT8_C(1)))/*:RF8*/)/*:RF8*/;
}
else{
/*SFN*/(C->_mangling/*i*/)=/*RF8:|<<*/((/*RF4:to_integer_32*/r10to_integer_32(/*`class_id'*/a3)/*:RF4*/)<<(INT8_C(17)))/*:RF8*/;
/*SFN*/(C->_mangling/*i*/)=/*RF8:|*/((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/)|/*RF8:|<<*/((/*`li'*/a1)<<(INT8_C(1)))/*:RF8*/)/*:RF8*/;
/*SFN*/(C->_mangling/*i*/)=/*RF8:|*/((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/)|INT32_C(1))/*:RF8*/;
}
}/*--*/

/*POSITION*/void r354default_create(T354*C){
/*SFN*/(C->_mangling/*i*/)=INT32_C(0);
}/*--*/

/*POSITION*/T6 r354same_line_as(T354*C,T354 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
if(/*RF4:bit_test*/r2bit_test((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/),INT8_C(0))/*:RF4*/){
tmp0/*and then*/=((T6)(/*RF4:bit_test*/r2bit_test((/*RF2:mangling*/(/*`other'*/a1)._mangling/*i*//*:RF2*/),INT8_C(0))/*:RF4*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF8:|>>>*/((int32_t)((uint32_t)((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/))>>(INT8_C(17))))/*:RF8*/)==(/*RF8:|>>>*/((int32_t)((uint32_t)((/*RF2:mangling*/(/*`other'*/a1)._mangling/*i*//*:RF2*/))>>(INT8_C(17))))/*:RF8*/)));
}
R=((T6)(tmp0/*and then*/));
}
else{
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)((/*RF4:bit_test*/r2bit_test((/*RF2:mangling*/(/*`other'*/a1)._mangling/*i*//*:RF2*/),INT8_C(0))/*:RF4*/)==(0)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF8:|>>>*/((int32_t)((uint32_t)((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/))>>(INT8_C(8))))/*:RF8*/)==(/*RF8:|>>>*/((int32_t)((uint32_t)((/*RF2:mangling*/(/*`other'*/a1)._mangling/*i*//*:RF2*/))>>(INT8_C(8))))/*:RF8*/)));
}
R=((T6)(tmp0/*and then*/));
}
return R;
}/*--*/
T0*oBC30plugin_config=(void*)0;

/*POSITION*/T0*r354path(T354*C){
T0* R=(void*)0;
T0*_ct=(void*)0;
T10 _id_value=0;
_ct=/*RF4:class_text*/r354class_text(C)/*:RF4*/;
_id_value=/*RF4:id*/r354id(C)/*:RF4*/;
/*[inspect*/
switch(_id_value){
case 32767:
R=(/*RF2:file_path*/(((T283*)oBC30ace))->_file_path/*pip*//*:RF2*/);
break;
case 32766:
R=(/*RF2:file_path*/(((T106*)oBC30ini_parser))->_file_path/*8piiiisppiippppc*//*:RF2*/);
break;
case 32765:
R=(/*RF2:file_path*/(((T106*)oBC30plugin_config))->_file_path/*8piiiisppiippppc*//*:RF2*/);
break;
default:;
R=(/*RF2:to_string*/((T107*)(/*RF4:alias_of*/((/*UT*/(void)((T291*)(/*RF6:id_provider*/r354id_provider()/*:RF6*/))),r291alias_of(_id_value))/*:RF4*/))->_to_string/*pi*//*:RF2*/);
}
/*inspect]*/
return R;
}/*--*/

/*POSITION*/T10 r354id(T354*C){
T10 R=0;
if(/*RF4:bit_test*/r2bit_test((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/),INT8_C(0))/*:RF4*/){
R=/*RF8:low_16*/((int16_t)(/*RF8:|>>>*/((int32_t)((uint32_t)((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/))>>(INT8_C(17))))/*:RF8*/))/*:RF8*/;
}
else{
R=/*RF8:low_16*/((int16_t)(/*RF8:|>>>*/((int32_t)((uint32_t)((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/))>>(INT8_C(21))))/*:RF8*/))/*:RF8*/;
}
return R;
}/*--*/

/*POSITION*/T0*r354class_text_name(T354*C){
T0* R=(void*)0;
T0*_ct=(void*)0;
_ct=/*RF4:class_text*/r354class_text(C)/*:RF4*/;
return R;
}/*--*/
T0*oBC30id_provider=(void*)0;
int fBC30id_provider=0;

/*POSITION*/T0*r354id_provider(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30id_provider==0){fBC30id_provider=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T291/*ss*/))));
*((T291*)tmp0/*new*/)=M291;
/*RF3:make*/r291make(((T291*)tmp0/*new*/));
/*:RF3*/oBC30id_provider=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30id_provider;
}/*--*/
T960 oBC354class_text_storage=(void*)0;

/*POSITION*/void r354set_in_ini_file(T354*C,T2 a1,T2 a2,T10 a3){
/*RF3:set*/r354set(C,/*`li'*/a1,/*`co'*/a2,/*`id_'*/a3,(void*)0);
/*:RF3*/}/*--*/

/*POSITION*/T6 r354_ix_60(T354*C,T354 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _m_type=0;
T2 _o_m_type=0;
_m_type=/*RF8:&*/((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/)&INT32_C(1))/*:RF8*/;
_o_m_type=/*RF8:&*/((/*RF2:mangling*/(/*`other'*/a1)._mangling/*i*//*:RF2*/)&INT32_C(1))/*:RF8*/;
tmp0/*or else*/=((T6)(/*RF8:<*/((int32_t)(_m_type))<(_o_m_type)/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp1/*and then*/=((T6)((_m_type)==(_o_m_type)));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)(/*RF8:<*/((int32_t)(/*RF8:|>>>*/((int32_t)((uint32_t)((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/))>>(INT8_C(1))))/*:RF8*/))<(/*RF8:|>>>*/((int32_t)((uint32_t)((/*RF2:mangling*/(/*`other'*/a1)._mangling/*i*//*:RF2*/))>>(INT8_C(1))))/*:RF8*/)/*:RF8*/));
}
tmp0/*or else*/=((T6)(tmp1/*and then*/));
}
R=((T6)(tmp0/*or else*/));
return R;
}/*--*/

/*POSITION*/T0*r354class_text(T354*C){
T0* R=(void*)0;
R=/*RF8:item*/(oBC354class_text_storage)[/*IC*/(T2)(/*RF4:id*/r354id(C)/*:RF4*/)]/*:RF8*/;
return R;
}/*--*/

/*POSITION*/T354 r354twin(T354*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 R={0};
tmp0/*resexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*resexp*/);
/*:RF3*/R=tmp0/*resexp*/;
/*tmp0.unlock*/
memcpy(&R,C,sizeof(R)/*i*/);
return R;
}/*--*/

/*POSITION*/T2 r354column(T354*C){
T2 R=0;
if(/*RF4:bit_test*/r2bit_test((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/),INT8_C(0))/*:RF4*/){
}
else{
R=/*RF8:|>>*/(((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/))>>(INT8_C(1)))/*:RF8*/;
R=/*RF8:&*/(R&/*0x0000007F*/INT32_C(127))/*:RF8*/;
}
return R;
}/*--*/

/*POSITION*/T2 r354line(T354*C){
T2 R=0;
if(/*RF4:bit_test*/r2bit_test((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/),INT8_C(0))/*:RF4*/){
R=/*RF8:|>>*/(((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/))>>(INT8_C(1)))/*:RF8*/;
R=/*RF8:&*/(R&/*0x0000FFFF*/INT32_C(65535))/*:RF8*/;
}
else{
R=/*RF8:|>>*/(((/*RF2:mangling*/(*C)._mangling/*i*//*:RF2*/))>>(INT8_C(8)))/*:RF8*/;
R=/*RF8:&*/(R&/*0x00001FFF*/INT32_C(8191))/*:RF8*/;
}
return R;
}/*--*/

/*TAGGED_ERROR*/void r719make(T719*C,T0*a1,T0*a2){
if(((/*RF2:explanation*/(C)->_explanation/*2pp*//*:RF2*/))==((void*)((void*)0))){
/*SFN*/(C->_explanation/*2pp*/)=/*RF8:twin*/r7twin(((T7*)/*`exp'*/a1))/*:RF8*/;
/*SFN*/(C->_positions/*2pp*/)=/*RF8:twin*/r925twin(((T925*)/*`pos'*/a2))/*:RF8*/;
}
else{
/*RF3:copy*/r7copy((T7*)((/*RF2:explanation*/(C)->_explanation/*2pp*//*:RF2*/)),/*`exp'*/a1);
/*:RF3*//*RF3:copy*/r925copy((T925*)((/*RF2:positions*/(C)->_positions/*2pp*//*:RF2*/)),/*`pos'*/a2);
/*:RF3*/}
/*SFN*/(C->_is_emitted/*2pp*/)=((T6)(0));
}/*--*/

/*TAGGED_ERROR*/void r719recycle(T719*C){
/*RF3:clear_count*/r7clear_count((T7*)((/*RF2:explanation*/(C)->_explanation/*2pp*//*:RF2*/)));
/*:RF3*//*RF3:clear_count*/r925clear_count((T925*)((/*RF2:positions*/(C)->_positions/*2pp*//*:RF2*/)));
/*:RF3*//*SFN*/(C->_is_emitted/*2pp*/)=((T6)(1));
}/*--*/

/*CLASS_NAME*/void r92make(T92*C,T0*a1,T354 a2,T6 a3){
/*RF3:set_hashed_name*/r92set_hashed_name(C,/*`hn'*/a1);
/*:RF3*//*SFN*/(C->_start_position/*2pipi*/)=/*RF8:twin*/r354twin(&/*`sp'*/a2)/*:RF8*/;
/*SFN*/(C->_allow_missing/*2pipi*/)=((T6)(/*`am'*/a3));
}/*--*/

/*CLASS_NAME*/void r92set_hashed_name(T92*C,T0*a1){
/*SFN*/(C->_hashed_name/*2pipi*/)=/*`hn'*/a1;
/*SFN*/(C->_hash_code/*2pipi*/)=(/*RF2:hash_code*/(((T107*)/*`hn'*/a1))->_hash_code/*pi*//*:RF2*/);
/*SFN*/(C->_to_string/*2pipi*/)=(/*RF2:to_string*/(((T107*)/*`hn'*/a1))->_to_string/*pi*//*:RF2*/);
}/*--*/

/*CLASS_NAME*/void r92unknown_position(T92*C,T0*a1,T6 a2){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 _p={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_p=tmp0/*locexp*/;
/*tmp0.unlock*/
/*RF3:make*/r92make(C,/*`hn'*/a1,_p,(T6)(/*`am'*/a2));
/*:RF3*/}/*--*/

/*STRING_RECYCLING_ITEM*/void r327copy(T327*C,T327 a1){
/*RF3:set_item*/r327set_item(C,(void*)0);
/*:RF3*/(/*RF2:capacity*/(*C)._capacity/*pi*//*:RF2*/)=(/*RF2:capacity*/(/*`other'*/a1)._capacity/*pi*//*:RF2*/);
}/*--*/

/*STRING_RECYCLING_ITEM*/void r327set_item(T327*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if((/*`a_item'*/a1)==((void*)((void*)0))){
if(((/*RF2:item_memory*/(*C)._item_memory/*pi*//*:RF2*/))!=((void*)((void*)0))){
/*RF7:set_item*/(((T968*)((/*RF2:item_memory*/(*C)._item_memory/*pi*//*:RF2*/)))->o)=(T0*)((void*)0);
/*:RF7*/}
}
else{
/*SFN*/(C->_capacity/*pi*/)=(/*RF2:capacity*/(((T7*)/*`a_item'*/a1))->_capacity/*Tniiiiip*//*:RF2*/);
if(((/*RF2:item_memory*/(*C)._item_memory/*pi*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T968/*0*/))));
*((T968*)tmp0/*new*/)=M968;
/*RF7:set_item*/(((T968*)(((T968*)tmp0/*new*/)))->o)=(T0*)(/*`a_item'*/a1);
/*:RF7*//*SFN*/(C->_item_memory/*pi*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF7:set_item*/(((T968*)((/*RF2:item_memory*/(*C)._item_memory/*pi*//*:RF2*/)))->o)=(T0*)(/*`a_item'*/a1);
/*:RF7*/}
}
}/*--*/

/*STRING_RECYCLING_ITEM*/T0*r327item(T327*C){
T0* R=(void*)0;
if(((/*RF2:item_memory*/(*C)._item_memory/*pi*//*:RF2*/))!=((void*)((void*)0))){
R=/*RF8:item*/(((T968*)((/*RF2:item_memory*/(*C)._item_memory/*pi*//*:RF2*/)))->o)/*:RF8*/;
}
return R;
}/*--*/

/*STRING_RECYCLING_ITEM*/T327 r327twin(T327*C){
T327 R={(void*)0,0};
/*RF3:copy*/r327copy(&R,*C);
/*:RF3*/;
return R;
}/*--*/

/*STRING_RECYCLING_ITEM_SORTER*/T2 r749insert_index(T0*a1,T327 a2){
T2 R=0;
T2 _min=0;
T2 _max=0;
_min=INT32_C(0);
_max=/*RF8:+*/((int32_t)((/*RF2:upper*/(((T949*)/*ND*/(T0*)(/*`c'*/a1)))->_upper/*niii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
while(1){
/*until*/if((_min)==(_max)) break;
R=/*RF8:#//*/((int32_t)(/*RF8:+*/((int32_t)(_min))+(_max)/*:RF8*/))/(INT32_C(2))/*:RF8*/;
if(/*RF4:lte*/r749lte(/*RF4:item*/r949item(((T949*)/*ND*/(T0*)(/*`c'*/a1)),R)/*:RF4*/,/*`element'*/a2)/*:RF4*/){
_min=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
else{
_max=R;
}
}
R=_min;
return R;
}/*--*/

/*STRING_RECYCLING_ITEM_SORTER*/T6 r749lt(T327 a1,T327 a2){
T6 R=0;
R=((T6)(/*RF8:>*/((int32_t)((/*RF2:capacity*/(/*`x'*/a1)._capacity/*pi*//*:RF2*/)))>((/*RF2:capacity*/(/*`y'*/a2)._capacity/*pi*//*:RF2*/))/*:RF8*/));
return R;
}/*--*/

/*STRING_RECYCLING_ITEM_SORTER*/T6 r749lte(T327 a1,T327 a2){
T6 R=0;
R=((T6)((/*RF4:lt*/r749lt(/*`y'*/a2,/*`x'*/a1)/*:RF4*/)==(0)));
return R;
}/*--*/

/*STRING_ALIASER*/T0*r281hashed_string(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_buffer=(void*)0;
T2 _hash_code=0;
_buffer=/*RF6:hashed_string_buffer*/r281hashed_string_buffer()/*:RF6*/;
/*RF3:set*/r107set(((T107*)_buffer),/*`model'*/a1);
/*:RF3*/_hash_code=(/*RF2:hash_code*/(((T107*)_buffer))->_hash_code/*pi*//*:RF2*/);
R=/*RF4:reference_at*/r969reference_at((T969*)(/*RF6:memory*/r281memory()/*:RF6*/),_buffer)/*:RF4*/;
if((R)==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T107/*pi*/))));
*((T107*)tmp0/*new*/)=M107;
/*RF3:make*/r107make(((T107*)tmp0/*new*/),/*RF8:twin*/r7twin(((T7*)/*`model'*/a1))/*:RF8*/,_hash_code);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add*/r969add((T969*)(/*RF6:memory*/r281memory()/*:RF6*/),R);
/*:RF3*/}
return R;
}/*--*/

/*STRING_ALIASER*/T0*r281create_hashed_string(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T107/*pi*/))));
*((T107*)tmp0/*new*/)=M107;
/*RF3:make*/r107make(((T107*)tmp0/*new*/),/*`aliased_string'*/a1,/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)/*`aliased_string'*/a1))/*:RF4*/);
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
return R;
}/*--*/
T0*oBC281memory=(void*)0;
int fBC281memory=0;

/*STRING_ALIASER*/T0*r281memory(void){
if(fBC281memory==0){fBC281memory=1;{
oBC281memory=se_manifest_args969(se_manifest_args969(se_manifest_args969(se_manifest969(278),0,22,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2104Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_961210799Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1896328073Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_53339Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1339128Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_33120277Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_169371474Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_175767198Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_170256464Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_7095298Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1418282620Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_36193081Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_180965424Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_180965430Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1447702Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_180965447Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_36200588Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1831158645Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_349117293Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_550709268Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_548331507Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1487451Abc31A)/*:RF4*/),22,128,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_37186806Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_185934049Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_185934055Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_185934072Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1223768616Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_7704337Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1554777Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_39002989Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_39154229Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_548214405Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1549680Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_12376Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1549697Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1549703Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_7748406Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1553736287Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1594034Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2504Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_324411Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_167970159Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_839855894Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_403163040Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_999658760Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_65574Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_13194Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_878996813Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1639475718Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1671553525Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_3075Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_9647090Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_64Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_552Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_548Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_38Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_48672249Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_126Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_124Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1947251Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_243411981Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1235Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1247Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1947246Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_17422Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1947419Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_61Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_371Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_62Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2067995Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_361Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_60Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_45Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_42Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_296Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_3421Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_669Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2126626Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_241Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_43Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_94Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1427Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_220Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_217Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_218Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1157Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_3460Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_3472Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_47Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_282Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_3669Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_534Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_9529116Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_76691Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_9712276Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_9713026Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_78150Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_77832Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_280482649Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_15448Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_386854Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_9676326Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1944903Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1597390874Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_49076823Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_79341Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_15751Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_247239028Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_94407393Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_840111968Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1095772782Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_15831Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_240810599Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_240810604Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1680926299Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1680885744Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1223936132Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_48958735Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1622700141Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1979951Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_705019679Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1286698901Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_50778415Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_253393261Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_201970799Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_201970793Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_201970776Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_197002174Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_197002168Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_197002151Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_207673231Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_207673214Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_80109Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_80416Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_80694Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_80854Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_406284Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1753751730Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1770803725Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2067759348Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2090604340Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_880412606Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_50246319Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_636Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_619776399Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_911175911Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1744612358Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1937220099Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_10377126Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_10377643Abc31A)/*:RF4*/),150,128,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1297145705Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1297432701Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_51906905Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_51915068Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_577213499Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1297876698Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_259659630Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2098363273Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_16639Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_16616Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_16877Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_84969Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_84881Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_424424Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_424430Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1483884743Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1319421852Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_430881Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_269315573Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_16686Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_261093457Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_52347889Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_761722990Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1856946950Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1740332382Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_756809447Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_506823435Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_203589551Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1682815431Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2054549840Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1644425991Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1419919903Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_275488632Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_698215697Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1735712398Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1206543966Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1209184326Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1192911276Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1326673961Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_954385774Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_3474Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_87541Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_10945665Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_849712179Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_3501Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_88048Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_88049Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_55040341Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_55040391Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_55040401Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_55041091Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_55041141Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_55041151Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_573080478Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_41849945Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2174354Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2218105Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_3545Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_438300Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1395184171Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2187464Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2187483Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_54688766Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_10938831Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_869539012Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_11001014Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1245671098Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_112335826Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_276937706Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_591414963Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_267647687Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_591417242Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_447600Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_55924644Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_55926626Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_279656751Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_447584Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_89510Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_447851Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2246041Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_278061691Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_88795Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1607595572Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1604522960Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_567319806Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_567319812Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_567319829Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1604515261Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1603529235Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_572288431Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_572288437Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_572288454Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_279523519Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1574640467Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_18110Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_312005144Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1176378494Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2035472654Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_859431564Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1744399653Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_30191860Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_451899881Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1375414302Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1739790308Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_586229245Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_728963476Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_827429162Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_747962924Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_451252Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_90544Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1530432238Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_744845610Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_17941Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1202672333Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_48856070Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1501191Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1498845794Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1300046706Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_2038667775Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_421505Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1578334651Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1115958189Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1673348567Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_1673345408Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_42134669Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_337331Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_440571Abc31A)/*:RF4*/,
/*RF4:create_hashed_string*/r281create_hashed_string(ms31_14150Abc31A)/*:RF4*/);
}}
return oBC281memory;
}/*--*/

/*STRING_ALIASER*/T0*r281string(T0*a1){
T0* R=(void*)0;
R=(/*RF2:to_string*/((T107*)(/*RF4:hashed_string*/r281hashed_string(/*`model'*/a1)/*:RF4*/))->_to_string/*pi*//*:RF2*/);
return R;
}/*--*/
T0*oBC281hashed_string_buffer=(void*)0;
int fBC281hashed_string_buffer=0;

/*STRING_ALIASER*/T0*r281hashed_string_buffer(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC281hashed_string_buffer==0){fBC281hashed_string_buffer=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T107/*pi*/))));
*((T107*)tmp0/*new*/)=M107;
/*RF3:make*/r107make(((T107*)tmp0/*new*/),ms31_2104Abc31A,/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)ms31_2104Abc31A))/*:RF4*/);
/*:RF3*/oBC281hashed_string_buffer=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC281hashed_string_buffer;
}/*--*/

/*HASHED_STRING*/T6 r107is_equal(T107*C,T0*a1){
T6 R=0;
T0*_other_to_string=(void*)0;
_other_to_string=(/*RF2:to_string*/(((T107*)/*`other'*/a1))->_to_string/*pi*//*:RF2*/);
if(((/*RF2:to_string*/(C)->_to_string/*pi*//*:RF2*/))==((void*)(_other_to_string))){
R=((T6)(1));
}
else{
R=((T6)(/*RF4:is_equal*/r7is_equal((T7*)((/*RF2:to_string*/(C)->_to_string/*pi*//*:RF2*/)),_other_to_string)/*:RF4*/));
}
return R;
}/*--*/

/*HASHED_STRING*/void r107make(T107*C,T0*a1,T2 a2){
/*SFN*/(C->_to_string/*pi*/)=/*`ts'*/a1;
/*SFN*/(C->_hash_code/*pi*/)=/*`hc'*/a2;
}/*--*/

/*HASHED_STRING*/void r107set(T107*C,T0*a1){
/*SFN*/(C->_to_string/*pi*/)=/*`ts'*/a1;
/*SFN*/(C->_hash_code/*pi*/)=/*RF4:computed_hash_code*/r7computed_hash_code(((T7*)/*`ts'*/a1))/*:RF4*/;
}/*--*/

/*INI_PARSER*/void r106goto_next_line(T106*C){
while(1){
/*until*/if((/*RF4:skip1*/r106skip1(C,((T3)'\n'))/*:RF4*/)==(0)) break;
/*RF3:skip_comments*/r106skip_comments(C);
/*:RF3*/}
}/*--*/

/*INI_PARSER*/T6 r106section_has(T106*C,T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T0*_sec=(void*)0;
if(((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/))!=((void*)((void*)0))){
_sec=/*RF4:reference_at*/r970reference_at((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)),/*`section'*/a1)/*:RF4*/;
tmp0/*and then*/=((T6)((_sec)!=((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF4:has*/r971has(((T971*)_sec),/*`key'*/a2)/*:RF4*/));
}
R=((T6)(tmp0/*and then*/));
}
return R;
}/*--*/

/*INI_PARSER*/void r106serc(T106*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 _p={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_p=tmp0/*locexp*/;
/*tmp0.unlock*/
/*SFN*/(C->_id/*8piiiisppiippppc*/)=INT16_C(32766);
}/*--*/
T0*oBC105lcs=(void*)0;
int fBC105lcs=0;

/*INI_PARSER*/T0*r106lcs(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC105lcs==0){fBC105lcs=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(80));
/*:RF3*/oBC105lcs=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC105lcs;
}/*--*/
T0*oBC105buffer=(void*)0;
int fBC105buffer=0;

/*INI_PARSER*/T0*r106buffer(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC105buffer==0){fBC105buffer=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(80));
/*:RF3*/oBC105buffer=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC105buffer;
}/*--*/

/*INI_PARSER*/T6 r106a_section(T106*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
T6 tmp2;
T6 tmp3;
T6 tmp4;
T0* tmp5;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF4:skip_spaces*/r106skip_spaces(C)/*:RF4*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF4:skip1*/r106skip1(C,((T3)'\133'))/*:RF4*/));
}
tmp1/*and then*/=((T6)(tmp0/*and then*/));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)(/*RF4:skip_spaces*/r106skip_spaces(C)/*:RF4*/));
}
if(tmp1/*and then*/){
tmp2/*and then*/=((T6)(/*RF4:a_identifier*/r106a_identifier(C)/*:RF4*/));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)(/*RF4:skip_spaces*/r106skip_spaces(C)/*:RF4*/));
}
tmp3/*and then*/=((T6)(tmp2/*and then*/));
if(tmp3/*and then*/){
tmp3/*and then*/=((T6)(/*RF4:skip1*/r106skip1(C,((T3)'\135'))/*:RF4*/));
}
tmp4/*and then*/=((T6)(tmp3/*and then*/));
if(tmp4/*and then*/){
tmp4/*and then*/=((T6)(/*RF4:skip_spaces*/r106skip_spaces(C)/*:RF4*/));
}
R=((T6)(tmp4/*and then*/));
if(R){
/*RF3:goto_next_line*/r106goto_next_line(C);
/*:RF3*//*SFN*/(C->_last_section/*8piiiisppiippppc*/)=(/*RF2:to_string*/((T107*)(/*RF4:hashed_string*/r792hashed_string(&((/*RF2:token_buffer*/(C)->_token_buffer/*8piiiisppiippppc*//*:RF2*/)))/*:RF4*/))->_to_string/*pi*//*:RF2*/);
if(((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/))==((void*)((void*)0))){
tmp5/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T970/*2pniiii*/))));
*((T970*)tmp5/*new*/)=M970;
/*RF3:make*/r970make(((T970*)tmp5/*new*/));
/*:RF3*//*SFN*/(C->_sections/*8piiiisppiippppc*/)=tmp5/*new*/;
/*tmp5.unlock*/
}
if((/*RF4:has*/r970has((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)),(/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/)==(0)){
/*RF3:add*/r970add((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)),((T0*)create971make()),(/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/}
/*RF3:a_keys*/r106a_keys(C);
/*:RF3*/}
}
return R;
}/*--*/
T0*oBC30strings=(void*)0;
int fBC30strings=0;

/*INI_PARSER*/T0*r106strings(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30strings==0){fBC30strings=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T59/*0ppi*/))));
*((T59*)tmp0/*new*/)=M59;
/*RF3:make*/r59make(((T59*)tmp0/*new*/));
/*:RF3*/oBC30strings=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30strings;
}/*--*/
T0*oBC105unicode_string_buffer=(void*)0;
int fBC105unicode_string_buffer=0;

/*INI_PARSER*/T0*r106unicode_string_buffer(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC105unicode_string_buffer==0){fBC105unicode_string_buffer=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T336/*2pniii*/))));
*((T336*)tmp0/*new*/)=M336;
/*RF3:make_empty*/r336make_empty(((T336*)tmp0/*new*/));
/*:RF3*/oBC105unicode_string_buffer=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC105unicode_string_buffer;
}/*--*/

/*INI_PARSER*/T6 r106is_install(void){
T6 R=0;
R=((T6)((/*RF2:item*/(((T909*)oBC30install_memory))->_item/*p*//*:RF2*/)));
return R;
}/*--*/

/*INI_PARSER*/void r106a_keys(T106*C){
T6 _stop=0;
/*RF3:goto_next_line*/r106goto_next_line(C);
/*:RF3*/while(1){
/*until*/if(_stop) break;
_stop=((T6)((/*RF4:a_key*/r106a_key(C)/*:RF4*/)==(0)));
}
}/*--*/

/*INI_PARSER*/T0*r106parser_buffer(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30parser_buffer==0){fBC30parser_buffer=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T123/*3pi*/))));
*((T123*)tmp0/*new*/)=M123;
/*RF3:make*/r123make(((T123*)tmp0/*new*/));
/*:RF3*/oBC30parser_buffer=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30parser_buffer;
}/*--*/

/*INI_PARSER*/void r106a_sections(T106*C){
T6 _stop=0;
/*RF3:goto_next_line*/r106goto_next_line(C);
/*:RF3*/while(1){
/*until*/if(_stop) break;
_stop=((T6)((/*RF4:a_section*/r106a_section(C)/*:RF4*/)==(0)));
}
}/*--*/

/*INI_PARSER*/void r106go_back_at(T106*C,T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 _sp={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_sp=tmp0/*locexp*/;
/*tmp0.unlock*/
/*SFN*/(C->_line/*8piiiisppiippppc*/)=/*`l'*/a1;
/*SFN*/(C->_column/*8piiiisppiippppc*/)=/*`c'*/a2;
/*SFN*/(C->_current_line/*8piiiisppiippppc*/)=/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:text*/((T123*)(/*RF6:parser_buffer*/r106parser_buffer()/*:RF6*/))->_text/*3pi*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*`l'*/a1]/*:RF8*/;
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=/*RF4:item*/r7item((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)),/*`c'*/a2)/*:RF4*/;
if(((/*RF2:last_comment*/(C)->_last_comment/*8piiiisppiippppc*//*:RF2*/))!=((void*)((void*)0))){
_sp=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=(/*RF2:start_position*/((T440*)((/*RF2:last_comment*/(C)->_last_comment/*8piiiisppiippppc*//*:RF2*/)))->_start_position/*pi*//*:RF2*/),&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
if(/*RF8:<*/((int32_t)(/*`l'*/a1))<(/*RF4:line*/r354line(&_sp)/*:RF4*/)/*:RF8*/){
/*SFN*/(C->_last_comment/*8piiiisppiippppc*/)=(void*)0;
}
else{
if((/*`l'*/a1)==(/*RF4:line*/r354line(&_sp)/*:RF4*/)){
if(/*RF8:<*/((int32_t)(/*`c'*/a2))<(/*RF4:column*/r354column(&_sp)/*:RF4*/)/*:RF8*/){
/*SFN*/(C->_last_comment/*8piiiisppiippppc*/)=(void*)0;
}
}
}
}
}/*--*/

/*INI_PARSER*/T6 r106skip1(T106*C,T3 a1){
T6 R=0;
if((/*`char'*/a1)==((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))){
/*SFN*/(C->_start_line/*8piiiisppiippppc*/)=(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/);
/*SFN*/(C->_start_column/*8piiiisppiippppc*/)=(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/);
R=((T6)(1));
/*RF3:next_char*/r106next_char(C);
/*:RF3*/}
return R;
}/*--*/

/*INI_PARSER*/T6 r106a_string(T106*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T3 tmp1;
T3 tmp2;
T3 tmp3;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _state=0;
T2 _l=0;
T2 _c=0;
/*RF3:reset*/r792reset(&((/*RF2:token_buffer*/(C)->_token_buffer/*8piiiisppiippppc*//*:RF2*/)),(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/),(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/_state=INT32_C(0);
while(1){
tmp0/*or else*/=((T6)(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\n'))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\000'))));
}
/*until*/if(tmp0/*or else*/) break;
R=((T6)(1));
/*[inspect*/
switch(_state){
case 0:
tmp1/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp1/*inspectDynamicDispatchExpression*/){
case 9:
case 32:
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/));
/*:RF3*//*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/_state=INT32_C(1);
break;
case 45:
_l=(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/);
_c=(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/);
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/));
/*:RF3*/_state=INT32_C(2);
break;
default:;
/*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/}
/*inspect]*/
break;
case 1:
tmp2/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp2/*inspectDynamicDispatchExpression*/){
case 9:
case 32:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/break;
case 45:
_l=(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/);
_c=(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/);
_state=INT32_C(2);
break;
default:;
/*RF3:append*/r7append(((T7*)ms792_1400894751Abc792A),/*RF6:buffer*/r106buffer()/*:RF6*/);
/*:RF3*//*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/_state=INT32_C(0);
}
/*inspect]*/
break;
case 2:
tmp3/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp3/*inspectDynamicDispatchExpression*/){
case 45:
_state=INT32_C(3);
break;
case 9:
case 32:
/*RF3:append*/r7append(((T7*)ms792_1400894751Abc792A),/*RF6:buffer*/r106buffer()/*:RF6*/);
/*:RF3*//*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),((T3)'\055'));
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/));
/*:RF3*//*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/_state=INT32_C(1);
break;
default:;
/*RF3:append*/r7append(((T7*)ms792_1400894751Abc792A),/*RF6:buffer*/r106buffer()/*:RF6*/);
/*:RF3*//*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),((T3)'\055'));
/*:RF3*//*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/_state=INT32_C(0);
}
/*inspect]*/
break;
default:;
}
/*inspect]*/
/*RF3:next_char*/r106next_char(C);
/*:RF3*/}
return R;
}/*--*/

/*INI_PARSER*/T354 r106current_position(T106*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 R={0};
tmp0/*resexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*resexp*/);
/*:RF3*/R=tmp0/*resexp*/;
/*tmp0.unlock*/
R=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:pos*/r106pos(C,(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/),(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
return R;
}/*--*/

/*INI_PARSER*/T6 r106a_keyword(T106*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T3 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _c=0;
T2 _i=0;
T2 _j=0;
_i=(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/);
_c=(/*RF2:count*/(((T7*)/*`keyword'*/a1))->_count/*Tniiiiip*//*:RF2*/);
if(/*RF8:>=*/((int32_t)(/*RF8:+*/((int32_t)(/*RF8:-*/((int32_t)((/*RF2:count*/((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/)))-(_i)/*:RF8*/))+(INT32_C(1))/*:RF8*/))>=(_c)/*:RF8*/){
/*SFN*/(C->_start_line/*8piiiisppiippppc*/)=(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/);
/*SFN*/(C->_start_column/*8piiiisppiippppc*/)=_i;
_j=INT32_C(1);
while(1){
/*until*/if(/*RF8:<=*/((int32_t)(_c))<=(INT32_C(0))/*:RF8*/) break;
if((/*RF4:item*/r7item((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)),_i)/*:RF4*/)==(/*RF4:item*/r7item(((T7*)/*`keyword'*/a1),_j)/*:RF4*/)){
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
_j=/*RF8:+*/((int32_t)(_j))+(INT32_C(1))/*:RF8*/;
_c=/*RF8:-*/((int32_t)(_c))-(INT32_C(1))/*:RF8*/;
}
else{
_c=INT32_C(-1);
}
}
}
if((_c)==(INT8_C(0))){
if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
R=((T6)(1));
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=((T3)'\n');
/*SFN*/(C->_column/*8piiiisppiippppc*/)=_i;
/*RF3:skip_comments*/r106skip_comments(C);
/*:RF3*/}
else{
tmp0/*inspectDynamicDispatchExpression*/=/*RF4:item*/r7item((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)),_i)/*:RF4*/;
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 9:
case 32:
case 45:
R=((T6)(1));
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=/*RF4:item*/r7item((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)),_i)/*:RF4*/;
/*SFN*/(C->_column/*8piiiisppiippppc*/)=_i;
/*RF3:skip_comments*/r106skip_comments(C);
/*:RF3*/break;
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
case 95:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
break;
default:;
R=((T6)(1));
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=/*RF4:item*/r7item((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)),_i)/*:RF4*/;
/*SFN*/(C->_column/*8piiiisppiippppc*/)=_i;
/*RF3:skip_comments*/r106skip_comments(C);
/*:RF3*/}
/*inspect]*/
}
}
return R;
}/*--*/

/*INI_PARSER*/T0*r106echo(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30echo==0){fBC30echo=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T126/*3pip*/))));
*((T126*)tmp0/*new*/)=M126;
/*RF3:make*/r126make(((T126*)tmp0/*new*/));
/*:RF3*/oBC30echo=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30echo;
}/*--*/

/*INI_PARSER*/T6 r106a_identifier(T106*C){
/*[INTERNAL_C_LOCAL list*/
T3 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T6 _stop=0;
if(/*RF4:is_letter*/r3is_letter((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/){
/*RF3:reset*/r792reset(&((/*RF2:token_buffer*/(C)->_token_buffer/*8piiiisppiippppc*//*:RF2*/)),(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/),(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*//*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/while(1){
/*until*/if(_stop) break;
/*RF3:next_char*/r106next_char(C);
/*:RF3*/tmp0/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
/*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/break;
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
/*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/break;
case 46:
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 95:
/*RF3:extend*/r7extend(((T7*)ms792_1400894751Abc792A),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/break;
default:;
_stop=((T6)(1));
}
/*inspect]*/
}
R=((T6)(1));
}
return R;
}/*--*/

/*INI_PARSER*/T6 r106a_manifest_string(T106*C,T6 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T3 tmp1;
T3 tmp2;
T3 tmp3;
T3 tmp4;
T3 tmp5;
T3 tmp6;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _state=0;
T2 _l=0;
T2 _c=0;
T6 _once_flag=0;
T6 _unicode_flag=0;
T6 _stop=0;
T6 _source_view_flag=0;
T2 _ascii_code=0;
T2 _unicode=0;
T2 _digit_count=0;
T0*_source_view=(void*)0;
T0*_multi_line_end=(void*)0;
T2 _left_alignment=0;
T2 _current_alignment=0;
T2 _source_view_start_line=0;
T2 _source_view_start_column=0;
T2 _source_view_end_line=0;
T2 _source_view_end_column=0;
_l=(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/);
_c=(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/);
if(/*RF4:a_keyword*/r106a_keyword(C,ms32_17221Abc32A)/*:RF4*/){
_once_flag=((T6)(1));
}
if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'U'))){
_unicode_flag=((T6)(1));
/*RF3:next_char*/r106next_char(C);
/*:RF3*/}
if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\042'))){
R=((T6)(1));
tmp0/*or else*/=((T6)((/*RF2:short_or_class_check_flag*/(((T111*)oBC30smart_eiffel))->_short_or_class_check_flag/*ppp*//*:RF2*/)));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF2:pretty_flag*/(((T111*)oBC30smart_eiffel))->_pretty_flag/*ppp*//*:RF2*/)));
}
if(tmp0/*or else*/){
_source_view_flag=((T6)(1));
_source_view_start_line=(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/);
_source_view_start_column=(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/);
}
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/));
/*:RF3*/while(1){
/*until*/if(/*RF8:>=*/((int32_t)(_state))>=(INT32_C(10))/*:RF8*/) break;
/*RF3:next_char*/r106next_char(C);
/*:RF3*//*[inspect*/
switch(_state){
case 0:
tmp1/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp1/*inspectDynamicDispatchExpression*/){
case 10:
while(1){
/*until*/if((_multi_line_end)!=((void*)((void*)0))) break;
if(((/*RF2:count*/((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_181806522Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
else{
tmp2/*inspectDynamicDispatchExpression*/=/*RF4:last*/r7last((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/))/*:RF4*/;
/*[inspect*/
switch(tmp2/*inspectDynamicDispatchExpression*/){
case 9:
case 32:
/*RF3:remove_last*/r7remove_last((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/));
/*:RF3*//*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_1038536453Abc105A);
/*:RF3*//*RF3:print_as_warning*/r293print_as_warning((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/break;
case 91:
case 123:
_multi_line_end=ms105_74239Abc105A;
/*RF3:clear_count*/r7clear_count(((T7*)_multi_line_end));
/*:RF3*/if((/*RF4:last*/r7last((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/))/*:RF4*/)==(((T3)'\173'))){
/*RF3:extend*/r7extend(((T7*)_multi_line_end),((T3)'\175'));
/*:RF3*/_left_alignment=INT32_C(1);
_state=INT32_C(8);
}
else{
/*RF3:extend*/r7extend(((T7*)_multi_line_end),((T3)'\135'));
/*:RF3*/_state=INT32_C(7);
}
/*RF3:append*/r7append(((T7*)_multi_line_end),/*RF6:buffer*/r106buffer()/*:RF6*/);
/*:RF3*/_current_alignment=INT32_C(1);
/*RF3:remove_last*/r7remove_last(((T7*)_multi_line_end));
/*:RF3*//*RF3:extend*/r7extend(((T7*)_multi_line_end),((T3)'\042'));
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/));
/*:RF3*/break;
default:;
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_181806522Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
/*inspect]*/
}
}
break;
case 34:
_state=INT32_C(11);
break;
case 37:
_state=INT32_C(1);
break;
case 36:
/*RF3:may_expand_var*/r106may_expand_var(C);
/*:RF3*/break;
default:;
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/}
/*inspect]*/
break;
case 1:
_state=INT32_C(0);
/*auto-unlock tmp2*/tmp2/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp2/*inspectDynamicDispatchExpression*/){
case 10:
_state=INT32_C(3);
break;
case 65:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\100'));
/*:RF3*/break;
case 66:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\010'));
/*:RF3*/break;
case 67:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\136'));
/*:RF3*/break;
case 68:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\044'));
/*:RF3*/break;
case 70:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\014'));
/*:RF3*/break;
case 72:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\134'));
/*:RF3*/break;
case 76:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\176'));
/*:RF3*/break;
case 78:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\n'));
/*:RF3*/break;
case 81:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\140'));
/*:RF3*/break;
case 82:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\015'));
/*:RF3*/break;
case 83:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\043'));
/*:RF3*/break;
case 84:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\011'));
/*:RF3*/break;
case 85:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\000'));
/*:RF3*/break;
case 86:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\174'));
/*:RF3*/break;
case 37:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\045'));
/*:RF3*/break;
case 39:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\047'));
/*:RF3*/break;
case 34:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\042'));
/*:RF3*/break;
case 40:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\133'));
/*:RF3*/break;
case 41:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\135'));
/*:RF3*/break;
case 60:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\173'));
/*:RF3*/break;
case 62:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\175'));
/*:RF3*/break;
case 47:
_ascii_code=INT32_C(0);
_digit_count=INT32_C(0);
_state=INT32_C(4);
break;
case 9:
case 32:
_state=INT32_C(2);
break;
default:;
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_116346440Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
/*inspect]*/
break;
case 2:
/*auto-unlock tmp2*/tmp2/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp2/*inspectDynamicDispatchExpression*/){
case 10:
_state=INT32_C(3);
break;
case 9:
case 32:
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_1038536453Abc105A);
/*:RF3*//*RF3:print_as_warning*/r293print_as_warning((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/break;
default:;
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_894954671Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
/*inspect]*/
break;
case 3:
tmp3/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp3/*inspectDynamicDispatchExpression*/){
case 9:
case 32:
break;
case 37:
_state=INT32_C(0);
break;
case 10:
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_181806522Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/break;
default:;
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_176469602Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
/*inspect]*/
break;
case 4:
tmp4/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp4/*inspectDynamicDispatchExpression*/){
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
_digit_count=/*RF8:+*/((int32_t)(_digit_count))+(INT32_C(1))/*:RF8*/;
_ascii_code=/*RF8:+*/((int32_t)(/*RF8:**/((int32_t)(_ascii_code))*(INT32_C(10))/*:RF8*/))+(/*IC*/(T2)(/*RF4:decimal_value*/r3decimal_value((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/))/*:RF8*/;
break;
case 120:
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)((_digit_count)==(INT8_C(1))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((_ascii_code)==(INT8_C(0))));
}
if(tmp0/*and then*/){
_digit_count=INT32_C(0);
_state=INT32_C(5);
}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_595894613Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
break;
case 85:
if((_digit_count)==(INT8_C(0))){
/*RF3:next_char*/r106next_char(C);
/*:RF3*/if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'x'))){
_state=INT32_C(6);
_unicode=INT32_C(0);
_digit_count=INT32_C(0);
}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_595894613Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_595894613Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
break;
case 47:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),/*RF8:to_character*/((T3)(_ascii_code))/*:RF8*/);
/*:RF3*/_state=INT32_C(0);
if((_digit_count)==(INT8_C(0))){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_696478167Abc105A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
else{
if(/*RF8:>*/((int32_t)(_ascii_code))>(/*IC*/(T2)(/*RF8:Maximum_character_code*/EIF_MAXIMUM_CHARACTER_CODE/*:RF8*/))/*:RF8*/){
_ascii_code=INT32_C(0);
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_1581369567Abc105A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}
break;
default:;
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_595894613Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
/*inspect]*/
break;
case 5:
if(/*RF4:is_hexadecimal_digit*/r3is_hexadecimal_digit((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/){
_ascii_code=/*RF8:+*/((int32_t)(/*RF8:**/((int32_t)(_ascii_code))*(INT32_C(16))/*:RF8*/))+(/*IC*/(T2)(/*RF4:hexadecimal_value*/r3hexadecimal_value((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/))/*:RF8*/;
_digit_count=/*RF8:+*/((int32_t)(_digit_count))+(INT32_C(1))/*:RF8*/;
if(/*RF4:is_even*/r2is_even(_digit_count)/*:RF4*/){
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),/*RF8:to_character*/((T3)(_ascii_code))/*:RF8*/);
/*:RF3*/_ascii_code=INT32_C(0);
}
}
else{
if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\057'))){
_state=INT32_C(0);
if((_digit_count)==(INT8_C(0))){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_1700247488Abc105A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
else{
if(/*RF4:is_odd*/r2is_odd(_digit_count)/*:RF4*/){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_140920753Abc105A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}
}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_1700247488Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}
break;
case 6:
if(/*RF4:is_hexadecimal_digit*/r3is_hexadecimal_digit((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/){
_unicode=/*RF8:+*/((int32_t)(/*RF8:**/((int32_t)(_unicode))*(INT32_C(16))/*:RF8*/))+(/*IC*/(T2)(/*RF4:hexadecimal_value*/r3hexadecimal_value((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/))/*:RF8*/;
_digit_count=/*RF8:+*/((int32_t)(_digit_count))+(INT32_C(1))/*:RF8*/;
}
else{
if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\057'))){
_state=INT32_C(0);
if((_digit_count)==(INT8_C(0))){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_1836169859Abc105A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
else{
if(/*RF8:>*/((int32_t)(_digit_count))>(INT32_C(8))/*:RF8*/){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_1317175740Abc105A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
else{
/*RF3:clear_count*/r336clear_count((T336*)(/*RF6:unicode_string_buffer*/r106unicode_string_buffer()/*:RF6*/));
/*:RF3*/if(/*RF4:valid_unicode*/((/*UT*/(void)((T336*)(/*RF6:unicode_string_buffer*/r106unicode_string_buffer()/*:RF6*/))),r336valid_unicode(_unicode))/*:RF4*/){
/*RF3:add_last*/r336add_last((T336*)(/*RF6:unicode_string_buffer*/r106unicode_string_buffer()/*:RF6*/),_unicode);
/*:RF3*//*RF3:utf8_encode_in*/r336utf8_encode_in((T336*)(/*RF6:unicode_string_buffer*/r106unicode_string_buffer()/*:RF6*/),/*RF6:buffer*/r106buffer()/*:RF6*/);
/*:RF3*/}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_996106634Abc105A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}
}
}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_1836169859Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}
break;
case 7:
tmp5/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp5/*inspectDynamicDispatchExpression*/){
case 9:
case 32:
_current_alignment=/*RF8:+*/((int32_t)(_current_alignment))+(INT32_C(1))/*:RF8*/;
break;
case 10:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),((T3)'\n'));
/*:RF3*/_current_alignment=INT32_C(1);
break;
case 0:
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/);
/*:RF3*//*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_174945438Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/break;
default:;
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/if((_left_alignment)==(INT8_C(0))){
_left_alignment=_current_alignment;
}
_state=INT32_C(8);
}
/*inspect]*/
break;
case 8:
_current_alignment=/*RF8:+*/((int32_t)(_current_alignment))+(INT32_C(1))/*:RF8*/;
tmp6/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp6/*inspectDynamicDispatchExpression*/){
case 9:
case 32:
if(/*RF8:>=*/((int32_t)(_current_alignment))>=(_left_alignment)/*:RF8*/){
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/}
break;
case 10:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/_current_alignment=INT32_C(0);
break;
case 0:
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/);
/*:RF3*//*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_174945438Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/break;
case 34:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/if(/*RF4:has_suffix*/r7has_suffix((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),_multi_line_end)/*:RF4*/){
_state=INT32_C(10);
}
break;
default:;
if(/*RF8:<*/((int32_t)(_current_alignment))<(_left_alignment)/*:RF8*/){
if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(/*RF4:first*/r7first(((T7*)_multi_line_end))/*:RF4*/)){
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/_state=INT32_C(9);
}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/);
/*:RF3*//*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_174945438Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}
else{
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/}
}
/*inspect]*/
break;
default:;
/*auto-unlock tmp6*/tmp6/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp6/*inspectDynamicDispatchExpression*/){
case 0:
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/);
/*:RF3*//*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms105_174945438Abc105A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/break;
case 34:
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/if(/*RF4:has_suffix*/r7has_suffix((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),_multi_line_end)/*:RF4*/){
_state=INT32_C(10);
}
break;
default:;
/*RF3:extend*/r7extend((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/}
/*inspect]*/
}
/*inspect]*/
}
if((_state)==(INT8_C(10))){
/*RF3:remove_suffix*/r7remove_suffix((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/),_multi_line_end);
/*:RF3*/while(1){
/*until*/if(_stop) break;
if(((/*RF2:count*/((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
_stop=((T6)(1));
}
else{
_stop=((T6)((/*RF4:last*/r7last((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/))/*:RF4*/)==(((T3)'\n'))));
/*RF3:remove_last*/r7remove_last((T7*)(/*RF6:buffer*/r106buffer()/*:RF6*/));
/*:RF3*/}
}
}
if(_source_view_flag){
_source_view=ms105_35386613Abc105A;
/*RF3:clear_count*/r7clear_count(((T7*)_source_view));
/*:RF3*/_source_view_end_line=(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/);
_source_view_end_column=(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/);
/*RF3:go_back_at*/r106go_back_at(C,_source_view_start_line,_source_view_start_column);
/*:RF3*/while(1){
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)(((/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/))==(_source_view_end_line)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(((/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/))==(_source_view_end_column)));
}
/*until*/if(tmp0/*and then*/) break;
/*RF3:extend*/r7extend(((T7*)_source_view),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*//*RF3:next_char*/r106next_char(C);
/*:RF3*/}
/*RF3:extend*/r7extend(((T7*)_source_view),((T3)'\042'));
/*:RF3*/_source_view=/*RF8:twin*/r7twin(((T7*)_source_view))/*:RF8*/;
}
/*RF3:update_last_manifest_string*/r106update_last_manifest_string(C,/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/,(T6)(_once_flag),(T6)(_unicode_flag),/*RF6:buffer*/r106buffer()/*:RF6*/,_source_view);
/*:RF3*//*RF3:next_char*/r106next_char(C);
/*:RF3*/if(/*`skip_comments_flag'*/a1){
/*RF3:skip_comments*/r106skip_comments(C);
/*:RF3*/}
}
else{
/*auto-unlock tmp0*/tmp0/*or else*/=((T6)(_once_flag));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(_unicode_flag));
}
if(tmp0/*or else*/){
/*RF3:go_back_at*/r106go_back_at(C,_l,_c);
/*:RF3*/}
}
return R;
}/*--*/

/*INI_PARSER*/void r106fatal_error_except_for_install(T106*C,T0*a1){
if(/*RF4:is_install*/r106is_install()/*:RF4*/){
/*SFN*/(C->_is_invalid/*8piiiisppiippppc*/)=((T6)(1));
}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:current_position*/r106current_position(C)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),/*`msg'*/a1);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}/*--*/

/*INI_PARSER*/void r106a_inifile(T106*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
if(((/*RF2:default_section*/(C)->_default_section/*8piiiisppiippppc*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:clear_count*/r971clear_count((T971*)((/*RF2:default_section*/(C)->_default_section/*8piiiisppiippppc*//*:RF2*/)));
/*:RF3*/}
if(((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:clear_count*/r970clear_count((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)));
/*:RF3*/}
/*SFN*/(C->_drop_comments/*8piiiisppiippppc*/)=((T6)(1));
/*SFN*/(C->_last_section/*8piiiisppiippppc*/)=(void*)0;
/*SFN*/(C->_last_key/*8piiiisppiippppc*/)=(void*)0;
/*SFN*/(C->_line/*8piiiisppiippppc*/)=INT32_C(1);
/*SFN*/(C->_column/*8piiiisppiippppc*/)=INT32_C(1);
/*SFN*/(C->_current_line/*8piiiisppiippppc*/)=/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:text*/((T123*)(/*RF6:parser_buffer*/r106parser_buffer()/*:RF6*/))->_text/*3pi*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/)]/*:RF8*/;
/*SFN*/(C->_file_path/*8piiiisppiippppc*/)=(/*RF2:to_string*/((T107*)((/*RF2:hashed_path*/((T123*)(/*RF6:parser_buffer*/r106parser_buffer()/*:RF6*/))->_hashed_path/*3pi*//*:RF2*/)))->_to_string/*pi*//*:RF2*/);
if(((/*RF2:count*/((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=((T3)'\n');
}
else{
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=/*RF4:first*/r7first((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))/*:RF4*/;
}
/*RF3:skip_comments*/r106skip_comments(C);
/*:RF3*/if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))!=(((T3)'\133'))){
/*RF3:a_keys*/r106a_keys(C);
/*:RF3*/}
/*RF3:a_sections*/r106a_sections(C);
/*:RF3*//*RF3:goto_next_line*/r106goto_next_line(C);
/*:RF3*/if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))!=(((T3)'\000'))){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/),(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/);
/*:RF3*//*RF3:fatal_error_except_for_install*/r106fatal_error_except_for_install(C,se_string(28,s106_1043946153A));
/*:RF3*/}
else{
tmp0/*and then*/=((T6)(((/*RF2:default_section*/(C)->_default_section/*8piiiisppiippppc*//*:RF2*/))==((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/))==((void*)((void*)0))));
}
if(tmp0/*and then*/){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/),(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/);
/*:RF3*//*RF3:fatal_error_except_for_install*/r106fatal_error_except_for_install(C,se_string(18,s106_1684808173A));
/*:RF3*/}
}
/*RF3:release*/r123release((T123*)(/*RF6:parser_buffer*/r106parser_buffer()/*:RF6*/));
/*:RF3*/}/*--*/

/*INI_PARSER*/void r106may_expand_var_into(T106*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T545 tmp0;
T6 tmp1;
T6 tmp2;
T3 tmp3;
T6 tmp4;
T3 tmp5;
T6 tmp6;
T0* tmp7;
T6 tmp8;
T3 tmp9;
/*INTERNAL_C_LOCAL list]*/
T0*_value=(void*)0;
T0*_cmd=(void*)0;
T2 _c=0;
T2 _l=0;
T6 _stop=0;
T3 _ch='\0';
T545 _process_factory={(void*)0,0,0,0,0};
T0*_process=(void*)0;
T0*_stream=(void*)0;
tmp0/*locexp*/=M545;
/*RF3:default_create*/r545default_create(&tmp0/*locexp*/);
/*:RF3*/_process_factory=tmp0/*locexp*/;
/*tmp0.unlock*/
tmp1/*or else*/=((T6)((/*RF2:expand_var*/(C)->_expand_var/*8piiiisppiippppc*//*:RF2*/)));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)((/*RF2:expand_execute*/(C)->_expand_execute/*8piiiisppiippppc*//*:RF2*/)));
}
if(tmp1/*or else*/){
_l=(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/);
_c=(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/);
/*RF3:next_char*/r106next_char(C);
/*:RF3*/_cmd=/*RF4:best_fit*/r59best_fit((T59*)(/*RF6:strings*/r106strings()/*:RF6*/),INT32_C(32))/*:RF4*/;
tmp2/*and then*/=((T6)((/*RF2:expand_var*/(C)->_expand_var/*8piiiisppiippppc*//*:RF2*/)));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\173'))));
}
if(tmp2/*and then*/){
/*RF3:next_char*/r106next_char(C);
/*:RF3*/while(1){
/*until*/if(_stop) break;
tmp3/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp3/*inspectDynamicDispatchExpression*/){
case 125:
_value=/*RF4:getenv*/r126getenv((T126*)(/*RF6:echo*/r106echo()/*:RF6*/),_cmd,(/*RF2:file_path*/(C)->_file_path/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/;
if((_value)!=((void*)((void*)0))){
/*RF3:append*/r7append(((T7*)/*`buf'*/a1),_value);
/*:RF3*/}
_stop=((T6)(1));
break;
case 0:
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms106_1130154866Abc106A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/break;
default:;
/*RF3:extend*/r7extend(((T7*)_cmd),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*//*RF3:next_char*/r106next_char(C);
/*:RF3*/}
/*inspect]*/
}
}
else{
tmp4/*and then*/=((T6)((/*RF2:expand_execute*/(C)->_expand_execute/*8piiiisppiippppc*//*:RF2*/)));
if(tmp4/*and then*/){
tmp4/*and then*/=((T6)(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\050'))));
}
if(tmp4/*and then*/){
/*RF3:next_char*/r106next_char(C);
/*:RF3*/while(1){
/*until*/if(_stop) break;
tmp5/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp5/*inspectDynamicDispatchExpression*/){
case 41:
if(((/*RF2:count*/(((T7*)_cmd))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms106_356743Abc106A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
else{
_process=/*RF4:create_process*/r545create_process(&_process_factory)/*:RF4*/;
/*[inspectDynamicDispatch*/
switch((((T0*)(_process))->id)){
case 803:
(/*RF2:direct_input*/(((T803*)_process))->_direct_input/*T7pppppp*//*:RF2*/)=((T6)(1));
break;
case 804:
(/*RF2:direct_input*/(((T804*)_process))->_direct_input/*T7pppppp*//*:RF2*/)=((T6)(1));
break;
default:;
(/*RF2:direct_input*/(((T805*)_process))->_direct_input/*Tpppp*//*:RF2*/)=((T6)(1));
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_process))->id)){
case 803:
(/*RF2:direct_error*/(((T803*)_process))->_direct_error/*T7pppppp*//*:RF2*/)=((T6)(1));
break;
case 804:
(/*RF2:direct_error*/(((T804*)_process))->_direct_error/*T7pppppp*//*:RF2*/)=((T6)(1));
break;
default:;
(/*RF2:direct_error*/(((T805*)_process))->_direct_error/*Tpppp*//*:RF2*/)=((T6)(1));
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_process))->id)){
case 803:
/*RF3:execute_command_line*/r803execute_command_line(((T803*)_process),_cmd,(T6)(1));
/*:RF3*/break;
case 804:
/*RF3:execute_command_line*/r804execute_command_line(((T804*)_process),_cmd,(T6)(1));
/*:RF3*/break;
default:;
/*RF3:execute_command_line*/r805execute_command_line(((T805*)_process),_cmd,(T6)(1));
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_process))->id)){
case 803:
tmp6/*is_connected*/=((T6)((/*RF2:is_connected*/(((T803*)_process))->_is_connected/*T7pppppp*//*:RF2*/)));
break;
case 804:
tmp6/*is_connected*/=((T6)((/*RF2:is_connected*/(((T804*)_process))->_is_connected/*T7pppppp*//*:RF2*/)));
break;
default:;
tmp6/*is_connected*/=((T6)(0));
}
/*inspect]*/
if(tmp6/*is_connected*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(_process))->id)){
case 803:
tmp7/*output*/=(/*RF2:output*/(((T803*)_process))->_output/*T7pppppp*//*:RF2*/);
break;
case 804:
tmp7/*output*/=(/*RF2:output*/(((T804*)_process))->_output/*T7pppppp*//*:RF2*/);
break;
default:;
tmp7/*output*/=(void*)0;
}
/*inspect]*/
_stream=tmp7/*output*/;
/*[inspectDynamicDispatch*/
switch((((T0*)(_stream))->id)){
case 857:
/*RF3:filtered_read_character*/r857filtered_read_character(((T857*)_stream));
/*:RF3*/break;
default:;
/*RF3:filtered_read_character*/r859filtered_read_character(((T859*)_stream));
/*:RF3*/}
/*inspect]*/
while(1){
/*[inspectDynamicDispatch*/
switch((((T0*)(_stream))->id)){
case 857:
tmp8/*end_of_input*/=((T6)((/*RF2:end_of_input*/(((T857*)_stream))->_end_of_input/*Tppipppcpc*//*:RF2*/)));
break;
default:;
tmp8/*end_of_input*/=((T6)((/*RF2:end_of_input*/(((T859*)_stream))->_end_of_input/*Tppppppcpc*//*:RF2*/)));
}
/*inspect]*/
/*until*/if(tmp8/*end_of_input*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(_stream))->id)){
case 857:
tmp9/*last_character*/=(/*RF2:filtered_last_character*/(((T857*)_stream))->_filtered_last_character/*Tppipppcpc*//*:RF2*/);
break;
default:;
tmp9/*last_character*/=(/*RF2:filtered_last_character*/(((T859*)_stream))->_filtered_last_character/*Tppppppcpc*//*:RF2*/);
}
/*inspect]*/
_ch=tmp9/*last_character*/;
/*[inspect*/
switch(_ch){
case 10:
case 13:
/*RF3:extend*/r7extend(((T7*)/*`buf'*/a1),((T3)'\040'));
/*:RF3*/break;
default:;
/*RF3:extend*/r7extend(((T7*)/*`buf'*/a1),_ch);
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(_stream))->id)){
case 857:
/*RF3:filtered_read_character*/r857filtered_read_character(((T857*)_stream));
/*:RF3*/break;
default:;
/*RF3:filtered_read_character*/r859filtered_read_character(((T859*)_stream));
/*:RF3*/}
/*inspect]*/
}
/*[inspectDynamicDispatch*/
switch((((T0*)(_process))->id)){
case 803:
/*RF3:wait*/r803wait(((T803*)_process));
/*:RF3*/break;
case 804:
/*RF3:wait*/r804wait(((T804*)_process));
/*:RF3*/break;
default:;
}
/*inspect]*/
}
else{
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms106_1784452489Abc106A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),_cmd);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms106_1377150320Abc106A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
}
_stop=((T6)(1));
break;
case 36:
/*RF3:may_expand_var_into*/r106may_expand_var_into(C,_cmd);
/*:RF3*//*RF3:next_char*/r106next_char(C);
/*:RF3*/break;
case 0:
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,_l,_c)/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms106_126291003Abc106A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/break;
default:;
/*RF3:extend*/r7extend(((T7*)_cmd),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*//*RF3:next_char*/r106next_char(C);
/*:RF3*/}
/*inspect]*/
}
}
else{
/*RF3:extend*/r7extend(((T7*)/*`buf'*/a1),((T3)'\044'));
/*:RF3*//*RF3:go_back_at*/r106go_back_at(C,_l,_c);
/*:RF3*/}
}
/*RF3:recycle*/r59recycle((T59*)(/*RF6:strings*/r106strings()/*:RF6*/),_cmd);
/*:RF3*/}
else{
/*RF3:extend*/r7extend(((T7*)/*`buf'*/a1),((T3)'\044'));
/*:RF3*/}
}/*--*/

/*INI_PARSER*/void r106skip_comments(T106*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
T3 tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T354 _sp={0};
T6 _stop=0;
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_sp=tmp0/*locexp*/;
/*tmp0.unlock*/
/*SFN*/(C->_skipped_new_line/*8piiiisppiippppc*/)=((T6)(0));
while(1){
/*until*/if(_stop) break;
tmp1/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp1/*inspectDynamicDispatchExpression*/){
case 10:
case 13:
/*SFN*/(C->_skipped_new_line/*8piiiisppiippppc*/)=((T6)(1));
/*RF3:next_char*/r106next_char(C);
/*:RF3*/break;
case 9:
case 12:
case 32:
/*RF3:next_char*/r106next_char(C);
/*:RF3*/break;
case 45:
/*RF3:next_char*/r106next_char(C);
/*:RF3*/if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\055'))){
if((/*RF2:drop_comments*/(C)->_drop_comments/*8piiiisppiippppc*//*:RF2*/)){
if(((/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/))==((/*RF2:count*/((T123*)(/*RF6:parser_buffer*/r106parser_buffer()/*:RF6*/))->_count/*3pi*//*:RF2*/))){
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=((T3)'\000');
_stop=((T6)(1));
}
else{
/*SFN*/(C->_line/*8piiiisppiippppc*/)=/*RF8:+*/((int32_t)((/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_column/*8piiiisppiippppc*/)=INT32_C(1);
/*SFN*/(C->_current_line/*8piiiisppiippppc*/)=/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:text*/((T123*)(/*RF6:parser_buffer*/r106parser_buffer()/*:RF6*/))->_text/*3pi*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/)]/*:RF8*/;
if(((/*RF2:count*/((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=((T3)'\n');
}
else{
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=/*RF4:first*/r7first((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))/*:RF4*/;
}
}
}
else{
_sp=/*RF8:twin*/r354twin((/*reusing tmp0*/tmp0/*fcstrangeisnotunlock*/=/*RF4:pos*/r106pos(C,(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/),/*RF8:-*/((int32_t)((/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/)))-(INT32_C(1))/*:RF8*/)/*:RF4*/,&tmp0/*fcstrangeisnotunlock*/))/*:RF8*/;
/*RF3:next_char*/r106next_char(C);
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)(/*RF6:lcs*/r106lcs()/*:RF6*/));
/*:RF3*/while(1){
/*until*/if(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\n'))) break;
/*RF3:extend*/r7extend((T7*)(/*RF6:lcs*/r106lcs()/*:RF6*/),(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*//*RF3:next_char*/r106next_char(C);
/*:RF3*/}
if(((/*RF2:last_comment*/(C)->_last_comment/*8piiiisppiippppc*//*:RF2*/))==((void*)((void*)0))){
tmp2/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T440/*pi*/))));
*((T440*)tmp2/*new*/)=M440;
r354default_create(&(((T440*)tmp2/*new*/)->_start_position));
/*RF3:make*/r440make(((T440*)tmp2/*new*/),_sp,/*RF8:twin*/r7twin((T7*)(/*RF6:lcs*/r106lcs()/*:RF6*/))/*:RF8*/);
/*:RF3*//*SFN*/(C->_last_comment/*8piiiisppiippppc*/)=tmp2/*new*/;
/*tmp2.unlock*/
}
else{
/*RF3:add_last*/r440add_last((T440*)((/*RF2:last_comment*/(C)->_last_comment/*8piiiisppiippppc*//*:RF2*/)),/*RF8:twin*/r7twin((T7*)(/*RF6:lcs*/r106lcs()/*:RF6*/))/*:RF8*/);
/*:RF3*/}
}
}
else{
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=((T3)'\055');
/*SFN*/(C->_column/*8piiiisppiippppc*/)=/*RF8:-*/((int32_t)((/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/)))-(INT32_C(1))/*:RF8*/;
_stop=((T6)(1));
}
break;
default:;
_stop=((T6)(1));
}
/*inspect]*/
}
}/*--*/

/*INI_PARSER*/void r106plugin(T106*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 _p={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_p=tmp0/*locexp*/;
/*tmp0.unlock*/
/*SFN*/(C->_id/*8piiiisppiippppc*/)=INT16_C(32765);
(/*RF2:expand_var*/(C)->_expand_var/*8piiiisppiippppc*//*:RF2*/)=((T6)(1));
(/*RF2:expand_execute*/(C)->_expand_execute/*8piiiisppiippppc*//*:RF2*/)=((T6)(1));
}/*--*/

/*INI_PARSER*/T0*r106sections_iterator(T106*C){
T0* R=(void*)0;
if(((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/))!=((void*)((void*)0))){
R=/*RF4:new_iterator_on_keys*/r970new_iterator_on_keys((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)))/*:RF4*/;
}
return R;
}/*--*/

/*INI_PARSER*/T0*r106section_item(T106*C,T0*a1,T0*a2){
T0* R=(void*)0;
R=/*RF4:at*/r971at((T971*)(/*RF4:at*/r970at((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)),/*`section'*/a1)/*:RF4*/),/*`key'*/a2)/*:RF4*/;
return R;
}/*--*/

/*INI_PARSER*/void r106next_char(T106*C){
if(/*RF8:<*/((int32_t)((/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/)))<((/*RF2:count*/((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_column/*8piiiisppiippppc*/)=/*RF8:+*/((int32_t)((/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=/*RF4:item*/r7item((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)),(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/;
}
else{
if(((/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/))==((/*RF2:count*/((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))){
/*SFN*/(C->_column/*8piiiisppiippppc*/)=/*RF8:+*/((int32_t)((/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=((T3)'\n');
}
else{
if(((/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/))==((/*RF2:count*/((T123*)(/*RF6:parser_buffer*/r106parser_buffer()/*:RF6*/))->_count/*3pi*//*:RF2*/))){
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=((T3)'\000');
}
else{
/*SFN*/(C->_line/*8piiiisppiippppc*/)=/*RF8:+*/((int32_t)((/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*SFN*/(C->_column/*8piiiisppiippppc*/)=INT32_C(1);
/*SFN*/(C->_current_line/*8piiiisppiippppc*/)=/*RF8:item*/((/*RF2:storage*/((T906*)((/*RF2:text*/((T123*)(/*RF6:parser_buffer*/r106parser_buffer()/*:RF6*/))->_text/*3pi*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/)]/*:RF8*/;
if(((/*RF2:count*/((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=((T3)'\n');
}
else{
/*SFN*/(C->_cc/*8piiiisppiippppc*/)=/*RF4:first*/r7first((T7*)((/*RF2:current_line*/(C)->_current_line/*8piiiisppiippppc*//*:RF2*/)))/*:RF4*/;
}
}
}
}
}/*--*/

/*INI_PARSER*/T6 r106a_key(T106*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
T6 tmp2;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T6 _dummy=0;
tmp0/*and then*/=((T6)(/*RF4:a_identifier*/r106a_identifier(C)/*:RF4*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF4:skip_spaces*/r106skip_spaces(C)/*:RF4*/));
}
if(tmp0/*and then*/){
if((/*RF4:skip1*/r106skip1(C,((T3)'\072'))/*:RF4*/)==(0)){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/),/*RF4:pos*/r106pos(C,(/*RF2:line*/(C)->_line/*8piiiisppiippppc*//*:RF2*/),(/*RF2:column*/(C)->_column/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms106_618869258Abc106A);
/*:RF3*//*RF3:print_as_warning*/r293print_as_warning((T293*)(/*RF6:error_handler*/r106error_handler()/*:RF6*/));
/*:RF3*/}
_dummy=((T6)(/*RF4:skip_spaces*/r106skip_spaces(C)/*:RF4*/));
/*SFN*/(C->_last_key/*8piiiisppiippppc*/)=/*RF8:twin*/r7twin((T7*)((/*RF2:to_string*/((T107*)(/*RF4:hashed_string*/r792hashed_string(&((/*RF2:token_buffer*/(C)->_token_buffer/*8piiiisppiippppc*//*:RF2*/)))/*:RF4*/))->_to_string/*pi*//*:RF2*/)))/*:RF8*/;
if((/*RF4:last_value*/r106last_value(C)/*:RF4*/)!=((void*)((void*)0))){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r106echo()/*:RF6*/),ms106_42698349Abc106A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r106echo()/*:RF6*/),(/*RF2:last_key*/(C)->_last_key/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r106echo()/*:RF6*/),ms106_745978733Abc106A);
/*:RF3*/if(((/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/))!=((void*)((void*)0))){
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r106echo()/*:RF6*/),ms106_1656731300Abc106A);
/*:RF3*//*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r106echo()/*:RF6*/),(/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*//*RF3:w_put_character*/r126w_put_character((T126*)(/*RF6:echo*/r106echo()/*:RF6*/),((T3)'\135'));
/*:RF3*/}
/*RF3:w_put_string*/r126w_put_string((T126*)(/*RF6:echo*/r106echo()/*:RF6*/),ms106_1385667261Abc106A);
/*:RF3*/}
tmp1/*or else*/=((T6)(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\n'))));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\000'))));
}
if(tmp1/*or else*/){
R=((T6)(1));
/*RF3:set_value*/r106set_value(C,ms29_0Abc106A);
/*:RF3*/}
else{
tmp2/*and then*/=((T6)(((/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/))==(((T3)'\042'))));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)(/*RF4:a_manifest_string*/r106a_manifest_string(C,(T6)(1))/*:RF4*/));
}
if(tmp2/*and then*/){
R=((T6)(1));
/*RF3:set_value*/r106set_value(C,(/*RF2:to_string*/((T398*)((/*RF2:last_manifest_string*/(C)->_last_manifest_string/*8piiiisppiippppc*//*:RF2*/)))->_to_string/*2pppi*//*:RF2*/));
/*:RF3*/}
else{
if(/*RF4:a_string*/r106a_string(C)/*:RF4*/){
R=((T6)(1));
/*RF3:set_value*/r106set_value(C,/*RF8:twin*/r7twin((T7*)((/*RF2:to_string*/((T107*)(/*RF4:hashed_string*/r792hashed_string(&((/*RF2:token_buffer*/(C)->_token_buffer/*8piiiisppiippppc*//*:RF2*/)))/*:RF4*/))->_to_string/*pi*//*:RF2*/)))/*:RF8*/);
/*:RF3*/}
}
}
if(R){
/*RF3:goto_next_line*/r106goto_next_line(C);
/*:RF3*/}
}
return R;
}/*--*/

/*INI_PARSER*/void r106update_last_manifest_string(T106*C,T354 a1,T6 a2,T6 a3,T0*a4,T0*a5){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T398/*2pppi*/))));
*((T398*)tmp0/*new*/)=M398;
r354default_create(&(((T398*)tmp0/*new*/)->_start_position));
/*RF3:make*/r398make(((T398*)tmp0/*new*/),/*`p'*/a1,(T6)(/*`once_flag'*/a2),(T6)(/*`unicode_flag'*/a3),/*`string'*/a4);
/*:RF3*//*SFN*/(C->_last_manifest_string/*8piiiisppiippppc*/)=tmp0/*new*/;
/*tmp0.unlock*/
(/*RF2:source_view*/((T398*)((/*RF2:last_manifest_string*/(C)->_last_manifest_string/*8piiiisppiippppc*//*:RF2*/)))->_source_view/*2pppi*//*:RF2*/)=/*`source_view'*/a5;
}/*--*/

/*INI_PARSER*/T0*r106section_key_iterator(T106*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_sec=(void*)0;
if(((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/))!=((void*)((void*)0))){
_sec=/*RF4:reference_at*/r970reference_at((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)),/*`section'*/a1)/*:RF4*/;
if((_sec)!=((void*)((void*)0))){
/*[inspectDynamicDispatch*/
switch((((T0*)(_sec))->id)){
case 907:
tmp0/*new_iterator_on_keys*/=/*RF4:new_iterator_on_keys*/r907new_iterator_on_keys(((T907*)_sec))/*:RF4*/;
break;
case 911:
tmp0/*new_iterator_on_keys*/=/*RF4:new_iterator_on_keys*/r911new_iterator_on_keys(((T911*)_sec))/*:RF4*/;
break;
default:;
tmp0/*new_iterator_on_keys*/=/*RF4:new_iterator_on_keys*/r971new_iterator_on_keys(((T971*)_sec))/*:RF4*/;
}
/*inspect]*/
R=tmp0/*new_iterator_on_keys*/;
}
}
return R;
}/*--*/

/*INI_PARSER*/void r106set_value(T106*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(((/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/))==((void*)((void*)0))){
if(((/*RF2:default_section*/(C)->_default_section/*8piiiisppiippppc*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T971/*T3pniiiii*/))));
*((T971*)tmp0/*new*/)=M971;
/*RF3:make*/r971make(((T971*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_default_section/*8piiiisppiippppc*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
/*RF3:put*/r971put((T971*)((/*RF2:default_section*/(C)->_default_section/*8piiiisppiippppc*//*:RF2*/)),/*`value'*/a1,(/*RF2:last_key*/(C)->_last_key/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/}
else{
/*RF3:put*/r971put((T971*)(/*RF4:at*/r970at((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)),(/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/),/*`value'*/a1,(/*RF2:last_key*/(C)->_last_key/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/}
}/*--*/

/*INI_PARSER*/void r106may_expand_var(T106*C){
/*RF3:may_expand_var_into*/r106may_expand_var_into(C,/*RF6:buffer*/r106buffer()/*:RF6*/);
/*:RF3*/}/*--*/

/*INI_PARSER*/T0*r106error_handler(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30error_handler==0){fBC30error_handler=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T293/*3piipp*/))));
*((T293*)tmp0/*new*/)=M293;
/*RF3:default_create*/r293default_create(((T293*)tmp0/*new*/));
/*:RF3*/oBC30error_handler=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30error_handler;
}/*--*/

/*INI_PARSER*/T0*r106last_value(T106*C){
T0* R=(void*)0;
if(((/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/))==((void*)((void*)0))){
if(((/*RF2:default_section*/(C)->_default_section/*8piiiisppiippppc*//*:RF2*/))!=((void*)((void*)0))){
R=/*RF4:reference_at*/r971reference_at((T971*)((/*RF2:default_section*/(C)->_default_section/*8piiiisppiippppc*//*:RF2*/)),(/*RF2:last_key*/(C)->_last_key/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/;
}
}
else{
if(/*RF4:has*/r970has((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)),(/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/){
R=/*RF4:reference_at*/r971reference_at((T971*)(/*RF4:at*/r970at((T970*)((/*RF2:sections*/(C)->_sections/*8piiiisppiippppc*//*:RF2*/)),(/*RF2:last_section*/(C)->_last_section/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/),(/*RF2:last_key*/(C)->_last_key/*8piiiisppiippppc*//*:RF2*/))/*:RF4*/;
}
}
return R;
}/*--*/

/*INI_PARSER*/T6 r106skip_spaces(T106*C){
/*[INTERNAL_C_LOCAL list*/
T3 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T6 _stop=0;
while(1){
/*until*/if(_stop) break;
tmp0/*inspectDynamicDispatchExpression*/=(/*RF2:cc*/(C)->_cc/*8piiiisppiippppc*//*:RF2*/);
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 9:
case 32:
/*RF3:next_char*/r106next_char(C);
/*:RF3*/break;
default:;
_stop=((T6)(1));
}
/*inspect]*/
}
R=((T6)(1));
return R;
}/*--*/

/*INI_PARSER*/T354 r106pos(T106*C,T2 a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 R={0};
tmp0/*resexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*resexp*/);
/*:RF3*/R=tmp0/*resexp*/;
/*tmp0.unlock*/
/*RF3:set_in_ini_file*/r354set_in_ini_file(&R,/*`l'*/a1,/*`c'*/a2,(/*RF2:id*/(C)->_id/*8piiiisppiippppc*//*:RF2*/));
/*:RF3*/return R;
}/*--*/
T0*oBC283clusters_=(void*)0;
int fBC283clusters_=0;

/*ACE*/T0*r283clusters_(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC283clusters_==0){fBC283clusters_=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T979/*niii*/))));
*((T979*)tmp0/*new*/)=M979;
/*RF3:make*/r979make(((T979*)tmp0/*new*/),INT32_C(0));
/*:RF3*/oBC283clusters_=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC283clusters_;
}/*--*/

/*ACE*/T0*r283cluster_of(T0*a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_origin=(void*)0;
T0*_last_origin=(void*)0;
T0*_ct=(void*)0;
_ct=/*RF4:class_text*/r354class_text((tmp0/*fcstrangeisnotunlock*/=(/*RF2:start_position*/(((T92*)/*`class_name'*/a1))->_start_position/*2pipi*//*:RF2*/),&tmp0/*fcstrangeisnotunlock*/))/*:RF4*/;
R=/*RF4:best_cluster_of*/r283best_cluster_of(/*RF6:universe*/r283universe()/*:RF6*/,/*`class_name'*/a1,(void*)0)/*:RF4*/;
if(((/*RF2:allow_missing*/(((T92*)/*`class_name'*/a1))->_allow_missing/*2pipi*//*:RF2*/))==(0)){
/*RF3:add_position*/r293add_position((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/),(/*RF2:start_position*/(((T92*)/*`class_name'*/a1))->_start_position/*2pipi*//*:RF2*/));
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms283_1984169029Abc283A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),(/*RF2:to_string*/(((T92*)/*`class_name'*/a1))->_to_string/*2pipi*//*:RF2*/));
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms283_1799491166Abc283A);
/*:RF3*//*RF3:print_as_fatal_error*/r293print_as_fatal_error((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/));
/*:RF3*/}
return R;
}/*--*/
T0*oBC283root_class_names=(void*)0;
int fBC283root_class_names=0;

/*ACE*/T0*r283root_class_names(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC283root_class_names==0){fBC283root_class_names=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T978/*niii*/))));
*((T978*)tmp0/*new*/)=M978;
/*RF3:with_capacity*/r978with_capacity(((T978*)tmp0/*new*/),INT32_C(1));
/*:RF3*/oBC283root_class_names=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC283root_class_names;
}/*--*/

/*ACE*/T0*r283root_class_name(T283*C){
T0* R=(void*)0;
R=/*RF8:item*/((/*RF2:storage*/((T978*)(/*RF6:root_class_names*/r283root_class_names()/*:RF6*/))->_storage/*niii*//*:RF2*/))[(/*RF2:root_index*/(C)->_root_index/*pip*//*:RF2*/)]/*:RF8*/;
return R;
}/*--*/
T0*oBC283distances_=(void*)0;
int fBC283distances_=0;

/*ACE*/T0*r283distances_(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC283distances_==0){fBC283distances_=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T980/*niii*/))));
*((T980*)tmp0/*new*/)=M980;
/*RF3:make*/r980make(((T980*)tmp0/*new*/),INT32_C(0));
/*:RF3*/oBC283distances_=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC283distances_;
}/*--*/

/*ACE*/T0*r283error_handler(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30error_handler==0){fBC30error_handler=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T293/*3piipp*/))));
*((T293*)tmp0/*new*/)=M293;
/*RF3:default_create*/r293default_create(((T293*)tmp0/*new*/));
/*:RF3*/oBC30error_handler=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30error_handler;
}/*--*/
T0*oBC283universe=(void*)0;
int fBC283universe=0;

/*ACE*/T0*r283universe(void){
int _factory=0/*empty expanded*/;
if(fBC283universe==0){fBC283universe=1;{
oBC283universe=/*RF6:universe*/r711universe()/*:RF6*/;
}}
return oBC283universe;
}/*--*/
/*l667c45/ace.e*//*l669c57/ace.e*/
/*ACE*/T0*r283best_cluster_of(T0*a1,T0*a2,T0*a3){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T0* tmp1;
T0* tmp2;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T0*_c=(void*)0;
T0*_d=(void*)0;
_c=/*RF6:clusters_*/r283clusters_()/*:RF6*/;
_d=/*RF6:distances_*/r283distances_()/*:RF6*/;
/*RF3:clear_count*/r979clear_count(((T979*)_c));
/*:RF3*//*RF3:clear_count*/r980clear_count(((T980*)_d));
/*:RF3*//*RF3:clusters_of*/r710clusters_of(((T710*)/*ND*/(T0*)(/*`origin'*/a1)),/*`class_name'*/a2,/*`skip'*/a3,_c,_d,INT32_C(0));
/*:RF3*/tmp0/*inspectDynamicDispatchExpression*/=/*RF4:count*/r979count(((T979*)_c))/*:RF4*/;
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 0:
break;
case 1:
R=/*RF4:first*/r979first(((T979*)_c))/*:RF4*/;
break;
default:;
if(/*RF8:>*/((int32_t)(/*RF8:item*/((/*RF2:storage*/(((T980*)_d))->_storage/*niii*//*:RF2*/))[INT32_C(1)]/*:RF8*/))>(/*RF4:first*/r980first(((T980*)_d))/*:RF4*/)/*:RF8*/){
R=/*RF4:first*/r979first(((T979*)_c))/*:RF4*/;
}
else{
if(((/*RF2:allow_missing*/(((T92*)/*`class_name'*/a2))->_allow_missing/*2pipi*//*:RF2*/))==(0)){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms283_1476966395Abc283A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),(/*RF2:to_string*/(((T92*)/*`class_name'*/a2))->_to_string/*2pipi*//*:RF2*/));
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms283_1737556726Abc283A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),(T0*)(/*se_evobt*/(void*)0,se_print_run_time_stack(),exit(1),tmp1/*evobt*/=(void*)0));
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms283_767646015Abc283A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),(T0*)(/*se_evobt*/(void*)0,se_print_run_time_stack(),exit(1),tmp2/*evobt*/=(void*)0));
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms283_1091711046Abc283A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms710_8777401Abc710A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms283_240Abc283A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r283error_handler()/*:RF6*/));
/*:RF3*/}
}
}
/*inspect]*/
return R;
}/*--*/

/*ACE*/T2 r283root_count(void){
T2 R=0;
R=/*RF4:count*/r978count((T978*)(/*RF6:root_class_names*/r283root_class_names()/*:RF6*/))/*:RF4*/;
return R;
}/*--*/

/*ID_PROVIDER*/void r291make(T291*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
/*INTERNAL_C_LOCAL list]*/
T354 _p={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_p=tmp0/*locexp*/;
/*tmp0.unlock*/
/*RF3:id_memory_add*/r291id_memory_add(INT16_C(1),ms31_36193081Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(2),ms31_1447702Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(2),ms31_180965430Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(3),ms31_33120277Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(4),ms31_1549680Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(5),ms31_12376Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(5),ms31_1549697Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(6),ms31_1339128Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(7),ms31_324411Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(8),ms31_1554777Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(9),ms31_1498845794Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(10),ms31_180965424Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(11),ms31_180965447Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(12),ms31_1553736287Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(13),ms31_37186806Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(14),ms31_185934049Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(15),ms31_1487451Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(15),ms31_185934055Abc31A,(T6)(1));
/*:RF3*//*RF3:id_memory_add*/r291id_memory_add(INT16_C(16),ms31_185934072Abc31A,(T6)(1));
/*:RF3*//*SFN*/(C->_max_id/*ss*/)=INT16_C(16);
/*SFN*/(C->_min_id/*ss*/)=INT16_C(32765);
if(((/*RF2:no_id*/(((T111*)oBC30smart_eiffel))->_no_id/*ppp*//*:RF2*/))==(0)){
/*RF3:disk_restore*/r291disk_restore(C);
/*:RF3*/}
}/*--*/

/*ID_PROVIDER*/T0*r291alias_of(T10 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _i=0;
R=/*RF4:fast_key_at*/r981fast_key_at(((T981*)/*ND*/(T0*)(/*RF6:id_memory*/r291id_memory()/*:RF6*/)),/*`id'*/a1)/*:RF4*/;
if((R)==((void*)((void*)0))){
_i=INT32_C(1);
while(1){
tmp0/*or else*/=((T6)((R)!=((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(((T982*)/*ND*/(T0*)(/*RF6:per_cluster_id_memory*/r291per_cluster_id_memory()/*:RF6*/)))->_count/*2pniiii*//*:RF2*/))/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF4:fast_key_at*/r981fast_key_at(((T981*)/*ND*/(T0*)(/*RF4:item*/r982item(((T982*)/*ND*/(T0*)(/*RF6:per_cluster_id_memory*/r291per_cluster_id_memory()/*:RF6*/)),_i)/*:RF4*/)),/*`id'*/a1)/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}
return R;
}/*--*/
T0*oBC291id_memory=(void*)0;
int fBC291id_memory=0;

/*ID_PROVIDER*/T0*r291id_memory(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC291id_memory==0){fBC291id_memory=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T981/*2pniiiii*/))));
*((T981*)tmp0/*new*/)=M981;
/*RF3:with_capacity*/r981with_capacity(((T981*)tmp0/*new*/),INT32_C(2048));
/*:RF3*/oBC291id_memory=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC291id_memory;
}/*--*/

/*ID_PROVIDER*/T0*r291echo(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30echo==0){fBC30echo=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T126/*3pip*/))));
*((T126*)tmp0/*new*/)=M126;
/*RF3:make*/r126make(((T126*)tmp0/*new*/));
/*:RF3*/oBC30echo=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30echo;
}/*--*/
T0*oBC291per_cluster_id_memory=(void*)0;
int fBC291per_cluster_id_memory=0;

/*ID_PROVIDER*/T0*r291per_cluster_id_memory(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC291per_cluster_id_memory==0){fBC291per_cluster_id_memory=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T982/*2pniiii*/))));
*((T982*)tmp0/*new*/)=M982;
/*RF3:with_capacity*/r982with_capacity(((T982*)tmp0/*new*/),INT32_C(16));
/*:RF3*/oBC291per_cluster_id_memory=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC291per_cluster_id_memory;
}/*--*/

/*ID_PROVIDER*/void r291cluster_id_memory_add(T10 a1,T0*a2,T0*a3){
T0*_hs=(void*)0;
T0*_c=(void*)0;
T0*_ids=(void*)0;
_hs=/*RF4:hashed_string*/r281hashed_string(/*`type_name'*/a2)/*:RF4*/;
_c=/*RF4:cluster_named*/r111cluster_named(/*`cluster_name'*/a3)/*:RF4*/;
}/*--*/

/*ID_PROVIDER*/T0*r291class_name_of(T0*a1){
T0* R=(void*)0;
T2 _i=0;
int _ta=0/*empty expanded*/;
if(/*RF4:has_prefix*/r7has_prefix(((T7*)/*`string'*/a1),ms291_327902Abc291B)/*:RF4*/){
R=ms31_65574Abc31A;
}
else{
_i=/*RF4:first_index_of*/r7first_index_of(((T7*)/*`string'*/a1),((T3)'\133'))/*:RF4*/;
if(/*RF4:valid_index*/r7valid_index(((T7*)/*`string'*/a1),_i)/*:RF4*/){
R=ms29_0Abc291B;
/*RF3:copy*/r7copy(((T7*)R),/*`string'*/a1);
/*:RF3*//*RF3:shrink*/r7shrink(((T7*)R),INT32_C(1),/*RF8:-*/((int32_t)(_i))-(INT32_C(1))/*:RF8*/);
/*:RF3*/}
else{
R=/*RF4:alias_of*/r587alias_of(/*`string'*/a1)/*:RF4*/;
if((R)==((void*)((void*)0))){
R=/*`string'*/a1;
}
}
}
return R;
}/*--*/
T0*oBC291temporary_type_name=(void*)0;
int fBC291temporary_type_name=0;

/*ID_PROVIDER*/T0*r291temporary_type_name(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC291temporary_type_name==0){fBC291temporary_type_name=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(128));
/*:RF3*/oBC291temporary_type_name=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC291temporary_type_name;
}/*--*/

/*ID_PROVIDER*/T0*r291system_tools(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30system_tools==0){fBC30system_tools=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T113/*11pippi*/))));
*((T113*)tmp0/*new*/)=M113;
/*RF3:make*/r113make(((T113*)tmp0/*new*/));
/*:RF3*/oBC30system_tools=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30system_tools;
}/*--*/

/*ID_PROVIDER*/void r291disk_restore(T291*C){
/*[INTERNAL_C_LOCAL list*/
T354 tmp0;
T0* tmp1;
/*INTERNAL_C_LOCAL list]*/
T3 _cc='\0';
T0*_type_name=(void*)0;
T0*_cluster_name=(void*)0;
T10 _id=0;
T10 _item_count=0;
T0*_tfr=(void*)0;
T1 _state=0;
T10 _predefined_ids=0;
T0*_hashed_type_name=(void*)0;
T354 _p={0};
tmp0/*locexp*/=M354;
/*RF3:default_create*/r354default_create(&tmp0/*locexp*/);
/*:RF3*/_p=tmp0/*locexp*/;
/*tmp0.unlock*/
_predefined_ids=(/*RF2:max_id*/(C)->_max_id/*ss*//*:RF2*/);
tmp1/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T99/*pnpiiippc*/))));
*((T99*)tmp1/*new*/)=M99;
_tfr=tmp1/*new*/;
/*tmp1.unlock*/
/*RF3:tfr_connect*/r126tfr_connect((T126*)(/*RF6:echo*/r291echo()/*:RF6*/),_tfr,/*RF6:id_file_path*/r113id_file_path((T113*)(/*RF6:system_tools*/r291system_tools()/*:RF6*/))/*:RF6*/);
/*:RF3*/if(((/*RF2:path*/(((T99*)_tfr))->_path/*pnpiiippc*//*:RF2*/))!=((void*)((void*)0))){
if((/*RF2:end_of_input*/(((T99*)_tfr))->_end_of_input/*pnpiiippc*//*:RF2*/)){
_state=INT8_C(7);
}
while(1){
/*until*/if(/*RF8:>*/((int8_t)(_state))>(INT8_C(5))/*:RF8*/) break;
/*RF3:filtered_read_character*/r99filtered_read_character(((T99*)_tfr));
/*:RF3*/if((/*RF2:end_of_input*/(((T99*)_tfr))->_end_of_input/*pnpiiippc*//*:RF2*/)){
_state=INT8_C(6);
}
else{
_cc=(/*RF2:filtered_last_character*/(((T99*)_tfr))->_filtered_last_character/*pnpiiippc*//*:RF2*/);
}
/*[inspect*/
switch(_state){
case 0:
/*[inspect*/
switch(_cc){
case 9:
case 10:
case 13:
case 32:
break;
case 124:
_cluster_name=ms29_0Abc291A;
/*RF3:clear_count*/r7clear_count(((T7*)_cluster_name));
/*:RF3*/_state=INT8_C(-1);
break;
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
_id=/*IC*/(T10)(/*RF4:decimal_value*/r3decimal_value(_cc)/*:RF4*/);
_state=INT8_C(1);
break;
default:;
_state=INT8_C(7);
}
/*inspect]*/
break;
case 1:
/*[inspect*/
switch(_cc){
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
_id=/*RF8:+*/((int16_t)(/*RF8:**/((int16_t)(_id))*(INT16_C(10))/*:RF8*/))+(/*IC*/(T10)(/*RF4:decimal_value*/r3decimal_value(_cc)/*:RF4*/))/*:RF8*/;
break;
case 34:
_type_name=/*RF6:temporary_type_name*/r291temporary_type_name()/*:RF6*/;
/*RF3:clear_count*/r7clear_count(((T7*)_type_name));
/*:RF3*/_state=INT8_C(3);
break;
case 9:
case 32:
_state=INT8_C(2);
break;
default:;
_state=INT8_C(7);
}
/*inspect]*/
break;
case 2:
/*[inspect*/
switch(_cc){
case 34:
_type_name=/*RF6:temporary_type_name*/r291temporary_type_name()/*:RF6*/;
/*RF3:clear_count*/r7clear_count(((T7*)_type_name));
/*:RF3*/_state=INT8_C(3);
break;
case 9:
case 10:
case 13:
case 32:
break;
default:;
_state=INT8_C(7);
}
/*inspect]*/
break;
case 3:
/*[inspect*/
switch(_cc){
case 34:
_item_count=/*RF8:+*/((int16_t)(_item_count))+(INT16_C(1))/*:RF8*/;
if(/*RF4:in_range*/r10in_range(_id,/*RF8:+*/((int16_t)(_predefined_ids))+(INT16_C(1))/*:RF8*/,INT16_C(32764))/*:RF4*/){
if(/*RF4:is_valid_type_mark*/r291is_valid_type_mark(_type_name)/*:RF4*/){
if((_cluster_name)==((void*)((void*)0))){
/*RF3:id_memory_add*/r291id_memory_add(_id,/*RF4:string*/r281string(_type_name)/*:RF4*/,(T6)(0));
/*:RF3*/}
else{
/*RF3:cluster_id_memory_add*/r291cluster_id_memory_add(_id,/*RF4:string*/r281string(_type_name)/*:RF4*/,_cluster_name);
/*:RF3*/}
}
else{
_hashed_type_name=/*RF4:hashed_string*/r281hashed_string(_type_name)/*:RF4*/;
/*RF3:fast_put*/r981fast_put(((T981*)/*ND*/(T0*)(/*RF6:id_memory*/r291id_memory()/*:RF6*/)),_id,_hashed_type_name);
/*:RF3*/}
}
_state=INT8_C(4);
break;
case 9:
case 10:
case 13:
_state=INT8_C(7);
break;
default:;
/*RF3:extend*/r7extend(((T7*)_type_name),_cc);
/*:RF3*/}
/*inspect]*/
break;
case 4:
/*[inspect*/
switch(_cc){
case 108:
/*SFN*/(C->_max_id/*ss*/)=/*RF4:max*/r10max((/*RF2:max_id*/(C)->_max_id/*ss*//*:RF2*/),_id)/*:RF4*/;
_state=INT8_C(5);
break;
case 104:
/*SFN*/(C->_min_id/*ss*/)=/*RF4:min*/r10min((/*RF2:min_id*/(C)->_min_id/*ss*//*:RF2*/),_id)/*:RF4*/;
_state=INT8_C(5);
break;
case 9:
case 10:
case 13:
case 32:
break;
case 35:
if(/*RF4:is_valid_type_mark*/r291is_valid_type_mark(_type_name)/*:RF4*/){
/*SFN*/(C->_max_id/*ss*/)=/*RF4:max*/r10max((/*RF2:max_id*/(C)->_max_id/*ss*//*:RF2*/),_id)/*:RF4*/;
}
else{
/*SFN*/(C->_min_id/*ss*/)=/*RF4:min*/r10min((/*RF2:min_id*/(C)->_min_id/*ss*//*:RF2*/),_id)/*:RF4*/;
}
_state=INT8_C(0);
break;
default:;
/*SFN*/(C->_max_id/*ss*/)=/*RF4:max*/r10max((/*RF2:max_id*/(C)->_max_id/*ss*//*:RF2*/),_id)/*:RF4*/;
_state=INT8_C(5);
}
/*inspect]*/
break;
case 5:
/*[inspect*/
switch(_cc){
case 35:
_state=INT8_C(0);
break;
}
/*inspect]*/
break;
case 6:
break;
default:;
/*[inspect*/
switch(_cc){
case 13:
break;
case 10:
_cluster_name=/*RF4:string*/r281string(_cluster_name)/*:RF4*/;
_state=INT8_C(0);
break;
default:;
/*RF3:extend*/r7extend(((T7*)_cluster_name),_cc);
/*:RF3*/}
/*inspect]*/
}
/*inspect]*/
}
/*RF3:disconnect*/r99disconnect(((T99*)_tfr));
/*:RF3*/if((_state)==(INT8_C(7))){
/*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r291echo()/*:RF6*/),se_string(27,s291_188525860A));
/*:RF3*//*RF3:put_integer*/r126put_integer((T126*)(/*RF6:echo*/r291echo()/*:RF6*/),/*IC*/(T2)(_item_count));
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r291echo()/*:RF6*/),se_string(17,s291_1539722017A));
/*:RF3*/}
/*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r291echo()/*:RF6*/),ms291_838840612Abc291A);
/*:RF3*//*RF3:put_integer*/r126put_integer((T126*)(/*RF6:echo*/r291echo()/*:RF6*/),/*IC*/(T2)((/*RF2:max_id*/(C)->_max_id/*ss*//*:RF2*/)));
/*:RF3*//*RF3:put_string*/r126put_string((T126*)(/*RF6:echo*/r291echo()/*:RF6*/),ms291_1265Abc291A);
/*:RF3*/}
}/*--*/

/*ID_PROVIDER*/T0*r291error_handler(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC30error_handler==0){fBC30error_handler=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T293/*3piipp*/))));
*((T293*)tmp0/*new*/)=M293;
/*RF3:default_create*/r293default_create(((T293*)tmp0/*new*/));
/*:RF3*/oBC30error_handler=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC30error_handler;
}/*--*/

/*ID_PROVIDER*/void r291id_memory_add(T10 a1,T0*a2,T6 a3){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_hs=(void*)0;
T0*_cn=(void*)0;
T0*_c=(void*)0;
T0*_ids=(void*)0;
_hs=/*RF4:hashed_string*/r281hashed_string(/*RF4:class_name_of*/r291class_name_of(/*`string'*/a2)/*:RF4*/)/*:RF4*/;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T92/*2pipi*/))));
*((T92*)tmp0/*new*/)=M92;
r354default_create(&(((T92*)tmp0/*new*/)->_start_position));
/*RF3:unknown_position*/r92unknown_position(((T92*)tmp0/*new*/),_hs,(T6)(1));
/*:RF3*/_cn=tmp0/*new*/;
/*tmp0.unlock*/
_hs=/*RF4:hashed_string*/r281hashed_string(/*`string'*/a2)/*:RF4*/;
_c=/*RF4:cluster_of*/r111cluster_of(_cn)/*:RF4*/;
if(/*`is_default_class'*/a3){
/*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r291error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms291_1133285999Abc291A);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r291error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),/*`string'*/a2);
/*:RF3*//*RF3:append*/r7append((T7*)((/*RF2:explanation*/((T293*)(/*RF6:error_handler*/r291error_handler()/*:RF6*/))->_explanation/*3piipp*//*:RF2*/)),ms291_411001267Abc291A);
/*:RF3*//*RF3:print_as_error*/r293print_as_error((T293*)(/*RF6:error_handler*/r291error_handler()/*:RF6*/));
/*:RF3*/}
}/*--*/

/*ID_PROVIDER*/T6 r291is_valid_type_mark(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T3 tmp1;
T6 tmp2;
T6 tmp3;
T6 tmp4;
T6 tmp5;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
T2 _i=0;
T2 _n=0;
T2 _nesting=0;
T6 _in_class_name=0;
if((((/*RF2:count*/(((T7*)/*`name'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)){
_n=(/*RF2:count*/(((T7*)/*`name'*/a1))->_count/*Tniiiiip*//*:RF2*/);
_i=INT32_C(2);
_in_class_name=((T6)(1));
R=((T6)(/*RF4:in_range*/r3in_range(/*RF4:first*/r7first(((T7*)/*`name'*/a1))/*:RF4*/,((T3)'A'),((T3)'Z'))/*:RF4*/));
while(1){
tmp0/*or else*/=((T6)((R)==(0)));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(_i))>(_n)/*:RF8*/));
}
/*until*/if(tmp0/*or else*/) break;
tmp1/*inspectDynamicDispatchExpression*/=/*RF4:item*/r7item(((T7*)/*`name'*/a1),_i)/*:RF4*/;
/*[inspect*/
switch(tmp1/*inspectDynamicDispatchExpression*/){
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
case 95:
R=((T6)(_in_class_name));
break;
case 91:
_nesting=/*RF8:+*/((int32_t)(_nesting))+(INT32_C(1))/*:RF8*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
tmp2/*and then*/=((T6)(/*RF8:<=*/((int32_t)(_i))<=(_n)/*:RF8*/));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)(/*RF4:in_range*/r3in_range(/*RF4:item*/r7item(((T7*)/*`name'*/a1),_i)/*:RF4*/,((T3)'A'),((T3)'Z'))/*:RF4*/));
}
tmp3/*and then*/=((T6)(tmp2/*and then*/));
if(tmp3/*and then*/){
tmp3/*and then*/=((T6)(_in_class_name));
}
R=((T6)(tmp3/*and then*/));
break;
case 44:
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
_in_class_name=((T6)(1));
/*auto-unlock tmp2*/tmp2/*and then*/=((T6)(/*RF8:<=*/((int32_t)(_i))<=(_n)/*:RF8*/));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)(/*RF4:in_range*/r3in_range(/*RF4:item*/r7item(((T7*)/*`name'*/a1),_i)/*:RF4*/,((T3)'A'),((T3)'Z'))/*:RF4*/));
}
/*auto-unlock tmp3*/tmp3/*and then*/=((T6)(tmp2/*and then*/));
if(tmp3/*and then*/){
tmp3/*and then*/=((T6)(/*RF8:>*/((int32_t)(_nesting))>(INT32_C(0))/*:RF8*/));
}
R=((T6)(tmp3/*and then*/));
break;
case 93:
_nesting=/*RF8:-*/((int32_t)(_nesting))-(INT32_C(1))/*:RF8*/;
_in_class_name=((T6)(0));
tmp4/*or else*/=((T6)(/*RF8:>*/((int32_t)(_nesting))>(INT32_C(0))/*:RF8*/));
if(tmp4/*or else*/){
}
else{
tmp5/*and then*/=((T6)((_nesting)==(INT8_C(0))));
if(tmp5/*and then*/){
tmp5/*and then*/=((T6)((_i)==(_n)));
}
tmp4/*or else*/=((T6)(tmp5/*and then*/));
}
R=((T6)(tmp4/*or else*/));
break;
default:;
R=((T6)(0));
}
/*inspect]*/
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
/*auto-unlock tmp2*/tmp2/*and then*/=((T6)(R));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)((_nesting)==(INT8_C(0))));
}
/*auto-unlock tmp3*/tmp3/*or else*/=((T6)(tmp2/*and then*/));
if(tmp3/*or else*/){
}
else{
tmp3/*or else*/=((T6)(/*RF4:has_prefix*/r7has_prefix(((T7*)/*`name'*/a1),ms291_327902Abc291A)/*:RF4*/));
}
R=((T6)(tmp3/*or else*/));
}
return R;
}/*--*/

/*COMMENT*/void r440make(T440*C,T354 a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
/*SFN*/(C->_start_position/*pi*/)=/*RF8:twin*/r354twin(&/*`sp'*/a1)/*:RF8*/;
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T997/*niiii*/))));
*((T997*)tmp0/*new*/)=M997;
/*RF3:with_capacity*/r997with_capacity(((T997*)tmp0/*new*/),INT32_C(4),INT32_C(1));
/*:RF3*//*SFN*/(C->_list/*pi*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*RF3:add_last*/r997add_last((T997*)((/*RF2:list*/(C)->_list/*pi*//*:RF2*/)),/*`first'*/a2);
/*:RF3*/}/*--*/

/*COMMENT*/void r440add_last(T440*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
/*RF3:add_last*/r997add_last((T997*)((/*RF2:list*/(C)->_list/*pi*//*:RF2*/)),/*`line'*/a1);
/*:RF3*/while(1){
tmp0/*or else*/=((T6)(((/*RF2:count*/(((T7*)/*`line'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:has*/r7has(((T7*)ms440_77Abc440A),/*RF4:last*/r7last(((T7*)/*`line'*/a1))/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
/*RF3:remove_last*/r7remove_last(((T7*)/*`line'*/a1));
/*:RF3*/}
}/*--*/

/*TOKEN_BUFFER*/T0*r792hashed_string(T792*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
tmp0/*or else*/=((T6)(((/*RF2:hashed_string_memory*/(*C)._hashed_string_memory/*pii*//*:RF2*/))==((void*)((void*)0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_equal*/r7is_equal((T7*)((/*RF2:to_string*/((T107*)((/*RF2:hashed_string_memory*/(*C)._hashed_string_memory/*pii*//*:RF2*/)))->_to_string/*pi*//*:RF2*/)),ms792_1400894751Abc792A)/*:RF4*/)==(0)));
}
if(tmp0/*or else*/){
/*SFN*/(C->_hashed_string_memory/*pii*/)=/*RF4:hashed_string*/r281hashed_string(ms792_1400894751Abc792A)/*:RF4*/;
}
R=(/*RF2:hashed_string_memory*/(*C)._hashed_string_memory/*pii*//*:RF2*/);
return R;
}/*--*/

/*TOKEN_BUFFER*/void r792reset(T792*C,T2 a1,T2 a2){
/*SFN*/(C->_line/*pii*/)=/*`l'*/a1;
/*SFN*/(C->_column/*pii*/)=/*`c'*/a2;
/*RF3:clear_count*/r7clear_count(((T7*)ms792_1400894751Abc792A));
/*:RF3*/}/*--*/

/*MANIFEST_STRING*/void r398make(T398*C,T354 a1,T6 a2,T6 a3,T0*a4){
/*SFN*/(C->_start_position/*2pppi*/)=/*RF8:twin*/r354twin(&/*`sp'*/a1)/*:RF8*/;
/*SFN*/(C->_once_flag/*2pppi*/)=((T6)(/*`of'*/a2));
/*SFN*/(C->_unicode_flag/*2pppi*/)=((T6)(/*`uf'*/a3));
/*SFN*/(C->_to_string/*2pppi*/)=/*RF8:twin*/r7twin(((T7*)/*`ts'*/a4))/*:RF8*/;
}/*--*/

/*UNICODE_STRING*/void r336make(T336*C,T2 a1){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(/*RF8:>*/((int32_t)(/*`needed_capacity'*/a1))>(INT32_C(0))/*:RF8*/){
if(/*RF8:<*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniii*//*:RF2*/)))<(/*`needed_capacity'*/a1)/*:RF8*/){
/*SFN*/(C->_storage/*2pniii*/)=/*RF8:calloc*/se_calloc(/*`needed_capacity'*/a1,sizeof(T10/*s*/))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniii*/)=/*`needed_capacity'*/a1;
}
}
/*SFN*/(C->_count/*2pniii*/)=INT32_C(0);
if(((/*RF2:low_surrogate_indexes*/(C)->_low_surrogate_indexes/*2pniii*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T980/*niii*/))));
*((T980*)tmp0/*new*/)=M980;
/*RF3:make*/r980make(((T980*)tmp0/*new*/),INT32_C(0));
/*:RF3*//*SFN*/(C->_low_surrogate_indexes/*2pniii*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T999/*niii*/))));
*((T999*)tmp0/*new*/)=M999;
/*RF3:make*/r999make(((T999*)tmp0/*new*/),INT32_C(0));
/*:RF3*//*SFN*/(C->_low_surrogate_values/*2pniii*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:make*/r980make((T980*)((/*RF2:low_surrogate_indexes*/(C)->_low_surrogate_indexes/*2pniii*//*:RF2*/)),INT32_C(0));
/*:RF3*//*RF3:make*/r999make((T999*)((/*RF2:low_surrogate_values*/(C)->_low_surrogate_values/*2pniii*//*:RF2*/)),INT32_C(0));
/*:RF3*/}
/*RF3:next_generation*/r336next_generation(C);
/*:RF3*/}/*--*/

/*UNICODE_STRING*/void r336make_empty(T336*C){
/*RF3:make*/r336make(C,INT32_C(0));
/*:RF3*/}/*--*/

/*UNICODE_STRING*/T6 r336valid_unicode(T2 a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
T6 tmp2;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)(/*RF4:in_range*/r2in_range(/*`unicode'*/a1,INT32_C(0),/*0x0010FFFF*/INT32_C(1114111))/*:RF4*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:in_range*/r2in_range(/*`unicode'*/a1,/*0x0000D800*/INT32_C(55296),/*0x0000DFFF*/INT32_C(57343))/*:RF4*/)==(0)));
}
tmp1/*and then*/=((T6)(tmp0/*and then*/));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)((/*`unicode'*/a1)!=(/*0x0000FFFE*/INT32_C(65534))));
}
tmp2/*and then*/=((T6)(tmp1/*and then*/));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)((/*`unicode'*/a1)!=(/*0x0000FFFF*/INT32_C(65535))));
}
R=((T6)(tmp2/*and then*/));
return R;
}/*--*/

/*UNICODE_STRING*/void r336utf8_character_in(T2 a1,T0*a2){
T2 _v=0;
_v=/*`character'*/a1;
if(/*RF8:<*/((int32_t)(_v))<(INT32_C(128))/*:RF8*/){
/*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(_v))/*:RF8*/);
/*:RF3*/}
else{
if(/*RF8:<*/((int32_t)(_v))<(INT32_C(2048))/*:RF8*/){
/*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#//*/((int32_t)(_v))/(INT32_C(64))/*:RF8*/))+(INT32_C(192))/*:RF8*/))/*:RF8*/);
/*:RF3*//*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#\\*/((int32_t)(_v))%(INT32_C(64))/*:RF8*/))+(INT32_C(128))/*:RF8*/))/*:RF8*/);
/*:RF3*/}
else{
if(/*RF8:<*/((int32_t)(_v))<(INT32_C(65536))/*:RF8*/){
/*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#//*/((int32_t)(_v))/(INT32_C(4096))/*:RF8*/))+(INT32_C(224))/*:RF8*/))/*:RF8*/);
/*:RF3*/_v=/*RF8:#\\*/((int32_t)(_v))%(INT32_C(4096))/*:RF8*/;
/*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#//*/((int32_t)(_v))/(INT32_C(64))/*:RF8*/))+(INT32_C(128))/*:RF8*/))/*:RF8*/);
/*:RF3*//*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#\\*/((int32_t)(_v))%(INT32_C(64))/*:RF8*/))+(INT32_C(128))/*:RF8*/))/*:RF8*/);
/*:RF3*/}
else{
/*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#//*/((int32_t)(_v))/(/*0x00040000*/INT32_C(262144))/*:RF8*/))+(INT32_C(240))/*:RF8*/))/*:RF8*/);
/*:RF3*/_v=/*RF8:#\\*/((int32_t)(_v))%(/*0x00040000*/INT32_C(262144))/*:RF8*/;
/*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#//*/((int32_t)(_v))/(/*0x00001000*/INT32_C(4096))/*:RF8*/))+(INT32_C(128))/*:RF8*/))/*:RF8*/);
/*:RF3*/_v=/*RF8:#\\*/((int32_t)(_v))%(/*0x00001000*/INT32_C(4096))/*:RF8*/;
/*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#//*/((int32_t)(_v))/(INT32_C(64))/*:RF8*/))+(INT32_C(128))/*:RF8*/))/*:RF8*/);
/*:RF3*//*RF3:extend*/r7extend(((T7*)/*`s'*/a2),/*RF8:to_character*/((T3)(/*RF8:+*/((int32_t)(/*RF8:#\\*/((int32_t)(_v))%(INT32_C(64))/*:RF8*/))+(INT32_C(128))/*:RF8*/))/*:RF8*/);
/*:RF3*/}
}
}
}/*--*/

/*UNICODE_STRING*/void r336add_last(T336*C,T2 a1){
T2 _new_capacity=0;
if(/*RF8:>*/((int32_t)((/*RF2:capacity*/(C)->_capacity/*2pniii*//*:RF2*/)))>((/*RF2:count*/(C)->_count/*2pniii*//*:RF2*/))/*:RF8*/){
}
else{
if(((/*RF2:capacity*/(C)->_capacity/*2pniii*//*:RF2*/))==(INT8_C(0))){
_new_capacity=INT32_C(32);
/*SFN*/(C->_storage/*2pniii*/)=/*RF8:calloc*/se_calloc(_new_capacity,sizeof(T10/*s*/))/*:RF8*/;
/*SFN*/(C->_capacity/*2pniii*/)=_new_capacity;
}
else{
_new_capacity=/*RF8:**/((int32_t)(INT32_C(2)))*((/*RF2:capacity*/(C)->_capacity/*2pniii*//*:RF2*/))/*:RF8*/;
/*SFN*/(C->_storage/*2pniii*/)=/*RF4:realloc*/r998realloc((/*RF2:storage*/(C)->_storage/*2pniii*//*:RF2*/),(/*RF2:capacity*/(C)->_capacity/*2pniii*//*:RF2*/),_new_capacity)/*:RF4*/;
/*SFN*/(C->_capacity/*2pniii*/)=_new_capacity;
}
}
if(/*RF8:>=*/((int32_t)(/*`unicode'*/a1))>=(INT32_C(65536))/*:RF8*/){
/*RF3:add_last*/r980add_last((T980*)((/*RF2:low_surrogate_indexes*/(C)->_low_surrogate_indexes/*2pniii*//*:RF2*/)),(/*RF2:count*/(C)->_count/*2pniii*//*:RF2*/));
/*:RF3*//*RF3:add_last*/r999add_last((T999*)((/*RF2:low_surrogate_values*/(C)->_low_surrogate_values/*2pniii*//*:RF2*/)),/*RF8:to_integer_16*/((int16_t)(/*RF8:&*/(/*`unicode'*/a1&/*0x000003FF*/INT32_C(1023))/*:RF8*/))/*:RF8*/);
/*:RF3*//*RF7:put*/((/*RF2:storage*/(C)->_storage/*2pniii*//*:RF2*/))[(/*RF2:count*/(C)->_count/*2pniii*//*:RF2*/)]=(/*RF8:low_16*/((int16_t)(/*RF8:-*/((int32_t)(/*RF8:#//*/((int32_t)(/*`unicode'*/a1))/(INT32_C(1024))/*:RF8*/))-(INT32_C(64))/*:RF8*/))/*:RF8*/);
/*:RF7*/}
else{
/*RF7:put*/((/*RF2:storage*/(C)->_storage/*2pniii*//*:RF2*/))[(/*RF2:count*/(C)->_count/*2pniii*//*:RF2*/)]=(/*RF8:low_16*/((int16_t)(/*`unicode'*/a1))/*:RF8*/);
/*:RF7*/}
/*SFN*/(C->_count/*2pniii*/)=/*RF8:+*/((int32_t)((/*RF2:count*/(C)->_count/*2pniii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
/*RF3:next_generation*/r336next_generation(C);
/*:RF3*/}/*--*/

/*UNICODE_STRING*/T10 r336low_surrogate_value(T336*C,T2 a1){
T10 R=0;
R=/*RF8:item*/((/*RF2:storage*/((T999*)((/*RF2:low_surrogate_values*/(C)->_low_surrogate_values/*2pniii*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[/*RF4:fast_first_index_of*/r980fast_first_index_of((T980*)((/*RF2:low_surrogate_indexes*/(C)->_low_surrogate_indexes/*2pniii*//*:RF2*/)),/*`index'*/a1)/*:RF4*/]/*:RF8*/;
return R;
}/*--*/

/*UNICODE_STRING*/T2 r336item(T336*C,T2 a1){
T2 R=0;
T2 _n=0;
_n=/*IC*/(T2)(/*RF8:item*/((/*RF2:storage*/(C)->_storage/*2pniii*//*:RF2*/))[/*RF8:-*/((int32_t)(/*`i'*/a1))-(INT32_C(1))/*:RF8*/]/*:RF8*/);
if((/*RF8:&*/(_n&/*0x0000F800*/INT32_C(63488))/*:RF8*/)==(/*0x0000D800*/INT32_C(55296))){
R=/*RF8:+*/((int32_t)(/*RF8:&*/(_n&/*0x000007FF*/INT32_C(2047))/*:RF8*/))+(INT32_C(64))/*:RF8*/;
R=/*RF8:+*/((int32_t)(/*RF8:**/((int32_t)(R))*(INT32_C(1024))/*:RF8*/))+(/*IC*/(T2)(/*RF4:low_surrogate_value*/r336low_surrogate_value(C,/*`i'*/a1)/*:RF4*/))/*:RF8*/;
}
else{
R=/*RF8:&*/(_n&/*0x0000FFFF*/INT32_C(65535))/*:RF8*/;
}
return R;
}/*--*/

/*UNICODE_STRING*/void r336clear_count(T336*C){
/*SFN*/(C->_count/*2pniii*/)=INT32_C(0);
/*RF3:make*/r980make((T980*)((/*RF2:low_surrogate_indexes*/(C)->_low_surrogate_indexes/*2pniii*//*:RF2*/)),INT32_C(0));
/*:RF3*//*RF3:make*/r999make((T999*)((/*RF2:low_surrogate_values*/(C)->_low_surrogate_values/*2pniii*//*:RF2*/)),INT32_C(0));
/*:RF3*//*RF3:next_generation*/r336next_generation(C);
/*:RF3*/}/*--*/

/*UNICODE_STRING*/void r336utf8_encode_in(T336*C,T0*a1){
T2 _i=0;
_i=INT32_C(1);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:count*/(C)->_count/*2pniii*//*:RF2*/))/*:RF8*/) break;
/*RF3:utf8_character_in*/r336utf8_character_in(/*RF4:item*/r336item(C,_i)/*:RF4*/,/*`s'*/a1);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*UNICODE_STRING*/void r336next_generation(T336*C){
/*RF3:_P_45_next_generation*/r336_P_45_next_generation(C);
/*:RF3*/}/*--*/

/*UNICODE_STRING*/void r336_P_45_next_generation(T336*C){
/*SFN*/(C->_generation/*2pniii*/)=/*RF8:+*/((int32_t)((/*RF2:generation*/(C)->_generation/*2pniii*//*:RF2*/)))+(INT32_C(1))/*:RF8*/;
}/*--*/

/*PROCESS_FACTORY*/void r545default_create(T545*C){
/*SFN*/(C->_group/*ppppp*/)=/*RF6:default_group*/r545default_group(C)/*:RF6*/;
/*SFN*/(C->_keep_environment/*ppppp*/)=((T6)(1));
}/*--*/
T0*oBC545default_group=(void*)0;
int fBC545default_group=0;

/*PROCESS_FACTORY*/T0*r545default_group(T545*C){
if(fBC545default_group==0){fBC545default_group=1;{
oBC545default_group=/*RF4:create_group*/r545create_group(C)/*:RF4*/;
}}
return oBC545default_group;
}/*--*/

/*PROCESS_FACTORY*/T0*r545create_group(T545*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
if((/*RF8:basic_exec_system*/basic_exec_system/*:RF8*/)==(/*RF8:basic_exec_system_posix*/basic_exec_system_posix/*:RF8*/)){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T800/*Tpp*/))));
*((T800*)tmp0/*new*/)=M800;
/*RF3:make*/r800make(((T800*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
if((/*RF8:basic_exec_system*/basic_exec_system/*:RF8*/)==(/*RF8:basic_exec_system_win32*/basic_exec_system_win32/*:RF8*/)){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T801/*Tppp*/))));
*((T801*)tmp0/*new*/)=M801;
/*RF3:make*/r801make(((T801*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
if((/*RF8:basic_exec_system*/basic_exec_system/*:RF8*/)==(/*RF8:basic_exec_system_none*/basic_exec_system_none/*:RF8*/)){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T802/*0*/))));
*((T802*)tmp0/*new*/)=M802;
R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:not_yet_implemented*/r545not_yet_implemented(C);
/*:RF3*/}
}
}
return R;
}/*--*/

/*PROCESS_FACTORY*/void r545crash(T545*C){
/*RF7:print_run_time_stack*/se_print_run_time_stack();
/*:RF7*//*RF7:sedb_breakpoint*//*:RF7*//*RF7:die_with_code*/se_die(INT32_C(1));
/*:RF7*/}/*--*/

/*PROCESS_FACTORY*/void r545not_yet_implemented(T545*C){
/*RF7:sedb_breakpoint*//*:RF7*//*RF3:put_string*/r81put_string(((T81*)oBC17std_error),se_string(223,s17_1216703285A));
/*:RF3*//*RF7:io_putc*/io_putc(((T3)'\040'),/*NVND*/(stderr));
/*:RF7*//*RF3:put_string*/r81put_string(((T81*)oBC17std_error),/*RF8:generating_type*/(T0*)(t[545])/*:RF8*/);
/*:RF3*//*RF3:put_string*/r81put_string(((T81*)oBC17std_error),se_string(3,s17_1210A));
/*:RF3*//*RF3:crash*/r545crash(C);
/*:RF3*/}/*--*/

/*PROCESS_FACTORY*/T0*r545create_process(T545*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
if((/*RF8:basic_exec_system*/basic_exec_system/*:RF8*/)==(/*RF8:basic_exec_system_posix*/basic_exec_system_posix/*:RF8*/)){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T803/*T7pppppp*/))));
*((T803*)tmp0/*new*/)=M803;
/*RF3:make*/r803make(((T803*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
if((/*RF8:basic_exec_system*/basic_exec_system/*:RF8*/)==(/*RF8:basic_exec_system_win32*/basic_exec_system_win32/*:RF8*/)){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T804/*T7pppppp*/))));
*((T804*)tmp0/*new*/)=M804;
/*RF3:make*/r804make(((T804*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
if((/*RF8:basic_exec_system*/basic_exec_system/*:RF8*/)==(/*RF8:basic_exec_system_none*/basic_exec_system_none/*:RF8*/)){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T805/*Tpppp*/))));
*((T805*)tmp0/*new*/)=M805;
/*RF3:make*/r805make(((T805*)tmp0/*new*/));
/*:RF3*/R=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:not_yet_implemented*/r545not_yet_implemented(C);
/*:RF3*/}
}
}
/*[inspectDynamicDispatch*/
switch((((T0*)(R))->id)){
case 803:
(/*RF2:direct_input*/(((T803*)R))->_direct_input/*T7pppppp*//*:RF2*/)=((T6)((/*RF2:direct_input*/(*C)._direct_input/*ppppp*//*:RF2*/)));
break;
case 804:
(/*RF2:direct_input*/(((T804*)R))->_direct_input/*T7pppppp*//*:RF2*/)=((T6)((/*RF2:direct_input*/(*C)._direct_input/*ppppp*//*:RF2*/)));
break;
default:;
(/*RF2:direct_input*/(((T805*)R))->_direct_input/*Tpppp*//*:RF2*/)=((T6)((/*RF2:direct_input*/(*C)._direct_input/*ppppp*//*:RF2*/)));
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(R))->id)){
case 803:
(/*RF2:direct_output*/(((T803*)R))->_direct_output/*T7pppppp*//*:RF2*/)=((T6)((/*RF2:direct_output*/(*C)._direct_output/*ppppp*//*:RF2*/)));
break;
case 804:
(/*RF2:direct_output*/(((T804*)R))->_direct_output/*T7pppppp*//*:RF2*/)=((T6)((/*RF2:direct_output*/(*C)._direct_output/*ppppp*//*:RF2*/)));
break;
default:;
(/*RF2:direct_output*/(((T805*)R))->_direct_output/*Tpppp*//*:RF2*/)=((T6)((/*RF2:direct_output*/(*C)._direct_output/*ppppp*//*:RF2*/)));
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(R))->id)){
case 803:
(/*RF2:direct_error*/(((T803*)R))->_direct_error/*T7pppppp*//*:RF2*/)=((T6)((/*RF2:direct_error*/(*C)._direct_error/*ppppp*//*:RF2*/)));
break;
case 804:
(/*RF2:direct_error*/(((T804*)R))->_direct_error/*T7pppppp*//*:RF2*/)=((T6)((/*RF2:direct_error*/(*C)._direct_error/*ppppp*//*:RF2*/)));
break;
default:;
(/*RF2:direct_error*/(((T805*)R))->_direct_error/*Tpppp*//*:RF2*/)=((T6)((/*RF2:direct_error*/(*C)._direct_error/*ppppp*//*:RF2*/)));
}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(R))->id)){
case 803:
(/*RF2:group*/(((T803*)R))->_group/*T7pppppp*//*:RF2*/)=(/*RF2:group*/(*C)._group/*ppppp*//*:RF2*/);
break;
case 804:
(/*RF2:group*/(((T804*)R))->_group/*T7pppppp*//*:RF2*/)=(/*RF2:group*/(*C)._group/*ppppp*//*:RF2*/);
break;
default:;
(/*RF2:group*/(((T805*)R))->_group/*Tpppp*//*:RF2*/)=(/*RF2:group*/(*C)._group/*ppppp*//*:RF2*/);
}
/*inspect]*/
return R;
}/*--*/
T0*oBC711universe=(void*)0;
int fBC711universe=0;

/*CLASSES_TREE_FACTORY*/T0*r711universe(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC711universe==0){fBC711universe=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T710/*pi*/))));
*((T710*)tmp0/*new*/)=M710;
/*RF3:make*/r710make(((T710*)tmp0/*new*/));
/*:RF3*/oBC711universe=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC711universe;
}/*--*/
T0*oBC587integer_alias=(void*)0;
int fBC587integer_alias=0;

/*TYPE_ALIASING*/T0*r587integer_alias(void){
if(fBC587integer_alias==0){fBC587integer_alias=1;{
oBC587integer_alias=/*RF4:hashed_string*/r281hashed_string(ms31_180965430Abc31A)/*:RF4*/;
}}
return oBC587integer_alias;
}/*--*/

/*TYPE_ALIASING*/T0*r587alias_of(T0*a1){
/*[INTERNAL_C_LOCAL list*/
T3 tmp0;
T2 tmp1;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
if(((/*RF2:count*/(((T7*)/*`string'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))){
}
else{
tmp0/*inspectDynamicDispatchExpression*/=/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(1))/*:RF4*/;
/*[inspect*/
switch(tmp0/*inspectDynamicDispatchExpression*/){
case 73:
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(2))/*:RF4*/)==(((T3)'N'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(3))/*:RF4*/)==(((T3)'T'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(4))/*:RF4*/)==(((T3)'E'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(5))/*:RF4*/)==(((T3)'G'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(6))/*:RF4*/)==(((T3)'E'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(7))/*:RF4*/)==(((T3)'R'))){
if(((/*RF2:count*/(((T7*)/*`string'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(7))){
tmp1/*state*/=INT8_C(1);
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
break;
case 82:
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(2))/*:RF4*/)==(((T3)'E'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(3))/*:RF4*/)==(((T3)'A'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(4))/*:RF4*/)==(((T3)'L'))){
if(((/*RF2:count*/(((T7*)/*`string'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(4))){
tmp1/*state*/=INT8_C(2);
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
break;
case 78:
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(2))/*:RF4*/)==(((T3)'A'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(3))/*:RF4*/)==(((T3)'T'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(4))/*:RF4*/)==(((T3)'U'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(5))/*:RF4*/)==(((T3)'R'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(6))/*:RF4*/)==(((T3)'A'))){
if((/*RF4:item*/r7item(((T7*)/*`string'*/a1),INT8_C(7))/*:RF4*/)==(((T3)'L'))){
if(((/*RF2:count*/(((T7*)/*`string'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(7))){
tmp1/*state*/=INT8_C(3);
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
}
else{
tmp1/*state*/=INT8_C(0);
}
break;
default:;
tmp1/*state*/=INT8_C(0);
}
/*inspect]*/
/*[inspect*/
switch(tmp1/*state*/){
case 1:
R=(/*RF2:to_string*/((T107*)(/*RF6:integer_alias*/r587integer_alias()/*:RF6*/))->_to_string/*pi*//*:RF2*/);
break;
case 2:
R=(/*RF2:to_string*/((T107*)(/*RF6:real_alias*/r587real_alias()/*:RF6*/))->_to_string/*pi*//*:RF2*/);
break;
case 3:
R=(/*RF2:to_string*/((T107*)(/*RF6:natural_alias*/r587natural_alias()/*:RF6*/))->_to_string/*pi*//*:RF2*/);
break;
}
/*inspect]*/
}
return R;
}/*--*/
T0*oBC587real_alias=(void*)0;
int fBC587real_alias=0;

/*TYPE_ALIASING*/T0*r587real_alias(void){
if(fBC587real_alias==0){fBC587real_alias=1;{
oBC587real_alias=/*RF4:hashed_string*/r281hashed_string(ms31_1549697Abc31A)/*:RF4*/;
}}
return oBC587real_alias;
}/*--*/
T0*oBC587natural_alias=(void*)0;
int fBC587natural_alias=0;

/*TYPE_ALIASING*/T0*r587natural_alias(void){
if(fBC587natural_alias==0){fBC587natural_alias=1;{
oBC587natural_alias=/*RF4:hashed_string*/r281hashed_string(ms31_185934055Abc31A)/*:RF4*/;
}}
return oBC587natural_alias;
}/*--*/

/*UNIVERSE*/void r710make(T710*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1007/*niii*/))));
*((T1007*)tmp0/*new*/)=M1007;
/*RF3:with_capacity*/r1007with_capacity(((T1007*)tmp0/*new*/),INT32_C(4));
/*:RF3*//*SFN*/(C->_classeses/*pi*/)=tmp0/*new*/;
/*tmp0.unlock*/
}/*--*/

/*UNIVERSE*/T0*r710cluster_named(T710*C,T0*a1){
T0* R=(void*)0;
T2 _i=0;
_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T1007*)((/*RF2:classeses*/(C)->_classeses/*pi*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
R=/*RF4:cluster_named*/r710cluster_named(((T710*)/*ND*/(T0*)(/*RF8:item*/((/*RF2:storage*/((T1007*)((/*RF2:classeses*/(C)->_classeses/*pi*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/)),/*`cluster_name'*/a1)/*:RF4*/;
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*UNIVERSE*/void r710clusters_of(T710*C,T0*a1,T0*a2,T0*a3,T0*a4,T2 a5){
T2 _i=0;
T2 _child_distance=0;
T0*_c=(void*)0;
_child_distance=/*RF8:+*/((int32_t)(/*`current_distance'*/a5))+((/*RF2:distance*/(C)->_distance/*pi*//*:RF2*/))/*:RF8*/;
_i=INT32_C(0);
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>((/*RF2:upper*/((T1007*)((/*RF2:classeses*/(C)->_classeses/*pi*//*:RF2*/)))->_upper/*niii*//*:RF2*/))/*:RF8*/) break;
_c=/*RF8:item*/((/*RF2:storage*/((T1007*)((/*RF2:classeses*/(C)->_classeses/*pi*//*:RF2*/)))->_storage/*niii*//*:RF2*/))[_i]/*:RF8*/;
if((_c)!=((void*)(/*`skip'*/a2))){
/*RF3:clusters_of*/r710clusters_of(((T710*)/*ND*/(T0*)(_c)),/*`class_name'*/a1,/*`skip'*/a2,/*`clusters'*/a3,/*`distances'*/a4,_child_distance);
/*:RF3*/}
_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*PROCESS_POSIX*/void r803make(T803*C){
/*[INTERNAL_C_LOCAL list*/
T545 tmp0;
/*INTERNAL_C_LOCAL list]*/
T545 _process_factory={(void*)0,0,0,0,0};
tmp0/*locexp*/=M545;
/*RF3:default_create*/r545default_create(&tmp0/*locexp*/);
/*:RF3*/_process_factory=tmp0/*locexp*/;
/*tmp0.unlock*/
if(((/*RF2:group*/(C)->_group/*T7pppppp*//*:RF2*/))==((void*)((void*)0))){
/*SFN*/(C->_data/*T7pppppp*/)=/*RF8:basic_exec_alloc_data*/basic_exec_alloc_data()/*:RF8*/;
/*SFN*/(C->_group/*T7pppppp*/)=/*RF6:default_group*/r545default_group(&_process_factory)/*:RF6*/;
}
}/*--*/

/*PROCESS_POSIX*/T6 r803is_finished(T803*C){
T6 R=0;
R=((T6)(/*RF8:basic_exec_is_finished*/basic_exec_is_finished((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/))/*:RF8*/));
if(R){
/*RF3:do_cleanup*/r803do_cleanup(C);
/*:RF3*/}
return R;
}/*--*/

/*PROCESS_POSIX*/void r803cleanup_streams(T803*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)(((/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/))!=((void*)((void*)0))));
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->id)){
case 69:
tmp1/*is_connected*/=((T6)(1));
break;
case 78:
tmp1/*is_connected*/=((T6)(/*RF4:is_connected*/r78is_connected()/*:RF4*/));
break;
case 81:
tmp1/*is_connected*/=((T6)(1));
break;
case 664:
tmp1/*is_connected*/=((T6)(1));
break;
case 855:
tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T855*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppip*//*:RF2*/)));
break;
default:;
tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T858*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_is_connected/*Tpppp*//*:RF2*/)));
}
/*inspect]*/
tmp0/*and then*/=((T6)(tmp1/*is_connected*/));
}
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->id)){
case 69:
(/*RF2:filter*/(((T69*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_filter/*Tpnii*//*:RF2*/)=(void*)0;
break;
case 78:
/*RF3:disconnect*/r78disconnect();
/*:RF3*/break;
case 81:
(/*RF2:filter*/(((T81*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_filter/*Tp*//*:RF2*/)=(void*)0;
break;
case 664:
(/*RF2:filter*/(((T664*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_filter/*Tp*//*:RF2*/)=(void*)0;
break;
case 855:
/*RF3:disconnect*/r855disconnect(((T855*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:disconnect*/r858disconnect(((T858*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)(((/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/))!=((void*)((void*)0))));
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)))->id)){
case 857:
/*auto-unlock tmp1*/tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T857*)(/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppipppcpc*//*:RF2*/)));
break;
default:;
tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T859*)(/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppppppcpc*//*:RF2*/)));
}
/*inspect]*/
tmp0/*and then*/=((T6)(tmp1/*is_connected*/));
}
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)))->id)){
case 857:
/*RF3:disconnect*/r857disconnect(((T857*)(/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:disconnect*/r859disconnect(((T859*)(/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)(((/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/))!=((void*)((void*)0))));
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)))->id)){
case 857:
/*auto-unlock tmp1*/tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T857*)(/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppipppcpc*//*:RF2*/)));
break;
default:;
tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T859*)(/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppppppcpc*//*:RF2*/)));
}
/*inspect]*/
tmp0/*and then*/=((T6)(tmp1/*is_connected*/));
}
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)))->id)){
case 857:
/*RF3:disconnect*/r857disconnect(((T857*)(/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:disconnect*/r859disconnect(((T859*)(/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
}/*--*/

/*PROCESS_POSIX*/T2 r803id(T803*C){
T2 R=0;
R=/*RF8:basic_exec_id*/basic_exec_id((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/))/*:RF8*/;
return R;
}/*--*/

/*PROCESS_POSIX*/void r803do_execute(T803*C,T8 a1,T8 a2,T6 a3,T8 a4){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T8 _inpipe=(void*)0;
T8 _outpipe=(void*)0;
T8 _errpipe=(void*)0;
if(((/*RF2:direct_input*/(C)->_direct_input/*T7pppppp*//*:RF2*/))==(0)){
if(((/*RF2:instream*/(C)->_instream/*T7pppppp*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T855/*Tppip*/))));
*((T855*)tmp0/*new*/)=M855;
/*RF3:make*/r855make(((T855*)tmp0/*new*/),(T0*)C);
/*:RF3*//*SFN*/(C->_instream/*T7pppppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:make*/r855make((T855*)((/*RF2:instream*/(C)->_instream/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*/}
_inpipe=(/*RF2:pipe*/((T855*)((/*RF2:instream*/(C)->_instream/*T7pppppp*//*:RF2*/)))->_pipe/*Tppip*//*:RF2*/);
/*SFN*/(C->_input/*T7pppppp*/)=(/*RF2:instream*/(C)->_instream/*T7pppppp*//*:RF2*/);
}
else{
/*SFN*/(C->_input/*T7pppppp*/)=(void*)0;
}
if(((/*RF2:direct_output*/(C)->_direct_output/*T7pppppp*//*:RF2*/))==(0)){
if(((/*RF2:outstream*/(C)->_outstream/*T7pppppp*//*:RF2*/))==((void*)((void*)0))){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T857/*Tppipppcpc*/))));
*((T857*)tmp0/*new*/)=M857;
/*RF3:make*/r857make(((T857*)tmp0/*new*/),(T0*)C);
/*:RF3*//*SFN*/(C->_outstream/*T7pppppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:make*/r857make((T857*)((/*RF2:outstream*/(C)->_outstream/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*/}
_outpipe=(/*RF2:pipe*/((T857*)((/*RF2:outstream*/(C)->_outstream/*T7pppppp*//*:RF2*/)))->_pipe/*Tppipppcpc*//*:RF2*/);
/*SFN*/(C->_output/*T7pppppp*/)=(/*RF2:outstream*/(C)->_outstream/*T7pppppp*//*:RF2*/);
}
else{
/*SFN*/(C->_output/*T7pppppp*/)=(void*)0;
}
if(((/*RF2:direct_error*/(C)->_direct_error/*T7pppppp*//*:RF2*/))==(0)){
if(((/*RF2:errstream*/(C)->_errstream/*T7pppppp*//*:RF2*/))==((void*)((void*)0))){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T857/*Tppipppcpc*/))));
*((T857*)tmp0/*new*/)=M857;
/*RF3:make*/r857make(((T857*)tmp0/*new*/),(T0*)C);
/*:RF3*//*SFN*/(C->_errstream/*T7pppppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:make*/r857make((T857*)((/*RF2:errstream*/(C)->_errstream/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*/}
_errpipe=(/*RF2:pipe*/((T857*)((/*RF2:errstream*/(C)->_errstream/*T7pppppp*//*:RF2*/)))->_pipe/*Tppipppcpc*//*:RF2*/);
/*SFN*/(C->_error/*T7pppppp*/)=(/*RF2:errstream*/(C)->_errstream/*T7pppppp*//*:RF2*/);
}
else{
/*SFN*/(C->_error/*T7pppppp*/)=(void*)0;
}
/*SFN*/(C->_is_connected/*T7pppppp*/)=((T6)(/*RF8:basic_exec_posix_execute*/basic_exec_posix_execute((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/),/*`program'*/a1,/*`program_arguments'*/a2,(T6)(/*`keep_environment'*/a3),/*`additional_env'*/a4,_inpipe,_outpipe,_errpipe)/*:RF8*/));
tmp1/*and then*/=((T6)((/*RF2:is_connected*/(C)->_is_connected/*T7pppppp*//*:RF2*/)));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)((/*RF4:is_child*/r803is_child(C)/*:RF4*/)==(0)));
}
if(tmp1/*and then*/){
/*RF3:register*/r800register((T800*)((/*RF2:group*/(C)->_group/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*/}
else{
/*SFN*/(C->_input/*T7pppppp*/)=(void*)0;
/*SFN*/(C->_output/*T7pppppp*/)=(void*)0;
/*SFN*/(C->_error/*T7pppppp*/)=(void*)0;
}
}/*--*/

/*PROCESS_POSIX*/void r803do_cleanup(T803*C){
/*RF3:unregister*/r800unregister((T800*)((/*RF2:group*/(C)->_group/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*//*RF3:cleanup_streams*/r803cleanup_streams(C);
/*:RF3*/}/*--*/

/*PROCESS_POSIX*/void r803execute_command_line(T803*C,T0*a1,T6 a2){
T0*_fa_prog_args=(void*)0;
T8 _program=(void*)0;
T8 _prog_args=(void*)0;
/*RF3:make*/r803make(C);
/*:RF3*/_program=/*RF4:to_external*/r7to_external(((T7*)ms803_1121854Abc803A))/*:RF4*/;
_fa_prog_args=se_manifest_args1031(se_manifest1031(4),0,4,
_program,
/*RF4:to_external*/r7to_external(((T7*)ms803_324Abc803A))/*:RF4*/,
/*RF4:to_external*/r7to_external(((T7*)/*`command_line'*/a1))/*:RF4*/,
NULL/*_POINTER*/);
_prog_args=/*RF8:to_pointer*/((void*)((/*RF2:storage*/(((T1031*)_fa_prog_args))->_storage/*niii*//*:RF2*/)))/*:RF8*/;
/*RF3:do_execute*/r803do_execute(C,_program,_prog_args,(T6)(/*`keep_environment'*/a2),NULL/*_POINTER*/);
/*:RF3*/}/*--*/

/*PROCESS_POSIX*/void r803dispose(T803*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
if((/*RF4:is_child*/r803is_child(C)/*:RF4*/)==(0)){
tmp0/*and then*/=((T6)((/*RF2:is_connected*/(C)->_is_connected/*T7pppppp*//*:RF2*/)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:is_finished*/r803is_finished(C)/*:RF4*/)==(0)));
}
if(tmp0/*and then*/){
/*RF7:sedb_breakpoint*//*:RF7*/}
}
/*RF7:basic_exec_free_data*/basic_exec_free_data((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/));
/*:RF7*/}/*--*/

/*PROCESS_POSIX*/T6 r803is_child(T803*C){
T6 R=0;
R=((T6)(/*RF8:basic_exec_is_child*/basic_exec_is_child((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/))/*:RF8*/));
return R;
}/*--*/

/*PROCESS_POSIX*/void r803wait(T803*C){
/*RF7:basic_exec_wait*/basic_exec_wait((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/));
/*:RF7*//*RF3:do_cleanup*/r803do_cleanup(C);
/*:RF3*/}/*--*/

/*PROCESS_WIN32*/void r804make(T804*C){
/*[INTERNAL_C_LOCAL list*/
T545 tmp0;
/*INTERNAL_C_LOCAL list]*/
T545 _process_factory={(void*)0,0,0,0,0};
tmp0/*locexp*/=M545;
/*RF3:default_create*/r545default_create(&tmp0/*locexp*/);
/*:RF3*/_process_factory=tmp0/*locexp*/;
/*tmp0.unlock*/
if(((/*RF2:group*/(C)->_group/*T7pppppp*//*:RF2*/))==((void*)((void*)0))){
/*SFN*/(C->_data/*T7pppppp*/)=/*RF8:basic_exec_alloc_data*/basic_exec_alloc_data()/*:RF8*/;
/*SFN*/(C->_group/*T7pppppp*/)=/*RF6:default_group*/r545default_group(&_process_factory)/*:RF6*/;
}
}/*--*/

/*PROCESS_WIN32*/T6 r804is_finished(T804*C){
T6 R=0;
R=((T6)(/*RF8:basic_exec_is_finished*/basic_exec_is_finished((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/))/*:RF8*/));
if(R){
/*RF3:do_cleanup*/r804do_cleanup(C);
/*:RF3*/}
return R;
}/*--*/

/*PROCESS_WIN32*/void r804cleanup_streams(T804*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)(((/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/))!=((void*)((void*)0))));
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->id)){
case 69:
tmp1/*is_connected*/=((T6)(1));
break;
case 78:
tmp1/*is_connected*/=((T6)(/*RF4:is_connected*/r78is_connected()/*:RF4*/));
break;
case 81:
tmp1/*is_connected*/=((T6)(1));
break;
case 664:
tmp1/*is_connected*/=((T6)(1));
break;
case 855:
tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T855*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppip*//*:RF2*/)));
break;
default:;
tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T858*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_is_connected/*Tpppp*//*:RF2*/)));
}
/*inspect]*/
tmp0/*and then*/=((T6)(tmp1/*is_connected*/));
}
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->id)){
case 69:
(/*RF2:filter*/(((T69*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_filter/*Tpnii*//*:RF2*/)=(void*)0;
break;
case 78:
/*RF3:disconnect*/r78disconnect();
/*:RF3*/break;
case 81:
(/*RF2:filter*/(((T81*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_filter/*Tp*//*:RF2*/)=(void*)0;
break;
case 664:
(/*RF2:filter*/(((T664*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)))->_filter/*Tp*//*:RF2*/)=(void*)0;
break;
case 855:
/*RF3:disconnect*/r855disconnect(((T855*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:disconnect*/r858disconnect(((T858*)(/*RF2:input*/(C)->_input/*T7pppppp*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)(((/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/))!=((void*)((void*)0))));
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)))->id)){
case 857:
/*auto-unlock tmp1*/tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T857*)(/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppipppcpc*//*:RF2*/)));
break;
default:;
tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T859*)(/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppppppcpc*//*:RF2*/)));
}
/*inspect]*/
tmp0/*and then*/=((T6)(tmp1/*is_connected*/));
}
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)))->id)){
case 857:
/*RF3:disconnect*/r857disconnect(((T857*)(/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:disconnect*/r859disconnect(((T859*)(/*RF2:output*/(C)->_output/*T7pppppp*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)(((/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/))!=((void*)((void*)0))));
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)))->id)){
case 857:
/*auto-unlock tmp1*/tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T857*)(/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppipppcpc*//*:RF2*/)));
break;
default:;
tmp1/*is_connected*/=((T6)((/*RF2:is_connected*/(((T859*)(/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)))->_is_connected/*Tppppppcpc*//*:RF2*/)));
}
/*inspect]*/
tmp0/*and then*/=((T6)(tmp1/*is_connected*/));
}
if(tmp0/*and then*/){
/*[inspectDynamicDispatch*/
switch((((T0*)((/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)))->id)){
case 857:
/*RF3:disconnect*/r857disconnect(((T857*)(/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)));
/*:RF3*/break;
default:;
/*RF3:disconnect*/r859disconnect(((T859*)(/*RF2:error*/(C)->_error/*T7pppppp*//*:RF2*/)));
/*:RF3*/}
/*inspect]*/
}
}/*--*/

/*PROCESS_WIN32*/T2 r804handle(T804*C){
T2 R=0;
R=/*RF8:basic_exec_win32_handle*/basic_exec_win32_handle((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/))/*:RF8*/;
return R;
}/*--*/

/*PROCESS_WIN32*/void r804do_execute(T804*C,T8 a1,T6 a2){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
T8 _inpipe=(void*)0;
T8 _outpipe=(void*)0;
T8 _errpipe=(void*)0;
if(((/*RF2:direct_input*/(C)->_direct_input/*T7pppppp*//*:RF2*/))==(0)){
if(((/*RF2:instream*/(C)->_instream/*T7pppppp*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T858/*Tpppp*/))));
*((T858*)tmp0/*new*/)=M858;
/*RF3:make*/r858make(((T858*)tmp0/*new*/),(T0*)C);
/*:RF3*//*SFN*/(C->_instream/*T7pppppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:make*/r858make((T858*)((/*RF2:instream*/(C)->_instream/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*/}
_inpipe=(/*RF2:pipe*/((T858*)((/*RF2:instream*/(C)->_instream/*T7pppppp*//*:RF2*/)))->_pipe/*Tpppp*//*:RF2*/);
/*SFN*/(C->_input/*T7pppppp*/)=(/*RF2:instream*/(C)->_instream/*T7pppppp*//*:RF2*/);
}
else{
/*SFN*/(C->_input/*T7pppppp*/)=(void*)0;
}
if(((/*RF2:direct_output*/(C)->_direct_output/*T7pppppp*//*:RF2*/))==(0)){
if(((/*RF2:outstream*/(C)->_outstream/*T7pppppp*//*:RF2*/))==((void*)((void*)0))){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T859/*Tppppppcpc*/))));
*((T859*)tmp0/*new*/)=M859;
/*RF3:make*/r859make(((T859*)tmp0/*new*/),(T0*)C);
/*:RF3*//*SFN*/(C->_outstream/*T7pppppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:make*/r859make((T859*)((/*RF2:outstream*/(C)->_outstream/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*/}
_outpipe=(/*RF2:pipe*/((T859*)((/*RF2:outstream*/(C)->_outstream/*T7pppppp*//*:RF2*/)))->_pipe/*Tppppppcpc*//*:RF2*/);
/*SFN*/(C->_output/*T7pppppp*/)=(/*RF2:outstream*/(C)->_outstream/*T7pppppp*//*:RF2*/);
}
else{
/*SFN*/(C->_output/*T7pppppp*/)=(void*)0;
}
if(((/*RF2:direct_error*/(C)->_direct_error/*T7pppppp*//*:RF2*/))==(0)){
if(((/*RF2:errstream*/(C)->_errstream/*T7pppppp*//*:RF2*/))==((void*)((void*)0))){
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T859/*Tppppppcpc*/))));
*((T859*)tmp0/*new*/)=M859;
/*RF3:make*/r859make(((T859*)tmp0/*new*/),(T0*)C);
/*:RF3*//*SFN*/(C->_errstream/*T7pppppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:make*/r859make((T859*)((/*RF2:errstream*/(C)->_errstream/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*/}
_errpipe=(/*RF2:pipe*/((T859*)((/*RF2:errstream*/(C)->_errstream/*T7pppppp*//*:RF2*/)))->_pipe/*Tppppppcpc*//*:RF2*/);
/*SFN*/(C->_error/*T7pppppp*/)=(/*RF2:errstream*/(C)->_errstream/*T7pppppp*//*:RF2*/);
}
else{
/*SFN*/(C->_error/*T7pppppp*/)=(void*)0;
}
/*SFN*/(C->_is_connected/*T7pppppp*/)=((T6)(/*RF8:basic_exec_win32_execute*/basic_exec_win32_execute((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/),/*`program_arguments'*/a1,(T6)(/*`keep_environment'*/a2),NULL/*_POINTER*/,_inpipe,_outpipe,_errpipe)/*:RF8*/));
if((/*RF2:is_connected*/(C)->_is_connected/*T7pppppp*//*:RF2*/)){
/*RF3:register*/r801register((T801*)((/*RF2:group*/(C)->_group/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*/}
else{
/*SFN*/(C->_input/*T7pppppp*/)=(void*)0;
/*SFN*/(C->_output/*T7pppppp*/)=(void*)0;
/*SFN*/(C->_error/*T7pppppp*/)=(void*)0;
}
}/*--*/

/*PROCESS_WIN32*/void r804do_cleanup(T804*C){
/*RF3:unregister*/r801unregister((T801*)((/*RF2:group*/(C)->_group/*T7pppppp*//*:RF2*/)),(T0*)C);
/*:RF3*//*RF3:cleanup_streams*/r804cleanup_streams(C);
/*:RF3*/}/*--*/

/*PROCESS_WIN32*/void r804execute_command_line(T804*C,T0*a1,T6 a2){
T8 _prog_args=(void*)0;
/*RF3:make*/r804make(C);
/*:RF3*/_prog_args=/*RF4:to_external*/r7to_external(((T7*)/*`command_line'*/a1))/*:RF4*/;
/*RF3:do_execute*/r804do_execute(C,_prog_args,(T6)(/*`keep_environment'*/a2));
/*:RF3*/}/*--*/

/*PROCESS_WIN32*/void r804dispose(T804*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*implies*/=((T6)((/*RF2:is_connected*/(C)->_is_connected/*T7pppppp*//*:RF2*/)));
if(tmp0/*implies*/){
tmp0/*implies*/=((T6)(/*RF4:is_finished*/r804is_finished(C)/*:RF4*/));
}
else{
tmp0/*implies*/=((T6)(1));
}
if((tmp0/*implies*/)==(0)){
/*RF7:sedb_breakpoint*//*:RF7*/}
/*RF7:basic_exec_free_data*/basic_exec_free_data((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/));
/*:RF7*/}/*--*/

/*PROCESS_WIN32*/void r804wait(T804*C){
/*RF7:basic_exec_wait*/basic_exec_wait((/*RF2:data*/(C)->_data/*T7pppppp*//*:RF2*/));
/*:RF7*//*RF3:do_cleanup*/r804do_cleanup(C);
/*:RF3*/}/*--*/

/*PROCESS_NONE*/void r805make(T805*C){
/*[INTERNAL_C_LOCAL list*/
T545 tmp0;
/*INTERNAL_C_LOCAL list]*/
T545 _process_factory={(void*)0,0,0,0,0};
tmp0/*locexp*/=M545;
/*RF3:default_create*/r545default_create(&tmp0/*locexp*/);
/*:RF3*/_process_factory=tmp0/*locexp*/;
/*tmp0.unlock*/
if(((/*RF2:group*/(C)->_group/*Tpppp*//*:RF2*/))==((void*)((void*)0))){
/*SFN*/(C->_group/*Tpppp*/)=/*RF6:default_group*/r545default_group(&_process_factory)/*:RF6*/;
}
}/*--*/

/*PROCESS_NONE*/void r805execute_command_line(T805*C,T0*a1,T6 a2){
/*RF3:make*/r805make(C);
/*:RF3*/}/*--*/

/*PROCESS_GROUP_POSIX*/void r800make(T800*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1015/*pniiii*/))));
*((T1015*)tmp0/*new*/)=M1015;
/*RF3:make*/r1015make(((T1015*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_id_map/*Tpp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*SFN*/(C->_data/*Tpp*/)=/*RF8:basic_exec_alloc_data*/basic_exec_alloc_data()/*:RF8*/;
}/*--*/

/*PROCESS_GROUP_POSIX*/void r800unregister(T800*C,T0*a1){
T2 _process_id=0;
_process_id=/*RF4:id*/r803id(((T803*)/*`process'*/a1))/*:RF4*/;
/*RF3:remove*/r1015remove((T1015*)((/*RF2:id_map*/(C)->_id_map/*Tpp*//*:RF2*/)),_process_id);
/*:RF3*/}/*--*/

/*PROCESS_GROUP_POSIX*/void r800register(T800*C,T0*a1){
T2 _process_id=0;
_process_id=/*RF4:id*/r803id(((T803*)/*`process'*/a1))/*:RF4*/;
/*RF3:put*/r1015put((T1015*)((/*RF2:id_map*/(C)->_id_map/*Tpp*//*:RF2*/)),/*`process'*/a1,_process_id);
/*:RF3*/}/*--*/

/*PROCESS_GROUP_WIN32*/void r801make(T801*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T1016/*pniiii*/))));
*((T1016*)tmp0/*new*/)=M1016;
/*RF3:make*/r1016make(((T1016*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_handle_map/*Tppp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*SFN*/(C->_data/*Tppp*/)=/*RF8:basic_exec_alloc_data*/basic_exec_alloc_data()/*:RF8*/;
}/*--*/

/*PROCESS_GROUP_WIN32*/void r801unregister(T801*C,T0*a1){
T2 _handle=0;
_handle=/*RF4:handle*/r804handle(((T804*)/*`process'*/a1))/*:RF4*/;
/*RF3:remove*/r1016remove((T1016*)((/*RF2:handle_map*/(C)->_handle_map/*Tppp*//*:RF2*/)),_handle);
/*:RF3*//*SFN*/(C->_handle_list_dirty/*Tppp*/)=((T6)(1));
}/*--*/

/*PROCESS_GROUP_WIN32*/void r801register(T801*C,T0*a1){
T2 _handle=0;
_handle=/*RF4:handle*/r804handle(((T804*)/*`process'*/a1))/*:RF4*/;
/*RF3:put*/r1016put((T1016*)((/*RF2:handle_map*/(C)->_handle_map/*Tppp*//*:RF2*/)),/*`process'*/a1,_handle);
/*:RF3*//*SFN*/(C->_handle_list_dirty/*Tppp*/)=((T6)(1));
}/*--*/

/*STD_INPUT*/void r61make(T61*C){
/*SFN*/(C->_buffer/*ni*/)=/*RF8:calloc*/se_calloc(INT32_C(4096),sizeof(T3/*c*/))/*:RF8*/;
/*SFN*/(C->_capacity/*ni*/)=INT32_C(4096);
}/*--*/

/*POSIX_PATH_NAME*/void r811remove_last(T811*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _p=0;
_p=/*RF4:reverse_index_of*/r7reverse_index_of((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),((T3)'\057'),(/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)(/*RF8:<=*/((int32_t)(_p))<=(INT32_C(1))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:item*/r7item((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),_p)/*:RF4*/)!=(((T3)'\057'))));
}
/*until*/if(tmp0/*or else*/) break;
_p=/*RF8:-*/((int32_t)(_p))-(INT32_C(1))/*:RF8*/;
}
/*RF3:keep_head*/r7keep_head((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),_p);
/*:RF3*/}/*--*/

/*POSIX_PATH_NAME*/void r811make_empty(T811*C){
if(((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/))==((void*)((void*)0))){
/*SFN*/(C->_to_string/*Tp*/)=se_string(0,s29_0A);
}
else{
/*RF3:clear_count*/r7clear_count((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)));
/*:RF3*/}
}/*--*/

/*POSIX_PATH_NAME*/void r811start_join(T811*C,T0*a1,T2 a2){
/*[inspect*/
switch(/*`absoluteness'*/a2){
case 0:
break;
case 1:
/*RF3:make_root*/r811make_root(C);
/*:RF3*/break;
default:;
/*RF3:make_from_string*/r811make_from_string(C,ms31_282Abc811A);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*POSIX_PATH_NAME*/void r811join_element(T811*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)(((/*RF4:count*/r811count(C)/*:RF4*/)==(INT8_C(0)))==(0)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF4:is_equal*/r7is_equal((T7*)(/*RF4:last*/r811last(C)/*:RF4*/),ms811_46Abc811A)/*:RF4*/));
}
if(tmp0/*and then*/){
/*RF3:remove_last*/r811remove_last(C);
/*:RF3*/}
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)((((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:is_separator*/r811is_separator(/*RF4:last*/r7last((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))/*:RF4*/)/*:RF4*/)==(0)));
}
if(tmp0/*and then*/){
/*RF3:extend*/r7extend((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),((T3)'\057'));
/*:RF3*/}
/*RF3:append*/r7append((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),/*`element'*/a1);
/*:RF3*/}/*--*/

/*POSIX_PATH_NAME*/T2 r811start_join_to(T811*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
T2 _slash_count=0;
R=INT32_C(1);
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_separator*/r811is_separator(/*RF4:item*/r7item((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),R)/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
_slash_count=/*RF8:-*/((int32_t)(R))-(INT32_C(1))/*:RF8*/;
if(/*RF8:>*/((int32_t)(_slash_count))>(INT32_C(2))/*:RF8*/){
_slash_count=INT32_C(1);
}
if(/*RF8:<=*/((int32_t)(R))<=((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:start_join*/r811start_join(((T811*)/*`other'*/a1),(void*)0,_slash_count);
/*:RF3*/break;
default:;
/*RF3:start_join*/r813start_join(((T813*)/*`other'*/a1),(void*)0,_slash_count);
/*:RF3*/}
/*inspect]*/
}
else{
if(/*RF8:>*/((int32_t)(_slash_count))>(INT32_C(0))/*:RF8*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:start_join*/r811start_join(((T811*)/*`other'*/a1),(void*)0,_slash_count);
/*:RF3*/break;
default:;
/*RF3:start_join*/r813start_join(((T813*)/*`other'*/a1),(void*)0,_slash_count);
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:end_join*/r811end_join(((T811*)/*`other'*/a1));
/*:RF3*/break;
default:;
/*RF3:end_join*/r813end_join(((T813*)/*`other'*/a1));
/*:RF3*/}
/*inspect]*/
}
}
return R;
}/*--*/

/*POSIX_PATH_NAME*/T0*r811drive_specification(void){
T0* R=(void*)0;
return R;
}/*--*/

/*POSIX_PATH_NAME*/void r811end_join(T811*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)((/*RF4:count*/r811count(C)/*:RF4*/)==(INT8_C(0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:is_absolute*/r811is_absolute(C)/*:RF4*/)==(0)));
}
if(tmp0/*and then*/){
/*RF3:make_current*/r811make_current(C);
/*:RF3*/}
}/*--*/

/*POSIX_PATH_NAME*/void r811make_from_string(T811*C,T0*a1){
if(((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/))==((void*)((void*)0))){
/*SFN*/(C->_to_string/*Tp*/)=/*RF8:twin*/r7twin(((T7*)/*`s'*/a1))/*:RF8*/;
}
else{
if(((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/))!=((void*)(/*`s'*/a1))){
/*RF3:copy*/r7copy((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),/*`s'*/a1);
/*:RF3*/}
}
}/*--*/

/*POSIX_PATH_NAME*/T0*r811last(T811*C){
T0* R=(void*)0;
T2 _p=0;
_p=/*RF8:+*/((int32_t)(/*RF4:last_index_of*/r7last_index_of((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),((T3)'\057'))/*:RF4*/))+(INT32_C(1))/*:RF8*/;
R=/*RF4:substring*/r7substring((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),_p,(/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/;
return R;
}/*--*/

/*POSIX_PATH_NAME*/void r811add_last(T811*C,T0*a1){
if(((/*RF4:count*/r811count(C)/*:RF4*/)==(INT8_C(0)))==(0)){
/*RF3:extend_unless*/r7extend_unless((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),((T3)'\057'));
/*:RF3*/}
/*RF3:append*/r7append((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),/*`elem'*/a1);
/*:RF3*/}/*--*/

/*POSIX_PATH_NAME*/T6 r811is_separator(T3 a1){
T6 R=0;
R=((T6)((/*`ch'*/a1)==(((T3)'\057'))));
return R;
}/*--*/

/*POSIX_PATH_NAME*/T6 r811is_absolute(T811*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)((((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:first*/r7first((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))/*:RF4*/)==(((T3)'\057'))));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*POSIX_PATH_NAME*/void r811go_up(T811*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_lst=(void*)0;
while(1){
tmp0/*or else*/=((T6)(/*RF8:<=*/((int32_t)((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/)))<=(INT32_C(1))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_separator*/r811is_separator(/*RF4:last*/r7last((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
/*RF3:remove_last*/r7remove_last((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)));
/*:RF3*/}
if((/*RF4:count*/r811count(C)/*:RF4*/)==(INT8_C(0))){
if((/*RF4:is_absolute*/r811is_absolute(C)/*:RF4*/)==(0)){
/*RF3:add_last*/r811add_last(C,ms811_276Abc811A);
/*:RF3*/}
}
else{
_lst=/*RF4:last*/r811last(C)/*:RF4*/;
if(/*RF4:is_equal*/r7is_equal(((T7*)_lst),ms811_46Abc811A)/*:RF4*/){
/*RF3:remove_last*/r811remove_last(C);
/*:RF3*//*RF3:add_last*/r811add_last(C,ms811_276Abc811A);
/*:RF3*/}
else{
if(/*RF4:is_equal*/r7is_equal(((T7*)_lst),ms811_276Abc811A)/*:RF4*/){
/*RF3:add_last*/r811add_last(C,ms811_276Abc811A);
/*:RF3*/}
else{
/*RF3:remove_last*/r811remove_last(C);
/*:RF3*/}
}
}
}/*--*/

/*POSIX_PATH_NAME*/void r811make_current(T811*C){
/*RF3:make_empty*/r811make_empty(C);
/*:RF3*//*RF3:extend*/r7extend((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),((T3)'\056'));
/*:RF3*/}/*--*/

/*POSIX_PATH_NAME*/T2 r811scan_element(T811*C,T2 a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
/*RF3:clear_count*/r7clear_count(((T7*)/*`element'*/a2));
/*:RF3*/R=/*`p'*/a1;
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_separator*/r811is_separator(/*RF4:item*/r7item((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),R)/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
while(1){
tmp1/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(/*RF4:is_separator*/r811is_separator(/*RF4:item*/r7item((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),R)/*:RF4*/)/*:RF4*/));
}
/*until*/if(tmp1/*or else*/) break;
/*RF3:add_last*/r7add_last(((T7*)/*`element'*/a2),/*RF4:item*/r7item((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),R)/*:RF4*/);
/*:RF3*/R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*POSIX_PATH_NAME*/void r811join_to(T811*C,T0*a1){
T2 _p=0;
T0*_element=(void*)0;
_p=/*RF4:start_join_to*/r811start_join_to(C,/*`other'*/a1)/*:RF4*/;
if(/*RF8:<=*/((int32_t)(_p))<=((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
_element=ms812_1182938696Abc812A;
_p=/*RF4:scan_element*/r811scan_element(C,_p,_element)/*:RF4*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_p))>((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
/*RF3:join_directory_to*/r811join_directory_to(/*`other'*/a1,_element);
/*:RF3*/_p=/*RF4:scan_element*/r811scan_element(C,_p,_element)/*:RF4*/;
}
if((((/*RF2:count*/(((T7*)_element))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)){
if(/*RF4:is_separator*/r811is_separator(/*RF4:last*/r7last((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))/*:RF4*/)/*:RF4*/){
/*RF3:join_directory_to*/r811join_directory_to(/*`other'*/a1,_element);
/*:RF3*/}
else{
/*RF3:join_element_to*/r811join_element_to(/*`other'*/a1,_element);
/*:RF3*/}
}
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:end_join*/r811end_join(((T811*)/*`other'*/a1));
/*:RF3*/break;
default:;
/*RF3:end_join*/r813end_join(((T813*)/*`other'*/a1));
/*:RF3*/}
/*inspect]*/
}
}/*--*/

/*POSIX_PATH_NAME*/T0*r811short_name(T811*C){
T0* R=(void*)0;
T2 _i=0;
R=ms29_0Abc812A;
/*RF3:copy*/r7copy(((T7*)R),(/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/));
/*:RF3*/if(/*RF4:or*/r6_ix_or((T6)(/*RF8:>*/((int32_t)((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/)))>(INT32_C(1))/*:RF8*/),(T6)((/*RF4:first*/r7first((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))/*:RF4*/)!=(((T3)'\057'))))/*:RF4*/){
if((/*RF4:last*/r7last(((T7*)R))/*:RF4*/)==(((T3)'\057'))){
/*RF3:remove_last*/r7remove_last(((T7*)R));
/*:RF3*/}
_i=/*RF4:last_index_of*/r7last_index_of(((T7*)R),((T3)'\057'))/*:RF4*/;
if(/*RF8:>=*/((int32_t)(_i))>=(INT32_C(0))/*:RF8*/){
/*RF3:shrink*/r7shrink(((T7*)R),/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/,(/*RF2:count*/(((T7*)R))->_count/*Tniiiiip*//*:RF2*/));
/*:RF3*/}
}
return R;
}/*--*/

/*POSIX_PATH_NAME*/void r811join_element_to(T0*a1,T0*a2){
if(/*RF4:is_equal*/r7is_equal(((T7*)/*`element'*/a2),ms811_276Abc811A)/*:RF4*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:go_up*/r811go_up(((T811*)/*`other'*/a1));
/*:RF3*/break;
default:;
/*RF3:go_up*/r813go_up(((T813*)/*`other'*/a1));
/*:RF3*/}
/*inspect]*/
}
else{
if(/*RF4:is_equal*/r7is_equal(((T7*)/*`element'*/a2),ms811_46Abc811A)/*:RF4*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:join_element*/r811join_element(((T811*)/*`other'*/a1),/*`element'*/a2);
/*:RF3*/break;
default:;
/*RF3:join_element*/r813join_element(((T813*)/*`other'*/a1),/*`element'*/a2);
/*:RF3*/}
/*inspect]*/
}
}
}/*--*/

/*POSIX_PATH_NAME*/void r811join_directory_to(T0*a1,T0*a2){
if(/*RF4:is_equal*/r7is_equal(((T7*)/*`element'*/a2),ms811_276Abc811A)/*:RF4*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:go_up*/r811go_up(((T811*)/*`other'*/a1));
/*:RF3*/break;
default:;
/*RF3:go_up*/r813go_up(((T813*)/*`other'*/a1));
/*:RF3*/}
/*inspect]*/
}
else{
if(/*RF4:is_equal*/r7is_equal(((T7*)/*`element'*/a2),ms811_46Abc811A)/*:RF4*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:join_element*/r811join_element(((T811*)/*`other'*/a1),/*`element'*/a2);
/*:RF3*/break;
default:;
/*RF3:join_element*/r813join_element(((T813*)/*`other'*/a1),/*`element'*/a2);
/*:RF3*/}
/*inspect]*/
}
}
}/*--*/

/*POSIX_PATH_NAME*/T2 r811count(T811*C){
T2 R=0;
T2 _p=0;
T6 _sep=0;
_p=INT32_C(1);
_sep=((T6)(1));
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_p))>((/*RF2:count*/((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
if(/*RF4:and*/r6_ix_and((T6)((_sep)==(0)),(T6)((/*RF4:item*/r7item((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),_p)/*:RF4*/)==(((T3)'\057'))))/*:RF4*/){
_sep=((T6)(1));
}
else{
if(/*RF4:and*/r6_ix_and((T6)(_sep),(T6)((/*RF4:item*/r7item((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),_p)/*:RF4*/)!=(((T3)'\057'))))/*:RF4*/){
_sep=((T6)(0));
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
}
_p=/*RF8:+*/((int32_t)(_p))+(INT32_C(1))/*:RF8*/;
}
if(/*RF4:and*/r6_ix_and((T6)(_sep),(T6)(/*RF8:>*/((int32_t)(R))>(INT32_C(0))/*:RF8*/))/*:RF4*/){
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*POSIX_PATH_NAME*/void r811make_root(T811*C){
/*RF3:make_empty*/r811make_empty(C);
/*:RF3*//*RF3:extend*/r7extend((T7*)((/*RF2:to_string*/(C)->_to_string/*Tp*//*:RF2*/)),((T3)'\057'));
/*:RF3*/}/*--*/

/*MICROSOFT_PATH_NAME*/void r813remove_last(T813*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T2 _p=0;
_p=/*RF4:max*/r2max(/*RF4:reverse_index_of*/r7reverse_index_of((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),((T3)'\057'),(/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/,/*RF4:reverse_index_of*/r7reverse_index_of((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),((T3)'\134'),(/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/)/*:RF4*/;
while(1){
tmp0/*or else*/=((T6)(/*RF8:<=*/((int32_t)(_p))<=(INT32_C(1))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_separator*/r813is_separator(/*RF4:item*/r7item((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),_p)/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
_p=/*RF8:-*/((int32_t)(_p))-(INT32_C(1))/*:RF8*/;
}
/*RF3:keep_head*/r7keep_head((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),_p);
/*:RF3*//*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(0));
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813make_empty(T813*C){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/))==((void*)((void*)0))){
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make_empty*/r7make_empty(((T7*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_path/*T2pcp*/)=tmp0/*new*/;
/*tmp0.unlock*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make_empty*/r7make_empty(((T7*)tmp0/*new*/));
/*:RF3*//*SFN*/(C->_to_string_cache/*T2pcp*/)=tmp0/*new*/;
/*tmp0.unlock*/
}
else{
/*RF3:clear_count*/r7clear_count((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)));
/*:RF3*//*RF3:clear_count*/r7clear_count((T7*)((/*RF2:to_string_cache*/(C)->_to_string_cache/*T2pcp*//*:RF2*/)));
/*:RF3*/}
/*SFN*/(C->_drive/*T2pcp*/)=((T3)'\000');
/*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(1));
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813start_join(T813*C,T0*a1,T2 a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
T6 tmp2;
T6 tmp3;
T6 tmp4;
T6 tmp5;
/*INTERNAL_C_LOCAL list]*/
T3 _new_drive='\0';
/*[inspect*/
switch(/*`absoluteness'*/a2){
case 0:
tmp0/*and then*/=((T6)((/*`a_drive'*/a1)!=((void*)((void*)0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(((/*RF2:drive*/(C)->_drive/*T2pcp*//*:RF2*/))==(((T3)'\000'))));
}
tmp1/*and then*/=((T6)(tmp0/*and then*/));
if(tmp1/*and then*/){
tmp1/*and then*/=((T6)((((/*RF2:count*/(((T7*)/*`a_drive'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
}
tmp2/*and then*/=((T6)(tmp1/*and then*/));
if(tmp2/*and then*/){
tmp2/*and then*/=((T6)(((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0))));
}
if(tmp2/*and then*/){
/*SFN*/(C->_drive/*T2pcp*/)=/*RF4:first*/r7first(((T7*)/*`a_drive'*/a1))/*:RF4*/;
}
break;
case 1:
tmp3/*and then*/=((T6)((/*`a_drive'*/a1)!=((void*)((void*)0))));
if(tmp3/*and then*/){
tmp3/*and then*/=((T6)((((/*RF2:count*/(((T7*)/*`a_drive'*/a1))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
}
if(tmp3/*and then*/){
_new_drive=/*RF4:first*/r7first(((T7*)/*`a_drive'*/a1))/*:RF4*/;
}
else{
tmp4/*or else*/=((T6)(/*RF8:>*/((int32_t)((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/)))>(INT32_C(1))/*:RF8*/));
if(tmp4/*or else*/){
}
else{
tmp5/*and then*/=((T6)(((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(1))));
if(tmp5/*and then*/){
tmp5/*and then*/=((T6)((/*RF4:is_separator*/r813is_separator(/*RF4:last*/r7last((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))/*:RF4*/)/*:RF4*/)==(0)));
}
tmp4/*or else*/=((T6)(tmp5/*and then*/));
}
if(tmp4/*or else*/){
_new_drive=((T3)'\000');
}
else{
_new_drive=(/*RF2:drive*/(C)->_drive/*T2pcp*//*:RF2*/);
}
}
/*RF3:make_root*/r813make_root(C);
/*:RF3*//*SFN*/(C->_drive/*T2pcp*/)=_new_drive;
break;
default:;
/*RF3:make_filled*/r7make_filled((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),((T3)'\134'),/*`absoluteness'*/a2);
/*:RF3*//*SFN*/(C->_drive/*T2pcp*/)=((T3)'\000');
}
/*inspect]*/
/*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(0));
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813join_element(T813*C,T0*a1){
/*RF3:_P_812_join_element*/r813_P_812_join_element(C,/*`element'*/a1);
/*:RF3*//*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(0));
}/*--*/

/*MICROSOFT_PATH_NAME*/T2 r813start_join_to(T813*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
T2 _slash_count=0;
R=INT32_C(1);
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_separator*/r813is_separator(/*RF4:item*/r7item((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),R)/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
_slash_count=/*RF8:-*/((int32_t)(R))-(INT32_C(1))/*:RF8*/;
if(/*RF8:<=*/((int32_t)(R))<=((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:start_join*/r811start_join(((T811*)/*`other'*/a1),/*RF4:drive_specification*/r813drive_specification(C)/*:RF4*/,_slash_count);
/*:RF3*/break;
default:;
/*RF3:start_join*/r813start_join(((T813*)/*`other'*/a1),/*RF4:drive_specification*/r813drive_specification(C)/*:RF4*/,_slash_count);
/*:RF3*/}
/*inspect]*/
}
else{
tmp1/*or else*/=((T6)(/*RF8:>*/((int32_t)(_slash_count))>(INT32_C(0))/*:RF8*/));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(((/*RF2:drive*/(C)->_drive/*T2pcp*//*:RF2*/))!=(((T3)'\000'))));
}
if(tmp1/*or else*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:start_join*/r811start_join(((T811*)/*`other'*/a1),/*RF4:drive_specification*/r813drive_specification(C)/*:RF4*/,_slash_count);
/*:RF3*/break;
default:;
/*RF3:start_join*/r813start_join(((T813*)/*`other'*/a1),/*RF4:drive_specification*/r813drive_specification(C)/*:RF4*/,_slash_count);
/*:RF3*/}
/*inspect]*/
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:end_join*/r811end_join(((T811*)/*`other'*/a1));
/*:RF3*/break;
default:;
/*RF3:end_join*/r813end_join(((T813*)/*`other'*/a1));
/*:RF3*/}
/*inspect]*/
}
}
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/T0*r813drive_specification(T813*C){
T0* R=(void*)0;
R=se_string(2,s813_498A);
/*RF3:clear_count*/r7clear_count(((T7*)R));
/*:RF3*/if(((/*RF2:drive*/(C)->_drive/*T2pcp*//*:RF2*/))!=(((T3)'\000'))){
/*RF3:extend*/r7extend(((T7*)R),(/*RF2:drive*/(C)->_drive/*T2pcp*//*:RF2*/));
/*:RF3*//*RF3:extend*/r7extend(((T7*)R),((T3)'\072'));
/*:RF3*/}
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813end_join(T813*C){
T3 _dl='\0';
_dl=(/*RF2:drive*/(C)->_drive/*T2pcp*//*:RF2*/);
/*RF3:_P_810_end_join*/r813_P_810_end_join(C);
/*:RF3*//*SFN*/(C->_drive/*T2pcp*/)=_dl;
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813make_from_string(T813*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
if((/*`s'*/a1)==((void*)(/*RF4:to_string*/r813to_string(C)/*:RF4*/))){
}
else{
if((/*`s'*/a1)==((void*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))){
/*SFN*/(C->_drive/*T2pcp*/)=((T3)'\000');
/*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(1));
}
else{
/*RF3:make_empty*/r813make_empty(C);
/*:RF3*/tmp0/*and then*/=((T6)(/*RF8:>=*/((int32_t)((/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/)))>=(INT32_C(2))/*:RF8*/));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:item*/r7item(((T7*)/*`s'*/a1),INT32_C(2))/*:RF4*/)==(((T3)'\072'))));
}
if(tmp0/*and then*/){
/*SFN*/(C->_drive/*T2pcp*/)=/*RF4:first*/r7first(((T7*)/*`s'*/a1))/*:RF4*/;
/*RF3:clear_count*/r7clear_count((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)));
/*:RF3*//*RF3:append_substring*/r7append_substring((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),/*`s'*/a1,INT32_C(3),(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/));
/*:RF3*/}
else{
/*SFN*/(C->_drive/*T2pcp*/)=((T3)'\000');
/*RF3:copy*/r7copy((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),/*`s'*/a1);
/*:RF3*/}
/*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(0));
}
}
}/*--*/

/*MICROSOFT_PATH_NAME*/T0*r813last(T813*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0* R=(void*)0;
T2 _p=0;
_p=(/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/);
while(1){
tmp0/*or else*/=((T6)((_p)==(INT8_C(0))));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)(/*RF4:is_separator*/r813is_separator(/*RF4:item*/r7item((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),_p)/*:RF4*/)/*:RF4*/));
}
/*until*/if(tmp0/*or else*/) break;
_p=/*RF8:-*/((int32_t)(_p))-(INT32_C(1))/*:RF8*/;
}
R=/*RF4:substring*/r7substring((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),/*RF8:+*/((int32_t)(_p))+(INT32_C(1))/*:RF8*/,(/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF4*/;
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813add_last(T813*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)((((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:is_separator*/r813is_separator(/*RF4:last*/r7last((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))/*:RF4*/)/*:RF4*/)==(0)));
}
if(tmp0/*and then*/){
/*RF3:extend*/r7extend((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),((T3)'\134'));
/*:RF3*/}
/*RF3:append*/r7append((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),/*`elem'*/a1);
/*:RF3*//*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(0));
}/*--*/

/*MICROSOFT_PATH_NAME*/T6 r813is_separator(T3 a1){
T6 R=0;
R=((T6)(/*RF4:or*/r6_ix_or((T6)((/*`ch'*/a1)==(((T3)'\057'))),(T6)((/*`ch'*/a1)==(((T3)'\134'))))/*:RF4*/));
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/T6 r813is_absolute(T813*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T6 R=0;
tmp0/*and then*/=((T6)((((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF4:is_separator*/r813is_separator(/*RF4:first*/r7first((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))/*:RF4*/)/*:RF4*/));
}
R=((T6)(tmp0/*and then*/));
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813go_up(T813*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
T0*_lst=(void*)0;
while(1){
tmp0/*or else*/=((T6)(/*RF8:<=*/((int32_t)((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/)))<=(INT32_C(1))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_separator*/r813is_separator(/*RF4:last*/r7last((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
/*RF3:remove_last*/r7remove_last((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)));
/*:RF3*/}
if((/*RF4:count*/r813count(C)/*:RF4*/)==(INT8_C(0))){
if((/*RF4:is_absolute*/r813is_absolute(C)/*:RF4*/)==(0)){
/*RF3:add_last*/r813add_last(C,ms811_276Abc813A);
/*:RF3*/}
}
else{
_lst=/*RF4:last*/r813last(C)/*:RF4*/;
if(/*RF4:is_equal*/r7is_equal(((T7*)_lst),ms811_46Abc813A)/*:RF4*/){
/*RF3:remove_last*/r813remove_last(C);
/*:RF3*//*RF3:add_last*/r813add_last(C,ms811_276Abc813A);
/*:RF3*/}
else{
if(/*RF4:is_equal*/r7is_equal(((T7*)_lst),ms811_276Abc813A)/*:RF4*/){
/*RF3:add_last*/r813add_last(C,ms811_276Abc813A);
/*:RF3*/}
else{
/*RF3:remove_last*/r813remove_last(C);
/*:RF3*/}
}
}
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813make_current(T813*C){
/*RF3:make_empty*/r813make_empty(C);
/*:RF3*//*RF3:extend*/r7extend((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),((T3)'\056'));
/*:RF3*//*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(0));
}/*--*/

/*MICROSOFT_PATH_NAME*/T2 r813scan_element(T813*C,T2 a1,T0*a2){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
T6 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 R=0;
/*RF3:clear_count*/r7clear_count(((T7*)/*`element'*/a2));
/*:RF3*/R=/*`p'*/a1;
while(1){
tmp0/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
if(tmp0/*or else*/){
}
else{
tmp0/*or else*/=((T6)((/*RF4:is_separator*/r813is_separator(/*RF4:item*/r7item((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),R)/*:RF4*/)/*:RF4*/)==(0)));
}
/*until*/if(tmp0/*or else*/) break;
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
while(1){
tmp1/*or else*/=((T6)(/*RF8:>*/((int32_t)(R))>((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/));
if(tmp1/*or else*/){
}
else{
tmp1/*or else*/=((T6)(/*RF4:is_separator*/r813is_separator(/*RF4:item*/r7item((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),R)/*:RF4*/)/*:RF4*/));
}
/*until*/if(tmp1/*or else*/) break;
/*RF3:add_last*/r7add_last(((T7*)/*`element'*/a2),/*RF4:item*/r7item((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),R)/*:RF4*/);
/*:RF3*/R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813join_to(T813*C,T0*a1){
T2 _p=0;
T0*_element=(void*)0;
_p=/*RF4:start_join_to*/r813start_join_to(C,/*`other'*/a1)/*:RF4*/;
if(/*RF8:<=*/((int32_t)(_p))<=((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/){
_element=ms812_1182938696Abc812A;
_p=/*RF4:scan_element*/r813scan_element(C,_p,_element)/*:RF4*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_p))>((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
/*RF3:join_directory_to*/r813join_directory_to(/*`other'*/a1,_element);
/*:RF3*/_p=/*RF4:scan_element*/r813scan_element(C,_p,_element)/*:RF4*/;
}
if((((/*RF2:count*/(((T7*)_element))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)){
if(/*RF4:is_separator*/r813is_separator(/*RF4:last*/r7last((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))/*:RF4*/)/*:RF4*/){
/*RF3:join_directory_to*/r813join_directory_to(/*`other'*/a1,_element);
/*:RF3*/}
else{
/*RF3:join_element_to*/r813join_element_to(/*`other'*/a1,_element);
/*:RF3*/}
}
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:end_join*/r811end_join(((T811*)/*`other'*/a1));
/*:RF3*/break;
default:;
/*RF3:end_join*/r813end_join(((T813*)/*`other'*/a1));
/*:RF3*/}
/*inspect]*/
}
}/*--*/

/*MICROSOFT_PATH_NAME*/T0*r813to_string(T813*C){
T0* R=(void*)0;
if(((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/))==((void*)((void*)0))){
/*RF3:make_empty*/r813make_empty(C);
/*:RF3*/}
if(((/*RF2:drive*/(C)->_drive/*T2pcp*//*:RF2*/))==(((T3)'\000'))){
R=(/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/);
}
else{
if((/*RF2:valid_cache*/(C)->_valid_cache/*T2pcp*//*:RF2*/)){
R=(/*RF2:to_string_cache*/(C)->_to_string_cache/*T2pcp*//*:RF2*/);
}
else{
R=(/*RF2:to_string_cache*/(C)->_to_string_cache/*T2pcp*//*:RF2*/);
/*RF3:clear_count*/r7clear_count(((T7*)R));
/*:RF3*//*RF3:extend*/r7extend(((T7*)R),(/*RF2:drive*/(C)->_drive/*T2pcp*//*:RF2*/));
/*:RF3*//*RF3:extend*/r7extend(((T7*)R),((T3)'\072'));
/*:RF3*//*RF3:append*/r7append(((T7*)R),(/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/));
/*:RF3*//*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(1));
}
}
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/T0*r813short_name(T813*C){
T0* R=(void*)0;
T2 _i=0;
R=ms29_0Abc812A;
/*RF3:copy*/r7copy(((T7*)R),(/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/));
/*:RF3*/if(/*RF4:or*/r6_ix_or((T6)(/*RF8:>*/((int32_t)((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/)))>(INT32_C(1))/*:RF8*/),(T6)((/*RF4:first*/r7first((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))/*:RF4*/)!=(((T3)'\134'))))/*:RF4*/){
if((/*RF4:last*/r7last(((T7*)R))/*:RF4*/)==(((T3)'\134'))){
/*RF3:remove_last*/r7remove_last(((T7*)R));
/*:RF3*/}
_i=/*RF4:last_index_of*/r7last_index_of(((T7*)R),((T3)'\134'))/*:RF4*/;
if(/*RF8:>=*/((int32_t)(_i))>=(INT32_C(0))/*:RF8*/){
/*RF3:shrink*/r7shrink(((T7*)R),/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/,(/*RF2:count*/(((T7*)R))->_count/*Tniiiiip*//*:RF2*/));
/*:RF3*/}
}
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813join_element_to(T0*a1,T0*a2){
if(/*RF4:is_equal*/r7is_equal(((T7*)/*`element'*/a2),ms811_276Abc813A)/*:RF4*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:go_up*/r811go_up(((T811*)/*`other'*/a1));
/*:RF3*/break;
default:;
/*RF3:go_up*/r813go_up(((T813*)/*`other'*/a1));
/*:RF3*/}
/*inspect]*/
}
else{
if(/*RF4:is_equal*/r7is_equal(((T7*)/*`element'*/a2),ms811_46Abc813A)/*:RF4*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:join_element*/r811join_element(((T811*)/*`other'*/a1),/*`element'*/a2);
/*:RF3*/break;
default:;
/*RF3:join_element*/r813join_element(((T813*)/*`other'*/a1),/*`element'*/a2);
/*:RF3*/}
/*inspect]*/
}
}
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813join_directory_to(T0*a1,T0*a2){
if(/*RF4:is_equal*/r7is_equal(((T7*)/*`element'*/a2),ms811_276Abc813A)/*:RF4*/){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:go_up*/r811go_up(((T811*)/*`other'*/a1));
/*:RF3*/break;
default:;
/*RF3:go_up*/r813go_up(((T813*)/*`other'*/a1));
/*:RF3*/}
/*inspect]*/
}
else{
if(/*RF4:is_equal*/r7is_equal(((T7*)/*`element'*/a2),ms811_46Abc813A)/*:RF4*/){
}
else{
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`other'*/a1))->id)){
case 811:
/*RF3:join_element*/r811join_element(((T811*)/*`other'*/a1),/*`element'*/a2);
/*:RF3*/break;
default:;
/*RF3:join_element*/r813join_element(((T813*)/*`other'*/a1),/*`element'*/a2);
/*:RF3*/}
/*inspect]*/
}
}
}/*--*/

/*MICROSOFT_PATH_NAME*/T2 r813count(T813*C){
T2 R=0;
T2 _p=0;
T6 _sep=0;
_p=INT32_C(1);
_sep=((T6)(1));
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_p))>((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))/*:RF8*/) break;
if(/*RF4:and*/r6_ix_and((T6)((_sep)==(0)),(T6)(/*RF4:is_separator*/r813is_separator(/*RF4:item*/r7item((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),_p)/*:RF4*/)/*:RF4*/))/*:RF4*/){
_sep=((T6)(1));
}
else{
if(/*RF4:and*/r6_ix_and((T6)(_sep),(T6)((/*RF4:is_separator*/r813is_separator(/*RF4:item*/r7item((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),_p)/*:RF4*/)/*:RF4*/)==(0)))/*:RF4*/){
_sep=((T6)(0));
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
}
_p=/*RF8:+*/((int32_t)(_p))+(INT32_C(1))/*:RF8*/;
}
if(/*RF4:and*/r6_ix_and((T6)(_sep),(T6)(/*RF8:>*/((int32_t)(R))>(INT32_C(0))/*:RF8*/))/*:RF4*/){
R=/*RF8:+*/((int32_t)(R))+(INT32_C(1))/*:RF8*/;
}
return R;
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813make_root(T813*C){
/*RF3:make_empty*/r813make_empty(C);
/*:RF3*//*RF3:extend*/r7extend((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),((T3)'\134'));
/*:RF3*//*SFN*/(C->_valid_cache/*T2pcp*/)=((T6)(0));
}/*--*/

/*MICROSOFT_PATH_NAME*/void r813_P_812_join_element(T813*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)(((/*RF4:count*/r813count(C)/*:RF4*/)==(INT8_C(0)))==(0)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)(/*RF4:is_equal*/r7is_equal((T7*)(/*RF4:last*/r813last(C)/*:RF4*/),ms811_46Abc813A)/*:RF4*/));
}
if(tmp0/*and then*/){
/*RF3:remove_last*/r813remove_last(C);
/*:RF3*/}
/*auto-unlock tmp0*/tmp0/*and then*/=((T6)((((/*RF2:count*/((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))->_count/*Tniiiiip*//*:RF2*/))==(INT8_C(0)))==(0)));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:is_separator*/r813is_separator(/*RF4:last*/r7last((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)))/*:RF4*/)/*:RF4*/)==(0)));
}
if(tmp0/*and then*/){
/*RF3:extend*/r7extend((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),((T3)'\134'));
/*:RF3*/}
/*RF3:append*/r7append((T7*)((/*RF2:path*/(C)->_path/*T2pcp*//*:RF2*/)),/*`element'*/a1);
/*:RF3*/}/*--*/

/*MICROSOFT_PATH_NAME*/void r813_P_810_end_join(T813*C){
/*[INTERNAL_C_LOCAL list*/
T6 tmp0;
/*INTERNAL_C_LOCAL list]*/
tmp0/*and then*/=((T6)((/*RF4:count*/r813count(C)/*:RF4*/)==(INT8_C(0))));
if(tmp0/*and then*/){
tmp0/*and then*/=((T6)((/*RF4:is_absolute*/r813is_absolute(C)/*:RF4*/)==(0)));
}
if(tmp0/*and then*/){
/*RF3:make_current*/r813make_current(C);
/*:RF3*/}
}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855put_line(T855*C,T0*a1){
/*RF3:put_string*/r855put_string(C,/*`s'*/a1);
/*:RF3*//*RF3:filtered_put_character*/r855filtered_put_character(C,((T3)'\n'));
/*:RF3*/}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855make(T855*C,T0*a1){
/*SFN*/(C->_process/*Tppip*/)=/*`a_process'*/a1;
/*RF3:create_pipe*/r855create_pipe(C);
/*:RF3*//*SFN*/(C->_is_connected/*Tppip*/)=((T6)(/*RF8:is_not_null*/(NULL!=(/*RF2:pipe*/(C)->_pipe/*Tppip*//*:RF2*/))/*:RF8*/));
if((/*RF2:is_connected*/(C)->_is_connected/*Tppip*//*:RF2*/)){
/*SFN*/(C->_filtered_descriptor/*Tppip*/)=/*RF8:basic_exec_get_out_descriptor*/basic_exec_posix_get_out_descriptor((/*RF2:pipe*/(C)->_pipe/*Tppip*//*:RF2*/))/*:RF8*/;
}
}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855filtered_put_character(T855*C,T3 a1){
/*RF7:basic_exec_put_character*/basic_exec_posix_put_character((/*RF2:filtered_descriptor*/(C)->_filtered_descriptor/*Tppip*//*:RF2*/),/*`c'*/a1);
/*:RF7*/if((/*`c'*/a1)==(((T3)'\n'))){
/*RF3:filtered_flush*/r855filtered_flush(C);
/*:RF3*/}
}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855create_pipe(T855*C){
if((/*RF8:is_not_null*/(NULL!=(/*RF2:pipe*/(C)->_pipe/*Tppip*//*:RF2*/))/*:RF8*/)==(0)){
/*SFN*/(C->_pipe/*Tppip*/)=/*RF8:basic_exec_alloc_pipe*/basic_exec_alloc_pipe()/*:RF8*/;
}
if((/*RF8:basic_exec_init_pipe*/basic_exec_init_pipe((/*RF2:pipe*/(C)->_pipe/*Tppip*//*:RF2*/))/*:RF8*/)==(0)){
/*RF7:basic_exec_free_pipe*/basic_exec_free_pipe((/*RF2:pipe*/(C)->_pipe/*Tppip*//*:RF2*/));
/*:RF7*//*SFN*/(C->_pipe/*Tppip*/)=NULL/*_POINTER*/;
}
}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855put_string(T855*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
/*RF3:print_on*/r7print_on(((T7*)/*`s'*/a1),/*RF4:as_output_stream*/r855as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
case 311:
/*RF3:print_on*/r311print_on(((T311*)/*`s'*/a1),/*RF4:as_output_stream*/r855as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
default:;
/*RF3:print_on*/r321print_on(((T321*)/*`s'*/a1),/*RF4:as_output_stream*/r855as_output_stream(C)/*:RF4*/);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/T0*r855tmp_string(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC72tmp_string==0){fBC72tmp_string=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(512));
/*:RF3*/oBC72tmp_string=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC72tmp_string;
}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855put_integer(T855*C,T11 a1){
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:tmp_string*/r855tmp_string()/*:RF6*/));
/*:RF3*//*RF3:append_in*/r11append_in(/*`i'*/a1,/*RF6:tmp_string*/r855tmp_string()/*:RF6*/);
/*:RF3*//*RF3:put_string*/r855put_string(C,/*RF6:tmp_string*/r855tmp_string()/*:RF6*/);
/*:RF3*/}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855filtered_flush(T855*C){
/*RF7:basic_exec_flush*/basic_exec_posix_flush((/*RF2:filtered_descriptor*/(C)->_filtered_descriptor/*Tppip*//*:RF2*/));
/*:RF7*/}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855put_abstract_string(T855*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T3 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _count=0;
_i=INT32_C(1);
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
_count=tmp0/*count*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(_count)/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp1/*item*/=/*RF4:item*/r7item(((T7*)/*`s'*/a1),_i)/*:RF4*/;
break;
case 311:
tmp1/*item*/=/*RF4:item*/r311item(((T311*)/*`s'*/a1),_i)/*:RF4*/;
break;
default:;
tmp1/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`s'*/a1))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
/*RF3:filtered_put_character*/r855filtered_put_character(C,tmp1/*item*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855dispose(T855*C){
if((/*RF2:is_connected*/(C)->_is_connected/*Tppip*//*:RF2*/)){
/*RF3:disconnect*/r855disconnect(C);
/*:RF3*/}
}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/void r855disconnect(T855*C){
/*SFN*/(C->_is_connected/*Tppip*/)=((T6)(0));
/*RF7:basic_exec_close*/basic_exec_posix_close((/*RF2:filtered_descriptor*/(C)->_filtered_descriptor/*Tppip*//*:RF2*/));
/*:RF7*/}/*--*/

/*EXEC_OUTPUT_STREAM_POSIX*/T0*r855as_output_stream(T855*C){
T0* R=(void*)0;
R=((T0*)(C));
return R;
}/*--*/

/*EXEC_INPUT_STREAM_POSIX*/void r857make(T857*C,T0*a1){
/*SFN*/(C->_can_unread_character/*Tppipppcpc*/)=((T6)(0));
/*SFN*/(C->_end_of_input/*Tppipppcpc*/)=((T6)(0));
/*SFN*/(C->_has_unread_character/*Tppipppcpc*/)=((T6)(0));
/*SFN*/(C->_process/*Tppipppcpc*/)=/*`a_process'*/a1;
/*RF3:create_pipe*/r857create_pipe(C);
/*:RF3*/if(/*RF8:is_not_null*/(NULL!=(/*RF2:pipe*/(C)->_pipe/*Tppipppcpc*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_filtered_descriptor/*Tppipppcpc*/)=/*RF8:basic_exec_get_in_descriptor*/basic_exec_posix_get_in_descriptor((/*RF2:pipe*/(C)->_pipe/*Tppipppcpc*//*:RF2*/))/*:RF8*/;
/*SFN*/(C->_is_connected/*Tppipppcpc*/)=((T6)(1));
}
}/*--*/

/*EXEC_INPUT_STREAM_POSIX*/void r857filtered_read_character(T857*C){
T2 _i=0;
if((/*RF2:has_unread_character*/(C)->_has_unread_character/*Tppipppcpc*//*:RF2*/)){
/*SFN*/(C->_has_unread_character/*Tppipppcpc*/)=((T6)(0));
/*RF3:swap_unread_buffer*/r857swap_unread_buffer(C);
/*:RF3*//*SFN*/(C->_end_of_input/*Tppipppcpc*/)=((T6)(0));
}
else{
/*SFN*/(C->_unread_buffer/*Tppipppcpc*/)=(/*RF2:filtered_last_character*/(C)->_filtered_last_character/*Tppipppcpc*//*:RF2*/);
_i=/*RF8:basic_exec_get_character*/basic_exec_posix_get_character((/*RF2:filtered_descriptor*/(C)->_filtered_descriptor/*Tppipppcpc*//*:RF2*/))/*:RF8*/;
if((_i)==(INT8_C(-1))){
/*SFN*/(C->_end_of_input/*Tppipppcpc*/)=((T6)(1));
}
else{
/*SFN*/(C->_filtered_last_character/*Tppipppcpc*/)=/*RF8:to_character*/((T3)(_i))/*:RF8*/;
/*SFN*/(C->_end_of_input/*Tppipppcpc*/)=((T6)(0));
}
}
/*SFN*/(C->_can_unread_character/*Tppipppcpc*/)=((T6)(((/*RF2:end_of_input*/(C)->_end_of_input/*Tppipppcpc*//*:RF2*/))==(0)));
}/*--*/

/*EXEC_INPUT_STREAM_POSIX*/void r857create_pipe(T857*C){
if((/*RF8:is_not_null*/(NULL!=(/*RF2:pipe*/(C)->_pipe/*Tppipppcpc*//*:RF2*/))/*:RF8*/)==(0)){
/*SFN*/(C->_pipe/*Tppipppcpc*/)=/*RF8:basic_exec_alloc_pipe*/basic_exec_alloc_pipe()/*:RF8*/;
}
if((/*RF8:basic_exec_init_pipe*/basic_exec_init_pipe((/*RF2:pipe*/(C)->_pipe/*Tppipppcpc*//*:RF2*/))/*:RF8*/)==(0)){
/*RF7:basic_exec_free_pipe*/basic_exec_free_pipe((/*RF2:pipe*/(C)->_pipe/*Tppipppcpc*//*:RF2*/));
/*:RF7*//*SFN*/(C->_pipe/*Tppipppcpc*/)=NULL/*_POINTER*/;
}
}/*--*/

/*EXEC_INPUT_STREAM_POSIX*/void r857swap_unread_buffer(T857*C){
T3 _tmp_buffer='\0';
_tmp_buffer=(/*RF2:unread_buffer*/(C)->_unread_buffer/*Tppipppcpc*//*:RF2*/);
/*SFN*/(C->_unread_buffer/*Tppipppcpc*/)=(/*RF2:filtered_last_character*/(C)->_filtered_last_character/*Tppipppcpc*//*:RF2*/);
/*SFN*/(C->_filtered_last_character/*Tppipppcpc*/)=_tmp_buffer;
}/*--*/

/*EXEC_INPUT_STREAM_POSIX*/void r857dispose(T857*C){
if((/*RF2:is_connected*/(C)->_is_connected/*Tppipppcpc*//*:RF2*/)){
/*RF3:disconnect*/r857disconnect(C);
/*:RF3*/}
}/*--*/

/*EXEC_INPUT_STREAM_POSIX*/void r857disconnect(T857*C){
/*SFN*/(C->_is_connected/*Tppipppcpc*/)=((T6)(0));
/*RF7:basic_exec_close*/basic_exec_posix_close((/*RF2:filtered_descriptor*/(C)->_filtered_descriptor/*Tppipppcpc*//*:RF2*/));
/*:RF7*/}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858put_line(T858*C,T0*a1){
/*RF3:put_string*/r858put_string(C,/*`s'*/a1);
/*:RF3*//*RF3:filtered_put_character*/r858filtered_put_character(C,((T3)'\n'));
/*:RF3*/}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858make(T858*C,T0*a1){
/*SFN*/(C->_process/*Tpppp*/)=/*`a_process'*/a1;
/*RF3:create_pipe*/r858create_pipe(C);
/*:RF3*//*SFN*/(C->_is_connected/*Tpppp*/)=((T6)(/*RF8:is_not_null*/(NULL!=(/*RF2:pipe*/(C)->_pipe/*Tpppp*//*:RF2*/))/*:RF8*/));
if((/*RF2:is_connected*/(C)->_is_connected/*Tpppp*//*:RF2*/)){
/*SFN*/(C->_handle/*Tpppp*/)=/*RF8:basic_exec_get_out_handle*/basic_exec_win32_get_out_handle((/*RF2:pipe*/(C)->_pipe/*Tpppp*//*:RF2*/))/*:RF8*/;
}
}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858filtered_put_character(T858*C,T3 a1){
/*RF7:basic_exec_put_character*/basic_exec_win32_put_character((/*RF2:handle*/(C)->_handle/*Tpppp*//*:RF2*/),/*`c'*/a1);
/*:RF7*/if((/*`c'*/a1)==(((T3)'\n'))){
/*RF3:filtered_flush*/r858filtered_flush(C);
/*:RF3*/}
}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858create_pipe(T858*C){
if((/*RF8:is_not_null*/(NULL!=(/*RF2:pipe*/(C)->_pipe/*Tpppp*//*:RF2*/))/*:RF8*/)==(0)){
/*SFN*/(C->_pipe/*Tpppp*/)=/*RF8:basic_exec_alloc_pipe*/basic_exec_alloc_pipe()/*:RF8*/;
}
if((/*RF8:basic_exec_init_pipe*/basic_exec_init_pipe((/*RF2:pipe*/(C)->_pipe/*Tpppp*//*:RF2*/))/*:RF8*/)==(0)){
/*RF7:basic_exec_free_pipe*/basic_exec_free_pipe((/*RF2:pipe*/(C)->_pipe/*Tpppp*//*:RF2*/));
/*:RF7*//*SFN*/(C->_pipe/*Tpppp*/)=NULL/*_POINTER*/;
}
}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858put_string(T858*C,T0*a1){
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
/*RF3:print_on*/r7print_on(((T7*)/*`s'*/a1),/*RF4:as_output_stream*/r858as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
case 311:
/*RF3:print_on*/r311print_on(((T311*)/*`s'*/a1),/*RF4:as_output_stream*/r858as_output_stream(C)/*:RF4*/);
/*:RF3*/break;
default:;
/*RF3:print_on*/r321print_on(((T321*)/*`s'*/a1),/*RF4:as_output_stream*/r858as_output_stream(C)/*:RF4*/);
/*:RF3*/}
/*inspect]*/
}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/T0*r858tmp_string(void){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
if(fBC72tmp_string==0){fBC72tmp_string=1;{
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T7/*Tniiiiip*/))));
*((T7*)tmp0/*new*/)=M7;
/*RF3:make*/r7make(((T7*)tmp0/*new*/),INT32_C(512));
/*:RF3*/oBC72tmp_string=tmp0/*new*/;
/*tmp0.unlock*/
}}
return oBC72tmp_string;
}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858put_integer(T858*C,T11 a1){
/*RF3:clear_count*/r7clear_count((T7*)(/*RF6:tmp_string*/r858tmp_string()/*:RF6*/));
/*:RF3*//*RF3:append_in*/r11append_in(/*`i'*/a1,/*RF6:tmp_string*/r858tmp_string()/*:RF6*/);
/*:RF3*//*RF3:put_string*/r858put_string(C,/*RF6:tmp_string*/r858tmp_string()/*:RF6*/);
/*:RF3*/}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858filtered_flush(T858*C){
/*RF7:basic_exec_flush*/basic_exec_win32_flush((/*RF2:handle*/(C)->_handle/*Tpppp*//*:RF2*/));
/*:RF7*/}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858put_abstract_string(T858*C,T0*a1){
/*[INTERNAL_C_LOCAL list*/
T2 tmp0;
T3 tmp1;
/*INTERNAL_C_LOCAL list]*/
T2 _i=0;
T2 _count=0;
_i=INT32_C(1);
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp0/*count*/=(/*RF2:count*/(((T7*)/*`s'*/a1))->_count/*Tniiiiip*//*:RF2*/);
break;
case 311:
tmp0/*count*/=(/*RF2:count*/(((T311*)/*`s'*/a1))->_count/*T2pniiiipp*//*:RF2*/);
break;
default:;
tmp0/*count*/=/*RF4:count*/r321count(((T321*)/*`s'*/a1))/*:RF4*/;
}
/*inspect]*/
_count=tmp0/*count*/;
while(1){
/*until*/if(/*RF8:>*/((int32_t)(_i))>(_count)/*:RF8*/) break;
/*[inspectDynamicDispatch*/
switch((((T0*)(/*`s'*/a1))->id)){
case 7:
tmp1/*item*/=/*RF4:item*/r7item(((T7*)/*`s'*/a1),_i)/*:RF4*/;
break;
case 311:
tmp1/*item*/=/*RF4:item*/r311item(((T311*)/*`s'*/a1),_i)/*:RF4*/;
break;
default:;
tmp1/*item*/=/*RF4:item*/r7item((T7*)(/*RF4:memory*/r321memory(((T321*)/*`s'*/a1))/*:RF4*/),_i)/*:RF4*/;
}
/*inspect]*/
/*RF3:filtered_put_character*/r858filtered_put_character(C,tmp1/*item*/);
/*:RF3*/_i=/*RF8:+*/((int32_t)(_i))+(INT32_C(1))/*:RF8*/;
}
}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858dispose(T858*C){
if((/*RF2:is_connected*/(C)->_is_connected/*Tpppp*//*:RF2*/)){
/*RF3:disconnect*/r858disconnect(C);
/*:RF3*/}
}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/void r858disconnect(T858*C){
/*SFN*/(C->_is_connected/*Tpppp*/)=((T6)(0));
/*RF7:basic_exec_close*/basic_exec_win32_close((/*RF2:handle*/(C)->_handle/*Tpppp*//*:RF2*/));
/*:RF7*/}/*--*/

/*EXEC_OUTPUT_STREAM_WIN32*/T0*r858as_output_stream(T858*C){
T0* R=(void*)0;
R=((T0*)(C));
return R;
}/*--*/

/*EXEC_INPUT_STREAM_WIN32*/void r859make(T859*C,T0*a1){
/*SFN*/(C->_can_unread_character/*Tppppppcpc*/)=((T6)(0));
/*SFN*/(C->_end_of_input/*Tppppppcpc*/)=((T6)(0));
/*SFN*/(C->_has_unread_character/*Tppppppcpc*/)=((T6)(0));
/*SFN*/(C->_process/*Tppppppcpc*/)=/*`a_process'*/a1;
/*RF3:create_pipe*/r859create_pipe(C);
/*:RF3*/if(/*RF8:is_not_null*/(NULL!=(/*RF2:pipe*/(C)->_pipe/*Tppppppcpc*//*:RF2*/))/*:RF8*/){
/*SFN*/(C->_handle/*Tppppppcpc*/)=/*RF8:basic_exec_get_in_handle*/basic_exec_win32_get_in_handle((/*RF2:pipe*/(C)->_pipe/*Tppppppcpc*//*:RF2*/))/*:RF8*/;
/*SFN*/(C->_is_connected/*Tppppppcpc*/)=((T6)(1));
}
}/*--*/

/*EXEC_INPUT_STREAM_WIN32*/void r859filtered_read_character(T859*C){
T2 _i=0;
if((/*RF2:has_unread_character*/(C)->_has_unread_character/*Tppppppcpc*//*:RF2*/)){
/*SFN*/(C->_has_unread_character/*Tppppppcpc*/)=((T6)(0));
/*RF3:swap_unread_buffer*/r859swap_unread_buffer(C);
/*:RF3*//*SFN*/(C->_end_of_input/*Tppppppcpc*/)=((T6)(0));
}
else{
/*SFN*/(C->_unread_buffer/*Tppppppcpc*/)=(/*RF2:filtered_last_character*/(C)->_filtered_last_character/*Tppppppcpc*//*:RF2*/);
_i=/*RF8:basic_exec_get_character*/basic_exec_win32_get_character((/*RF2:handle*/(C)->_handle/*Tppppppcpc*//*:RF2*/))/*:RF8*/;
if((_i)==(INT8_C(-1))){
/*SFN*/(C->_end_of_input/*Tppppppcpc*/)=((T6)(1));
}
else{
/*SFN*/(C->_filtered_last_character/*Tppppppcpc*/)=/*RF8:to_character*/((T3)(_i))/*:RF8*/;
/*SFN*/(C->_end_of_input/*Tppppppcpc*/)=((T6)(0));
}
}
/*SFN*/(C->_can_unread_character/*Tppppppcpc*/)=((T6)(((/*RF2:end_of_input*/(C)->_end_of_input/*Tppppppcpc*//*:RF2*/))==(0)));
}/*--*/

/*EXEC_INPUT_STREAM_WIN32*/void r859create_pipe(T859*C){
if((/*RF8:is_not_null*/(NULL!=(/*RF2:pipe*/(C)->_pipe/*Tppppppcpc*//*:RF2*/))/*:RF8*/)==(0)){
/*SFN*/(C->_pipe/*Tppppppcpc*/)=/*RF8:basic_exec_alloc_pipe*/basic_exec_alloc_pipe()/*:RF8*/;
}
if((/*RF8:basic_exec_init_pipe*/basic_exec_init_pipe((/*RF2:pipe*/(C)->_pipe/*Tppppppcpc*//*:RF2*/))/*:RF8*/)==(0)){
/*RF7:basic_exec_free_pipe*/basic_exec_free_pipe((/*RF2:pipe*/(C)->_pipe/*Tppppppcpc*//*:RF2*/));
/*:RF7*//*SFN*/(C->_pipe/*Tppppppcpc*/)=NULL/*_POINTER*/;
}
}/*--*/

/*EXEC_INPUT_STREAM_WIN32*/void r859swap_unread_buffer(T859*C){
T3 _tmp_buffer='\0';
_tmp_buffer=(/*RF2:unread_buffer*/(C)->_unread_buffer/*Tppppppcpc*//*:RF2*/);
/*SFN*/(C->_unread_buffer/*Tppppppcpc*/)=(/*RF2:filtered_last_character*/(C)->_filtered_last_character/*Tppppppcpc*//*:RF2*/);
/*SFN*/(C->_filtered_last_character/*Tppppppcpc*/)=_tmp_buffer;
}/*--*/

/*EXEC_INPUT_STREAM_WIN32*/void r859dispose(T859*C){
if((/*RF2:is_connected*/(C)->_is_connected/*Tppppppcpc*//*:RF2*/)){
/*RF3:disconnect*/r859disconnect(C);
/*:RF3*/}
}/*--*/

/*EXEC_INPUT_STREAM_WIN32*/void r859disconnect(T859*C){
/*SFN*/(C->_is_connected/*Tppppppcpc*/)=((T6)(0));
/*RF7:basic_exec_close*/basic_exec_win32_close((/*RF2:handle*/(C)->_handle/*Tppppppcpc*//*:RF2*/));
/*:RF7*/}/*--*/
/*l3c0/cecil.se*/
void oob_info(void* C,T2 a1,T2 a2){
/*se_evobt*/(void*)0,se_print_run_time_stack(),exit(1);
}/*--*/

void agent_launcher(/*agent*/T0*a){
/*PROCEDURE[TUPLE]*/}/*--*/

T0* agent_launcher_R40(/*agent*/T0*a){
T0*R=NULL;
/*FUNCTION[TUPLE,ABSTRACT_STRING]*/R=(T0*)(((se_agenT809f809l126c52*)a)->afp(((/*agent*/void*)a)));
return R;
}/*--*/
/*
-- ------------------------------------------------------------------------------------------------------------
-- Copyright notice below. Please read.
--
-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
--
-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
-- documentation files (the "Software"), to deal in the Software without restriction, including without
-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
-- conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or substantial
-- portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-- OR OTHER DEALINGS IN THE SOFTWARE.
--
-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
-- ------------------------------------------------------------------------------------------------------------
*/
#ifdef SE_GC_LIB
TLS(gc_agent *) store_agent = NULL;
TLS(gc_agent *) gc_free_agent = NULL;
TLS(int       ) store_left_agent = 0;
TLS(int       ) count_agent=0;
TLS(int       ) gc_info_nb_agent = 0;
TLS(fsoc     *) store_chunk_agent = NULL;
TLS(fsoc      ) H_agent =
{
  {
    FSOC_SIZE, FSO_STORE_CHUNK,
    (void (*)(mch *, void *)) gc_align_mark_agent,
    (void (*)(mch *)) gc_sweep_agent
  },
  NULL,
  (((FSOC_SIZE - sizeof (fsoc) + sizeof (double)) / sizeof (gc_agent)) - 1)
};
#endif

se_agent* new_agent(Tid id) {
#ifdef SE_GC_LIB
  int i;
  gc_agent *agent;
  fsoc *c;
  if (store_left_agent > 1)
    {
      store_left_agent--;
      agent = store_agent++;
    }
  else if (gc_free_agent != NULL)
    {
      agent = gc_free_agent;
      gc_free_agent = agent->header.next;
    }
  else if (store_left_agent == 1)
    {
      store_left_agent = 0;
      store_chunk_agent->header.state_type = FSO_USED_CHUNK;
      agent = store_agent++;
    }
  else
    {
      c = gc_fsoc_get1 ();
      if (c == NULL)
        c = gc_fsoc_get2 ();
      store_chunk_agent = c;
      *store_chunk_agent = H_agent;
      store_agent = ((gc_agent *) (&(store_chunk_agent->first_object)));
      store_left_agent = H_agent.count_minus_one;
      agent = store_agent++;
    }
  agent->header.flag = FSOH_UNMARKED;
  for(i=0;i<(sizeof(se_agent)/sizeof(int));i++)
    ((int*) (agent))[i] = 0;

#else /* SE_GC_LIB */
  se_agent* agent = se_calloc(1,sizeof(se_agent));

#endif /* SE_GC_LIB */

  ((se_agent*) agent)->u0.id = id;

#ifdef SE_GC_LIB
  gc_info_nb_agent++;
#endif /* SE_GC_LIB */
  return (se_agent *) agent;
}


#ifdef SE_GC_LIB
void gc_sweep_agent (fsoc * c) {
  gc_agent *a1, *a2, *flt, flh;
  a1 = ((gc_agent *) (&(c->first_object)));
  if (c->header.state_type == FSO_STORE_CHUNK) {
    for (; a1 < store_agent; a1++) {
      if ((a1->header.flag) == FSOH_MARKED) {
        a1->header.flag = FSOH_UNMARKED;
      }
      else if ((a1->header.flag) == FSOH_UNMARKED) {
        a1->header.next = gc_free_agent;
        gc_free_agent = a1;
      }
    }
  }
  else {
    int dead = 1;
    flh.header.next = NULL;
    flt = &flh;
    a2 = a1 + c->count_minus_one;
    for (; a1 <= a2; a2--) {
      if ((a2->header.flag) == FSOH_MARKED) {
        a2->header.flag = FSOH_UNMARKED;
        dead = 0;
      }
      else if ((a2->header.flag) == FSOH_UNMARKED) {
        flt->header.next = a2;
        flt = a2;
      }
    }
    if (dead) {
      gc_agent **prvnxt=&gc_free_agent;
      char *inf=(char*)((gc_agent*)(&(c->first_object)));
      char *sup=(char*)(((gc_agent*)(&(c->first_object)))+c->count_minus_one);
      a1=gc_free_agent;
      while(a1!=NULL) {
        if(inf>(char*)a1 || (char*)a1>sup) {
          *prvnxt=a1;
          prvnxt=&a1->header.next;
        }
        a1=a1->header.next;
      }
      *prvnxt=NULL;
      c->next = fsocfl;
      fsocfl = c;
      c->header.state_type = FSO_FREE_CHUNK;
    }
    else if (flh.header.next != NULL) {
      flt->header.next = gc_free_agent;
      gc_free_agent = flh.header.next;
    }
  }
}

void gc_align_mark_agent (fsoc * c, gc_agent * p) {
  gc_agent *b = ((gc_agent *) (&(c->first_object)));
  if ((c->header.state_type == FSO_STORE_CHUNK)
      && (((char *) p) >= ((char *) store_agent)))
    return;

  if (((char *) p) > ((char *) (b + (c->count_minus_one))))
    return;

  if (((char *) p) < ((char *) b))
    return;
  if (((((char *) p) - ((char *) b)) % sizeof (*p)) == 0)
    {
      se_agent *ta = (&(p->object));
      (*(ta->u0.gc_mark_agent_mold))(ta);
    }
}

#endif /* SE_GC_LIB */
T0*ms31_197002168Abc31A;
T0*ms31_14150Abc321A;
T0*ms32_8054609Abc807A;
T0*ms105_894954671Abc105A;
T0*ms31_424424Abc31A;
T0*ms29_475Abc29A;
T0*ms32_8054609Abc32A;
T0*ms31_1202672333Abc31A;
T0*ms105_1836169859Abc105A;
T0*ms31_1578334651Abc31A;
T0*ms31_39154229Abc31A;
T0*ms113_1964046235Abc113A;
T0*ms31_185934055Abc31A;
T0*ms29_1519797571Abc29A;
T0*ms293_322Abc293A;
T0*ms293_322Abc293B;
T0*ms32_670Abc32A;
T0*ms31_1419919903Abc31A;
T0*ms31_1549697Abc31A;
T0*ms792_1400894751Abc792A;
T0*ms31_88048Abc31A;
T0*ms31_567319812Abc31A;
T0*ms31_80109Abc31A;
T0*ms105_74239Abc105A;
T0*ms556_342Abc556A;
T0*ms32_878084737Abc32A;
T0*ms31_577213499Abc31A;
T0*ms31_16877Abc31A;
T0*ms29_1910891475Abc29A;
T0*ms126_1800535743Abc126A;
T0*ms31_243411981Abc31A;
T0*ms31_45Abc31A;
T0*ms31_54688766Abc31A;
T0*ms106_42698349Abc106A;
T0*ms291_411001267Abc291A;
T0*ms106_618869258Abc106A;
T0*ms31_1937220099Abc31A;
T0*ms31_1549703Abc31A;
T0*ms35_2246326Abc35A;
T0*ms31_421505Abc31A;
T0*ms31_1247Abc31A;
T0*ms31_2187464Abc31A;
T0*ms283_1091711046Abc283A;
T0*ms31_55041151Abc31A;
T0*ms31_9647090Abc31A;
T0*ms31_1206543966Abc31A;
T0*ms29_1139062643Abc29A;
T0*ms31_1300046706Abc31A;
T0*ms31_1395184171Abc31A;
T0*ms31_76691Abc31A;
T0*ms31_827429162Abc31A;
T0*ms32_3085Abc32A;
T0*ms31_94Abc31A;
T0*ms126_1342164121Abc126A;
T0*ms31_548Abc31A;
T0*ms31_1115958189Abc31A;
T0*ms32_69805Abc32A;
T0*ms293_1831619428Abc293A;
T0*ms32_1532343833Abc32A;
T0*ms283_1476966395Abc283A;
T0*ms31_11001014Abc31A;
T0*ms31_591417242Abc31A;
T0*ms112_45398669Abc112A;
T0*ms32_1532344910Abc32A;
T0*ms31_2218105Abc31A;
T0*ms31_1639475718Abc31A;
T0*ms113_186217457Abc113A;
T0*ms31_1554777Abc31A;
T0*ms31_43Abc31A;
T0*ms31_38Abc31A;
T0*ms31_282Abc31A;
T0*ms31_1209184326Abc31A;
T0*ms115_1772235Abc115A;
T0*ms807_1000694404Abc807A;
T0*ms31_3075Abc31A;
T0*ms31_41849945Abc31A;
T0*ms31_2246041Abc31A;
T0*ms113_703496930Abc113A;
T0*ms31_1744612358Abc31A;
T0*ms31_201970776Abc31A;
T0*ms31_859431564Abc31A;
T0*ms113_62728285Abc113A;
T0*ms113_179868158Abc113A;
T0*ms31_705019679Abc31A;
T0*ms31_430881Abc31A;
T0*ms113_8976Abc113A;
T0*ms31_2098363273Abc31A;
T0*ms31_1744399653Abc31A;
T0*ms31_201970799Abc31A;
T0*ms113_1087245292Abc113A;
T0*ms31_1530432238Abc31A;
T0*ms31_51906905Abc31A;
T0*ms31_80694Abc31A;
T0*ms31_267647687Abc31A;
T0*ms31_961210799Abc31A;
T0*ms32_479921113Abc32A;
T0*ms31_728963476Abc31A;
T0*ms31_247239028Abc31A;
T0*ms31_572288437Abc31A;
T0*ms283_1984169029Abc283A;
T0*ms31_64Abc31A;
T0*ms31_16686Abc31A;
T0*ms29_39613656Abc29A;
T0*ms29_7924200Abc29A;
T0*ms113_2009849Abc808A;
T0*ms31_1297876698Abc31A;
T0*ms293_2030552593Abc293A;
T0*ms31_1682815431Abc31A;
T0*ms106_745978733Abc106A;
T0*ms31_1856946950Abc31A;
T0*ms31_1447702Abc31A;
T0*ms31_1418282620Abc31A;
T0*ms105_696478167Abc105A;
T0*ms31_279656751Abc31A;
T0*ms31_534Abc31A;
T0*ms31_170256464Abc31A;
T0*ms31_39002989Abc31A;
T0*ms105_996106634Abc105A;
T0*ms105_1700247488Abc105A;
T0*ms29_0Abc29A;
T0*ms31_275488632Abc31A;
T0*ms29_1333288287Abc29A;
T0*ms31_548214405Abc31A;
T0*ms31_1603529235Abc31A;
T0*ms807_68224Abc807A;
T0*ms31_48856070Abc31A;
T0*ms126_113009974Abc126A;
T0*ms113_422320405Abc113A;
T0*ms31_50778415Abc31A;
T0*ms31_87541Abc31A;
T0*ms31_756809447Abc31A;
T0*ms31_1286698901Abc31A;
T0*ms31_911175911Abc31A;
T0*ms29_1537074433Abc29A;
T0*ms31_14150Abc31A;
T0*ms33_118Abc33A;
T0*ms31_1487451Abc31A;
T0*ms31_1157Abc31A;
T0*ms31_78150Abc31A;
T0*ms31_2035472654Abc31A;
T0*ms31_954385774Abc31A;
T0*ms31_1673348567Abc31A;
T0*ms31_62Abc31A;
T0*ms31_10377643Abc31A;
T0*ms31_1947246Abc31A;
T0*ms31_1947251Abc31A;
T0*ms29_17403870Abc29A;
T0*ms126_1758326604Abc126A;
T0*ms106_356743Abc106A;
T0*ms32_1473988901Abc32A;
T0*ms31_1739790308Abc31A;
T0*ms31_880412606Abc31A;
T0*ms35_2248290Abc35A;
T0*ms31_16616Abc31A;
T0*ms32_69805Abc807A;
T0*ms31_849712179Abc31A;
T0*ms31_1235Abc31A;
T0*ms283_767646015Abc283A;
T0*ms31_2038667775Abc31A;
T0*ms115_13028Abc115A;
T0*ms31_16639Abc31A;
T0*ms31_1753751730Abc31A;
T0*ms31_1770803725Abc31A;
T0*ms32_3595Abc32A;
T0*ms31_52347889Abc31A;
T0*ms32_1730514379Abc32A;
T0*ms31_1498845794Abc31A;
T0*ms31_999658760Abc31A;
T0*ms31_17422Abc31A;
T0*ms113_150382995Abc113A;
T0*ms31_7704337Abc31A;
T0*ms113_2009849Abc113A;
T0*ms31_447600Abc31A;
T0*ms31_60Abc31A;
T0*ms31_573080478Abc31A;
T0*ms115_301485Abc115A;
T0*ms31_240810604Abc31A;
T0*ms31_10938831Abc31A;
T0*ms710_8777401Abc710A;
T0*ms31_94407393Abc31A;
T0*ms31_55040391Abc31A;
T0*ms31_15751Abc31A;
T0*ms29_1257682441Abc29A;
T0*ms31_1553736287Abc31A;
T0*ms31_55041141Abc31A;
T0*ms31_55041091Abc31A;
T0*ms29_841249607Abc29A;
T0*ms31_180965430Abc31A;
T0*ms31_550709268Abc31A;
T0*ms31_451252Abc31A;
T0*ms31_80854Abc31A;
T0*ms126_1430004152Abc126A;
T0*ms106_1784452489Abc106A;
T0*ms31_37186806Abc31A;
T0*ms32_1747646688Abc32A;
T0*ms31_1896328073Abc31A;
T0*ms33_104Abc33A;
T0*ms31_371Abc31A;
T0*ms31_572288454Abc31A;
T0*ms31_447851Abc31A;
T0*ms31_84969Abc31A;
T0*ms812_1182938696Abc812A;
T0*ms31_1319421852Abc31A;
T0*ms105_176469602Abc105A;
T0*ms31_9529116Abc31A;
T0*ms105_595894613Abc105A;
T0*ms29_91413984Abc29A;
T0*ms291_327902Abc291A;
T0*ms291_327902Abc291B;
T0*ms31_572288431Abc31A;
T0*ms31_1501191Abc31A;
T0*ms31_7095298Abc31A;
T0*ms126_354654986Abc126A;
T0*ms31_1597390874Abc31A;
T0*ms556_1826Abc556A;
T0*ms113_631091213Abc113A;
T0*ms113_748280696Abc113A;
T0*ms31_1680926299Abc31A;
T0*ms31_324411Abc31A;
T0*ms31_1671553525Abc31A;
T0*ms811_46Abc811A;
T0*ms811_46Abc813A;
T0*ms31_88795Abc31A;
T0*ms31_2090604340Abc31A;
T0*ms29_1464394200Abc29A;
T0*ms113_1192507148Abc113A;
T0*ms31_15831Abc31A;
T0*ms31_218Abc31A;
T0*ms31_197002174Abc31A;
T0*ms293_878860Abc293A;
T0*ms31_1245671098Abc31A;
T0*ms31_185934049Abc31A;
T0*ms31_619776399Abc31A;
T0*ms31_197002151Abc31A;
T0*ms29_1605656896Abc29A;
T0*ms31_279523519Abc31A;
T0*ms31_269315573Abc31A;
T0*ms29_180Abc29A;
T0*ms29_230Abc29A;
T0*ms29_180Abc29B;
T0*ms31_3421Abc31A;
T0*ms29_180Abc29C;
T0*ms29_180Abc29D;
T0*ms29_180Abc29E;
T0*ms29_180Abc29F;
T0*ms31_124Abc31A;
T0*ms31_1673345408Abc31A;
T0*ms29_736680Abc29A;
T0*ms283_1737556726Abc283A;
T0*ms31_167970159Abc31A;
T0*ms29_859934821Abc29A;
T0*ms31_451899881Abc31A;
T0*ms31_261093457Abc31A;
T0*ms126_1293738877Abc126A;
T0*ms31_669Abc31A;
T0*ms111_416839935Abc111A;
T0*ms31_280482649Abc31A;
T0*ms31_3472Abc31A;
T0*ms31_1326673961Abc31A;
T0*ms126_7392907Abc126A;
T0*ms31_1549680Abc31A;
T0*ms31_1740332382Abc31A;
T0*ms31_552Abc31A;
T0*ms31_36200588Abc31A;
T0*ms31_567319829Abc31A;
T0*ms29_1584951Abc29A;
T0*ms807_65332Abc807A;
T0*ms31_424430Abc31A;
T0*ms31_55040401Abc31A;
T0*ms293_927785894Abc293A;
T0*ms32_945182441Abc32A;
T0*ms293_1750778Abc293A;
T0*ms31_51915068Abc31A;
T0*ms556_242Abc556A;
T0*ms123_138929174Abc123A;
T0*ms31_3545Abc31A;
T0*ms31_9713026Abc31A;
T0*ms29_676Abc29A;
T0*ms30_334Abc30A;
T0*ms31_506823435Abc31A;
T0*ms31_88049Abc31A;
T0*ms31_18110Abc31A;
T0*ms31_1622700141Abc31A;
T0*ms31_567319806Abc31A;
T0*ms293_60894Abc293A;
T0*ms126_2142794376Abc126A;
T0*ms31_9712276Abc31A;
T0*ms105_1581369567Abc105A;
T0*ms29_435095576Abc29A;
T0*ms807_1470715993Abc807A;
T0*ms31_440571Abc31A;
T0*ms31_126Abc31A;
T0*ms31_337331Abc31A;
T0*ms31_10377126Abc31A;
T0*ms31_278061691Abc31A;
T0*ms31_3501Abc31A;
T0*ms293_43325Abc293A;
T0*ms807_789213750Abc807A;
T0*ms113_1649305994Abc113A;
T0*ms32_401994Abc32A;
T0*ms31_447584Abc31A;
T0*ms31_1297145705Abc31A;
T0*ms31_65574Abc31A;
T0*ms31_282Abc811A;
T0*ms291_1265Abc291A;
T0*ms31_1604515261Abc31A;
T0*ms113_1451626378Abc113A;
T0*ms29_676Abc113A;
T0*ms31_3474Abc31A;
T0*ms31_744845610Abc31A;
T0*ms31_2174354Abc31A;
T0*ms31_1176378494Abc31A;
T0*ms113_120239233Abc113A;
T0*ms31_80416Abc31A;
T0*ms31_3669Abc31A;
T0*ms105_1038536453Abc105A;
T0*ms31_1574640467Abc31A;
T0*ms29_1582401Abc29A;
T0*ms31_79341Abc31A;
T0*ms32_16630Abc32A;
T0*ms32_1168210079Abc32A;
T0*ms31_89510Abc31A;
T0*ms31_2104Abc31A;
T0*ms31_747962924Abc31A;
T0*ms31_10945665Abc31A;
T0*ms33_63Abc33A;
T0*ms32_1509818Abc32A;
T0*ms113_2139128753Abc113A;
T0*ms31_42Abc31A;
T0*ms31_1427Abc31A;
T0*ms31_36193081Abc31A;
T0*ms126_1071750288Abc126A;
T0*ms31_1604522960Abc31A;
T0*ms33_941571923Abc33A;
T0*ms31_50246319Abc31A;
T0*ms105_1317175740Abc105A;
T0*ms31_2504Abc31A;
T0*ms29_1155834500Abc29A;
T0*ms31_13194Abc31A;
T0*ms29_197888231Abc29A;
T0*ms32_479922190Abc32A;
T0*ms31_207673214Abc31A;
T0*ms31_276937706Abc31A;
T0*ms31_361Abc31A;
T0*ms31_2067995Abc31A;
T0*ms106_126291003Abc106A;
T0*ms31_48672249Abc31A;
T0*ms126_1072344038Abc126A;
T0*ms31_438300Abc31A;
T0*ms29_1129792417Abc29A;
T0*ms31_1644425991Abc31A;
T0*ms807_711668223Abc807A;
T0*ms32_820292Abc32A;
T0*ms31_55926626Abc31A;
T0*ms31_1979951Abc31A;
T0*ms31_17941Abc31A;
T0*ms31_403163040Abc31A;
T0*ms113_373286592Abc113A;
T0*ms31_869539012Abc31A;
T0*ms31_1192911276Abc31A;
T0*ms31_1947419Abc31A;
T0*ms31_1483884743Abc31A;
T0*ms31_1944903Abc31A;
T0*ms32_56927287Abc32A;
T0*ms31_1594034Abc31A;
T0*ms31_3460Abc31A;
T0*ms29_461965022Abc29A;
T0*ms32_139303084Abc32A;
T0*ms803_324Abc803A;
T0*ms31_7748406Abc31A;
T0*ms31_2067759348Abc31A;
T0*ms31_548331507Abc31A;
T0*ms31_2054549840Abc31A;
T0*ms31_840111968Abc31A;
T0*ms31_241Abc31A;
T0*ms807_1932458562Abc807A;
T0*ms31_698215697Abc31A;
T0*ms31_53339Abc31A;
T0*ms126_27561173Abc126A;
T0*ms29_0Abc812A;
T0*ms126_605800239Abc126A;
T0*ms31_1223768616Abc31A;
T0*ms35_16177Abc35A;
T0*ms31_169371474Abc31A;
T0*ms31_1375414302Abc31A;
T0*ms113_1102814319Abc113A;
T0*ms105_181806522Abc105A;
T0*ms31_185934072Abc31A;
T0*ms126_1090Abc126B;
T0*ms126_1090Abc126A;
T0*ms31_90544Abc31A;
T0*ms31_9676326Abc31A;
T0*ms31_61Abc31A;
T0*ms31_636Abc31A;
T0*ms126_1090Abc113A;
T0*ms29_407786651Abc29A;
T0*ms32_2593373Abc32A;
T0*ms31_180965424Abc31A;
T0*ms29_0Abc556B;
T0*ms29_0Abc556A;
T0*ms29_0Abc548A;
T0*ms440_77Abc440A;
T0*ms31_220Abc31A;
T0*ms31_386854Abc31A;
T0*ms31_761722990Abc31A;
T0*ms126_1018573728Abc126A;
T0*ms115_2178Abc115A;
T0*ms32_56255230Abc32A;
T0*ms29_1319120389Abc29A;
T0*ms31_55040341Abc31A;
T0*ms31_12376Abc31A;
T0*ms31_180965447Abc31A;
T0*ms113_1775Abc113A;
T0*ms105_35386613Abc105A;
T0*ms31_240810599Abc31A;
T0*ms32_945182441Abc807A;
T0*ms105_140920753Abc105A;
T0*ms291_838840612Abc291A;
T0*ms31_42134669Abc31A;
T0*ms31_33120277Abc31A;
T0*ms31_30191860Abc31A;
T0*ms111_24235875Abc111A;
T0*ms29_0Abc291B;
T0*ms32_292787264Abc32A;
T0*ms29_0Abc291A;
T0*ms31_1680885744Abc31A;
T0*ms283_240Abc283A;
T0*ms31_203589551Abc31A;
T0*ms106_1385667261Abc106A;
T0*ms811_276Abc811A;
T0*ms811_276Abc813A;
T0*ms29_0Abc303B;
T0*ms29_0Abc303A;
T0*ms29_144394965Abc29A;
T0*ms283_1799491166Abc283A;
T0*ms31_839855894Abc31A;
T0*ms32_251916328Abc32A;
T0*ms31_112335826Abc31A;
T0*ms803_1121854Abc803A;
T0*ms31_207673231Abc31A;
T0*ms106_1377150320Abc106A;
T0*ms31_15448Abc31A;
T0*ms31_201970793Abc31A;
T0*ms31_217Abc31A;
T0*ms31_2187483Abc31A;
T0*ms31_1735712398Abc31A;
T0*ms31_2126626Abc31A;
T0*ms31_312005144Abc31A;
T0*ms31_1095772782Abc31A;
T0*ms31_1297432701Abc31A;
T0*ms29_0Abc113B;
T0*ms29_0Abc113A;
T0*ms29_0Abc106A;
T0*ms113_165012750Abc113A;
T0*ms31_1607595572Abc31A;
T0*ms31_586229245Abc31A;
T0*ms105_116346440Abc105A;
T0*ms31_77832Abc31A;
T0*ms123_300594Abc123A;
T0*ms31_349117293Abc31A;
T0*ms105_174945438Abc105A;
T0*ms31_175767198Abc31A;
T0*ms31_878996813Abc31A;
T0*ms32_306165094Abc32A;
T0*ms31_1831158645Abc31A;
T0*ms31_259659630Abc31A;
T0*ms31_406284Abc31A;
T0*ms31_47Abc31A;
T0*ms31_49076823Abc31A;
T0*ms32_88336Abc32A;
T0*ms29_252Abc29A;
T0*ms807_602797481Abc807A;
T0*ms31_48958735Abc31A;
T0*ms31_84881Abc31A;
T0*ms106_1656731300Abc106A;
T0*ms31_253393261Abc31A;
T0*ms283_240Abc807A;
T0*ms106_1130154866Abc106A;
T0*ms29_652239368Abc29A;
T0*ms31_55924644Abc31A;
T0*ms31_1223936132Abc31A;
T0*ms291_1133285999Abc291A;
T0*ms31_296Abc31A;
T0*ms113_440518794Abc113A;
T0*ms32_17221Abc32A;
T0*ms31_1339128Abc31A;
T0*ms31_591414963Abc31A;

T0*se_string(int c,char*e){
/* Allocate an Eiffel STRING given its size and native storage */
T7*s=((T7*)se_malloc(sizeof(T7)));
*s=M7;
r7from_external_sized_copy(s,e,c);
return((T0*)s);
}/*--*/

void se_msi1(void){
ms31_197002168Abc31A=se_string(19,s31_197002168A);
ms31_14150Abc321A=se_string(4,s31_14150A);
ms32_8054609Abc807A=se_string(8,s32_8054609A);
ms105_894954671Abc105A=se_string(61,s105_894954671A);
ms31_424424Abc31A=se_string(6,s31_424424A);
ms29_475Abc29A=se_string(2,s29_475A);
ms32_8054609Abc32A=se_string(8,s32_8054609A);
ms31_1202672333Abc31A=se_string(13,s31_1202672333A);
ms105_1836169859Abc105A=se_string(44,s105_1836169859A);
ms31_1578334651Abc31A=se_string(14,s31_1578334651A);
ms31_39154229Abc31A=se_string(9,s31_39154229A);
ms113_1964046235Abc113A=se_string(33,s113_1964046235A);
ms31_185934055Abc31A=se_string(10,s31_185934055A);
ms29_1519797571Abc29A=se_string(13,s29_1519797571A);
ms293_322Abc293A=se_string(2,s293_322A);
ms293_322Abc293B=se_string(2,s293_322A);
ms32_670Abc32A=se_string(2,s32_670A);
ms31_1419919903Abc31A=se_string(22,s31_1419919903A);
ms31_1549697Abc31A=se_string(7,s31_1549697A);
ms792_1400894751Abc792A=se_string(57,s792_1400894751A);
ms31_88048Abc31A=se_string(5,s31_88048A);
ms31_567319812Abc31A=se_string(13,s31_567319812A);
ms31_80109Abc31A=se_string(5,s31_80109A);
ms105_74239Abc105A=se_string(5,s105_74239A);
ms556_342Abc556A=se_string(2,s556_342A);
ms32_878084737Abc32A=se_string(13,s32_878084737A);
ms31_577213499Abc31A=se_string(15,s31_577213499A);
ms31_16877Abc31A=se_string(4,s31_16877A);
ms29_1910891475Abc29A=se_string(27,s29_1910891475A);
ms126_1800535743Abc126A=se_string(13,s126_1800535743A);
ms31_243411981Abc31A=se_string(10,s31_243411981A);
ms31_45Abc31A=se_string(1,s31_45A);
ms31_54688766Abc31A=se_string(9,s31_54688766A);
ms106_42698349Abc106A=se_string(9,s106_42698349A);
ms291_411001267Abc291A=se_string(58,s291_411001267A);
ms106_618869258Abc106A=se_string(12,s106_618869258A);
ms31_1937220099Abc31A=se_string(13,s31_1937220099A);
ms31_1549703Abc31A=se_string(7,s31_1549703A);
ms35_2246326Abc35A=se_string(7,s35_2246326A);
ms31_421505Abc31A=se_string(6,s31_421505A);
ms31_1247Abc31A=se_string(3,s31_1247A);
ms31_2187464Abc31A=se_string(7,s31_2187464A);
ms283_1091711046Abc283A=se_string(47,s283_1091711046A);
ms31_55041151Abc31A=se_string(9,s31_55041151A);
ms31_9647090Abc31A=se_string(8,s31_9647090A);
ms31_1206543966Abc31A=se_string(16,s31_1206543966A);
ms29_1139062643Abc29A=se_string(29,s29_1139062643A);
ms31_1300046706Abc31A=se_string(11,s31_1300046706A);
ms31_1395184171Abc31A=se_string(17,s31_1395184171A);
ms31_76691Abc31A=se_string(5,s31_76691A);
se_msi2();}/*--*/

void se_msi2(void){
ms31_827429162Abc31A=se_string(19,s31_827429162A);
ms32_3085Abc32A=se_string(3,s32_3085A);
ms31_94Abc31A=se_string(1,s31_94A);
ms126_1342164121Abc126A=se_string(99,s126_1342164121A);
ms31_548Abc31A=se_string(2,s31_548A);
ms31_1115958189Abc31A=se_string(21,s31_1115958189A);
ms32_69805Abc32A=se_string(5,s32_69805A);
ms293_1831619428Abc293A=se_string(17,s293_1831619428A);
ms32_1532343833Abc32A=se_string(17,s32_1532343833A);
ms283_1476966395Abc283A=se_string(43,s283_1476966395A);
ms31_11001014Abc31A=se_string(8,s31_11001014A);
ms31_591417242Abc31A=se_string(13,s31_591417242A);
ms112_45398669Abc112A=se_string(34,s112_45398669A);
ms32_1532344910Abc32A=se_string(17,s32_1532344910A);
ms31_2218105Abc31A=se_string(7,s31_2218105A);
ms31_1639475718Abc31A=se_string(14,s31_1639475718A);
ms113_186217457Abc113A=se_string(26,s113_186217457A);
ms31_1554777Abc31A=se_string(7,s31_1554777A);
ms31_43Abc31A=se_string(1,s31_43A);
ms31_38Abc31A=se_string(1,s31_38A);
ms31_282Abc31A=se_string(2,s31_282A);
ms31_1209184326Abc31A=se_string(16,s31_1209184326A);
ms115_1772235Abc115A=se_string(7,s115_1772235A);
ms807_1000694404Abc807A=se_string(23,s807_1000694404A);
ms31_3075Abc31A=se_string(3,s31_3075A);
ms31_41849945Abc31A=se_string(9,s31_41849945A);
ms31_2246041Abc31A=se_string(7,s31_2246041A);
ms113_703496930Abc113A=se_string(31,s113_703496930A);
ms31_1744612358Abc31A=se_string(22,s31_1744612358A);
ms31_201970776Abc31A=se_string(19,s31_201970776A);
ms31_859431564Abc31A=se_string(24,s31_859431564A);
ms113_62728285Abc113A=se_string(69,s113_62728285A);
ms113_179868158Abc113A=se_string(29,s113_179868158A);
ms31_705019679Abc31A=se_string(13,s31_705019679A);
ms31_430881Abc31A=se_string(6,s31_430881A);
ms113_8976Abc113A=se_string(4,s113_8976A);
ms31_2098363273Abc31A=se_string(12,s31_2098363273A);
ms31_1744399653Abc31A=se_string(30,s31_1744399653A);
ms31_201970799Abc31A=se_string(19,s31_201970799A);
ms113_1087245292Abc113A=se_string(25,s113_1087245292A);
ms31_1530432238Abc31A=se_string(35,s31_1530432238A);
ms31_51906905Abc31A=se_string(9,s31_51906905A);
ms31_80694Abc31A=se_string(5,s31_80694A);
ms31_267647687Abc31A=se_string(17,s31_267647687A);
ms31_961210799Abc31A=se_string(15,s31_961210799A);
ms32_479921113Abc32A=se_string(15,s32_479921113A);
ms31_728963476Abc31A=se_string(25,s31_728963476A);
ms31_247239028Abc31A=se_string(10,s31_247239028A);
ms31_572288437Abc31A=se_string(13,s31_572288437A);
ms283_1984169029Abc283A=se_string(23,s283_1984169029A);
se_msi3();}/*--*/

void se_msi3(void){
ms31_64Abc31A=se_string(1,s31_64A);
ms31_16686Abc31A=se_string(4,s31_16686A);
ms29_39613656Abc29A=se_string(9,s29_39613656A);
ms29_7924200Abc29A=se_string(8,s29_7924200A);
ms113_2009849Abc808A=se_string(7,s113_2009849A);
ms31_1297876698Abc31A=se_string(11,s31_1297876698A);
ms293_2030552593Abc293A=se_string(62,s293_2030552593A);
ms31_1682815431Abc31A=se_string(13,s31_1682815431A);
ms106_745978733Abc106A=se_string(27,s106_745978733A);
ms31_1856946950Abc31A=se_string(22,s31_1856946950A);
ms31_1447702Abc31A=se_string(7,s31_1447702A);
ms31_1418282620Abc31A=se_string(15,s31_1418282620A);
ms105_696478167Abc105A=se_string(24,s105_696478167A);
ms31_279656751Abc31A=se_string(10,s31_279656751A);
ms31_534Abc31A=se_string(2,s31_534A);
ms31_170256464Abc31A=se_string(10,s31_170256464A);
ms31_39002989Abc31A=se_string(9,s31_39002989A);
ms105_996106634Abc105A=se_string(109,s105_996106634A);
ms105_1700247488Abc105A=se_string(47,s105_1700247488A);
ms29_0Abc29A=se_string(0,s29_0A);
ms31_275488632Abc31A=se_string(14,s31_275488632A);
ms29_1333288287Abc29A=se_string(21,s29_1333288287A);
ms31_548214405Abc31A=se_string(12,s31_548214405A);
ms31_1603529235Abc31A=se_string(12,s31_1603529235A);
ms807_68224Abc807A=se_string(5,s807_68224A);
ms31_48856070Abc31A=se_string(9,s31_48856070A);
ms126_113009974Abc126A=se_string(10,s126_113009974A);
ms113_422320405Abc113A=se_string(78,s113_422320405A);
ms31_50778415Abc31A=se_string(9,s31_50778415A);
ms31_87541Abc31A=se_string(5,s31_87541A);
ms31_756809447Abc31A=se_string(12,s31_756809447A);
ms31_1286698901Abc31A=se_string(14,s31_1286698901A);
ms31_911175911Abc31A=se_string(30,s31_911175911A);
ms29_1537074433Abc29A=se_string(26,s29_1537074433A);
ms31_14150Abc31A=se_string(4,s31_14150A);
ms33_118Abc33A=se_string(1,s33_118A);
ms31_1487451Abc31A=se_string(7,s31_1487451A);
ms31_1157Abc31A=se_string(3,s31_1157A);
ms31_78150Abc31A=se_string(5,s31_78150A);
ms31_2035472654Abc31A=se_string(20,s31_2035472654A);
ms31_954385774Abc31A=se_string(12,s31_954385774A);
ms31_1673348567Abc31A=se_string(19,s31_1673348567A);
ms31_62Abc31A=se_string(1,s31_62A);
ms31_10377643Abc31A=se_string(8,s31_10377643A);
ms31_1947246Abc31A=se_string(7,s31_1947246A);
ms31_1947251Abc31A=se_string(7,s31_1947251A);
ms29_17403870Abc29A=se_string(9,s29_17403870A);
ms126_1758326604Abc126A=se_string(20,s126_1758326604A);
ms106_356743Abc106A=se_string(37,s106_356743A);
ms32_1473988901Abc32A=se_string(16,s32_1473988901A);
se_msi4();}/*--*/

void se_msi4(void){
ms31_1739790308Abc31A=se_string(14,s31_1739790308A);
ms31_880412606Abc31A=se_string(15,s31_880412606A);
ms35_2248290Abc35A=se_string(7,s35_2248290A);
ms31_16616Abc31A=se_string(4,s31_16616A);
ms32_69805Abc807A=se_string(5,s32_69805A);
ms31_849712179Abc31A=se_string(20,s31_849712179A);
ms31_1235Abc31A=se_string(3,s31_1235A);
ms283_767646015Abc283A=se_string(38,s283_767646015A);
ms31_2038667775Abc31A=se_string(12,s31_2038667775A);
ms115_13028Abc115A=se_string(4,s115_13028A);
ms31_16639Abc31A=se_string(4,s31_16639A);
ms31_1753751730Abc31A=se_string(16,s31_1753751730A);
ms31_1770803725Abc31A=se_string(24,s31_1770803725A);
ms32_3595Abc32A=se_string(3,s32_3595A);
ms31_52347889Abc31A=se_string(9,s31_52347889A);
ms32_1730514379Abc32A=se_string(20,s32_1730514379A);
ms31_1498845794Abc31A=se_string(23,s31_1498845794A);
ms31_999658760Abc31A=se_string(11,s31_999658760A);
ms31_17422Abc31A=se_string(4,s31_17422A);
ms113_150382995Abc113A=se_string(31,s113_150382995A);
ms31_7704337Abc31A=se_string(8,s31_7704337A);
ms113_2009849Abc113A=se_string(7,s113_2009849A);
ms31_447600Abc31A=se_string(6,s31_447600A);
ms31_60Abc31A=se_string(1,s31_60A);
ms31_573080478Abc31A=se_string(15,s31_573080478A);
ms115_301485Abc115A=se_string(6,s115_301485A);
ms31_240810604Abc31A=se_string(10,s31_240810604A);
ms31_10938831Abc31A=se_string(8,s31_10938831A);
ms710_8777401Abc710A=se_string(8,s710_8777401A);
ms31_94407393Abc31A=se_string(14,s31_94407393A);
ms31_55040391Abc31A=se_string(9,s31_55040391A);
ms31_15751Abc31A=se_string(4,s31_15751A);
ms29_1257682441Abc29A=se_string(11,s29_1257682441A);
ms31_1553736287Abc31A=se_string(13,s31_1553736287A);
ms31_55041141Abc31A=se_string(9,s31_55041141A);
ms31_55041091Abc31A=se_string(9,s31_55041091A);
ms29_841249607Abc29A=se_string(32,s29_841249607A);
ms31_180965430Abc31A=se_string(10,s31_180965430A);
ms31_550709268Abc31A=se_string(22,s31_550709268A);
ms31_451252Abc31A=se_string(6,s31_451252A);
ms31_80854Abc31A=se_string(5,s31_80854A);
ms126_1430004152Abc126A=se_string(15,s126_1430004152A);
ms106_1784452489Abc106A=se_string(19,s106_1784452489A);
ms31_37186806Abc31A=se_string(9,s31_37186806A);
ms32_1747646688Abc32A=se_string(12,s32_1747646688A);
ms31_1896328073Abc31A=se_string(17,s31_1896328073A);
ms33_104Abc33A=se_string(1,s33_104A);
ms31_371Abc31A=se_string(2,s31_371A);
ms31_572288454Abc31A=se_string(13,s31_572288454A);
ms31_447851Abc31A=se_string(6,s31_447851A);
se_msi5();}/*--*/

void se_msi5(void){
ms31_84969Abc31A=se_string(5,s31_84969A);
ms812_1182938696Abc812A=se_string(11,s812_1182938696A);
ms31_1319421852Abc31A=se_string(11,s31_1319421852A);
ms105_176469602Abc105A=se_string(62,s105_176469602A);
ms31_9529116Abc31A=se_string(8,s31_9529116A);
ms105_595894613Abc105A=se_string(43,s105_595894613A);
ms29_91413984Abc29A=se_string(10,s29_91413984A);
ms291_327902Abc291A=se_string(6,s291_327902A);
ms291_327902Abc291B=se_string(6,s291_327902A);
ms31_572288431Abc31A=se_string(13,s31_572288431A);
ms31_1501191Abc31A=se_string(7,s31_1501191A);
ms31_7095298Abc31A=se_string(8,s31_7095298A);
ms126_354654986Abc126A=se_string(23,s126_354654986A);
ms31_1597390874Abc31A=se_string(14,s31_1597390874A);
ms556_1826Abc556A=se_string(3,s556_1826A);
ms113_631091213Abc113A=se_string(34,s113_631091213A);
ms113_748280696Abc113A=se_string(114,s113_748280696A);
ms31_1680926299Abc31A=se_string(14,s31_1680926299A);
ms31_324411Abc31A=se_string(6,s31_324411A);
ms31_1671553525Abc31A=se_string(14,s31_1671553525A);
ms811_46Abc811A=se_string(1,s811_46A);
ms811_46Abc813A=se_string(1,s811_46A);
ms31_88795Abc31A=se_string(5,s31_88795A);
ms31_2090604340Abc31A=se_string(12,s31_2090604340A);
ms29_1464394200Abc29A=se_string(30,s29_1464394200A);
ms113_1192507148Abc113A=se_string(12,s113_1192507148A);
ms31_15831Abc31A=se_string(4,s31_15831A);
ms31_218Abc31A=se_string(2,s31_218A);
ms31_197002174Abc31A=se_string(19,s31_197002174A);
ms293_878860Abc293A=se_string(7,s293_878860A);
ms31_1245671098Abc31A=se_string(20,s31_1245671098A);
ms31_185934049Abc31A=se_string(10,s31_185934049A);
ms31_619776399Abc31A=se_string(12,s31_619776399A);
ms31_197002151Abc31A=se_string(19,s31_197002151A);
ms29_1605656896Abc29A=se_string(23,s29_1605656896A);
ms31_279523519Abc31A=se_string(10,s31_279523519A);
ms31_269315573Abc31A=se_string(10,s31_269315573A);
ms29_180Abc29A=se_string(2,s29_180A);
ms29_230Abc29A=se_string(2,s29_230A);
ms29_180Abc29B=se_string(2,s29_180A);
ms31_3421Abc31A=se_string(3,s31_3421A);
ms29_180Abc29C=se_string(2,s29_180A);
ms29_180Abc29D=se_string(2,s29_180A);
ms29_180Abc29E=se_string(2,s29_180A);
ms29_180Abc29F=se_string(2,s29_180A);
ms31_124Abc31A=se_string(1,s31_124A);
ms31_1673345408Abc31A=se_string(19,s31_1673345408A);
ms29_736680Abc29A=se_string(7,s29_736680A);
ms283_1737556726Abc283A=se_string(35,s283_1737556726A);
ms31_167970159Abc31A=se_string(14,s31_167970159A);
se_msi6();}/*--*/

void se_msi6(void){
ms29_859934821Abc29A=se_string(23,s29_859934821A);
ms31_451899881Abc31A=se_string(19,s31_451899881A);
ms31_261093457Abc31A=se_string(10,s31_261093457A);
ms126_1293738877Abc126A=se_string(13,s126_1293738877A);
ms31_669Abc31A=se_string(2,s31_669A);
ms111_416839935Abc111A=se_string(57,s111_416839935A);
ms31_280482649Abc31A=se_string(12,s31_280482649A);
ms31_3472Abc31A=se_string(3,s31_3472A);
ms31_1326673961Abc31A=se_string(11,s31_1326673961A);
ms126_7392907Abc126A=se_string(8,s126_7392907A);
ms31_1549680Abc31A=se_string(7,s31_1549680A);
ms31_1740332382Abc31A=se_string(14,s31_1740332382A);
ms31_552Abc31A=se_string(2,s31_552A);
ms31_36200588Abc31A=se_string(9,s31_36200588A);
ms31_567319829Abc31A=se_string(13,s31_567319829A);
ms29_1584951Abc29A=se_string(7,s29_1584951A);
ms807_65332Abc807A=se_string(5,s807_65332A);
ms31_424430Abc31A=se_string(6,s31_424430A);
ms31_55040401Abc31A=se_string(9,s31_55040401A);
ms293_927785894Abc293A=se_string(11,s293_927785894A);
ms32_945182441Abc32A=se_string(11,s32_945182441A);
ms293_1750778Abc293A=se_string(7,s293_1750778A);
ms31_51915068Abc31A=se_string(9,s31_51915068A);
ms556_242Abc556A=se_string(2,s556_242A);
ms123_138929174Abc123A=se_string(20,s123_138929174A);
ms31_3545Abc31A=se_string(3,s31_3545A);
ms31_9713026Abc31A=se_string(8,s31_9713026A);
ms29_676Abc29A=se_string(2,s29_676A);
ms30_334Abc30A=se_string(2,s30_334A);
ms31_506823435Abc31A=se_string(17,s31_506823435A);
ms31_88049Abc31A=se_string(5,s31_88049A);
ms31_18110Abc31A=se_string(4,s31_18110A);
ms31_1622700141Abc31A=se_string(14,s31_1622700141A);
ms31_567319806Abc31A=se_string(13,s31_567319806A);
ms293_60894Abc293A=se_string(5,s293_60894A);
ms126_2142794376Abc126A=se_string(15,s126_2142794376A);
ms31_9712276Abc31A=se_string(8,s31_9712276A);
ms105_1581369567Abc105A=se_string(36,s105_1581369567A);
ms29_435095576Abc29A=se_string(11,s29_435095576A);
ms807_1470715993Abc807A=se_string(40,s807_1470715993A);
ms31_440571Abc31A=se_string(6,s31_440571A);
ms31_126Abc31A=se_string(1,s31_126A);
ms31_337331Abc31A=se_string(6,s31_337331A);
ms31_10377126Abc31A=se_string(8,s31_10377126A);
ms31_278061691Abc31A=se_string(10,s31_278061691A);
ms31_3501Abc31A=se_string(3,s31_3501A);
ms293_43325Abc293A=se_string(5,s293_43325A);
ms807_789213750Abc807A=se_string(29,s807_789213750A);
ms113_1649305994Abc113A=se_string(288,s113_1649305994A);
ms32_401994Abc32A=se_string(6,s32_401994A);
se_msi7();}/*--*/

void se_msi7(void){
ms31_447584Abc31A=se_string(6,s31_447584A);
ms31_1297145705Abc31A=se_string(11,s31_1297145705A);
ms31_65574Abc31A=se_string(5,s31_65574A);
ms31_282Abc811A=se_string(2,s31_282A);
ms291_1265Abc291A=se_string(3,s291_1265A);
ms31_1604515261Abc31A=se_string(12,s31_1604515261A);
ms113_1451626378Abc113A=se_string(42,s113_1451626378A);
ms29_676Abc113A=se_string(2,s29_676A);
ms31_3474Abc31A=se_string(3,s31_3474A);
ms31_744845610Abc31A=se_string(48,s31_744845610A);
ms31_2174354Abc31A=se_string(7,s31_2174354A);
ms31_1176378494Abc31A=se_string(28,s31_1176378494A);
ms113_120239233Abc113A=se_string(10,s113_120239233A);
ms31_80416Abc31A=se_string(5,s31_80416A);
ms31_3669Abc31A=se_string(3,s31_3669A);
ms105_1038536453Abc105A=se_string(67,s105_1038536453A);
ms31_1574640467Abc31A=se_string(12,s31_1574640467A);
ms29_1582401Abc29A=se_string(7,s29_1582401A);
ms31_79341Abc31A=se_string(5,s31_79341A);
ms32_16630Abc32A=se_string(4,s32_16630A);
ms32_1168210079Abc32A=se_string(15,s32_1168210079A);
ms31_89510Abc31A=se_string(5,s31_89510A);
ms31_2104Abc31A=se_string(3,s31_2104A);
ms31_747962924Abc31A=se_string(21,s31_747962924A);
ms31_10945665Abc31A=se_string(8,s31_10945665A);
ms33_63Abc33A=se_string(1,s33_63A);
ms32_1509818Abc32A=se_string(7,s32_1509818A);
ms113_2139128753Abc113A=se_string(26,s113_2139128753A);
ms31_42Abc31A=se_string(1,s31_42A);
ms31_1427Abc31A=se_string(3,s31_1427A);
ms31_36193081Abc31A=se_string(9,s31_36193081A);
ms126_1071750288Abc126A=se_string(11,s126_1071750288A);
ms31_1604522960Abc31A=se_string(12,s31_1604522960A);
ms33_941571923Abc33A=se_string(23,s33_941571923A);
ms31_50246319Abc31A=se_string(9,s31_50246319A);
ms105_1317175740Abc105A=se_string(57,s105_1317175740A);
ms31_2504Abc31A=se_string(3,s31_2504A);
ms29_1155834500Abc29A=se_string(28,s29_1155834500A);
ms31_13194Abc31A=se_string(4,s31_13194A);
ms29_197888231Abc29A=se_string(10,s29_197888231A);
ms32_479922190Abc32A=se_string(15,s32_479922190A);
ms31_207673214Abc31A=se_string(16,s31_207673214A);
ms31_276937706Abc31A=se_string(10,s31_276937706A);
ms31_361Abc31A=se_string(2,s31_361A);
ms31_2067995Abc31A=se_string(7,s31_2067995A);
ms106_126291003Abc106A=se_string(37,s106_126291003A);
ms31_48672249Abc31A=se_string(9,s31_48672249A);
ms126_1072344038Abc126A=se_string(11,s126_1072344038A);
ms31_438300Abc31A=se_string(6,s31_438300A);
ms29_1129792417Abc29A=se_string(31,s29_1129792417A);
se_msi8();}/*--*/

void se_msi8(void){
ms31_1644425991Abc31A=se_string(24,s31_1644425991A);
ms807_711668223Abc807A=se_string(22,s807_711668223A);
ms32_820292Abc32A=se_string(7,s32_820292A);
ms31_55926626Abc31A=se_string(9,s31_55926626A);
ms31_1979951Abc31A=se_string(7,s31_1979951A);
ms31_17941Abc31A=se_string(4,s31_17941A);
ms31_403163040Abc31A=se_string(14,s31_403163040A);
ms113_373286592Abc113A=se_string(35,s113_373286592A);
ms31_869539012Abc31A=se_string(15,s31_869539012A);
ms31_1192911276Abc31A=se_string(13,s31_1192911276A);
ms31_1947419Abc31A=se_string(7,s31_1947419A);
ms31_1483884743Abc31A=se_string(43,s31_1483884743A);
ms31_1944903Abc31A=se_string(7,s31_1944903A);
ms32_56927287Abc32A=se_string(13,s32_56927287A);
ms31_1594034Abc31A=se_string(7,s31_1594034A);
ms31_3460Abc31A=se_string(3,s31_3460A);
ms29_461965022Abc29A=se_string(24,s29_461965022A);
ms32_139303084Abc32A=se_string(18,s32_139303084A);
ms803_324Abc803A=se_string(2,s803_324A);
ms31_7748406Abc31A=se_string(8,s31_7748406A);
ms31_2067759348Abc31A=se_string(12,s31_2067759348A);
ms31_548331507Abc31A=se_string(22,s31_548331507A);
ms31_2054549840Abc31A=se_string(12,s31_2054549840A);
ms31_840111968Abc31A=se_string(13,s31_840111968A);
ms31_241Abc31A=se_string(2,s31_241A);
ms807_1932458562Abc807A=se_string(42,s807_1932458562A);
ms31_698215697Abc31A=se_string(12,s31_698215697A);
ms31_53339Abc31A=se_string(5,s31_53339A);
ms126_27561173Abc126A=se_string(21,s126_27561173A);
ms29_0Abc812A=se_string(0,s29_0A);
ms126_605800239Abc126A=se_string(15,s126_605800239A);
ms31_1223768616Abc31A=se_string(15,s31_1223768616A);
ms35_16177Abc35A=se_string(4,s35_16177A);
ms31_169371474Abc31A=se_string(10,s31_169371474A);
ms31_1375414302Abc31A=se_string(20,s31_1375414302A);
ms113_1102814319Abc113A=se_string(11,s113_1102814319A);
ms105_181806522Abc105A=se_string(39,s105_181806522A);
ms31_185934072Abc31A=se_string(10,s31_185934072A);
ms126_1090Abc126B=se_string(3,s126_1090A);
ms126_1090Abc126A=se_string(3,s126_1090A);
ms31_90544Abc31A=se_string(5,s31_90544A);
ms31_9676326Abc31A=se_string(8,s31_9676326A);
ms31_61Abc31A=se_string(1,s31_61A);
ms31_636Abc31A=se_string(2,s31_636A);
ms126_1090Abc113A=se_string(3,s126_1090A);
ms29_407786651Abc29A=se_string(26,s29_407786651A);
ms32_2593373Abc32A=se_string(18,s32_2593373A);
ms31_180965424Abc31A=se_string(10,s31_180965424A);
ms29_0Abc556B=se_string(0,s29_0A);
ms29_0Abc556A=se_string(0,s29_0A);
se_msi9();}/*--*/

void se_msi9(void){
ms29_0Abc548A=se_string(0,s29_0A);
ms440_77Abc440A=se_string(2,s440_77A);
ms31_220Abc31A=se_string(2,s31_220A);
ms31_386854Abc31A=se_string(6,s31_386854A);
ms31_761722990Abc31A=se_string(18,s31_761722990A);
ms126_1018573728Abc126A=se_string(11,s126_1018573728A);
ms115_2178Abc115A=se_string(3,s115_2178A);
ms32_56255230Abc32A=se_string(9,s32_56255230A);
ms29_1319120389Abc29A=se_string(25,s29_1319120389A);
ms31_55040341Abc31A=se_string(9,s31_55040341A);
ms31_12376Abc31A=se_string(4,s31_12376A);
ms31_180965447Abc31A=se_string(10,s31_180965447A);
ms113_1775Abc113A=se_string(3,s113_1775A);
ms105_35386613Abc105A=se_string(47,s105_35386613A);
ms31_240810599Abc31A=se_string(10,s31_240810599A);
ms32_945182441Abc807A=se_string(11,s32_945182441A);
ms105_140920753Abc105A=se_string(85,s105_140920753A);
ms291_838840612Abc291A=se_string(32,s291_838840612A);
ms31_42134669Abc31A=se_string(9,s31_42134669A);
ms31_33120277Abc31A=se_string(9,s31_33120277A);
ms31_30191860Abc31A=se_string(26,s31_30191860A);
ms111_24235875Abc111A=se_string(9,s111_24235875A);
ms29_0Abc291B=se_string(0,s29_0A);
ms32_292787264Abc32A=se_string(12,s32_292787264A);
ms29_0Abc291A=se_string(0,s29_0A);
ms31_1680885744Abc31A=se_string(14,s31_1680885744A);
ms283_240Abc283A=se_string(2,s283_240A);
ms31_203589551Abc31A=se_string(19,s31_203589551A);
ms106_1385667261Abc106A=se_string(44,s106_1385667261A);
ms811_276Abc811A=se_string(2,s811_276A);
ms811_276Abc813A=se_string(2,s811_276A);
ms29_0Abc303B=se_string(0,s29_0A);
ms29_0Abc303A=se_string(0,s29_0A);
ms29_144394965Abc29A=se_string(10,s29_144394965A);
ms283_1799491166Abc283A=se_string(23,s283_1799491166A);
ms31_839855894Abc31A=se_string(15,s31_839855894A);
ms32_251916328Abc32A=se_string(14,s32_251916328A);
ms31_112335826Abc31A=se_string(13,s31_112335826A);
ms803_1121854Abc803A=se_string(7,s803_1121854A);
ms31_207673231Abc31A=se_string(16,s31_207673231A);
ms106_1377150320Abc106A=se_string(99,s106_1377150320A);
ms31_15448Abc31A=se_string(4,s31_15448A);
ms31_201970793Abc31A=se_string(19,s31_201970793A);
ms31_217Abc31A=se_string(2,s31_217A);
ms31_2187483Abc31A=se_string(7,s31_2187483A);
ms31_1735712398Abc31A=se_string(17,s31_1735712398A);
ms31_2126626Abc31A=se_string(7,s31_2126626A);
ms31_312005144Abc31A=se_string(33,s31_312005144A);
ms31_1095772782Abc31A=se_string(17,s31_1095772782A);
ms31_1297432701Abc31A=se_string(11,s31_1297432701A);
se_msi10();}/*--*/

void se_msi10(void){
ms29_0Abc113B=se_string(0,s29_0A);
ms29_0Abc113A=se_string(0,s29_0A);
ms29_0Abc106A=se_string(0,s29_0A);
ms113_165012750Abc113A=se_string(30,s113_165012750A);
ms31_1607595572Abc31A=se_string(12,s31_1607595572A);
ms31_586229245Abc31A=se_string(16,s31_586229245A);
ms105_116346440Abc105A=se_string(26,s105_116346440A);
ms31_77832Abc31A=se_string(5,s31_77832A);
ms123_300594Abc123A=se_string(6,s123_300594A);
ms31_349117293Abc31A=se_string(12,s31_349117293A);
ms105_174945438Abc105A=se_string(40,s105_174945438A);
ms31_175767198Abc31A=se_string(10,s31_175767198A);
ms31_878996813Abc31A=se_string(15,s31_878996813A);
ms32_306165094Abc32A=se_string(19,s32_306165094A);
ms31_1831158645Abc31A=se_string(17,s31_1831158645A);
ms31_259659630Abc31A=se_string(10,s31_259659630A);
ms31_406284Abc31A=se_string(6,s31_406284A);
ms31_47Abc31A=se_string(1,s31_47A);
ms31_49076823Abc31A=se_string(9,s31_49076823A);
ms32_88336Abc32A=se_string(5,s32_88336A);
ms29_252Abc29A=se_string(2,s29_252A);
ms807_602797481Abc807A=se_string(43,s807_602797481A);
ms31_48958735Abc31A=se_string(9,s31_48958735A);
ms31_84881Abc31A=se_string(5,s31_84881A);
ms106_1656731300Abc106A=se_string(17,s106_1656731300A);
ms31_253393261Abc31A=se_string(10,s31_253393261A);
ms283_240Abc807A=se_string(2,s283_240A);
ms106_1130154866Abc106A=se_string(50,s106_1130154866A);
ms29_652239368Abc29A=se_string(12,s29_652239368A);
ms31_55924644Abc31A=se_string(9,s31_55924644A);
ms31_1223936132Abc31A=se_string(11,s31_1223936132A);
ms291_1133285999Abc291A=se_string(30,s291_1133285999A);
ms31_296Abc31A=se_string(2,s31_296A);
ms113_440518794Abc113A=se_string(11,s113_440518794A);
ms32_17221Abc32A=se_string(4,s32_17221A);
ms31_1339128Abc31A=se_string(7,s31_1339128A);
ms31_591414963Abc31A=se_string(13,s31_591414963A);
}/*--*/
T29*eiffel_root_object=(void*)0;
int se_argc;
char**se_argv;
T7*g[1049];
T7*t[1049];

void se_atexit(void){
r69se_atexit();
}/*--*/

void initialize_eiffel_runtime(int argc,char*argv[]){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
se_argc=argc;
se_argv=argv;
atexit(se_atexit);
g[112]=(T7*)se_string(15,"LIBERTY_VERSION");
g[357]=(T7*)se_string(4,"CODE");
g[360]=(T7*)se_string(11,"INSTRUCTION");
g[105]=(T7*)se_string(6,"PARSER");
g[111]=(T7*)se_string(12,"SMART_EIFFEL");
g[382]=(T7*)se_string(9,"TYPE_MARK");
g[347]=(T7*)se_string(11,"RUN_FEATURE");
g[356]=(T7*)se_string(10,"EXPRESSION");
g[710]=(T7*)se_string(8,"UNIVERSE");
g[711]=(T7*)se_string(20,"CLASSES_TREE_FACTORY");
g[787]=(T7*)se_string(17,"CLUSTER_POOL_DATA");
g[450]=(T7*)se_string(7,"CLUSTER");
g[283]=(T7*)se_string(3,"ACE");
g[830]=(T7*)se_string(8,"LOADPATH");
g[284]=(T7*)se_string(17,"DEBUG_KEY_SUPPORT");
g[36]=(T7*)se_string(11,"ACE_HANDLER");
g[785]=(T7*)se_string(12,"CLASSES_TREE");
g[786]=(T7*)se_string(13,"CLUSTER_CLASS");
g[707]=(T7*)se_string(7,"CLASSES");
g[706]=(T7*)se_string(8,"CLUSTERS");
g[583]=(T7*)se_string(11,"CECIL_ENTRY");
g[83]=(T7*)se_string(10,"CECIL_POOL");
g[343]=(T7*)se_string(10,"CECIL_FILE");
g[504]=(T7*)se_string(14,"PRECURSOR_CALL");
g[361]=(T7*)se_string(12,"FEATURE_CALL");
g[678]=(T7*)se_string(14,"AGENT_LAUNCHER");
g[423]=(T7*)se_string(14,"CREATE_SUPPORT");
g[29]=(T7*)se_string(2,"SE");
g[828]=(T7*)se_string(5,"CLEAN");
g[899]=(T7*)se_string(9,"ACE_CHECK");
g[903]=(T7*)se_string(12,"COMPILE_TO_C");
g[896]=(T7*)se_string(7,"COMPILE");
g[807]=(T7*)se_string(4,"SERC");
g[806]=(T7*)se_string(10,"SERC_CHAIN");
g[556]=(T7*)se_string(12,"SERC_FACTORY");
g[808]=(T7*)se_string(13,"SERC_DEFAULTS");
g[568]=(T7*)se_string(9,"SE_CONFIG");
g[302]=(T7*)se_string(9,"SE_C_MODE");
g[511]=(T7*)se_string(11,"CALL_PREFIX");
g[392]=(T7*)se_string(16,"CALL_INFIX_MINUS");
g[406]=(T7*)se_string(14,"LOCAL_NAME_DEF");
g[414]=(T7*)se_string(6,"E_VOID");
g[549]=(T7*)se_string(20,"NON_VOID_NO_DISPATCH");
g[369]=(T7*)se_string(15,"FUNCTION_CALL_N");
g[503]=(T7*)se_string(20,"PRECURSOR_EXPRESSION");
g[471]=(T7*)se_string(17,"ARGUMENT_NAME_DEF");
g[407]=(T7*)se_string(18,"LOCAL_ARGUMENT_DEF");
g[438]=(T7*)se_string(9,"ASSERTION");
g[377]=(T7*)se_string(13,"ARGUMENT_NAME");
g[365]=(T7*)se_string(6,"CALL_0");
g[496]=(T7*)se_string(12,"OPEN_OPERAND");
g[368]=(T7*)se_string(6,"CALL_1");
g[666]=(T7*)se_string(16,"NATURAL_CONSTANT");
g[415]=(T7*)se_string(15,"BUILT_IN_EQ_NEQ");
g[393]=(T7*)se_string(10,"CALL_INFIX");
g[513]=(T7*)se_string(17,"CALL_PREFIX_MINUS");
g[398]=(T7*)se_string(15,"MANIFEST_STRING");
g[677]=(T7*)se_string(16,"AGENT_EXPRESSION");
g[524]=(T7*)se_string(13,"CALL_INFIX_OR");
g[676]=(T7*)se_string(14,"CLOSED_OPERAND");
g[428]=(T7*)se_string(23,"WRITABLE_ATTRIBUTE_NAME");
g[675]=(T7*)se_string(15,"CREATE_WRITABLE");
g[533]=(T7*)se_string(18,"CALL_INFIX_INT_DIV");
g[514]=(T7*)se_string(18,"CALL_PREFIX_FREEOP");
g[529]=(T7*)se_string(13,"CALL_INFIX_LT");
g[383]=(T7*)se_string(25,"GENERATOR_GENERATING_TYPE");
g[408]=(T7*)se_string(10,"LOCAL_NAME");
g[537]=(T7*)se_string(17,"CALL_INFIX_FREEOP");
g[522]=(T7*)se_string(18,"CALL_INFIX_IMPLIES");
g[497]=(T7*)se_string(13,"REAL_CONSTANT");
g[432]=(T7*)se_string(15,"STATIC_CALL_0_C");
g[527]=(T7*)se_string(13,"CALL_INFIX_LE");
g[539]=(T7*)se_string(17,"CREATE_EXPRESSION");
g[531]=(T7*)se_string(15,"CALL_INFIX_PLUS");
g[579]=(T7*)se_string(9,"VOID_CALL");
g[381]=(T7*)se_string(6,"RESULT");
g[667]=(T7*)se_string(12,"NULL_POINTER");
g[530]=(T7*)se_string(13,"CALL_INFIX_GT");
g[419]=(T7*)se_string(15,"ASSIGNMENT_TEST");
g[498]=(T7*)se_string(16,"MANIFEST_GENERIC");
g[404]=(T7*)se_string(16,"BOOLEAN_CONSTANT");
g[670]=(T7*)se_string(15,"INTERNAL_LOCAL2");
g[541]=(T7*)se_string(18,"OLD_MANIFEST_ARRAY");
g[672]=(T7*)se_string(27,"DYNAMIC_DISPATCH_TEMPORARY1");
g[671]=(T7*)se_string(27,"DYNAMIC_DISPATCH_TEMPORARY2");
g[378]=(T7*)se_string(14,"LOCAL_ARGUMENT");
g[668]=(T7*)se_string(11,"NO_DISPATCH");
g[528]=(T7*)se_string(13,"CALL_INFIX_GE");
g[403]=(T7*)se_string(6,"E_TRUE");
g[475]=(T7*)se_string(23,"EXPRESSION_WITH_COMMENT");
g[477]=(T7*)se_string(14,"IF_SUPPORT_EXP");
g[474]=(T7*)se_string(7,"E_FALSE");
g[366]=(T7*)se_string(13,"FUNCTION_CALL");
g[673]=(T7*)se_string(30,"DYNAMIC_DISPATCH_TEMPORARY1_ID");
g[674]=(T7*)se_string(10,"FAKE_TUPLE");
g[510]=(T7*)se_string(15,"CALL_PREFIX_NOT");
g[515]=(T7*)se_string(5,"E_OLD");
g[388]=(T7*)se_string(16,"ABSTRACT_CURRENT");
g[535]=(T7*)se_string(14,"CALL_INFIX_DIV");
g[389]=(T7*)se_string(16,"INTEGER_CONSTANT");
g[512]=(T7*)se_string(16,"CALL_PREFIX_PLUS");
g[547]=(T7*)se_string(13,"IMPLICIT_CAST");
g[505]=(T7*)se_string(14,"AGENT_CREATION");
g[502]=(T7*)se_string(14,"MANIFEST_TUPLE");
g[469]=(T7*)se_string(22,"NON_WRITTEN_EXPRESSION");
g[468]=(T7*)se_string(19,"COMPOUND_EXPRESSION");
g[484]=(T7*)se_string(18,"CHARACTER_CONSTANT");
g[536]=(T7*)se_string(16,"CALL_INFIX_POWER");
g[478]=(T7*)se_string(14,"IFTHENELSE_EXP");
g[523]=(T7*)se_string(18,"CALL_INFIX_OR_ELSE");
g[479]=(T7*)se_string(10,"ADDRESS_OF");
g[420]=(T7*)se_string(19,"CALL_INFIX_AND_THEN");
g[391]=(T7*)se_string(19,"MANIFEST_EXPRESSION");
g[476]=(T7*)se_string(10,"IFTHEN_EXP");
g[390]=(T7*)se_string(18,"BASE_TYPE_CONSTANT");
g[411]=(T7*)se_string(14,"LOCAL_NAME_REF");
g[669]=(T7*)se_string(17,"NATIVE_ARRAY_ITEM");
g[525]=(T7*)se_string(14,"CALL_INFIX_XOR");
g[534]=(T7*)se_string(18,"CALL_INFIX_INT_REM");
g[532]=(T7*)se_string(16,"CALL_INFIX_TIMES");
g[375]=(T7*)se_string(17,"ARGUMENT_NAME_REF");
g[387]=(T7*)se_string(16,"IMPLICIT_CURRENT");
g[506]=(T7*)se_string(15,"WRITTEN_CURRENT");
g[376]=(T7*)se_string(18,"LOCAL_ARGUMENT_REF");
g[538]=(T7*)se_string(11,"FAKE_TARGET");
g[526]=(T7*)se_string(14,"CALL_INFIX_AND");
g[364]=(T7*)se_string(15,"FUNCTION_CALL_0");
g[367]=(T7*)se_string(15,"FUNCTION_CALL_1");
g[487]=(T7*)se_string(12,"LOOP_VARIANT");
g[372]=(T7*)se_string(13,"FAKE_ARGUMENT");
g[700]=(T7*)se_string(12,"CST_ATT_REAL");
g[694]=(T7*)se_string(7,"CST_ATT");
g[395]=(T7*)se_string(9,"E_ROUTINE");
g[695]=(T7*)se_string(9,"ATTRIBUTE");
g[692]=(T7*)se_string(10,"E_FUNCTION");
g[584]=(T7*)se_string(13,"ONCE_FUNCTION");
g[699]=(T7*)se_string(17,"CST_ATT_CHARACTER");
g[688]=(T7*)se_string(18,"DEFERRED_PROCEDURE");
g[698]=(T7*)se_string(15,"CST_ATT_INTEGER");
g[689]=(T7*)se_string(18,"EXTERNAL_PROCEDURE");
g[686]=(T7*)se_string(17,"DEFERRED_FUNCTION");
g[687]=(T7*)se_string(16,"DEFERRED_ROUTINE");
g[697]=(T7*)se_string(14,"CST_ATT_UNIQUE");
g[418]=(T7*)se_string(17,"EXTERNAL_FUNCTION");
g[701]=(T7*)se_string(18,"WRITABLE_ATTRIBUTE");
g[493]=(T7*)se_string(8,"NATIVE_C");
g[490]=(T7*)se_string(6,"NATIVE");
g[394]=(T7*)se_string(16,"EXTERNAL_ROUTINE");
g[586]=(T7*)se_string(17,"EFFECTIVE_ROUTINE");
g[691]=(T7*)se_string(11,"E_PROCEDURE");
g[696]=(T7*)se_string(14,"CST_ATT_STRING");
g[585]=(T7*)se_string(12,"ONCE_ROUTINE");
g[690]=(T7*)se_string(14,"ONCE_PROCEDURE");
g[693]=(T7*)se_string(15,"CST_ATT_BOOLEAN");
g[492]=(T7*)se_string(18,"NATIVE_C_PLUS_PLUS");
g[491]=(T7*)se_string(14,"NATIVE_PLUG_IN");
g[352]=(T7*)se_string(17,"ANONYMOUS_FEATURE");
g[489]=(T7*)se_string(15,"NATIVE_BUILT_IN");
g[118]=(T7*)se_string(12,"CODE_PRINTER");
g[567]=(T7*)se_string(14,"PLUGIN_FACTORY");
g[557]=(T7*)se_string(6,"PLUGIN");
g[569]=(T7*)se_string(12,"CODE_CONTEXT");
g[576]=(T7*)se_string(16,"INTERNAL_C_LOCAL");
g[637]=(T7*)se_string(8,"C_MAPPER");
g[588]=(T7*)se_string(15,"C_HEADER_PASS_0");
g[621]=(T7*)se_string(15,"C_HEADER_PASS_1");
g[622]=(T7*)se_string(15,"C_HEADER_PASS_2");
g[623]=(T7*)se_string(15,"C_HEADER_PASS_3");
g[653]=(T7*)se_string(19,"C_TYPE_FOR_ARGUMENT");
g[624]=(T7*)se_string(15,"C_HEADER_PASS_4");
g[657]=(T7*)se_string(13,"C_NEED_STRUCT");
g[905]=(T7*)se_string(16,"C_PLUGIN_FACTORY");
g[589]=(T7*)se_string(13,"C_HEADER_PASS");
g[655]=(T7*)se_string(19,"C_TYPE_FOR_EXTERNAL");
g[821]=(T7*)se_string(23,"TAGGED_INTERNAL_C_LOCAL");
g[619]=(T7*)se_string(19,"C_COMPILATION_MIXIN");
g[582]=(T7*)se_string(22,"MEMORY_HANDLER_FACTORY");
g[654]=(T7*)se_string(17,"C_TYPE_FOR_RESULT");
g[647]=(T7*)se_string(24,"C_NATIVE_FUNCTION_MAPPER");
g[581]=(T7*)se_string(14,"MEMORY_HANDLER");
g[641]=(T7*)se_string(12,"C_ARG_MAPPER");
g[642]=(T7*)se_string(15,"C_CODE_COMPILER");
g[650]=(T7*)se_string(24,"C_INTROSPECTION_FUNCTION");
g[659]=(T7*)se_string(21,"INTERNAL_C_LOCAL_LIST");
g[639]=(T7*)se_string(15,"C_TARGET_MAPPER");
g[703]=(T7*)se_string(10,"C_SPLITTER");
g[638]=(T7*)se_string(13,"C_INITIALIZER");
g[117]=(T7*)se_string(16,"C_PRETTY_PRINTER");
g[618]=(T7*)se_string(17,"C_LIVE_TYPE_MIXIN");
g[656]=(T7*)se_string(17,"C_TYPE_FOR_VA_ARG");
g[291]=(T7*)se_string(11,"ID_PROVIDER");
g[620]=(T7*)se_string(22,"C_AGENT_CREATION_MIXIN");
g[648]=(T7*)se_string(25,"C_NATIVE_PROCEDURE_MAPPER");
g[904]=(T7*)se_string(8,"C_PLUGIN");
g[640]=(T7*)se_string(30,"C_EXPRESSION_COMPILATION_MIXIN");
g[652]=(T7*)se_string(17,"C_TYPE_FOR_TARGET");
g[122]=(T7*)se_string(18,"EXCEPTIONS_HANDLER");
g[649]=(T7*)se_string(21,"C_NATIVE_C_DEFINITION");
g[625]=(T7*)se_string(20,"C_LIVE_TYPE_COMPILER");
g[651]=(T7*)se_string(23,"C_INTROSPECTION_DISPLAY");
g[658]=(T7*)se_string(21,"C_NATIVE_NEED_WRAPPER");
g[646]=(T7*)se_string(30,"C_COMPOUND_EXPRESSION_COMPILER");
g[862]=(T7*)se_string(32,"LIVE_TYPE_NATIVE_ARRAY_COLLECTOR");
g[816]=(T7*)se_string(5,"NO_GC");
g[890]=(T7*)se_string(28,"C_GARBAGE_COLLECTOR_STRUCTER");
g[864]=(T7*)se_string(23,"C_GARBAGE_COLLECTOR_TAG");
g[871]=(T7*)se_string(26,"C_GARBAGE_COLLECTOR_TAGGER");
g[865]=(T7*)se_string(35,"C_GARBAGE_COLLECTOR_HEADER_COMPILER");
g[870]=(T7*)se_string(29,"C_GARBAGE_COLLECTOR_NEED_MARK");
g[867]=(T7*)se_string(38,"C_GARBAGE_COLLECTOR_FUNCTIONS_COMPILER");
g[869]=(T7*)se_string(40,"C_GARBAGE_COLLECTOR_BEFORE_MARK_COMPILER");
g[818]=(T7*)se_string(10,"GC_HANDLER");
g[868]=(T7*)se_string(33,"C_GARBAGE_COLLECTOR_INFO_COMPILER");
g[866]=(T7*)se_string(37,"C_GARBAGE_COLLECTOR_ABSTRACT_COMPILER");
g[817]=(T7*)se_string(6,"BDW_GC");
g[863]=(T7*)se_string(14,"BDW_GC_DEFINE2");
g[861]=(T7*)se_string(23,"BDW_ASSIGN_NATIVE_ARRAY");
g[705]=(T7*)se_string(16,"C_SPLITTER_SPLIT");
g[708]=(T7*)se_string(19,"C_SPLITTER_NO_SPLIT");
g[709]=(T7*)se_string(23,"C_SPLITTER_BY_LIVE_TYPE");
g[704]=(T7*)se_string(17,"C_SPLITTER_LEGACY");
g[829]=(T7*)se_string(26,"C_SPLITTER_LEGACY_ITERATOR");
g[573]=(T7*)se_string(24,"CODE_CONTEXT_INSIDE_TWIN");
g[575]=(T7*)se_string(32,"CODE_CONTEXT_INSIDE_SOME_WRAPPER");
g[571]=(T7*)se_string(31,"CODE_CONTEXT_CREATE_INSTRUCTION");
g[570]=(T7*)se_string(24,"CODE_CONTEXT_DIRECT_CALL");
g[119]=(T7*)se_string(22,"CODE_CONTEXT_CONSTANTS");
g[574]=(T7*)se_string(22,"CODE_CONTEXT_PRECURSOR");
g[572]=(T7*)se_string(30,"CODE_CONTEXT_CREATE_EXPRESSION");
g[121]=(T7*)se_string(14,"PRETTY_PRINTER");
g[777]=(T7*)se_string(31,"MANIFEST_GENERIC_SAMPLE_PRINTER");
g[285]=(T7*)se_string(13,"SHORT_PRINTER");
g[447]=(T7*)se_string(21,"ASSERTION_PRINT_TOOLS");
g[430]=(T7*)se_string(6,"IFTHEN");
g[422]=(T7*)se_string(18,"CREATE_INSTRUCTION");
g[684]=(T7*)se_string(17,"REQUIRE_ASSERTION");
g[385]=(T7*)se_string(22,"ASSIGNMENT_INSTRUCTION");
g[680]=(T7*)se_string(16,"ENSURE_ASSERTION");
g[429]=(T7*)se_string(22,"RAW_CREATE_INSTRUCTION");
g[488]=(T7*)se_string(16,"LOOP_INSTRUCTION");
g[446]=(T7*)se_string(14,"ASSERTION_LIST");
g[412]=(T7*)se_string(18,"ASSIGNMENT_ATTEMPT");
g[431]=(T7*)se_string(20,"NO_INVARIANT_WRAPPER");
g[683]=(T7*)se_string(26,"RUN_TIME_ERROR_INSTRUCTION");
g[681]=(T7*)se_string(17,"UNUSED_EXPRESSION");
g[578]=(T7*)se_string(23,"NON_WRITTEN_INSTRUCTION");
g[397]=(T7*)se_string(11,"WHEN_ITEM_1");
g[765]=(T7*)se_string(11,"WHEN_ITEM_2");
g[363]=(T7*)se_string(16,"PROCEDURE_CALL_N");
g[516]=(T7*)se_string(21,"PRECURSOR_INSTRUCTION");
g[577]=(T7*)se_string(14,"VOID_PROC_CALL");
g[485]=(T7*)se_string(8,"C_INLINE");
g[384]=(T7*)se_string(10,"ASSIGNMENT");
g[379]=(T7*)se_string(23,"OTHER_INSPECT_STATEMENT");
g[417]=(T7*)se_string(10,"IF_SUPPORT");
g[486]=(T7*)se_string(24,"ASSIGNMENT_CALL_ASSIGNER");
g[416]=(T7*)se_string(10,"IFTHENELSE");
g[499]=(T7*)se_string(14,"DEBUG_COMPOUND");
g[380]=(T7*)se_string(17,"INSPECT_STATEMENT");
g[359]=(T7*)se_string(14,"PROCEDURE_CALL");
g[440]=(T7*)se_string(7,"COMMENT");
g[413]=(T7*)se_string(8,"COMPOUND");
g[540]=(T7*)se_string(14,"CHECK_COMPOUND");
g[396]=(T7*)se_string(9,"WHEN_ITEM");
g[501]=(T7*)se_string(33,"MANIFEST_STRING_INSPECT_STATEMENT");
g[445]=(T7*)se_string(15,"CLASS_INVARIANT");
g[480]=(T7*)se_string(17,"RETRY_INSTRUCTION");
g[682]=(T7*)se_string(4,"SEDB");
g[679]=(T7*)se_string(14,"LOOP_INVARIANT");
g[374]=(T7*)se_string(11,"WHEN_CLAUSE");
g[685]=(T7*)se_string(17,"AGENT_INSTRUCTION");
g[358]=(T7*)se_string(16,"PROCEDURE_CALL_0");
g[362]=(T7*)se_string(16,"PROCEDURE_CALL_1");
g[344]=(T7*)se_string(16,"CODE_ACCUMULATOR");
g[386]=(T7*)se_string(9,"LIVE_TYPE");
g[94]=(T7*)se_string(10,"CLASS_TEXT");
g[95]=(T7*)se_string(6,"TAGGED");
g[120]=(T7*)se_string(19,"FEATURE_ACCUMULATOR");
g[113]=(T7*)se_string(12,"SYSTEM_TOOLS");
g[290]=(T7*)se_string(12,"FEATURE_NAME");
g[434]=(T7*)se_string(11,"TAGGED_DATA");
g[85]=(T7*)se_string(6,"TAGGER");
g[110]=(T7*)se_string(18,"ASSIGNMENT_HANDLER");
g[30]=(T7*)se_string(7,"GLOBALS");
g[88]=(T7*)se_string(21,"INTROSPECTION_HANDLER");
g[126]=(T7*)se_string(4,"ECHO");
g[84]=(T7*)se_string(25,"LIVE_TYPE_EXTRA_COLLECTOR");
g[86]=(T7*)se_string(13,"FEATURE_STAMP");
g[92]=(T7*)se_string(10,"CLASS_NAME");
g[281]=(T7*)se_string(14,"STRING_ALIASER");
g[115]=(T7*)se_string(22,"SYSTEM_TOOLS_CONSTANTS");
g[293]=(T7*)se_string(13,"ERROR_HANDLER");
g[354]=(T7*)se_string(8,"POSITION");
g[465]=(T7*)se_string(12,"FEATURE_TEXT");
g[660]=(T7*)se_string(23,"ANONYMOUS_FEATURE_MIXER");
g[553]=(T7*)se_string(12,"RUN_TIME_SET");
g[286]=(T7*)se_string(4,"TYPE");
g[107]=(T7*)se_string(13,"HASHED_STRING");
g[767]=(T7*)se_string(15,"CODE_COMPARATOR");
g[781]=(T7*)se_string(26,"HIDDEN_EXPRESSION_DETECTOR");
g[128]=(T7*)se_string(30,"PRECOMPUTABLE_ROUTINE_DETECTOR");
g[766]=(T7*)se_string(25,"MANIFEST_STRING_INSPECTOR");
g[854]=(T7*)se_string(11,"STRING_POOL");
g[124]=(T7*)se_string(10,"AGENT_POOL");
g[853]=(T7*)se_string(17,"TUPLE_STRING_POOL");
g[98]=(T7*)se_string(11,"THREAD_POOL");
g[127]=(T7*)se_string(20,"ASSIGNMENT_TEST_POOL");
g[125]=(T7*)se_string(17,"ONCE_ROUTINE_POOL");
g[108]=(T7*)se_string(20,"MANIFEST_STRING_POOL");
g[116]=(T7*)se_string(21,"MANIFEST_GENERIC_POOL");
g[720]=(T7*)se_string(13,"TAGGED_ERRORS");
g[819]=(T7*)se_string(14,"TAGGED_INTEGER");
g[820]=(T7*)se_string(17,"TYPED_TAGGED_DATA");
g[860]=(T7*)se_string(11,"TAGGED_FLAG");
g[719]=(T7*)se_string(12,"TAGGED_ERROR");
g[792]=(T7*)se_string(12,"TOKEN_BUFFER");
g[470]=(T7*)se_string(11,"TMP_FEATURE");
g[123]=(T7*)se_string(13,"PARSER_BUFFER");
g[282]=(T7*)se_string(11,"MINI_BUFFER");
g[542]=(T7*)se_string(18,"ORDERED_DICTIONARY");
g[106]=(T7*)se_string(10,"INI_PARSER");
g[104]=(T7*)se_string(13,"EIFFEL_PARSER");
g[823]=(T7*)se_string(13,"RUN_FEATURE_9");
g[772]=(T7*)se_string(13,"RUN_FEATURE_8");
g[773]=(T7*)se_string(13,"RUN_FEATURE_7");
g[663]=(T7*)se_string(13,"RUN_FEATURE_6");
g[662]=(T7*)se_string(13,"RUN_FEATURE_5");
g[824]=(T7*)se_string(13,"RUN_FEATURE_4");
g[555]=(T7*)se_string(13,"RUN_FEATURE_3");
g[424]=(T7*)se_string(13,"RUN_FEATURE_2");
g[825]=(T7*)se_string(13,"RUN_FEATURE_1");
g[520]=(T7*)se_string(23,"LIKE_ARGUMENT_TYPE_MARK");
g[458]=(T7*)se_string(25,"NON_EMPTY_TUPLE_TYPE_MARK");
g[452]=(T7*)se_string(14,"REAL_TYPE_MARK");
g[457]=(T7*)se_string(15,"TUPLE_TYPE_MARK");
g[518]=(T7*)se_string(18,"ANCHORED_TYPE_MARK");
g[483]=(T7*)se_string(24,"WEAK_REFERENCE_TYPE_MARK");
g[456]=(T7*)se_string(21,"EMPTY_TUPLE_TYPE_MARK");
g[509]=(T7*)se_string(20,"NON_STATIC_TYPE_MARK");
g[401]=(T7*)se_string(16,"STATIC_TYPE_MARK");
g[459]=(T7*)se_string(15,"AGENT_TYPE_MARK");
g[453]=(T7*)se_string(19,"CHARACTER_TYPE_MARK");
g[402]=(T7*)se_string(21,"NON_GENERIC_TYPE_MARK");
g[400]=(T7*)se_string(25,"KERNEL_EXPANDED_TYPE_MARK");
g[399]=(T7*)se_string(17,"BOOLEAN_TYPE_MARK");
g[519]=(T7*)se_string(22,"LIKE_FEATURE_TYPE_MARK");
g[508]=(T7*)se_string(24,"FORMAL_GENERIC_TYPE_MARK");
g[454]=(T7*)se_string(17,"POINTER_TYPE_MARK");
g[451]=(T7*)se_string(17,"NATURAL_TYPE_MARK");
g[426]=(T7*)se_string(22,"NATIVE_ARRAY_TYPE_MARK");
g[427]=(T7*)se_string(17,"GENERIC_TYPE_MARK");
g[521]=(T7*)se_string(16,"CLIENT_TYPE_MARK");
g[455]=(T7*)se_string(16,"STRING_TYPE_MARK");
g[517]=(T7*)se_string(22,"LIKE_CURRENT_TYPE_MARK");
g[421]=(T7*)se_string(15,"CLASS_TYPE_MARK");
g[462]=(T7*)se_string(22,"USER_GENERIC_TYPE_MARK");
g[444]=(T7*)se_string(13,"ANY_TYPE_MARK");
g[461]=(T7*)se_string(15,"ARRAY_TYPE_MARK");
g[425]=(T7*)se_string(17,"INTEGER_TYPE_MARK");
g[351]=(T7*)se_string(21,"ABSOLUTE_FEATURE_NAME");
g[441]=(T7*)se_string(13,"EXTERNAL_TYPE");
g[97]=(T7*)se_string(25,"ASSERTION_LEVEL_NUMBERING");
g[35]=(T7*)se_string(14,"FLAG_NAME_LIST");
g[32]=(T7*)se_string(18,"FROZEN_STRING_LIST");
g[550]=(T7*)se_string(11,"INLINE_MEMO");
g[900]=(T7*)se_string(20,"PARENT_LISTS_HANDLER");
g[580]=(T7*)se_string(10,"AGENT_ARGS");
g[564]=(T7*)se_string(19,"STRING_COMMAND_LINE");
g[31]=(T7*)se_string(19,"ALIASED_STRING_LIST");
g[546]=(T7*)se_string(10,"GRAPH_NODE");
g[901]=(T7*)se_string(13,"CLASS_CHECKER");
g[587]=(T7*)se_string(13,"TYPE_ALIASING");
g[460]=(T7*)se_string(16,"AGENT_TYPE_MARKS");
g[33]=(T7*)se_string(18,"COMMAND_LINE_TOOLS");
g[554]=(T7*)se_string(6,"STATUS");
g[448]=(T7*)se_string(19,"FEATURE_CLAUSE_LIST");
g[410]=(T7*)se_string(14,"LOCAL_VAR_LIST");
g[371]=(T7*)se_string(16,"DECLARATION_LIST");
g[93]=(T7*)se_string(4,"NAME");
g[370]=(T7*)se_string(15,"FORMAL_ARG_LIST");
g[481]=(T7*)se_string(11,"EXPORT_ITEM");
g[373]=(T7*)se_string(20,"EFFECTIVE_ARG_LIST_N");
g[472]=(T7*)se_string(17,"DECLARATION_GROUP");
g[463]=(T7*)se_string(20,"CREATION_CLAUSE_LIST");
g[435]=(T7*)se_string(10,"INDEX_LIST");
g[473]=(T7*)se_string(8,"TAG_NAME");
g[289]=(T7*)se_string(11,"PARENT_EDGE");
g[464]=(T7*)se_string(17,"FEATURE_NAME_LIST");
g[500]=(T7*)se_string(11,"RENAME_PAIR");
g[409]=(T7*)se_string(13,"DECLARATION_1");
g[482]=(T7*)se_string(11,"EXPORT_LIST");
g[449]=(T7*)se_string(14,"FEATURE_CLAUSE");
g[405]=(T7*)se_string(11,"DECLARATION");
g[292]=(T7*)se_string(11,"CLIENT_LIST");
g[702]=(T7*)se_string(20,"EFFECTIVE_ARG_LIST_0");
g[436]=(T7*)se_string(12,"INDEX_CLAUSE");
g[355]=(T7*)se_string(18,"EFFECTIVE_ARG_LIST");
g[713]=(T7*)se_string(11,"RENAME_LIST");
g[96]=(T7*)se_string(12,"INDEXINGABLE");
g[443]=(T7*)se_string(18,"FORMAL_GENERIC_ARG");
g[442]=(T7*)se_string(19,"FORMAL_GENERIC_LIST");
g[466]=(T7*)se_string(12,"PARENT_LISTS");
g[439]=(T7*)se_string(15,"CREATION_CLAUSE");
g[507]=(T7*)se_string(14,"TYPE_MARK_LIST");
g[596]=(T7*)se_string(30,"USER_GENERIC_TYPE_MARK_VISITOR");
g[220]=(T7*)se_string(22,"LOOP_INVARIANT_VISITOR");
g[253]=(T7*)se_string(25,"DEFERRED_FUNCTION_VISITOR");
g[770]=(T7*)se_string(22,"LOCAL_NAME_DEF_VISITOR");
g[643]=(T7*)se_string(12,"CODE_VISITOR");
g[269]=(T7*)se_string(22,"CST_ATT_STRING_VISITOR");
g[717]=(T7*)se_string(20,"FEATURE_NAME_VISITOR");
g[263]=(T7*)se_string(17,"ATTRIBUTE_VISITOR");
g[217]=(T7*)se_string(22,"ASSERTION_LIST_VISITOR");
g[142]=(T7*)se_string(13,"E_OLD_VISITOR");
g[433]=(T7*)se_string(18,"CLASS_NAME_VISITOR");
g[273]=(T7*)se_string(23,"NATIVE_BUILT_IN_VISITOR");
g[136]=(T7*)se_string(17,"ASSERTION_VISITOR");
g[591]=(T7*)se_string(25,"GENERIC_TYPE_MARK_VISITOR");
g[784]=(T7*)se_string(15,"CLUSTER_VISITOR");
g[224]=(T7*)se_string(22,"CHECK_COMPOUND_VISITOR");
g[262]=(T7*)se_string(22,"ONCE_PROCEDURE_VISITOR");
g[141]=(T7*)se_string(23,"CREATE_WRITABLE_VISITOR");
g[168]=(T7*)se_string(21,"CALL_INFIX_LT_VISITOR");
g[200]=(T7*)se_string(27,"COMPOUND_EXPRESSION_VISITOR");
g[815]=(T7*)se_string(18,"AGENT_ARGS_VISITOR");
g[143]=(T7*)se_string(31,"EXPRESSION_WITH_COMMENT_VISITOR");
g[271]=(T7*)se_string(26,"WRITABLE_ATTRIBUTE_VISITOR");
g[628]=(T7*)se_string(21,"RUN_FEATURE_1_VISITOR");
g[609]=(T7*)se_string(23,"CLASS_TYPE_MARK_VISITOR");
g[149]=(T7*)se_string(19,"CALL_PREFIX_VISITOR");
g[186]=(T7*)se_string(27,"MANIFEST_EXPRESSION_VISITOR");
g[252]=(T7*)se_string(26,"DEFERRED_PROCEDURE_VISITOR");
g[209]=(T7*)se_string(17,"VOID_CALL_VISITOR");
g[346]=(T7*)se_string(21,"FEATURE_STAMP_VISITOR");
g[234]=(T7*)se_string(31,"OTHER_INSPECT_STATEMENT_VISITOR");
g[597]=(T7*)se_string(32,"WEAK_REFERENCE_TYPE_MARK_VISITOR");
g[782]=(T7*)se_string(27,"FEATURE_CLAUSE_LIST_VISITOR");
g[162]=(T7*)se_string(21,"CALL_INFIX_GE_VISITOR");
g[831]=(T7*)se_string(19,"RENAME_LIST_VISITOR");
g[278]=(T7*)se_string(26,"EFFECTIVE_ARG_LIST_VISITOR");
g[615]=(T7*)se_string(25,"POINTER_TYPE_MARK_VISITOR");
g[266]=(T7*)se_string(25,"CST_ATT_CHARACTER_VISITOR");
g[797]=(T7*)se_string(19,"RENAME_PAIR_VISITOR");
g[634]=(T7*)se_string(21,"RUN_FEATURE_7_VISITOR");
g[790]=(T7*)se_string(20,"FEATURE_TEXT_VISITOR");
g[193]=(T7*)se_string(24,"NATURAL_CONSTANT_VISITOR");
g[164]=(T7*)se_string(26,"CALL_INFIX_IMPLIES_VISITOR");
g[133]=(T7*)se_string(18,"ADDRESS_OF_VISITOR");
g[789]=(T7*)se_string(25,"FEATURE_NAME_LIST_VISITOR");
g[169]=(T7*)se_string(24,"CALL_INFIX_MINUS_VISITOR");
g[157]=(T7*)se_string(18,"CALL_INFIX_VISITOR");
g[783]=(T7*)se_string(22,"FEATURE_CLAUSE_VISITOR");
g[616]=(T7*)se_string(22,"REAL_TYPE_MARK_VISITOR");
g[210]=(T7*)se_string(26,"OLD_MANIFEST_ARRAY_VISITOR");
g[132]=(T7*)se_string(23,"WRITTEN_CURRENT_VISITOR");
g[268]=(T7*)se_string(22,"CST_ATT_UNIQUE_VISITOR");
g[243]=(T7*)se_string(22,"PROCEDURE_CALL_VISITOR");
g[756]=(T7*)se_string(18,"CECIL_FILE_VISITOR");
g[613]=(T7*)se_string(25,"INTEGER_TYPE_MARK_VISITOR");
g[272]=(T7*)se_string(14,"NATIVE_VISITOR");
g[222]=(T7*)se_string(32,"ASSIGNMENT_CALL_ASSIGNER_VISITOR");
g[140]=(T7*)se_string(25,"CREATE_EXPRESSION_VISITOR");
g[246]=(T7*)se_string(24,"PROCEDURE_CALL_N_VISITOR");
g[798]=(T7*)se_string(22,"TYPE_MARK_LIST_VISITOR");
g[629]=(T7*)se_string(21,"RUN_FEATURE_2_VISITOR");
g[206]=(T7*)se_string(19,"NO_DISPATCH_VISITOR");
g[218]=(T7*)se_string(23,"CLASS_INVARIANT_VISITOR");
g[248]=(T7*)se_string(25,"RETRY_INSTRUCTION_VISITOR");
g[242]=(T7*)se_string(29,"PRECURSOR_INSTRUCTION_VISITOR");
g[791]=(T7*)se_string(20,"PARENT_LISTS_VISITOR");
g[187]=(T7*)se_string(26,"BASE_TYPE_CONSTANT_VISITOR");
g[267]=(T7*)se_string(23,"CST_ATT_INTEGER_VISITOR");
g[611]=(T7*)se_string(25,"BOOLEAN_TYPE_MARK_VISITOR");
g[595]=(T7*)se_string(33,"NON_EMPTY_TUPLE_TYPE_MARK_VISITOR");
g[159]=(T7*)se_string(22,"CALL_INFIX_AND_VISITOR");
g[712]=(T7*)se_string(19,"PARENT_EDGE_VISITOR");
g[635]=(T7*)se_string(21,"RUN_FEATURE_8_VISITOR");
g[183]=(T7*)se_string(25,"ARGUMENT_NAME_REF_VISITOR");
g[161]=(T7*)se_string(25,"CALL_INFIX_FREEOP_VISITOR");
g[172]=(T7*)se_string(23,"CALL_INFIX_PLUS_VISITOR");
g[626]=(T7*)se_string(17,"LIVE_TYPE_VISITOR");
g[152]=(T7*)se_string(23,"CALL_PREFIX_NOT_VISITOR");
g[264]=(T7*)se_string(15,"CST_ATT_VISITOR");
g[223]=(T7*)se_string(18,"ASSIGNMENT_VISITOR");
g[796]=(T7*)se_string(19,"EXPORT_LIST_VISITOR");
g[779]=(T7*)se_string(27,"FORMAL_GENERIC_LIST_VISITOR");
g[768]=(T7*)se_string(19,"WHEN_ITEM_1_VISITOR");
g[138]=(T7*)se_string(23,"BUILT_IN_EQ_NEQ_VISITOR");
g[257]=(T7*)se_string(25,"EFFECTIVE_ROUTINE_VISITOR");
g[190]=(T7*)se_string(14,"E_TRUE_VISITOR");
g[617]=(T7*)se_string(24,"STRING_TYPE_MARK_VISITOR");
g[279]=(T7*)se_string(28,"EFFECTIVE_ARG_LIST_0_VISITOR");
g[160]=(T7*)se_string(22,"CALL_INFIX_DIV_VISITOR");
g[605]=(T7*)se_string(24,"CLIENT_TYPE_MARK_VISITOR");
g[204]=(T7*)se_string(23,"INTERNAL_LOCAL2_VISITOR");
g[91]=(T7*)se_string(19,"WHEN_CLAUSE_VISITOR");
g[201]=(T7*)se_string(38,"DYNAMIC_DISPATCH_TEMPORARY1_ID_VISITOR");
g[245]=(T7*)se_string(24,"PROCEDURE_CALL_1_VISITOR");
g[612]=(T7*)se_string(27,"CHARACTER_TYPE_MARK_VISITOR");
g[601]=(T7*)se_string(26,"ANCHORED_TYPE_MARK_VISITOR");
g[254]=(T7*)se_string(24,"EXTERNAL_ROUTINE_VISITOR");
g[174]=(T7*)se_string(24,"CALL_INFIX_TIMES_VISITOR");
g[793]=(T7*)se_string(25,"ARGUMENT_NAME_DEF_VISITOR");
g[208]=(T7*)se_string(20,"NULL_POINTER_VISITOR");
g[775]=(T7*)se_string(20,"INDEX_CLAUSE_VISITOR");
g[151]=(T7*)se_string(26,"CALL_PREFIX_FREEOP_VISITOR");
g[237]=(T7*)se_string(31,"NON_WRITTEN_INSTRUCTION_VISITOR");
g[185]=(T7*)se_string(20,"LOOP_VARIANT_VISITOR");
g[240]=(T7*)se_string(25,"UNUSED_EXPRESSION_VISITOR");
g[630]=(T7*)se_string(21,"RUN_FEATURE_3_VISITOR");
g[606]=(T7*)se_string(32,"FORMAL_GENERIC_TYPE_MARK_VISITOR");
g[592]=(T7*)se_string(23,"AGENT_TYPE_MARK_VISITOR");
g[150]=(T7*)se_string(25,"CALL_PREFIX_MINUS_VISITOR");
g[235]=(T7*)se_string(24,"LOOP_INSTRUCTION_VISITOR");
g[163]=(T7*)se_string(21,"CALL_INFIX_GT_VISITOR");
g[238]=(T7*)se_string(34,"RUN_TIME_ERROR_INSTRUCTION_VISITOR");
g[199]=(T7*)se_string(30,"NON_WRITTEN_EXPRESSION_VISITOR");
g[230]=(T7*)se_string(18,"IFTHENELSE_VISITOR");
g[247]=(T7*)se_string(25,"REQUIRE_ASSERTION_VISITOR");
g[227]=(T7*)se_string(16,"COMPOUND_VISITOR");
g[196]=(T7*)se_string(23,"MANIFEST_STRING_VISITOR");
g[645]=(T7*)se_string(22,"PRECURSOR_CALL_VISITOR");
g[636]=(T7*)se_string(21,"RUN_FEATURE_9_VISITOR");
g[610]=(T7*)se_string(33,"KERNEL_EXPANDED_TYPE_MARK_VISITOR");
g[153]=(T7*)se_string(24,"CALL_PREFIX_PLUS_VISITOR");
g[764]=(T7*)se_string(23,"FORMAL_ARG_LIST_VISITOR");
g[608]=(T7*)se_string(21,"ANY_TYPE_MARK_VISITOR");
g[146]=(T7*)se_string(18,"FAKE_TUPLE_VISITOR");
g[182]=(T7*)se_string(26,"LOCAL_ARGUMENT_REF_VISITOR");
g[602]=(T7*)se_string(31,"LIKE_ARGUMENT_TYPE_MARK_VISITOR");
g[260]=(T7*)se_string(20,"ONCE_ROUTINE_VISITOR");
g[275]=(T7*)se_string(16,"NATIVE_C_VISITOR");
g[228]=(T7*)se_string(26,"CREATE_INSTRUCTION_VISITOR");
g[170]=(T7*)se_string(26,"CALL_INFIX_OR_ELSE_VISITOR");
g[90]=(T7*)se_string(24,"DECLARATION_LIST_VISITOR");
g[852]=(T7*)se_string(19,"WHEN_ITEM_2_VISITOR");
g[778]=(T7*)se_string(25,"DECLARATION_GROUP_VISITOR");
g[215]=(T7*)se_string(19,"INSTRUCTION_VISITOR");
g[776]=(T7*)se_string(23,"CREATION_CLAUSE_VISITOR");
g[607]=(T7*)se_string(24,"STATIC_TYPE_MARK_VISITOR");
g[603]=(T7*)se_string(30,"LIKE_FEATURE_TYPE_MARK_VISITOR");
g[718]=(T7*)se_string(19,"CLIENT_LIST_VISITOR");
g[244]=(T7*)se_string(24,"PROCEDURE_CALL_0_VISITOR");
g[178]=(T7*)se_string(33,"GENERATOR_GENERATING_TYPE_VISITOR");
g[229]=(T7*)se_string(22,"DEBUG_COMPOUND_VISITOR");
g[614]=(T7*)se_string(25,"NATURAL_TYPE_MARK_VISITOR");
g[276]=(T7*)se_string(22,"NATIVE_PLUG_IN_VISITOR");
g[265]=(T7*)se_string(20,"CST_ATT_REAL_VISITOR");
g[233]=(T7*)se_string(41,"MANIFEST_STRING_INSPECT_STATEMENT_VISITOR");
g[155]=(T7*)se_string(23,"FUNCTION_CALL_0_VISITOR");
g[131]=(T7*)se_string(24,"IMPLICIT_CURRENT_VISITOR");
g[195]=(T7*)se_string(14,"E_VOID_VISITOR");
g[135]=(T7*)se_string(24,"AGENT_EXPRESSION_VISITOR");
g[598]=(T7*)se_string(29,"NON_GENERIC_TYPE_MARK_VISITOR");
g[212]=(T7*)se_string(28,"PRECURSOR_EXPRESSION_VISITOR");
g[270]=(T7*)se_string(23,"CST_ATT_BOOLEAN_VISITOR");
g[631]=(T7*)se_string(21,"RUN_FEATURE_4_VISITOR");
g[590]=(T7*)se_string(17,"TYPE_MARK_VISITOR");
g[156]=(T7*)se_string(14,"CALL_1_VISITOR");
g[173]=(T7*)se_string(24,"CALL_INFIX_POWER_VISITOR");
g[180]=(T7*)se_string(18,"IFTHEN_EXP_VISITOR");
g[203]=(T7*)se_string(35,"DYNAMIC_DISPATCH_TEMPORARY2_VISITOR");
g[137]=(T7*)se_string(23,"ASSIGNMENT_TEST_VISITOR");
g[181]=(T7*)se_string(21,"IMPLICIT_CAST_VISITOR");
g[205]=(T7*)se_string(25,"NATIVE_ARRAY_ITEM_VISITOR");
g[175]=(T7*)se_string(22,"CALL_INFIX_XOR_VISITOR");
g[771]=(T7*)se_string(21,"DECLARATION_1_VISITOR");
g[198]=(T7*)se_string(22,"MANIFEST_TUPLE_VISITOR");
g[167]=(T7*)se_string(21,"CALL_INFIX_LE_VISITOR");
g[241]=(T7*)se_string(22,"VOID_PROC_CALL_VISITOR");
g[280]=(T7*)se_string(28,"EFFECTIVE_ARG_LIST_N_VISITOR");
g[192]=(T7*)se_string(24,"INTEGER_CONSTANT_VISITOR");
g[213]=(T7*)se_string(14,"RESULT_VISITOR");
g[221]=(T7*)se_string(26,"ASSIGNMENT_ATTEMPT_VISITOR");
g[139]=(T7*)se_string(22,"CLOSED_OPERAND_VISITOR");
g[774]=(T7*)se_string(18,"INDEX_LIST_VISITOR");
g[250]=(T7*)se_string(17,"E_ROUTINE_VISITOR");
g[794]=(T7*)se_string(16,"TAG_NAME_VISITOR");
g[171]=(T7*)se_string(21,"CALL_INFIX_OR_VISITOR");
g[594]=(T7*)se_string(30,"NATIVE_ARRAY_TYPE_MARK_VISITOR");
g[795]=(T7*)se_string(19,"EXPORT_ITEM_VISITOR");
g[225]=(T7*)se_string(16,"C_INLINE_VISITOR");
g[189]=(T7*)se_string(15,"E_FALSE_VISITOR");
g[788]=(T7*)se_string(28,"CREATION_CLAUSE_LIST_VISITOR");
g[176]=(T7*)se_string(23,"FUNCTION_CALL_1_VISITOR");
g[226]=(T7*)se_string(15,"COMMENT_VISITOR");
g[216]=(T7*)se_string(25,"AGENT_INSTRUCTION_VISITOR");
g[194]=(T7*)se_string(21,"REAL_CONSTANT_VISITOR");
g[256]=(T7*)se_string(25,"EXTERNAL_FUNCTION_VISITOR");
g[232]=(T7*)se_string(25,"INSPECT_STATEMENT_VISITOR");
g[632]=(T7*)se_string(21,"RUN_FEATURE_5_VISITOR");
g[627]=(T7*)se_string(19,"RUN_FEATURE_VISITOR");
g[211]=(T7*)se_string(20,"OPEN_OPERAND_VISITOR");
g[144]=(T7*)se_string(21,"FAKE_ARGUMENT_VISITOR");
g[236]=(T7*)se_string(28,"NO_INVARIANT_WRAPPER_VISITOR");
g[188]=(T7*)se_string(24,"BOOLEAN_CONSTANT_VISITOR");
g[261]=(T7*)se_string(21,"ONCE_FUNCTION_VISITOR");
g[148]=(T7*)se_string(14,"CALL_0_VISITOR");
g[437]=(T7*)se_string(18,"CLASS_TEXT_VISITOR");
g[191]=(T7*)se_string(26,"CHARACTER_CONSTANT_VISITOR");
g[599]=(T7*)se_string(29,"EMPTY_TUPLE_TYPE_MARK_VISITOR");
g[249]=(T7*)se_string(25,"ANONYMOUS_FEATURE_VISITOR");
g[202]=(T7*)se_string(35,"DYNAMIC_DISPATCH_TEMPORARY1_VISITOR");
g[644]=(T7*)se_string(19,"CECIL_ENTRY_VISITOR");
g[259]=(T7*)se_string(19,"E_PROCEDURE_VISITOR");
g[251]=(T7*)se_string(24,"DEFERRED_ROUTINE_VISITOR");
g[258]=(T7*)se_string(18,"E_FUNCTION_VISITOR");
g[231]=(T7*)se_string(14,"IFTHEN_VISITOR");
g[239]=(T7*)se_string(12,"SEDB_VISITOR");
g[145]=(T7*)se_string(19,"FAKE_TARGET_VISITOR");
g[780]=(T7*)se_string(26,"FORMAL_GENERIC_ARG_VISITOR");
g[714]=(T7*)se_string(12,"TYPE_VISITOR");
g[197]=(T7*)se_string(24,"MANIFEST_GENERIC_VISITOR");
g[274]=(T7*)se_string(26,"NATIVE_C_PLUS_PLUS_VISITOR");
g[184]=(T7*)se_string(22,"LOCAL_NAME_REF_VISITOR");
g[165]=(T7*)se_string(26,"CALL_INFIX_INT_DIV_VISITOR");
g[177]=(T7*)se_string(23,"FUNCTION_CALL_N_VISITOR");
g[277]=(T7*)se_string(22,"LOCAL_VAR_LIST_VISITOR");
g[207]=(T7*)se_string(28,"NON_VOID_NO_DISPATCH_VISITOR");
g[600]=(T7*)se_string(28,"NON_STATIC_TYPE_MARK_VISITOR");
g[604]=(T7*)se_string(30,"LIKE_CURRENT_TYPE_MARK_VISITOR");
g[154]=(T7*)se_string(23,"STATIC_CALL_0_C_VISITOR");
g[147]=(T7*)se_string(21,"FUNCTION_CALL_VISITOR");
g[129]=(T7*)se_string(18,"EXPRESSION_VISITOR");
g[219]=(T7*)se_string(24,"ENSURE_ASSERTION_VISITOR");
g[214]=(T7*)se_string(31,"WRITABLE_ATTRIBUTE_NAME_VISITOR");
g[633]=(T7*)se_string(21,"RUN_FEATURE_6_VISITOR");
g[593]=(T7*)se_string(23,"ARRAY_TYPE_MARK_VISITOR");
g[166]=(T7*)se_string(26,"CALL_INFIX_INT_REM_VISITOR");
g[130]=(T7*)se_string(24,"ABSTRACT_CURRENT_VISITOR");
g[134]=(T7*)se_string(22,"AGENT_CREATION_VISITOR");
g[255]=(T7*)se_string(26,"EXTERNAL_PROCEDURE_VISITOR");
g[158]=(T7*)se_string(27,"CALL_INFIX_AND_THEN_VISITOR");
g[179]=(T7*)se_string(22,"IFTHENELSE_EXP_VISITOR");
g[50]=(T7*)se_string(10,"RECYCLABLE");
g[65]=(T7*)se_string(10,"DISPOSABLE");
g[44]=(T7*)se_string(11,"TRAVERSABLE");
g[47]=(T7*)se_string(9,"INDEXABLE");
g[87]=(T7*)se_string(9,"VISITABLE");
g[45]=(T7*)se_string(8,"ITERABLE");
g[48]=(T7*)se_string(10,"SEARCHABLE");
g[41]=(T7*)se_string(8,"HASHABLE");
g[43]=(T7*)se_string(8,"STORABLE");
g[42]=(T7*)se_string(10,"COMPARABLE");
g[46]=(T7*)se_string(5,"HOARD");
g[89]=(T7*)se_string(7,"VISITOR");
g[77]=(T7*)se_string(9,"SINGLETON");
g[544]=(T7*)se_string(14,"PROCESS_RUNNER");
g[897]=(T7*)se_string(17,"PROCESS_SCHEDULER");
g[543]=(T7*)se_string(7,"PROCESS");
g[799]=(T7*)se_string(13,"PROCESS_GROUP");
g[545]=(T7*)se_string(15,"PROCESS_FACTORY");
g[303]=(T7*)se_string(6,"SYSTEM");
g[856]=(T7*)se_string(11,"EXEC_STREAM");
g[855]=(T7*)se_string(24,"EXEC_OUTPUT_STREAM_POSIX");
g[858]=(T7*)se_string(24,"EXEC_OUTPUT_STREAM_WIN32");
g[859]=(T7*)se_string(23,"EXEC_INPUT_STREAM_WIN32");
g[804]=(T7*)se_string(13,"PROCESS_WIN32");
g[802]=(T7*)se_string(18,"PROCESS_GROUP_NONE");
g[805]=(T7*)se_string(12,"PROCESS_NONE");
g[857]=(T7*)se_string(23,"EXEC_INPUT_STREAM_POSIX");
g[803]=(T7*)se_string(13,"PROCESS_POSIX");
g[801]=(T7*)se_string(19,"PROCESS_GROUP_WIN32");
g[800]=(T7*)se_string(19,"PROCESS_GROUP_POSIX");
g[898]=(T7*)se_string(19,"PROCESS_LAUNCH_INFO");
g[1000]=(T7*)se_string(13,"WAITPID_INPUT");
g[100]=(T7*)se_string(11,"FILE_STREAM");
g[328]=(T7*)se_string(6,"FILTER");
g[71]=(T7*)se_string(13,"OUTPUT_STREAM");
g[334]=(T7*)se_string(19,"FILTER_INPUT_STREAM");
g[70]=(T7*)se_string(22,"TERMINAL_OUTPUT_STREAM");
g[62]=(T7*)se_string(21,"TERMINAL_INPUT_STREAM");
g[79]=(T7*)se_string(28,"TERMINAL_INPUT_OUTPUT_STREAM");
g[339]=(T7*)se_string(20,"FILTER_OUTPUT_STREAM");
g[63]=(T7*)se_string(12,"INPUT_STREAM");
g[64]=(T7*)se_string(6,"STREAM");
g[99]=(T7*)se_string(14,"TEXT_FILE_READ");
g[889]=(T7*)se_string(20,"TEXT_FILE_READ_WRITE");
g[664]=(T7*)se_string(18,"NULL_OUTPUT_STREAM");
g[81]=(T7*)se_string(9,"STD_ERROR");
g[78]=(T7*)se_string(16,"STD_INPUT_OUTPUT");
g[467]=(T7*)se_string(15,"TEXT_FILE_WRITE");
g[69]=(T7*)se_string(10,"STD_OUTPUT");
g[61]=(T7*)se_string(9,"STD_INPUT");
g[566]=(T7*)se_string(4,"FILE");
g[560]=(T7*)se_string(18,"DIRECTORY_NOTATION");
g[814]=(T7*)se_string(12,"REGULAR_FILE");
g[565]=(T7*)se_string(9,"DIRECTORY");
g[810]=(T7*)se_string(9,"PATH_NAME");
g[811]=(T7*)se_string(15,"POSIX_PATH_NAME");
g[559]=(T7*)se_string(18,"PATH_NAME_NOTATION");
g[114]=(T7*)se_string(26,"DIRECTORY_NOTATION_HANDLER");
g[813]=(T7*)se_string(19,"MICROSOFT_PATH_NAME");
g[562]=(T7*)se_string(26,"WINDOWS_DIRECTORY_NOTATION");
g[558]=(T7*)se_string(23,"UNIX_DIRECTORY_NOTATION");
g[563]=(T7*)se_string(25,"CYGWIN_DIRECTORY_NOTATION");
g[66]=(T7*)se_string(18,"INPUT_STREAM_TOOLS");
g[72]=(T7*)se_string(19,"OUTPUT_STREAM_TOOLS");
g[68]=(T7*)se_string(17,"REDIRECTION_TOOLS");
g[548]=(T7*)se_string(15,"BASIC_DIRECTORY");
g[333]=(T7*)se_string(14,"STREAM_HANDLER");
g[812]=(T7*)se_string(17,"UNIXISH_PATH_NAME");
g[67]=(T7*)se_string(10,"FILTERABLE");
g[561]=(T7*)se_string(11,"PATH_JOINER");
g[665]=(T7*)se_string(19,"LINES_OUTPUT_STREAM");
g[76]=(T7*)se_string(16,"STANDARD_STREAMS");
g[294]=(T7*)se_string(10,"FILE_TOOLS");
g[306]=(T7*)se_string(8,"ITERATOR");
g[729]=(T7*)se_string(31,"ITERATOR_ON_AVL_DICTIONARY_KEYS");
g[732]=(T7*)se_string(26,"ITERATOR_ON_AVL_DICTIONARY");
g[730]=(T7*)se_string(17,"AVL_TREE_ITERATOR");
g[739]=(T7*)se_string(22,"ITERATOR_ON_DICTIONARY");
g[874]=(T7*)se_string(23,"ITERATOR_ON_LINKED_LIST");
g[759]=(T7*)se_string(15,"ITERATOR_ON_SET");
g[326]=(T7*)se_string(23,"ITERATOR_ON_TRAVERSABLE");
g[755]=(T7*)se_string(26,"ITERATOR_ON_UNICODE_STRING");
g[731]=(T7*)se_string(32,"ITERATOR_ON_AVL_DICTIONARY_ITEMS");
g[726]=(T7*)se_string(28,"ITERATOR_ON_DICTIONARY_ITEMS");
g[832]=(T7*)se_string(37,"ITERATOR_ON_BIJECTIVE_DICTIONARY_KEYS");
g[317]=(T7*)se_string(18,"ITERATOR_ON_STRING");
g[850]=(T7*)se_string(19,"ITERATOR_ON_AVL_SET");
g[738]=(T7*)se_string(27,"ITERATOR_ON_DICTIONARY_KEYS");
g[735]=(T7*)se_string(15,"ITERATOR_ON_ZIP");
g[833]=(T7*)se_string(38,"ITERATOR_ON_BIJECTIVE_DICTIONARY_ITEMS");
g[834]=(T7*)se_string(32,"ITERATOR_ON_BIJECTIVE_DICTIONARY");
g[52]=(T7*)se_string(9,"PROCEDURE");
g[60]=(T7*)se_string(6,"MEMORY");
g[19]=(T7*)se_string(7,"TUPLE 1");
g[20]=(T7*)se_string(7,"TUPLE 2");
g[53]=(T7*)se_string(7,"ROUTINE");
g[21]=(T7*)se_string(7,"TUPLE 3");
g[757]=(T7*)se_string(9,"EXCEPTION");
g[22]=(T7*)se_string(7,"TUPLE 4");
g[287]=(T7*)se_string(28,"LOADED_HIERARCHIC_GRAPH_NODE");
g[23]=(T7*)se_string(7,"TUPLE 5");
g[24]=(T7*)se_string(7,"TUPLE 6");
g[25]=(T7*)se_string(7,"TUPLE 7");
g[26]=(T7*)se_string(7,"TUPLE 8");
g[345]=(T7*)se_string(10,"EXCEPTIONS");
g[27]=(T7*)se_string(7,"TUPLE 9");
g[18]=(T7*)se_string(5,"TUPLE");
g[288]=(T7*)se_string(21,"HIERARCHIC_GRAPH_NODE");
g[38]=(T7*)se_string(13,"ANY_REFERENCE");
g[28]=(T7*)se_string(8,"TUPLE 10");
g[8]=(T7*)se_string(7,"POINTER");
g[37]=(T7*)se_string(9,"REFERENCE");
g[34]=(T7*)se_string(9,"ARGUMENTS");
g[304]=(T7*)se_string(8,"FUNCTION");
g[6]=(T7*)se_string(7,"BOOLEAN");
g[309]=(T7*)se_string(10,"SAFE_EQUAL");
g[17]=(T7*)se_string(3,"ANY");
g[341]=(T7*)se_string(14,"WEAK_REFERENCE");
g[49]=(T7*)se_string(8,"PLATFORM");
g[82]=(T7*)se_string(17,"INTERNALS_HANDLER");
g[758]=(T7*)se_string(15,"NAMED_EXCEPTION");
g[748]=(T7*)se_string(22,"NATIVE_ARRAY_INTERNALS");
g[74]=(T7*)se_string(15,"TYPED_INTERNALS");
g[80]=(T7*)se_string(7,"AT_EXIT");
g[58]=(T7*)se_string(22,"NATIVE_ARRAY_COLLECTOR");
g[75]=(T7*)se_string(9,"INTERNALS");
g[809]=(T7*)se_string(3,"XDG");
g[353]=(T7*)se_string(7,"COUNTER");
g[331]=(T7*)se_string(3,"URL");
g[881]=(T7*)se_string(7,"ADDRESS");
g[752]=(T7*)se_string(8,"PROTOCOL");
g[753]=(T7*)se_string(16,"RESOURCE_LOCATOR");
g[884]=(T7*)se_string(6,"ACCESS");
g[877]=(T7*)se_string(26,"SOCKET_INPUT_OUTPUT_STREAM");
g[751]=(T7*)se_string(9,"PROTOCOLS");
g[332]=(T7*)se_string(12,"URL_VALIDITY");
g[880]=(T7*)se_string(4,"HOST");
g[891]=(T7*)se_string(12,"IPV4_ADDRESS");
g[882]=(T7*)se_string(10,"TCP_ACCESS");
g[883]=(T7*)se_string(11,"IPV4_ACCESS");
g[893]=(T7*)se_string(11,"IPV4_SOCKET");
g[840]=(T7*)se_string(13,"SOCKET_SERVER");
g[892]=(T7*)se_string(33,"CLIENT_SOCKET_INPUT_OUTPUT_STREAM");
g[876]=(T7*)se_string(33,"SERVER_SOCKET_INPUT_OUTPUT_STREAM");
g[894]=(T7*)se_string(11,"SOCKET_IMPL");
g[842]=(T7*)se_string(14,"SOCKET_PLUG_IN");
g[895]=(T7*)se_string(18,"IPV4_SOCKET_SERVER");
g[841]=(T7*)se_string(14,"SOCKET_HANDLER");
g[878]=(T7*)se_string(6,"SOCKET");
g[754]=(T7*)se_string(15,"STREAM_PROTOCOL");
g[885]=(T7*)se_string(24,"HTTP_CLIENT_INPUT_STREAM");
g[847]=(T7*)se_string(13,"FILE_PROTOCOL");
g[844]=(T7*)se_string(13,"HTTP_PROTOCOL");
g[845]=(T7*)se_string(12,"TCP_PROTOCOL");
g[887]=(T7*)se_string(10,"HTTP_PROXY");
g[886]=(T7*)se_string(25,"HTTP_CLIENT_OUTPUT_STREAM");
g[888]=(T7*)se_string(21,"FILE_RESOURCE_LOCATOR");
g[846]=(T7*)se_string(25,"NETWORK_RESOURCE_VALIDITY");
g[879]=(T7*)se_string(24,"NETWORK_RESOURCE_LOCATOR");
g[12]=(T7*)se_string(13,"REAL_EXTENDED");
g[318]=(T7*)se_string(12,"REAL_GENERAL");
g[16]=(T7*)se_string(10,"NATURAL_64");
g[2]=(T7*)se_string(10,"INTEGER_32");
g[322]=(T7*)se_string(6,"NUMBER");
g[305]=(T7*)se_string(13,"INTEGER_RANGE");
g[4]=(T7*)se_string(7,"REAL_32");
g[1]=(T7*)se_string(9,"INTEGER_8");
g[745]=(T7*)se_string(19,"MUTABLE_BIG_INTEGER");
g[11]=(T7*)se_string(10,"INTEGER_64");
g[323]=(T7*)se_string(12,"NUMBER_TOOLS");
g[101]=(T7*)se_string(15,"INTEGER_GENERAL");
g[5]=(T7*)se_string(7,"REAL_64");
g[14]=(T7*)se_string(10,"NATURAL_16");
g[102]=(T7*)se_string(8,"INTEGRAL");
g[103]=(T7*)se_string(7,"NUMERIC");
g[319]=(T7*)se_string(5,"FLOAT");
g[15]=(T7*)se_string(10,"NATURAL_32");
g[13]=(T7*)se_string(9,"NATURAL_8");
g[338]=(T7*)se_string(15,"NATURAL_GENERAL");
g[10]=(T7*)se_string(10,"INTEGER_16");
g[320]=(T7*)se_string(14,"REAL_PRECISION");
g[744]=(T7*)se_string(32,"FRACTION_WITH_BIG_INTEGER_NUMBER");
g[740]=(T7*)se_string(17,"INTEGER_64_NUMBER");
g[741]=(T7*)se_string(22,"INTEGER_GENERAL_NUMBER");
g[734]=(T7*)se_string(22,"INTEGER_RANGE_ITERATOR");
g[743]=(T7*)se_string(23,"FRACTION_GENERAL_NUMBER");
g[742]=(T7*)se_string(18,"BIG_INTEGER_NUMBER");
g[838]=(T7*)se_string(11,"PARSE_ERROR");
g[839]=(T7*)se_string(26,"DEFAULT_MINI_PARSER_MEMORY");
g[837]=(T7*)se_string(18,"MINI_PARSER_MEMORY");
g[746]=(T7*)se_string(18,"MINI_PARSER_BUFFER");
g[750]=(T7*)se_string(10,"EVENTS_SET");
g[843]=(T7*)se_string(15,"EVENTS_EXPECTER");
g[329]=(T7*)se_string(16,"EVENT_DESCRIPTOR");
g[335]=(T7*)se_string(25,"CAN_READ_DATA_FROM_STREAM");
g[875]=(T7*)se_string(27,"NETWORK_CONNECTION_OCCURRED");
g[330]=(T7*)se_string(16,"STREAM_EXCEPTION");
g[340]=(T7*)se_string(24,"CAN_WRITE_DATA_TO_STREAM");
g[822]=(T7*)se_string(28,"COMPARATOR_COLLECTION_SORTER");
g[551]=(T7*)se_string(17,"COLLECTION_SORTER");
g[721]=(T7*)se_string(25,"REVERSE_COLLECTION_SORTER");
g[552]=(T7*)se_string(15,"ABSTRACT_SORTER");
g[56]=(T7*)se_string(10,"COLLECTION");
g[350]=(T7*)se_string(3,"SET");
g[54]=(T7*)se_string(5,"STACK");
g[297]=(T7*)se_string(17,"SIMPLE_DICTIONARY");
g[716]=(T7*)se_string(20,"BIJECTIVE_DICTIONARY");
g[661]=(T7*)se_string(5,"QUEUE");
g[298]=(T7*)se_string(10,"DICTIONARY");
g[299]=(T7*)se_string(3,"MAP");
g[725]=(T7*)se_string(24,"DICTIONARY_KEY_TRAVERSER");
g[55]=(T7*)se_string(10,"FAST_ARRAY");
g[826]=(T7*)se_string(11,"LINKED_LIST");
g[315]=(T7*)se_string(5,"ARRAY");
g[342]=(T7*)se_string(10,"RING_ARRAY");
g[295]=(T7*)se_string(14,"AVL_DICTIONARY");
g[312]=(T7*)se_string(17,"HASHED_DICTIONARY");
g[296]=(T7*)se_string(23,"ABSTRACT_AVL_DICTIONARY");
g[313]=(T7*)se_string(26,"ABSTRACT_HASHED_DICTIONARY");
g[308]=(T7*)se_string(3,"ZIP");
g[307]=(T7*)se_string(9,"ENUMERATE");
g[715]=(T7*)se_string(27,"HASHED_BIJECTIVE_DICTIONARY");
g[762]=(T7*)se_string(7,"AVL_SET");
g[763]=(T7*)se_string(16,"ABSTRACT_AVL_SET");
g[349]=(T7*)se_string(19,"ABSTRACT_HASHED_SET");
g[348]=(T7*)se_string(10,"HASHED_SET");
g[316]=(T7*)se_string(12,"NATIVE_ARRAY");
g[327]=(T7*)se_string(21,"STRING_RECYCLING_ITEM");
g[310]=(T7*)se_string(14,"RECYCLING_POOL");
g[325]=(T7*)se_string(26,"ARRAYED_COLLECTION_HANDLER");
g[59]=(T7*)se_string(21,"STRING_RECYCLING_POOL");
g[749]=(T7*)se_string(28,"STRING_RECYCLING_ITEM_SORTER");
g[848]=(T7*)se_string(21,"ABSTRACT_AVL_SET_NODE");
g[736]=(T7*)se_string(26,"ANY_HASHED_DICTIONARY_NODE");
g[835]=(T7*)se_string(36,"ANY_HASHED_BIJECTIVE_DICTIONARY_NODE");
g[873]=(T7*)se_string(16,"LINKED_LIST_NODE");
g[733]=(T7*)se_string(19,"AVL_DICTIONARY_NODE");
g[836]=(T7*)se_string(32,"HASHED_BIJECTIVE_DICTIONARY_NODE");
g[57]=(T7*)se_string(18,"ARRAYED_COLLECTION");
g[761]=(T7*)se_string(15,"HASHED_SET_NODE");
g[300]=(T7*)se_string(8,"AVL_TREE");
g[728]=(T7*)se_string(23,"ANY_AVL_DICTIONARY_NODE");
g[851]=(T7*)se_string(12,"AVL_SET_NODE");
g[760]=(T7*)se_string(19,"ANY_HASHED_SET_NODE");
g[723]=(T7*)se_string(13,"AVL_TREE_NODE");
g[872]=(T7*)se_string(20,"ANY_LINKED_LIST_NODE");
g[737]=(T7*)se_string(22,"HASHED_DICTIONARY_NODE");
g[727]=(T7*)se_string(28,"ABSTRACT_AVL_DICTIONARY_NODE");
g[849]=(T7*)se_string(16,"ANY_AVL_SET_NODE");
g[827]=(T7*)se_string(17,"LINKED_COLLECTION");
g[314]=(T7*)se_string(15,"HASH_TABLE_SIZE");
g[724]=(T7*)se_string(17,"AVL_TREE_NODE_ANY");
g[301]=(T7*)se_string(13,"AVL_CONSTANTS");
g[311]=(T7*)se_string(12,"FIXED_STRING");
g[336]=(T7*)se_string(14,"UNICODE_STRING");
g[40]=(T7*)se_string(15,"ABSTRACT_STRING");
g[337]=(T7*)se_string(21,"UNICODE_STRING_HELPER");
g[73]=(T7*)se_string(11,"LAZY_STRING");
g[324]=(T7*)se_string(4,"ROPE");
g[39]=(T7*)se_string(22,"NATIVELY_STORED_STRING");
g[3]=(T7*)se_string(9,"CHARACTER");
g[7]=(T7*)se_string(6,"STRING");
g[109]=(T7*)se_string(22,"UNICODE_STRING_HANDLER");
g[51]=(T7*)se_string(14,"STRING_HANDLER");
g[321]=(T7*)se_string(23,"PARTIALLY_FILLED_STRING");
g[747]=(T7*)se_string(16,"ITERATOR_ON_ROPE");
g[902]=(T7*)se_string(14,"TIME_FORMATTER");
g[722]=(T7*)se_string(4,"TIME");
g[494]=(T7*)se_string(16,"MICROSECOND_TIME");
g[495]=(T7*)se_string(12,"TIME_HANDLER");
g[769]=(T7*)se_string(11,"UTF8_PARSER");
g[906]=g[55];
g[9]=g[316];
g[907]=g[295];
g[909]=g[37];
g[910]=g[295];
g[911]=g[312];
g[912]=g[316];
g[913]=g[55];
g[914]=g[733];
g[915]=g[55];
g[916]=g[733];
g[918]=g[551];
g[919]=g[54];
g[920]=g[37];
g[922]=g[37];
g[923]=g[312];
g[924]=g[55];
g[925]=g[55];
g[926]=g[310];
g[927]=g[721];
g[930]=g[737];
g[933]=g[341];
g[934]=g[316];
g[935]=g[341];
g[936]=g[737];
g[937]=g[312];
g[938]=g[55];
g[939]=g[316];
g[941]=g[342];
g[943]=g[316];
g[944]=g[309];
g[946]=g[37];
g[947]=g[304];
g[948]=g[342];
g[949]=g[55];
g[951]=g[312];
g[953]=g[55];
g[955]=g[316];
g[956]=g[737];
g[957]=g[341];
g[958]=g[316];
g[959]=g[316];
g[960]=g[316];
g[961]=g[316];
g[963]=g[316];
g[964]=g[316];
g[965]=g[316];
g[966]=g[316];
g[967]=g[316];
g[968]=g[341];
g[969]=g[348];
g[970]=g[542];
g[971]=g[542];
g[972]=g[737];
g[973]=g[316];
g[974]=g[341];
g[975]=g[316];
g[978]=g[55];
g[979]=g[55];
g[980]=g[55];
g[981]=g[312];
g[982]=g[312];
g[986]=g[316];
g[987]=g[761];
g[988]=g[341];
g[991]=g[312];
g[992]=g[316];
g[993]=g[737];
g[994]=g[326];
g[996]=g[341];
g[997]=g[315];
g[998]=g[316];
g[999]=g[55];
g[1001]=g[316];
g[1002]=g[316];
g[1003]=g[316];
g[1004]=g[341];
g[1005]=g[737];
g[1006]=g[316];
g[1007]=g[55];
g[1008]=g[341];
g[1010]=g[316];
g[1011]=g[341];
g[1012]=g[737];
g[1013]=g[316];
g[1015]=g[312];
g[1016]=g[312];
g[1017]=g[316];
g[1018]=g[737];
g[1019]=g[316];
g[1020]=g[341];
g[1021]=g[737];
g[1022]=g[316];
g[1023]=g[341];
g[1025]=g[729];
g[1028]=g[312];
g[1030]=g[310];
g[1031]=g[55];
g[1032]=g[310];
g[1033]=g[54];
g[1035]=g[312];
g[1038]=g[316];
g[1039]=g[737];
g[1040]=g[341];
g[1041]=g[316];
g[1042]=g[316];
g[1043]=g[316];
g[1044]=g[316];
g[1045]=g[737];
g[1046]=g[341];
g[1047]=g[310];
g[1048]=g[738];
t[29]=g[29];
t[126]=g[126];
t[2]=g[2];
t[1]=g[1];
t[113]=g[113];
t[906]=(T7*)se_string(18,"FAST_ARRAY[STRING]");
t[7]=g[7];
t[9]=(T7*)se_string(23,"NATIVE_ARRAY[CHARACTER]");
t[3]=g[3];
t[6]=g[6];
t[303]=g[303];
t[111]=g[111];
t[907]=(T7*)se_string(29,"AVL_DICTIONARY[STRING,STRING]");
t[294]=g[294];
t[909]=(T7*)se_string(18,"REFERENCE[BOOLEAN]");
t[69]=g[69];
t[910]=(T7*)se_string(32,"AVL_DICTIONARY[SE_C_MODE,STRING]");
t[302]=g[302];
t[664]=g[664];
t[81]=g[81];
t[556]=g[556];
t[548]=g[548];
t[78]=g[78];
t[293]=g[293];
t[99]=g[99];
t[911]=(T7*)se_string(32,"HASHED_DICTIONARY[STRING,STRING]");
t[912]=(T7*)se_string(20,"NATIVE_ARRAY[STRING]");
t[8]=g[8];
t[10]=g[10];
t[321]=g[321];
t[913]=(T7*)se_string(46,"FAST_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]");
t[914]=(T7*)se_string(34,"AVL_DICTIONARY_NODE[STRING,STRING]");
t[80]=g[80];
t[915]=(T7*)se_string(49,"FAST_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]");
t[916]=(T7*)se_string(37,"AVL_DICTIONARY_NODE[SE_C_MODE,STRING]");
t[809]=g[809];
t[806]=g[806];
t[808]=g[808];
t[918]=(T7*)se_string(25,"COLLECTION_SORTER[STRING]");
t[919]=(T7*)se_string(13,"STACK[STRING]");
t[920]=(T7*)se_string(17,"REFERENCE[STRING]");
t[59]=g[59];
t[123]=g[123];
t[807]=g[807];
t[311]=g[311];
t[922]=(T7*)se_string(29,"REFERENCE[DIRECTORY_NOTATION]");
t[923]=(T7*)se_string(54,"HASHED_DICTIONARY[FAST_ARRAY[FIXED_STRING],INTEGER_32]");
t[924]=(T7*)se_string(24,"FAST_ARRAY[FIXED_STRING]");
t[563]=g[563];
t[558]=g[558];
t[562]=g[562];
t[925]=(T7*)se_string(20,"FAST_ARRAY[POSITION]");
t[354]=g[354];
t[926]=(T7*)se_string(28,"RECYCLING_POOL[TAGGED_ERROR]");
t[719]=g[719];
t[11]=g[11];
t[927]=(T7*)se_string(35,"REVERSE_COLLECTION_SORTER[POSITION]");
t[92]=g[92];
t[930]=(T7*)se_string(37,"HASHED_DICTIONARY_NODE[STRING,STRING]");
t[933]=(T7*)se_string(53,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[STRING,STRING]]");
t[934]=(T7*)se_string(51,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[STRING,STRING]]");
t[935]=(T7*)se_string(89,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]");
t[936]=(T7*)se_string(73,"HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]");
t[937]=(T7*)se_string(68,"HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]");
t[938]=(T7*)se_string(27,"FAST_ARRAY[ABSTRACT_STRING]");
t[939]=(T7*)se_string(48,"NATIVE_ARRAY[AVL_DICTIONARY_NODE[STRING,STRING]]");
t[941]=(T7*)se_string(28,"RING_ARRAY[PROCEDURE[TUPLE]]");
t[943]=(T7*)se_string(51,"NATIVE_ARRAY[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]");
t[944]=(T7*)se_string(18,"SAFE_EQUAL[STRING]");
t[946]=(T7*)se_string(23,"REFERENCE[FIXED_STRING]");
t[947]=(T7*)se_string(31,"FUNCTION[TUPLE,ABSTRACT_STRING]");
t[948]=(T7*)se_string(21,"RING_ARRAY[SE_CONFIG]");
t[949]=(T7*)se_string(33,"FAST_ARRAY[STRING_RECYCLING_ITEM]");
t[327]=g[327];
t[749]=g[749];
t[281]=g[281];
t[107]=g[107];
t[106]=g[106];
t[951]=(T7*)se_string(35,"HASHED_DICTIONARY[SE_C_MODE,STRING]");
t[953]=(T7*)se_string(52,"FAST_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]");
t[955]=(T7*)se_string(73,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[FIXED_STRING],INTEGER_32]]");
t[956]=(T7*)se_string(59,"HASHED_DICTIONARY_NODE[FAST_ARRAY[FIXED_STRING],INTEGER_32]");
t[957]=(T7*)se_string(75,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[FAST_ARRAY[FIXED_STRING],INTEGER_32]]");
t[958]=(T7*)se_string(26,"NATIVE_ARRAY[FIXED_STRING]");
t[959]=(T7*)se_string(22,"NATIVE_ARRAY[POSITION]");
t[283]=g[283];
t[291]=g[291];
t[960]=(T7*)se_string(24,"NATIVE_ARRAY[CLASS_TEXT]");
t[961]=(T7*)se_string(26,"NATIVE_ARRAY[TAGGED_ERROR]");
t[963]=(T7*)se_string(87,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]");
t[964]=(T7*)se_string(29,"NATIVE_ARRAY[ABSTRACT_STRING]");
t[965]=(T7*)se_string(30,"NATIVE_ARRAY[PROCEDURE[TUPLE]]");
t[966]=(T7*)se_string(23,"NATIVE_ARRAY[SE_CONFIG]");
t[967]=(T7*)se_string(35,"NATIVE_ARRAY[STRING_RECYCLING_ITEM]");
t[968]=(T7*)se_string(22,"WEAK_REFERENCE[STRING]");
t[969]=(T7*)se_string(25,"HASHED_SET[HASHED_STRING]");
t[970]=(T7*)se_string(60,"ORDERED_DICTIONARY[ORDERED_DICTIONARY[STRING,STRING],STRING]");
t[971]=(T7*)se_string(33,"ORDERED_DICTIONARY[STRING,STRING]");
t[440]=g[440];
t[792]=g[792];
t[398]=g[398];
t[336]=g[336];
t[545]=g[545];
t[972]=(T7*)se_string(40,"HASHED_DICTIONARY_NODE[SE_C_MODE,STRING]");
t[973]=(T7*)se_string(54,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SE_C_MODE,STRING]]");
t[974]=(T7*)se_string(56,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SE_C_MODE,STRING]]");
t[975]=(T7*)se_string(54,"NATIVE_ARRAY[WEAK_REFERENCE[FAST_ARRAY[FIXED_STRING]]]");
t[978]=(T7*)se_string(25,"FAST_ARRAY[HASHED_STRING]");
t[979]=(T7*)se_string(19,"FAST_ARRAY[CLUSTER]");
t[980]=(T7*)se_string(22,"FAST_ARRAY[INTEGER_32]");
t[711]=g[711];
t[981]=(T7*)se_string(43,"HASHED_DICTIONARY[INTEGER_16,HASHED_STRING]");
t[587]=g[587];
t[710]=g[710];
t[982]=(T7*)se_string(62,"HASHED_DICTIONARY[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]");
t[986]=(T7*)se_string(44,"NATIVE_ARRAY[HASHED_SET_NODE[HASHED_STRING]]");
t[987]=(T7*)se_string(30,"HASHED_SET_NODE[HASHED_STRING]");
t[988]=(T7*)se_string(46,"WEAK_REFERENCE[HASHED_SET_NODE[HASHED_STRING]]");
t[991]=(T7*)se_string(61,"HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]");
t[992]=(T7*)se_string(78,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[ORDERED_DICTIONARY[STRING,STRING],STRING]]");
t[993]=(T7*)se_string(64,"HASHED_DICTIONARY_NODE[ORDERED_DICTIONARY[STRING,STRING],STRING]");
t[994]=(T7*)se_string(31,"ITERATOR_ON_TRAVERSABLE[STRING]");
t[996]=(T7*)se_string(80,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[ORDERED_DICTIONARY[STRING,STRING],STRING]]");
t[997]=(T7*)se_string(13,"ARRAY[STRING]");
t[998]=(T7*)se_string(24,"NATIVE_ARRAY[INTEGER_16]");
t[999]=(T7*)se_string(22,"FAST_ARRAY[INTEGER_16]");
t[803]=g[803];
t[804]=g[804];
t[805]=g[805];
t[800]=g[800];
t[801]=g[801];
t[802]=g[802];
t[1001]=(T7*)se_string(27,"NATIVE_ARRAY[HASHED_STRING]");
t[1002]=(T7*)se_string(21,"NATIVE_ARRAY[CLUSTER]");
t[1003]=(T7*)se_string(24,"NATIVE_ARRAY[INTEGER_32]");
t[1004]=(T7*)se_string(64,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[INTEGER_16,HASHED_STRING]]");
t[1005]=(T7*)se_string(48,"HASHED_DICTIONARY_NODE[INTEGER_16,HASHED_STRING]");
t[1006]=(T7*)se_string(62,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_16,HASHED_STRING]]");
t[1007]=(T7*)se_string(19,"FAST_ARRAY[CLASSES]");
t[1008]=(T7*)se_string(83,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]]");
t[1010]=(T7*)se_string(81,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[DICTIONARY[INTEGER_16,HASHED_STRING],STRING]]");
t[1011]=(T7*)se_string(82,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]]");
t[1012]=(T7*)se_string(66,"HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]");
t[1013]=(T7*)se_string(80,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_SET_NODE],STRING]]");
t[1015]=(T7*)se_string(43,"HASHED_DICTIONARY[PROCESS_POSIX,INTEGER_32]");
t[1016]=(T7*)se_string(43,"HASHED_DICTIONARY[PROCESS_WIN32,INTEGER_32]");
t[1017]=(T7*)se_string(21,"NATIVE_ARRAY[CLASSES]");
t[1018]=(T7*)se_string(48,"HASHED_DICTIONARY_NODE[PROCESS_POSIX,INTEGER_32]");
t[1019]=(T7*)se_string(62,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCESS_POSIX,INTEGER_32]]");
t[1020]=(T7*)se_string(64,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCESS_POSIX,INTEGER_32]]");
t[1021]=(T7*)se_string(48,"HASHED_DICTIONARY_NODE[PROCESS_WIN32,INTEGER_32]");
t[1022]=(T7*)se_string(62,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCESS_WIN32,INTEGER_32]]");
t[1023]=(T7*)se_string(64,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCESS_WIN32,INTEGER_32]]");
t[1025]=(T7*)se_string(46,"ITERATOR_ON_AVL_DICTIONARY_KEYS[STRING,STRING]");
t[61]=g[61];
t[1028]=(T7*)se_string(65,"HASHED_DICTIONARY[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]");
t[1030]=(T7*)se_string(50,"RECYCLING_POOL[AVL_DICTIONARY_NODE[STRING,STRING]]");
t[811]=g[811];
t[813]=g[813];
t[1031]=(T7*)se_string(19,"FAST_ARRAY[POINTER]");
t[855]=g[855];
t[857]=g[857];
t[858]=g[858];
t[859]=g[859];
t[1032]=(T7*)se_string(44,"RECYCLING_POOL[STACK[AVL_TREE_NODE[STRING]]]");
t[1033]=(T7*)se_string(28,"STACK[AVL_TREE_NODE[STRING]]");
t[1035]=(T7*)se_string(72,"HASHED_DICTIONARY[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]");
t[1038]=(T7*)se_string(84,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]]");
t[1039]=(T7*)se_string(70,"HASHED_DICTIONARY_NODE[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]");
t[1040]=(T7*)se_string(86,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[RECYCLING_POOL[AVL_TREE_NODE_ANY],FIXED_STRING]]");
t[1041]=(T7*)se_string(21,"NATIVE_ARRAY[POINTER]");
t[1042]=(T7*)se_string(42,"NATIVE_ARRAY[STACK[AVL_TREE_NODE[STRING]]]");
t[1043]=(T7*)se_string(35,"NATIVE_ARRAY[AVL_TREE_NODE[STRING]]");
t[1044]=(T7*)se_string(91,"NATIVE_ARRAY[HASHED_DICTIONARY_NODE[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]]");
t[1045]=(T7*)se_string(77,"HASHED_DICTIONARY_NODE[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]");
t[1046]=(T7*)se_string(93,"WEAK_REFERENCE[HASHED_DICTIONARY_NODE[RECYCLING_POOL[STACK[AVL_TREE_NODE_ANY]],FIXED_STRING]]");
t[1047]=(T7*)se_string(53,"RECYCLING_POOL[AVL_DICTIONARY_NODE[SE_C_MODE,STRING]]");
t[1048]=(T7*)se_string(42,"ITERATOR_ON_DICTIONARY_KEYS[STRING,STRING]");
#ifdef SIGQUIT
                                                 signal(SIGQUIT,se_signal_handler);
#endif
#ifdef SIGILL
                                                 signal(SIGILL,se_signal_handler);
#endif
#ifdef SIGABRT
                                                 signal(SIGABRT,se_signal_handler);
#endif
#ifdef SIGFPE
                                                 signal(SIGFPE,se_signal_handler);
#endif
#ifdef SIGSEGV
                                                 signal(SIGSEGV,se_signal_handler);
#endif
#ifdef SIGBUS
                                                 signal(SIGBUS,se_signal_handler);
#endif
#ifdef SIGSYS
                                                 signal(SIGSYS,se_signal_handler);
#endif
#ifdef SIGTRAP
                                                 signal(SIGTRAP,se_signal_handler);
#endif
#ifdef SIGXCPU
                                                 signal(SIGXCPU,se_signal_handler);
#endif
#ifdef SIGXFSZ
                                                 signal(SIGXFSZ,se_signal_handler);
#endif
se_msi1();
/*PCO:{GLOBALS}.is_launcher_memory*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T909/*p*/))));
*((T909*)tmp0/*new*/)=M909;
oBC30is_launcher_memory=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{GLOBALS}.smart_eiffel*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T111/*ppp*/))));
*((T111*)tmp0/*new*/)=M111;
oBC30smart_eiffel=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{ANY}.std_error*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T81/*Tp*/))));
*((T81*)tmp0/*new*/)=M81;
oBC17std_error=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{GLOBALS}.install_memory*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T909/*p*/))));
*((T909*)tmp0/*new*/)=M909;
oBC30install_memory=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{GLOBALS}.ace*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T283/*pip*/))));
*((T283*)tmp0/*new*/)=M283;
oBC30ace=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{GLOBALS}.tmp_file_read*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T99/*pnpiiippc*/))));
*((T99*)tmp0/*new*/)=M99;
oBC30tmp_file_read=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{ANY}.io*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T78/*0*/))));
*((T78*)tmp0/*new*/)=M78;
oBC17io=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{ANY}.tagged_out_memory_ref*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T920/*p*/))));
*((T920*)tmp0/*new*/)=M920;
oBC17tagged_out_memory_ref=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{FILE_TOOLS}.tfr1*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T99/*pnpiiippc*/))));
*((T99*)tmp0/*new*/)=M99;
oBC294tfr1=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{BASIC_DIRECTORY}.system_notation_buffer*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T922/*p*/))));
*((T922*)tmp0/*new*/)=M922;
oBC548system_notation_buffer=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{AT_EXIT}.is_running_memory*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T909/*p*/))));
*((T909*)tmp0/*new*/)=M909;
oBC80is_running_memory=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{XDG}.package_name*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T946/*p*/))));
*((T946*)tmp0/*new*/)=M946;
oBC809package_name=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{GLOBALS}.string_aliaser*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(1)));
oBC30string_aliaser=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{GLOBALS}.ini_parser*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T106/*8piiiisppiippppc*/))));
*((T106*)tmp0/*new*/)=M106;
/*RF3:serc*/r106serc(((T106*)tmp0/*new*/));
/*:RF3*/oBC30ini_parser=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{GLOBALS}.plugin_config*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
/*reusing tmp0*/tmp0/*new*/=/*alloc*/((T0*)(se_malloc(sizeof(T106/*8piiiisppiippppc*/))));
*((T106*)tmp0/*new*/)=M106;
/*RF3:plugin*/r106plugin(((T106*)tmp0/*new*/));
/*:RF3*/oBC30plugin_config=tmp0/*new*/;
/*tmp0.unlock*/
/*  - NO ensure*/
/*PCO:{POSITION}.class_text_storage*/
/*  - NO require*/
/*  - NO user expanded*/
/*  - NO local vars*/
/*  - routine body*/
oBC354class_text_storage=/*RF8:calloc*/se_calloc(INT32_C(32768),sizeof(T0*))/*:RF8*/;
/*  - NO ensure*/
/*reusing tmp0*/tmp0/*root*/=/*alloc*/((T0*)(se_malloc(sizeof(T29/*2ppp*/))));
*((T29*)tmp0/*root*/)=M29;
eiffel_root_object=((T29*)tmp0/*root*/);
/*tmp0.unlock*/
}/*--*/

int main(int argc,char*argv[]){
/*[INTERNAL_C_LOCAL list*/
T0* tmp0;
/*INTERNAL_C_LOCAL list]*/
initialize_eiffel_runtime(argc,argv);
tmp0/*prof*/=((T0*)eiffel_root_object);
/*RF3:make*/r29make(((T29*)tmp0/*prof*/));
/*:RF3*/handle(SE_HANDLE_NORMAL_EXIT, NULL);
/*tmp0.unlock*/
exit(0);
return 0;
}/*--*/

T0* se_manifest906(int argc){
/*FAST_ARRAY[STRING]*/
T906*C;
C=se_malloc(sizeof(T906/*niii*/));
*C=M906;
r906manifest_make(C,argc);
return ((T0*)C);
}/*--*/

T0* se_manifest_args906(T0*c,int i0,int argc,...){
/*FAST_ARRAY[STRING]*/
T906*C=(T906*)c;
va_list pa;
int i=i0;
int imax=i+argc;
va_start(pa,argc);
while (i < imax) {
T0* element=((T0*)(va_arg(pa,T0*)));
r906manifest_put(C,i++,element);
}
va_end(pa);
return c;
}/*--*/

T0* se_manifest1031(int argc){
/*FAST_ARRAY[POINTER]*/
T1031*C;
C=se_malloc(sizeof(T1031/*niii*/));
*C=M1031;
r1031manifest_make(C,argc);
return ((T0*)C);
}/*--*/

T0* se_manifest_args1031(T0*c,int i0,int argc,...){
/*FAST_ARRAY[POINTER]*/
T1031*C=(T1031*)c;
va_list pa;
int i=i0;
int imax=i+argc;
va_start(pa,argc);
while (i < imax) {
T8 element=((T8)(va_arg(pa,T8)));
r1031manifest_put(C,i++,element);
}
va_end(pa);
return c;
}/*--*/

T0* se_manifest969(int argc){
/*HASHED_SET[HASHED_STRING]*/
T969*C;
C=se_malloc(sizeof(T969/*pniiii*/));
*C=M969;
r969manifest_make(C,argc);
return ((T0*)C);
}/*--*/

T0* se_manifest_args969(T0*c,int i0,int argc,...){
/*HASHED_SET[HASHED_STRING]*/
T969*C=(T969*)c;
va_list pa;
int i=i0;
int imax=i+argc;
va_start(pa,argc);
while (i < imax) {
T0* element=((T0*)(va_arg(pa,T0*)));
r969manifest_put(C,i++,element);
}
va_end(pa);
return c;
}/*--*/

int can_assign_to562_from560(T0* expression){
/* WINDOWS_DIRECTORY_NOTATION ?:= DIRECTORY_NOTATION */
if (expression == NULL) return 1;
switch (expression->id) {
case 562/*WINDOWS_DIRECTORY_NOTATION*/: return 1;
}
return 0;
}/*--*/

int can_assign_to558_from560(T0* expression){
/* UNIX_DIRECTORY_NOTATION ?:= DIRECTORY_NOTATION */
if (expression == NULL) return 1;
switch (expression->id) {
case 558/*UNIX_DIRECTORY_NOTATION*/: return 1;
}
return 0;
}/*--*/

int can_assign_to563_from560(T0* expression){
/* CYGWIN_DIRECTORY_NOTATION ?:= DIRECTORY_NOTATION */
if (expression == NULL) return 1;
switch (expression->id) {
case 563/*CYGWIN_DIRECTORY_NOTATION*/: return 1;
}
return 0;
}/*--*/

int can_assign_to39_from40(T0* expression){
/* NATIVELY_STORED_STRING ?:= ABSTRACT_STRING */
if (expression == NULL) return 1;
switch (expression->id) {
case 7/*STRING*/: return 1;
case 311/*FIXED_STRING*/: return 1;
}
return 0;
}/*--*/

int can_assign_to7_from40(T0* expression){
/* STRING ?:= ABSTRACT_STRING */
if (expression == NULL) return 1;
switch (expression->id) {
case 7/*STRING*/: return 1;
}
return 0;
}/*--*/

int can_assign_to311_from39(T0* expression){
/* FIXED_STRING ?:= NATIVELY_STORED_STRING */
if (expression == NULL) return 1;
switch (expression->id) {
case 311/*FIXED_STRING*/: return 1;
}
return 0;
}/*--*/

#ifdef __cplusplus
}
#endif
