/*
 * This file is loading the irep
 * Ruby GEM code.
 *
 * IMPORTANT:
 *   This file was generated!
 *   All manual changes will get lost.
 */
#include <stdlib.h>
#include <mruby.h>
#include <mruby/irep.h>
#include <mruby/debug.h>
#include <mruby/proc.h>
#include <mruby/presym.h>

#define mrb_BRACED(...) {__VA_ARGS__}
#define mrb_DEFINE_SYMS_VAR(name, len, syms, qualifier) \
  static qualifier mrb_sym name[len] = mrb_BRACED syms

mrb_DEFINE_SYMS_VAR(gem_mrblib_mruby_sprintf_proc_syms_2, 3, (MRB_SYM(Array), MRB_SYM_Q(is_a), MRB_SYM(sprintf), ), const);
static const mrb_code gem_mrblib_mruby_sprintf_proc_iseq_2[49] = {
0x33,0x04,0x00,0x00,0x01,0x03,0x01,0x1d,0x04,0x00,0x2d,0x03,0x01,0x01,0x25,0x03,0x00,0x12,0x12,0x03,
0x12,0x04,0x46,0x04,0x01,0x01,0x05,0x01,0x48,0x04,0x2b,0x03,0x02,0x23,0x00,0x0b,0x12,0x03,0x12,0x04,
0x01,0x05,0x01,0x2d,0x03,0x02,0x02,0x37,0x03,};
mrb_DEFINE_SYMS_VAR(gem_mrblib_mruby_sprintf_proc_lv_2, 2, (MRB_SYM(args), MRB_OPSYM(and), ), const);
static char gem_mrblib_mruby_sprintf_proc_debug_lines_2[] = "\x00\x02\x04\x01\x0c\x01\x12\x02";
static mrb_irep_debug_info_file gem_mrblib_mruby_sprintf_proc_debug_file_2 = {
0, 173, 8, mrb_debug_line_packed_map, {gem_mrblib_mruby_sprintf_proc_debug_lines_2}};
static mrb_irep_debug_info_file *gem_mrblib_mruby_sprintf_proc_debug_file_2_ = &gem_mrblib_mruby_sprintf_proc_debug_file_2;
static mrb_irep_debug_info gem_mrblib_mruby_sprintf_proc_debug_2 = {
49, 1, &gem_mrblib_mruby_sprintf_proc_debug_file_2_};
static const mrb_irep gem_mrblib_mruby_sprintf_proc_irep_2 = {
  3,7,0,
  MRB_IREP_STATIC,gem_mrblib_mruby_sprintf_proc_iseq_2,
  NULL,gem_mrblib_mruby_sprintf_proc_syms_2,NULL,
  gem_mrblib_mruby_sprintf_proc_lv_2,
  &gem_mrblib_mruby_sprintf_proc_debug_2,
  49,0,3,0,0
};
static const mrb_irep *gem_mrblib_mruby_sprintf_proc_reps_1[1] = {
  &gem_mrblib_mruby_sprintf_proc_irep_2,
};
mrb_DEFINE_SYMS_VAR(gem_mrblib_mruby_sprintf_proc_syms_1, 1, (MRB_OPSYM(mod), ), const);
static const mrb_code gem_mrblib_mruby_sprintf_proc_iseq_1[10] = {
0x62,0x01,0x57,0x02,0x00,0x5e,0x01,0x00,0x37,0x01,};
static char gem_mrblib_mruby_sprintf_proc_debug_lines_1[] = "\x00\x02";
static mrb_irep_debug_info_file gem_mrblib_mruby_sprintf_proc_debug_file_1 = {
0, 173, 2, mrb_debug_line_packed_map, {gem_mrblib_mruby_sprintf_proc_debug_lines_1}};
static mrb_irep_debug_info_file *gem_mrblib_mruby_sprintf_proc_debug_file_1_ = &gem_mrblib_mruby_sprintf_proc_debug_file_1;
static mrb_irep_debug_info gem_mrblib_mruby_sprintf_proc_debug_1 = {
10, 1, &gem_mrblib_mruby_sprintf_proc_debug_file_1_};
static const mrb_irep gem_mrblib_mruby_sprintf_proc_irep_1 = {
  1,3,0,
  MRB_IREP_STATIC,gem_mrblib_mruby_sprintf_proc_iseq_1,
  NULL,gem_mrblib_mruby_sprintf_proc_syms_1,gem_mrblib_mruby_sprintf_proc_reps_1,
  NULL,					/* lv */
  &gem_mrblib_mruby_sprintf_proc_debug_1,
  10,0,1,1,0
};
static const mrb_irep *gem_mrblib_mruby_sprintf_proc_reps_0[1] = {
  &gem_mrblib_mruby_sprintf_proc_irep_1,
};
mrb_DEFINE_SYMS_VAR(gem_mrblib_mruby_sprintf_proc_syms_0, 1, (MRB_SYM(String), ), const);
static const mrb_code gem_mrblib_mruby_sprintf_proc_iseq_0[13] = {
0x11,0x01,0x11,0x02,0x5b,0x01,0x00,0x5d,0x01,0x00,0x37,0x01,0x68,};
static char gem_mrblib_mruby_sprintf_proc_debug_lines_0[] = "\x00\x01";
static mrb_irep_debug_info_file gem_mrblib_mruby_sprintf_proc_debug_file_0 = {
0, 173, 2, mrb_debug_line_packed_map, {gem_mrblib_mruby_sprintf_proc_debug_lines_0}};
static mrb_irep_debug_info_file *gem_mrblib_mruby_sprintf_proc_debug_file_0_ = &gem_mrblib_mruby_sprintf_proc_debug_file_0;
static mrb_irep_debug_info gem_mrblib_mruby_sprintf_proc_debug_0 = {
13, 1, &gem_mrblib_mruby_sprintf_proc_debug_file_0_};
static const mrb_irep gem_mrblib_mruby_sprintf_proc_irep_0 = {
  1,3,0,
  MRB_IREP_STATIC,gem_mrblib_mruby_sprintf_proc_iseq_0,
  NULL,gem_mrblib_mruby_sprintf_proc_syms_0,gem_mrblib_mruby_sprintf_proc_reps_0,
  NULL,					/* lv */
  &gem_mrblib_mruby_sprintf_proc_debug_0,
  13,0,1,1,0
};
static
const struct RProc gem_mrblib_mruby_sprintf_proc[] = {{
NULL,NULL,MRB_TT_PROC,MRB_GC_RED,0,{&gem_mrblib_mruby_sprintf_proc_irep_0},NULL,{NULL},
}};
static void
gem_mrblib_mruby_sprintf_proc_init_syms(mrb_state *mrb)
{
  gem_mrblib_mruby_sprintf_proc_debug_file_2.filename_sym = mrb_intern_lit(mrb,"/build/zynaddsubfx/src/zynaddsubfx-mruby-zest-build/mruby/mrbgems/mruby-sprintf/mrblib/string.rb");
  gem_mrblib_mruby_sprintf_proc_debug_file_1.filename_sym = mrb_intern_lit(mrb,"/build/zynaddsubfx/src/zynaddsubfx-mruby-zest-build/mruby/mrbgems/mruby-sprintf/mrblib/string.rb");
  gem_mrblib_mruby_sprintf_proc_debug_file_0.filename_sym = mrb_intern_lit(mrb,"/build/zynaddsubfx/src/zynaddsubfx-mruby-zest-build/mruby/mrbgems/mruby-sprintf/mrblib/string.rb");
}
void mrb_mruby_sprintf_gem_init(mrb_state *mrb);
void mrb_mruby_sprintf_gem_final(mrb_state *mrb);

void GENERATED_TMP_mrb_mruby_sprintf_gem_init(mrb_state *mrb) {
  int ai = mrb_gc_arena_save(mrb);
  gem_mrblib_mruby_sprintf_proc_init_syms(mrb);
  mrb_mruby_sprintf_gem_init(mrb);
  mrb_load_proc(mrb, gem_mrblib_mruby_sprintf_proc);
  if (mrb->exc) {
    mrb_print_error(mrb);
    mrb_close(mrb);
    exit(EXIT_FAILURE);
  }
  struct REnv *e = mrb_vm_ci_env(mrb->c->cibase);
  mrb_vm_ci_env_set(mrb->c->cibase, NULL);
  mrb_env_unshare(mrb, e);
  mrb_gc_arena_restore(mrb, ai);
}

void GENERATED_TMP_mrb_mruby_sprintf_gem_final(mrb_state *mrb) {
  mrb_mruby_sprintf_gem_final(mrb);
}
