สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/468263/1202354/tesseractminjs.js
! function(e, t) {
"object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.Tesseract = t() : e.Tesseract = t()
}(window, (function() {
return function(e) {
var t = {};
function r(n) {
if (t[n]) return t[n].exports;
var o = t[n] = {
i: n,
l: !1,
exports: {}
};
return e[n].call(o.exports, o, o.exports, r), o.l = !0, o.exports
}
return r.m = e, r.c = t, r.d = function(e, t, n) {
r.o(e, t) || Object.defineProperty(e, t, {
enumerable: !0,
get: n
})
}, r.r = function(e) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
value: "Module"
}), Object.defineProperty(e, "__esModule", {
value: !0
})
}, r.t = function(e, t) {
if (1 & t && (e = r(e)), 8 & t) return e;
if (4 & t && "object" == typeof e && e && e.__esModule) return e;
var n = Object.create(null);
if (r.r(n), Object.defineProperty(n, "default", {
enumerable: !0,
value: e
}), 2 & t && "string" != typeof e)
for (var o in e) r.d(n, o, function(t) {
return e[t]
}.bind(null, o));
return n
}, r.n = function(e) {
var t = e && e.__esModule ? function() {
return e.
default
} : function() {
return e
};
return r.d(t, "a", t), t
}, r.o = function(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}, r.p = "", r(r.s = 12)
}([
function(e, t, r) {
var n;
! function(o) {
"use strict";
function i(e, t, r) {
var n, o = document.createElement("img");
function a(t, a) {
a && console.log(a), t && i.isInstanceOf("Blob", t) ? (e = t, n = i.createObjectURL(e)) : (n = e, r && r.crossOrigin && (o.crossOrigin = r.crossOrigin)), o.src = n
}
return o.onerror = function(a) {
return i.onerror(o, a, e, n, t, r)
}, o.onload = function(a) {
return i.onload(o, a, e, n, t, r)
}, "string" == typeof e ? (i.hasMetaOption(r) ? i.fetchBlob(e, a, r) : a(), o) : i.isInstanceOf("Blob", e) || i.isInstanceOf("File", e) ? (n = i.createObjectURL(e)) ? (o.src = n, o) : i.readFile(e, (function(e) {
var r = e.target;
r && r.result ? o.src = r.result : t && t(e)
})) : void 0
}
var a = o.createObjectURL && o || o.URL && URL.revokeObjectURL && URL || o.webkitURL && webkitURL;
function c(e, t) {
!e || "blob:" !== e.slice(0, 5) || t && t.noRevoke || i.revokeObjectURL(e)
}
i.hasMetaOption = function(e) {
return e && e.meta
}, i.fetchBlob = function(e, t) {
t()
}, i.isInstanceOf = function(e, t) {
return Object.prototype.toString.call(t) === "[object " + e + "]"
}, i.transform = function(e, t, r, n, o) {
r(e, o)
}, i.onerror = function(e, t, r, n, o, i) {
c(n, i), o && o.call(e, t)
}, i.onload = function(e, t, r, n, o, a) {
c(n, a), o && i.transform(e, a, o, r, {
originalWidth: e.naturalWidth || e.width,
originalHeight: e.naturalHeight || e.height
})
}, i.createObjectURL = function(e) {
return !!a && a.createObjectURL(e)
}, i.revokeObjectURL = function(e) {
return !!a && a.revokeObjectURL(e)
}, i.readFile = function(e, t, r) {
if (o.FileReader) {
var n = new FileReader;
if (n.onload = n.onerror = t, n[r = r || "readAsDataURL"]) return n[r](e), n
}
return !1
}, void 0 === (n = function() {
return i
}.call(t, r, t, e)) || (e.exports = n)
}("undefined" != typeof window && window || this)
},
function(e, t, r) {
var n, o, i;
! function(a) {
"use strict";
o = [r(0)], void 0 === (i = "function" == typeof(n = function(e) {
var t = "undefined" != typeof Blob && (Blob.prototype.slice || Blob.prototype.webkitSlice || Blob.prototype.mozSlice);
e.blobSlice = t && function() {
var e = this.slice || this.webkitSlice || this.mozSlice;
return e.apply(this, arguments)
}, e.metaDataParsers = {
jpeg: {
65505: [],
65517: []
}
}, e.parseMetaData = function(t, r, n, o) {
o = o || {};
var i = this,
a = (n = n || {}).maxMetaDataSize || 262144; !! ("undefined" != typeof DataView && t && t.size >= 12 && "image/jpeg" === t.type && e.blobSlice) && e.readFile(e.blobSlice.call(t, 0, a), (function(t) {
if (t.target.error) return console.log(t.target.error), void r(o);
var a, c, s, u, l = t.target.result,
f = new DataView(l),
p = 2,
d = f.byteLength - 4,
h = p;
if (65496 === f.getUint16(0)) {
for (; p < d && ((a = f.getUint16(p)) >= 65504 && a <= 65519 || 65534 === a);) {
if (p + (c = f.getUint16(p + 2) + 2) > f.byteLength) {
console.log("Invalid meta data: Invalid segment size.");
break
}
if ((s = e.metaDataParsers.jpeg[a]) && !n.disableMetaDataParsers)
for (u = 0; u < s.length; u += 1) s[u].call(i, f, p, c, o, n);
h = p += c
}!n.disableImageHead && h > 6 && (l.slice ? o.imageHead = l.slice(0, h) : o.imageHead = new Uint8Array(l).subarray(0, h))
} else console.log("Invalid JPEG file: Missing JPEG marker.");
r(o)
}), "readAsArrayBuffer") || r(o)
}, e.replaceHead = function(t, r, n) {
e.parseMetaData(t, (function(o) {
n(new Blob([r, e.blobSlice.call(t, o.imageHead.byteLength)], {
type: "image/jpeg"
}))
}), {
maxMetaDataSize: 256,
disableMetaDataParsers: !0
})
};
var r = e.transform;
e.transform = function(t, n, o, i, a) {
e.hasMetaOption(n) ? e.parseMetaData(i, (function(a) {
r.call(e, t, n, o, i, a)
}), n, a) : r.apply(e, arguments)
}
}) ? n.apply(t, o) : n) || (e.exports = i)
}()
},
function(e, t) {
e.exports = function(e, t) {
return "".concat(e, "-").concat(t, "-").concat(Math.random().toString(16).slice(3, 8))
}
},
function(e, t) {
var r = this,
n = !1;
t.logging = n, t.setLogging = function(e) {
n = e
}, t.log = function() {
for (var e = arguments.length, t = new Array(e), o = 0; o < e; o++) t[o] = arguments[o];
return n ? console.log.apply(r, t) : null
}
},
function(e, t) {
var r, n, o = e.exports = {};
function i() {
throw new Error("setTimeout has not been defined")
}
function a() {
throw new Error("clearTimeout has not been defined")
}
function c(e) {
if (r === setTimeout) return setTimeout(e, 0);
if ((r === i || !r) && setTimeout) return r = setTimeout, setTimeout(e, 0);
try {
return r(e, 0)
} catch (t) {
try {
return r.call(null, e, 0)
} catch (t) {
return r.call(this, e, 0)
}
}
}! function() {
try {
r = "function" == typeof setTimeout ? setTimeout : i
} catch (e) {
r = i
}
try {
n = "function" == typeof clearTimeout ? clearTimeout : a
} catch (e) {
n = a
}
}();
var s, u = [],
l = !1,
f = -1;
function p() {
l && s && (l = !1, s.length ? u = s.concat(u) : f = -1, u.length && d())
}
function d() {
if (!l) {
var e = c(p);
l = !0;
for (var t = u.length; t;) {
for (s = u, u = []; ++f < t;) s && s[f].run();
f = -1, t = u.length
}
s = null, l = !1,
function(e) {
if (n === clearTimeout) return clearTimeout(e);
if ((n === a || !n) && clearTimeout) return n = clearTimeout, clearTimeout(e);
try {
n(e)
} catch (t) {
try {
return n.call(null, e)
} catch (t) {
return n.call(this, e)
}
}
}(e)
}
}
function h(e, t) {
this.fun = e, this.array = t
}
function g() {}
o.nextTick = function(e) {
var t = new Array(arguments.length - 1);
if (arguments.length > 1)
for (var r = 1; r < arguments.length; r++) t[r - 1] = arguments[r];
u.push(new h(e, t)), 1 !== u.length || l || c(d)
}, h.prototype.run = function() {
this.fun.apply(null, this.array)
}, o.title = "browser", o.browser = !0, o.env = {}, o.argv = [], o.version = "", o.versions = {}, o.on = g, o.addListener = g, o.once = g, o.off = g, o.removeListener = g, o.removeAllListeners = g, o.emit = g, o.prependListener = g, o.prependOnceListener = g, o.listeners = function(e) {
return []
}, o.binding = function(e) {
throw new Error("process.binding is not supported")
}, o.cwd = function() {
return "/"
}, o.chdir = function(e) {
throw new Error("process.chdir is not supported")
}, o.umask = function() {
return 0
}
},
function(e, t, r) {
var n, o;
void 0 === (o = "function" == typeof(n = function() {
return function() {
var e = arguments.length;
if (0 === e) throw new Error("resolveUrl requires at least one argument; got none.");
var t = document.createElement("base");
if (t.href = arguments[0], 1 === e) return t.href;
var r = document.getElementsByTagName("head")[0];
r.insertBefore(t, r.firstChild);
for (var n, o = document.createElement("a"), i = 1; i < e; i++) o.href = arguments[i], n = o.href, t.href = n;
return r.removeChild(t), n
}
}) ? n.call(t, r, t, e) : n) || (e.exports = o)
},
function(e, t, r) {
var n = r(2),
o = 0;
e.exports = function(e) {
var t = e.id,
r = e.action,
i = e.payload,
a = void 0 === i ? {} : i,
c = t;
return void 0 === c && (c = n("Job", o), o += 1), {
id: c,
action: r,
payload: a
}
}
},
function(e, t, r) {
function n(e, t, r, n, o, i, a) {
try {
var c = e[i](a),
s = c.value
} catch (e) {
return void r(e)
}
c.done ? t(s) : Promise.resolve(s).then(n, o)
}
function o(e) {
return function() {
var t = this,
r = arguments;
return new Promise((function(o, i) {
var a = e.apply(t, r);
function c(e) {
n(a, o, i, c, s, "next", e)
}
function s(e) {
n(a, o, i, c, s, "throw", e)
}
c(void 0)
}))
}
}
function i(e, t) {
var r = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
t && (n = n.filter((function(t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), r.push.apply(r, n)
}
return r
}
function a(e) {
for (var t = 1; t < arguments.length; t++) {
var r = null != arguments[t] ? arguments[t] : {};
t % 2 ? i(Object(r), !0).forEach((function(t) {
c(e, t, r[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : i(Object(r)).forEach((function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
}))
}
return e
}
function c(e, t, r) {
return t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r, e
}
function s(e, t) {
if (null == e) return {};
var r, n, o = function(e, t) {
if (null == e) return {};
var r, n, o = {}, i = Object.keys(e);
for (n = 0; n < i.length; n++) r = i[n], t.indexOf(r) >= 0 || (o[r] = e[r]);
return o
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (n = 0; n < i.length; n++) r = i[n], t.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(e, r) && (o[r] = e[r])
}
return o
}
var u = r(16),
l = r(19),
f = r(6),
p = r(3).log,
d = r(2),
h = r(20).defaultOEM,
g = r(21),
m = g.defaultOptions,
y = g.spawnWorker,
b = g.terminateWorker,
v = g.onMessage,
w = g.loadImage,
A = g.send,
S = 0;
e.exports = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = d("Worker", S),
r = u(a({}, m, {}, e)),
n = r.logger,
i = r.errorHandler,
c = s(r, ["logger", "errorHandler"]),
g = {}, O = {}, x = y(c);
S += 1;
var E = function(e, t) {
g[e] = t
}, P = function(e, t) {
O[e] = t
}, j = function(e) {
var r = e.id,
n = e.action,
o = e.payload;
return new Promise((function(e, i) {
p("[".concat(t, "]: Start ").concat(r, ", action=").concat(n)), E(n, e), P(n, i), A(x, {
workerId: t,
jobId: r,
action: n,
payload: o
})
}))
}, k = function(e) {
return j(f({
id: e,
action: "load",
payload: {
options: c
}
}))
}, L = function(e, t, r) {
return j(f({
id: r,
action: "FS",
payload: {
method: "writeFile",
args: [e, t]
}
}))
}, R = function(e, t) {
return j(f({
id: t,
action: "FS",
payload: {
method: "readFile",
args: [e, {
encoding: "utf8"
}]
}
}))
}, I = function(e, t) {
return j(f({
id: t,
action: "FS",
payload: {
method: "unlink",
args: [e]
}
}))
}, D = function(e, t, r) {
return j(f({
id: r,
action: "FS",
payload: {
method: e,
args: t
}
}))
}, T = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "eng",
t = arguments.length > 1 ? arguments[1] : void 0;
return j(f({
id: t,
action: "loadLanguage",
payload: {
langs: e,
options: c
}
}))
}, C = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "eng",
t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : h,
r = arguments.length > 2 ? arguments[2] : void 0;
return j(f({
id: r,
action: "initialize",
payload: {
langs: e,
oem: t
}
}))
}, B = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0;
return j(f({
id: t,
action: "setParameters",
payload: {
params: e
}
}))
}, F = function() {
var e = o(regeneratorRuntime.mark((function e(t) {
var r, n, o = arguments;
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return r = o.length > 1 && void 0 !== o[1] ? o[1] : {}, n = o.length > 2 ? o[2] : void 0, e.t0 = j, e.t1 = f, e.t2 = n, e.next = 7, w(t);
case 7:
return e.t3 = e.sent, e.t4 = r, e.t5 = {
image: e.t3,
options: e.t4
}, e.t6 = {
id: e.t2,
action: "recognize",
payload: e.t5
}, e.t7 = (0, e.t1)(e.t6), e.abrupt("return", (0, e.t0)(e.t7));
case 13:
case "end":
return e.stop()
}
}), e)
})));
return function(t) {
return e.apply(this, arguments)
}
}(),
M = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "Tesseract OCR Result",
t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
r = arguments.length > 2 ? arguments[2] : void 0;
return j(f({
id: r,
action: "getPDF",
payload: {
title: e,
textonly: t
}
}))
}, U = function() {
var e = o(regeneratorRuntime.mark((function e(t, r) {
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return e.t0 = j, e.t1 = f, e.t2 = r, e.next = 5, w(t);
case 5:
return e.t3 = e.sent, e.t4 = {
image: e.t3
}, e.t5 = {
id: e.t2,
action: "detect",
payload: e.t4
}, e.t6 = (0, e.t1)(e.t5), e.abrupt("return", (0, e.t0)(e.t6));
case 10:
case "end":
return e.stop()
}
}), e)
})));
return function(t, r) {
return e.apply(this, arguments)
}
}(),
N = function() {
var e = o(regeneratorRuntime.mark((function e() {
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return null !== x && (b(x), x = null), e.abrupt("return", Promise.resolve());
case 2:
case "end":
return e.stop()
}
}), e)
})));
return function() {
return e.apply(this, arguments)
}
}();
return v(x, (function(e) {
var t = e.workerId,
r = e.jobId,
o = e.status,
c = e.action,
s = e.data;
if ("resolve" === o) {
p("[".concat(t, "]: Complete ").concat(r));
var u = s;
"recognize" === c ? u = l(s) : "getPDF" === c && (u = Array.from(a({}, s, {
length: Object.keys(s).length
}))), g[c]({
jobId: r,
data: u
})
} else if ("reject" === o) {
if (O[c](s), !i) throw Error(s);
i(s)
} else "progress" === o && n(a({}, s, {
userJobId: r
}))
})), {
id: t,
worker: x,
setResolve: E,
setReject: P,
load: k,
writeText: L,
readText: R,
removeFile: I,
FS: D,
loadLanguage: T,
initialize: C,
setParameters: B,
recognize: F,
getPDF: M,
detect: U,
terminate: N
}
}
},
function(e, t) {
e.exports = {
TESSERACT_ONLY: 0,
LSTM_ONLY: 1,
TESSERACT_LSTM_COMBINED: 2,
DEFAULT: 3
}
},
function(e, t, r) {
var n, o, i;
! function(a) {
"use strict";
o = [r(0)], void 0 === (i = "function" == typeof(n = function(e) {
var t = e.transform;
e.transform = function(r, n, o, i, a) {
t.call(e, e.scale(r, n, a), n, o, i, a)
}, e.transformCoordinates = function() {}, e.getTransformedOptions = function(e, t) {
var r, n, o, i, a = t.aspectRatio;
if (!a) return t;
for (n in r = {}, t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]);
return r.crop = !0, (o = e.naturalWidth || e.width) / (i = e.naturalHeight || e.height) > a ? (r.maxWidth = i * a, r.maxHeight = i) : (r.maxWidth = o, r.maxHeight = o / a), r
}, e.renderImageToCanvas = function(e, t, r, n, o, i, a, c, s, u, l) {
var f = e.getContext("2d");
return !1 === l.imageSmoothingEnabled ? f.imageSmoothingEnabled = !1 : l.imageSmoothingQuality && (f.imageSmoothingQuality = l.imageSmoothingQuality), f.drawImage(t, r, n, o, i, a, c, s, u), e
}, e.hasCanvasOption = function(e) {
return e.canvas || e.crop || !! e.aspectRatio
}, e.scale = function(t, r, n) {
r = r || {};
var o, i, a, c, s, u, l, f, p, d, h, g = document.createElement("canvas"),
m = t.getContext || e.hasCanvasOption(r) && g.getContext,
y = t.naturalWidth || t.width,
b = t.naturalHeight || t.height,
v = y,
w = b;
function A() {
var e = Math.max((a || v) / v, (c || w) / w);
e > 1 && (v *= e, w *= e)
}
function S() {
var e = Math.min((o || v) / v, (i || w) / w);
e < 1 && (v *= e, w *= e)
}
if (m && (l = (r = e.getTransformedOptions(t, r, n)).left || 0, f = r.top || 0, r.sourceWidth ? (s = r.sourceWidth, void 0 !== r.right && void 0 === r.left && (l = y - s - r.right)) : s = y - l - (r.right || 0), r.sourceHeight ? (u = r.sourceHeight, void 0 !== r.bottom && void 0 === r.top && (f = b - u - r.bottom)) : u = b - f - (r.bottom || 0), v = s, w = u), o = r.maxWidth, i = r.maxHeight, a = r.minWidth, c = r.minHeight, m && o && i && r.crop ? (v = o, w = i, (h = s / u - o / i) < 0 ? (u = i * s / o, void 0 === r.top && void 0 === r.bottom && (f = (b - u) / 2)) : h > 0 && (s = o * u / i, void 0 === r.left && void 0 === r.right && (l = (y - s) / 2))) : ((r.contain || r.cover) && (a = o = o || a, c = i = i || c), r.cover ? (S(), A()) : (A(), S())), m) {
if ((p = r.pixelRatio) > 1 && (g.style.width = v + "px", g.style.height = w + "px", v *= p, w *= p, g.getContext("2d").scale(p, p)), (d = r.downsamplingRatio) > 0 && d < 1 && v < s && w < u)
for (; s * d > v;) g.width = s * d, g.height = u * d, e.renderImageToCanvas(g, t, l, f, s, u, 0, 0, g.width, g.height, r), l = 0, f = 0, s = g.width, u = g.height, (t = document.createElement("canvas")).width = s, t.height = u, e.renderImageToCanvas(t, g, 0, 0, s, u, 0, 0, s, u, r);
return g.width = v, g.height = w, e.transformCoordinates(g, r), e.renderImageToCanvas(g, t, l, f, s, u, 0, 0, v, w, r)
}
return t.width = v, t.height = w, t
}
}) ? n.apply(t, o) : n) || (e.exports = i)
}()
},
function(e, t, r) {
var n, o, i;
! function(a) {
"use strict";
o = [r(0), r(1)], void 0 === (i = "function" == typeof(n = function(e) {
function t(e) {
e && (Object.defineProperty(this, "map", {
value: this.privateIFDs[e].map
}), Object.defineProperty(this, "tags", {
value: this.tags && this.tags[e] || {}
}))
}
t.prototype.map = {
Orientation: 274,
Thumbnail: 513,
Exif: 34665,
GPSInfo: 34853,
Interoperability: 40965
}, t.prototype.privateIFDs = {
34665: {
name: "Exif",
map: {}
},
34853: {
name: "GPSInfo",
map: {}
},
40965: {
name: "Interoperability",
map: {}
}
}, t.prototype.get = function(e) {
return this[e] || this[this.map[e]]
};
var r = {
1: {
getValue: function(e, t) {
return e.getUint8(t)
},
size: 1
},
2: {
getValue: function(e, t) {
return String.fromCharCode(e.getUint8(t))
},
size: 1,
ascii: !0
},
3: {
getValue: function(e, t, r) {
return e.getUint16(t, r)
},
size: 2
},
4: {
getValue: function(e, t, r) {
return e.getUint32(t, r)
},
size: 4
},
5: {
getValue: function(e, t, r) {
return e.getUint32(t, r) / e.getUint32(t + 4, r)
},
size: 8
},
9: {
getValue: function(e, t, r) {
return e.getInt32(t, r)
},
size: 4
},
10: {
getValue: function(e, t, r) {
return e.getInt32(t, r) / e.getInt32(t + 4, r)
},
size: 8
}
};
function n(e, t, n, o, i, a) {
var c, s, u, l, f, p, d = r[o];
if (d) {
if (!((s = (c = d.size * i) > 4 ? t + e.getUint32(n + 8, a) : n + 8) + c > e.byteLength)) {
if (1 === i) return d.getValue(e, s, a);
for (u = [], l = 0; l < i; l += 1) u[l] = d.getValue(e, s + l * d.size, a);
if (d.ascii) {
for (f = "", l = 0; l < u.length && "\0" !== (p = u[l]); l += 1) f += p;
return f
}
return u
}
console.log("Invalid Exif data: Invalid data offset.")
} else console.log("Invalid Exif data: Invalid tag type.")
}
function o(e, t, r, o, i, a, c, s) {
var u, l, f, p, d, h;
if (r + 6 > e.byteLength) console.log("Invalid Exif data: Invalid directory offset.");
else {
if (!((l = r + 2 + 12 * (u = e.getUint16(r, o))) + 4 > e.byteLength)) {
for (f = 0; f < u; f += 1) p = r + 2 + 12 * f, d = e.getUint16(p, o), c && !c[d] || s && !0 === s[d] || (h = n(e, t, p, e.getUint16(p + 2, o), e.getUint32(p + 4, o), o), i[d] = h, a && (a[d] = p));
return e.getUint32(l, o)
}
console.log("Invalid Exif data: Invalid directory size.")
}
}
r[7] = r[1], e.parseExifData = function(e, r, n, i, a) {
if (!a.disableExif) {
var c, s, u = a.includeExifTags,
l = a.excludeExifTags || {
34665: {
37500: !0
}
}, f = r + 10;
if (1165519206 === e.getUint32(r + 4))
if (f + 8 > e.byteLength) console.log("Invalid Exif data: Invalid segment size.");
else if (0 === e.getUint16(r + 8)) {
switch (e.getUint16(f)) {
case 18761:
c = !0;
break;
case 19789:
c = !1;
break;
default:
return void console.log("Invalid Exif data: Invalid byte alignment marker.")
}
42 === e.getUint16(f + 2, c) ? (s = e.getUint32(f + 4, c), i.exif = new t, a.disableExifOffsets || (i.exifOffsets = new t, i.exifTiffOffset = f, i.exifLittleEndian = c), (s = o(e, f, f + s, c, i.exif, i.exifOffsets, u, l)) && !a.disableExifThumbnail && (s = o(e, f, f + s, c, i.exif, i.exifOffsets, u, l), i.exif[513] && i.exif[514] && (i.exif[513] = function(e, t, r) {
if (r && !(t + r > e.byteLength)) return new Blob([e.buffer.slice(t, t + r)], {
type: "image/jpeg"
});
console.log("Invalid Exif data: Invalid thumbnail data.")
}(e, f + i.exif[513], i.exif[514]))), Object.keys(i.exif.privateIFDs).forEach((function(r) {
! function(e, r, n, i, a, c, s) {
var u = e.exif[r];
u && (e.exif[r] = new t(r), e.exifOffsets && (e.exifOffsets[r] = new t(r)), o(n, i, i + u, a, e.exif[r], e.exifOffsets && e.exifOffsets[r], c && c[r], s && s[r]))
}(i, r, e, f, c, u, l)
}))) : console.log("Invalid Exif data: Missing TIFF marker.")
} else console.log("Invalid Exif data: Missing byte alignment offset.")
}
}, e.metaDataParsers.jpeg[65505].push(e.parseExifData), e.exifWriters = {
274: function(e, t, r) {
return new DataView(e, t.exifOffsets[274] + 8, 2).setUint16(0, r, t.exifLittleEndian), e
}
}, e.writeExifData = function(t, r, n, o) {
e.exifWriters[r.exif.map[n]](t, r, o)
}, e.ExifMap = t
}) ? n.apply(t, o) : n) || (e.exports = i)
}()
},
function(e, t, r) {
var n, o, i;
! function(a) {
"use strict";
o = [r(0), r(1)], void 0 === (i = "function" == typeof(n = function(e) {
function t() {}
function r(e, t, r, n, o) {
return "binary" === t.types[e] ? new Blob([r.buffer.slice(n, n + o)]) : "Uint16" === t.types[e] ? r.getUint16(n) : function(e, t, r) {
for (var n = "", o = t + r, i = t; i < o; i += 1) n += String.fromCharCode(e.getUint8(i));
return n
}(r, n, o)
}
function n(e, t) {
return void 0 === e ? t : e instanceof Array ? (e.push(t), e) : [e, t]
}
function o(e, t, o, i, a, c) {
for (var s, u, l, f = t + o, p = t; p < f;) 28 === e.getUint8(p) && 2 === e.getUint8(p + 1) && (l = e.getUint8(p + 2), a && !a[l] || c && c[l] || (u = e.getInt16(p + 3), s = r(l, i.iptc, e, p + 5, u), i.iptc[l] = n(i.iptc[l], s), i.iptcOffsets && (i.iptcOffsets[l] = p))), p += 1
}
function i(e, t) {
return 943868237 === e.getUint32(t) && 1028 === e.getUint16(t + 4)
}
function a(e, t) {
var r = e.getUint8(t + 7);
return r % 2 != 0 && (r += 1), 0 === r && (r = 4), r
}
t.prototype.map = {
ObjectName: 5
}, t.prototype.types = {
0: "Uint16",
200: "Uint16",
201: "Uint16",
202: "binary"
}, t.prototype.get = function(e) {
return this[e] || this[this.map[e]]
}, e.parseIptcData = function(e, r, n, c, s) {
if (!s.disableIptc)
for (var u = r + n; r + 8 < u;) {
if (i(e, r)) {
var l = a(e, r),
f = r + 8 + l;
if (f > u) {
console.log("Invalid IPTC data: Invalid segment offset.");
break
}
var p = e.getUint16(r + 6 + l);
if (r + p > u) {
console.log("Invalid IPTC data: Invalid segment size.");
break
}
return c.iptc = new t, s.disableIptcOffsets || (c.iptcOffsets = new t), void o(e, f, p, c, s.includeIptcTags, s.excludeIptcTags || {
202: !0
})
}
r += 1
}
}, e.metaDataParsers.jpeg[65517].push(e.parseIptcData), e.IptcMap = t
}) ? n.apply(t, o) : n) || (e.exports = i)
}()
},
function(e, t, r) {
function n(e, t) {
var r = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
t && (n = n.filter((function(t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), r.push.apply(r, n)
}
return r
}
function o(e, t, r) {
return t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r, e
}
r(13);
var i = r(15),
a = r(7),
c = r(35),
s = r(36),
u = r(8),
l = r(37),
f = r(3).setLogging;
e.exports = function(e) {
for (var t = 1; t < arguments.length; t++) {
var r = null != arguments[t] ? arguments[t] : {};
t % 2 ? n(Object(r), !0).forEach((function(t) {
o(e, t, r[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : n(Object(r)).forEach((function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
}))
}
return e
}({
languages: s,
OEM: u,
PSM: l,
createScheduler: i,
createWorker: a,
setLogging: f
}, c)
},
function(e, t, r) {
(function(e) {
function t(e) {
return (t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
var r = function(e) {
"use strict";
var r = Object.prototype,
n = r.hasOwnProperty,
o = "function" == typeof Symbol ? Symbol : {}, i = o.iterator || "@@iterator",
a = o.asyncIterator || "@@asyncIterator",
c = o.toStringTag || "@@toStringTag";
function s(e, t, r, n) {
var o = t && t.prototype instanceof f ? t : f,
i = Object.create(o.prototype),
a = new O(n || []);
return i._invoke = function(e, t, r) {
var n = "suspendedStart";
return function(o, i) {
if ("executing" === n) throw new Error("Generator is already running");
if ("completed" === n) {
if ("throw" === o) throw i;
return E()
}
for (r.method = o, r.arg = i;;) {
var a = r.delegate;
if (a) {
var c = w(a, r);
if (c) {
if (c === l) continue;
return c
}
}
if ("next" === r.method) r.sent = r._sent = r.arg;
else if ("throw" === r.method) {
if ("suspendedStart" === n) throw n = "completed", r.arg;
r.dispatchException(r.arg)
} else "return" === r.method && r.abrupt("return", r.arg);
n = "executing";
var s = u(e, t, r);
if ("normal" === s.type) {
if (n = r.done ? "completed" : "suspendedYield", s.arg === l) continue;
return {
value: s.arg,
done: r.done
}
}
"throw" === s.type && (n = "completed", r.method = "throw", r.arg = s.arg)
}
}
}(e, r, a), i
}
function u(e, t, r) {
try {
return {
type: "normal",
arg: e.call(t, r)
}
} catch (e) {
return {
type: "throw",
arg: e
}
}
}
e.wrap = s;
var l = {};
function f() {}
function p() {}
function d() {}
var h = {};
h[i] = function() {
return this
};
var g = Object.getPrototypeOf,
m = g && g(g(x([])));
m && m !== r && n.call(m, i) && (h = m);
var y = d.prototype = f.prototype = Object.create(h);
function b(e) {
["next", "throw", "return"].forEach((function(t) {
e[t] = function(e) {
return this._invoke(t, e)
}
}))
}
function v(e) {
var r;
this._invoke = function(o, i) {
function a() {
return new Promise((function(r, a) {
! function r(o, i, a, c) {
var s = u(e[o], e, i);
if ("throw" !== s.type) {
var l = s.arg,
f = l.value;
return f && "object" === t(f) && n.call(f, "__await") ? Promise.resolve(f.__await).then((function(e) {
r("next", e, a, c)
}), (function(e) {
r("throw", e, a, c)
})) : Promise.resolve(f).then((function(e) {
l.value = e, a(l)
}), (function(e) {
return r("throw", e, a, c)
}))
}
c(s.arg)
}(o, i, r, a)
}))
}
return r = r ? r.then(a, a) : a()
}
}
function w(e, t) {
var r = e.iterator[t.method];
if (void 0 === r) {
if (t.delegate = null, "throw" === t.method) {
if (e.iterator.
return &&(t.method = "return", t.arg = void 0, w(e, t), "throw" === t.method)) return l;
t.method = "throw", t.arg = new TypeError("The iterator does not provide a 'throw' method")
}
return l
}
var n = u(r, e.iterator, t.arg);
if ("throw" === n.type) return t.method = "throw", t.arg = n.arg, t.delegate = null, l;
var o = n.arg;
return o ? o.done ? (t[e.resultName] = o.value, t.next = e.nextLoc, "return" !== t.method && (t.method = "next", t.arg = void 0), t.delegate = null, l) : o : (t.method = "throw", t.arg = new TypeError("iterator result is not an object"), t.delegate = null, l)
}
function A(e) {
var t = {
tryLoc: e[0]
};
1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t)
}
function S(e) {
var t = e.completion || {};
t.type = "normal", delete t.arg, e.completion = t
}
function O(e) {
this.tryEntries = [{
tryLoc: "root"
}], e.forEach(A, this), this.reset(!0)
}
function x(e) {
if (e) {
var t = e[i];
if (t) return t.call(e);
if ("function" == typeof e.next) return e;
if (!isNaN(e.length)) {
var r = -1,
o = function t() {
for (; ++r < e.length;)
if (n.call(e, r)) return t.value = e[r], t.done = !1, t;
return t.value = void 0, t.done = !0, t
};
return o.next = o
}
}
return {
next: E
}
}
function E() {
return {
value: void 0,
done: !0
}
}
return p.prototype = y.constructor = d, d.constructor = p, d[c] = p.displayName = "GeneratorFunction", e.isGeneratorFunction = function(e) {
var t = "function" == typeof e && e.constructor;
return !!t && (t === p || "GeneratorFunction" === (t.displayName || t.name))
}, e.mark = function(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, d) : (e.__proto__ = d, c in e || (e[c] = "GeneratorFunction")), e.prototype = Object.create(y), e
}, e.awrap = function(e) {
return {
__await: e
}
}, b(v.prototype), v.prototype[a] = function() {
return this
}, e.AsyncIterator = v, e.async = function(t, r, n, o) {
var i = new v(s(t, r, n, o));
return e.isGeneratorFunction(r) ? i : i.next().then((function(e) {
return e.done ? e.value : i.next()
}))
}, b(y), y[c] = "Generator", y[i] = function() {
return this
}, y.toString = function() {
return "[object Generator]"
}, e.keys = function(e) {
var t = [];
for (var r in e) t.push(r);
return t.reverse(),
function r() {
for (; t.length;) {
var n = t.pop();
if (n in e) return r.value = n, r.done = !1, r
}
return r.done = !0, r
}
}, e.values = x, O.prototype = {
constructor: O,
reset: function(e) {
if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = "next", this.arg = void 0, this.tryEntries.forEach(S), !e)
for (var t in this) "t" === t.charAt(0) && n.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = void 0)
},
stop: function() {
this.done = !0;
var e = this.tryEntries[0].completion;
if ("throw" === e.type) throw e.arg;
return this.rval
},
dispatchException: function(e) {
if (this.done) throw e;
var t = this;
function r(r, n) {
return a.type = "throw", a.arg = e, t.next = r, n && (t.method = "next", t.arg = void 0), !! n
}
for (var o = this.tryEntries.length - 1; o >= 0; --o) {
var i = this.tryEntries[o],
a = i.completion;
if ("root" === i.tryLoc) return r("end");
if (i.tryLoc <= this.prev) {
var c = n.call(i, "catchLoc"),
s = n.call(i, "finallyLoc");
if (c && s) {
if (this.prev < i.catchLoc) return r(i.catchLoc, !0);
if (this.prev < i.finallyLoc) return r(i.finallyLoc)
} else if (c) {
if (this.prev < i.catchLoc) return r(i.catchLoc, !0)
} else {
if (!s) throw new Error("try statement without catch or finally");
if (this.prev < i.finallyLoc) return r(i.finallyLoc)
}
}
}
},
abrupt: function(e, t) {
for (var r = this.tryEntries.length - 1; r >= 0; --r) {
var o = this.tryEntries[r];
if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
var i = o;
break
}
}
i && ("break" === e || "continue" === e) && i.tryLoc <= t && t <= i.finallyLoc && (i = null);
var a = i ? i.completion : {};
return a.type = e, a.arg = t, i ? (this.method = "next", this.next = i.finallyLoc, l) : this.complete(a)
},
complete: function(e, t) {
if ("throw" === e.type) throw e.arg;
return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), l
},
finish: function(e) {
for (var t = this.tryEntries.length - 1; t >= 0; --t) {
var r = this.tryEntries[t];
if (r.finallyLoc === e) return this.complete(r.completion, r.afterLoc), S(r), l
}
},
catch: function(e) {
for (var t = this.tryEntries.length - 1; t >= 0; --t) {
var r = this.tryEntries[t];
if (r.tryLoc === e) {
var n = r.completion;
if ("throw" === n.type) {
var o = n.arg;
S(r)
}
return o
}
}
throw new Error("illegal catch attempt")
},
delegateYield: function(e, t, r) {
return this.delegate = {
iterator: x(e),
resultName: t,
nextLoc: r
}, "next" === this.method && (this.arg = void 0), l
}
}, e
}("object" === t(e) ? e.exports : {});
try {
regeneratorRuntime = r
} catch (e) {
Function("r", "regeneratorRuntime = r")(r)
}
}).call(this, r(14)(e))
},
function(e, t) {
e.exports = function(e) {
return e.webpackPolyfill || (e.deprecate = function() {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
enumerable: !0,
get: function() {
return e.l
}
}), Object.defineProperty(e, "id", {
enumerable: !0,
get: function() {
return e.i
}
}), e.webpackPolyfill = 1), e
}
},
function(e, t, r) {
var n = this;
function o(e) {
return function(e) {
if (Array.isArray(e)) {
for (var t = 0, r = new Array(e.length); t < e.length; t++) r[t] = e[t];
return r
}
}(e) || function(e) {
if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
}(e) || function() {
throw new TypeError("Invalid attempt to spread non-iterable instance")
}()
}
function i(e, t, r, n, o, i, a) {
try {
var c = e[i](a),
s = c.value
} catch (e) {
return void r(e)
}
c.done ? t(s) : Promise.resolve(s).then(n, o)
}
function a(e) {
return function() {
var t = this,
r = arguments;
return new Promise((function(n, o) {
var a = e.apply(t, r);
function c(e) {
i(a, n, o, c, s, "next", e)
}
function s(e) {
i(a, n, o, c, s, "throw", e)
}
c(void 0)
}))
}
}
var c = r(6),
s = r(3).log,
u = r(2),
l = 0;
e.exports = function() {
var e = u("Scheduler", l),
t = {}, r = {}, i = [];
l += 1;
var f = function() {
return Object.keys(t).length
}, p = function() {
if (0 !== i.length)
for (var e = Object.keys(t), n = 0; n < e.length; n += 1)
if (void 0 === r[e[n]]) {
i[0](t[e[n]]);
break
}
}, d = function(t, u) {
return new Promise((function(l, f) {
var d = c({
action: t,
payload: u
});
i.push(function() {
var e = a(regeneratorRuntime.mark((function e(a) {
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return i.shift(), r[a.id] = d, e.prev = 2, e.t0 = l, e.next = 6, a[t].apply(n, [].concat(o(u), [d.id]));
case 6:
e.t1 = e.sent, (0, e.t0)(e.t1), e.next = 13;
break;
case 10:
e.prev = 10, e.t2 = e.
catch (2), f(e.t2);
case 13:
return e.prev = 13, delete r[a.id], p(), e.finish(13);
case 17:
case "end":
return e.stop()
}
}), e, null, [
[2, 10, 13, 17]
])
})));
return function(t) {
return e.apply(this, arguments)
}
}()), s("[".concat(e, "]: Add ").concat(d.id, " to JobQueue")), s("[".concat(e, "]: JobQueue length=").concat(i.length)), p()
}))
};
return {
addWorker: function(r) {
return t[r.id] = r, s("[".concat(e, "]: Add ").concat(r.id)), s("[".concat(e, "]: Number of workers=").concat(f())), p(), r.id
},
addJob: function() {
var t = a(regeneratorRuntime.mark((function t(r) {
var n, o, i, a = arguments;
return regeneratorRuntime.wrap((function(t) {
for (;;) switch (t.prev = t.next) {
case 0:
if (0 !== f()) {
t.next = 2;
break
}
throw Error("[".concat(e, "]: You need to have at least one worker before adding jobs"));
case 2:
for (n = a.length, o = new Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++) o[i - 1] = a[i];
return t.abrupt("return", d(r, o));
case 4:
case "end":
return t.stop()
}
}), t)
})));
return function(e) {
return t.apply(this, arguments)
}
}(),
terminate: function() {
var e = a(regeneratorRuntime.mark((function e() {
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
Object.keys(t).forEach(function() {
var e = a(regeneratorRuntime.mark((function e(r) {
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return e.next = 2, t[r].terminate();
case 2:
case "end":
return e.stop()
}
}), e)
})));
return function(t) {
return e.apply(this, arguments)
}
}()), i = [];
case 2:
case "end":
return e.stop()
}
}), e)
})));
return function() {
return e.apply(this, arguments)
}
}(),
getQueueLen: function() {
return i.length
},
getNumWorkers: f
}
}
},
function(e, t, r) {
function n(e, t) {
var r = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
t && (n = n.filter((function(t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), r.push.apply(r, n)
}
return r
}
function o(e, t, r) {
return t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r, e
}
var i = "browser" === r(17)("type") ? r(5) : function(e) {
return e
};
e.exports = function(e) {
var t = function(e) {
for (var t = 1; t < arguments.length; t++) {
var r = null != arguments[t] ? arguments[t] : {};
t % 2 ? n(Object(r), !0).forEach((function(t) {
o(e, t, r[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : n(Object(r)).forEach((function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
}))
}
return e
}({}, e);
return ["corePath", "workerPath", "langPath"].forEach((function(r) {
void 0 !== e[r] && (t[r] = i(t[r]))
})), t
}
},
function(e, t, r) {
(function(t) {
function n(e) {
return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
var o = r(18);
e.exports = function(e) {
var r = {};
return "undefined" != typeof WorkerGlobalScope ? r.type = "webworker" : o() ? r.type = "electron" : "object" === ("undefined" == typeof window ? "undefined" : n(window)) ? r.type = "browser" : "object" === (void 0 === t ? "undefined" : n(t)) && (r.type = "node"), void 0 === e ? r : r[e]
}
}).call(this, r(4))
},
function(e, t, r) {
(function(t) {
function r(e) {
return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
e.exports = function() {
return "undefined" != typeof window && "object" === r(window.process) && "renderer" === window.process.type || (!(void 0 === t || "object" !== r(t.versions) || !t.versions.electron) || "object" === ("undefined" == typeof navigator ? "undefined" : r(navigator)) && "string" == typeof navigator.userAgent && navigator.userAgent.indexOf("Electron") >= 0)
}
}).call(this, r(4))
},
function(e, t) {
function r(e, t) {
var r = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
t && (n = n.filter((function(t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), r.push.apply(r, n)
}
return r
}
function n(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? r(Object(n), !0).forEach((function(t) {
o(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : r(Object(n)).forEach((function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function o(e, t, r) {
return t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r, e
}
e.exports = function(e) {
var t = [],
r = [],
o = [],
i = [],
a = [];
return e.blocks.forEach((function(c) {
c.paragraphs.forEach((function(t) {
t.lines.forEach((function(r) {
r.words.forEach((function(o) {
o.symbols.forEach((function(i) {
a.push(n({}, i, {
page: e,
block: c,
paragraph: t,
line: r,
word: o
}))
})), i.push(n({}, o, {
page: e,
block: c,
paragraph: t,
line: r
}))
})), o.push(n({}, r, {
page: e,
block: c,
paragraph: t
}))
})), r.push(n({}, t, {
page: e,
block: c
}))
})), t.push(n({}, c, {
page: e
}))
})), n({}, e, {
blocks: t,
paragraphs: r,
lines: o,
words: i,
symbols: a
})
}
},
function(e, t, r) {
var n = r(8);
e.exports = {
defaultOEM: n.DEFAULT
}
},
function(e, t, r) {
var n = r(22),
o = r(25),
i = r(26),
a = r(27),
c = r(28),
s = r(29);
e.exports = {
defaultOptions: n,
spawnWorker: o,
terminateWorker: i,
onMessage: a,
send: c,
loadImage: s
}
},
function(e, t, r) {
(function(t) {
function n(e) {
return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
function o(e, t) {
var r = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
t && (n = n.filter((function(t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), r.push.apply(r, n)
}
return r
}
function i(e, t, r) {
return t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r, e
}
var a = r(5),
c = r(23),
s = c.version,
u = c.dependencies,
l = r(24);
e.exports = function(e) {
for (var t = 1; t < arguments.length; t++) {
var r = null != arguments[t] ? arguments[t] : {};
t % 2 ? o(Object(r), !0).forEach((function(t) {
i(e, t, r[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : o(Object(r)).forEach((function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
}))
}
return e
}({}, l, {
workerPath: void 0 !== t && "development" === t.env.TESS_ENV ? a("/dist/worker.dev.js?nocache=".concat(Math.random().toString(36).slice(3))) : "https://unpkg.com/tesseract.js@v".concat(s, "/dist/worker.min.js"),
corePath: "https://unpkg.com/tesseract.js-core@v".concat(u["tesseract.js-core"].substring(1), "/tesseract-core.").concat("object" === ("undefined" == typeof WebAssembly ? "undefined" : n(WebAssembly)) ? "wasm" : "asm", ".js")
})
}).call(this, r(4))
},
function(e) {
e.exports = JSON.parse('{"name":"tesseract.js","version":"2.1.5","description":"Pure Javascript Multilingual OCR","main":"src/index.js","types":"src/index.d.ts","unpkg":"dist/tesseract.min.js","jsdelivr":"dist/tesseract.min.js","scripts":{"start":"node scripts/server.js","build":"rimraf dist && webpack --config scripts/webpack.config.prod.js","profile:tesseract":"webpack-bundle-analyzer dist/tesseract-stats.json","profile:worker":"webpack-bundle-analyzer dist/worker-stats.json","prepublishOnly":"npm run build","wait":"rimraf dist && wait-on http://localhost:3000/dist/tesseract.dev.js","test":"npm-run-all -p -r start test:all","test:all":"npm-run-all wait test:browser:* test:node:all","test:node":"nyc mocha --exit --bail --require ./scripts/test-helper.js","test:node:all":"npm run test:node -- ./tests/*.test.js","test:browser-tpl":"mocha-headless-chrome -a incognito -a no-sandbox -a disable-setuid-sandbox -a disable-logging -t 300000","test:browser:detect":"npm run test:browser-tpl -- -f ./tests/detect.test.html","test:browser:recognize":"npm run test:browser-tpl -- -f ./tests/recognize.test.html","test:browser:scheduler":"npm run test:browser-tpl -- -f ./tests/scheduler.test.html","test:browser:FS":"npm run test:browser-tpl -- -f ./tests/FS.test.html","lint":"eslint src","lint:fix":"eslint --fix src","postinstall":"opencollective-postinstall || true"},"browser":{"./src/worker/node/index.js":"./src/worker/browser/index.js"},"author":"","contributors":["jeromewu"],"license":"Apache-2.0","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","acorn":"^6.4.0","babel-loader":"^8.1.0","cors":"^2.8.5","eslint":"^7.2.0","eslint-config-airbnb-base":"^14.2.0","eslint-plugin-import":"^2.22.1","expect.js":"^0.3.1","express":"^4.17.1","mocha":"^8.1.3","mocha-headless-chrome":"^2.0.3","npm-run-all":"^4.1.5","nyc":"^15.1.0","rimraf":"^2.7.1","wait-on":"^3.3.0","webpack":"^4.44.2","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.12","webpack-dev-middleware":"^3.7.2"},"dependencies":{"blueimp-load-image":"^3.0.0","bmp-js":"^0.1.0","file-type":"^12.4.1","idb-keyval":"^3.2.0","is-electron":"^2.2.0","is-url":"^1.2.4","jpeg-autorotate":"^7.1.1","node-fetch":"^2.6.0","opencollective-postinstall":"^2.0.2","regenerator-runtime":"^0.13.3","resolve-url":"^0.2.1","tesseract.js-core":"^2.2.0","zlibjs":"^0.3.1"},"repository":{"type":"git","url":"https://github.com/naptha/tesseract.js.git"},"bugs":{"url":"https://github.com/naptha/tesseract.js/issues"},"homepage":"https://github.com/naptha/tesseract.js","collective":{"type":"opencollective","url":"https://opencollective.com/tesseractjs"}}')
},
function(e, t) {
e.exports = {
langPath: "https://raw.github.cnpmjs.org/naptha/tessdata/gh-pages/4.0.0",
workerBlobURL: !0,
logger: function() {}
}
},
function(e, t) {
e.exports = function(e) {
var t, r = e.workerPath,
n = e.workerBlobURL;
if (Blob && URL && n) {
var o = new Blob(['importScripts("'.concat(r, '");')], {
type: "application/javascript"
});
t = new Worker(URL.createObjectURL(o))
} else t = new Worker(r);
return t
}
},
function(e, t) {
e.exports = function(e) {
e.terminate()
}
},
function(e, t) {
e.exports = function(e, t) {
e.onmessage = function(e) {
var r = e.data;
t(r)
}
}
},
function(e, t) {
function r(e, t, r, n, o, i, a) {
try {
var c = e[i](a),
s = c.value
} catch (e) {
return void r(e)
}
c.done ? t(s) : Promise.resolve(s).then(n, o)
}
e.exports = function() {
var e, t = (e = regeneratorRuntime.mark((function e(t, r) {
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
t.postMessage(r);
case 1:
case "end":
return e.stop()
}
}), e)
})), function() {
var t = this,
n = arguments;
return new Promise((function(o, i) {
var a = e.apply(t, n);
function c(e) {
r(a, o, i, c, s, "next", e)
}
function s(e) {
r(a, o, i, c, s, "throw", e)
}
c(void 0)
}))
});
return function(e, r) {
return t.apply(this, arguments)
}
}()
},
function(e, t, r) {
function n(e, t, r, n, o, i, a) {
try {
var c = e[i](a),
s = c.value
} catch (e) {
return void r(e)
}
c.done ? t(s) : Promise.resolve(s).then(n, o)
}
function o(e) {
return function() {
var t = this,
r = arguments;
return new Promise((function(o, i) {
var a = e.apply(t, r);
function c(e) {
n(a, o, i, c, s, "next", e)
}
function s(e) {
n(a, o, i, c, s, "throw", e)
}
c(void 0)
}))
}
}
var i = r(5),
a = r(30),
c = function(e) {
return new Promise((function(t, r) {
var n = new FileReader;
n.onload = function() {
t(n.result)
}, n.onerror = function(e) {
var t = e.target.error.code;
r(Error("File could not be read! Code=".concat(t)))
}, n.readAsArrayBuffer(e)
}))
}, s = function(e) {
return new Promise((function(t) {
a(e, (function(e) {
return e.toBlob(t)
}), {
orientation: !0,
canvas: !0
})
}))
}, u = function() {
var e = o(regeneratorRuntime.mark((function e(t) {
var r, n, a, l;
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
if (r = t, void 0 !== t) {
e.next = 3;
break
}
return e.abrupt("return", "undefined");
case 3:
if ("string" != typeof t) {
e.next = 24;
break
}
if (!t.endsWith(".pbm")) {
e.next = 13;
break
}
return e.next = 7, fetch(i(t));
case 7:
return n = e.sent, e.next = 10, n.arrayBuffer();
case 10:
r = e.sent, e.next = 22;
break;
case 13:
return a = t, /data:image\/([a-zA-Z]*);base64,([^"]*)/.test(t) || (a = i(t)), e.t0 = c, e.next = 18, s(a);
case 18:
return e.t1 = e.sent, e.next = 21, (0, e.t0)(e.t1);
case 21:
r = e.sent;
case 22:
e.next = 47;
break;
case 24:
if (!(t instanceof HTMLElement)) {
e.next = 38;
break
}
if ("IMG" !== t.tagName) {
e.next = 29;
break
}
return e.next = 28, u(t.src);
case 28:
r = e.sent;
case 29:
if ("VIDEO" !== t.tagName) {
e.next = 33;
break
}
return e.next = 32, u(t.poster);
case 32:
r = e.sent;
case 33:
if ("CANVAS" !== t.tagName) {
e.next = 36;
break
}
return e.next = 36, new Promise((function(e) {
t.toBlob(function() {
var t = o(regeneratorRuntime.mark((function t(n) {
return regeneratorRuntime.wrap((function(t) {
for (;;) switch (t.prev = t.next) {
case 0:
return t.next = 2, c(n);
case 2:
r = t.sent, e();
case 4:
case "end":
return t.stop()
}
}), t)
})));
return function(e) {
return t.apply(this, arguments)
}
}())
}));
case 36:
e.next = 47;
break;
case 38:
if (!(t instanceof File || t instanceof Blob)) {
e.next = 47;
break
}
if (l = t, t.name.endsWith(".pbm")) {
e.next = 44;
break
}
return e.next = 43, s(l);
case 43:
l = e.sent;
case 44:
return e.next = 46, c(l);
case 46:
r = e.sent;
case 47:
return e.abrupt("return", new Uint8Array(r));
case 48:
case "end":
return e.stop()
}
}), e)
})));
return function(t) {
return e.apply(this, arguments)
}
}();
e.exports = u
},
function(e, t, r) {
e.exports = r(0), r(9), r(1), r(31), r(10), r(32), r(11), r(33), r(34)
},
function(e, t, r) {
var n, o, i;
! function(a) {
"use strict";
o = [r(0)], void 0 === (i = "function" == typeof(n = function(e) {
"undefined" != typeof fetch && "undefined" != typeof Request ? e.fetchBlob = function(e, t, r) {
fetch(new Request(e, r)).then((function(e) {
return e.blob()
})).then(t).
catch ((function(e) {
t(null, e)
}))
} : "undefined" != typeof XMLHttpRequest && "undefined" != typeof ProgressEvent && (e.fetchBlob = function(e, t, r) {
r = r || {};
var n = new XMLHttpRequest;
n.open(r.method || "GET", e), r.headers && Object.keys(r.headers).forEach((function(e) {
n.setRequestHeader(e, r.headers[e])
})), n.withCredentials = "include" === r.credentials, n.responseType = "blob", n.onload = function() {
t(n.response)
}, n.onerror = n.onabort = n.ontimeout = function(e) {
t(null, e)
}, n.send(r.body)
})
}) ? n.apply(t, o) : n) || (e.exports = i)
}()
},
function(e, t, r) {
var n, o, i;
function a(e) {
return (a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}! function(c) {
"use strict";
o = [r(0), r(10)], void 0 === (i = "function" == typeof(n = function(e) {
var t = e.ExifMap.prototype;
t.tags = {
256: "ImageWidth",
257: "ImageHeight",
258: "BitsPerSample",
259: "Compression",
262: "PhotometricInterpretation",
274: "Orientation",
277: "SamplesPerPixel",
284: "PlanarConfiguration",
530: "YCbCrSubSampling",
531: "YCbCrPositioning",
282: "XResolution",
283: "YResolution",
296: "ResolutionUnit",
273: "StripOffsets",
278: "RowsPerStrip",
279: "StripByteCounts",
513: "JPEGInterchangeFormat",
514: "JPEGInterchangeFormatLength",
301: "TransferFunction",
318: "WhitePoint",
319: "PrimaryChromaticities",
529: "YCbCrCoefficients",
532: "ReferenceBlackWhite",
306: "DateTime",
270: "ImageDescription",
271: "Make",
272: "Model",
305: "Software",
315: "Artist",
33432: "Copyright",
34665: {
36864: "ExifVersion",
40960: "FlashpixVersion",
40961: "ColorSpace",
40962: "PixelXDimension",
40963: "PixelYDimension",
42240: "Gamma",
37121: "ComponentsConfiguration",
37122: "CompressedBitsPerPixel",
37500: "MakerNote",
37510: "UserComment",
40964: "RelatedSoundFile",
36867: "DateTimeOriginal",
36868: "DateTimeDigitized",
37520: "SubSecTime",
37521: "SubSecTimeOriginal",
37522: "SubSecTimeDigitized",
33434: "ExposureTime",
33437: "FNumber",
34850: "ExposureProgram",
34852: "SpectralSensitivity",
34855: "PhotographicSensitivity",
34856: "OECF",
34864: "SensitivityType",
34865: "StandardOutputSensitivity",
34866: "RecommendedExposureIndex",
34867: "ISOSpeed",
34868: "ISOSpeedLatitudeyyy",
34869: "ISOSpeedLatitudezzz",
37377: "ShutterSpeedValue",
37378: "ApertureValue",
37379: "BrightnessValue",
37380: "ExposureBias",
37381: "MaxApertureValue",
37382: "SubjectDistance",
37383: "MeteringMode",
37384: "LightSource",
37385: "Flash",
37396: "SubjectArea",
37386: "FocalLength",
41483: "FlashEnergy",
41484: "SpatialFrequencyResponse",
41486: "FocalPlaneXResolution",
41487: "FocalPlaneYResolution",
41488: "FocalPlaneResolutionUnit",
41492: "SubjectLocation",
41493: "ExposureIndex",
41495: "SensingMethod",
41728: "FileSource",
41729: "SceneType",
41730: "CFAPattern",
41985: "CustomRendered",
41986: "ExposureMode",
41987: "WhiteBalance",
41988: "DigitalZoomRatio",
41989: "FocalLengthIn35mmFilm",
41990: "SceneCaptureType",
41991: "GainControl",
41992: "Contrast",
41993: "Saturation",
41994: "Sharpness",
41995: "DeviceSettingDescription",
41996: "SubjectDistanceRange",
42016: "ImageUniqueID",
42032: "CameraOwnerName",
42033: "BodySerialNumber",
42034: "LensSpecification",
42035: "LensMake",
42036: "LensModel",
42037: "LensSerialNumber"
},
34853: {
0: "GPSVersionID",
1: "GPSLatitudeRef",
2: "GPSLatitude",
3: "GPSLongitudeRef",
4: "GPSLongitude",
5: "GPSAltitudeRef",
6: "GPSAltitude",
7: "GPSTimeStamp",
8: "GPSSatellites",
9: "GPSStatus",
10: "GPSMeasureMode",
11: "GPSDOP",
12: "GPSSpeedRef",
13: "GPSSpeed",
14: "GPSTrackRef",
15: "GPSTrack",
16: "GPSImgDirectionRef",
17: "GPSImgDirection",
18: "GPSMapDatum",
19: "GPSDestLatitudeRef",
20: "GPSDestLatitude",
21: "GPSDestLongitudeRef",
22: "GPSDestLongitude",
23: "GPSDestBearingRef",
24: "GPSDestBearing",
25: "GPSDestDistanceRef",
26: "GPSDestDistance",
27: "GPSProcessingMethod",
28: "GPSAreaInformation",
29: "GPSDateStamp",
30: "GPSDifferential",
31: "GPSHPositioningError"
},
40965: {
1: "InteroperabilityIndex"
}
}, t.stringValues = {
ExposureProgram: {
0: "Undefined",
1: "Manual",
2: "Normal program",
3: "Aperture priority",
4: "Shutter priority",
5: "Creative program",
6: "Action program",
7: "Portrait mode",
8: "Landscape mode"
},
MeteringMode: {
0: "Unknown",
1: "Average",
2: "CenterWeightedAverage",
3: "Spot",
4: "MultiSpot",
5: "Pattern",
6: "Partial",
255: "Other"
},
LightSource: {
0: "Unknown",
1: "Daylight",
2: "Fluorescent",
3: "Tungsten (incandescent light)",
4: "Flash",
9: "Fine weather",
10: "Cloudy weather",
11: "Shade",
12: "Daylight fluorescent (D 5700 - 7100K)",
13: "Day white fluorescent (N 4600 - 5400K)",
14: "Cool white fluorescent (W 3900 - 4500K)",
15: "White fluorescent (WW 3200 - 3700K)",
17: "Standard light A",
18: "Standard light B",
19: "Standard light C",
20: "D55",
21: "D65",
22: "D75",
23: "D50",
24: "ISO studio tungsten",
255: "Other"
},
Flash: {
0: "Flash did not fire",
1: "Flash fired",
5: "Strobe return light not detected",
7: "Strobe return light detected",
9: "Flash fired, compulsory flash mode",
13: "Flash fired, compulsory flash mode, return light not detected",
15: "Flash fired, compulsory flash mode, return light detected",
16: "Flash did not fire, compulsory flash mode",
24: "Flash did not fire, auto mode",
25: "Flash fired, auto mode",
29: "Flash fired, auto mode, return light not detected",
31: "Flash fired, auto mode, return light detected",
32: "No flash function",
65: "Flash fired, red-eye reduction mode",
69: "Flash fired, red-eye reduction mode, return light not detected",
71: "Flash fired, red-eye reduction mode, return light detected",
73: "Flash fired, compulsory flash mode, red-eye reduction mode",
77: "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",
79: "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",
89: "Flash fired, auto mode, red-eye reduction mode",
93: "Flash fired, auto mode, return light not detected, red-eye reduction mode",
95: "Flash fired, auto mode, return light detected, red-eye reduction mode"
},
SensingMethod: {
1: "Undefined",
2: "One-chip color area sensor",
3: "Two-chip color area sensor",
4: "Three-chip color area sensor",
5: "Color sequential area sensor",
7: "Trilinear sensor",
8: "Color sequential linear sensor"
},
SceneCaptureType: {
0: "Standard",
1: "Landscape",
2: "Portrait",
3: "Night scene"
},
SceneType: {
1: "Directly photographed"
},
CustomRendered: {
0: "Normal process",
1: "Custom process"
},
WhiteBalance: {
0: "Auto white balance",
1: "Manual white balance"
},
GainControl: {
0: "None",
1: "Low gain up",
2: "High gain up",
3: "Low gain down",
4: "High gain down"
},
Contrast: {
0: "Normal",
1: "Soft",
2: "Hard"
},
Saturation: {
0: "Normal",
1: "Low saturation",
2: "High saturation"
},
Sharpness: {
0: "Normal",
1: "Soft",
2: "Hard"
},
SubjectDistanceRange: {
0: "Unknown",
1: "Macro",
2: "Close view",
3: "Distant view"
},
FileSource: {
3: "DSC"
},
ComponentsConfiguration: {
0: "",
1: "Y",
2: "Cb",
3: "Cr",
4: "R",
5: "G",
6: "B"
},
Orientation: {
1: "top-left",
2: "top-right",
3: "bottom-right",
4: "bottom-left",
5: "left-top",
6: "right-top",
7: "right-bottom",
8: "left-bottom"
}
}, t.getText = function(e) {
var t = this.get(e);
switch (e) {
case "LightSource":
case "Flash":
case "MeteringMode":
case "ExposureProgram":
case "SensingMethod":
case "SceneCaptureType":
case "SceneType":
case "CustomRendered":
case "WhiteBalance":
case "GainControl":
case "Contrast":
case "Saturation":
case "Sharpness":
case "SubjectDistanceRange":
case "FileSource":
case "Orientation":
return this.stringValues[e][t];
case "ExifVersion":
case "FlashpixVersion":
if (!t) return;
return String.fromCharCode(t[0], t[1], t[2], t[3]);
case "ComponentsConfiguration":
if (!t) return;
return this.stringValues[e][t[0]] + this.stringValues[e][t[1]] + this.stringValues[e][t[2]] + this.stringValues[e][t[3]];
case "GPSVersionID":
if (!t) return;
return t[0] + "." + t[1] + "." + t[2] + "." + t[3]
}
return String(t)
}, t.getAll = function() {
var e, t, r, n = {};
for (e in this) Object.prototype.hasOwnProperty.call(this, e) && ((t = this[e]) && t.getAll ? n[this.privateIFDs[e].name] = t.getAll() : (r = this.tags[e]) && (n[r] = this.getText(r)));
return n
}, t.getName = function(e) {
var t = this.tags[e];
return "object" === a(t) ? this.privateIFDs[e].name : t
},
function() {
var e, r, n, o = t.tags;
for (e in o)
if (Object.prototype.hasOwnProperty.call(o, e))
if (r = t.privateIFDs[e])
for (e in n = o[e]) Object.prototype.hasOwnProperty.call(n, e) && (r.map[n[e]] = Number(e));
else t.map[o[e]] = Number(e)
}()
}) ? n.apply(t, o) : n) || (e.exports = i)
}()
},
function(e, t, r) {
var n, o, i;
! function(a) {
"use strict";
o = [r(0), r(11)], void 0 === (i = "function" == typeof(n = function(e) {
var t = e.IptcMap.prototype;
t.tags = {
0: "ApplicationRecordVersion",
3: "ObjectTypeReference",
4: "ObjectAttributeReference",
5: "ObjectName",
7: "EditStatus",
8: "EditorialUpdate",
10: "Urgency",
12: "SubjectReference",
15: "Category",
20: "SupplementalCategories",
22: "FixtureIdentifier",
25: "Keywords",
26: "ContentLocationCode",
27: "ContentLocationName",
30: "ReleaseDate",
35: "ReleaseTime",
37: "ExpirationDate",
38: "ExpirationTime",
40: "SpecialInstructions",
42: "ActionAdvised",
45: "ReferenceService",
47: "ReferenceDate",
50: "ReferenceNumber",
55: "DateCreated",
60: "TimeCreated",
62: "DigitalCreationDate",
63: "DigitalCreationTime",
65: "OriginatingProgram",
70: "ProgramVersion",
75: "ObjectCycle",
80: "Byline",
85: "BylineTitle",
90: "City",
92: "Sublocation",
95: "State",
100: "CountryCode",
101: "Country",
103: "OriginalTransmissionReference",
105: "Headline",
110: "Credit",
115: "Source",
116: "CopyrightNotice",
118: "Contact",
120: "Caption",
121: "LocalCaption",
122: "Writer",
125: "RasterizedCaption",
130: "ImageType",
131: "ImageOrientation",
135: "LanguageIdentifier",
150: "AudioType",
151: "AudioSamplingRate",
152: "AudioSamplingResolution",
153: "AudioDuration",
154: "AudioOutcue",
184: "JobID",
185: "MasterDocumentID",
186: "ShortDocumentID",
187: "UniqueDocumentID",
188: "OwnerID",
200: "ObjectPreviewFileFormat",
201: "ObjectPreviewFileVersion",
202: "ObjectPreviewData",
221: "Prefs",
225: "ClassifyState",
228: "SimilarityIndex",
230: "DocumentNotes",
231: "DocumentHistory",
232: "ExifCameraInfo",
255: "CatalogSets"
}, t.stringValues = {
10: {
0: "0 (reserved)",
1: "1 (most urgent)",
2: "2",
3: "3",
4: "4",
5: "5 (normal urgency)",
6: "6",
7: "7",
8: "8 (least urgent)",
9: "9 (user-defined priority)"
},
75: {
a: "Morning",
b: "Both Morning and Evening",
p: "Evening"
},
131: {
L: "Landscape",
P: "Portrait",
S: "Square"
}
}, t.getText = function(e) {
var t = this.get(e),
r = this.map[e],
n = this.stringValues[r];
return n ? n[t] : String(t)
}, t.getAll = function() {
var e, t, r = {};
for (e in this) Object.prototype.hasOwnProperty.call(this, e) && (t = this.tags[e]) && (r[t] = this.getText(t));
return r
}, t.getName = function(e) {
return this.tags[e]
},
function() {
var e, r = t.tags,
n = t.map || {};
for (e in r) Object.prototype.hasOwnProperty.call(r, e) && (n[r[e]] = Number(e))
}()
}) ? n.apply(t, o) : n) || (e.exports = i)
}()
},
function(e, t, r) {
var n, o, i;
! function(a) {
"use strict";
o = [r(0), r(9), r(1)], void 0 === (i = "function" == typeof(n = function(e) {
var t = e.hasCanvasOption,
r = e.hasMetaOption,
n = e.transformCoordinates,
o = e.getTransformedOptions;
i = document.createElement("img"), i.onload = function() {
e.orientation = 1 === i.width && 2 === i.height
}, i.src = "data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==", e.hasCanvasOption = function(r) {
return !0 == !! r.orientation && !e.orientation || r.orientation > 1 && r.orientation < 9 || t.call(e, r)
}, e.hasMetaOption = function(t) {
return t && !0 === t.orientation && !e.orientation || r.call(e, t)
}, e.transformCoordinates = function(t, r) {
n.call(e, t, r);
var o = t.getContext("2d"),
i = t.width,
a = t.height,
c = t.style.width,
s = t.style.height,
u = r.orientation;
if (u > 1 && u < 9) switch (u > 4 && (t.width = a, t.height = i, t.style.width = s, t.style.height = c), u) {
case 2:
o.translate(i, 0), o.scale(-1, 1);
break;
case 3:
o.translate(i, a), o.rotate(Math.PI);
break;
case 4:
o.translate(0, a), o.scale(1, -1);
break;
case 5:
o.rotate(.5 * Math.PI), o.scale(1, -1);
break;
case 6:
o.rotate(.5 * Math.PI), o.translate(0, -a);
break;
case 7:
o.rotate(.5 * Math.PI), o.translate(i, -a), o.scale(-1, 1);
break;
case 8:
o.rotate(-.5 * Math.PI), o.translate(-i, 0)
}
}, e.getTransformedOptions = function(t, r, n) {
var i, a, c = o.call(e, t, r),
s = c.orientation;
if (!0 === s) {
if (e.orientation) return c;
s = n && n.exif && n.exif.get("Orientation")
}
if (!(s > 1 && s < 9)) return c;
for (a in i = {}, c) Object.prototype.hasOwnProperty.call(c, a) && (i[a] = c[a]);
switch (i.orientation = s, s) {
case 2:
i.left = c.right, i.right = c.left;
break;
case 3:
i.left = c.right, i.top = c.bottom, i.right = c.left, i.bottom = c.top;
break;
case 4:
i.top = c.bottom, i.bottom = c.top;
break;
case 5:
i.left = c.top, i.top = c.left, i.right = c.bottom, i.bottom = c.right;
break;
case 6:
i.left = c.top, i.top = c.right, i.right = c.bottom, i.bottom = c.left;
break;
case 7:
i.left = c.bottom, i.top = c.right, i.right = c.top, i.bottom = c.left;
break;
case 8:
i.left = c.bottom, i.top = c.left, i.right = c.top, i.bottom = c.right
}
return i.orientation > 4 && (i.maxWidth = c.maxHeight, i.maxHeight = c.maxWidth, i.minWidth = c.minHeight, i.minHeight = c.minWidth, i.sourceWidth = c.sourceHeight, i.sourceHeight = c.sourceWidth), i
};
var i
}) ? n.apply(t, o) : n) || (e.exports = i)
}()
},
function(e, t, r) {
function n(e, t, r, n, o, i, a) {
try {
var c = e[i](a),
s = c.value
} catch (e) {
return void r(e)
}
c.done ? t(s) : Promise.resolve(s).then(n, o)
}
function o(e) {
return function() {
var t = this,
r = arguments;
return new Promise((function(o, i) {
var a = e.apply(t, r);
function c(e) {
n(a, o, i, c, s, "next", e)
}
function s(e) {
n(a, o, i, c, s, "throw", e)
}
c(void 0)
}))
}
}
var i = r(7),
a = function() {
var e = o(regeneratorRuntime.mark((function e(t, r, n) {
var a;
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return a = i(n), e.next = 3, a.load();
case 3:
return e.next = 5, a.loadLanguage(r);
case 5:
return e.next = 7, a.initialize(r);
case 7:
return e.abrupt("return", a.recognize(t).
finally(o(regeneratorRuntime.mark((function e() {
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return e.next = 2, a.terminate();
case 2:
case "end":
return e.stop()
}
}), e)
})))));
case 8:
case "end":
return e.stop()
}
}), e)
})));
return function(t, r, n) {
return e.apply(this, arguments)
}
}(),
c = function() {
var e = o(regeneratorRuntime.mark((function e(t, r) {
var n;
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return n = i(r), e.next = 3, n.load();
case 3:
return e.next = 5, n.loadLanguage("osd");
case 5:
return e.next = 7, n.initialize("osd");
case 7:
return e.abrupt("return", n.detect(t).
finally(o(regeneratorRuntime.mark((function e() {
return regeneratorRuntime.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
return e.next = 2, n.terminate();
case 2:
case "end":
return e.stop()
}
}), e)
})))));
case 8:
case "end":
return e.stop()
}
}), e)
})));
return function(t, r) {
return e.apply(this, arguments)
}
}();
e.exports = {
recognize: a,
detect: c
}
},
function(e, t) {
e.exports = {
AFR: "afr",
AMH: "amh",
ARA: "ara",
ASM: "asm",
AZE: "aze",
AZE_CYRL: "aze_cyrl",
BEL: "bel",
BEN: "ben",
BOD: "bod",
BOS: "bos",
BUL: "bul",
CAT: "cat",
CEB: "ceb",
CES: "ces",
CHI_SIM: "chi_sim",
CHI_TRA: "chi_tra",
CHR: "chr",
CYM: "cym",
DAN: "dan",
DEU: "deu",
DZO: "dzo",
ELL: "ell",
ENG: "eng",
ENM: "enm",
EPO: "epo",
EST: "est",
EUS: "eus",
FAS: "fas",
FIN: "fin",
FRA: "fra",
FRK: "frk",
FRM: "frm",
GLE: "gle",
GLG: "glg",
GRC: "grc",
GUJ: "guj",
HAT: "hat",
HEB: "heb",
HIN: "hin",
HRV: "hrv",
HUN: "hun",
IKU: "iku",
IND: "ind",
ISL: "isl",
ITA: "ita",
ITA_OLD: "ita_old",
JAV: "jav",
JPN: "jpn",
KAN: "kan",
KAT: "kat",
KAT_OLD: "kat_old",
KAZ: "kaz",
KHM: "khm",
KIR: "kir",
KOR: "kor",
KUR: "kur",
LAO: "lao",
LAT: "lat",
LAV: "lav",
LIT: "lit",
MAL: "mal",
MAR: "mar",
MKD: "mkd",
MLT: "mlt",
MSA: "msa",
MYA: "mya",
NEP: "nep",
NLD: "nld",
NOR: "nor",
ORI: "ori",
PAN: "pan",
POL: "pol",
POR: "por",
PUS: "pus",
RON: "ron",
RUS: "rus",
SAN: "san",
SIN: "sin",
SLK: "slk",
SLV: "slv",
SPA: "spa",
SPA_OLD: "spa_old",
SQI: "sqi",
SRP: "srp",
SRP_LATN: "srp_latn",
SWA: "swa",
SWE: "swe",
SYR: "syr",
TAM: "tam",
TEL: "tel",
TGK: "tgk",
TGL: "tgl",
THA: "tha",
TIR: "tir",
TUR: "tur",
UIG: "uig",
UKR: "ukr",
URD: "urd",
UZB: "uzb",
UZB_CYRL: "uzb_cyrl",
VIE: "vie",
YID: "yid"
}
},
function(e, t) {
e.exports = {
OSD_ONLY: "0",
AUTO_OSD: "1",
AUTO_ONLY: "2",
AUTO: "3",
SINGLE_COLUMN: "4",
SINGLE_BLOCK_VERT_TEXT: "5",
SINGLE_BLOCK: "6",
SINGLE_LINE: "7",
SINGLE_WORD: "8",
CIRCLE_WORD: "9",
SINGLE_CHAR: "10",
SPARSE_TEXT: "11",
SPARSE_TEXT_OSD: "12"
}
}
])
}));
//# sourceMappingURL=tesseract.min.js.map