// 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.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_compare (a, b) { return caml_compare_val (a, b, true); } function caml_greaterequal (x, y) { return +(caml_compare(x,y,false) >= 0); } function caml_greaterthan (x, y) { return +(caml_compare(x,y,false) > 0); } function caml_int64_add (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_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_raise_constant (tag) { throw [0, tag]; } var caml_global_data = [0]; function caml_raise_zero_divide () { caml_raise_constant(caml_global_data[6]); } function caml_int64_mod (x, y) { if (caml_int64_is_zero (y)) caml_raise_zero_divide (); var sign = x[3] ^ y[3]; if (x[3] & 0x8000) x = caml_int64_neg(x); if (y[3] & 0x8000) y = caml_int64_neg(y); var r = caml_int64_udivmod(x, y)[2]; if (sign & 0x8000) r = caml_int64_neg(r); return r; } function caml_int64_or (x, y) { return [255, x[1]|y[1], x[2]|y[2], x[3]|y[3]]; } function caml_int64_shift_left (x, s) { s = s & 63; if (s == 0) return x; if (s < 24) return [255, (x[1] << s) & 0xffffff, ((x[2] << s) | (x[1] >> (24 - s))) & 0xffffff, ((x[3] << s) | (x[2] >> (24 - s))) & 0xffff]; if (s < 48) return [255, 0, (x[1] << (s - 24)) & 0xffffff, ((x[2] << (s - 24)) | (x[1] >> (48 - s))) & 0xffff]; return [255, 0, 0, (x[1] << (s - 48)) & 0xffff]; } 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; } 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); } function caml_js_from_byte_string (s) {return s.getFullBytes();} var caml_js_regexps = { amp:/&/g, lt:/ 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_make_vect (len, init) { var b = [0]; for (var i = 1; i <= len; i++) b[i] = init; return b; } function MlStringFromArray (a) { var len = a.length; this.array = a; this.len = this.last = len; } MlStringFromArray.prototype = new MlString (); var caml_md5_string = function () { function add (x, y) { return (x + y) | 0; } function xx(q,a,b,x,s,t) { a = add(add(a, q), add(x, t)); return add((a << s) | (a >>> (32 - s)), b); } function ff(a,b,c,d,x,s,t) { return xx((b & c) | ((~b) & d), a, b, x, s, t); } function gg(a,b,c,d,x,s,t) { return xx((b & d) | (c & (~d)), a, b, x, s, t); } function hh(a,b,c,d,x,s,t) { return xx(b ^ c ^ d, a, b, x, s, t); } function ii(a,b,c,d,x,s,t) { return xx(c ^ (b | (~d)), a, b, x, s, t); } function md5(buffer, length) { var i = length; buffer[i >> 2] |= 0x80 << (8 * (i & 3)); for (i = (i & ~0x3) + 4;(i & 0x3F) < 56 ;i += 4) buffer[i >> 2] = 0; buffer[i >> 2] = length << 3; i += 4; buffer[i >> 2] = (length >> 29) & 0x1FFFFFFF; var w = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476]; for(i = 0; i < buffer.length; i += 16) { var a = w[0], b = w[1], c = w[2], d = w[3]; a = ff(a, b, c, d, buffer[i+ 0], 7, 0xD76AA478); d = ff(d, a, b, c, buffer[i+ 1], 12, 0xE8C7B756); c = ff(c, d, a, b, buffer[i+ 2], 17, 0x242070DB); b = ff(b, c, d, a, buffer[i+ 3], 22, 0xC1BDCEEE); a = ff(a, b, c, d, buffer[i+ 4], 7, 0xF57C0FAF); d = ff(d, a, b, c, buffer[i+ 5], 12, 0x4787C62A); c = ff(c, d, a, b, buffer[i+ 6], 17, 0xA8304613); b = ff(b, c, d, a, buffer[i+ 7], 22, 0xFD469501); a = ff(a, b, c, d, buffer[i+ 8], 7, 0x698098D8); d = ff(d, a, b, c, buffer[i+ 9], 12, 0x8B44F7AF); c = ff(c, d, a, b, buffer[i+10], 17, 0xFFFF5BB1); b = ff(b, c, d, a, buffer[i+11], 22, 0x895CD7BE); a = ff(a, b, c, d, buffer[i+12], 7, 0x6B901122); d = ff(d, a, b, c, buffer[i+13], 12, 0xFD987193); c = ff(c, d, a, b, buffer[i+14], 17, 0xA679438E); b = ff(b, c, d, a, buffer[i+15], 22, 0x49B40821); a = gg(a, b, c, d, buffer[i+ 1], 5, 0xF61E2562); d = gg(d, a, b, c, buffer[i+ 6], 9, 0xC040B340); c = gg(c, d, a, b, buffer[i+11], 14, 0x265E5A51); b = gg(b, c, d, a, buffer[i+ 0], 20, 0xE9B6C7AA); a = gg(a, b, c, d, buffer[i+ 5], 5, 0xD62F105D); d = gg(d, a, b, c, buffer[i+10], 9, 0x02441453); c = gg(c, d, a, b, buffer[i+15], 14, 0xD8A1E681); b = gg(b, c, d, a, buffer[i+ 4], 20, 0xE7D3FBC8); a = gg(a, b, c, d, buffer[i+ 9], 5, 0x21E1CDE6); d = gg(d, a, b, c, buffer[i+14], 9, 0xC33707D6); c = gg(c, d, a, b, buffer[i+ 3], 14, 0xF4D50D87); b = gg(b, c, d, a, buffer[i+ 8], 20, 0x455A14ED); a = gg(a, b, c, d, buffer[i+13], 5, 0xA9E3E905); d = gg(d, a, b, c, buffer[i+ 2], 9, 0xFCEFA3F8); c = gg(c, d, a, b, buffer[i+ 7], 14, 0x676F02D9); b = gg(b, c, d, a, buffer[i+12], 20, 0x8D2A4C8A); a = hh(a, b, c, d, buffer[i+ 5], 4, 0xFFFA3942); d = hh(d, a, b, c, buffer[i+ 8], 11, 0x8771F681); c = hh(c, d, a, b, buffer[i+11], 16, 0x6D9D6122); b = hh(b, c, d, a, buffer[i+14], 23, 0xFDE5380C); a = hh(a, b, c, d, buffer[i+ 1], 4, 0xA4BEEA44); d = hh(d, a, b, c, buffer[i+ 4], 11, 0x4BDECFA9); c = hh(c, d, a, b, buffer[i+ 7], 16, 0xF6BB4B60); b = hh(b, c, d, a, buffer[i+10], 23, 0xBEBFBC70); a = hh(a, b, c, d, buffer[i+13], 4, 0x289B7EC6); d = hh(d, a, b, c, buffer[i+ 0], 11, 0xEAA127FA); c = hh(c, d, a, b, buffer[i+ 3], 16, 0xD4EF3085); b = hh(b, c, d, a, buffer[i+ 6], 23, 0x04881D05); a = hh(a, b, c, d, buffer[i+ 9], 4, 0xD9D4D039); d = hh(d, a, b, c, buffer[i+12], 11, 0xE6DB99E5); c = hh(c, d, a, b, buffer[i+15], 16, 0x1FA27CF8); b = hh(b, c, d, a, buffer[i+ 2], 23, 0xC4AC5665); a = ii(a, b, c, d, buffer[i+ 0], 6, 0xF4292244); d = ii(d, a, b, c, buffer[i+ 7], 10, 0x432AFF97); c = ii(c, d, a, b, buffer[i+14], 15, 0xAB9423A7); b = ii(b, c, d, a, buffer[i+ 5], 21, 0xFC93A039); a = ii(a, b, c, d, buffer[i+12], 6, 0x655B59C3); d = ii(d, a, b, c, buffer[i+ 3], 10, 0x8F0CCC92); c = ii(c, d, a, b, buffer[i+10], 15, 0xFFEFF47D); b = ii(b, c, d, a, buffer[i+ 1], 21, 0x85845DD1); a = ii(a, b, c, d, buffer[i+ 8], 6, 0x6FA87E4F); d = ii(d, a, b, c, buffer[i+15], 10, 0xFE2CE6E0); c = ii(c, d, a, b, buffer[i+ 6], 15, 0xA3014314); b = ii(b, c, d, a, buffer[i+13], 21, 0x4E0811A1); a = ii(a, b, c, d, buffer[i+ 4], 6, 0xF7537E82); d = ii(d, a, b, c, buffer[i+11], 10, 0xBD3AF235); c = ii(c, d, a, b, buffer[i+ 2], 15, 0x2AD7D2BB); b = ii(b, c, d, a, buffer[i+ 9], 21, 0xEB86D391); w[0] = add(a, w[0]); w[1] = add(b, w[1]); w[2] = add(c, w[2]); w[3] = add(d, w[3]); } var t = []; for (var i = 0; i < 4; i++) for (var j = 0; j < 4; j++) t[i * 4 + j] = (w[i] >> (8 * j)) & 0xFF; return t; } return function (s, ofs, len) { var buf = []; if (s.array) { var a = s.array; for (var i = 0; i < len; i+=4) { var j = i + ofs; buf[i>>2] = a[j] | (a[j+1] << 8) | (a[j+2] << 16) | (a[j+3] << 24); } for (; i < len; i++) buf[i>>2] |= a[i + ofs] << (8 * (i & 3)); } else { var b = s.getFullBytes(); for (var i = 0; i < len; i+=4) { var j = i + ofs; buf[i>>2] = b.charCodeAt(j) | (b.charCodeAt(j+1) << 8) | (b.charCodeAt(j+2) << 16) | (b.charCodeAt(j+3) << 24); } for (; i < len; i++) buf[i>>2] |= b.charCodeAt(i + ofs) << (8 * (i & 3)); } return new MlStringFromArray(md5(buf, len)); } } (); function caml_ml_out_channels_list () { return 0; } function caml_mod(x,y) { if (y == 0) caml_raise_zero_divide (); return x%y; } function caml_mul(x,y) { return ((((x >> 16) * y) << 16) + (x & 0xffff) * y)|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_sys_random_seed () { return new Date()^0xffffffff*Math.random(); } 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 jP(vL,vM,vN,vO,vP,vQ,vR){return vL.length==6?vL(vM,vN,vO,vP,vQ,vR):caml_call_gen(vL,[vM,vN,vO,vP,vQ,vR]);}function uM(vG,vH,vI,vJ,vK){return vG.length==4?vG(vH,vI,vJ,vK):caml_call_gen(vG,[vH,vI,vJ,vK]);}function fB(vC,vD,vE,vF){return vC.length==3?vC(vD,vE,vF):caml_call_gen(vC,[vD,vE,vF]);}function f6(vz,vA,vB){return vz.length==2?vz(vA,vB):caml_call_gen(vz,[vA,vB]);}function dH(vx,vy){return vx.length==1?vx(vy):caml_call_gen(vx,[vy]);}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=[255,16777215,16777215,32767],f=new MlString("File \"%s\", line %d, characters %d-%d: %s"),g=new MlString("/support_auto1_proxy.php");caml_register_global(5,[0,new MlString("Division_by_zero")]);caml_register_global(3,b);caml_register_global(2,a);var c9=[0,new MlString("Out_of_memory")],c8=[0,new MlString("Match_failure")],c7=[0,new MlString("Stack_overflow")],c6=new MlString("%.12g"),c5=new MlString("."),c4=new MlString("%d"),c3=new MlString("true"),c2=new MlString("false"),c1=new MlString("Pervasives.do_at_exit"),c0=new MlString("\\b"),cZ=new MlString("\\t"),cY=new MlString("\\n"),cX=new MlString("\\r"),cW=new MlString("\\\\"),cV=new MlString("\\'"),cU=new MlString("Char.chr"),cT=new MlString(""),cS=new MlString("String.blit"),cR=new MlString("String.sub"),cQ=new MlString("%d"),cP=new MlString("Buffer.add: cannot grow buffer"),cO=new MlString("%"),cN=new MlString(""),cM=new MlString(""),cL=new MlString("\""),cK=new MlString("\""),cJ=new MlString("'"),cI=new MlString("'"),cH=new MlString("."),cG=new MlString("printf: bad positional specification (0)."),cF=new MlString("%_"),cE=[0,new MlString("printf.ml"),144,8],cD=new MlString("''"),cC=new MlString("Printf: premature end of format string ``"),cB=new MlString("''"),cA=new MlString(" in format string ``"),cz=new MlString(", at char number "),cy=new MlString("Printf: bad conversion %"),cx=new MlString("Sformat.index_of_int: negative argument "),cw=new MlString(""),cv=new MlString(", %s%s"),cu=new MlString("Out of memory"),ct=new MlString("Stack overflow"),cs=new MlString("Pattern matching failed"),cr=new MlString("Assertion failed"),cq=new MlString("(%s%s)"),cp=new MlString(""),co=new MlString(""),cn=new MlString("(%s)"),cm=new MlString("%d"),cl=new MlString("%S"),ck=new MlString("_"),cj=[255,1,0,0],ci=[255,0,0,0],ch=new MlString("Random.int64"),cg=new MlString("Random.int"),cf=new MlString("x"),ce=[0,2061652523,1569539636,364182224,414272206,318284740,2064149575,383018966,1344115143,840823159,1098301843,536292337,1586008329,189156120,1803991420,1217518152,51606627,1213908385,366354223,2077152089,1774305586,2055632494,913149062,526082594,2095166879,784300257,1741495174,1703886275,2023391636,1122288716,1489256317,258888527,511570777,1163725694,283659902,308386020,1316430539,1556012584,1938930020,2101405994,1280938813,193777847,1693450012,671350186,149669678,1330785842,1161400028,558145612,1257192637,1101874969,1975074006,710253903,1584387944,1726119734,409934019,801085050],cd=[0,new MlString("src/core/lwt.ml"),477,20],cc=[0,new MlString("src/core/lwt.ml"),480,8],cb=[0,new MlString("src/core/lwt.ml"),440,20],ca=[0,new MlString("src/core/lwt.ml"),443,8],b$=new MlString("Lwt.fast_connect"),b_=new MlString("Lwt.connect"),b9=new MlString("Lwt.wakeup_exn"),b8=new MlString("Lwt.wakeup"),b7=new MlString("Lwt.Canceled"),b6=new MlString("br"),b5=new MlString("div"),b4=new MlString("label"),b3=new MlString("button"),b2=new MlString("textarea"),b1=new MlString("input"),b0=new MlString("\""),bZ=new MlString(" name=\""),bY=new MlString("\""),bX=new MlString(" type=\""),bW=new MlString("<"),bV=new MlString(">"),bU=new MlString(""),bT=new MlString("\\$&"),bS=new MlString("$$$$"),bR=new MlString("g"),bQ=new MlString("g"),bP=new MlString("[$]"),bO=new MlString("[\\][()\\\\|+*.?{}^$]"),bN=[0,new MlString(""),0],bM=new MlString(""),bL=new MlString(""),bK=new MlString("#"),bJ=new MlString(""),bI=new MlString("?"),bH=new MlString(""),bG=new MlString("/"),bF=new MlString("/"),bE=new MlString(":"),bD=new MlString(""),bC=new MlString("http://"),bB=new MlString(""),bA=new MlString("#"),bz=new MlString(""),by=new MlString("?"),bx=new MlString(""),bw=new MlString("/"),bv=new MlString("/"),bu=new MlString(":"),bt=new MlString(""),bs=new MlString("https://"),br=new MlString(""),bq=new MlString("#"),bp=new MlString(""),bo=new MlString("?"),bn=new MlString(""),bm=new MlString("/"),bl=new MlString("file://"),bk=new MlString(""),bj=new MlString(""),bi=new MlString(""),bh=new MlString(""),bg=new MlString(""),bf=new MlString(""),be=new MlString("="),bd=new MlString("&"),bc=new MlString("file"),bb=new MlString("file:"),ba=new MlString("http"),a$=new MlString("http:"),a_=new MlString("https"),a9=new MlString("https:"),a8=new MlString("%2B"),a7=new MlString("Url.Local_exn"),a6=new MlString("+"),a5=new MlString("Url.Not_an_http_protocol"),a4=new MlString("^([Hh][Tt][Tt][Pp][Ss]?)://([0-9a-zA-Z.-]+|\\[[0-9a-zA-Z.-]+\\]|\\[[0-9A-Fa-f:.]+\\])?(:([0-9]+))?/([^\\?#]*)(\\?([^#]*))?(#(.*))?$"),a3=new MlString("^([Ff][Ii][Ll][Ee])://([^\\?#]*)(\\?([^#])*)?(#(.*))?$"),a2=new MlString("browser can't read file: unimplemented"),a1=new MlString("utf8"),a0=[0,new MlString("file.ml"),132,15],aZ=new MlString("string"),aY=new MlString("can't retrieve file name: not implemented"),aX=new MlString(""),aW=new MlString("POST"),aV=new MlString("multipart/form-data; boundary="),aU=new MlString("POST"),aT=[0,new MlString("POST"),[0,new MlString("application/x-www-form-urlencoded")],126925477],aS=[0,new MlString("POST"),0,126925477],aR=new MlString("GET"),aQ=new MlString("?"),aP=new MlString("Content-type"),aO=new MlString("="),aN=new MlString("="),aM=new MlString("&"),aL=new MlString("Content-Type: application/octet-stream\r\n"),aK=new MlString("\"\r\n"),aJ=new MlString("\"; filename=\""),aI=new MlString("Content-Disposition: form-data; name=\""),aH=new MlString("\r\n"),aG=new MlString("\r\n"),aF=new MlString("\r\n"),aE=new MlString("--"),aD=new MlString("\r\n"),aC=new MlString("\"\r\n\r\n"),aB=new MlString("Content-Disposition: form-data; name=\""),aA=new MlString("--\r\n"),az=new MlString("--"),ay=new MlString("js_of_ocaml-------------------"),ax=new MlString("Msxml2.XMLHTTP"),aw=new MlString("Msxml3.XMLHTTP"),av=new MlString("Microsoft.XMLHTTP"),au=[0,new MlString("xmlHttpRequest.ml"),79,2],at=new MlString("XmlHttpRequest.Wrong_headers"),as=new MlString("\\"),ar=new MlString("\""),aq=new MlString(""),ap=new MlString("block"),ao=new MlString("none"),an=new MlString("none"),am=new MlString("none"),al=new MlString("none"),ak=new MlString("autotech_no_variant_message"),aj=new MlString("\xd0\x98\xd0\xb4\xd0\xb5\xd1\x82 \xd0\xbf\xd0\xbe\xd0\xb8\xd1\x81\xd0\xba. \xd0\xbf\xd0\xbe\xd0\xb4\xd0\xbe\xd0\xb6\xd0\xb4\xd0\xb8\xd1\x82\xd0\xb5."),ai=new MlString("block"),ah=new MlString("text"),ag=new MlString("detect_list"),af=new MlString("[AUTO] "),ae=new MlString("text"),ad=new MlString("no_variant"),ac=new MlString("autotech_usertext"),ab=new MlString("none"),aa=new MlString("autotech_selectquestion"),$=new MlString("autotech_question"),_=new MlString("autotech_answer"),Z=new MlString("autotech_answer_body"),Y=new MlString("autotech_to_chat"),X=new MlString("\xd0\xa1\xd0\xbf\xd1\x80\xd0\xbe\xd1\x81\xd0\xb8\xd1\x82\xd1\x8c \xd1\x83 \xd0\xbf\xd0\xbe\xd0\xb4\xd0\xb4\xd0\xb5\xd1\x80\xd0\xb6\xd0\xba\xd0\xb8"),W=new MlString("autotech_prompt1"),V=new MlString("\xd0\x9d\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x88\xd0\xb8\xd1\x82\xd0\xb5 \xd0\x9e\xd0\x94\xd0\x98\xd0\x9d \xd0\xb2\xd0\xbe\xd0\xbf\xd1\x80\xd0\xbe\xd1\x81, \xd0\xbd\xd0\xb8\xd0\xb6\xd0\xb5 \xd0\xbf\xd0\xbe\xd1\x8f\xd0\xb2\xd1\x8f\xd1\x82\xd1\x81\xd1\x8f \xd0\xb3\xd0\xbe\xd1\x82\xd0\xbe\xd0\xb2\xd1\x8b\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xb2\xd0\xb5\xd1\x82\xd1\x8b."),U=new MlString("none"),T=new MlString("none"),S=new MlString(""),R=new MlString("auto1_body"),Q=new MlString("autotech_input"),P=new MlString("block"),O=new MlString("\xd0\x9f\xd0\xbe\xd0\xbb\xd1\x83\xd1\x87\xd0\xb8\xd1\x82\xd1\x8c \xd0\xbe\xd1\x82\xd0\xb2\xd0\xb5\xd1\x82"),N=new MlString("autotech_submit"),M=new MlString("none"),L=new MlString("none"),K=new MlString("-"),J=new MlString("text"),I=new MlString("name"),H=new MlString("question"),G=new MlString("\xd0\x9e\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0: "),F=new MlString("\xd0\x9e\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0: \xd0\xbf\xd0\xbe\xd0\xbb\xd1\x83\xd1\x87\xd0\xb5\xd0\xbd \xd0\xbd\xd0\xb5\xd0\xba\xd0\xbe\xd1\x80\xd1\x80\xd0\xb5\xd0\xba\xd1\x82\xd0\xbd\xd1\x8b\xd0\xb9 \xd1\x80\xd0\xb5\xd0\xb7\xd1\x83\xd0\xbb\xd1\x8c\xd1\x82\xd0\xb0\xd1\x82"),E=new MlString("block"),D=new MlString("\xd0\x9e\xd0\xb6\xd0\xb8\xd0\xb4\xd0\xb0\xd0\xb9\xd1\x82\xd0\xb5..."),C=new MlString("name"),B=new MlString("resolve"),A=new MlString("autotech_select_variant_message"),z=new MlString("\xd0\x92\xd1\x8b\xd0\xb1\xd0\xb5\xd1\x80\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb2\xd0\xb0\xd1\x88 \xd0\xb2\xd0\xbe\xd0\xbf\xd1\x80\xd0\xbe\xd1\x81 \xd0\xb8\xd0\xb7 \xd1\x81\xd0\xbf\xd0\xb8\xd1\x81\xd0\xba\xd0\xb0 \xd1\x81\xd0\xbd\xd0\xb8\xd0\xb7\xd1\x83. \xd0\x92\xd1\x8b \xd0\xbc\xd0\xbe\xd0\xb6\xd0\xb5\xd1\x82\xd0\xb5 \xd0\xb4\xd0\xbe\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb2\xd0\xbe\xd0\xbf\xd1\x80\xd0\xbe\xd1\x81, \xd1\x81\xd0\xbf\xd0\xb8\xd1\x81\xd0\xbe\xd0\xba \xd0\xb1\xd1\x83\xd0\xb4\xd0\xb5\xd1\x82 \xd1\x83\xd1\x82\xd0\xbe\xd1\x87\xd0\xbd\xd1\x8f\xd1\x82\xd1\x8c\xd1\x81\xd1\x8f \xd0\xbf\xd0\xbe \xd0\xbc\xd0\xb5\xd1\x80\xd0\xb5 \xd0\xb2\xd0\xb2\xd0\xbe\xd0\xb4\xd0\xb0."),y=new MlString("autotech_no_variant_message"),x=new MlString("\xd0\x9d\xd0\xb5 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xbb\xd0\xbe\xd1\x81\xd1\x8c \xd0\xb2\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb0\xd0\xbd\xd1\x82\xd0\xbe\xd0\xb2. \xd0\xa1\xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83\xd0\xbb\xd0\xb8\xd1\x80\xd1\x83\xd0\xb9\xd1\x82\xd0\xb5 \xd0\xb2\xd0\xbe\xd0\xbf\xd1\x80\xd0\xbe\xd1\x81 \xd0\xb8\xd0\xbd\xd0\xb0\xd1\x87\xd0\xb5."),w=new MlString(""),v=new MlString("-"),u=new MlString("autotech_variant"),t=new MlString("select_variant"),s=new MlString("radio"),r=new MlString("variant_"),q=new MlString("\xd0\x9f\xd0\xbe\xd0\xbb\xd1\x83\xd1\x87\xd0\xb5\xd0\xbd \xd0\xbd\xd0\xb5\xd0\xba\xd0\xbe\xd1\x80\xd1\x80\xd0\xb5\xd0\xba\xd1\x82\xd0\xbd\xd1\x8b\xd0\xb9 \xd0\xbe\xd1\x82\xd0\xb2\xd0\xb5\xd1\x82 \xd0\xbe\xd1\x82 \xd1\x81\xd0\xb5\xd1\x80\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb0. \xd0\x9f\xd0\xbe\xd0\xb6\xd0\xb0\xd0\xbb\xd1\x83\xd0\xb9\xd1\x81\xd1\x82\xd0\xb0, \xd0\xbf\xd0\xbe\xd0\xbf\xd1\x80\xd0\xbe\xd0\xb1\xd1\x83\xd0\xb9\xd1\x82\xd0\xb5 \xd0\xb5\xd1\x89\xd0\xb5 \xd1\x80\xd0\xb0\xd0\xb7. -- "),p=[0,new MlString("\xd0\x9f\xd0\xbe\xd0\xbb\xd1\x83\xd1\x87\xd0\xb5\xd0\xbd \xd0\xbd\xd0\xb5\xd0\xba\xd0\xbe\xd1\x80\xd1\x80\xd0\xb5\xd0\xba\xd1\x82\xd0\xbd\xd1\x8b\xd0\xb9 \xd0\xba\xd0\xbe\xd0\xb4 \xd0\xbe\xd1\x82\xd0\xb2\xd0\xb5\xd1\x82\xd0\xb0 \xd0\xbe\xd1\x82 \xd1\x81\xd0\xb5\xd1\x80\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb0. \xd0\x9f\xd0\xbe\xd0\xb6\xd0\xb0\xd0\xbb\xd1\x83\xd0\xb9\xd1\x81\xd1\x82\xd0\xb0, \xd0\xbf\xd0\xbe\xd0\xbf\xd1\x80\xd0\xbe\xd0\xb1\xd1\x83\xd0\xb9\xd1\x82\xd0\xb5 \xd0\xb5\xd1\x89\xd0\xb5 \xd1\x80\xd0\xb0\xd0\xb7.")],o=new MlString("__sid"),n=new MlString("__f"),m=new MlString("ie6_fake"),l=new MlString("\xd0\x9e\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0: "),k=new MlString("");function j(h){throw [0,a,h];}function c_(i){throw [0,b,i];}function dj(c$,db){var da=c$.getLen(),dc=db.getLen(),dd=caml_create_string(da+dc|0);caml_blit_string(c$,0,dd,0,da);caml_blit_string(db,0,dd,da,dc);return dd;}function dx(de){return caml_format_int(c4,de);}function dy(df){var dg=caml_format_float(c6,df),dh=0,di=dg.getLen();for(;;){if(di<=dh)var dk=dj(dg,c5);else{var dl=dg.safeGet(dh),dm=48<=dl?58<=dl?0:1:45===dl?1:0;if(dm){var dn=dh+1|0,dh=dn;continue;}var dk=dg;}return dk;}}function dq(dp,dr){if(dp){var ds=dp[1];return [0,ds,dq(dp[2],dr)];}return dr;}function dz(dw){var dt=caml_ml_out_channels_list(0);for(;;){if(dt){var du=dt[2];try {}catch(dv){}var dt=du;continue;}return 0;}}caml_register_named_value(c1,dz);function dP(dA){var dB=dA,dC=0;for(;;){if(dB){var dD=dB[2],dE=[0,dB[1],dC],dB=dD,dC=dE;continue;}return dC;}}function dJ(dG,dF){if(dF){var dI=dF[2],dK=dH(dG,dF[1]);return [0,dK,dJ(dG,dI)];}return 0;}function dQ(dN,dL){var dM=dL;for(;;){if(dM){var dO=dM[2];dH(dN,dM[1]);var dM=dO;continue;}return 0;}}function eb(dR,dT){var dS=caml_create_string(dR);caml_fill_string(dS,0,dR,dT);return dS;}function ec(dW,dU,dV){if(0<=dU&&0<=dV&&!((dW.getLen()-dV|0)>>25&31)|0;caml_array_set(kk[1],kk[2],kl);return kl&1073741823;}32===ef;var ko=[0,ce.slice(),0];function kr(kq){var kp=[];caml_update_dummy(kp,[0,kp,kp]);return kp;}var ks=[0,b7],kt=[0,0],lV=42;function kx(ku){var kv=ku[1];{if(3===kv[0]){var kw=kv[1],ky=kx(kw);if(ky!==kw)ku[1]=[3,ky];return ky;}return ku;}}function k6(kz){return kx(kz);}function kY(kA,kE){var kB=kA,kC=0,kR=kt[1];for(;;){if(typeof kB==="number"){if(kC){var kQ=kC[2],kP=kC[1],kB=kP,kC=kQ;continue;}}else switch(kB[0]){case 1:var kD=kB[1];if(kC){var kG=kC[2],kF=kC[1];dH(kD,kE);var kB=kF,kC=kG;continue;}dH(kD,kE);break;case 2:var kH=kB[1],kI=[0,kB[2],kC],kB=kH,kC=kI;continue;default:var kJ=kB[1][1];if(kJ){var kK=kJ[1];if(kC){var kM=kC[2],kL=kC[1];dH(kK,kE);var kB=kL,kC=kM;continue;}dH(kK,kE);}else if(kC){var kO=kC[2],kN=kC[1],kB=kN,kC=kO;continue;}}kt[1]=kR;return 0;}}function l_(kS,kV){var kT=kx(kS),kU=kT[1];switch(kU[0]){case 1:if(kU[1][1]===ks)return 0;break;case 2:var kW=[0,kV],kX=kU[1][2];kT[1]=kW;return kY(kX,kW);default:}return c_(b8);}function k5(kZ,k0){return typeof kZ==="number"?k0:typeof k0==="number"?kZ:[2,kZ,k0];}function k2(k1){if(typeof k1!=="number")switch(k1[0]){case 2:var k3=k1[1],k4=k2(k1[2]);return k5(k2(k3),k4);case 1:break;default:if(!k1[1][1])return 0;}return k1;}function lW(k7,k_){var k8=k6(k7),k9=k8[1];{if(2===k9[0]){var k$=k9[1][2];k8[1]=k_;return kY(k$,k_);}return c_(b$);}}function l9(la){return [0,[0,la]];}function lB(lb){return [0,[1,lb]];}function lD(lc){return [0,[2,[0,lc,0,0]]];}function l$(lm){var ld=[],ll=0,lk=0;caml_update_dummy(ld,[0,[2,[0,[0,[0,function(lj){var le=kx(ld),lf=le[1];if(2===lf[0]){var lg=[1,[0,ks]],lh=lf[1][2];le[1]=lg;var li=kY(lh,lg);}else var li=0;return li;}]],lk,ll]]]);return [0,ld,ld];}function ly(ln,lo){var lp=typeof ln[2]==="number"?[1,lo]:[2,[1,lo],ln[2]];ln[2]=lp;return 0;}function ma(lq,ls){var lr=k6(lq)[1];switch(lr[0]){case 1:if(lr[1][1]===ks)return dH(ls,0);break;case 2:var lx=lr[1],lu=kt[1];return ly(lx,function(lt){if(1===lt[0]&<[1][1]===ks){kt[1]=lu;try {var lv=dH(ls,0);}catch(lw){return 0;}return lv;}return 0;});default:}return 0;}function mb(lz,lI){var lA=k6(lz)[1];switch(lA[0]){case 1:return lB(lA[1]);case 2:var lC=lA[1],lE=lD(lC[1]),lG=kt[1];ly(lC,function(lF){switch(lF[0]){case 0:var lH=lF[1];kt[1]=lG;try {var lJ=dH(lI,lH),lK=lJ;}catch(lL){var lK=lB(lL);}var lM=k6(lE),lN=k6(lK),lO=lM[1];if(2===lO[0]){var lP=lO[1];if(lM===lN)var lQ=0;else{var lR=lN[1];if(2===lR[0]){var lS=lR[1];lN[1]=[3,lM];lP[1][1]=[1,lS[1]];var lT=k5(lP[2],lS[2]),lU=lP[3]+lS[3]|0,lQ=lV