! function(a) {
"use strict";
function u(r, t, e, n) {
var o = a(e, t);
o.adddata(r), o.make(), n = n || 0;
var i = o.getmodulecount(),
h = o.getmodulecount() + 2 * n;
this.text = r, this.level = t, this.version = e, this.modulecount = h, this.isdark = function(r, t) {
return t -= n, !((r -= n) < 0 || i <= r || t < 0 || i <= t) && o.isdark(r, t)
}, this.addblank = function(a, u, f, c) {
var s = this.isdark,
l = 1 / h;
this.isdark = function(r, t) {
var e = t * l,
n = r * l,
o = e + l,
i = n + l;
return s(r, t) && (o < a || f < e || i < u || c < n)
}
}
}
function g(r, t, e, n, o) {
e = math.max(1, e || 1), n = math.min(40, n || 40);
for (var i = e; i <= n; i += 1) try {
return new u(r, t, i, o)
} catch (r) {}
}
function i(r, t, e) {
d(e.background).is("img") ? t.drawimage(e.background, 0, 0, e.size, e.size) : e.background && (t.fillstyle = e
.background, t.fillrect(e.left, e.top, e.size, e.size));
var n = e.mode;
1 === n || 2 === n ? function(r, t, e) {
var n = e.size,
o = "bold " + e.msize * n + "px " + e.fontname,
i = d("")[0].getcontext("2d");
i.font = o;
var a = i.measuretext(e.label).width,
u = e.msize,
f = a / n,
c = (1 - f) * e.mposx,
s = (1 - u) * e.mposy,
l = c + f,
h = s + u;
1 === e.mode ? r.addblank(0, s - .01, n, h + .01) : r.addblank(c - .01, s - .01, .01 + l, h + .01), t
.fillstyle = e.fontcolor, t.font = o, t.filltext(e.label, c * n, s * n + .75 * e.msize * n)
}(r, t, e) : 3 !== n && 4 !== n || function(r, t, e) {
var n = e.size,
o = e.image.naturalwidth || 1,
i = e.image.naturalheight || 1,
a = e.msize,
u = a * o / i,
f = (1 - u) * e.mposx,
c = (1 - a) * e.mposy,
s = f + u,
l = c + a;
3 === e.mode ? r.addblank(0, c - .01, n, l + .01) : r.addblank(f - .01, c - .01, .01 + s, l + .01), t
.drawimage(e.image, f * n, c * n, u * n, a * n)
}(r, t, e)
}
function c(r, t, e, n, o, i, a, u) {
r.isdark(a, u) && t.rect(n, o, i, i)
}
function s(r, t, e, n, o, i, a, u) {
var f = r.isdark,
c = n + i,
s = o + i,
l = e.radius * i,
h = a - 1,
g = a + 1,
d = u - 1,
v = u + 1,
p = f(a, u),
w = f(h, d),
m = f(h, u),
y = f(h, v),
k = f(a, v),
t = f(g, v),
b = f(g, u),
c = f(g, d),
b = f(a, d);
p ? function(r, t, e, n, o, i, a, u, f, c) {
a ? r.moveto(t + i, e) : r.moveto(t, e), u ? (r.lineto(n - i, e), r.arcto(n, e, n, o, i)) : r.lineto(n,
e), f ? (r.lineto(n, o - i), r.arcto(n, o, t, o, i)) : r.lineto(n, o), c ? (r.lineto(t + i, o),
r.arcto(t, o, t, e, i)) : r.lineto(t, o), a ? (r.lineto(t, e + i), r.arcto(t, e, n, e, i)) : r
.lineto(t, e)
}(t, n, o, c, s, l, !m && !b, !m && !k, !b && !k, !b && !b) : function(r, t, e, n, o, i, a, u, f, c) {
a && (r.moveto(t + i, e), r.lineto(t, e), r.lineto(t, e + i), r.arcto(t, e, t + i, e, i)), u && (r
.moveto(n - i, e), r.lineto(n, e), r.lineto(n, e + i), r.arcto(n, e, n - i, e, i)), f && (r
.moveto(n - i, o), r.lineto(n, o), r.lineto(n, o - i), r.arcto(n, o, n - i, o, i)), c && (r
.moveto(t + i, o), r.lineto(t, o), r.lineto(t, o - i), r.arcto(t, o, t + i, o, i))
}(t, n, o, c, s, l, m && b && w, m && k && y, b && k && t, b && b && c)
}
function e(r, t) {
var e = g(t.text, t.eclevel, t.minversion, t.maxversion, t.quiet);
if (!e) return null;
var n = d(r).data("qrcode", e),
o = n[0].getcontext("2d");
return i(e, o, t),
function(r, t, e) {
var n, o, i = r.modulecount,
a = e.size / i,
u = c;
for (l && 0 < e.radius && e.radius <= .5 && (u = s), t.beginpath(), n = 0; n < i; n += 1)
for (o = 0; o < i; o += 1) {
u(r, t, e, e.left + o * a, e.top + n * a, a, n, o)
}
if (d(e.fill).is("img")) {
t.strokestyle = "rgba(0,0,0,0.5)", t.linewidth = 2, t.stroke();
var f = t.globalcompositeoperation;
t.globalcompositeoperation = "destination-out", t.fill(), t.globalcompositeoperation = f, t.clip(),
t.drawimage(e.fill, 0, 0, e.size, e.size), t.restore()
} else t.fillstyle = e.fill, t.fill()
}(e, o, t), n
}
function t(r) {
return e(d("").attr("width", r.size).attr("height", r.size), r)
}
function n(r) {
return o && "canvas" === r.render ? t(r) : o && "image" === r.render ? function(r) {
return d("").attr("src", t(r)[0].todataurl("image/png"))
}(r) : function(r) {
var t = g(r.text, r.eclevel, r.minversion, r.maxversion, r.quiet);
if (!t) return null;
var e, n, o = r.size,
i = r.background,
a = math.floor,
u = t.modulecount,
f = a(o / u),
c = a(.5 * (o - f * u)),
s = {
position: "relative",
left: 0,
top: 0,
padding: 0,
margin: 0,
width: o,
height: o
},
l = {
position: "absolute",
padding: 0,
margin: 0,
width: f,
height: f,
"background-color": r.fill
},
h = d("
").data("qrcode", t).css(s);
for (i && h.css("background-color", i), e = 0; e < u; e += 1)
for (n = 0; n < u; n += 1) t.isdark(e, n) && d("").css(l).css({
left: c + n * f,
top: c + e * f
}).appendto(h);
return h
}(r)
}
var r, d = jquery,
o = (r = document.createelement("canvas"), boolean(r.getcontext && r.getcontext("2d"))),
l = "[object opera]" !== object.prototype.tostring.call(window.opera),
f = {
render: "canvas",
minversion: 1,
maxversion: 40,
eclevel: "l",
left: 0,
top: 0,
size: 200,
fill: "#000",
background: null,
text: "no text",
radius: 0,
quiet: 0,
mode: 0,
msize: .1,
mposx: .5,
mposy: .5,
label: "no label",
fontname: "sans",
fontcolor: "#000",
image: null
};
d.fn.qrcode = function(r) {
var t = d.extend({}, f, r);
return this.each(function() {
"canvas" === this.nodename.tolowercase() ? e(this, t) : d(this).append(n(t))
})
}
}(function() {
var r, t = function() {
function w(n, o) {
if (void 0 === n.length) throw new error(n.length + "/" + o);
var t = function() {
for (var r = 0; r < n.length && 0 == n[r];) r += 1;
for (var t = new array(n.length - r + o), e = 0; e < n.length - r; e += 1) t[e] = n[e + r];
return t
}(),
i = {
getat: function(r) {
return t[r]
},
getlength: function() {
return t.length
},
multiply: function(r) {
for (var t = new array(i.getlength() + r.getlength() - 1), e = 0; e < i
.getlength(); e += 1)
for (var n = 0; n < r.getlength(); n += 1) t[e + n] ^= b.gexp(b.glog(i.getat(
e)) + b.glog(r.getat(n)));
return w(t, 0)
},
mod: function(r) {
if (i.getlength() - r.getlength() < 0) return i;
for (var t = b.glog(i.getat(0)) - b.glog(r.getat(0)), e = new array(i.getlength()),
n = 0; n < i.getlength(); n += 1) e[n] = i.getat(n);
for (n = 0; n < r.getlength(); n += 1) e[n] ^= b.gexp(b.glog(r.getat(n)) + t);
return w(e, 0).mod(r)
}
};
return i
}
function o(r, t) {
function o(r, t) {
s = function(r) {
for (var t = new array(r), e = 0; e < r; e += 1) {
t[e] = new array(r);
for (var n = 0; n < r; n += 1) t[e][n] = null
}
return t
}(l = 4 * u + 17), i(0, 0), i(l - 7, 0), i(0, l - 7), h(), c(), d(r, t), 7 <= u && g(r),
null == e && (e = p(u, a, n)), v(e, t)
}
var u = r,
a = m[t],
s = null,
l = 0,
e = null,
n = new array,
f = {},
i = function(r, t) {
for (var e = -1; e <= 7; e += 1)
if (!(r + e <= -1 || l <= r + e))
for (var n = -1; n <= 7; n += 1) t + n <= -1 || l <= t + n || (s[r + e][t + n] =
0 <= e && e <= 6 && (0 == n || 6 == n) || 0 <= n && n <= 6 && (0 == e ||
6 == e) || 2 <= e && e <= 4 && 2 <= n && n <= 4)
},
c = function() {
for (var r = 8; r < l - 8; r += 1) null == s[r][6] && (s[r][6] = r % 2 == 0);
for (var t = 8; t < l - 8; t += 1) null == s[6][t] && (s[6][t] = t % 2 == 0)
},
h = function() {
for (var r = t.getpatternposition(u), t = 0; t < r.length; t += 1)
for (var e = 0; e < r.length; e += 1) {
var n = r[t],
o = r[e];
if (null == s[n][o])
for (var i = -2; i <= 2; i += 1)
for (var a = -2; a <= 2; a += 1) s[n + i][o + a] = -2 == i || 2 == i || -
2 == a || 2 == a || 0 == i && 0 == a
}
},
g = function(r) {
for (var t = t.getbchtypenumber(u), e = 0; e < 18; e += 1) {
var n = !r && 1 == (t >> e & 1);
s[math.floor(e / 3)][e % 3 + l - 8 - 3] = n
}
for (e = 0; e < 18; e += 1) {
n = !r && 1 == (t >> e & 1);
s[e % 3 + l - 8 - 3][math.floor(e / 3)] = n
}
},
d = function(r, t) {
for (var e = a << 3 | t, n = t.getbchtypeinfo(e), o = 0; o < 15; o += 1) {
var i = !r && 1 == (n >> o & 1);
o < 6 ? s[o][8] = i : o < 8 ? s[o + 1][8] = i : s[l - 15 + o][8] = i
}
for (o = 0; o < 15; o += 1) {
i = !r && 1 == (n >> o & 1);
o < 8 ? s[8][l - o - 1] = i : o < 9 ? s[8][15 - o - 1 + 1] = i : s[8][15 - o - 1] = i
}
s[l - 8][8] = !r
},
v = function(r, t) {
for (var e = -1, n = l - 1, o = 7, i = 0, a = t.getmaskfunction(t), u = l - 1; 0 < u; u -=
2)
for (6 == u && (u -= 1);;) {
for (var f = 0; f < 2; f += 1)
if (null == s[n][u - f]) {
var c = !1;
i < r.length && (c = 1 == (r[i] >>> o & 1)), a(n, u - f) && (c = !c), s[n][
u - f
] = c, -1 == (o -= 1) && (i += 1, o = 7)
} if ((n += e) < 0 || l <= n) {
n -= e, e = -e;
break
}
}
},
p = function(r, t, e) {
for (var n = c.getrsblocks(r, t), o = b(), i = 0; i < e.length; i += 1) {
var a = e[i];
o.put(a.getmode(), 4), o.put(a.getlength(), t.getlengthinbits(a.getmode(), r)), a.write(
o)
}
var u = 0;
for (i = 0; i < n.length; i += 1) u += n[i].datacount;
if (o.getlengthinbits() > 8 * u) throw new error("code length overflow. (" + o
.getlengthinbits() + ">" + 8 * u + ")");
for (o.getlengthinbits() + 4 <= 8 * u && o.put(0, 4); o.getlengthinbits() % 8 != 0;) o
.putbit(!1);
for (; !(o.getlengthinbits() >= 8 * u) && (o.put(236, 8), !(o.getlengthinbits() >= 8 * u));)
o.put(17, 8);
return function(r, t) {
for (var e = 0, n = 0, o = 0, i = new array(t.length), a = new array(t.length), u =
0; u < t.length; u += 1) {
var f = t[u].datacount,
c = t[u].totalcount - f;
n = math.max(n, f), o = math.max(o, c), i[u] = new array(f);
for (var s = 0; s < i[u].length; s += 1) i[u][s] = 255 & r.getbuffer()[s + e];
e += f;
var l = t.geterrorcorrectpolynomial(c),
h = w(i[u], l.getlength() - 1).mod(l);
a[u] = new array(l.getlength() - 1);
for (s = 0; s < a[u].length; s += 1) {
var g = s + h.getlength() - a[u].length;
a[u][s] = 0 <= g ? h.getat(g) : 0
}
}
var d = 0;
for (s = 0; s < t.length; s += 1) d += t[s].totalcount;
var v = new array(d),
p = 0;
for (s = 0; s < n; s += 1)
for (u = 0; u < t.length; u += 1) s < i[u].length && (v[p] = i[u][s], p += 1);
for (s = 0; s < o; s += 1)
for (u = 0; u < t.length; u += 1) s < a[u].length && (v[p] = a[u][s], p += 1);
return v
}(o, n)
};
return f.adddata = function(r) {
var t = l(r);
n.push(t), e = null
}, f.isdark = function(r, t) {
if (r < 0 || l <= r || t < 0 || l <= t) throw new error(r + "," + t);
return s[r][t]
}, f.getmodulecount = function() {
return l
}, f.make = function() {
o(!1, function() {
for (var r = 0, t = 0, e = 0; e < 8; e += 1) {
o(!0, e);
var n = t.getlostpoint(f);
(0 == e || n < r) && (r = n, t = e)
}
return t
}())
}, f.createtabletag = function(r, t) {
r = r || 2;
var e = "";
e += '', e += "";
for (var n = 0; n < f.getmodulecount(); n += 1) {
e += "";
for (var o = 0; o < f.getmodulecount(); o += 1) e += ' | ';
e += "
"
}
return (e += "") + "
"
}, f.createimgtag = function(o, r) {
o = o || 2, r = void 0 === r ? 4 * o : r;
var t = f.getmodulecount() * o + 2 * r,
i = r,
a = t - r;
return a(t, t, function(r, t) {
if (i <= r && r < a && i <= t && t < a) {
var e = math.floor((r - i) / o),
n = math.floor((t - i) / o);
return f.isdark(n, e) ? 0 : 1
}
return 1
})
}, f
}
o.stringtobytes = function(r) {
for (var t = new array, e = 0; e < r.length; e += 1) {
var n = r.charcodeat(e);
t.push(255 & n)
}
return t
}, o.createstringtobytes = function(u, f) {
var i = function() {
function r() {
var r = t.read();
if (-1 == r) throw new error;
return r
}
for (var t = s(u), e = 0, n = {};;) {
var o = t.read();
if (-1 == o) break;
var i = r(),
a = r() << 8 | r();
n[string.fromcharcode(o << 8 | i)] = a, e += 1
}
if (e != f) throw new error(e + " != " + f);
return n
}(),
a = "?".charcodeat(0);
return function(r) {
for (var t = new array, e = 0; e < r.length; e += 1) {
var n = r.charcodeat(e);
if (n < 128) t.push(n);
else {
var o = i[r.charat(e)];
"number" == typeof o ? (255 & o) == o ? t.push(o) : (t.push(o >>> 8), t.push(
255 & o)) : t.push(a)
}
}
return t
}
};
function g() {
var e = new array,
o = {
writebyte: function(r) {
e.push(255 & r)
},
writeshort: function(r) {
o.writebyte(r), o.writebyte(r >>> 8)
},
writebytes: function(r, t, e) {
t = t || 0, e = e || r.length;
for (var n = 0; n < e; n += 1) o.writebyte(r[n + t])
},
writestring: function(r) {
for (var t = 0; t < r.length; t += 1) o.writebyte(r.charcodeat(t))
},
tobytearray: function() {
return e
},
tostring: function() {
var r = "";
r += "[";
for (var t = 0; t < e.length; t += 1) 0 < t && (r += ","), r += e[t];
return r + "]"
}
};
return o
}
function h(r, t) {
var n = r,
o = t,
l = new array(r * t),
e = {
setpixel: function(r, t, e) {
l[t * n + r] = e
},
write: function(r) {
r.writestring("gif87a"), r.writeshort(n), r.writeshort(o), r.writebyte(128), r
.writebyte(0), r.writebyte(0), r.writebyte(0), r.writebyte(0), r.writebyte(0), r
.writebyte(255), r.writebyte(255), r.writebyte(255), r.writestring(","), r
.writeshort(0), r.writeshort(0), r.writeshort(n), r.writeshort(o), r.writebyte(
0);
var t = i(2);
r.writebyte(2);
for (var e = 0; 255 < t.length - e;) r.writebyte(255), r.writebytes(t, e, 255), e +=
255;
r.writebyte(t.length - e), r.writebytes(t, e, t.length - e), r.writebyte(0), r
.writestring(";")
}
},
i = function(r) {
for (var t = 1 << r, e = 1 + (1 << r), n = r + 1, o = h(), i = 0; i < t; i += 1) o.add(
string.fromcharcode(i));
o.add(string.fromcharcode(t)), o.add(string.fromcharcode(e));
var a = g(),
u = function(r) {
var e = r,
n = 0,
o = 0,
t = {
write: function(r, t) {
if (r >>> t != 0) throw new error("length over");
for (; 8 <= n + t;) e.writebyte(255 & (r << n | o)), t -= 8 - n,
r >>>= 8 - n, n = o = 0;
o |= r << n, n += t
},
flush: function() {
0 < n && e.writebyte(o)
}
};
return t
}(a);
u.write(t, n);
var f = 0,
c = string.fromcharcode(l[f]);
for (f += 1; f < l.length;) {
var s = string.fromcharcode(l[f]);
f += 1, o.contains(c + s) ? c += s : (u.write(o.indexof(c), n), o.size() < 4095 && (o
.size() == 1 << n && (n += 1), o.add(c + s)), c = s)
}
return u.write(o.indexof(c), n), u.write(e, n), u.flush(), a.tobytearray()
},
h = function() {
var t = {},
e = 0,
n = {
add: function(r) {
if (n.contains(r)) throw new error("dup key:" + r);
t[r] = e, e += 1
},
size: function() {
return e
},
indexof: function(r) {
return t[r]
},
contains: function(r) {
return void 0 !== t[r]
}
};
return n
};
return e
}
var d, r, t, e, n = 1,
i = 2,
a = 4,
u = 8,
m = {
l: 1,
m: 0,
q: 3,
h: 2
},
f = 0,
c = 1,
s = 2,
l = 3,
v = 4,
p = 5,
y = 6,
k = 7,
t = (t = [
[],
[6, 18],
[6, 22],
[6, 26],
[6, 30],
[6, 34],
[6, 22, 38],
[6, 24, 42],
[6, 26, 46],
[6, 28, 50],
[6, 30, 54],
[6, 32, 58],
[6, 34, 62],
[6, 26, 46, 66],
[6, 26, 48, 70],
[6, 26, 50, 74],
[6, 30, 54, 78],
[6, 30, 56, 82],
[6, 30, 58, 86],
[6, 34, 62, 90],
[6, 28, 50, 72, 94],
[6, 26, 50, 74, 98],
[6, 30, 54, 78, 102],
[6, 28, 54, 80, 106],
[6, 32, 58, 84, 110],
[6, 30, 58, 86, 114],
[6, 34, 62, 90, 118],
[6, 26, 50, 74, 98, 122],
[6, 30, 54, 78, 102, 126],
[6, 26, 52, 78, 104, 130],
[6, 30, 56, 82, 108, 134],
[6, 34, 60, 86, 112, 138],
[6, 30, 58, 86, 114, 142],
[6, 34, 62, 90, 118, 146],
[6, 30, 54, 78, 102, 126, 150],
[6, 24, 50, 76, 102, 128, 154],
[6, 28, 54, 80, 106, 132, 158],
[6, 32, 58, 84, 110, 136, 162],
[6, 26, 54, 82, 110, 138, 166],
[6, 30, 58, 86, 114, 142, 170]
], (e = {}).getbchtypeinfo = function(r) {
for (var t = r << 10; 0 <= x(t) - x(1335);) t ^= 1335 << x(t) - x(1335);
return 21522 ^ (r << 10 | t)
}, e.getbchtypenumber = function(r) {
for (var t = r << 12; 0 <= x(t) - x(7973);) t ^= 7973 << x(t) - x(7973);
return r << 12 | t
}, e.getpatternposition = function(r) {
return t[r - 1]
}, e.getmaskfunction = function(r) {
switch (r) {
case f:
return function(r, t) {
return (r + t) % 2 == 0
};
case c:
return function(r, t) {
return r % 2 == 0
};
case s:
return function(r, t) {
return t % 3 == 0
};
case l:
return function(r, t) {
return (r + t) % 3 == 0
};
case v:
return function(r, t) {
return (math.floor(r / 2) + math.floor(t / 3)) % 2 == 0
};
case p:
return function(r, t) {
return r * t % 2 + r * t % 3 == 0
};
case y:
return function(r, t) {
return (r * t % 2 + r * t % 3) % 2 == 0
};
case k:
return function(r, t) {
return (r * t % 3 + (r + t) % 2) % 2 == 0
};
default:
throw new error("bad maskpattern:" + r)
}
}, e.geterrorcorrectpolynomial = function(r) {
for (var t = w([1], 0), e = 0; e < r; e += 1) t = t.multiply(w([1, b.gexp(e)], 0));
return t
}, e.getlengthinbits = function(r, t) {
if (1 <= t && t < 10) switch (r) {
case n:
return 10;
case i:
return 9;
case a:
case u:
return 8;
default:
throw new error("mode:" + r)
} else if (t < 27) switch (r) {
case n:
return 12;
case i:
return 11;
case a:
return 16;
case u:
return 10;
default:
throw new error("mode:" + r)
} else {
if (!(t < 41)) throw new error("type:" + t);
switch (r) {
case n:
return 14;
case i:
return 13;
case a:
return 16;
case u:
return 12;
default:
throw new error("mode:" + r)
}
}
}, e.getlostpoint = function(r) {
for (var t = r.getmodulecount(), e = 0, n = 0; n < t; n += 1)
for (var o = 0; o < t; o += 1) {
for (var i = 0, a = r.isdark(n, o), u = -1; u <= 1; u += 1)
if (!(n + u < 0 || t <= n + u))
for (var f = -1; f <= 1; f += 1) o + f < 0 || t <= o + f || 0 == u && 0 ==
f || a != r.isdark(n + u, o + f) || (i += 1);
5 < i && (e += 3 + i - 5)
}
for (n = 0; n < t - 1; n += 1)
for (o = 0; o < t - 1; o += 1) {
var c = 0;
r.isdark(n, o) && (c += 1), r.isdark(n + 1, o) && (c += 1), r.isdark(n, o + 1) && (
c += 1), r.isdark(n + 1, o + 1) && (c += 1), 0 != c && 4 != c || (e += 3)
}
for (n = 0; n < t; n += 1)
for (o = 0; o < t - 6; o += 1) r.isdark(n, o) && !r.isdark(n, o + 1) && r.isdark(n, o +
2) && r.isdark(n, o + 3) && r.isdark(n, o + 4) && !r.isdark(n, o + 5) && r
.isdark(n, o + 6) && (e += 40);
for (o = 0; o < t; o += 1)
for (n = 0; n < t - 6; n += 1) r.isdark(n, o) && !r.isdark(n + 1, o) && r.isdark(n + 2,
o) && r.isdark(n + 3, o) && r.isdark(n + 4, o) && !r.isdark(n + 5, o) && r
.isdark(n + 6, o) && (e += 40);
var s = 0;
for (o = 0; o < t; o += 1)
for (n = 0; n < t; n += 1) r.isdark(n, o) && (s += 1);
return e + math.abs(100 * s / t / t - 50) / 5 * 10
}, e),
b = function() {
for (var t = new array(256), e = new array(256), r = 0; r < 8; r += 1) t[r] = 1 << r;
for (r = 8; r < 256; r += 1) t[r] = t[r - 4] ^ t[r - 5] ^ t[r - 6] ^ t[r - 8];
for (r = 0; r < 255; r += 1) e[t[r]] = r;
var n = {
glog: function(r) {
if (r < 1) throw new error("glog(" + r + ")");
return e[r]
},
gexp: function(r) {
for (; r < 0;) r += 255;
for (; 256 <= r;) r -= 255;
return t[r]
}
};
return n
}(),
c = (d = [
[1, 26, 19],
[1, 26, 16],
[1, 26, 13],
[1, 26, 9],
[1, 44, 34],
[1, 44, 28],
[1, 44, 22],
[1, 44, 16],
[1, 70, 55],
[1, 70, 44],
[2, 35, 17],
[2, 35, 13],
[1, 100, 80],
[2, 50, 32],
[2, 50, 24],
[4, 25, 9],
[1, 134, 108],
[2, 67, 43],
[2, 33, 15, 2, 34, 16],
[2, 33, 11, 2, 34, 12],
[2, 86, 68],
[4, 43, 27],
[4, 43, 19],
[4, 43, 15],
[2, 98, 78],
[4, 49, 31],
[2, 32, 14, 4, 33, 15],
[4, 39, 13, 1, 40, 14],
[2, 121, 97],
[2, 60, 38, 2, 61, 39],
[4, 40, 18, 2, 41, 19],
[4, 40, 14, 2, 41, 15],
[2, 146, 116],
[3, 58, 36, 2, 59, 37],
[4, 36, 16, 4, 37, 17],
[4, 36, 12, 4, 37, 13],
[2, 86, 68, 2, 87, 69],
[4, 69, 43, 1, 70, 44],
[6, 43, 19, 2, 44, 20],
[6, 43, 15, 2, 44, 16],
[4, 101, 81],
[1, 80, 50, 4, 81, 51],
[4, 50, 22, 4, 51, 23],
[3, 36, 12, 8, 37, 13],
[2, 116, 92, 2, 117, 93],
[6, 58, 36, 2, 59, 37],
[4, 46, 20, 6, 47, 21],
[7, 42, 14, 4, 43, 15],
[4, 133, 107],
[8, 59, 37, 1, 60, 38],
[8, 44, 20, 4, 45, 21],
[12, 33, 11, 4, 34, 12],
[3, 145, 115, 1, 146, 116],
[4, 64, 40, 5, 65, 41],
[11, 36, 16, 5, 37, 17],
[11, 36, 12, 5, 37, 13],
[5, 109, 87, 1, 110, 88],
[5, 65, 41, 5, 66, 42],
[5, 54, 24, 7, 55, 25],
[11, 36, 12, 7, 37, 13],
[5, 122, 98, 1, 123, 99],
[7, 73, 45, 3, 74, 46],
[15, 43, 19, 2, 44, 20],
[3, 45, 15, 13, 46, 16],
[1, 135, 107, 5, 136, 108],
[10, 74, 46, 1, 75, 47],
[1, 50, 22, 15, 51, 23],
[2, 42, 14, 17, 43, 15],
[5, 150, 120, 1, 151, 121],
[9, 69, 43, 4, 70, 44],
[17, 50, 22, 1, 51, 23],
[2, 42, 14, 19, 43, 15],
[3, 141, 113, 4, 142, 114],
[3, 70, 44, 11, 71, 45],
[17, 47, 21, 4, 48, 22],
[9, 39, 13, 16, 40, 14],
[3, 135, 107, 5, 136, 108],
[3, 67, 41, 13, 68, 42],
[15, 54, 24, 5, 55, 25],
[15, 43, 15, 10, 44, 16],
[4, 144, 116, 4, 145, 117],
[17, 68, 42],
[17, 50, 22, 6, 51, 23],
[19, 46, 16, 6, 47, 17],
[2, 139, 111, 7, 140, 112],
[17, 74, 46],
[7, 54, 24, 16, 55, 25],
[34, 37, 13],
[4, 151, 121, 5, 152, 122],
[4, 75, 47, 14, 76, 48],
[11, 54, 24, 14, 55, 25],
[16, 45, 15, 14, 46, 16],
[6, 147, 117, 4, 148, 118],
[6, 73, 45, 14, 74, 46],
[11, 54, 24, 16, 55, 25],
[30, 46, 16, 2, 47, 17],
[8, 132, 106, 4, 133, 107],
[8, 75, 47, 13, 76, 48],
[7, 54, 24, 22, 55, 25],
[22, 45, 15, 13, 46, 16],
[10, 142, 114, 2, 143, 115],
[19, 74, 46, 4, 75, 47],
[28, 50, 22, 6, 51, 23],
[33, 46, 16, 4, 47, 17],
[8, 152, 122, 4, 153, 123],
[22, 73, 45, 3, 74, 46],
[8, 53, 23, 26, 54, 24],
[12, 45, 15, 28, 46, 16],
[3, 147, 117, 10, 148, 118],
[3, 73, 45, 23, 74, 46],
[4, 54, 24, 31, 55, 25],
[11, 45, 15, 31, 46, 16],
[7, 146, 116, 7, 147, 117],
[21, 73, 45, 7, 74, 46],
[1, 53, 23, 37, 54, 24],
[19, 45, 15, 26, 46, 16],
[5, 145, 115, 10, 146, 116],
[19, 75, 47, 10, 76, 48],
[15, 54, 24, 25, 55, 25],
[23, 45, 15, 25, 46, 16],
[13, 145, 115, 3, 146, 116],
[2, 74, 46, 29, 75, 47],
[42, 54, 24, 1, 55, 25],
[23, 45, 15, 28, 46, 16],
[17, 145, 115],
[10, 74, 46, 23, 75, 47],
[10, 54, 24, 35, 55, 25],
[19, 45, 15, 35, 46, 16],
[17, 145, 115, 1, 146, 116],
[14, 74, 46, 21, 75, 47],
[29, 54, 24, 19, 55, 25],
[11, 45, 15, 46, 46, 16],
[13, 145, 115, 6, 146, 116],
[14, 74, 46, 23, 75, 47],
[44, 54, 24, 7, 55, 25],
[59, 46, 16, 1, 47, 17],
[12, 151, 121, 7, 152, 122],
[12, 75, 47, 26, 76, 48],
[39, 54, 24, 14, 55, 25],
[22, 45, 15, 41, 46, 16],
[6, 151, 121, 14, 152, 122],
[6, 75, 47, 34, 76, 48],
[46, 54, 24, 10, 55, 25],
[2, 45, 15, 64, 46, 16],
[17, 152, 122, 4, 153, 123],
[29, 74, 46, 14, 75, 47],
[49, 54, 24, 10, 55, 25],
[24, 45, 15, 46, 46, 16],
[4, 152, 122, 18, 153, 123],
[13, 74, 46, 32, 75, 47],
[48, 54, 24, 14, 55, 25],
[42, 45, 15, 32, 46, 16],
[20, 147, 117, 4, 148, 118],
[40, 75, 47, 7, 76, 48],
[43, 54, 24, 22, 55, 25],
[10, 45, 15, 67, 46, 16],
[19, 148, 118, 6, 149, 119],
[18, 75, 47, 31, 76, 48],
[34, 54, 24, 34, 55, 25],
[20, 45, 15, 61, 46, 16]
], (r = {}).getrsblocks = function(r, t) {
var e, n, o = function(r, t) {
switch (t) {
case m.l:
return d[4 * (r - 1) + 0];
case m.m:
return d[4 * (r - 1) + 1];
case m.q:
return d[4 * (r - 1) + 2];
case m.h:
return d[4 * (r - 1) + 3];
default:
return
}
}(r, t);
if (void 0 === o) throw new error("bad rs block @ typenumber:" + r + "/errorcorrectlevel:" +
t);
for (var i = o.length / 3, a = new array, u = 0; u < i; u += 1)
for (var f = o[3 * u + 0], c = o[3 * u + 1], s = o[3 * u + 2], l = 0; l < f; l += 1) a
.push((e = s, n = void 0, (n = {}).totalcount = c, n.datacount = e, n));
return a
}, r),
b = function() {
var e = new array,
n = 0,
o = {
getbuffer: function() {
return e
},
getat: function(r) {
var t = math.floor(r / 8);
return 1 == (e[t] >>> 7 - r % 8 & 1)
},
put: function(r, t) {
for (var e = 0; e < t; e += 1) o.putbit(1 == (r >>> t - e - 1 & 1))
},
getlengthinbits: function() {
return n
},
putbit: function(r) {
var t = math.floor(n / 8);
e.length <= t && e.push(0), r && (e[t] |= 128 >>> n % 8), n += 1
}
};
return o
},
l = function(r) {
var t = a,
e = o.stringtobytes(r),
n = {
getmode: function() {
return t
},
getlength: function(r) {
return e.length
},
write: function(r) {
for (var t = 0; t < e.length; t += 1) r.put(e[t], 8)
}
};
return n
},
s = function(r) {
var e = r,
n = 0,
o = 0,
i = 0,
t = {
read: function() {
for (; i < 8;) {
if (n >= e.length) {
if (0 == i) return -1;
throw new error("unexpected end of file./" + i)
}
var r = e.charat(n);
if (n += 1, "=" == r) return i = 0, -1;
r.match(/^\s$/) || (o = o << 6 | a(r.charcodeat(0)), i += 6)
}
var t = o >>> i - 8 & 255;
return i -= 8, t
}
},
a = function(r) {
if (65 <= r && r <= 90) return r - 65;
if (97 <= r && r <= 122) return r - 97 + 26;
if (48 <= r && r <= 57) return r - 48 + 52;
if (43 == r) return 62;
if (47 == r) return 63;
throw new error("c:" + r)
};
return t
},
a = function(r, t, e, n) {
for (var o = h(r, t), i = 0; i < t; i += 1)
for (var a = 0; a < r; a += 1) o.setpixel(a, i, e(a, i));
var u = g();
o.write(u);
for (var f = function() {
function e(r) {
a += string.fromcharcode(t(63 & r))
}
var n = 0,
o = 0,
i = 0,
a = "",
r = {},
t = function(r) {
if (r < 0);
else {
if (r < 26) return 65 + r;
if (r < 52) return r - 26 + 97;
if (r < 62) return r - 52 + 48;
if (62 == r) return 43;
if (63 == r) return 47
}
throw new error("n:" + r)
};
return r.writebyte = function(r) {
for (n = n << 8 | 255 & r, o += 8, i += 1; 6 <= o;) e(n >>> o - 6), o -= 6
}, r.flush = function() {
if (0 < o && (e(n << 6 - o), o = n = 0), i % 3 != 0)
for (var r = 3 - i % 3, t = 0; t < r; t += 1) a += "="
}, r.tostring = function() {
return a
}, r
}(), c = u.tobytearray(), s = 0; s < c.length; s += 1) f.writebyte(c[s]);
f.flush();
var l = "";
return l += ""
};
function x(r) {
for (var t = 0; 0 != r;) t += 1, r >>>= 1;
return t
}
return o
}();
return r = function() {
return t
}, "function" == typeof define && define.amd ? define([], r) : "object" == typeof exports && (module
.exports = r()), t.stringtobytes = function(r) {
return function(r) {
for (var t = [], e = 0; e < r.length; e++) {
var n = r.charcodeat(e);
n < 128 ? t.push(n) : n < 2048 ? t.push(192 | n >> 6, 128 | 63 & n) : n < 55296 || 57344 <=
n ? t.push(224 | n >> 12, 128 | n >> 6 & 63, 128 | 63 & n) : (e++, n = 65536 + ((1023 &
n) << 10 | 1023 & r.charcodeat(e)), t.push(240 | n >> 18, 128 | n >> 12 & 63,
128 | n >> 6 & 63, 128 | 63 & n))
}
return t
}(r)
}, t
}()),
function(f) {
f.fn.share = function(r) {
var t = f(document.head),
e = {
url: location.href,
site_url: location.origin,
source: t.find("[name=site], [name=site]").attr("content") || document.title,
title: t.find("[name=title], [name=title]").attr("content") || document.title,
description: t.find("[name=description], [name=description]").attr("content") || "",
image: f("img:first").prop("src") || "",
imageselector: void 0,
weibokey: "",
// wechatqrcodetitle: "微信扫一扫:分享",
// wechatqrcodehelper: "微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
",
wechatqrcodesize: 100,
mobilesites: [],
sites: ["weibo", "qq", "wechat", "tencent", "douban", "qzone", "linkedin", "diandian", "facebook",
"twitter", "google"
],
disabled: [],
initialized: !1
},
n = f.extend({}, e, r),
a = {
qzone: "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={{url}}&title={{title}}&desc={{description}}&summary={{summary}}&site={{source}}&pics={{image}}",
qq: "http://connect.qq.com/widget/shareqq/index.html?url={{url}}&title={{title}}&source={{source}}&desc={{description}}&pics={{image}}",
tencent: "http://share.v.t.qq.com/index.php?c=share&a=index&title={{title}}&url={{url}}&pic={{image}}",
weibo: "https://service.weibo.com/share/share.php?url={{url}}&title={{title}}&pic={{image}}&appkey={{weibokey}}",
wechat: "javascript:;",
douban: "http://shuo.douban.com/!service/share?href={{url}}&name={{title}}&text={{description}}&image={{image}}&starid=0&aid=0&style=11",
diandian: "http://www.diandian.com/share?lo={{url}}&ti={{title}}&type=link",
linkedin: "http://www.linkedin.com/sharearticle?mini=true&ro=true&title={{title}}&url={{url}}&summary={{summary}}&source={{source}}&armin=armin",
facebook: "https://www.facebook.com/sharer/sharer.php?u={{url}}&title={{title}}&description={{description}}&caption={{subhead}}&link={{url}}&picture={{image}}",
twitter: "https://twitter.com/intent/tweet?text={{title}}&url={{url}}&via={{site_url}}",
google: "https://plus.google.com/share?url={{url}}"
},
u = {
qzone: "qq空间",
qq: "qq",
tencent: "腾讯微博",
weibo: "微博",
wechat: "微信",
douban: "豆瓣",
diandian: "点点",
linkedin: "linkedin",
facebook: "facebook",
twitter: "twitter",
google: "google"
};
this.each(function() {
if (f(this).data("initialized")) return !0;
var r = f.extend({}, n, f(this).data());
r.imageselector && (r.image = f(r.imageselector).map(function() {
return f(this).prop("src")
}).get().join("||"));
var t = f(this).addclass("share-component social-share");
! function(o, i) {
var r = function(r) {
0 === r.mobilesites.length && r.sites.length && (r.mobilesites = r.sites);
var n = (f(window).width() <= 768 ? r.mobilesites : r.sites.length ? r.sites : [])
.slice(0),
t = r.disabled;
"string" == typeof n && (n = n.split(/\s*,\s*/));
"string" == typeof t && (t = t.split(/\s*,\s*/));
/micromessenger/i.test(navigator.useragent) && t.push("wechat");
return t.length && f.each(t, function(r, t) {
var e = f.inarray(t, n); - 1 !== e && n.splice(e, 1)
}), n
}(i);
if ("prepend" == i.mode && r.reverse(), !r.length) return;
f.each(r, function(r, t) {
var e = function(r, t) {
var e = a[r];
for (var n in t.summary = t.description, t)
if (t.hasownproperty(n)) {
var o = r + n.replace(/^[a-z]/, function(r) {
return r.touppercase()
}),
i = encodeuricomponent(void 0 === t[o] ? t[n] : t[o]);
e = e.replace(new regexp("{{" + n.touppercase() + "}}", "g"), i)
} return e
}(t, i),
n = i.initialized ? o.find(".icon-" + t) : f(
'');
if (!n.length) return !0;
n.prop("aria-label", "分享到 " + u[t]), n.prop("href", e), "wechat" === t ? n.prop(
"tabindex", -1) : n.prop("target", "_blank"), i.initialized || (
"prepend" == i.mode ? o.prepend(n) : o.append(n))
})
}(t, r),
function(r, t) {
var e = r.find("a.icon-wechat");
if (!e.length) return;
// e.append('"), e.find(".qrcode").qrcode({
// render: "image",
// size: t.wechatqrcodesize,
// text: t.url
// }), e.offset().top < 100 && e.find(".wechat-qrcode").addclass("bottom")
}(t, r), f(this).data("initialized", !0)
})
}, f(function() {
f(".share-component,.social-share").share()
})
}(jquery);