Sophie

Sophie

distrib > Fedora > 18 > x86_64 > media > updates > by-pkgid > 3866615ed9f87500bac83f78574eecc8 > files > 543

js-of-ocaml-doc-1.2-2.fc18.noarch.rpm

// This program was compiled from OCaml by js_of_ocaml 1.0
function caml_raise_with_arg (tag, arg) { throw [0, tag, arg]; }
function caml_raise_with_string (tag, msg) {
  caml_raise_with_arg (tag, new MlWrappedString (msg));
}
function caml_invalid_argument (msg) {
  caml_raise_with_string(caml_global_data[4], msg);
}
function caml_array_bound_error () {
  caml_invalid_argument("index out of bounds");
}
function caml_str_repeat(n, s) {
  if (!n) { return ""; }
  if (n & 1) { return caml_str_repeat(n - 1, s) + s; }
  var r = caml_str_repeat(n >> 1, s);
  return r + r;
}
function MlString(param) {
  if (param != null) {
    this.bytes = this.fullBytes = param;
    this.last = this.len = param.length;
  }
}
MlString.prototype = {
  string:null,
  bytes:null,
  fullBytes:null,
  array:null,
  len:null,
  last:0,
  toJsString:function() {
    return this.string = decodeURIComponent (escape(this.getFullBytes()));
  },
  toBytes:function() {
    if (this.string != null)
      var b = unescape (encodeURIComponent (this.string));
    else {
      var b = "", a = this.array, l = a.length;
      for (var i = 0; i < l; i ++) b += String.fromCharCode (a[i]);
    }
    this.bytes = this.fullBytes = b;
    this.last = this.len = b.length;
    return b;
  },
  getBytes:function() {
    var b = this.bytes;
    if (b == null) b = this.toBytes();
    return b;
  },
  getFullBytes:function() {
    var b = this.fullBytes;
    if (b !== null) return b;
    b = this.bytes;
    if (b == null) b = this.toBytes ();
    if (this.last < this.len) {
      this.bytes = (b += caml_str_repeat(this.len - this.last, '\0'));
      this.last = this.len;
    }
    this.fullBytes = b;
    return b;
  },
  toArray:function() {
    var b = this.bytes;
    if (b == null) b = this.toBytes ();
    var a = [], l = this.last;
    for (var i = 0; i < l; i++) a[i] = b.charCodeAt(i);
    for (l = this.len; i < l; i++) a[i] = 0;
    this.string = this.bytes = this.fullBytes = null;
    this.last = this.len;
    this.array = a;
    return a;
  },
  getArray:function() {
    var a = this.array;
    if (!a) a = this.toArray();
    return a;
  },
  getLen:function() {
    var len = this.len;
    if (len !== null) return len;
    this.toBytes();
    return this.len;
  },
  toString:function() { var s = this.string; return s?s:this.toJsString(); },
  valueOf:function() { var s = this.string; return s?s:this.toJsString(); },
  blitToArray:function(i1, a2, i2, l) {
    var a1 = this.array;
    if (a1)
      for (var i = 0; i < l; i++) a2 [i2 + i] = a1 [i1 + i];
    else {
      var b = this.bytes;
      if (b == null) b = this.toBytes();
      var l1 = this.last - i1;
      if (l <= l1)
        for (var i = 0; i < l; i++) a2 [i2 + i] = b.charCodeAt(i1 + i);
      else {
        for (var i = 0; i < l1; i++) a2 [i2 + i] = b.charCodeAt(i1 + i);
        for (; i < l; i++) a2 [i2 + i] = 0;
      }
    }
  },
  get:function (i) {
    var a = this.array;
    if (a) return a[i];
    var b = this.bytes;
    if (b == null) b = this.toBytes();
    return (i<this.last)?b.charCodeAt(i):0;
  },
  safeGet:function (i) {
    if (!this.len) this.toBytes();
    if ((i < 0) || (i >= this.len)) caml_array_bound_error ();
    return this.get(i);
  },
  set:function (i, c) {
    var a = this.array;
    if (!a) {
      if (this.last == i) {
        this.bytes += String.fromCharCode (c & 0xff);
        this.last ++;
        return 0;
      }
      a = this.toArray();
    } else if (this.bytes != null) {
      this.bytes = this.fullBytes = this.string = null;
    }
    a[i] = c & 0xff;
    return 0;
  },
  safeSet:function (i, c) {
    if (this.len == null) this.toBytes ();
    if ((i < 0) || (i >= this.len)) caml_array_bound_error ();
    this.set(i, c);
  },
  fill:function (ofs, len, c) {
    if (ofs >= this.last && this.last && c == 0) return;
    var a = this.array;
    if (!a) a = this.toArray();
    else if (this.bytes != null) {
      this.bytes = this.fullBytes = this.string = null;
    }
    var l = ofs + len;
    for (var i = ofs; i < l; i++) a[i] = c;
  },
  compare:function (s2) {
    if (this.string != null && s2.string != null) {
      if (this.string < s2.string) return -1;
      if (this.string > s2.string) return 1;
      return 0;
    }
    var b1 = this.getFullBytes ();
    var b2 = s2.getFullBytes ();
    if (b1 < b2) return -1;
    if (b1 > b2) return 1;
    return 0;
  },
  equal:function (s2) {
    if (this.string != null && s2.string != null)
      return this.string == s2.string;
    return this.getFullBytes () == s2.getFullBytes ();
  },
  lessThan:function (s2) {
    if (this.string != null && s2.string != null)
      return this.string < s2.string;
    return this.getFullBytes () < s2.getFullBytes ();
  },
  lessEqual:function (s2) {
    if (this.string != null && s2.string != null)
      return this.string <= s2.string;
    return this.getFullBytes () <= s2.getFullBytes ();
  }
}
function MlWrappedString (s) { this.string = s; }
MlWrappedString.prototype = new MlString();
function MlMakeString (l) { this.bytes = ""; this.len = l; }
MlMakeString.prototype = new MlString ();
function caml_array_get (array, index) {
  if ((index < 0) || (index >= array.length - 1)) caml_array_bound_error();
  return array[index+1];
}
function caml_array_set (array, index, newval) {
  if ((index < 0) || (index >= array.length - 1)) caml_array_bound_error();
  array[index+1]=newval; return 0;
}
function caml_blit_string(s1, i1, s2, i2, len) {
  if (len === 0) return;
  if (i2 === s2.last && s2.bytes != null) {
    var b = s1.bytes;
    if (b == null) b = s1.toBytes ();
    if (i1 > 0 || s1.last > len) b = b.slice(i1, i1 + len);
    s2.bytes += b;
    s2.last += b.length;
    return;
  }
  var a = s2.array;
  if (!a) a = s2.toArray(); else { s2.bytes = s2.string = null; }
  s1.blitToArray (i1, a, i2, len);
}
function caml_call_gen(f, args) {
  if(f.fun)
    return caml_call_gen(f.fun, args);
  var n = f.length;
  var d = n - args.length;
  if (d == 0)
    return f.apply(null, args);
  else if (d < 0)
    return caml_call_gen(f.apply(null, args.slice(0,n)), args.slice(n));
  else
    return function (x){ return caml_call_gen(f, args.concat([x])); };
}
function caml_classify_float (x) {
  if (isFinite (x)) {
    if (Math.abs(x) >= 2.2250738585072014e-308) return 0;
    if (x != 0) return 1;
    return 2;
  }
  return isNaN(x)?4:3;
}
function caml_create_string(len) {
  if (len < 0) caml_invalid_argument("String.create");
  return new MlMakeString(len);
}
function caml_int64_compare(x,y) {
  var x3 = x[3] << 16;
  var y3 = y[3] << 16;
  if (x3 > y3) return 1;
  if (x3 < y3) return -1;
  if (x[2] > y[2]) return 1;
  if (x[2] < y[2]) return -1;
  if (x[1] > y[1]) return 1;
  if (x[1] < y[1]) return -1;
  return 0;
}
function caml_int_compare (a, b) {
  if (a < b) return (-1); if (a == b) return 0; return 1;
}
function caml_compare_val (a, b, total) {
  var stack = [];
  for(;;) {
    if (!(total && a === b)) {
      if (a instanceof MlString) {
        if (b instanceof MlString) {
            if (a != b) {
		var x = a.compare(b);
		if (x != 0) return x;
	    }
        } else
          return 1;
      } else if (a instanceof Array && a[0] === (a[0]|0)) {
        var ta = a[0];
        if (ta === 250) {
          a = a[1];
          continue;
        } else if (b instanceof Array && b[0] === (b[0]|0)) {
          var tb = b[0];
          if (tb === 250) {
            b = b[1];
            continue;
          } else if (ta != tb) {
            return (ta < tb)?-1:1;
          } else {
            switch (ta) {
            case 248: {
		var x = caml_int_compare(a[2], b[2]);
		if (x != 0) return x;
		break;
	    }
            case 255: {
		var x = caml_int64_compare(a, b);
		if (x != 0) return x;
		break;
	    }
            default:
              if (a.length != b.length) return (a.length < b.length)?-1:1;
              if (a.length > 1) stack.push(a, b, 1);
            }
          }
        } else
          return 1;
      } else if (b instanceof MlString ||
                 (b instanceof Array && b[0] === (b[0]|0))) {
        return -1;
      } else {
        if (a < b) return -1;
        if (a > b) return 1;
        if (total && a != b) {
          if (a == a) return 1;
          if (b == b) return -1;
        }
      }
    }
    if (stack.length == 0) return 0;
    var i = stack.pop();
    b = stack.pop();
    a = stack.pop();
    if (i + 1 < a.length) stack.push(a, b, i + 1);
    a = a[i];
    b = b[i];
  }
}
function caml_equal (x, y) { return +(caml_compare_val(x,y,false) == 0); }
function caml_fill_string(s, i, l, c) { s.fill (i, l, c); }
function caml_parse_format (fmt) {
  fmt = fmt.toString ();
  var len = fmt.length;
  if (len > 31) caml_invalid_argument("format_int: format too long");
  var f =
    { justify:'+', signstyle:'-', filler:' ', alternate:false,
      base:0, signedconv:false, width:0, uppercase:false,
      sign:1, prec:-1, conv:'f' };
  for (var i = 0; i < len; i++) {
    var c = fmt.charAt(i);
    switch (c) {
    case '-':
      f.justify = '-'; break;
    case '+': case ' ':
      f.signstyle = c; break;
    case '0':
      f.filler = '0'; break;
    case '#':
      f.alternate = true; break;
    case '1': case '2': case '3': case '4': case '5':
    case '6': case '7': case '8': case '9':
      f.width = 0;
      while (c=fmt.charCodeAt(i) - 48, c >= 0 && c <= 9) {
        f.width = f.width * 10 + c; i++
      }
      i--;
     break;
    case '.':
      f.prec = 0;
      i++;
      while (c=fmt.charCodeAt(i) - 48, c >= 0 && c <= 9) {
        f.prec = f.prec * 10 + c; i++
      }
      i--;
    case 'd': case 'i':
      f.signedconv = true; /* fallthrough */
    case 'u':
      f.base = 10; break;
    case 'x':
      f.base = 16; break;
    case 'X':
      f.base = 16; f.uppercase = true; break;
    case 'o':
      f.base = 8; break;
    case 'e': case 'f': case 'g':
      f.signedconv = true; f.conv = c; break;
    case 'E': case 'F': case 'G':
      f.signedconv = true; f.uppercase = true;
      f.conv = c.toLowerCase (); break;
    }
  }
  return f;
}
function caml_finish_formatting(f, rawbuffer) {
  if (f.uppercase) rawbuffer = rawbuffer.toUpperCase();
  var len = rawbuffer.length;
  if (f.signedconv && (f.sign < 0 || f.signstyle != '-')) len++;
  if (f.alternate) {
    if (f.base == 8) len += 1;
    if (f.base == 16) len += 2;
  }
  var buffer = "";
  if (f.justify == '+' && f.filler == ' ')
    for (var i = len; i < f.width; i++) buffer += ' ';
  if (f.signedconv) {
    if (f.sign < 0) buffer += '-';
    else if (f.signstyle != '-') buffer += f.signstyle;
  }
  if (f.alternate && f.base == 8) buffer += '0';
  if (f.alternate && f.base == 16) buffer += "0x";
  if (f.justify == '+' && f.filler == '0')
    for (var i = len; i < f.width; i++) buffer += '0';
  buffer += rawbuffer;
  if (f.justify == '-')
    for (var i = len; i < f.width; i++) buffer += ' ';
  return new MlWrappedString (buffer);
}
function caml_format_float (fmt, x) {
  var s, f = caml_parse_format(fmt);
  var prec = (f.prec < 0)?6:f.prec;
  if (x < 0) { f.sign = -1; x = -x; }
  if (isNaN(x)) { s = "nan"; f.filler = ' '; }
  else if (!isFinite(x)) { s = "inf"; f.filler = ' '; }
  else
    switch (f.conv) {
    case 'e':
      var s = x.toExponential(prec);
      var i = s.length;
      if (s.charAt(i - 3) == 'e')
        s = s.slice (0, i - 1) + '0' + s.slice (i - 1);
      break;
    case 'f':
      s = x.toFixed(prec); break;
    case 'g':
      prec = prec?prec:1;
      s = x.toExponential(prec - 1);
      var j = s.indexOf('e');
      var exp = +s.slice(j + 1);
      if (exp < -4 || x.toFixed(0).length > prec) {
        var i = j - 1; while (s.charAt(i) == '0') i--;
        if (s.charAt(i) == '.') i--;
        s = s.slice(0, i + 1) + s.slice(j);
        i = s.length;
        if (s.charAt(i - 3) == 'e')
          s = s.slice (0, i - 1) + '0' + s.slice (i - 1);
        break;
      } else {
        var p = prec;
        if (exp < 0) { p -= exp + 1; s = x.toFixed(p); }
        else while (s = x.toFixed(p), s.length > prec + 1) p--;
        if (p) {
          var i = s.length - 1; while (s.charAt(i) == '0') i--;
          if (s.charAt(i) == '.') i--;
          s = s.slice(0, i + 1);
        }
      }
      break;
    }
  return caml_finish_formatting(f, s);
}
function caml_format_int(fmt, i) {
  if (fmt.toString() == "%d") return new MlWrappedString(""+i);
  var f = caml_parse_format(fmt);
  if (i < 0) { if (f.signedconv) { f.sign = -1; i = -i; } else i >>>= 0; }
  var s = i.toString(f.base);
  if (f.prec >= 0) {
    f.filler = ' ';
    var n = f.prec - s.length;
    if (n > 0) s = caml_str_repeat (n, '0') + s;
  }
  return caml_finish_formatting(f, s);
}
function caml_get_exception_backtrace () {
  caml_invalid_argument
    ("Primitive 'caml_get_exception_backtrace' not implemented");
}
function caml_compare (a, b) { return caml_compare_val (a, b, true); }
function caml_greaterequal (x, y) { return +(caml_compare(x,y,false) >= 0); }
function caml_int64_is_negative(x) {
  return (x[3] << 16) < 0;
}
function caml_int64_neg (x) {
  var y1 = - x[1];
  var y2 = - x[2] + (y1 >> 24);
  var y3 = - x[3] + (y2 >> 24);
  return [255, y1 & 0xffffff, y2 & 0xffffff, y3 & 0xffff];
}
function caml_int64_of_int32 (x) {
  return [255, x & 0xffffff, (x >> 24) & 0xffffff, (x >> 31) & 0xffff]
}
function caml_int64_ucompare(x,y) {
  if (x[3] > y[3]) return 1;
  if (x[3] < y[3]) return -1;
  if (x[2] > y[2]) return 1;
  if (x[2] < y[2]) return -1;
  if (x[1] > y[1]) return 1;
  if (x[1] < y[1]) return -1;
  return 0;
}
function caml_int64_lsl1 (x) {
  x[3] = (x[3] << 1) | (x[2] >> 23);
  x[2] = ((x[2] << 1) | (x[1] >> 23)) & 0xffffff;
  x[1] = (x[1] << 1) & 0xffffff;
}
function caml_int64_lsr1 (x) {
  x[1] = ((x[1] >>> 1) | (x[2] << 23)) & 0xffffff;
  x[2] = ((x[2] >>> 1) | (x[3] << 23)) & 0xffffff;
  x[3] = x[3] >>> 1;
}
function caml_int64_sub (x, y) {
  var z1 = x[1] - y[1];
  var z2 = x[2] - y[2] + (z1 >> 24);
  var z3 = x[3] - y[3] + (z2 >> 24);
  return [255, z1 & 0xffffff, z2 & 0xffffff, z3 & 0xffff];
}
function caml_int64_udivmod (x, y) {
  var offset = 0;
  var modulus = x.slice ();
  var divisor = y.slice ();
  var quotient = [255, 0, 0, 0];
  while (caml_int64_ucompare (modulus, divisor) > 0) {
    offset++;
    caml_int64_lsl1 (divisor);
  }
  while (offset >= 0) {
    offset --;
    caml_int64_lsl1 (quotient);
    if (caml_int64_ucompare (modulus, divisor) >= 0) {
      quotient[1] ++;
      modulus = caml_int64_sub (modulus, divisor);
    }
    caml_int64_lsr1 (divisor);
  }
  return [0,quotient, modulus];
}
function caml_int64_to_int32 (x) {
  return x[1] | (x[2] << 24);
}
function caml_int64_is_zero(x) {
  return (x[3]|x[2]|x[1]) == 0;
}
function caml_int64_format (fmt, x) {
  var f = caml_parse_format(fmt);
  if (f.signedconv && caml_int64_is_negative(x)) {
    f.sign = -1; x = caml_int64_neg(x);
  }
  var buffer = "";
  var wbase = caml_int64_of_int32(f.base);
  var cvtbl = "0123456789abcdef";
  do {
    var p = caml_int64_udivmod(x, wbase);
    x = p[1];
    buffer = cvtbl.charAt(caml_int64_to_int32(p[2])) + buffer;
  } while (! caml_int64_is_zero(x));
  if (f.prec >= 0) {
    f.filler = ' ';
    var n = f.prec - buffer.length;
    if (n > 0) buffer = caml_str_repeat (n, '0') + buffer;
  }
  return caml_finish_formatting(f, buffer);
}
function caml_parse_sign_and_base (s) {
  var i = 0, base = 10, sign = s.get(0) == 45?(i++,-1):1;
  if (s.get(i) == 48)
    switch (s.get(i + 1)) {
    case 120: case 88: base = 16; i += 2; break;
    case 111: case 79: base =  8; i += 2; break;
    case  98: case 66: base =  2; i += 2; break;
    }
  return [i, sign, base];
}
function caml_parse_digit(c) {
  if (c >= 48 && c <= 57)  return c - 48;
  if (c >= 65 && c <= 90)  return c - 55;
  if (c >= 97 && c <= 122) return c - 87;
  return -1;
}
var caml_global_data = [0];
function caml_failwith (msg) {
  caml_raise_with_string(caml_global_data[3], msg);
}
function caml_int_of_string (s) {
  var r = caml_parse_sign_and_base (s);
  var i = r[0], sign = r[1], base = r[2];
  var threshold = -1 >>> 0;
  var c = s.get(i);
  var d = caml_parse_digit(c);
  if (d < 0 || d >= base) caml_failwith("int_of_string");
  var res = d;
  for (;;) {
    i++;
    c = s.get(i);
    if (c == 95) continue;
    d = caml_parse_digit(c);
    if (d < 0 || d >= base) break;
    res = base * res + d;
    if (res > threshold) caml_failwith("int_of_string");
  }
  if (i != s.getLen()) caml_failwith("int_of_string");
  res = sign * res;
  if ((res | 0) != res) caml_failwith("int_of_string");
  return res;
}
function caml_is_printable(c) { return +(c > 31 && c < 127); }
var caml_js_regexps = { amp:/&/g, lt:/</g, quot:/\"/g, all:/[&<\"]/ };
function caml_js_html_escape (s) {
  if (!caml_js_regexps.all.test(s)) return s;
  return s.replace(caml_js_regexps.amp, "&amp;")
          .replace(caml_js_regexps.lt, "&lt;")
          .replace(caml_js_regexps.quot, "&quot;");
}
function caml_js_on_ie () {
  var ua = window.navigator?window.navigator.userAgent:"";
  return ua.indexOf("MSIE") != -1 && ua.indexOf("Opera") != 0;
}
function caml_js_wrap_callback(f) {
  var toArray = Array.prototype.slice;
  return function () {
    var args = (arguments.length > 0)?toArray.call (arguments):[undefined];
    return caml_call_gen(f, args);
  }
}
function caml_lessequal (x, y) { return +(caml_compare(x,y,false) <= 0); }
function caml_lessthan (x, y) { return +(caml_compare(x,y,false) < 0); }
function caml_lex_array(s) {
  s = s.getFullBytes();
  var a = [], l = s.length / 2;
  for (var i = 0; i < l; i++)
    a[i] = (s.charCodeAt(2 * i) | (s.charCodeAt(2 * i + 1) << 8)) << 16 >> 16;
  return a;
}
function caml_lex_engine(tbl, start_state, lexbuf) {
  var lex_buffer = 2;
  var lex_buffer_len = 3;
  var lex_start_pos = 5;
  var lex_curr_pos = 6;
  var lex_last_pos = 7;
  var lex_last_action = 8;
  var lex_eof_reached = 9;
  var lex_base = 1;
  var lex_backtrk = 2;
  var lex_default = 3;
  var lex_trans = 4;
  var lex_check = 5;
  if (!tbl.lex_default) {
    tbl.lex_base =    caml_lex_array (tbl[lex_base]);
    tbl.lex_backtrk = caml_lex_array (tbl[lex_backtrk]);
    tbl.lex_check =   caml_lex_array (tbl[lex_check]);
    tbl.lex_trans =   caml_lex_array (tbl[lex_trans]);
    tbl.lex_default = caml_lex_array (tbl[lex_default]);
  }
  var c, state = start_state;
  var buffer = lexbuf[lex_buffer].getArray();
  if (state >= 0) {
    lexbuf[lex_last_pos] = lexbuf[lex_start_pos] = lexbuf[lex_curr_pos];
    lexbuf[lex_last_action] = -1;
  } else {
    state = -state - 1;
  }
  for(;;) {
    var base = tbl.lex_base[state];
    if (base < 0) return -base-1;
    var backtrk = tbl.lex_backtrk[state];
    if (backtrk >= 0) {
      lexbuf[lex_last_pos] = lexbuf[lex_curr_pos];
      lexbuf[lex_last_action] = backtrk;
    }
    if (lexbuf[lex_curr_pos] >= lexbuf[lex_buffer_len]){
      if (lexbuf[lex_eof_reached] == 0)
        return -state - 1;
      else
        c = 256;
    }else{
      c = buffer[lexbuf[lex_curr_pos]];
      lexbuf[lex_curr_pos] ++;
    }
    if (tbl.lex_check[base + c] == state)
      state = tbl.lex_trans[base + c];
    else
      state = tbl.lex_default[state];
    if (state < 0) {
      lexbuf[lex_curr_pos] = lexbuf[lex_last_pos];
      if (lexbuf[lex_last_action] == -1)
        caml_failwith("lexing: empty token");
      else
        return lexbuf[lex_last_action];
    }else{
      /* Erase the EOF condition only if the EOF pseudo-character was
         consumed by the automaton (i.e. there was no backtrack above)
       */
      if (c == 256) lexbuf[lex_eof_reached] = 0;
    }
  }
}
function caml_make_vect (len, init) {
  var b = [0]; for (var i = 1; i <= len; i++) b[i] = init; return b;
}
function caml_ml_flush () { return 0; }
function caml_ml_open_descriptor_out () { return 0; }
function caml_ml_out_channels_list () { return 0; }
function caml_ml_output () { return 0; }
function caml_mul(x,y) {
  return ((((x >> 16) * y) << 16) + (x & 0xffff) * y)|0;
}
function caml_notequal (x, y) { return +(caml_compare_val(x,y,false) != 0); }
function caml_obj_is_block (x) { return +(x instanceof Array); }
function caml_obj_tag (x) { return (x instanceof Array)?x[0]:1000; }
function caml_register_global (n, v) { caml_global_data[n + 1] = v; }
var caml_named_values = {};
function caml_register_named_value(nm,v) {
  caml_named_values[nm] = v; return 0;
}
function caml_string_equal(s1, s2) {
  var b1 = s1.fullBytes;
  var b2 = s2.fullBytes;
  if (b1 != null && b2 != null) return (b1 == b2)?1:0;
  return (s1.getFullBytes () == s2.getFullBytes ())?1:0;
}
function caml_string_notequal(s1, s2) { return 1-caml_string_equal(s1, s2); }
function caml_sys_get_config () {
  return [0, new MlWrappedString("Unix"), 32];
}
function caml_update_dummy (x, y) {
  if( typeof y==="function" ) { x.fun = y; return 0; }
  if( y.fun ) { x.fun = y.fun; return 0; }
  var i = y.length; while (i--) x[i] = y[i]; return 0;
}
(function()
   {function _jc_(_w3_,_w4_,_w5_,_w6_,_w7_,_w8_,_w9_)
     {return _w3_.length==6
              ?_w3_(_w4_,_w5_,_w6_,_w7_,_w8_,_w9_)
              :caml_call_gen(_w3_,[_w4_,_w5_,_w6_,_w7_,_w8_,_w9_]);}
    function _mM_(_wX_,_wY_,_wZ_,_w0_,_w1_,_w2_)
     {return _wX_.length==5
              ?_wX_(_wY_,_wZ_,_w0_,_w1_,_w2_)
              :caml_call_gen(_wX_,[_wY_,_wZ_,_w0_,_w1_,_w2_]);}
    function _ij_(_wS_,_wT_,_wU_,_wV_,_wW_)
     {return _wS_.length==4
              ?_wS_(_wT_,_wU_,_wV_,_wW_)
              :caml_call_gen(_wS_,[_wT_,_wU_,_wV_,_wW_]);}
    function _eL_(_wO_,_wP_,_wQ_,_wR_)
     {return _wO_.length==3
              ?_wO_(_wP_,_wQ_,_wR_)
              :caml_call_gen(_wO_,[_wP_,_wQ_,_wR_]);}
    function _fe_(_wL_,_wM_,_wN_)
     {return _wL_.length==2?_wL_(_wM_,_wN_):caml_call_gen(_wL_,[_wM_,_wN_]);}
    function _ce_(_wJ_,_wK_)
     {return _wJ_.length==1?_wJ_(_wK_):caml_call_gen(_wJ_,[_wK_]);}
    var
     _a_=[0,new MlString("Failure")],
     _b_=[0,new MlString("Invalid_argument")],
     _c_=[0,new MlString("Not_found")],
     _d_=[0,new MlString("Assert_failure")],
     _e_=[0,new MlString(""),1,0,0],
     _f_=new MlString("File \"%s\", line %d, characters %d-%d: %s"),
     _g_=new MlString("textarea"),
     _h_=
      [0,
       new
        MlString
        ("\0\0\x01\0\x02\0\x01\0\x01\0\x01\0\x02\0\x05\0\x01\0\xff\xff\x03\0\x04\0\x06\0\x07\0\xfe\xff\x03\0\x04\0\x06\0\xfb\xff\x02\0\x03\0\x07\0\xfa\xff\b\0\xf8\xff\x0b\0\xee\xff/\0\x14\0.\0F\0U\0l\0\x9b\0\xc1\0\xd0\0\b\x01\x19\x01M\x01\f\0\xff\xff\xfe\xff\xfd\xff\xfc\xff\r\0S\x01@\0B\0J\0\xfa\xffx\0\xfb\xff\xf9\xff\x82\x01\xaa\x01\xba\x01 \x020\x02i\x02W\x02\x82\x02\x93\x02\xf7\xffj\0\x1f\0P\0a\0\x87\0\xf6\xff\xad\0\xb6\0\x0b\0\xf4\xff\xf1\xff\xf3\xff\x0f\0\xd2\0'\x01\x10\0\xfd\xff\xab\0\xfe\xff\xcc\0q\x01\xd7\0\xe2\0\xef\0\xff\xff\x11\0\x0e\x01\xf3\0\x12\0"),
       new
        MlString
        ("\b\0\x06\0\xff\xff\xff\xff\x03\0\x02\0\x01\0\xff\xff\0\0\xff\xff\x01\0\x01\0\x01\0\x01\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\0\xff\xff\xff\xff\xff\xff\x05\0\xff\xff\xff\xff\xff\xff\x0f\0\r\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\x0f\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\0\x0f\0\x0f\0\x0f\0\x07\0\x07\0\xff\xff\x0f\0\x0f\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\n\0\n\0\xff\xff\xff\xff\xff\xff\f\0\xff\xff\xff\xff\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\x01\0"),
       new
        MlString
        ("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\x1b\0\0\0\x1b\0\xff\xffH\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\xff\xff\0\0\0\0\0\0\0\0\xff\xff\x1b\0/\0/\0/\0\0\0/\0\0\0\0\0\x1b\0\x1b\0\x1b\0:\x009\0:\x009\0\x1b\0\x1b\0\0\0A\0@\0A\0B\0B\0\0\0@\0@\0\xff\xff\0\0\0\0\0\0\xff\xff\xff\xffP\0\xff\xff\0\0P\0\0\0P\0P\0P\0P\0P\0\0\0\xff\xffP\0P\0\xff\xff"),
       new
        MlString
        ("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\t\0\t\0\x12\0\b\0\x07\0\x11\0\x12\0\x16\0\x16\0\x13\0\x17\0(\0(\0+\0'\0J\0O\0W\0Q\0L\0J\0\0\0\x07\0K\0\0\0\x04\0\x04\0\x07\0\x11\0\0\0\x04\0\xff\xff\x05\0\x05\0\xff\xff\x03\0\x0f\0\x05\0\x10\0\x11\0\x03\0\0\0L\0&\0\0\0\xff\xff\xff\xff\xff\xff%\0\xff\xff\xff\xff\x06\0\x18\0\n\0\x0b\0\f\0\x06\0\r\0\x0e\0\0\0\0\0\0\0$\0\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffI\0\0\0\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\0\0\0\0#\0\x1f\0\"\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff \0\0\0!\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\x02\0\x01\0\x14\0\x15\0\xff\xff\x02\0\x01\0\xff\xff\xff\xff\xff\xff\xff\xff\x1e\0\x1c\0G\0\x1d\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\xff\xffE\x000\0\0\x002\0\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff>\0\xff\xff\0\0\0\0O\0\0\0\xff\xffN\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff1\0\0\0\xff\xff?\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffB\0\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff3\0O\0\0\0\xff\xffN\0\xff\xffL\0J\0\xff\xffC\0K\0<\0O\0\0\0\0\0N\0@\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xffO\0\0\0\0\0N\0\xff\xff\0\0L\0\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xffW\0\xff\xff\0\0X\0Q\0\xff\xff\xff\xff[\0\xff\xff\0\0\xff\xffD\0\0\0\x12\0\x16\0\0\0\0\0\0\0\x1a\0\0\0\xff\xff\0\x005\0\0\0-\0+\0\0\0J\0,\0\xff\xff\xff\xffO\0\xff\xff\0\0N\0\xff\xff\xff\xff4\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff-\0\xff\xffF\0.\0\xff\xff\xff\xff\xff\xff\xff\xffS\0O\0\xff\xffG\0N\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0$\0\xff\xffS\0*\0Y\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\0\0\0\0U\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0-\0+\0\0\0V\0,\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\0\0-\0\xff\xff\xff\xff\xff\xff)\0\xff\xff\0\0S\0O\0\xff\xff\xff\xffN\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\0\0\xff\xffZ\0\xff\xff\0\0\0\0\xff\xff\xff\xffS\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0R\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xffO\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xffO\0\0\0\xff\xff\xff\xff\xff\xff\xff\xffJ\0\0\0\xff\xff\0\0\0\0O\0\0\0\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0O\0\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0T\0W\0\0\0\0\0\0\0Q\x008\0\0\x006\0\xff\xff\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff+\0\0\0\0\0\0\0\0\0\0\0O\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff7\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\xff\xffQ\0\xff\xff\x1b\0\xff\xff\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\0\0\x1b\x008\x008\0\0\0\0\0\0\0\0\x008\0\0\0\0\x009\0\0\x008\0\xff\xff8\x009\0\xff\xff;\0;\0+\0\0\0\0\0\0\0;\0\0\0\0\x008\x008\0;\x009\0;\x008\0\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0;\0;\0\0\0\0\0\0\0;\0\0\0O\0\x1b\0\xff\xff\0\0\0\0\xff\xff\xff\xff;\0;\0\0\x009\x009\x009\0;\0\0\0\0\0\0\0\xff\xff;\0\0\0;\x009\0\0\x009\0\x1b\x008\x008\0\xff\xff\0\0\0\0\xff\xff8\0;\0;\x009\0\0\x008\0;\x008\x009\0\0\0\0\x009\x009\0\xff\xff9\0\0\0\xff\xff\0\0\0\x008\x008\0\0\x009\0\0\x008\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\0\x009\x009\x009\0\0\0\0\0\0\0\0\0\0\0\0\x008\0\0\x009\0\xff\xff9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\x009\x009\0\0\x009\0\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0=\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff"),
       new
        MlString
        ("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\b\0\x13\0\0\0\x07\0\x11\0\x11\0\x15\0\x17\0\x11\0\x15\0\x19\0'\0,\0\x19\0K\0N\0X\0[\0\x1c\0\x1c\0\xff\xff\0\0\x1c\0\xff\xff\0\0\x04\0\x07\0\x11\0\xff\xff\x07\0@\0\0\0\x05\0@\0\0\0\x03\0\x07\0\x0f\0\x10\0\x07\0\xff\xff\x1c\0\x19\0\xff\xff\x1d\0\x1d\0\x1b\0\x19\0\x1d\0\x1b\0\0\0\x01\0\x06\0\n\0\x0b\0\x07\0\f\0\r\0\xff\xff\xff\xff\xff\xff\x19\0\xff\xff.\0\xff\xff/\0.\0\x1d\0/\0\x1e\0\x1c\0\xff\xff\x1e\x000\0\xff\xff\xff\xff0\0\xff\xff\x1b\0A\0\xff\xff\xff\xffA\0\x1b\0\x1f\0\xff\xff\xff\xff\x1f\0\xff\xff\xff\xff\xff\xff\x19\0\x19\0\x19\0\xff\xff\xff\xffB\0\x1b\0\xff\xffB\0\xff\xff\x1e\0\x19\0\xff\xff\x19\0?\0\x1e\0 \0?\0\xff\xff \0\xff\xff\0\0\0\0\x02\0\x14\0\x1f\0\x07\0\x07\x002\0\x1e\0\x1f\x002\0\x19\0\x19\0G\0\x19\0\x1b\0\x1b\0\x1b\0\xff\xff\xff\xff\xff\xff\xff\xffC\0\x1f\0\xff\xffC\0\x1b\0 \0\x1b\0\xff\xff\xff\xff\xff\xff \0@\0.\0\xff\xff/\0\xff\xff\x1e\0\x1e\0\x1e\0\xff\xff!\0\xff\xff0\0!\0 \0\x1b\0\x1b\0\x1e\0\x1b\0\x1e\0\xff\xff\x1f\0\x1f\0\x1f\0\xff\xff\xff\xffP\0\xff\xffE\0P\0\xff\xffE\0\x1f\0.\0\x1f\0/\0\xff\xffF\0\x1e\0\x1e\0F\0\x1e\0!\x000\0 \0 \0 \0!\0\"\0A\0\xff\xff\"\0\xff\xff\x1f\0\x1f\0 \0\x1f\0 \x002\0R\0\xff\xff!\0R\0#\0L\0L\0#\0B\0L\0 \0T\0\xff\xff\xff\xffT\0?\0?\0 \0 \0\xff\xff \0\"\0U\0\xff\xff\xff\xffU\0\"\0\xff\xffL\0\xff\xff2\0\xff\xff!\0!\0!\0V\0#\0\xff\xffV\0Z\0\"\0#\0Z\0!\0\xff\xff!\0C\0\xff\xff\x11\0\x15\0\xff\xff\xff\xff\xff\xff\x19\0\xff\xff#\0\xff\xff!\0\xff\xff$\0$\0\xff\xff\x1c\0$\0!\0!\0Y\0!\0\xff\xffY\0\"\0\"\0\"\0@\0\xff\xff\xff\xff\xff\xff%\0\xff\xff\xff\xff%\0\"\0$\0\"\0E\0#\0#\0#\0\x1d\0\x1b\0M\0M\0$\0F\0M\0\xff\xff#\0$\0#\0\xff\xff\xff\xff\xff\xff\"\0\"\0\xff\xff\"\0.\0\xff\xff/\0%\0\xff\xff$\0\x1e\0M\0%\0R\x000\0#\0#\0\xff\xff#\0\xff\xffA\0\xff\xff\xff\xff\xff\xffT\0\x1f\0%\0&\0\xff\xff\xff\xff&\0\xff\xff-\0-\0\xff\xffU\0-\0B\0\xff\xff$\0$\0$\0\xff\xff\xff\xff\xff\xff\xff\xff?\0\xff\xff \0\xff\xff$\0\xff\xff$\0\xff\xff\xff\xff-\0%\0%\0%\0&\x002\0\xff\xffS\0S\0&\0-\0S\0%\0\xff\xff%\0-\0$\0$\0\xff\xff$\0C\0\xff\xff\xff\xff&\0Y\x005\0\xff\xff\xff\xff5\0-\0S\0\xff\xff\xff\xff%\0%\0\xff\xff%\0\xff\xff\xff\xff\xff\xff!\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffM\0\xff\xff\xff\xff\xff\xff&\0&\0&\0P\x005\0E\0-\0-\0-\x005\0\xff\xff&\x006\0&\0F\x006\0\xff\xff-\0\xff\xff-\0\xff\xff\xff\xff\xff\xff5\0\xff\xff\"\0\xff\xff\xff\xff7\0\xff\xff\xff\xff7\0&\0&\0\xff\xff&\0R\0\xff\xff-\0-\0#\0-\0L\0\xff\xff6\0\xff\xff\xff\xffT\0\xff\xff6\0\xff\xff\xff\xff\xff\xff5\x005\x005\0\xff\xff\xff\xffU\0\xff\xff7\0\xff\xff\xff\xff6\x005\x007\x005\0\xff\xff\xff\xff\xff\xffS\0V\0\xff\xff\xff\xff\xff\xffZ\x007\0\xff\xff5\x007\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff5\x005\0\xff\xff5\0\xff\xff\xff\xff\xff\xff\xff\xff6\x006\x006\0$\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffY\0\xff\xff6\0\xff\xff6\0\xff\xff\xff\xff7\x007\x007\0\xff\xff%\x006\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff7\0\xff\xff7\0\xff\xff\xff\xff6\x006\0M\x006\x008\x008\0\xff\xff\xff\xff8\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff7\x007\0\xff\xff7\x009\x009\0\xff\xff\xff\xff9\0\xff\xff\xff\xff8\x008\x008\0\xff\xff\xff\xff\xff\xff\xff\xff8\0\xff\xff\xff\xff8\0\xff\xff8\0&\x008\x008\x009\x009\x009\0-\0\xff\xff\xff\xff\xff\xff9\0\xff\xff\xff\xff8\x008\x009\x008\x009\x008\0;\0;\0\xff\xff\xff\xff;\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff9\x009\0\xff\xff\xff\xff\xff\xff9\0\xff\xffS\0:\0:\0\xff\xff\xff\xff:\0;\0;\0;\0\xff\xff8\x008\x008\0;\0\xff\xff\xff\xff\xff\xff5\0;\0\xff\xff;\x008\0\xff\xff8\0:\0:\0:\0<\0\xff\xff\xff\xff<\0:\0;\0;\0:\0\xff\xff:\0;\0:\0:\0\xff\xff\xff\xff8\x008\0=\x008\0\xff\xff=\0\xff\xff\xff\xff:\0:\0\xff\xff:\0\xff\xff:\0\xff\xff6\0\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff7\0\xff\xff\xff\xff=\0\xff\xff<\0\xff\xff\xff\xff=\0\xff\xff:\0:\0:\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff=\0\xff\xff:\0=\0:\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff<\0<\0<\0\xff\xff\xff\xff\xff\xff\xff\xff:\0:\0\xff\xff:\0<\0\xff\xff<\0\xff\xff\xff\xff\xff\xff=\0=\0=\0\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff=\0\xff\xff=\0\xff\xff<\0<\0\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff=\0=\0\xff\xff=\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff8\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff9\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff;\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff:\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff=\0"),
       new MlString(""),
       new MlString(""),
       new MlString(""),
       new MlString(""),
       new MlString(""),
       new MlString("")];
    caml_register_global(5,[0,new MlString("Division_by_zero")]);
    caml_register_global(3,_b_);
    caml_register_global(2,_a_);
    var
     _bD_=[0,new MlString("Out_of_memory")],
     _bC_=[0,new MlString("Match_failure")],
     _bB_=[0,new MlString("Stack_overflow")],
     _bA_=[0,new MlString("Undefined_recursive_module")],
     _bz_=new MlString("output"),
     _by_=new MlString("%.12g"),
     _bx_=new MlString("."),
     _bw_=new MlString("%d"),
     _bv_=new MlString("true"),
     _bu_=new MlString("false"),
     _bt_=new MlString("Pervasives.do_at_exit"),
     _bs_=new MlString("\\b"),
     _br_=new MlString("\\t"),
     _bq_=new MlString("\\n"),
     _bp_=new MlString("\\r"),
     _bo_=new MlString("\\\\"),
     _bn_=new MlString("\\'"),
     _bm_=new MlString(""),
     _bl_=new MlString("String.blit"),
     _bk_=new MlString("String.sub"),
     _bj_=new MlString(""),
     _bi_=new MlString("Queue.Empty"),
     _bh_=new MlString("Buffer.add_substring"),
     _bg_=new MlString("Buffer.add: cannot grow buffer"),
     _bf_=new MlString(""),
     _be_=new MlString(""),
     _bd_=new MlString("\""),
     _bc_=new MlString("\""),
     _bb_=new MlString("'"),
     _ba_=new MlString("'"),
     _a$_=new MlString("."),
     _a__=new MlString("printf: bad positional specification (0)."),
     _a9_=new MlString("%_"),
     _a8_=[0,new MlString("printf.ml"),144,8],
     _a7_=new MlString("''"),
     _a6_=new MlString("Printf: premature end of format string ``"),
     _a5_=new MlString("''"),
     _a4_=new MlString(" in format string ``"),
     _a3_=new MlString(", at char number "),
     _a2_=new MlString("Printf: bad conversion %"),
     _a1_=new MlString("Sformat.index_of_int: negative argument "),
     _a0_=new MlString(""),
     _aZ_=new MlString(", %s%s"),
     _aY_=[1,1],
     _aX_=new MlString("%s\n"),
     _aW_=
      new
       MlString
       ("(Program not linked with -g, cannot print stack backtrace)\n"),
     _aV_=new MlString("Raised at"),
     _aU_=new MlString("Re-raised at"),
     _aT_=new MlString("Raised by primitive operation at"),
     _aS_=new MlString("Called from"),
     _aR_=new MlString("%s file \"%s\", line %d, characters %d-%d"),
     _aQ_=new MlString("%s unknown location"),
     _aP_=new MlString("Pattern matching failed"),
     _aO_=new MlString("Assertion failed"),
     _aN_=new MlString("Undefined recursive module"),
     _aM_=new MlString("(%s%s)"),
     _aL_=new MlString(""),
     _aK_=new MlString(""),
     _aJ_=new MlString("(%s)"),
     _aI_=new MlString("%d"),
     _aH_=new MlString("%S"),
     _aG_=new MlString("_"),
     _aF_=new MlString("bad box format"),
     _aE_=new MlString("bad box name ho"),
     _aD_=new MlString("bad tag name specification"),
     _aC_=new MlString("bad tag name specification"),
     _aB_=new MlString(""),
     _aA_=new MlString(""),
     _az_=new MlString(""),
     _ay_=new MlString("bad integer specification"),
     _ax_=new MlString("bad format"),
     _aw_=new MlString(" (%c)."),
     _av_=new MlString("%c"),
     _au_=
      new
       MlString
       ("Format.fprintf: %s ``%s'', giving up at character number %d%s"),
     _at_=[3,0,3],
     _as_=new MlString("."),
     _ar_=new MlString(">"),
     _aq_=new MlString("</"),
     _ap_=new MlString(">"),
     _ao_=new MlString("<"),
     _an_=new MlString("\n"),
     _am_=new MlString("Format.Empty_queue"),
     _al_=[0,new MlString("")],
     _ak_=[0,new MlString("src/core/lwt.ml"),648,20],
     _aj_=[0,new MlString("src/core/lwt.ml"),651,8],
     _ai_=[0,new MlString("src/core/lwt.ml"),498,8],
     _ah_=[0,new MlString("src/core/lwt.ml"),487,9],
     _ag_=new MlString("Lwt.wakeup_result"),
     _af_=new MlString("Lwt.Canceled"),
     _ae_=new MlString("img"),
     _ad_=new MlString("a"),
     _ac_=new MlString("br"),
     _ab_=new MlString("div"),
     _aa_=new MlString("\""),
     _$_=new MlString(" name=\""),
     ___=new MlString("\""),
     _Z_=new MlString(" type=\""),
     _Y_=new MlString("<"),
     _X_=new MlString(">"),
     _W_=new MlString(""),
     _V_=[0,new MlString("wikicreole.mll"),206,32],
     _U_=[0,new MlString("wikicreole.mll"),215,6],
     _T_=[0,new MlString("wikicreole.mll"),230,6],
     _S_=[0,new MlString("wikicreole.mll"),284,6],
     _R_=new MlString("*"),
     _Q_=new MlString("Unrecognized char '%s'@."),
     _P_=[5,0],
     _O_=[0,new MlString("wikicreole.mll"),157,6],
     _N_=new MlString("//"),
     _M_=new MlString("**"),
     _L_=new MlString("strong"),
     _K_=new MlString("em"),
     _J_=new MlString("br"),
     _I_=new MlString("tt"),
     _H_=new MlString("p"),
     _G_=new MlString("pre"),
     _F_=new MlString(""),
     _E_=new MlString("h1"),
     _D_=new MlString("h2"),
     _C_=new MlString("h3"),
     _B_=new MlString("h4"),
     _A_=new MlString("h5"),
     _z_=new MlString("h6"),
     _y_=new MlString("ul"),
     _x_=new MlString("ol"),
     _w_=new MlString("hr"),
     _v_=new MlString("th"),
     _u_=new MlString("td"),
     _t_=new MlString("tr"),
     _s_=new MlString("tbody"),
     _r_=new MlString("table"),
     _q_=new MlString("li"),
     _p_=[0,new MlString("main.ml"),37,17],
     _o_=new MlString("wiki_demo"),
     _n_=new MlString("1px black dashed"),
     _m_=new MlString("5px"),
     _l_=new MlString("");
    function _k_(s_i_){throw [0,_a_,s_i_];}
    function _bE_(s_j_){throw [0,_b_,s_j_];}
    var max_int_bY_=(1<<31)-1|0;
    function _bP_(s1_bF_,s2_bH_)
     {var
       l1_bG_=s1_bF_.getLen(),
       l2_bI_=s2_bH_.getLen(),
       s_bJ_=caml_create_string(l1_bG_+l2_bI_|0);
      caml_blit_string(s1_bF_,0,s_bJ_,0,l1_bG_);
      caml_blit_string(s2_bH_,0,s_bJ_,l1_bG_,l2_bI_);
      return s_bJ_;}
    function string_of_int_bZ_(n_bK_){return caml_format_int(_bw_,n_bK_);}
    function string_of_float_b0_(f_bL_)
     {var _bM_=caml_format_float(_by_,f_bL_),i_bN_=0,l_bO_=_bM_.getLen();
      for(;;)
       {if(l_bO_<=i_bN_)
         var _bQ_=_bP_(_bM_,_bx_);
        else
         {var
           _bR_=_bM_.safeGet(i_bN_),
           _bS_=48<=_bR_?58<=_bR_?0:1:45===_bR_?1:0;
          if(_bS_){var _bT_=i_bN_+1|0,i_bN_=_bT_;continue;}
          var _bQ_=_bM_;}
        return _bQ_;}}
    function _bV_(l1_bU_,l2_bW_)
     {if(l1_bU_)
       {var hd_bX_=l1_bU_[1];return [0,hd_bX_,_bV_(l1_bU_[2],l2_bW_)];}
      return l2_bW_;}
    var
     stderr_b1_=caml_ml_open_descriptor_out(2),
     stdout_ca_=caml_ml_open_descriptor_out(1);
    function flush_all_cb_(param_b5_)
     {var param_b2_=caml_ml_out_channels_list(0);
      for(;;)
       {if(param_b2_)
         {var l_b3_=param_b2_[2];
          try {}catch(_b4_){}
          var param_b2_=l_b3_;
          continue;}
        return 0;}}
    function output_string_cc_(oc_b7_,s_b6_)
     {return caml_ml_output(oc_b7_,s_b6_,0,s_b6_.getLen());}
    var exit_function_cd_=[0,flush_all_cb_];
    function output_ch_(oc_b$_,s_b__,ofs_b8_,len_b9_)
     {if(0<=ofs_b8_&&0<=len_b9_&&!((s_b__.getLen()-len_b9_|0)<ofs_b8_))
       return caml_ml_output(oc_b$_,s_b__,ofs_b8_,len_b9_);
      return _bE_(_bz_);}
    function do_at_exit_cg_(param_cf_){return _ce_(exit_function_cd_[1],0);}
    caml_register_named_value(_bt_,do_at_exit_cg_);
    function _cm_(_cj_,_ci_){return caml_ml_output_char(_cj_,_ci_);}
    function _cl_(_ck_){return caml_ml_flush(_ck_);}
    function _cB_(l_cn_)
     {var l1_co_=l_cn_,l2_cp_=0;
      for(;;)
       {if(l1_co_)
         {var
           l_cq_=l1_co_[2],
           _cr_=[0,l1_co_[1],l2_cp_],
           l1_co_=l_cq_,
           l2_cp_=_cr_;
          continue;}
        return l2_cp_;}}
    function _cv_(f_ct_,param_cs_)
     {if(param_cs_)
       {var l_cu_=param_cs_[2],r_cw_=_ce_(f_ct_,param_cs_[1]);
        return [0,r_cw_,_cv_(f_ct_,l_cu_)];}
      return 0;}
    function _cC_(f_cz_,param_cx_)
     {var param_cy_=param_cx_;
      for(;;)
       {if(param_cy_)
         {var l_cA_=param_cy_[2];
          _ce_(f_cz_,param_cy_[1]);
          var param_cy_=l_cA_;
          continue;}
        return 0;}}
    function _cZ_(n_cD_,c_cF_)
     {var s_cE_=caml_create_string(n_cD_);
      caml_fill_string(s_cE_,0,n_cD_,c_cF_);
      return s_cE_;}
    function _c0_(s_cI_,ofs_cG_,len_cH_)
     {if(0<=ofs_cG_&&0<=len_cH_&&!((s_cI_.getLen()-len_cH_|0)<ofs_cG_))
       {var r_cJ_=caml_create_string(len_cH_);
        caml_blit_string(s_cI_,ofs_cG_,r_cJ_,0,len_cH_);
        return r_cJ_;}
      return _bE_(_bk_);}
    function _c1_(s1_cM_,ofs1_cL_,s2_cO_,ofs2_cN_,len_cK_)
     {if
       (0<=
        len_cK_&&
        0<=
        ofs1_cL_&&
        !((s1_cM_.getLen()-len_cK_|0)<ofs1_cL_)&&
        0<=
        ofs2_cN_&&
        !((s2_cO_.getLen()-len_cK_|0)<ofs2_cN_))
       return caml_blit_string(s1_cM_,ofs1_cL_,s2_cO_,ofs2_cN_,len_cK_);
      return _bE_(_bl_);}
    function _c2_(sep_cV_,l_cP_)
     {if(l_cP_)
       {var hd_cQ_=l_cP_[1],num_cR_=[0,0],len_cS_=[0,0],tl_cU_=l_cP_[2];
        _cC_
         (function(s_cT_)
           {num_cR_[1]+=1;len_cS_[1]=len_cS_[1]+s_cT_.getLen()|0;return 0;},
          l_cP_);
        var
         r_cW_=
          caml_create_string
           (len_cS_[1]+caml_mul(sep_cV_.getLen(),num_cR_[1]-1|0)|0);
        caml_blit_string(hd_cQ_,0,r_cW_,0,hd_cQ_.getLen());
        var pos_cX_=[0,hd_cQ_.getLen()];
        _cC_
         (function(s_cY_)
           {caml_blit_string(sep_cV_,0,r_cW_,pos_cX_[1],sep_cV_.getLen());
            pos_cX_[1]=pos_cX_[1]+sep_cV_.getLen()|0;
            caml_blit_string(s_cY_,0,r_cW_,pos_cX_[1],s_cY_.getLen());
            pos_cX_[1]=pos_cX_[1]+s_cY_.getLen()|0;
            return 0;},
          tl_cU_);
        return r_cW_;}
      return _bm_;}
    var
     _c3_=caml_sys_get_config(0)[2],
     _c4_=caml_mul(_c3_/8|0,(1<<(_c3_-10|0))-1|0)-1|0,
     _dd_=252,
     _dc_=253;
    function _db_(tbl_c7_,state_c6_,buf_c5_)
     {var result_c8_=caml_lex_engine(tbl_c7_,state_c6_,buf_c5_);
      if(0<=result_c8_)
       {buf_c5_[11]=buf_c5_[12];
        var _c9_=buf_c5_[12];
        buf_c5_[12]=[0,_c9_[1],_c9_[2],_c9_[3],buf_c5_[4]+buf_c5_[6]|0];}
      return result_c8_;}
    function _de_(lexbuf_c__)
     {var
       len_c$_=lexbuf_c__[6]-lexbuf_c__[5]|0,
       s_da_=caml_create_string(len_c$_);
      caml_blit_string(lexbuf_c__[2],lexbuf_c__[5],s_da_,0,len_c$_);
      return s_da_;}
    var _dF_=[0,_bi_];
    function _dE_(n_df_)
     {var
       n_dg_=1<=n_df_?n_df_:1,
       n_dh_=_c4_<n_dg_?_c4_:n_dg_,
       s_di_=caml_create_string(n_dh_);
      return [0,s_di_,0,n_dh_,s_di_];}
    function _dG_(b_dj_){return _c0_(b_dj_[1],0,b_dj_[2]);}
    function _dq_(b_dk_,more_dm_)
     {var new_len_dl_=[0,b_dk_[3]];
      for(;;)
       {if(new_len_dl_[1]<(b_dk_[2]+more_dm_|0))
         {new_len_dl_[1]=2*new_len_dl_[1]|0;continue;}
        if(_c4_<new_len_dl_[1])
         if((b_dk_[2]+more_dm_|0)<=_c4_)new_len_dl_[1]=_c4_;else _k_(_bg_);
        var new_buffer_dn_=caml_create_string(new_len_dl_[1]);
        _c1_(b_dk_[1],0,new_buffer_dn_,0,b_dk_[2]);
        b_dk_[1]=new_buffer_dn_;
        b_dk_[3]=new_len_dl_[1];
        return 0;}}
    function _dH_(b_do_,c_dr_)
     {var pos_dp_=b_do_[2];
      if(b_do_[3]<=pos_dp_)_dq_(b_do_,1);
      b_do_[1].safeSet(pos_dp_,c_dr_);
      b_do_[2]=pos_dp_+1|0;
      return 0;}
    function _dJ_(b_dy_,s_dx_,offset_ds_,len_dv_)
     {var _dt_=offset_ds_<0?1:0;
      if(_dt_)
       var _du_=_dt_;
      else
       {var
         _dw_=len_dv_<0?1:0,
         _du_=_dw_?_dw_:(s_dx_.getLen()-len_dv_|0)<offset_ds_?1:0;}
      if(_du_)_bE_(_bh_);
      var new_position_dz_=b_dy_[2]+len_dv_|0;
      if(b_dy_[3]<new_position_dz_)_dq_(b_dy_,len_dv_);
      _c1_(s_dx_,offset_ds_,b_dy_[1],b_dy_[2],len_dv_);
      b_dy_[2]=new_position_dz_;
      return 0;}
    function _dI_(b_dC_,s_dA_)
     {var len_dB_=s_dA_.getLen(),new_position_dD_=b_dC_[2]+len_dB_|0;
      if(b_dC_[3]<new_position_dD_)_dq_(b_dC_,len_dB_);
      _c1_(s_dA_,0,b_dC_[1],b_dC_[2],len_dB_);
      b_dC_[2]=new_position_dD_;
      return 0;}
    function index_of_int_dN_(i_dK_)
     {return 0<=i_dK_?i_dK_:_k_(_bP_(_a1_,string_of_int_bZ_(i_dK_)));}
    function add_int_index_dO_(i_dL_,idx_dM_)
     {return index_of_int_dN_(i_dL_+idx_dM_|0);}
    var _dP_=_ce_(add_int_index_dO_,1);
    function _dU_(fmt_dS_,idx_dR_,len_dQ_)
     {return _c0_(fmt_dS_,idx_dR_,len_dQ_);}
    function _d0_(fmt_dT_){return _dU_(fmt_dT_,0,fmt_dT_.getLen());}
    function bad_conversion_d2_(sfmt_dV_,i_dW_,c_dY_)
     {var
       _dX_=_bP_(_a4_,_bP_(sfmt_dV_,_a5_)),
       _dZ_=_bP_(_a3_,_bP_(string_of_int_bZ_(i_dW_),_dX_));
      return _bE_(_bP_(_a2_,_bP_(_cZ_(1,c_dY_),_dZ_)));}
    function bad_conversion_format_eR_(fmt_d1_,i_d4_,c_d3_)
     {return bad_conversion_d2_(_d0_(fmt_d1_),i_d4_,c_d3_);}
    function incomplete_format_eS_(fmt_d5_)
     {return _bE_(_bP_(_a6_,_bP_(_d0_(fmt_d5_),_a7_)));}
    function extract_format_en_(fmt_d6_,start_ec_,stop_ee_,widths_eg_)
     {function skip_positional_spec_eb_(start_d7_)
       {if
         ((fmt_d6_.safeGet(start_d7_)-48|0)<
          0||
          9<
          (fmt_d6_.safeGet(start_d7_)-48|0))
         return start_d7_;
        var i_d8_=start_d7_+1|0;
        for(;;)
         {var _d9_=fmt_d6_.safeGet(i_d8_);
          if(48<=_d9_)
           {if(!(58<=_d9_)){var _d$_=i_d8_+1|0,i_d8_=_d$_;continue;}
            var _d__=0;}
          else
           if(36===_d9_){var _ea_=i_d8_+1|0,_d__=1;}else var _d__=0;
          if(!_d__)var _ea_=start_d7_;
          return _ea_;}}
      var
       start_ed_=skip_positional_spec_eb_(start_ec_+1|0),
       b_ef_=_dE_((stop_ee_-start_ed_|0)+10|0);
      _dH_(b_ef_,37);
      var i_eh_=start_ed_,widths_ei_=_cB_(widths_eg_);
      for(;;)
       {if(i_eh_<=stop_ee_)
         {var _ej_=fmt_d6_.safeGet(i_eh_);
          if(42===_ej_)
           {if(widths_ei_)
             {var t_ek_=widths_ei_[2];
              _dI_(b_ef_,string_of_int_bZ_(widths_ei_[1]));
              var
               i_el_=skip_positional_spec_eb_(i_eh_+1|0),
               i_eh_=i_el_,
               widths_ei_=t_ek_;
              continue;}
            throw [0,_d_,_a8_];}
          _dH_(b_ef_,_ej_);
          var _em_=i_eh_+1|0,i_eh_=_em_;
          continue;}
        return _dG_(b_ef_);}}
    function extract_format_int_gP_
     (conv_et_,fmt_er_,start_eq_,stop_ep_,widths_eo_)
     {var sfmt_es_=extract_format_en_(fmt_er_,start_eq_,stop_ep_,widths_eo_);
      if(78!==conv_et_&&110!==conv_et_)return sfmt_es_;
      sfmt_es_.safeSet(sfmt_es_.getLen()-1|0,117);
      return sfmt_es_;}
    function sub_format_eT_
     (incomplete_format_eA_,bad_conversion_format_eK_,conv_eP_,fmt_eu_,i_eO_)
     {var len_ev_=fmt_eu_.getLen();
      function sub_fmt_eM_(c_ew_,i_eJ_)
       {var close_ex_=40===c_ew_?41:125;
        function sub_eI_(j_ey_)
         {var j_ez_=j_ey_;
          for(;;)
           {if(len_ev_<=j_ez_)return _ce_(incomplete_format_eA_,fmt_eu_);
            if(37===fmt_eu_.safeGet(j_ez_))
             {var _eB_=j_ez_+1|0;
              if(len_ev_<=_eB_)
               var _eC_=_ce_(incomplete_format_eA_,fmt_eu_);
              else
               {var _eD_=fmt_eu_.safeGet(_eB_),_eE_=_eD_-40|0;
                if(_eE_<0||1<_eE_)
                 {var _eF_=_eE_-83|0;
                  if(_eF_<0||2<_eF_)
                   var _eG_=1;
                  else
                   switch(_eF_)
                    {case 1:var _eG_=1;break;
                     case 2:var _eH_=1,_eG_=0;break;
                     default:var _eH_=0,_eG_=0;}
                  if(_eG_){var _eC_=sub_eI_(_eB_+1|0),_eH_=2;}}
                else
                 var _eH_=0===_eE_?0:1;
                switch(_eH_)
                 {case 1:
                   var
                    _eC_=
                     _eD_===close_ex_
                      ?_eB_+1|0
                      :_eL_(bad_conversion_format_eK_,fmt_eu_,i_eJ_,_eD_);
                   break;
                  case 2:break;
                  default:var _eC_=sub_eI_(sub_fmt_eM_(_eD_,_eB_+1|0)+1|0);}}
              return _eC_;}
            var _eN_=j_ez_+1|0,j_ez_=_eN_;
            continue;}}
        return sub_eI_(i_eJ_);}
      return sub_fmt_eM_(conv_eP_,i_eO_);}
    function sub_format_for_printf_fh_(conv_eQ_)
     {return _eL_
              (sub_format_eT_,
               incomplete_format_eS_,
               bad_conversion_format_eR_,
               conv_eQ_);}
    function iter_on_format_args_fx_(fmt_eU_,add_conv_e5_,add_char_fd_)
     {var lim_eV_=fmt_eU_.getLen()-1|0;
      function scan_fmt_ff_(i_eW_)
       {var i_eX_=i_eW_;
        a:
        for(;;)
         {if(i_eX_<lim_eV_)
           {if(37===fmt_eU_.safeGet(i_eX_))
             {var skip_eY_=0,i_eZ_=i_eX_+1|0;
              for(;;)
               {if(lim_eV_<i_eZ_)
                 var _e0_=incomplete_format_eS_(fmt_eU_);
                else
                 {var _e1_=fmt_eU_.safeGet(i_eZ_);
                  if(58<=_e1_)
                   {if(95===_e1_)
                     {var _e3_=i_eZ_+1|0,_e2_=1,skip_eY_=_e2_,i_eZ_=_e3_;
                      continue;}}
                  else
                   if(32<=_e1_)
                    switch(_e1_-32|0)
                     {case 1:
                      case 2:
                      case 4:
                      case 5:
                      case 6:
                      case 7:
                      case 8:
                      case 9:
                      case 12:
                      case 15:break;
                      case 0:
                      case 3:
                      case 11:
                      case 13:var _e4_=i_eZ_+1|0,i_eZ_=_e4_;continue;
                      case 10:
                       var _e6_=_eL_(add_conv_e5_,skip_eY_,i_eZ_,105),i_eZ_=_e6_;
                       continue;
                      default:var _e7_=i_eZ_+1|0,i_eZ_=_e7_;continue;}
                  var i_e8_=i_eZ_;
                  c:
                  for(;;)
                   {if(lim_eV_<i_e8_)
                     var _e9_=incomplete_format_eS_(fmt_eU_);
                    else
                     {var _e__=fmt_eU_.safeGet(i_e8_);
                      if(126<=_e__)
                       var _e$_=0;
                      else
                       switch(_e__)
                        {case 78:
                         case 88:
                         case 100:
                         case 105:
                         case 111:
                         case 117:
                         case 120:
                          var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,105),_e$_=1;break;
                         case 69:
                         case 70:
                         case 71:
                         case 101:
                         case 102:
                         case 103:
                          var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,102),_e$_=1;break;
                         case 33:
                         case 37:
                         case 44:
                         case 64:var _e9_=i_e8_+1|0,_e$_=1;break;
                         case 83:
                         case 91:
                         case 115:
                          var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,115),_e$_=1;break;
                         case 97:
                         case 114:
                         case 116:
                          var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__),_e$_=1;
                          break;
                         case 76:
                         case 108:
                         case 110:
                          var j_fa_=i_e8_+1|0;
                          if(lim_eV_<j_fa_)
                           {var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,105),_e$_=1;}
                          else
                           {var _fb_=fmt_eU_.safeGet(j_fa_)-88|0;
                            if(_fb_<0||32<_fb_)
                             var _fc_=1;
                            else
                             switch(_fb_)
                              {case 0:
                               case 12:
                               case 17:
                               case 23:
                               case 29:
                               case 32:
                                var
                                 _e9_=
                                  _fe_
                                   (add_char_fd_,_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__),105),
                                 _e$_=1,
                                 _fc_=0;
                                break;
                               default:var _fc_=1;}
                            if(_fc_)
                             {var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,105),_e$_=1;}}
                          break;
                         case 67:
                         case 99:
                          var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,99),_e$_=1;break;
                         case 66:
                         case 98:
                          var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,66),_e$_=1;break;
                         case 41:
                         case 125:
                          var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__),_e$_=1;
                          break;
                         case 40:
                          var
                           _e9_=scan_fmt_ff_(_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__)),
                           _e$_=1;
                          break;
                         case 123:
                          var
                           i_fg_=_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__),
                           j_fi_=_eL_(sub_format_for_printf_fh_,_e__,fmt_eU_,i_fg_),
                           i_fj_=i_fg_;
                          for(;;)
                           {if(i_fj_<(j_fi_-2|0))
                             {var
                               _fk_=_fe_(add_char_fd_,i_fj_,fmt_eU_.safeGet(i_fj_)),
                               i_fj_=_fk_;
                              continue;}
                            var _fl_=j_fi_-1|0,i_e8_=_fl_;
                            continue c;}
                         default:var _e$_=0;}
                      if(!_e$_)
                       var _e9_=bad_conversion_format_eR_(fmt_eU_,i_e8_,_e__);}
                    var _e0_=_e9_;
                    break;}}
                var i_eX_=_e0_;
                continue a;}}
            var _fm_=i_eX_+1|0,i_eX_=_fm_;
            continue;}
          return i_eX_;}}
      scan_fmt_ff_(0);
      return 0;}
    function count_arguments_of_format_fz_(fmt_fy_)
     {var ac_fn_=[0,0,0,0];
      function add_conv_fw_(skip_fs_,i_ft_,c_fo_)
       {var _fp_=41!==c_fo_?1:0,_fq_=_fp_?125!==c_fo_?1:0:_fp_;
        if(_fq_)
         {var inc_fr_=97===c_fo_?2:1;
          if(114===c_fo_)ac_fn_[3]=ac_fn_[3]+1|0;
          if(skip_fs_)
           ac_fn_[2]=ac_fn_[2]+inc_fr_|0;
          else
           ac_fn_[1]=ac_fn_[1]+inc_fr_|0;}
        return i_ft_+1|0;}
      iter_on_format_args_fx_
       (fmt_fy_,add_conv_fw_,function(i_fu_,param_fv_){return i_fu_+1|0;});
      return ac_fn_[1];}
    function kapr_i8_(kpr_fN_,fmt_fA_)
     {var _fB_=count_arguments_of_format_fz_(fmt_fA_);
      if(_fB_<0||6<_fB_)
       {var
         loop_fP_=
          function(i_fC_,args_fI_)
           {if(_fB_<=i_fC_)
             {var
               a_fD_=caml_make_vect(_fB_,0),
               _fG_=
                function(i_fE_,arg_fF_)
                 {return caml_array_set(a_fD_,(_fB_-i_fE_|0)-1|0,arg_fF_);},
               i_fH_=0,
               param_fJ_=args_fI_;
              for(;;)
               {if(param_fJ_)
                 {var _fK_=param_fJ_[2],_fL_=param_fJ_[1];
                  if(_fK_)
                   {_fG_(i_fH_,_fL_);
                    var _fM_=i_fH_+1|0,i_fH_=_fM_,param_fJ_=_fK_;
                    continue;}
                  _fG_(i_fH_,_fL_);}
                return _fe_(kpr_fN_,fmt_fA_,a_fD_);}}
            return function(x_fO_)
             {return loop_fP_(i_fC_+1|0,[0,x_fO_,args_fI_]);};};
        return loop_fP_(0,0);}
      switch(_fB_)
       {case 1:
         return function(x_fR_)
          {var a_fQ_=caml_make_vect(1,0);
           caml_array_set(a_fQ_,0,x_fR_);
           return _fe_(kpr_fN_,fmt_fA_,a_fQ_);};
        case 2:
         return function(x_fT_,y_fU_)
          {var a_fS_=caml_make_vect(2,0);
           caml_array_set(a_fS_,0,x_fT_);
           caml_array_set(a_fS_,1,y_fU_);
           return _fe_(kpr_fN_,fmt_fA_,a_fS_);};
        case 3:
         return function(x_fW_,y_fX_,z_fY_)
          {var a_fV_=caml_make_vect(3,0);
           caml_array_set(a_fV_,0,x_fW_);
           caml_array_set(a_fV_,1,y_fX_);
           caml_array_set(a_fV_,2,z_fY_);
           return _fe_(kpr_fN_,fmt_fA_,a_fV_);};
        case 4:
         return function(x_f0_,y_f1_,z_f2_,t_f3_)
          {var a_fZ_=caml_make_vect(4,0);
           caml_array_set(a_fZ_,0,x_f0_);
           caml_array_set(a_fZ_,1,y_f1_);
           caml_array_set(a_fZ_,2,z_f2_);
           caml_array_set(a_fZ_,3,t_f3_);
           return _fe_(kpr_fN_,fmt_fA_,a_fZ_);};
        case 5:
         return function(x_f5_,y_f6_,z_f7_,t_f8_,u_f9_)
          {var a_f4_=caml_make_vect(5,0);
           caml_array_set(a_f4_,0,x_f5_);
           caml_array_set(a_f4_,1,y_f6_);
           caml_array_set(a_f4_,2,z_f7_);
           caml_array_set(a_f4_,3,t_f8_);
           caml_array_set(a_f4_,4,u_f9_);
           return _fe_(kpr_fN_,fmt_fA_,a_f4_);};
        case 6:
         return function(x_f$_,y_ga_,z_gb_,t_gc_,u_gd_,v_ge_)
          {var a_f__=caml_make_vect(6,0);
           caml_array_set(a_f__,0,x_f$_);
           caml_array_set(a_f__,1,y_ga_);
           caml_array_set(a_f__,2,z_gb_);
           caml_array_set(a_f__,3,t_gc_);
           caml_array_set(a_f__,4,u_gd_);
           caml_array_set(a_f__,5,v_ge_);
           return _fe_(kpr_fN_,fmt_fA_,a_f__);};
        default:return _fe_(kpr_fN_,fmt_fA_,[0]);}}
    function scan_positional_spec_gL_(fmt_gf_,got_spec_gi_,i_gg_)
     {var _gh_=fmt_gf_.safeGet(i_gg_);
      if((_gh_-48|0)<0||9<(_gh_-48|0))return _fe_(got_spec_gi_,0,i_gg_);
      var accu_gj_=_gh_-48|0,j_gk_=i_gg_+1|0;
      for(;;)
       {var _gl_=fmt_gf_.safeGet(j_gk_);
        if(48<=_gl_)
         {if(!(58<=_gl_))
           {var
             _go_=j_gk_+1|0,
             _gn_=(10*accu_gj_|0)+(_gl_-48|0)|0,
             accu_gj_=_gn_,
             j_gk_=_go_;
            continue;}
          var _gm_=0;}
        else
         if(36===_gl_)
          if(0===accu_gj_)
           {var _gp_=_k_(_a__),_gm_=1;}
          else
           {var
             _gp_=
              _fe_(got_spec_gi_,[0,index_of_int_dN_(accu_gj_-1|0)],j_gk_+1|0),
             _gm_=1;}
         else
          var _gm_=0;
        if(!_gm_)var _gp_=_fe_(got_spec_gi_,0,i_gg_);
        return _gp_;}}
    function next_index_gG_(spec_gq_,n_gr_)
     {return spec_gq_?n_gr_:_ce_(_dP_,n_gr_);}
    function get_index_gu_(spec_gs_,n_gt_){return spec_gs_?spec_gs_[1]:n_gt_;}
    function _iA_
     (fmt_gA_,
      args_gx_,
      n_io_,
      pos_gQ_,
      cont_s_gT_,
      cont_a_ii_,
      cont_t_il_,
      cont_f_h5_,
      cont_m_h4_)
     {function get_arg_gC_(spec_gw_,n_gv_)
       {return caml_array_get(args_gx_,get_index_gu_(spec_gw_,n_gv_));}
      function scan_flags_gI_(spec_gK_,n_gD_,widths_gF_,i_gy_)
       {var i_gz_=i_gy_;
        for(;;)
         {var _gB_=fmt_gA_.safeGet(i_gz_)-32|0;
          if(!(_gB_<0||25<_gB_))
           switch(_gB_)
            {case 1:
             case 2:
             case 4:
             case 5:
             case 6:
             case 7:
             case 8:
             case 9:
             case 12:
             case 15:break;
             case 10:
              return scan_positional_spec_gL_
                      (fmt_gA_,
                       function(wspec_gE_,i_gJ_)
                        {var _gH_=[0,get_arg_gC_(wspec_gE_,n_gD_),widths_gF_];
                         return scan_flags_gI_
                                 (spec_gK_,next_index_gG_(wspec_gE_,n_gD_),_gH_,i_gJ_);},
                       i_gz_+1|0);
             default:var _gM_=i_gz_+1|0,i_gz_=_gM_;continue;}
          var _gN_=fmt_gA_.safeGet(i_gz_);
          if(124<=_gN_)
           var _gO_=0;
          else
           switch(_gN_)
            {case 78:
             case 88:
             case 100:
             case 105:
             case 111:
             case 117:
             case 120:
              var
               x_gR_=get_arg_gC_(spec_gK_,n_gD_),
               s_gS_=
                caml_format_int
                 (extract_format_int_gP_
                   (_gN_,fmt_gA_,pos_gQ_,i_gz_,widths_gF_),
                  x_gR_),
               _gU_=
                _eL_
                 (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_gS_,i_gz_+1|0),
               _gO_=1;
              break;
             case 69:
             case 71:
             case 101:
             case 102:
             case 103:
              var
               x_gV_=get_arg_gC_(spec_gK_,n_gD_),
               s_gW_=
                caml_format_float
                 (extract_format_en_(fmt_gA_,pos_gQ_,i_gz_,widths_gF_),x_gV_),
               _gU_=
                _eL_
                 (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_gW_,i_gz_+1|0),
               _gO_=1;
              break;
             case 76:
             case 108:
             case 110:
              var _gX_=fmt_gA_.safeGet(i_gz_+1|0)-88|0;
              if(_gX_<0||32<_gX_)
               var _gY_=1;
              else
               switch(_gX_)
                {case 0:
                 case 12:
                 case 17:
                 case 23:
                 case 29:
                 case 32:
                  var i_gZ_=i_gz_+1|0,_g0_=_gN_-108|0;
                  if(_g0_<0||2<_g0_)
                   var _g1_=0;
                  else
                   {switch(_g0_)
                     {case 1:var _g1_=0,_g2_=0;break;
                      case 2:
                       var
                        x_g3_=get_arg_gC_(spec_gK_,n_gD_),
                        _g4_=
                         caml_format_int
                          (extract_format_en_(fmt_gA_,pos_gQ_,i_gZ_,widths_gF_),x_g3_),
                        _g2_=1;
                       break;
                      default:
                       var
                        x_g5_=get_arg_gC_(spec_gK_,n_gD_),
                        _g4_=
                         caml_format_int
                          (extract_format_en_(fmt_gA_,pos_gQ_,i_gZ_,widths_gF_),x_g5_),
                        _g2_=1;}
                    if(_g2_){var s_g6_=_g4_,_g1_=1;}}
                  if(!_g1_)
                   {var
                     x_g7_=get_arg_gC_(spec_gK_,n_gD_),
                     s_g6_=
                      caml_int64_format
                       (extract_format_en_(fmt_gA_,pos_gQ_,i_gZ_,widths_gF_),x_g7_);}
                  var
                   _gU_=
                    _eL_
                     (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_g6_,i_gZ_+1|0),
                   _gO_=1,
                   _gY_=0;
                  break;
                 default:var _gY_=1;}
              if(_gY_)
               {var
                 x_g8_=get_arg_gC_(spec_gK_,n_gD_),
                 s_g9_=
                  caml_format_int
                   (extract_format_int_gP_
                     (110,fmt_gA_,pos_gQ_,i_gz_,widths_gF_),
                    x_g8_),
                 _gU_=
                  _eL_
                   (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_g9_,i_gz_+1|0),
                 _gO_=1;}
              break;
             case 37:
             case 64:
              var _gU_=_eL_(cont_s_gT_,n_gD_,_cZ_(1,_gN_),i_gz_+1|0),_gO_=1;
              break;
             case 83:
             case 115:
              var x_g__=get_arg_gC_(spec_gK_,n_gD_);
              if(115===_gN_)
               var x_g$_=x_g__;
              else
               {var n_ha_=[0,0],_hb_=0,_hc_=x_g__.getLen()-1|0;
                if(!(_hc_<_hb_))
                 {var i_hd_=_hb_;
                  for(;;)
                   {var
                     _he_=x_g__.safeGet(i_hd_),
                     _hf_=
                      14<=_he_
                       ?34===_he_?1:92===_he_?1:0
                       :11<=_he_?13<=_he_?1:0:8<=_he_?1:0,
                     _hg_=_hf_?2:caml_is_printable(_he_)?1:4;
                    n_ha_[1]=n_ha_[1]+_hg_|0;
                    var _hh_=i_hd_+1|0;
                    if(_hc_!==i_hd_){var i_hd_=_hh_;continue;}
                    break;}}
                if(n_ha_[1]===x_g__.getLen())
                 var _hi_=x_g__;
                else
                 {var s__hj_=caml_create_string(n_ha_[1]);
                  n_ha_[1]=0;
                  var _hk_=0,_hl_=x_g__.getLen()-1|0;
                  if(!(_hl_<_hk_))
                   {var i_hm_=_hk_;
                    for(;;)
                     {var _hn_=x_g__.safeGet(i_hm_),_ho_=_hn_-34|0;
                      if(_ho_<0||58<_ho_)
                       if(-20<=_ho_)
                        var _hp_=1;
                       else
                        {switch(_ho_+34|0)
                          {case 8:
                            s__hj_.safeSet(n_ha_[1],92);
                            n_ha_[1]+=1;
                            s__hj_.safeSet(n_ha_[1],98);
                            var _hq_=1;
                            break;
                           case 9:
                            s__hj_.safeSet(n_ha_[1],92);
                            n_ha_[1]+=1;
                            s__hj_.safeSet(n_ha_[1],116);
                            var _hq_=1;
                            break;
                           case 10:
                            s__hj_.safeSet(n_ha_[1],92);
                            n_ha_[1]+=1;
                            s__hj_.safeSet(n_ha_[1],110);
                            var _hq_=1;
                            break;
                           case 13:
                            s__hj_.safeSet(n_ha_[1],92);
                            n_ha_[1]+=1;
                            s__hj_.safeSet(n_ha_[1],114);
                            var _hq_=1;
                            break;
                           default:var _hp_=1,_hq_=0;}
                         if(_hq_)var _hp_=0;}
                      else
                       var
                        _hp_=
                         (_ho_-1|0)<0||56<(_ho_-1|0)
                          ?(s__hj_.safeSet(n_ha_[1],92),
                            n_ha_[1]+=
                            1,
                            s__hj_.safeSet(n_ha_[1],_hn_),
                            0)
                          :1;
                      if(_hp_)
                       if(caml_is_printable(_hn_))
                        s__hj_.safeSet(n_ha_[1],_hn_);
                       else
                        {s__hj_.safeSet(n_ha_[1],92);
                         n_ha_[1]+=1;
                         s__hj_.safeSet(n_ha_[1],48+(_hn_/100|0)|0);
                         n_ha_[1]+=1;
                         s__hj_.safeSet(n_ha_[1],48+((_hn_/10|0)%10|0)|0);
                         n_ha_[1]+=1;
                         s__hj_.safeSet(n_ha_[1],48+(_hn_%10|0)|0);}
                      n_ha_[1]+=1;
                      var _hr_=i_hm_+1|0;
                      if(_hl_!==i_hm_){var i_hm_=_hr_;continue;}
                      break;}}
                  var _hi_=s__hj_;}
                var x_g$_=_bP_(_bc_,_bP_(_hi_,_bd_));}
              if(i_gz_===(pos_gQ_+1|0))
               var s_hs_=x_g$_;
              else
               {var _ht_=extract_format_en_(fmt_gA_,pos_gQ_,i_gz_,widths_gF_);
                try
                 {var neg_hu_=0,i_hv_=1;
                  for(;;)
                   {if(_ht_.getLen()<=i_hv_)
                     var _hw_=[0,0,neg_hu_];
                    else
                     {var _hx_=_ht_.safeGet(i_hv_);
                      if(49<=_hx_)
                       if(58<=_hx_)
                        var _hy_=0;
                       else
                        {var
                          _hw_=
                           [0,
                            caml_int_of_string
                             (_c0_(_ht_,i_hv_,(_ht_.getLen()-i_hv_|0)-1|0)),
                            neg_hu_],
                          _hy_=1;}
                      else
                       {if(45===_hx_)
                         {var _hA_=i_hv_+1|0,_hz_=1,neg_hu_=_hz_,i_hv_=_hA_;
                          continue;}
                        var _hy_=0;}
                      if(!_hy_){var _hB_=i_hv_+1|0,i_hv_=_hB_;continue;}}
                    var match_hC_=_hw_;
                    break;}}
                catch(_hD_)
                 {if(_hD_[1]!==_a_)throw _hD_;
                  var match_hC_=bad_conversion_d2_(_ht_,0,115);}
                var
                 p_hE_=match_hC_[1],
                 _hF_=x_g$_.getLen(),
                 _hG_=0,
                 neg_hK_=match_hC_[2],
                 _hJ_=32;
                if(p_hE_===_hF_&&0===_hG_)
                 {var _hH_=x_g$_,_hI_=1;}
                else
                 var _hI_=0;
                if(!_hI_)
                 if(p_hE_<=_hF_)
                  var _hH_=_c0_(x_g$_,_hG_,_hF_);
                 else
                  {var res_hL_=_cZ_(p_hE_,_hJ_);
                   if(neg_hK_)
                    _c1_(x_g$_,_hG_,res_hL_,0,_hF_);
                   else
                    _c1_(x_g$_,_hG_,res_hL_,p_hE_-_hF_|0,_hF_);
                   var _hH_=res_hL_;}
                var s_hs_=_hH_;}
              var
               _gU_=
                _eL_
                 (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_hs_,i_gz_+1|0),
               _gO_=1;
              break;
             case 67:
             case 99:
              var x_hM_=get_arg_gC_(spec_gK_,n_gD_);
              if(99===_gN_)
               var s_hN_=_cZ_(1,x_hM_);
              else
               {if(39===x_hM_)
                 var _hO_=_bn_;
                else
                 if(92===x_hM_)
                  var _hO_=_bo_;
                 else
                  {if(14<=x_hM_)
                    var _hP_=0;
                   else
                    switch(x_hM_)
                     {case 8:var _hO_=_bs_,_hP_=1;break;
                      case 9:var _hO_=_br_,_hP_=1;break;
                      case 10:var _hO_=_bq_,_hP_=1;break;
                      case 13:var _hO_=_bp_,_hP_=1;break;
                      default:var _hP_=0;}
                   if(!_hP_)
                    if(caml_is_printable(x_hM_))
                     {var s_hQ_=caml_create_string(1);
                      s_hQ_.safeSet(0,x_hM_);
                      var _hO_=s_hQ_;}
                    else
                     {var s_hR_=caml_create_string(4);
                      s_hR_.safeSet(0,92);
                      s_hR_.safeSet(1,48+(x_hM_/100|0)|0);
                      s_hR_.safeSet(2,48+((x_hM_/10|0)%10|0)|0);
                      s_hR_.safeSet(3,48+(x_hM_%10|0)|0);
                      var _hO_=s_hR_;}}
                var s_hN_=_bP_(_ba_,_bP_(_hO_,_bb_));}
              var
               _gU_=
                _eL_
                 (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_hN_,i_gz_+1|0),
               _gO_=1;
              break;
             case 66:
             case 98:
              var
               _hT_=i_gz_+1|0,
               _hS_=get_arg_gC_(spec_gK_,n_gD_)?_bv_:_bu_,
               _gU_=_eL_(cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),_hS_,_hT_),
               _gO_=1;
              break;
             case 40:
             case 123:
              var
               xf_hU_=get_arg_gC_(spec_gK_,n_gD_),
               j_hV_=_eL_(sub_format_for_printf_fh_,_gN_,fmt_gA_,i_gz_+1|0);
              if(123===_gN_)
               {var
                 b_hW_=_dE_(xf_hU_.getLen()),
                 add_char_h0_=
                  function(i_hY_,c_hX_){_dH_(b_hW_,c_hX_);return i_hY_+1|0;};
                iter_on_format_args_fx_
                 (xf_hU_,
                  function(skip_hZ_,i_h2_,c_h1_)
                   {if(skip_hZ_)_dI_(b_hW_,_a9_);else _dH_(b_hW_,37);
                    return add_char_h0_(i_h2_,c_h1_);},
                  add_char_h0_);
                var
                 _h3_=_dG_(b_hW_),
                 _gU_=
                  _eL_(cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),_h3_,j_hV_),
                 _gO_=1;}
              else
               {var
                 _gU_=
                  _eL_(cont_m_h4_,next_index_gG_(spec_gK_,n_gD_),xf_hU_,j_hV_),
                 _gO_=1;}
              break;
             case 33:var _gU_=_fe_(cont_f_h5_,n_gD_,i_gz_+1|0),_gO_=1;break;
             case 41:
              var _gU_=_eL_(cont_s_gT_,n_gD_,_bf_,i_gz_+1|0),_gO_=1;break;
             case 44:
              var _gU_=_eL_(cont_s_gT_,n_gD_,_be_,i_gz_+1|0),_gO_=1;break;
             case 70:
              var x_h6_=get_arg_gC_(spec_gK_,n_gD_);
              if(0===widths_gF_)
               var s_h7_=string_of_float_b0_(x_h6_);
              else
               {var
                 sfmt_h8_=
                  extract_format_en_(fmt_gA_,pos_gQ_,i_gz_,widths_gF_);
                if(70===_gN_)sfmt_h8_.safeSet(sfmt_h8_.getLen()-1|0,103);
                var s_h9_=caml_format_float(sfmt_h8_,x_h6_);
                if(3<=caml_classify_float(x_h6_))
                 var _h__=s_h9_;
                else
                 {var i_h$_=0,l_ia_=s_h9_.getLen();
                  for(;;)
                   {if(l_ia_<=i_h$_)
                     var _ib_=_bP_(s_h9_,_a$_);
                    else
                     {var
                       _ic_=s_h9_.safeGet(i_h$_)-46|0,
                       _id_=
                        _ic_<0||23<_ic_
                         ?55===_ic_?1:0
                         :(_ic_-1|0)<0||21<(_ic_-1|0)?1:0;
                      if(!_id_){var _ie_=i_h$_+1|0,i_h$_=_ie_;continue;}
                      var _ib_=s_h9_;}
                    var _h__=_ib_;
                    break;}}
                var s_h7_=_h__;}
              var
               _gU_=
                _eL_
                 (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_h7_,i_gz_+1|0),
               _gO_=1;
              break;
             case 91:
              var _gU_=bad_conversion_format_eR_(fmt_gA_,i_gz_,_gN_),_gO_=1;
              break;
             case 97:
              var
               printer_if_=get_arg_gC_(spec_gK_,n_gD_),
               n_ig_=_ce_(_dP_,get_index_gu_(spec_gK_,n_gD_)),
               arg_ih_=get_arg_gC_(0,n_ig_),
               _gU_=
                _ij_
                 (cont_a_ii_,
                  next_index_gG_(spec_gK_,n_ig_),
                  printer_if_,
                  arg_ih_,
                  i_gz_+1|0),
               _gO_=1;
              break;
             case 114:
              var _gU_=bad_conversion_format_eR_(fmt_gA_,i_gz_,_gN_),_gO_=1;
              break;
             case 116:
              var
               printer_ik_=get_arg_gC_(spec_gK_,n_gD_),
               _gU_=
                _eL_
                 (cont_t_il_,
                  next_index_gG_(spec_gK_,n_gD_),
                  printer_ik_,
                  i_gz_+1|0),
               _gO_=1;
              break;
             default:var _gO_=0;}
          if(!_gO_)var _gU_=bad_conversion_format_eR_(fmt_gA_,i_gz_,_gN_);
          return _gU_;}}
      var _iq_=pos_gQ_+1|0,_in_=0;
      return scan_positional_spec_gL_
              (fmt_gA_,
               function(spec_ip_,i_im_)
                {return scan_flags_gI_(spec_ip_,n_io_,_in_,i_im_);},
               _iq_);}
    function _jb_
     (to_s_iP_,get_out_is_,outc_iI_,outs_iL_,flush_iX_,k_i7_,fmt_ir_)
     {var out_it_=_ce_(get_out_is_,fmt_ir_);
      function pr_i5_(k_iy_,n_i6_,fmt_iu_,v_iH_)
       {var len_ix_=fmt_iu_.getLen();
        function doprn_iM_(n_iG_,i_iv_)
         {var i_iw_=i_iv_;
          for(;;)
           {if(len_ix_<=i_iw_)return _ce_(k_iy_,out_it_);
            var _iz_=fmt_iu_.safeGet(i_iw_);
            if(37===_iz_)
             return _iA_
                     (fmt_iu_,
                      v_iH_,
                      n_iG_,
                      i_iw_,
                      cont_s_iF_,
                      cont_a_iE_,
                      cont_t_iD_,
                      cont_f_iC_,
                      cont_m_iB_);
            _fe_(outc_iI_,out_it_,_iz_);
            var _iJ_=i_iw_+1|0,i_iw_=_iJ_;
            continue;}}
        function cont_s_iF_(n_iO_,s_iK_,i_iN_)
         {_fe_(outs_iL_,out_it_,s_iK_);return doprn_iM_(n_iO_,i_iN_);}
        function cont_a_iE_(n_iT_,printer_iR_,arg_iQ_,i_iS_)
         {if(to_s_iP_)
           _fe_(outs_iL_,out_it_,_fe_(printer_iR_,0,arg_iQ_));
          else
           _fe_(printer_iR_,out_it_,arg_iQ_);
          return doprn_iM_(n_iT_,i_iS_);}
        function cont_t_iD_(n_iW_,printer_iU_,i_iV_)
         {if(to_s_iP_)
           _fe_(outs_iL_,out_it_,_ce_(printer_iU_,0));
          else
           _ce_(printer_iU_,out_it_);
          return doprn_iM_(n_iW_,i_iV_);}
        function cont_f_iC_(n_iZ_,i_iY_)
         {_ce_(flush_iX_,out_it_);return doprn_iM_(n_iZ_,i_iY_);}
        function cont_m_iB_(n_i1_,xf_i0_,i_i2_)
         {var
           m_i3_=
            add_int_index_dO_(count_arguments_of_format_fz_(xf_i0_),n_i1_);
          return pr_i5_
                  (function(param_i4_){return doprn_iM_(m_i3_,i_i2_);},
                   n_i1_,
                   xf_i0_,
                   v_iH_);}
        return doprn_iM_(n_i6_,0);}
      return kapr_i8_(_fe_(pr_i5_,k_i7_,index_of_int_dN_(0)),fmt_ir_);}
    function _jp_(oc_i__)
     {function _ja_(_i9_){return 0;}
      return _jc_
              (_jb_,
               0,
               function(param_i$_){return oc_i__;},
               _cm_,
               output_string_cc_,
               _cl_,
               _ja_);}
    function _jl_(fmt_jd_){return _dE_(2*fmt_jd_.getLen()|0);}
    function _ji_(k_jg_,b_je_)
     {var s_jf_=_dG_(b_je_);b_je_[2]=0;return _ce_(k_jg_,s_jf_);}
    function _jo_(k_jh_)
     {var _jk_=_ce_(_ji_,k_jh_);
      return _jc_(_jb_,1,_jl_,_dH_,_dI_,function(_jj_){return 0;},_jk_);}
    function _jq_(fmt_jn_)
     {return _fe_(_jo_,function(s_jm_){return s_jm_;},fmt_jn_);}
    var _jr_=[0,0];
    function _jy_(x_js_,i_jt_)
     {var f_ju_=x_js_[i_jt_+1];
      return caml_obj_is_block(f_ju_)
              ?caml_obj_tag(f_ju_)===_dd_
                ?_fe_(_jq_,_aH_,f_ju_)
                :caml_obj_tag(f_ju_)===_dc_?string_of_float_b0_(f_ju_):_aG_
              :_fe_(_jq_,_aI_,f_ju_);}
    function _jx_(x_jv_,i_jw_)
     {if(x_jv_.length-1<=i_jw_)return _a0_;
      var _jz_=_jx_(x_jv_,i_jw_+1|0);
      return _eL_(_jq_,_aZ_,_jy_(x_jv_,i_jw_),_jz_);}
    32===_c3_;
    function add_queue_jF_(x_jA_,q_jC_)
     {var c_jB_=[0,[0,x_jA_,0]],_jD_=q_jC_[1];
      if(_jD_)
       {var cell_jE_=_jD_[1];q_jC_[1]=c_jB_;cell_jE_[2]=c_jB_;return 0;}
      q_jC_[1]=c_jB_;
      q_jC_[2]=c_jB_;
      return 0;}
    var Empty_queue_jG_=[0,_am_];
    function take_queue_jO_(q_jH_)
     {var _jI_=q_jH_[2];
      if(_jI_)
       {var match_jJ_=_jI_[1],tl_jK_=match_jJ_[2],x_jL_=match_jJ_[1];
        q_jH_[2]=tl_jK_;
        if(0===tl_jK_)q_jH_[1]=0;
        return x_jL_;}
      throw [0,Empty_queue_jG_];}
    function pp_enqueue_jP_(state_jN_,token_jM_)
     {state_jN_[13]=state_jN_[13]+token_jM_[3]|0;
      return add_queue_jF_(token_jM_,state_jN_[27]);}
    var pp_infinity_jQ_=1000000010;
    function pp_output_string_kM_(state_jS_,s_jR_)
     {return _eL_(state_jS_[17],s_jR_,0,s_jR_.getLen());}
    function pp_output_newline_jW_(state_jT_){return _ce_(state_jT_[19],0);}
    function pp_display_blanks_j3_(state_jU_,n_jV_)
     {return _ce_(state_jU_[20],n_jV_);}
    function break_new_line_j4_(state_jX_,offset_jZ_,width_jY_)
     {pp_output_newline_jW_(state_jX_);
      state_jX_[11]=1;
      var
       indent_j0_=(state_jX_[6]-width_jY_|0)+offset_jZ_|0,
       _j1_=state_jX_[8],
       real_indent_j2_=caml_lessequal(_j1_,indent_j0_)?_j1_:indent_j0_;
      state_jX_[10]=real_indent_j2_;
      state_jX_[9]=state_jX_[6]-state_jX_[10]|0;
      return pp_display_blanks_j3_(state_jX_,state_jX_[10]);}
    function break_line_kH_(state_j6_,width_j5_)
     {return break_new_line_j4_(state_j6_,0,width_j5_);}
    function break_same_line_km_(state_j7_,width_j8_)
     {state_j7_[9]=state_j7_[9]-width_j8_|0;
      return pp_display_blanks_j3_(state_j7_,width_j8_);}
    function advance_left_k5_(state_j9_)
     {try
       {for(;;)
         {var _j__=state_j9_[27][2];
          if(!_j__)throw [0,Empty_queue_jG_];
          var
           x_j$_=_j__[1][1],
           size_ka_=x_j$_[1],
           tok_kb_=x_j$_[2],
           _kc_=size_ka_<0?1:0,
           len_ke_=x_j$_[3],
           _kd_=_kc_?(state_j9_[13]-state_j9_[12]|0)<state_j9_[9]?1:0:_kc_,
           _kf_=1-_kd_;
          if(_kf_)
           {take_queue_jO_(state_j9_[27]);
            var _kg_=0<=size_ka_?size_ka_:pp_infinity_jQ_;
            if(typeof tok_kb_==="number")
             switch(tok_kb_)
              {case 1:
                var _kO_=state_j9_[2];if(_kO_)state_j9_[2]=_kO_[2];break;
               case 2:
                var _kP_=state_j9_[3];if(_kP_)state_j9_[3]=_kP_[2];break;
               case 3:
                var _kQ_=state_j9_[2];
                if(_kQ_)
                 break_line_kH_(state_j9_,_kQ_[1][2]);
                else
                 pp_output_newline_jW_(state_j9_);
                break;
               case 4:
                if(state_j9_[10]!==(state_j9_[6]-state_j9_[9]|0))
                 {var
                   match_kR_=take_queue_jO_(state_j9_[27]),
                   size_kS_=match_kR_[1];
                  state_j9_[12]=state_j9_[12]-match_kR_[3]|0;
                  state_j9_[9]=state_j9_[9]+size_kS_|0;}
                break;
               case 5:
                var _kT_=state_j9_[5];
                if(_kT_)
                 {var tags_kU_=_kT_[2];
                  pp_output_string_kM_(state_j9_,_ce_(state_j9_[24],_kT_[1]));
                  state_j9_[5]=tags_kU_;}
                break;
               default:
                var _kV_=state_j9_[3];
                if(_kV_)
                 {var
                   tabs_kW_=_kV_[1][1],
                   add_tab_k0_=
                    function(n_kZ_,ls_kX_)
                     {if(ls_kX_)
                       {var x_kY_=ls_kX_[1],l_k1_=ls_kX_[2];
                        return caml_lessthan(n_kZ_,x_kY_)
                                ?[0,n_kZ_,ls_kX_]
                                :[0,x_kY_,add_tab_k0_(n_kZ_,l_k1_)];}
                      return [0,n_kZ_,0];};
                  tabs_kW_[1]=
                  add_tab_k0_(state_j9_[6]-state_j9_[9]|0,tabs_kW_[1]);}}
            else
             switch(tok_kb_[0])
              {case 1:
                var off_kh_=tok_kb_[2],n_ki_=tok_kb_[1],_kj_=state_j9_[2];
                if(_kj_)
                 {var match_kk_=_kj_[1],width_kl_=match_kk_[2];
                  switch(match_kk_[1])
                   {case 1:
                     break_new_line_j4_(state_j9_,off_kh_,width_kl_);break;
                    case 2:
                     break_new_line_j4_(state_j9_,off_kh_,width_kl_);break;
                    case 3:
                     if(state_j9_[9]<_kg_)
                      break_new_line_j4_(state_j9_,off_kh_,width_kl_);
                     else
                      break_same_line_km_(state_j9_,n_ki_);
                     break;
                    case 4:
                     if
                      (state_j9_[11]||
                       !(state_j9_[9]<
                        _kg_||
                        ((state_j9_[6]-width_kl_|0)+off_kh_|0)<
                        state_j9_[10]))
                      break_same_line_km_(state_j9_,n_ki_);
                     else
                      break_new_line_j4_(state_j9_,off_kh_,width_kl_);
                     break;
                    case 5:break_same_line_km_(state_j9_,n_ki_);break;
                    default:break_same_line_km_(state_j9_,n_ki_);}}
                break;
               case 2:
                var
                 insertion_point_kn_=state_j9_[6]-state_j9_[9]|0,
                 _ko_=state_j9_[3],
                 off_kA_=tok_kb_[2],
                 n_kz_=tok_kb_[1];
                if(_ko_)
                 {var tabs_kp_=_ko_[1][1],_kq_=tabs_kp_[1];
                  if(_kq_)
                   {var x_kw_=_kq_[1];
                    try
                     {var param_kr_=tabs_kp_[1];
                      for(;;)
                       {if(!param_kr_)throw [0,_c_];
                        var x_ks_=param_kr_[1],l_ku_=param_kr_[2];
                        if(!caml_greaterequal(x_ks_,insertion_point_kn_))
                         {var param_kr_=l_ku_;continue;}
                        var _kt_=x_ks_;
                        break;}}
                    catch(_kv_){if(_kv_[1]!==_c_)throw _kv_;var _kt_=x_kw_;}
                    var tab_kx_=_kt_;}
                  else
                   var tab_kx_=insertion_point_kn_;
                  var offset_ky_=tab_kx_-insertion_point_kn_|0;
                  if(0<=offset_ky_)
                   break_same_line_km_(state_j9_,offset_ky_+n_kz_|0);
                  else
                   break_new_line_j4_(state_j9_,tab_kx_+off_kA_|0,state_j9_[6]);}
                break;
               case 3:
                var ty_kB_=tok_kb_[2],off_kI_=tok_kb_[1];
                if(state_j9_[8]<(state_j9_[6]-state_j9_[9]|0))
                 {var _kC_=state_j9_[2];
                  if(_kC_)
                   {var
                     match_kD_=_kC_[1],
                     width_kE_=match_kD_[2],
                     bl_ty_kF_=match_kD_[1],
                     _kG_=
                      state_j9_[9]<width_kE_
                       ?0===bl_ty_kF_
                         ?0
                         :5<=bl_ty_kF_?1:(break_line_kH_(state_j9_,width_kE_),1)
                       :0;
                    _kG_;}
                  else
                   pp_output_newline_jW_(state_j9_);}
                var
                 offset_kK_=state_j9_[9]-off_kI_|0,
                 bl_type_kJ_=1===ty_kB_?1:state_j9_[9]<_kg_?ty_kB_:5;
                state_j9_[2]=[0,[0,bl_type_kJ_,offset_kK_],state_j9_[2]];
                break;
               case 4:state_j9_[3]=[0,tok_kb_[1],state_j9_[3]];break;
               case 5:
                var tag_name_kL_=tok_kb_[1];
                pp_output_string_kM_
                 (state_j9_,_ce_(state_j9_[23],tag_name_kL_));
                state_j9_[5]=[0,tag_name_kL_,state_j9_[5]];
                break;
               default:
                var s_kN_=tok_kb_[1];
                state_j9_[9]=state_j9_[9]-_kg_|0;
                pp_output_string_kM_(state_j9_,s_kN_);
                state_j9_[11]=0;}
            state_j9_[12]=len_ke_+state_j9_[12]|0;
            continue;}
          break;}}
      catch(_k2_){if(_k2_[1]===Empty_queue_jG_)return 0;throw _k2_;}
      return _kf_;}
    function enqueue_advance_la_(state_k4_,tok_k3_)
     {pp_enqueue_jP_(state_k4_,tok_k3_);return advance_left_k5_(state_k4_);}
    function make_queue_elem_k__(size_k8_,tok_k7_,len_k6_)
     {return [0,size_k8_,tok_k7_,len_k6_];}
    function enqueue_string_as_lc_(state_lb_,size_k$_,s_k9_)
     {return enqueue_advance_la_
              (state_lb_,make_queue_elem_k__(size_k$_,[0,s_k9_],size_k$_));}
    var scan_stack_bottom_ld_=[0,[0,-1,make_queue_elem_k__(-1,_al_,0)],0];
    function clear_scan_stack_ll_(state_le_)
     {state_le_[1]=scan_stack_bottom_ld_;return 0;}
    function set_size_lu_(state_lf_,ty_ln_)
     {var _lg_=state_lf_[1];
      if(_lg_)
       {var
         match_lh_=_lg_[1],
         queue_elem_li_=match_lh_[2],
         size_lj_=queue_elem_li_[1],
         t_lk_=_lg_[2],
         tok_lm_=queue_elem_li_[2];
        if(match_lh_[1]<state_lf_[12])return clear_scan_stack_ll_(state_lf_);
        if(typeof tok_lm_!=="number")
         switch(tok_lm_[0])
          {case 1:
           case 2:
            var
             _lo_=
              ty_ln_
               ?(queue_elem_li_[1]=
                 state_lf_[13]+
                 size_lj_|
                 0,
                 state_lf_[1]=
                 t_lk_,
                 0)
               :ty_ln_;
            return _lo_;
           case 3:
            var
             _lp_=1-ty_ln_,
             _lq_=
              _lp_
               ?(queue_elem_li_[1]=
                 state_lf_[13]+
                 size_lj_|
                 0,
                 state_lf_[1]=
                 t_lk_,
                 0)
               :_lp_;
            return _lq_;
           default:}
        return 0;}
      return 0;}
    function scan_push_ly_(state_ls_,b_lt_,tok_lr_)
     {pp_enqueue_jP_(state_ls_,tok_lr_);
      if(b_lt_)set_size_lu_(state_ls_,1);
      state_ls_[1]=[0,[0,state_ls_[13],tok_lr_],state_ls_[1]];
      return 0;}
    function pp_open_box_gen_lM_(state_lv_,indent_lx_,br_ty_lw_)
     {state_lv_[14]=state_lv_[14]+1|0;
      if(state_lv_[14]<state_lv_[15])
       return scan_push_ly_
               (state_lv_,
                0,
                make_queue_elem_k__
                 (-state_lv_[13]|0,[3,indent_lx_,br_ty_lw_],0));
      var _lz_=state_lv_[14]===state_lv_[15]?1:0;
      if(_lz_)
       {var _lA_=state_lv_[16];
        return enqueue_string_as_lc_(state_lv_,_lA_.getLen(),_lA_);}
      return _lz_;}
    function pp_close_box_lJ_(state_lB_,param_lE_)
     {var _lC_=1<state_lB_[14]?1:0;
      if(_lC_)
       {if(state_lB_[14]<state_lB_[15])
         {pp_enqueue_jP_(state_lB_,[0,0,1,0]);
          set_size_lu_(state_lB_,1);
          set_size_lu_(state_lB_,0);}
        state_lB_[14]=state_lB_[14]-1|0;
        var _lD_=0;}
      else
       var _lD_=_lC_;
      return _lD_;}
    function pp_open_tag_l7_(state_lF_,tag_name_lG_)
     {if(state_lF_[21])
       {state_lF_[4]=[0,tag_name_lG_,state_lF_[4]];
        _ce_(state_lF_[25],tag_name_lG_);}
      var _lH_=state_lF_[22];
      return _lH_?pp_enqueue_jP_(state_lF_,[0,0,[5,tag_name_lG_],0]):_lH_;}
    function pp_flush_queue_lV_(state_lI_,b_lK_)
     {for(;;)
       {if(1<state_lI_[14]){pp_close_box_lJ_(state_lI_,0);continue;}
        state_lI_[13]=pp_infinity_jQ_;
        advance_left_k5_(state_lI_);
        if(b_lK_)pp_output_newline_jW_(state_lI_);
        state_lI_[12]=1;
        state_lI_[13]=1;
        var _lL_=state_lI_[27];
        _lL_[1]=0;
        _lL_[2]=0;
        clear_scan_stack_ll_(state_lI_);
        state_lI_[2]=0;
        state_lI_[3]=0;
        state_lI_[4]=0;
        state_lI_[5]=0;
        state_lI_[10]=0;
        state_lI_[14]=0;
        state_lI_[9]=state_lI_[6];
        return pp_open_box_gen_lM_(state_lI_,0,3);}}
    function pp_print_as_size_lR_(state_lN_,size_lQ_,s_lP_)
     {var _lO_=state_lN_[14]<state_lN_[15]?1:0;
      return _lO_?enqueue_string_as_lc_(state_lN_,size_lQ_,s_lP_):_lO_;}
    function pp_print_as_l8_(state_lU_,isize_lT_,s_lS_)
     {return pp_print_as_size_lR_(state_lU_,isize_lT_,s_lS_);}
    function pp_print_flush_l9_(state_lW_,param_lX_)
     {pp_flush_queue_lV_(state_lW_,0);return _ce_(state_lW_[18],0);}
    function pp_print_break_l2_(state_lY_,width_l1_,offset_l0_)
     {var _lZ_=state_lY_[14]<state_lY_[15]?1:0;
      return _lZ_
              ?scan_push_ly_
                (state_lY_,
                 1,
                 make_queue_elem_k__
                  (-state_lY_[13]|0,[1,width_l1_,offset_l0_],width_l1_))
              :_lZ_;}
    function pp_print_space_l__(state_l3_,param_l4_)
     {return pp_print_break_l2_(state_l3_,1,0);}
    function display_newline_ma_(state_l5_,param_l6_)
     {return _eL_(state_l5_[17],_an_,0,1);}
    var blank_line_l$_=_cZ_(80,32);
    function display_blanks_mv_(state_me_,n_mb_)
     {var n_mc_=n_mb_;
      for(;;)
       {var _md_=0<n_mc_?1:0;
        if(_md_)
         {if(80<n_mc_)
           {_eL_(state_me_[17],blank_line_l$_,0,80);
            var _mf_=n_mc_-80|0,n_mc_=_mf_;
            continue;}
          return _eL_(state_me_[17],blank_line_l$_,0,n_mc_);}
        return _md_;}}
    function default_pp_mark_open_tag_mr_(s_mg_)
     {return _bP_(_ao_,_bP_(s_mg_,_ap_));}
    function default_pp_mark_close_tag_mq_(s_mh_)
     {return _bP_(_aq_,_bP_(s_mh_,_ar_));}
    function default_pp_print_open_tag_mp_(param_mi_){return 0;}
    function make_formatter_mz_(output_mt_,flush_ms_)
     {function _ml_(_mj_){return 0;}
      var _mm_=[0,0,0];
      function _mo_(_mk_){return 0;}
      var sys_tok_mn_=make_queue_elem_k__(-1,_at_,0);
      add_queue_jF_(sys_tok_mn_,_mm_);
      var
       _mu_=
        [0,
         [0,[0,1,sys_tok_mn_],scan_stack_bottom_ld_],
         0,
         0,
         0,
         0,
         78,
         10,
         78-10|0,
         78,
         0,
         1,
         1,
         1,
         1,
         max_int_bY_,
         _as_,
         output_mt_,
         flush_ms_,
         _mo_,
         _ml_,
         0,
         0,
         default_pp_mark_open_tag_mr_,
         default_pp_mark_close_tag_mq_,
         default_pp_print_open_tag_mp_,
         default_pp_print_open_tag_mp_,
         _mm_];
      _mu_[19]=_ce_(display_newline_ma_,_mu_);
      _mu_[20]=_ce_(display_blanks_mv_,_mu_);
      return _mu_;}
    function formatter_of_out_channel_mD_(oc_mw_)
     {function _my_(param_mx_){return _cl_(oc_mw_);}
      return make_formatter_mz_(_ce_(output_ch_,oc_mw_),_my_);}
    function formatter_of_buffer_mE_(b_mB_)
     {function _mC_(_mA_){return 0;}
      return make_formatter_mz_(_ce_(_dJ_,b_mB_),_mC_);}
    var
     stdbuf_mF_=_dE_(512),
     std_formatter_mG_=formatter_of_out_channel_mD_(stdout_ca_),
     err_formatter_mH_=formatter_of_out_channel_mD_(stderr_b1_);
    formatter_of_buffer_mE_(stdbuf_mF_);
    var print_flush_pT_=_ce_(pp_print_flush_l9_,std_formatter_mG_);
    function giving_up_mN_(mess_mL_,fmt_mI_,i_mJ_)
     {var
       _mK_=
        i_mJ_<fmt_mI_.getLen()
         ?_fe_(_jq_,_aw_,fmt_mI_.safeGet(i_mJ_))
         :_fe_(_jq_,_av_,46);
      return _mM_(_jq_,_au_,mess_mL_,_d0_(fmt_mI_),i_mJ_,_mK_);}
    function format_invalid_arg_mR_(mess_mQ_,fmt_mP_,i_mO_)
     {return _bE_(giving_up_mN_(mess_mQ_,fmt_mP_,i_mO_));}
    function invalid_format_nw_(fmt_mT_,i_mS_)
     {return format_invalid_arg_mR_(_ax_,fmt_mT_,i_mS_);}
    function invalid_integer_m0_(fmt_mV_,i_mU_)
     {return _bE_(giving_up_mN_(_ay_,fmt_mV_,i_mU_));}
    function format_int_of_string_pg_(fmt_m2_,i_m1_,s_mW_)
     {try
       {var _mX_=caml_int_of_string(s_mW_),sz_mY_=_mX_;}
      catch(_mZ_)
       {if(_mZ_[1]!==_a_)throw _mZ_;
        var sz_mY_=invalid_integer_m0_(fmt_m2_,i_m1_);}
      return sz_mY_;}
    function exstring_n2_(printer_m6_,arg_m5_)
     {var b_m3_=_dE_(512),ppf_m4_=formatter_of_buffer_mE_(b_m3_);
      _fe_(printer_m6_,ppf_m4_,arg_m5_);
      pp_flush_queue_lV_(ppf_m4_,0);
      var s_m7_=_dG_(b_m3_);
      b_m3_[2]=0;
      b_m3_[1]=b_m3_[4];
      b_m3_[3]=b_m3_[1].getLen();
      return s_m7_;}
    function implode_rev_nP_(s0_m9_,l_m8_)
     {return l_m8_?_c2_(_az_,_cB_([0,s0_m9_,l_m8_])):s0_m9_;}
    function mkprintf_pQ_(to_s_nY_,get_out_nb_)
     {function kprintf_pa_(k_nm_,fmt_m__)
       {var len_m$_=fmt_m__.getLen();
        return kapr_i8_
                (function(fmt_na_,v_nu_)
                  {var ppf_nc_=_ce_(get_out_nb_,fmt_na_),print_as_nd_=[0,0];
                   function pp_print_as_char_oB_(c_nf_)
                    {var _ne_=print_as_nd_[1];
                     if(_ne_)
                      {var size_ng_=_ne_[1];
                       pp_print_as_size_lR_(ppf_nc_,size_ng_,_cZ_(1,c_nf_));
                       print_as_nd_[1]=0;
                       return 0;}
                     var s_nh_=caml_create_string(1);
                     s_nh_.safeSet(0,c_nf_);
                     return pp_print_as_l8_(ppf_nc_,1,s_nh_);}
                   function pp_print_as_string_oW_(s_nj_)
                    {var _ni_=print_as_nd_[1];
                     return _ni_
                             ?(pp_print_as_size_lR_(ppf_nc_,_ni_[1],s_nj_),
                               print_as_nd_[1]=
                               0,
                               0)
                             :pp_print_as_l8_(ppf_nc_,s_nj_.getLen(),s_nj_);}
                   function doprn_nE_(n_nt_,i_nk_)
                    {var i_nl_=i_nk_;
                     for(;;)
                      {if(len_m$_<=i_nl_)return _ce_(k_nm_,ppf_nc_);
                       var _nn_=fmt_na_.safeGet(i_nl_);
                       if(37===_nn_)
                        return _iA_
                                (fmt_na_,
                                 v_nu_,
                                 n_nt_,
                                 i_nl_,
                                 cont_s_ns_,
                                 cont_a_nr_,
                                 cont_t_nq_,
                                 cont_f_np_,
                                 cont_m_no_);
                       if(64===_nn_)
                        {var i_nv_=i_nl_+1|0;
                         if(len_m$_<=i_nv_)return invalid_format_nw_(fmt_na_,i_nv_);
                         var _nx_=fmt_na_.safeGet(i_nv_);
                         if(65<=_nx_)
                          {if(94<=_nx_)
                            {var _ny_=_nx_-123|0;
                             if(!(_ny_<0||2<_ny_))
                              switch(_ny_)
                               {case 1:break;
                                case 2:
                                 if(ppf_nc_[22])pp_enqueue_jP_(ppf_nc_,[0,0,5,0]);
                                 if(ppf_nc_[21])
                                  {var _nz_=ppf_nc_[4];
                                   if(_nz_)
                                    {var tags_nA_=_nz_[2];
                                     _ce_(ppf_nc_[26],_nz_[1]);
                                     ppf_nc_[4]=tags_nA_;
                                     var _nB_=1;}
                                   else
                                    var _nB_=0;}
                                 else
                                  var _nB_=0;
                                 _nB_;
                                 var _nC_=i_nv_+1|0,i_nl_=_nC_;
                                 continue;
                                default:
                                 var _nD_=i_nv_+1|0;
                                 if(len_m$_<=_nD_)
                                  {pp_open_tag_l7_(ppf_nc_,_aB_);
                                   var _nF_=doprn_nE_(n_nt_,_nD_);}
                                 else
                                  if(60===fmt_na_.safeGet(_nD_))
                                   {var
                                     got_name_nK_=
                                      function(tag_name_nG_,n_nJ_,i_nI_)
                                       {pp_open_tag_l7_(ppf_nc_,tag_name_nG_);
                                        return doprn_nE_(n_nJ_,skip_gt_nH_(i_nI_));},
                                     _nL_=_nD_+1|0,
                                     get_nV_=
                                      function(accu_nQ_,n_nR_,i_nO_,j_nM_)
                                       {var j_nN_=j_nM_;
                                        for(;;)
                                         {if(len_m$_<=j_nN_)
                                           return got_name_nK_
                                                   (implode_rev_nP_
                                                     (_dU_(fmt_na_,index_of_int_dN_(i_nO_),j_nN_-i_nO_|0),
                                                      accu_nQ_),
                                                    n_nR_,
                                                    j_nN_);
                                          var _nS_=fmt_na_.safeGet(j_nN_);
                                          if(37===_nS_)
                                           {var
                                             s0_nT_=_dU_(fmt_na_,index_of_int_dN_(i_nO_),j_nN_-i_nO_|0),
                                             cont_s_of_=
                                              function(n_nX_,s_nU_,i_nW_)
                                               {return get_nV_
                                                        ([0,s_nU_,[0,s0_nT_,accu_nQ_]],n_nX_,i_nW_,i_nW_);},
                                             cont_a_og_=
                                              function(n_n4_,printer_n0_,arg_nZ_,i_n3_)
                                               {var
                                                 s_n1_=
                                                  to_s_nY_
                                                   ?_fe_(printer_n0_,0,arg_nZ_)
                                                   :exstring_n2_(printer_n0_,arg_nZ_);
                                                return get_nV_
                                                        ([0,s_n1_,[0,s0_nT_,accu_nQ_]],n_n4_,i_n3_,i_n3_);},
                                             cont_t_oh_=
                                              function(n_n$_,printer_n5_,i_n__)
                                               {if(to_s_nY_)
                                                 var s_n6_=_ce_(printer_n5_,0);
                                                else
                                                 {var
                                                   _n9_=0,
                                                   s_n6_=
                                                    exstring_n2_
                                                     (function(ppf_n7_,param_n8_)
                                                       {return _ce_(printer_n5_,ppf_n7_);},
                                                      _n9_);}
                                                return get_nV_
                                                        ([0,s_n6_,[0,s0_nT_,accu_nQ_]],n_n$_,i_n__,i_n__);},
                                             cont_f_oi_=
                                              function(_n_ob_,i_oa_)
                                               {return format_invalid_arg_mR_(_aC_,fmt_na_,i_oa_);};
                                            return _iA_
                                                    (fmt_na_,
                                                     v_nu_,
                                                     n_nR_,
                                                     j_nN_,
                                                     cont_s_of_,
                                                     cont_a_og_,
                                                     cont_t_oh_,
                                                     cont_f_oi_,
                                                     function(_n_od_,_sfmt_oe_,i_oc_)
                                                      {return format_invalid_arg_mR_(_aD_,fmt_na_,i_oc_);});}
                                          if(62===_nS_)
                                           return got_name_nK_
                                                   (implode_rev_nP_
                                                     (_dU_(fmt_na_,index_of_int_dN_(i_nO_),j_nN_-i_nO_|0),
                                                      accu_nQ_),
                                                    n_nR_,
                                                    j_nN_);
                                          var _oj_=j_nN_+1|0,j_nN_=_oj_;
                                          continue;}},
                                     _nF_=get_nV_(0,n_nt_,_nL_,_nL_);}
                                  else
                                   {pp_open_tag_l7_(ppf_nc_,_aA_);
                                    var _nF_=doprn_nE_(n_nt_,_nD_);}
                                 return _nF_;}}
                           else
                            if(91<=_nx_)
                             switch(_nx_-91|0)
                              {case 1:break;
                               case 2:
                                pp_close_box_lJ_(ppf_nc_,0);
                                var _ok_=i_nv_+1|0,i_nl_=_ok_;
                                continue;
                               default:
                                var _ol_=i_nv_+1|0;
                                if(len_m$_<=_ol_||!(60===fmt_na_.safeGet(_ol_)))
                                 {pp_open_box_gen_lM_(ppf_nc_,0,4);
                                  var _om_=doprn_nE_(n_nt_,_ol_);}
                                else
                                 {var _on_=_ol_+1|0;
                                  if(len_m$_<=_on_)
                                   var match_oo_=[0,4,_on_];
                                  else
                                   {var _op_=fmt_na_.safeGet(_on_);
                                    if(98===_op_)
                                     var match_oo_=[0,4,_on_+1|0];
                                    else
                                     if(104===_op_)
                                      {var i_oq_=_on_+1|0;
                                       if(len_m$_<=i_oq_)
                                        var match_oo_=[0,0,i_oq_];
                                       else
                                        {var _or_=fmt_na_.safeGet(i_oq_);
                                         if(111===_or_)
                                          {var i_os_=i_oq_+1|0;
                                           if(len_m$_<=i_os_)
                                            var match_oo_=format_invalid_arg_mR_(_aF_,fmt_na_,i_os_);
                                           else
                                            {var
                                              _ot_=fmt_na_.safeGet(i_os_),
                                              match_oo_=
                                               118===_ot_
                                                ?[0,3,i_os_+1|0]
                                                :format_invalid_arg_mR_
                                                  (_bP_(_aE_,_cZ_(1,_ot_)),fmt_na_,i_os_);}}
                                         else
                                          var match_oo_=118===_or_?[0,2,i_oq_+1|0]:[0,0,i_oq_];}}
                                     else
                                      var match_oo_=118===_op_?[0,1,_on_+1|0]:[0,4,_on_];}
                                  var
                                   i_oy_=match_oo_[2],
                                   kind_ou_=match_oo_[1],
                                   _om_=
                                    get_int_oz_
                                     (n_nt_,
                                      i_oy_,
                                      function(size_ov_,n_ox_,i_ow_)
                                       {pp_open_box_gen_lM_(ppf_nc_,size_ov_,kind_ou_);
                                        return doprn_nE_(n_ox_,skip_gt_nH_(i_ow_));});}
                                return _om_;}}
                         else
                          {if(10===_nx_)
                            {if(ppf_nc_[14]<ppf_nc_[15])
                              enqueue_advance_la_(ppf_nc_,make_queue_elem_k__(0,3,0));
                             var _oA_=i_nv_+1|0,i_nl_=_oA_;
                             continue;}
                           if(32<=_nx_)
                            switch(_nx_-32|0)
                             {case 5:
                              case 32:
                               pp_print_as_char_oB_(_nx_);
                               var _oC_=i_nv_+1|0,i_nl_=_oC_;
                               continue;
                              case 0:
                               pp_print_space_l__(ppf_nc_,0);
                               var _oD_=i_nv_+1|0,i_nl_=_oD_;
                               continue;
                              case 12:
                               pp_print_break_l2_(ppf_nc_,0,0);
                               var _oE_=i_nv_+1|0,i_nl_=_oE_;
                               continue;
                              case 14:
                               pp_flush_queue_lV_(ppf_nc_,1);
                               _ce_(ppf_nc_[18],0);
                               var _oF_=i_nv_+1|0,i_nl_=_oF_;
                               continue;
                              case 27:
                               var _oG_=i_nv_+1|0;
                               if(len_m$_<=_oG_||!(60===fmt_na_.safeGet(_oG_)))
                                {pp_print_space_l__(ppf_nc_,0);
                                 var _oH_=doprn_nE_(n_nt_,_oG_);}
                               else
                                {var
                                  got_nspaces_oQ_=
                                   function(nspaces_oI_,n_oL_,i_oK_)
                                    {return get_int_oz_
                                             (n_oL_,i_oK_,_ce_(got_offset_oJ_,nspaces_oI_));},
                                  got_offset_oJ_=
                                   function(nspaces_oN_,offset_oM_,n_oP_,i_oO_)
                                    {pp_print_break_l2_(ppf_nc_,nspaces_oN_,offset_oM_);
                                     return doprn_nE_(n_oP_,skip_gt_nH_(i_oO_));},
                                  _oH_=get_int_oz_(n_nt_,_oG_+1|0,got_nspaces_oQ_);}
                               return _oH_;
                              case 28:
                               return get_int_oz_
                                       (n_nt_,
                                        i_nv_+1|0,
                                        function(size_oR_,n_oT_,i_oS_)
                                         {print_as_nd_[1]=[0,size_oR_];
                                          return doprn_nE_(n_oT_,skip_gt_nH_(i_oS_));});
                              case 31:
                               pp_print_flush_l9_(ppf_nc_,0);
                               var _oU_=i_nv_+1|0,i_nl_=_oU_;
                               continue;
                              default:}}
                         return invalid_format_nw_(fmt_na_,i_nv_);}
                       pp_print_as_char_oB_(_nn_);
                       var _oV_=i_nl_+1|0,i_nl_=_oV_;
                       continue;}}
                   function cont_s_ns_(n_oZ_,s_oX_,i_oY_)
                    {pp_print_as_string_oW_(s_oX_);
                     return doprn_nE_(n_oZ_,i_oY_);}
                   function cont_a_nr_(n_o3_,printer_o1_,arg_o0_,i_o2_)
                    {if(to_s_nY_)
                      pp_print_as_string_oW_(_fe_(printer_o1_,0,arg_o0_));
                     else
                      _fe_(printer_o1_,ppf_nc_,arg_o0_);
                     return doprn_nE_(n_o3_,i_o2_);}
                   function cont_t_nq_(n_o6_,printer_o4_,i_o5_)
                    {if(to_s_nY_)
                      pp_print_as_string_oW_(_ce_(printer_o4_,0));
                     else
                      _ce_(printer_o4_,ppf_nc_);
                     return doprn_nE_(n_o6_,i_o5_);}
                   function cont_f_np_(n_o8_,i_o7_)
                    {pp_print_flush_l9_(ppf_nc_,0);
                     return doprn_nE_(n_o8_,i_o7_);}
                   function cont_m_no_(n_o__,sfmt_pb_,i_o9_)
                    {return kprintf_pa_
                             (function(param_o$_){return doprn_nE_(n_o__,i_o9_);},
                              sfmt_pb_);}
                   function get_int_oz_(n_pB_,i_pc_,c_pk_)
                    {var i_pd_=i_pc_;
                     for(;;)
                      {if(len_m$_<=i_pd_)
                        return invalid_integer_m0_(fmt_na_,i_pd_);
                       var _pe_=fmt_na_.safeGet(i_pd_);
                       if(32===_pe_){var _pf_=i_pd_+1|0,i_pd_=_pf_;continue;}
                       if(37===_pe_)
                        {var
                          cont_s_px_=
                           function(n_pj_,s_ph_,i_pi_)
                            {return _eL_
                                     (c_pk_,
                                      format_int_of_string_pg_(fmt_na_,i_pi_,s_ph_),
                                      n_pj_,
                                      i_pi_);},
                          cont_a_py_=
                           function(_n_pm_,_printer_pn_,_arg_po_,i_pl_)
                            {return invalid_integer_m0_(fmt_na_,i_pl_);},
                          cont_t_pz_=
                           function(_n_pq_,_printer_pr_,i_pp_)
                            {return invalid_integer_m0_(fmt_na_,i_pp_);},
                          cont_f_pA_=
                           function(_n_pt_,i_ps_)
                            {return invalid_integer_m0_(fmt_na_,i_ps_);};
                         return _iA_
                                 (fmt_na_,
                                  v_nu_,
                                  n_pB_,
                                  i_pd_,
                                  cont_s_px_,
                                  cont_a_py_,
                                  cont_t_pz_,
                                  cont_f_pA_,
                                  function(_n_pv_,_sfmt_pw_,i_pu_)
                                   {return invalid_integer_m0_(fmt_na_,i_pu_);});}
                       var j_pC_=i_pd_;
                       for(;;)
                        {if(len_m$_<=j_pC_)
                          var _pD_=invalid_integer_m0_(fmt_na_,j_pC_);
                         else
                          {var
                            _pE_=fmt_na_.safeGet(j_pC_),
                            _pF_=48<=_pE_?58<=_pE_?0:1:45===_pE_?1:0;
                           if(_pF_){var _pG_=j_pC_+1|0,j_pC_=_pG_;continue;}
                           var
                            size_pH_=
                             j_pC_===i_pd_
                              ?0
                              :format_int_of_string_pg_
                                (fmt_na_,
                                 j_pC_,
                                 _dU_(fmt_na_,index_of_int_dN_(i_pd_),j_pC_-i_pd_|0)),
                            _pD_=_eL_(c_pk_,size_pH_,n_pB_,j_pC_);}
                         return _pD_;}}}
                   function skip_gt_nH_(i_pI_)
                    {var i_pJ_=i_pI_;
                     for(;;)
                      {if(len_m$_<=i_pJ_)return invalid_format_nw_(fmt_na_,i_pJ_);
                       var _pK_=fmt_na_.safeGet(i_pJ_);
                       if(32===_pK_){var _pL_=i_pJ_+1|0,i_pJ_=_pL_;continue;}
                       return 62===_pK_?i_pJ_+1|0:invalid_format_nw_(fmt_na_,i_pJ_);}}
                   return doprn_nE_(index_of_int_dN_(0),0);},
                 fmt_m__);}
      return kprintf_pa_;}
    function fprintf_pS_(ppf_pN_)
     {function _pP_(_pM_){return 0;}
      return _eL_(mkprintf_pQ_,0,function(param_pO_){return ppf_pN_;},_pP_);}
    function eprintf_pU_(fmt_pR_)
     {return _fe_(fprintf_pS_,err_formatter_mH_,fmt_pR_);}
    var g_pV_=exit_function_cd_[1];
    exit_function_cd_[1]=
    function(param_pW_){_ce_(print_flush_pT_,0);return _ce_(g_pV_,0);};
    function _pZ_(param_pY_)
     {var seq_pX_=[];
      caml_update_dummy(seq_pX_,[0,seq_pX_,seq_pX_]);
      return seq_pX_;}
    var Canceled_p0_=[0,_af_],current_data_p1_=[0,0],max_removed_q1_=42;
    function repr_rec_p5_(t_p2_)
     {var _p3_=t_p2_[1];
      {if(3===_p3_[0])
        {var t__p4_=_p3_[1],t___p6_=repr_rec_p5_(t__p4_);
         if(t___p6_!==t__p4_)t_p2_[1]=[3,t___p6_];
         return t___p6_;}
       return t_p2_;}}
    function repr_q2_(t_p7_){return repr_rec_p5_(t_p7_);}
    function call_unsafe_qV_(f_p9_,x_p8_)
     {try
       {var _p__=_ce_(f_p9_,x_p8_);}
      catch(_qa_)
       {var param_p$_=_jr_[1];
        for(;;)
         {if(param_p$_)
           {var tl_qe_=param_p$_[2],hd_qb_=param_p$_[1];
            try
             {var _qc_=_ce_(hd_qb_,_qa_),_qd_=_qc_;}
            catch(_qf_){var _qd_=0;}
            if(!_qd_){var param_p$_=tl_qe_;continue;}}
          else
           if(_qa_[1]!==_bD_&&_qa_[1]!==_bB_)
            if(_qa_[1]===_bC_)
             {var match_qg_=_qa_[2],char_qh_=match_qg_[3];
              _jc_
               (_jq_,_f_,match_qg_[1],match_qg_[2],char_qh_,char_qh_+5|0,_aP_);}
            else
             if(_qa_[1]===_d_)
              {var match_qi_=_qa_[2],char_qj_=match_qi_[3];
               _jc_
                (_jq_,
                 _f_,
                 match_qi_[1],
                 match_qi_[2],
                 char_qj_,
                 char_qj_+6|0,
                 _aO_);}
             else
              if(_qa_[1]===_bA_)
               {var match_qk_=_qa_[2],char_ql_=match_qk_[3];
                _jc_
                 (_jq_,
                  _f_,
                  match_qk_[1],
                  match_qk_[2],
                  char_ql_,
                  char_ql_+6|0,
                  _aN_);}
              else
               {var _qm_=_qa_.length-1,constructor_qp_=_qa_[0+1][0+1];
                if(_qm_<0||2<_qm_)
                 {var
                   _qn_=_jx_(_qa_,2),
                   _qo_=_eL_(_jq_,_aM_,_jy_(_qa_,1),_qn_);}
                else
                 switch(_qm_)
                  {case 1:var _qo_=_aK_;break;
                   case 2:var _qo_=_fe_(_jq_,_aJ_,_jy_(_qa_,1));break;
                   default:var _qo_=_aL_;}
                _bP_(constructor_qp_,_qo_);}
          caml_ml_output_char(stderr_b1_,10);
          var _qq_=caml_get_exception_backtrace(0);
          if(_qq_)
           {var a_qr_=_qq_[1],_qs_=0,_qt_=a_qr_.length-1-1|0;
            if(!(_qt_<_qs_))
             {var i_qu_=_qs_;
              for(;;)
               {if(caml_notequal(caml_array_get(a_qr_,i_qu_),_aY_))
                 {var
                   _qv_=caml_array_get(a_qr_,i_qu_),
                   is_raise_qw_=0===_qv_[0]?_qv_[1]:_qv_[1],
                   info_qx_=
                    is_raise_qw_?0===i_qu_?_aV_:_aU_:0===i_qu_?_aT_:_aS_,
                   _qy_=
                    0===_qv_[0]
                     ?_jc_(_jq_,_aR_,info_qx_,_qv_[2],_qv_[3],_qv_[4],_qv_[5])
                     :_fe_(_jq_,_aQ_,info_qx_);
                  _eL_(_jp_,stderr_b1_,_aX_,_qy_);}
                var _qz_=i_qu_+1|0;
                if(_qt_!==i_qu_){var i_qu_=_qz_;continue;}
                break;}}}
          else
           _fe_(_jp_,stderr_b1_,_aW_);
          do_at_exit_cg_(0);
          return caml_sys_exit(2);}}
      return _p__;}
    function run_waiters_rec_qK_(state_qE_,ws_qA_,rem_qC_)
     {var ws_qB_=ws_qA_,rem_qD_=rem_qC_;
      for(;;)
       if(typeof ws_qB_==="number")
        return run_waiters_rec_next_qF_(state_qE_,rem_qD_);
       else
        switch(ws_qB_[0])
         {case 1:
           _ce_(ws_qB_[1],state_qE_);
           return run_waiters_rec_next_qF_(state_qE_,rem_qD_);
          case 2:
           var
            ws1_qG_=ws_qB_[1],
            _qH_=[0,ws_qB_[2],rem_qD_],
            ws_qB_=ws1_qG_,
            rem_qD_=_qH_;
           continue;
          default:
           var _qI_=ws_qB_[1][1];
           return _qI_
                   ?(_ce_(_qI_[1],state_qE_),
                     run_waiters_rec_next_qF_(state_qE_,rem_qD_))
                   :run_waiters_rec_next_qF_(state_qE_,rem_qD_);}}
    function run_waiters_rec_next_qF_(state_qL_,rem_qJ_)
     {return rem_qJ_?run_waiters_rec_qK_(state_qL_,rem_qJ_[1],rem_qJ_[2]):0;}
    function run_cancel_handlers_rec_qX_(chs_qM_,rem_qO_)
     {var chs_qN_=chs_qM_,rem_qP_=rem_qO_;
      for(;;)
       if(typeof chs_qN_==="number")
        return run_cancel_handlers_rec_next_qR_(rem_qP_);
       else
        switch(chs_qN_[0])
         {case 1:
           var n_qQ_=chs_qN_[1];
           if(n_qQ_[4]){n_qQ_[4]=0;n_qQ_[1][2]=n_qQ_[2];n_qQ_[2][1]=n_qQ_[1];}
           return run_cancel_handlers_rec_next_qR_(rem_qP_);
          case 2:
           var
            chs1_qS_=chs_qN_[1],
            _qT_=[0,chs_qN_[2],rem_qP_],
            chs_qN_=chs1_qS_,
            rem_qP_=_qT_;
           continue;
          default:
           var f_qU_=chs_qN_[2];
           current_data_p1_[1]=chs_qN_[1];
           call_unsafe_qV_(f_qU_,0);
           return run_cancel_handlers_rec_next_qR_(rem_qP_);}}
    function run_cancel_handlers_rec_next_qR_(rem_qW_)
     {return rem_qW_?run_cancel_handlers_rec_qX_(rem_qW_[1],rem_qW_[2]):0;}
    function unsafe_run_waiters_q3_(sleeper_qZ_,state_qY_)
     {var
       _q0_=
        1===state_qY_[0]
         ?state_qY_[1][1]===Canceled_p0_
           ?(run_cancel_handlers_rec_qX_(sleeper_qZ_[4],0),1)
           :0
         :0;
      _q0_;
      return run_waiters_rec_qK_(state_qY_,sleeper_qZ_[2],0);}
    var wakening_q4_=[0,0],_q5_=[0,0,0];
    function wakeup_rq_(t_q8_,v_q6_)
     {var _q7_=[0,v_q6_],t_q9_=repr_rec_p5_(t_q8_),_q__=t_q9_[1];
      switch(_q__[0])
       {case 1:
         if(_q__[1][1]===Canceled_p0_){var _q$_=0,_ra_=1;}else var _ra_=0;
         break;
        case 2:
         var sleeper_rb_=_q__[1];
         t_q9_[1]=_q7_;
         var
          snapshot_rc_=current_data_p1_[1],
          already_wakening_rd_=wakening_q4_[1]?1:(wakening_q4_[1]=1,0);
         unsafe_run_waiters_q3_(sleeper_rb_,_q7_);
         if(already_wakening_rd_)
          {current_data_p1_[1]=snapshot_rc_;var _re_=0;}
         else
          for(;;)
           {if(0!==_q5_[1])
             {if(0===_q5_[1])throw [0,_dF_];
              _q5_[1]=_q5_[1]-1|0;
              var tail_rf_=_q5_[2],head_rg_=tail_rf_[2];
              if(head_rg_===tail_rf_)_q5_[2]=0;else tail_rf_[2]=head_rg_[2];
              var _rh_=head_rg_[1];
              unsafe_run_waiters_q3_(_rh_[1],_rh_[2]);
              continue;}
            wakening_q4_[1]=0;
            current_data_p1_[1]=snapshot_rc_;
            var _re_=0;
            break;}
         var _q$_=_re_,_ra_=1;
         break;
        default:var _ra_=0;}
      if(!_ra_)var _q$_=_bE_(_ag_);
      return _q$_;}
    function append_ro_(l1_ri_,l2_rj_)
     {return typeof l1_ri_==="number"
              ?l2_rj_
              :typeof l2_rj_==="number"?l1_ri_:[2,l1_ri_,l2_rj_];}
    function cleanup_rl_(ws_rk_)
     {if(typeof ws_rk_!=="number")
       switch(ws_rk_[0])
        {case 2:
          var l1_rm_=ws_rk_[1],_rn_=cleanup_rl_(ws_rk_[2]);
          return append_ro_(cleanup_rl_(l1_rm_),_rn_);
         case 1:break;
         default:if(!ws_rk_[1][1])return 0;}
      return ws_rk_;}
    var
     pause_hook_rs_=[0,function(_rp_){return 0;}],
     _rr_=_pZ_(0),
     _rv_=[0,0],
     null_rA_=null,
     array_constructor_rB_=Array;
    function _rF_(param_rz_)
     {var _rt_=1-(_rr_[2]===_rr_?1:0);
      if(_rt_)
       {var tmp_ru_=_pZ_(0);
        tmp_ru_[1][2]=_rr_[2];
        _rr_[2][1]=tmp_ru_[1];
        tmp_ru_[1]=_rr_[1];
        _rr_[1][2]=tmp_ru_;
        _rr_[1]=_rr_;
        _rr_[2]=_rr_;
        _rv_[1]=0;
        var curr_rw_=tmp_ru_[2];
        for(;;)
         {var _rx_=curr_rw_!==tmp_ru_?1:0;
          if(_rx_)
           {if(curr_rw_[4])wakeup_rq_(curr_rw_[3],0);
            var _ry_=curr_rw_[2],curr_rw_=_ry_;
            continue;}
          return _rx_;}}
      return _rt_;}
    var undefined_rE_=undefined,_false_rD_=false;
    function _rG_(e_rC_)
     {return e_rC_ instanceof array_constructor_rB_
              ?0
              :[0,new MlWrappedString(e_rC_.toString())];}
    _jr_[1]=[0,_rG_,_jr_[1]];
    function appendChild_rJ_(p_rH_,n_rI_){p_rH_.appendChild(n_rI_);return 0;}
    var
     window_rK_=window,
     document_rL_=window_rK_.document,
     onIE_rW_=caml_js_on_ie(0)|0;
    function opt_iter_rV_(x_rM_,f_rN_){return x_rM_?_ce_(f_rN_,x_rM_[1]):0;}
    function createElement_rQ_(doc_rP_,name_rO_)
     {return doc_rP_.createElement(name_rO_.toString());}
    function unsafeCreateElement_rT_(doc_rS_,name_rR_)
     {return createElement_rQ_(doc_rS_,name_rR_);}
    function createDiv_rX_(doc_rU_)
     {return unsafeCreateElement_rT_(doc_rU_,_ab_);}
    window.HTMLElement===undefined_rE_;
    pause_hook_rs_[1]=
    function(param_rY_)
     {return 1===param_rY_
              ?(window_rK_.setTimeout(caml_js_wrap_callback(_rF_),0),0)
              :0;};
    function _tu_(c_r4_,s_r1_)
     {var n_rZ_=[0,0],_r0_=0,_r2_=s_r1_.getLen()-1|0;
      if(!(_r2_<_r0_))
       {var i_r3_=_r0_;
        for(;;)
         {if(s_r1_.safeGet(i_r3_)===c_r4_)n_rZ_[1]+=1;
          var _r5_=i_r3_+1|0;
          if(_r2_!==i_r3_){var i_r3_=_r5_;continue;}
          break;}}
      return n_rZ_[1];}
    function _sa_(c_r6_,v_r8_)
     {var _r7_=c_r6_[12];
      if(typeof _r7_!=="number"&&1===_r7_[0])
       {c_r6_[8]=[0,v_r8_,c_r6_[8]];return 0;}
      var _r9_=c_r6_[7];
      c_r6_[7]=[0,_ce_(c_r6_[1][20],v_r8_),_r9_];
      return 0;}
    function _sc_(c_r__,s_r$_){return _sa_(c_r__,_ce_(c_r__[1][1],s_r$_));}
    function _tG_(c_sd_,lexbuf_sb_){return _sc_(c_sd_,_de_(lexbuf_sb_));}
    function _sn_(c_sf_,style_se_,v_sg_)
     {return 0===style_se_?(c_sf_[3]=v_sg_,0):(c_sf_[2]=v_sg_,0);}
    function _ss_(c_si_,style_sh_,inline_sm_,stack_sk_)
     {var elt_sj_=0===style_sh_?c_si_[1][2]:c_si_[1][3],inline__sl_=c_si_[7];
      c_si_[12]=stack_sk_;
      c_si_[7]=inline_sm_;
      _sa_(c_si_,_ce_(elt_sj_,_cB_(inline__sl_)));
      return _sn_(c_si_,style_sh_,0);}
    function _tE_(c_sp_,style_so_)
     {var _sq_=0===style_so_?c_sp_[3]:c_sp_[2];
      if(_sq_)
       {var _sr_=c_sp_[12];
        if(typeof _sr_!=="number"&&0===_sr_[0])
         {var stack_st_=_sr_[3],inline_su_=_sr_[2];
          if(caml_equal(_sr_[1],style_so_))
           return _ss_(c_sp_,style_so_,inline_su_,stack_st_);}
        return 0===style_so_?_sc_(c_sp_,_M_):_sc_(c_sp_,_N_);}
      c_sp_[12]=[0,style_so_,c_sp_[7],c_sp_[12]];
      c_sp_[7]=0;
      return _sn_(c_sp_,style_so_,1);}
    function _sP_(c_sv_,addr_sz_,stack_sw_)
     {c_sv_[12]=stack_sw_;
      var _sx_=c_sv_[7],_sy_=_cB_(c_sv_[8]);
      c_sv_[7]=[0,_fe_(c_sv_[1][7],addr_sz_,_sy_),_sx_];
      c_sv_[8]=0;
      c_sv_[5]=0;
      return 0;}
    function _sH_(c_sA_)
     {var _sB_=c_sA_[12];
      if(typeof _sB_!=="number")
       switch(_sB_[0])
        {case 5:
          var _sC_=c_sA_[12];
          c_sA_[12]=[6,[0,[0,0,_cB_(c_sA_[7])],0],_sC_];
          c_sA_[7]=0;
          return 1;
         case 6:return 1;
         case 7:
          var _sD_=_sB_[2];
          if(typeof _sD_!=="number"&&6===_sD_[0])
           {var stack_sG_=_sD_[2],entries_sF_=_sD_[1],heading_sE_=_sB_[1];
            c_sA_[12]=
            [6,[0,[0,heading_sE_,_cB_(c_sA_[7])],entries_sF_],stack_sG_];
            c_sA_[7]=0;
            return 1;}
          break;
         default:}
      return 0;}
    function _s5_(c_sI_)
     {var _sJ_=_sH_(c_sI_);
      if(_sJ_)
       {var _sK_=c_sI_[12];
        if(typeof _sK_!=="number")
         switch(_sK_[0])
          {case 5:return 1;
           case 6:
            var _sL_=_sK_[2];
            if(typeof _sL_!=="number"&&5===_sL_[0])
             {var rows_sM_=_sL_[1];
              c_sI_[12]=[5,[0,_cB_(_sK_[1]),rows_sM_]];
              return 1;}
            break;
           default:}
        throw [0,_d_,_O_];}
      return _sJ_;}
    function _tn_(c_sN_,lev_sW_)
     {for(;;)
       {var _sO_=c_sN_[12];
        if(typeof _sO_==="number")
         {if(0!==c_sN_[7])
           {var _s6_=c_sN_[11],_s7_=_cB_(c_sN_[7]);
            c_sN_[11]=[0,_ce_(c_sN_[1][8],_s7_),_s6_];
            c_sN_[7]=0;}
          c_sN_[12]=0;
          return 0;}
        else
         switch(_sO_[0])
          {case 1:_sP_(c_sN_,_sO_[1],_sO_[2]);continue;
           case 2:
            var _sQ_=_sO_[1]-1|0;
            if(_sQ_<0||4<_sQ_)
             var f_sR_=c_sN_[1][15];
            else
             switch(_sQ_)
              {case 1:var f_sR_=c_sN_[1][11];break;
               case 2:var f_sR_=c_sN_[1][12];break;
               case 3:var f_sR_=c_sN_[1][13];break;
               case 4:var f_sR_=c_sN_[1][14];break;
               default:var f_sR_=c_sN_[1][10];}
            var _sS_=c_sN_[11];
            c_sN_[11]=[0,_ce_(f_sR_,_cB_(c_sN_[7])),_sS_];
            c_sN_[7]=0;
            c_sN_[4]=0;
            c_sN_[12]=0;
            return 0;
           case 3:
            var stack_sU_=_sO_[1],_sT_=c_sN_[10];
            c_sN_[10]=[0,[0,_cB_(c_sN_[7]),0],_sT_];
            c_sN_[12]=stack_sU_;
            c_sN_[7]=0;
            continue;
           case 4:
            var lst_sV_=_sO_[2],stack_s2_=_sO_[3],kind_sX_=_sO_[1];
            if(lev_sW_<c_sN_[6])
             {c_sN_[6]=c_sN_[6]-1|0;
              var
               elt_sY_=0===kind_sX_?c_sN_[1][16]:c_sN_[1][17],
               cur_lst_sZ_=_ce_(elt_sY_,_cB_(c_sN_[10]));
              if(0===c_sN_[6])
               c_sN_[11]=[0,cur_lst_sZ_,c_sN_[11]];
              else
               {if(lst_sV_)
                 {var
                   _s0_=lst_sV_[1],
                   _s1_=
                    _s0_[2]
                     ?0
                     :(c_sN_[10]=[0,[0,_s0_[1],[0,cur_lst_sZ_]],lst_sV_[2]],1);}
                else
                 var _s1_=0;
                if(!_s1_)throw [0,_d_,_V_];}
              c_sN_[12]=stack_s2_;
              continue;}
            return 0;
           case 5:
            var _s3_=c_sN_[11],_s4_=_cB_(_sO_[1]);
            c_sN_[11]=[0,_ce_(c_sN_[1][19],_s4_),_s3_];
            c_sN_[12]=0;
            return 0;
           case 6:throw [0,_d_,_U_];
           case 7:_s5_(c_sN_);continue;
           default:_ss_(c_sN_,_sO_[1],_sO_[2],_sO_[3]);continue;}}}
    function _ty_(c_s8_,kind_tg_,lev_s9_)
     {var _s__=lev_s9_===(c_s8_[6]+1|0)?1:0;
      if(_s__)
       {var _s$_=_s__,_ta_=0;}
      else
       {var _tb_=lev_s9_<=c_s8_[6]?1:0;
        if(_tb_)
         {var stack_tc_=c_s8_[12],n_td_=c_s8_[6]-lev_s9_|0;
          for(;;)
           {if(typeof stack_tc_==="number")
             var _tj_=1;
            else
             switch(stack_tc_[0])
              {case 0:var stack_te_=stack_tc_[3],stack_tc_=stack_te_;continue;
               case 3:var stack_tf_=stack_tc_[1],stack_tc_=stack_tf_;continue;
               case 4:
                var stack_tk_=stack_tc_[3],k_th_=stack_tc_[1];
                if(0!==n_td_)
                 {var _tl_=n_td_-1|0,stack_tc_=stack_tk_,n_td_=_tl_;continue;}
                var correct_ti_=caml_equal(k_th_,kind_tg_),_ta_=1,_tj_=0;
                break;
               default:var _tj_=1;}
            if(_tj_)throw [0,_d_,_T_];
            break;}}
        else
         {var _s$_=_tb_,_ta_=0;}}
      if(!_ta_)var correct_ti_=_s$_;
      if(1!==lev_s9_&&!correct_ti_)return 0;
      var _tm_=correct_ti_?lev_s9_:0;
      _tn_(c_s8_,_tm_);
      if(lev_s9_===c_s8_[6])
       c_s8_[12]=[3,c_s8_[12]];
      else
       {c_s8_[6]=lev_s9_;
        c_s8_[12]=[3,[4,kind_tg_,c_s8_[10],c_s8_[12]]];
        c_s8_[10]=0;}
      return 1;}
    function _tK_(c_to_,heading_tp_)
     {if(!_s5_(c_to_)){_tn_(c_to_,0);c_to_[12]=_P_;}
      c_to_[12]=[7,heading_tp_,[6,0,c_to_[12]]];
      return 0;}
    function _tI_(c_tt_,lexbuf_tr_)
     {var __ocaml_lex_state_tq_=0;
      for(;;)
       {var _ts_=_db_(_h_,__ocaml_lex_state_tq_,lexbuf_tr_);
        if(_ts_<0||8<_ts_)
         {_ce_(lexbuf_tr_[1],lexbuf_tr_);
          var __ocaml_lex_state_tq_=_ts_;
          continue;}
        switch(_ts_)
         {case 1:
           _tn_(c_tt_,0);
           if(0!==c_tt_[12])throw [0,_d_,_S_];
           c_tt_[12]=[2,_tu_(61,_de_(lexbuf_tr_))];
           c_tt_[4]=1;
           var _tw_=_tv_(c_tt_,lexbuf_tr_);
           break;
          case 2:
           var lev_tx_=_tu_(42,_de_(lexbuf_tr_));
           if(!_ty_(c_tt_,0,lev_tx_))
            {var s_tz_=_de_(lexbuf_tr_),l_tA_=s_tz_.getLen()-lev_tx_|0;
             if(0<l_tA_)_sc_(c_tt_,_c0_(s_tz_,0,l_tA_));
             var _tB_=1,_tC_=lev_tx_/2|0;
             if(!(_tC_<_tB_))
              {var i_tD_=_tB_;
               for(;;)
                {_tE_(c_tt_,0);
                 var _tF_=i_tD_+1|0;
                 if(_tC_!==i_tD_){var i_tD_=_tF_;continue;}
                 break;}}
             if(1===(lev_tx_&1))_sc_(c_tt_,_R_);}
           var _tw_=_tv_(c_tt_,lexbuf_tr_);
           break;
          case 3:
           if(!_ty_(c_tt_,1,_tu_(35,_de_(lexbuf_tr_))))_tG_(c_tt_,lexbuf_tr_);
           var _tw_=_tv_(c_tt_,lexbuf_tr_);
           break;
          case 4:
           _tn_(c_tt_,0);
           var _tH_=c_tt_[11];
           c_tt_[11]=[0,_ce_(c_tt_[1][18],0),_tH_];
           var _tw_=_tI_(c_tt_,lexbuf_tr_);
           break;
          case 5:_tn_(c_tt_,0);var _tw_=_tJ_(c_tt_,lexbuf_tr_);break;
          case 6:_tK_(c_tt_,0);var _tw_=_tv_(c_tt_,lexbuf_tr_);break;
          case 7:_tK_(c_tt_,1);var _tw_=_tv_(c_tt_,lexbuf_tr_);break;
          case 8:var _tw_=_tv_(c_tt_,lexbuf_tr_);break;
          default:_tn_(c_tt_,0);var _tw_=_tI_(c_tt_,lexbuf_tr_);}
        return _tw_;}}
    function _tv_(c_tO_,lexbuf_tM_)
     {var __ocaml_lex_state_tL_=25;
      for(;;)
       {var _tN_=_db_(_h_,__ocaml_lex_state_tL_,lexbuf_tM_);
        if(_tN_<0||17<_tN_)
         {_ce_(lexbuf_tM_[1],lexbuf_tM_);
          var __ocaml_lex_state_tL_=_tN_;
          continue;}
        switch(_tN_)
         {case 1:_tE_(c_tO_,0);var _tP_=_tv_(c_tO_,lexbuf_tM_);break;
          case 2:_tE_(c_tO_,1);var _tP_=_tv_(c_tO_,lexbuf_tM_);break;
          case 3:
           if(c_tO_[4])_tn_(c_tO_,0);else _tG_(c_tO_,lexbuf_tM_);
           var _tP_=_tI_(c_tO_,lexbuf_tM_);
           break;
          case 4:
           if(c_tO_[5])
            var _tP_=_tG_(c_tO_,lexbuf_tM_);
           else
            {var
              s_tQ_=_de_(lexbuf_tM_),
              addr_tR_=_c0_(s_tQ_,2,s_tQ_.getLen()-4|0),
              _tS_=c_tO_[7],
              _tT_=[0,_ce_(c_tO_[1][1],addr_tR_),0];
             c_tO_[7]=[0,_fe_(c_tO_[1][7],addr_tR_,_tT_),_tS_];
             var _tP_=_tv_(c_tO_,lexbuf_tM_);}
           break;
          case 5:
           if(c_tO_[5])
            _tG_(c_tO_,lexbuf_tM_);
           else
            {var
              s_tU_=_de_(lexbuf_tM_),
              addr_tV_=_c0_(s_tU_,2,s_tU_.getLen()-3|0);
             c_tO_[12]=[1,addr_tV_,c_tO_[12]];
             c_tO_[5]=1;}
           var _tP_=_tv_(c_tO_,lexbuf_tM_);
           break;
          case 6:
           var
            _tW_=c_tO_[12],
            _tX_=
             typeof _tW_==="number"
              ?0
              :1===_tW_[0]?(_sP_(c_tO_,_tW_[1],_tW_[2]),1):0;
           if(!_tX_)_tG_(c_tO_,lexbuf_tM_);
           var _tP_=_tv_(c_tO_,lexbuf_tM_);
           break;
          case 7:
           if(c_tO_[5])
            var _tP_=_tG_(c_tO_,lexbuf_tM_);
           else
            {var
              addr_tY_=_de_(lexbuf_tM_),
              _tZ_=c_tO_[7],
              _t0_=[0,_ce_(c_tO_[1][1],addr_tY_),0];
             c_tO_[7]=[0,_fe_(c_tO_[1][7],addr_tY_,_t0_),_tZ_];
             var _tP_=_tv_(c_tO_,lexbuf_tM_);}
           break;
          case 8:
           _sa_(c_tO_,_ce_(c_tO_[1][4],0));
           var _tP_=_tv_(c_tO_,lexbuf_tM_);
           break;
          case 9:
           var s_t1_=_de_(lexbuf_tM_),i_t2_=0,_t4_=124,_t3_=s_t1_.getLen();
           for(;;)
            {if(_t3_<=i_t2_)throw [0,_c_];
             if(s_t1_.safeGet(i_t2_)!==_t4_)
              {var _t7_=i_t2_+1|0,i_t2_=_t7_;continue;}
             var
              url_t5_=_c0_(s_t1_,2,i_t2_-2|0),
              alt_t6_=_c0_(s_t1_,i_t2_+1|0,(s_t1_.getLen()-i_t2_|0)-3|0);
             _sa_(c_tO_,_fe_(c_tO_[1][5],url_t5_,alt_t6_));
             var _tP_=_tv_(c_tO_,lexbuf_tM_);
             break;}
           break;
          case 10:
           var
            s_t8_=_de_(lexbuf_tM_),
            txt_t9_=_c0_(s_t8_,3,s_t8_.getLen()-6|0),
            _t__=_ce_(c_tO_[1][1],txt_t9_),
            _t$_=[0,_ce_(c_tO_[1][20],_t__),0];
           _sa_(c_tO_,_ce_(c_tO_[1][6],_t$_));
           var _tP_=_tv_(c_tO_,lexbuf_tM_);
           break;
          case 11:
           _sc_(c_tO_,_c0_(_de_(lexbuf_tM_),1,1));
           var _tP_=_tv_(c_tO_,lexbuf_tM_);
           break;
          case 12:
           if(!_s5_(c_tO_))_tG_(c_tO_,lexbuf_tM_);
           var _tP_=_tI_(c_tO_,lexbuf_tM_);
           break;
          case 13:
           if(_sH_(c_tO_))
            c_tO_[12]=[7,0,c_tO_[12]];
           else
            _tG_(c_tO_,lexbuf_tM_);
           var _tP_=_tv_(c_tO_,lexbuf_tM_);
           break;
          case 14:
           if(_sH_(c_tO_))
            c_tO_[12]=[7,1,c_tO_[12]];
           else
            _tG_(c_tO_,lexbuf_tM_);
           var _tP_=_tv_(c_tO_,lexbuf_tM_);
           break;
          case 15:
           _tG_(c_tO_,lexbuf_tM_);var _tP_=_tv_(c_tO_,lexbuf_tM_);break;
          case 16:
           _fe_(eprintf_pU_,_Q_,_de_(lexbuf_tM_));
           var _tP_=_tv_(c_tO_,lexbuf_tM_);
           break;
          case 17:var _tP_=_tn_(c_tO_,0);break;
          default:
           if(c_tO_[4])_tn_(c_tO_,0);else _tG_(c_tO_,lexbuf_tM_);
           var _tP_=_tI_(c_tO_,lexbuf_tM_);}
        return _tP_;}}
    function _tJ_(c_ud_,lexbuf_ub_)
     {var __ocaml_lex_state_ua_=77;
      for(;;)
       {var _uc_=_db_(_h_,__ocaml_lex_state_ua_,lexbuf_ub_);
        if(_uc_<0||2<_uc_)
         {_ce_(lexbuf_ub_[1],lexbuf_ub_);
          var __ocaml_lex_state_ua_=_uc_;
          continue;}
        switch(_uc_)
         {case 1:
           var _ue_=c_ud_[11],_uf_=_cB_(c_ud_[9]);
           c_ud_[11]=[0,_ce_(c_ud_[1][9],_uf_),_ue_];
           c_ud_[9]=0;
           var _ug_=_tI_(c_ud_,lexbuf_ub_);
           break;
          case 2:
           var _uh_=c_ud_[9];
           c_ud_[9]=[0,_de_(lexbuf_ub_),_uh_];
           var _ug_=_tJ_(c_ud_,lexbuf_ub_);
           break;
          default:
           var s_ui_=_de_(lexbuf_ub_),_uj_=c_ud_[9];
           c_ud_[9]=[0,_c0_(s_ui_,1,s_ui_.getLen()-1|0),_uj_];
           var _ug_=_tJ_(c_ud_,lexbuf_ub_);}
        return _ug_;}}
    function node_uo_(x_uk_){return x_uk_;}
    function _uv_(e_um_,l_un_)
     {_cC_(function(c_ul_){return appendChild_rJ_(e_um_,c_ul_);},l_un_);
      return node_uo_(e_um_);}
    function list_builder_uJ_(d_uu_,tag_ux_,c_uw_)
     {var
       _uy_=
        _cv_
         (function(param_up_)
           {var
             l_uq_=param_up_[2],
             c_us_=param_up_[1],
             _ur_=l_uq_?[0,l_uq_[1],0]:0,
             _ut_=_bV_(c_us_,_ur_);
            return _uv_(d_uu_.createElement(_q_.toString()),_ut_);},
          c_uw_);
      return _uv_(d_uu_.createElement(tag_ux_.toString()),_uy_);}
    function _u6_(x_uz_){return x_uz_;}
    function _u7_(rows_uF_)
     {var
       rows_uG_=
        _cv_
         (function(entries_uD_)
           {var
             _uE_=
              _cv_
               (function(param_uA_)
                 {var c_uC_=param_uA_[2],kind_uB_=param_uA_[1]?_v_:_u_;
                  return _uv_
                          (document_rL_.createElement(kind_uB_.toString()),c_uC_);},
                entries_uD_);
            return _uv_(document_rL_.createElement(_t_.toString()),_uE_);},
          rows_uF_),
       _uH_=[0,_uv_(document_rL_.createElement(_s_.toString()),rows_uG_),0];
      return _uv_(document_rL_.createElement(_r_.toString()),_uH_);}
    function _u8_(param_uI_)
     {return node_uo_(document_rL_.createElement(_w_.toString()));}
    function _u9_(s_uK_){return list_builder_uJ_(document_rL_,_x_,s_uK_);}
    function _u__(s_uL_){return list_builder_uJ_(document_rL_,_y_,s_uL_);}
    function _u$_(s_uM_)
     {return _uv_(document_rL_.createElement(_z_.toString()),s_uM_);}
    function _va_(s_uN_)
     {return _uv_(document_rL_.createElement(_A_.toString()),s_uN_);}
    function _vb_(s_uO_)
     {return _uv_(document_rL_.createElement(_B_.toString()),s_uO_);}
    function _vc_(s_uP_)
     {return _uv_(document_rL_.createElement(_C_.toString()),s_uP_);}
    function _vd_(s_uQ_)
     {return _uv_(document_rL_.createElement(_D_.toString()),s_uQ_);}
    function _ve_(s_uR_)
     {return _uv_(document_rL_.createElement(_E_.toString()),s_uR_);}
    function _vf_(s_uT_)
     {var p_uS_=document_rL_.createElement(_G_.toString());
      appendChild_rJ_
       (p_uS_,document_rL_.createTextNode(_c2_(_F_,s_uT_).toString()));
      return node_uo_(p_uS_);}
    function _vg_(s_uU_)
     {return _uv_(document_rL_.createElement(_H_.toString()),s_uU_);}
    function _vh_(addr_uW_,s_uX_)
     {var _uV_=unsafeCreateElement_rT_(document_rL_,_ad_);
      _uV_.href=addr_uW_.toString();
      return _uv_(_uV_,s_uX_);}
    function _vi_(s_uY_)
     {return _uv_(document_rL_.createElement(_I_.toString()),s_uY_);}
    function _vj_(addr_u0_,alt_u1_)
     {var _uZ_=unsafeCreateElement_rT_(document_rL_,_ae_);
      _uZ_.src=addr_u0_.toString();
      _uZ_.alt=alt_u1_.toString();
      return node_uo_(_uZ_);}
    function _vk_(param_u2_)
     {return node_uo_(document_rL_.createElement(_J_.toString()));}
    function _vl_(s_u3_)
     {return _uv_(document_rL_.createElement(_K_.toString()),s_u3_);}
    function _vm_(s_u4_)
     {return _uv_(document_rL_.createElement(_L_.toString()),s_u4_);}
    var
     _vL_=
      [0,
       function(s_u5_)
        {return node_uo_(document_rL_.createTextNode(s_u5_.toString()));},
       _vm_,
       _vl_,
       _vk_,
       _vj_,
       _vi_,
       _vh_,
       _vg_,
       _vf_,
       _ve_,
       _vd_,
       _vc_,
       _vb_,
       _va_,
       _u$_,
       _u__,
       _u9_,
       _u8_,
       _u7_,
       _u6_];
    function onload_wE_(param_wD_)
     {var _vn_=document_rL_.getElementById(_o_.toString());
      if(_vn_==null_rA_)throw [0,_d_,_p_];
      var _vo_=0,_vp_=0;
      if(0===_vp_&&0===_vo_)
       {var _vq_=createElement_rQ_(document_rL_,_g_),_vr_=1;}
      else
       var _vr_=0;
      if(!_vr_)
       if(onIE_rW_)
        {var a_vs_=new array_constructor_rB_();
         a_vs_.push(_Y_.toString(),_g_.toString());
         opt_iter_rV_
          (_vp_,
           function(t_vt_)
            {a_vs_.push
              (_Z_.toString(),caml_js_html_escape(t_vt_),___.toString());
             return 0;});
         opt_iter_rV_
          (_vo_,
           function(n_vu_)
            {a_vs_.push
              (_$_.toString(),caml_js_html_escape(n_vu_),_aa_.toString());
             return 0;});
         a_vs_.push(_X_.toString());
         var _vq_=document_rL_.createElement(a_vs_.join(_W_.toString()));}
       else
        {var res_vv_=createElement_rQ_(document_rL_,_g_);
         opt_iter_rV_(_vp_,function(t_vw_){return res_vv_.type=t_vw_;});
         opt_iter_rV_(_vo_,function(n_vx_){return res_vv_.name=n_vx_;});
         var _vq_=res_vv_;}
      _vq_.rows=20;
      _vq_.cols=80;
      var preview_vy_=createDiv_rX_(document_rL_);
      preview_vy_.style.border=_n_.toString();
      preview_vy_.style.padding=_m_.toString();
      appendChild_rJ_(_vn_,_vq_);
      appendChild_rJ_(_vn_,unsafeCreateElement_rT_(document_rL_,_ac_));
      appendChild_rJ_(_vn_,preview_vy_);
      function dyn_preview_vW_(old_text_vA_,n_vS_)
       {var text_vz_=new MlWrappedString(_vq_.value);
        if(caml_string_notequal(text_vz_,old_text_vA_))
         {try
           {var
             _vK_=[0],
             _vJ_=1,
             _vI_=0,
             _vH_=0,
             _vG_=0,
             _vF_=0,
             _vE_=0,
             _vD_=text_vz_.getLen(),
             _vC_=_bP_(text_vz_,_bj_),
             _vM_=[0,_vL_,0,0,0,0,0,0,0,0,0,0,0];
            _tI_
             (_vM_,
              [0,
               function(lexbuf_vB_){lexbuf_vB_[9]=1;return 0;},
               _vC_,
               _vD_,
               _vE_,
               _vF_,
               _vG_,
               _vH_,
               _vI_,
               _vJ_,
               _vK_,
               _e_,
               _e_]);
            var
             _vN_=_cB_(_vM_[11]),
             _vP_=_uv_(createDiv_rX_(document_rL_),_vN_),
             _vO_=preview_vy_.firstChild;
            if(_vO_!=null_rA_)preview_vy_.removeChild(_vO_);
            appendChild_rJ_(preview_vy_,_vP_);}
          catch(_vR_){}
          var n_vQ_=20;}
        else
         {var
           _vT_=n_vS_-1|0,
           _vU_=0,
           _vV_=caml_greaterequal(_vU_,_vT_)?_vU_:_vT_,
           n_vQ_=_vV_;}
        function _vY_(param_vX_){return dyn_preview_vW_(text_vz_,n_vQ_);}
        var
         _vZ_=0===n_vQ_?0.5:0.1,
         _v0_=[0,[2,[0,1,0,0,0]]],
         _v2_=_vZ_*1000,
         id_v3_=
          window_rK_.setTimeout
           (caml_js_wrap_callback
             (function(param_v1_){return wakeup_rq_(_v0_,0);}),
            _v2_);
        function _v5_(param_v4_){return window_rK_.clearTimeout(id_v3_);}
        var _v6_=repr_q2_(_v0_)[1];
        switch(_v6_[0])
         {case 1:
           var _v7_=_v6_[1][1]===Canceled_p0_?(call_unsafe_qV_(_v5_,0),1):0;
           break;
          case 2:
           var
            sleeper_v8_=_v6_[1],
            handler_v9_=[0,current_data_p1_[1],_v5_],
            _v__=sleeper_v8_[4],
            _v$_=typeof _v__==="number"?handler_v9_:[2,handler_v9_,_v__];
           sleeper_v8_[4]=_v$_;
           var _v7_=1;
           break;
          default:var _v7_=0;}
        _v7_;
        var t_wa_=repr_q2_(_v0_),_wb_=t_wa_[1];
        switch(_wb_[0])
         {case 1:var _wc_=[0,_wb_];break;
          case 2:
           var
            sleeper_wd_=_wb_[1],
            _we_=[0,[2,[0,[0,[0,t_wa_]],0,0,0]]],
            data_wg_=current_data_p1_[1],
            _wA_=
             [1,
              function(state_wf_)
               {switch(state_wf_[0])
                 {case 0:
                   var v_wh_=state_wf_[1];
                   current_data_p1_[1]=data_wg_;
                   try
                    {var _wi_=_vY_(v_wh_),_wj_=_wi_;}
                   catch(_wk_){var _wj_=[0,[1,_wk_]];}
                   var
                    t1_wl_=repr_q2_(_we_),
                    t2_wm_=repr_q2_(_wj_),
                    _wn_=t1_wl_[1];
                   {if(2===_wn_[0])
                     {var sleeper1_wo_=_wn_[1];
                      if(t1_wl_===t2_wm_)
                       var _wp_=0;
                      else
                       {var _wq_=t2_wm_[1];
                        if(2===_wq_[0])
                         {var sleeper2_wr_=_wq_[1];
                          t2_wm_[1]=[3,t1_wl_];
                          sleeper1_wo_[1]=sleeper2_wr_[1];
                          var
                           waiters_ws_=append_ro_(sleeper1_wo_[2],sleeper2_wr_[2]),
                           removed_wt_=sleeper1_wo_[3]+sleeper2_wr_[3]|0;
                          if(max_removed_q1_<removed_wt_)
                           {sleeper1_wo_[3]=0;
                            sleeper1_wo_[2]=cleanup_rl_(waiters_ws_);}
                          else
                           {sleeper1_wo_[3]=removed_wt_;sleeper1_wo_[2]=waiters_ws_;}
                          var
                           _wu_=sleeper2_wr_[4],
                           _wv_=sleeper1_wo_[4],
                           _ww_=
                            typeof _wv_==="number"
                             ?_wu_
                             :typeof _wu_==="number"?_wv_:[2,_wv_,_wu_];
                          sleeper1_wo_[4]=_ww_;
                          var _wp_=0;}
                        else
                         {t1_wl_[1]=_wq_;
                          var _wp_=unsafe_run_waiters_q3_(sleeper1_wo_,_wq_);}}
                      return _wp_;}
                    throw [0,_d_,_ah_];}
                  case 1:
                   var t_wx_=repr_q2_(_we_),_wy_=t_wx_[1];
                   {if(2===_wy_[0])
                     {var sleeper_wz_=_wy_[1];
                      t_wx_[1]=state_wf_;
                      return unsafe_run_waiters_q3_(sleeper_wz_,state_wf_);}
                    throw [0,_d_,_ai_];}
                  default:throw [0,_d_,_ak_];}}],
            _wB_=sleeper_wd_[2],
            _wC_=typeof _wB_==="number"?_wA_:[2,_wA_,_wB_];
           sleeper_wd_[2]=_wC_;
           var _wc_=_we_;
           break;
          case 3:throw [0,_d_,_aj_];
          default:var _wc_=_vY_(_wb_[1]);}
        return _wc_;}
      dyn_preview_vW_(_l_,0);
      return _false_rD_;}
    window_rK_.onload=
    caml_js_wrap_callback
     (function(e_wF_)
       {if(e_wF_)
         {var res_wG_=onload_wE_(e_wF_);
          if(!(res_wG_|0))e_wF_.preventDefault();
          return res_wG_;}
        var _wH_=event,res_wI_=onload_wE_(_wH_);
        _wH_.returnValue=res_wI_;
        return res_wI_;});
    do_at_exit_cg_(0);
    return;}
  ());