@thegrizzlylabs/web-geniusscan-sdk
Version:
Add a custom document scanner to your web apps by using and customizing our proven imaging technology. The Document Scanner SDK is the same software that we use at the core of Genius Scan: it's tried and trusted every day by millions of people on iOS and
1,051 lines • 3.94 MB
JavaScript
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("@keyframes gssdk-keyframes-rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#gssdk-overlay-container{all:initial;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}#gssdk-overlay-container span,#gssdk-overlay-container a,#gssdk-overlay-container div,#gssdk-overlay-container button{all:unset}#gssdk-overlay-container .rotating{animation:gssdk-keyframes-rotating 2s linear infinite}:root{--gssdk-unit-100vh: 100vh}@supports (height: 100dvh){:root{--gsddk-unit-100vh: 100dvh}}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
var oA, N, xI, z, mA, PI, JA, bI, eA, LA, cA, lI, DA = {}, VI = [], Kg = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, yA = Array.isArray;
function m(I, A) {
for (var g in A) I[g] = A[g];
return I;
}
function nA(I) {
I && I.parentNode && I.parentNode.removeChild(I);
}
function V(I, A, g) {
var B, Q, C, E = {};
for (C in A) C == "key" ? B = A[C] : C == "ref" ? Q = A[C] : E[C] = A[C];
if (arguments.length > 2 && (E.children = arguments.length > 3 ? oA.call(arguments, 2) : g), typeof I == "function" && I.defaultProps != null) for (C in I.defaultProps) E[C] === void 0 && (E[C] = I.defaultProps[C]);
return QA(I, E, B, Q, null);
}
function QA(I, A, g, B, Q) {
var C = { type: I, props: A, key: g, ref: B, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: Q ?? ++xI, __i: -1, __u: 0 };
return Q == null && N.vnode != null && N.vnode(C), C;
}
function dg() {
return { current: null };
}
function P(I) {
return I.children;
}
function T(I, A) {
this.props = I, this.context = A;
}
function $(I, A) {
if (A == null) return I.__ ? $(I.__, I.__i + 1) : null;
for (var g; A < I.__k.length; A++) if ((g = I.__k[A]) != null && g.__e != null) return g.__e;
return typeof I.type == "function" ? $(I) : null;
}
function WI(I) {
var A, g;
if ((I = I.__) != null && I.__c != null) {
for (I.__e = I.__c.base = null, A = 0; A < I.__k.length; A++) if ((g = I.__k[A]) != null && g.__e != null) {
I.__e = I.__c.base = g.__e;
break;
}
return WI(I);
}
}
function qA(I) {
(!I.__d && (I.__d = !0) && z.push(I) && !aA.__r++ || mA !== N.debounceRendering) && ((mA = N.debounceRendering) || PI)(aA);
}
function aA() {
var I, A, g, B, Q, C, E, o;
for (z.sort(JA); I = z.shift(); ) I.__d && (A = z.length, B = void 0, C = (Q = (g = I).__v).__e, E = [], o = [], g.__P && ((B = m({}, Q)).__v = Q.__v + 1, N.vnode && N.vnode(B), xA(g.__P, B, Q, g.__n, g.__P.namespaceURI, 32 & Q.__u ? [C] : null, E, C ?? $(Q), !!(32 & Q.__u), o), B.__v = Q.__v, B.__.__k[B.__i] = B, XI(E, B, o), B.__e != C && WI(B)), z.length > A && z.sort(JA));
aA.__r = 0;
}
function TI(I, A, g, B, Q, C, E, o, w, G, R) {
var i, h, a, s, L, k, U = B && B.__k || VI, S = A.length;
for (w = tg(g, A, U, w), i = 0; i < S; i++) (a = g.__k[i]) != null && (h = a.__i === -1 ? DA : U[a.__i] || DA, a.__i = i, k = xA(I, a, h, Q, C, E, o, w, G, R), s = a.__e, a.ref && h.ref != a.ref && (h.ref && PA(h.ref, null, a), R.push(a.ref, a.__c || s, a)), L == null && s != null && (L = s), 4 & a.__u || h.__k === a.__k ? w = ZI(a, w, I) : typeof a.type == "function" && k !== void 0 ? w = k : s && (w = s.nextSibling), a.__u &= -7);
return g.__e = L, w;
}
function tg(I, A, g, B) {
var Q, C, E, o, w, G = A.length, R = g.length, i = R, h = 0;
for (I.__k = [], Q = 0; Q < G; Q++) (C = A[Q]) != null && typeof C != "boolean" && typeof C != "function" ? (o = Q + h, (C = I.__k[Q] = typeof C == "string" || typeof C == "number" || typeof C == "bigint" || C.constructor == String ? QA(null, C, null, null, null) : yA(C) ? QA(P, { children: C }, null, null, null) : C.constructor === void 0 && C.__b > 0 ? QA(C.type, C.props, C.key, C.ref ? C.ref : null, C.__v) : C).__ = I, C.__b = I.__b + 1, E = null, (w = C.__i = fg(C, g, o, i)) !== -1 && (i--, (E = g[w]) && (E.__u |= 2)), E == null || E.__v === null ? (w == -1 && h--, typeof C.type != "function" && (C.__u |= 4)) : w !== o && (w == o - 1 ? h-- : w == o + 1 ? h++ : (w > o ? h-- : h++, C.__u |= 4))) : C = I.__k[Q] = null;
if (i) for (Q = 0; Q < R; Q++) (E = g[Q]) != null && !(2 & E.__u) && (E.__e == B && (B = $(E)), mI(E, E));
return B;
}
function ZI(I, A, g) {
var B, Q;
if (typeof I.type == "function") {
for (B = I.__k, Q = 0; B && Q < B.length; Q++) B[Q] && (B[Q].__ = I, A = ZI(B[Q], A, g));
return A;
}
I.__e != A && (A && I.type && !g.contains(A) && (A = $(I)), g.insertBefore(I.__e, A || null), A = I.__e);
do
A = A && A.nextSibling;
while (A != null && A.nodeType === 8);
return A;
}
function p(I, A) {
return A = A || [], I == null || typeof I == "boolean" || (yA(I) ? I.some(function(g) {
p(g, A);
}) : A.push(I)), A;
}
function fg(I, A, g, B) {
var Q = I.key, C = I.type, E = g - 1, o = g + 1, w = A[g];
if (w === null || w && Q == w.key && C === w.type && !(2 & w.__u)) return g;
if ((typeof C != "function" || C === P || Q) && B > (w != null && !(2 & w.__u) ? 1 : 0)) for (; E >= 0 || o < A.length; ) {
if (E >= 0) {
if ((w = A[E]) && !(2 & w.__u) && Q == w.key && C === w.type) return E;
E--;
}
if (o < A.length) {
if ((w = A[o]) && !(2 & w.__u) && Q == w.key && C === w.type) return o;
o++;
}
}
return -1;
}
function pA(I, A, g) {
A[0] === "-" ? I.setProperty(A, g ?? "") : I[A] = g == null ? "" : typeof g != "number" || Kg.test(A) ? g : g + "px";
}
function GA(I, A, g, B, Q) {
var C;
A: if (A === "style") if (typeof g == "string") I.style.cssText = g;
else {
if (typeof B == "string" && (I.style.cssText = B = ""), B) for (A in B) g && A in g || pA(I.style, A, "");
if (g) for (A in g) B && g[A] === B[A] || pA(I.style, A, g[A]);
}
else if (A[0] === "o" && A[1] === "n") C = A !== (A = A.replace(bI, "$1")), A = A.toLowerCase() in I || A === "onFocusOut" || A === "onFocusIn" ? A.toLowerCase().slice(2) : A.slice(2), I.l || (I.l = {}), I.l[A + C] = g, g ? B ? g.u = B.u : (g.u = eA, I.addEventListener(A, C ? cA : LA, C)) : I.removeEventListener(A, C ? cA : LA, C);
else {
if (Q == "http://www.w3.org/2000/svg") A = A.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
else if (A != "width" && A != "height" && A != "href" && A != "list" && A != "form" && A != "tabIndex" && A != "download" && A != "rowSpan" && A != "colSpan" && A != "role" && A != "popover" && A in I) try {
I[A] = g ?? "";
break A;
} catch {
}
typeof g == "function" || (g == null || g === !1 && A[4] !== "-" ? I.removeAttribute(A) : I.setAttribute(A, A == "popover" && g == 1 ? "" : g));
}
}
function OA(I) {
return function(A) {
if (this.l) {
var g = this.l[A.type + I];
if (A.t == null) A.t = eA++;
else if (A.t < g.u) return;
return g(N.event ? N.event(A) : A);
}
};
}
function xA(I, A, g, B, Q, C, E, o, w, G) {
var R, i, h, a, s, L, k, U, S, M, Y, t, f, e, y, H, c, r = A.type;
if (A.constructor !== void 0) return null;
128 & g.__u && (w = !!(32 & g.__u), C = [o = A.__e = g.__e]), (R = N.__b) && R(A);
A: if (typeof r == "function") try {
if (U = A.props, S = "prototype" in r && r.prototype.render, M = (R = r.contextType) && B[R.__c], Y = R ? M ? M.props.value : R.__ : B, g.__c ? k = (i = A.__c = g.__c).__ = i.__E : (S ? A.__c = i = new r(U, Y) : (A.__c = i = new T(U, Y), i.constructor = r, i.render = eg), M && M.sub(i), i.props = U, i.state || (i.state = {}), i.context = Y, i.__n = B, h = i.__d = !0, i.__h = [], i._sb = []), S && i.__s == null && (i.__s = i.state), S && r.getDerivedStateFromProps != null && (i.__s == i.state && (i.__s = m({}, i.__s)), m(i.__s, r.getDerivedStateFromProps(U, i.__s))), a = i.props, s = i.state, i.__v = A, h) S && r.getDerivedStateFromProps == null && i.componentWillMount != null && i.componentWillMount(), S && i.componentDidMount != null && i.__h.push(i.componentDidMount);
else {
if (S && r.getDerivedStateFromProps == null && U !== a && i.componentWillReceiveProps != null && i.componentWillReceiveProps(U, Y), !i.__e && (i.shouldComponentUpdate != null && i.shouldComponentUpdate(U, i.__s, Y) === !1 || A.__v === g.__v)) {
for (A.__v !== g.__v && (i.props = U, i.state = i.__s, i.__d = !1), A.__e = g.__e, A.__k = g.__k, A.__k.some(function(l) {
l && (l.__ = A);
}), t = 0; t < i._sb.length; t++) i.__h.push(i._sb[t]);
i._sb = [], i.__h.length && E.push(i);
break A;
}
i.componentWillUpdate != null && i.componentWillUpdate(U, i.__s, Y), S && i.componentDidUpdate != null && i.__h.push(function() {
i.componentDidUpdate(a, s, L);
});
}
if (i.context = Y, i.props = U, i.__P = I, i.__e = !1, f = N.__r, e = 0, S) {
for (i.state = i.__s, i.__d = !1, f && f(A), R = i.render(i.props, i.state, i.context), y = 0; y < i._sb.length; y++) i.__h.push(i._sb[y]);
i._sb = [];
} else do
i.__d = !1, f && f(A), R = i.render(i.props, i.state, i.context), i.state = i.__s;
while (i.__d && ++e < 25);
i.state = i.__s, i.getChildContext != null && (B = m(m({}, B), i.getChildContext())), S && !h && i.getSnapshotBeforeUpdate != null && (L = i.getSnapshotBeforeUpdate(a, s)), o = TI(I, yA(H = R != null && R.type === P && R.key == null ? R.props.children : R) ? H : [H], A, g, B, Q, C, E, o, w, G), i.base = A.__e, A.__u &= -161, i.__h.length && E.push(i), k && (i.__E = i.__ = null);
} catch (l) {
if (A.__v = null, w || C != null) if (l.then) {
for (A.__u |= w ? 160 : 128; o && o.nodeType === 8 && o.nextSibling; ) o = o.nextSibling;
C[C.indexOf(o)] = null, A.__e = o;
} else for (c = C.length; c--; ) nA(C[c]);
else A.__e = g.__e, A.__k = g.__k;
N.__e(l, A, g);
}
else C == null && A.__v === g.__v ? (A.__k = g.__k, A.__e = g.__e) : o = A.__e = rg(g.__e, A, g, B, Q, C, E, w, G);
return (R = N.diffed) && R(A), 128 & A.__u ? void 0 : o;
}
function XI(I, A, g) {
for (var B = 0; B < g.length; B++) PA(g[B], g[++B], g[++B]);
N.__c && N.__c(A, I), I.some(function(Q) {
try {
I = Q.__h, Q.__h = [], I.some(function(C) {
C.call(Q);
});
} catch (C) {
N.__e(C, Q.__v);
}
});
}
function rg(I, A, g, B, Q, C, E, o, w) {
var G, R, i, h, a, s, L, k = g.props, U = A.props, S = A.type;
if (S === "svg" ? Q = "http://www.w3.org/2000/svg" : S === "math" ? Q = "http://www.w3.org/1998/Math/MathML" : Q || (Q = "http://www.w3.org/1999/xhtml"), C != null) {
for (G = 0; G < C.length; G++) if ((a = C[G]) && "setAttribute" in a == !!S && (S ? a.localName === S : a.nodeType === 3)) {
I = a, C[G] = null;
break;
}
}
if (I == null) {
if (S === null) return document.createTextNode(U);
I = document.createElementNS(Q, S, U.is && U), o && (N.__m && N.__m(A, C), o = !1), C = null;
}
if (S === null) k === U || o && I.data === U || (I.data = U);
else {
if (C = C && oA.call(I.childNodes), k = g.props || DA, !o && C != null) for (k = {}, G = 0; G < I.attributes.length; G++) k[(a = I.attributes[G]).name] = a.value;
for (G in k) if (a = k[G], G != "children") {
if (G == "dangerouslySetInnerHTML") i = a;
else if (!(G in U)) {
if (G == "value" && "defaultValue" in U || G == "checked" && "defaultChecked" in U) continue;
GA(I, G, null, a, Q);
}
}
for (G in U) a = U[G], G == "children" ? h = a : G == "dangerouslySetInnerHTML" ? R = a : G == "value" ? s = a : G == "checked" ? L = a : o && typeof a != "function" || k[G] === a || GA(I, G, a, k[G], Q);
if (R) o || i && (R.__html === i.__html || R.__html === I.innerHTML) || (I.innerHTML = R.__html), A.__k = [];
else if (i && (I.innerHTML = ""), TI(I, yA(h) ? h : [h], A, g, B, S === "foreignObject" ? "http://www.w3.org/1999/xhtml" : Q, C, E, C ? C[0] : g.__k && $(g, 0), o, w), C != null) for (G = C.length; G--; ) nA(C[G]);
o || (G = "value", S === "progress" && s == null ? I.removeAttribute("value") : s !== void 0 && (s !== I[G] || S === "progress" && !s || S === "option" && s !== k[G]) && GA(I, G, s, k[G], Q), G = "checked", L !== void 0 && L !== I[G] && GA(I, G, L, k[G], Q));
}
return I;
}
function PA(I, A, g) {
try {
if (typeof I == "function") {
var B = typeof I.__u == "function";
B && I.__u(), B && A == null || (I.__u = I(A));
} else I.current = A;
} catch (Q) {
N.__e(Q, g);
}
}
function mI(I, A, g) {
var B, Q;
if (N.unmount && N.unmount(I), (B = I.ref) && (B.current && B.current !== I.__e || PA(B, null, A)), (B = I.__c) != null) {
if (B.componentWillUnmount) try {
B.componentWillUnmount();
} catch (C) {
N.__e(C, A);
}
B.base = B.__P = null;
}
if (B = I.__k) for (Q = 0; Q < B.length; Q++) B[Q] && mI(B[Q], A, g || typeof I.type != "function");
g || nA(I.__e), I.__c = I.__ = I.__e = void 0;
}
function eg(I, A, g) {
return this.constructor(I, g);
}
function iA(I, A, g) {
var B, Q, C, E;
A === document && (A = document.documentElement), N.__ && N.__(I, A), Q = (B = typeof g == "function") ? null : g && g.__k || A.__k, C = [], E = [], xA(A, I = (!B && g || A).__k = V(P, null, [I]), Q || DA, DA, A.namespaceURI, !B && g ? [g] : Q ? null : A.firstChild ? oA.call(A.childNodes) : null, C, !B && g ? g : Q ? Q.__e : A.firstChild, B, E), XI(C, I, E);
}
function pI(I, A) {
iA(I, A, pI);
}
function ng(I, A, g) {
var B, Q, C, E, o = m({}, I.props);
for (C in I.type && I.type.defaultProps && (E = I.type.defaultProps), A) C == "key" ? B = A[C] : C == "ref" ? Q = A[C] : o[C] = A[C] === void 0 && E !== void 0 ? E[C] : A[C];
return arguments.length > 2 && (o.children = arguments.length > 3 ? oA.call(arguments, 2) : g), QA(I.type, o, B || I.key, Q || I.ref, null);
}
function bA(I, A) {
var g = { __c: A = "__cC" + lI++, __: I, Consumer: function(B, Q) {
return B.children(Q);
}, Provider: function(B) {
var Q, C;
return this.getChildContext || (Q = /* @__PURE__ */ new Set(), (C = {})[A] = this, this.getChildContext = function() {
return C;
}, this.componentWillUnmount = function() {
Q = null;
}, this.shouldComponentUpdate = function(E) {
this.props.value !== E.value && Q.forEach(function(o) {
o.__e = !0, qA(o);
});
}, this.sub = function(E) {
Q.add(E);
var o = E.componentWillUnmount;
E.componentWillUnmount = function() {
Q && Q.delete(E), o && o.call(E);
};
}), B.children;
} };
return g.Provider.__ = g.Consumer.contextType = g;
}
oA = VI.slice, N = { __e: function(I, A, g, B) {
for (var Q, C, E; A = A.__; ) if ((Q = A.__c) && !Q.__) try {
if ((C = Q.constructor) && C.getDerivedStateFromError != null && (Q.setState(C.getDerivedStateFromError(I)), E = Q.__d), Q.componentDidCatch != null && (Q.componentDidCatch(I, B || {}), E = Q.__d), E) return Q.__E = Q;
} catch (o) {
I = o;
}
throw I;
} }, xI = 0, T.prototype.setState = function(I, A) {
var g;
g = this.__s != null && this.__s !== this.state ? this.__s : this.__s = m({}, this.state), typeof I == "function" && (I = I(m({}, g), this.props)), I && m(g, I), I != null && this.__v && (A && this._sb.push(A), qA(this));
}, T.prototype.forceUpdate = function(I) {
this.__v && (this.__e = !0, I && this.__h.push(I), qA(this));
}, T.prototype.render = P, z = [], PI = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, JA = function(I, A) {
return I.__v.__b - A.__v.__b;
}, aA.__r = 0, bI = /(PointerCapture)$|Capture$/i, eA = 0, LA = OA(!1), cA = OA(!0), lI = 0;
var j, q, MA, vA, AA = 0, OI = [], K = N, jA = K.__b, uA = K.__r, zA = K.diffed, _A = K.__c, $A = K.unmount, AI = K.__;
function IA(I, A) {
K.__h && K.__h(q, I, AA || A), AA = 0;
var g = q.__H || (q.__H = { __: [], __h: [] });
return I >= g.__.length && g.__.push({}), g.__[I];
}
function d(I) {
return AA = 1, lA(zI, I);
}
function lA(I, A, g) {
var B = IA(j++, 2);
if (B.t = I, !B.__c && (B.__ = [g ? g(A) : zI(void 0, A), function(o) {
var w = B.__N ? B.__N[0] : B.__[0], G = B.t(w, o);
w !== G && (B.__N = [G, B.__[1]], B.__c.setState({}));
}], B.__c = q, !q.u)) {
var Q = function(o, w, G) {
if (!B.__c.__H) return !0;
var R = B.__c.__H.__.filter(function(h) {
return !!h.__c;
});
if (R.every(function(h) {
return !h.__N;
})) return !C || C.call(this, o, w, G);
var i = B.__c.props !== o;
return R.forEach(function(h) {
if (h.__N) {
var a = h.__[0];
h.__ = h.__N, h.__N = void 0, a !== h.__[0] && (i = !0);
}
}), C && C.call(this, o, w, G) || i;
};
q.u = !0;
var C = q.shouldComponentUpdate, E = q.componentWillUpdate;
q.componentWillUpdate = function(o, w, G) {
if (this.__e) {
var R = C;
C = void 0, Q(o, w, G), C = R;
}
E && E.call(this, o, w, G);
}, q.shouldComponentUpdate = Q;
}
return B.__N || B.__;
}
function n(I, A) {
var g = IA(j++, 3);
!K.__s && VA(g.__H, A) && (g.__ = I, g.i = A, q.__H.__h.push(g));
}
function wA(I, A) {
var g = IA(j++, 4);
!K.__s && VA(g.__H, A) && (g.__ = I, g.i = A, q.__h.push(g));
}
function O(I) {
return AA = 5, b(function() {
return { current: I };
}, []);
}
function vI(I, A, g) {
AA = 6, wA(function() {
return typeof I == "function" ? (I(A()), function() {
return I(null);
}) : I ? (I.current = A(), function() {
return I.current = null;
}) : void 0;
}, g == null ? g : g.concat(I));
}
function b(I, A) {
var g = IA(j++, 7);
return VA(g.__H, A) && (g.__ = I(), g.__H = A, g.__h = I), g.__;
}
function CA(I, A) {
return AA = 8, b(function() {
return I;
}, A);
}
function sA(I) {
var A = q.context[I.__c], g = IA(j++, 9);
return g.c = I, A ? (g.__ == null && (g.__ = !0, A.sub(q)), A.props.value) : I.__;
}
function jI(I, A) {
K.useDebugValue && K.useDebugValue(A ? A(I) : I);
}
function uI() {
var I = IA(j++, 11);
if (!I.__) {
for (var A = q.__v; A !== null && !A.__m && A.__ !== null; ) A = A.__;
var g = A.__m || (A.__m = [0, 0]);
I.__ = "P" + g[0] + "-" + g[1]++;
}
return I.__;
}
function xg() {
for (var I; I = OI.shift(); ) if (I.__P && I.__H) try {
I.__H.__h.forEach(RA), I.__H.__h.forEach(YA), I.__H.__h = [];
} catch (A) {
I.__H.__h = [], K.__e(A, I.__v);
}
}
K.__b = function(I) {
q = null, jA && jA(I);
}, K.__ = function(I, A) {
I && A.__k && A.__k.__m && (I.__m = A.__k.__m), AI && AI(I, A);
}, K.__r = function(I) {
uA && uA(I), j = 0;
var A = (q = I.__c).__H;
A && (MA === q ? (A.__h = [], q.__h = [], A.__.forEach(function(g) {
g.__N && (g.__ = g.__N), g.i = g.__N = void 0;
})) : (A.__h.forEach(RA), A.__h.forEach(YA), A.__h = [], j = 0)), MA = q;
}, K.diffed = function(I) {
zA && zA(I);
var A = I.__c;
A && A.__H && (A.__H.__h.length && (OI.push(A) !== 1 && vA === K.requestAnimationFrame || ((vA = K.requestAnimationFrame) || Pg)(xg)), A.__H.__.forEach(function(g) {
g.i && (g.__H = g.i), g.i = void 0;
})), MA = q = null;
}, K.__c = function(I, A) {
A.some(function(g) {
try {
g.__h.forEach(RA), g.__h = g.__h.filter(function(B) {
return !B.__ || YA(B);
});
} catch (B) {
A.some(function(Q) {
Q.__h && (Q.__h = []);
}), A = [], K.__e(B, g.__v);
}
}), _A && _A(I, A);
}, K.unmount = function(I) {
$A && $A(I);
var A, g = I.__c;
g && g.__H && (g.__H.__.forEach(function(B) {
try {
RA(B);
} catch (Q) {
A = Q;
}
}), g.__H = void 0, A && K.__e(A, g.__v));
};
var II = typeof requestAnimationFrame == "function";
function Pg(I) {
var A, g = function() {
clearTimeout(B), II && cancelAnimationFrame(A), setTimeout(I);
}, B = setTimeout(g, 100);
II && (A = requestAnimationFrame(g));
}
function RA(I) {
var A = q, g = I.__c;
typeof g == "function" && (I.__c = void 0, g()), q = A;
}
function YA(I) {
var A = q;
I.__c = I.__(), q = A;
}
function VA(I, A) {
return !I || I.length !== A.length || A.some(function(g, B) {
return g !== I[B];
});
}
function zI(I, A) {
return typeof A == "function" ? A(I) : A;
}
function KA(I, A) {
for (var g in I) if (g !== "__source" && !(g in A)) return !0;
for (var B in A) if (B !== "__source" && I[B] !== A[B]) return !0;
return !1;
}
function _I(I, A) {
var g = A(), B = d({ t: { __: g, u: A } }), Q = B[0].t, C = B[1];
return wA(function() {
Q.__ = g, Q.u = A, HA(Q) && C({ t: Q });
}, [I, g, A]), n(function() {
return HA(Q) && C({ t: Q }), I(function() {
HA(Q) && C({ t: Q });
});
}, [I]), g;
}
function HA(I) {
var A, g, B = I.u, Q = I.__;
try {
var C = B();
return !((A = Q) === (g = C) && (A !== 0 || 1 / A == 1 / g) || A != A && g != g);
} catch {
return !0;
}
}
function $I(I) {
I();
}
function Ag(I) {
return I;
}
function Ig() {
return [!1, $I];
}
var gg = wA;
function dA(I, A) {
this.props = I, this.context = A;
}
function bg(I, A) {
function g(Q) {
var C = this.props.ref, E = C == Q.ref;
return !E && C && (C.call ? C(null) : C.current = null), A ? !A(this.props, Q) || !E : KA(this.props, Q);
}
function B(Q) {
return this.shouldComponentUpdate = g, V(I, Q);
}
return B.displayName = "Memo(" + (I.displayName || I.name) + ")", B.prototype.isReactComponent = !0, B.__f = !0, B;
}
(dA.prototype = new T()).isPureReactComponent = !0, dA.prototype.shouldComponentUpdate = function(I, A) {
return KA(this.props, I) || KA(this.state, A);
};
var gI = N.__b;
N.__b = function(I) {
I.type && I.type.__f && I.ref && (I.props.ref = I.ref, I.ref = null), gI && gI(I);
};
var lg = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911;
function W(I) {
function A(g) {
if (!("ref" in g)) return I(g, null);
var B = g.ref;
delete g.ref;
var Q = I(g, B);
return g.ref = B, Q;
}
return A.$$typeof = lg, A.render = A, A.prototype.isReactComponent = A.__f = !0, A.displayName = "ForwardRef(" + (I.displayName || I.name) + ")", A;
}
var BI = function(I, A) {
return I == null ? null : p(p(I).map(A));
}, Vg = { map: BI, forEach: BI, count: function(I) {
return I ? p(I).length : 0;
}, only: function(I) {
var A = p(I);
if (A.length !== 1) throw "Children.only";
return A[0];
}, toArray: p }, Wg = N.__e;
N.__e = function(I, A, g, B) {
if (I.then) {
for (var Q, C = A; C = C.__; ) if ((Q = C.__c) && Q.__c) return A.__e == null && (A.__e = g.__e, A.__k = g.__k), Q.__c(I, A);
}
Wg(I, A, g, B);
};
var QI = N.unmount;
function Bg(I, A, g) {
return I && (I.__c && I.__c.__H && (I.__c.__H.__.forEach(function(B) {
typeof B.__c == "function" && B.__c();
}), I.__c.__H = null), (I = function(B, Q) {
for (var C in Q) B[C] = Q[C];
return B;
}({}, I)).__c != null && (I.__c.__P === g && (I.__c.__P = A), I.__c = null), I.__k = I.__k && I.__k.map(function(B) {
return Bg(B, A, g);
})), I;
}
function Qg(I, A, g) {
return I && g && (I.__v = null, I.__k = I.__k && I.__k.map(function(B) {
return Qg(B, A, g);
}), I.__c && I.__c.__P === A && (I.__e && g.appendChild(I.__e), I.__c.__e = !0, I.__c.__P = g)), I;
}
function FA() {
this.__u = 0, this.o = null, this.__b = null;
}
function Cg(I) {
var A = I.__.__c;
return A && A.__a && A.__a(I);
}
function Tg(I) {
var A, g, B;
function Q(C) {
if (A || (A = I()).then(function(E) {
g = E.default || E;
}, function(E) {
B = E;
}), B) throw B;
if (!g) throw A;
return V(g, C);
}
return Q.displayName = "Lazy", Q.__f = !0, Q;
}
function BA() {
this.i = null, this.l = null;
}
N.unmount = function(I) {
var A = I.__c;
A && A.__R && A.__R(), A && 32 & I.__u && (I.type = null), QI && QI(I);
}, (FA.prototype = new T()).__c = function(I, A) {
var g = A.__c, B = this;
B.o == null && (B.o = []), B.o.push(g);
var Q = Cg(B.__v), C = !1, E = function() {
C || (C = !0, g.__R = null, Q ? Q(o) : o());
};
g.__R = E;
var o = function() {
if (!--B.__u) {
if (B.state.__a) {
var w = B.state.__a;
B.__v.__k[0] = Qg(w, w.__c.__P, w.__c.__O);
}
var G;
for (B.setState({ __a: B.__b = null }); G = B.o.pop(); ) G.forceUpdate();
}
};
B.__u++ || 32 & A.__u || B.setState({ __a: B.__b = B.__v.__k[0] }), I.then(E, E);
}, FA.prototype.componentWillUnmount = function() {
this.o = [];
}, FA.prototype.render = function(I, A) {
if (this.__b) {
if (this.__v.__k) {
var g = document.createElement("div"), B = this.__v.__k[0].__c;
this.__v.__k[0] = Bg(this.__b, g, B.__O = B.__P);
}
this.__b = null;
}
var Q = A.__a && V(P, null, I.fallback);
return Q && (Q.__u &= -33), [V(P, null, A.__a ? null : I.children), Q];
};
var CI = function(I, A, g) {
if (++g[1] === g[0] && I.l.delete(A), I.props.revealOrder && (I.props.revealOrder[0] !== "t" || !I.l.size)) for (g = I.i; g; ) {
for (; g.length > 3; ) g.pop()();
if (g[1] < g[0]) break;
I.i = g = g[2];
}
};
function Zg(I) {
return this.getChildContext = function() {
return I.context;
}, I.children;
}
function Xg(I) {
var A = this, g = I.h;
A.componentWillUnmount = function() {
iA(null, A.v), A.v = null, A.h = null;
}, A.h && A.h !== g && A.componentWillUnmount(), A.v || (A.h = g, A.v = { nodeType: 1, parentNode: g, childNodes: [], contains: function() {
return !0;
}, appendChild: function(B) {
this.childNodes.push(B), A.h.appendChild(B);
}, insertBefore: function(B, Q) {
this.childNodes.push(B), A.h.insertBefore(B, Q);
}, removeChild: function(B) {
this.childNodes.splice(this.childNodes.indexOf(B) >>> 1, 1), A.h.removeChild(B);
} }), iA(V(Zg, { context: A.context }, I.__v), A.v);
}
function mg(I, A) {
var g = V(Xg, { __v: I, h: A });
return g.containerInfo = A, g;
}
(BA.prototype = new T()).__a = function(I) {
var A = this, g = Cg(A.__v), B = A.l.get(I);
return B[0]++, function(Q) {
var C = function() {
A.props.revealOrder ? (B.push(Q), CI(A, I, B)) : Q();
};
g ? g(C) : C();
};
}, BA.prototype.render = function(I) {
this.i = null, this.l = /* @__PURE__ */ new Map();
var A = p(I.children);
I.revealOrder && I.revealOrder[0] === "b" && A.reverse();
for (var g = A.length; g--; ) this.l.set(A[g], this.i = [1, 0, this.i]);
return I.children;
}, BA.prototype.componentDidUpdate = BA.prototype.componentDidMount = function() {
var I = this;
this.l.forEach(function(A, g) {
CI(I, g, A);
});
};
var Eg = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, pg = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, Og = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, vg = /[A-Z0-9]/g, jg = typeof document < "u", ug = function(I) {
return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(I);
};
function Dg(I, A, g) {
return A.__k == null && (A.textContent = ""), iA(I, A), typeof g == "function" && g(), I ? I.__c : null;
}
function zg(I, A, g) {
return pI(I, A), typeof g == "function" && g(), I ? I.__c : null;
}
T.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(I) {
Object.defineProperty(T.prototype, I, { configurable: !0, get: function() {
return this["UNSAFE_" + I];
}, set: function(A) {
Object.defineProperty(this, I, { configurable: !0, writable: !0, value: A });
} });
});
var EI = N.event;
function _g() {
}
function $g() {
return this.cancelBubble;
}
function AB() {
return this.defaultPrevented;
}
N.event = function(I) {
return EI && (I = EI(I)), I.persist = _g, I.isPropagationStopped = $g, I.isDefaultPrevented = AB, I.nativeEvent = I;
};
var WA, IB = { enumerable: !1, configurable: !0, get: function() {
return this.class;
} }, DI = N.vnode;
N.vnode = function(I) {
typeof I.type == "string" && function(A) {
var g = A.props, B = A.type, Q = {}, C = B.indexOf("-") === -1;
for (var E in g) {
var o = g[E];
if (!(E === "value" && "defaultValue" in g && o == null || jg && E === "children" && B === "noscript" || E === "class" || E === "className")) {
var w = E.toLowerCase();
E === "defaultValue" && "value" in g && g.value == null ? E = "value" : E === "download" && o === !0 ? o = "" : w === "translate" && o === "no" ? o = !1 : w[0] === "o" && w[1] === "n" ? w === "ondoubleclick" ? E = "ondblclick" : w !== "onchange" || B !== "input" && B !== "textarea" || ug(g.type) ? w === "onfocus" ? E = "onfocusin" : w === "onblur" ? E = "onfocusout" : Og.test(E) && (E = w) : w = E = "oninput" : C && pg.test(E) ? E = E.replace(vg, "-$&").toLowerCase() : o === null && (o = void 0), w === "oninput" && Q[E = w] && (E = "oninputCapture"), Q[E] = o;
}
}
B == "select" && Q.multiple && Array.isArray(Q.value) && (Q.value = p(g.children).forEach(function(G) {
G.props.selected = Q.value.indexOf(G.props.value) != -1;
})), B == "select" && Q.defaultValue != null && (Q.value = p(g.children).forEach(function(G) {
G.props.selected = Q.multiple ? Q.defaultValue.indexOf(G.props.value) != -1 : Q.defaultValue == G.props.value;
})), g.class && !g.className ? (Q.class = g.class, Object.defineProperty(Q, "className", IB)) : (g.className && !g.class || g.class && g.className) && (Q.class = Q.className = g.className), A.props = Q;
}(I), I.$$typeof = Eg, DI && DI(I);
};
var iI = N.__r;
N.__r = function(I) {
iI && iI(I), WA = I.__c;
};
var oI = N.diffed;
N.diffed = function(I) {
oI && oI(I);
var A = I.props, g = I.__e;
g != null && I.type === "textarea" && "value" in A && A.value !== g.value && (g.value = A.value == null ? "" : A.value), WA = null;
};
var gB = { ReactCurrentDispatcher: { current: { readContext: function(I) {
return WA.__n[I.__c].props.value;
}, useCallback: CA, useContext: sA, useDebugValue: jI, useDeferredValue: Ag, useEffect: n, useId: uI, useImperativeHandle: vI, useInsertionEffect: gg, useLayoutEffect: wA, useMemo: b, useReducer: lA, useRef: O, useState: d, useSyncExternalStore: _I, useTransition: Ig } } };
function BB(I) {
return V.bind(null, I);
}
function SA(I) {
return !!I && I.$$typeof === Eg;
}
function QB(I) {
return SA(I) && I.type === P;
}
function CB(I) {
return !!I && !!I.displayName && (typeof I.displayName == "string" || I.displayName instanceof String) && I.displayName.startsWith("Memo(");
}
function EB(I) {
return SA(I) ? ng.apply(null, arguments) : I;
}
function ig(I) {
return !!I.__k && (iA(null, I), !0);
}
function DB(I) {
return I && (I.base || I.nodeType === 1 && I) || null;
}
var iB = function(I, A) {
return I(A);
}, oB = function(I, A) {
return I(A);
}, wB = P, GB = SA, D = { useState: d, useId: uI, useReducer: lA, useEffect: n, useLayoutEffect: wA, useInsertionEffect: gg, useTransition: Ig, useDeferredValue: Ag, useSyncExternalStore: _I, startTransition: $I, useRef: O, useImperativeHandle: vI, useMemo: b, useCallback: CA, useContext: sA, useDebugValue: jI, version: "18.3.1", Children: Vg, render: Dg, hydrate: zg, unmountComponentAtNode: ig, createPortal: mg, createElement: V, createContext: bA, createFactory: BB, cloneElement: EB, createRef: dg, Fragment: P, isValidElement: SA, isElement: GB, isFragment: QB, isMemo: CB, findDOMNode: DB, Component: T, PureComponent: dA, memo: bg, forwardRef: W, flushSync: oB, unstable_batchedUpdates: iB, StrictMode: wB, Suspense: FA, SuspenseList: BA, lazy: Tg, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: gB };
function RB(I) {
return {
// eslint-disable-next-line
render: function(A) {
Dg(A, I);
},
// eslint-disable-next-line
unmount: function() {
ig(I);
}
};
}
var FB = 0;
function F(I, A, g, B, Q, C) {
A || (A = {});
var E, o, w = A;
"ref" in A && (E = A.ref, delete A.ref);
var G = { type: I, props: w, key: g, ref: E, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --FB, __i: -1, __u: 0, __source: Q, __self: C };
if (typeof I == "function" && (E = I.defaultProps)) for (o in E) w[o] === void 0 && (w[o] = E[o]);
return N.vnode && N.vnode(G), G;
}
const aB = "geniusscansdk-v0-", og = (I) => aB + I, hB = (I, A) => {
localStorage.setItem(og(I), JSON.stringify(A));
}, yB = (I, A) => {
const g = localStorage.getItem(og(I));
return g ? JSON.parse(g) : A;
};
function sB(I, A) {
const [g, B] = d(yB(I, A));
return n(() => {
hB(I, g);
}, [g]), [g, B];
}
function wI() {
return screen.orientation.type.includes("portrait") ? "portrait" : "landscape";
}
function SB() {
const [I, A] = d(wI());
return n(() => {
const g = () => {
A(wI());
};
return screen.orientation.addEventListener("change", g), () => {
screen.orientation.removeEventListener("change", g);
};
}, []), I;
}
function NB(I) {
const A = SB();
return b(() => {
let g = "height";
return A === "landscape" && (g = "width"), {
// On mobile, the "mobile height" is actually the camera width as the camera is rotated by 90 degrees.
// Same with aspect ratio, which is actually "mobile height" / "mobile width".
[g]: { ideal: I }
};
}, [A, I]);
}
function UB({ deviceId: I, height: A }) {
const [g, B] = d(null), [Q, C] = d(null), E = NB(A);
return n(() => {
C();
const o = {
video: {
...E
},
audio: !1
};
I ? o.video.deviceId = { exact: I } : o.video.facingMode = "environment";
let w;
const G = setTimeout(() => {
B(null), w = navigator.mediaDevices.getUserMedia(o).then((R) => (C(R), R)).catch((R) => {
C(null), B(R);
});
}, 100);
return () => {
clearTimeout(G), w && w.then((R) => {
var i;
(i = R == null ? void 0 : R.getTracks()) == null || i.forEach((h) => {
h.stop();
});
});
};
}, [I, E]), { stream: Q, error: g };
}
function MB() {
const [I, A] = d(null), [g, B] = d(null);
function Q() {
A(null), navigator.mediaDevices.enumerateDevices().then(function(C) {
B(
C.filter((E) => E.deviceId && E.kind === "videoinput").map((E) => ({
value: E.deviceId,
label: E.label || `Camera ${E.deviceId}`
}))
);
}).catch(function(C) {
A(C);
});
}
return n(() => {
Q();
}, []), { cameraDevices: g, refresh: Q, error: I };
}
class HB extends Error {
constructor(A) {
super(A), this.name = "InvalidLicenseKeyError";
}
}
class kB extends Error {
constructor(A) {
super(A), this.name = "MissingLicenseKeyError";
}
}
async function _(I, A, g, B = []) {
return new Promise((Q, C) => {
const E = (o) => {
const [w, G] = o.data;
if (w === A) {
if (G.error) {
let R = G.error;
G.errorName === "MissingLicenseKeyError" && (R = new kB(G.error.message)), C(R);
} else
Q(G);
I.removeEventListener("message", E);
}
};
I.addEventListener("message", E), I.postMessage([A, g], { transfer: B });
});
}
const JB = "INIT";
async function LB(I, A, g) {
return _(I, JB, { licenseKey: A, hostname: g });
}
const cB = {
aliceblue: "#f0f8ff",
antiquewhite: "#faebd7",
aqua: "#00ffff",
aquamarine: "#7fffd4",
azure: "#f0ffff",
beige: "#f5f5dc",
bisque: "#ffe4c4",
black: "#000000",
blanchedalmond: "#ffebcd",
blue: "#0000ff",
blueviolet: "#8a2be2",
brown: "#a52a2a",
burlywood: "#deb887",
cadetblue: "#5f9ea0",
chartreuse: "#7fff00",
chocolate: "#d2691e",
coral: "#ff7f50",
cornflowerblue: "#6495ed",
cornsilk: "#fff8dc",
crimson: "#dc143c",
cyan: "#00ffff",
darkblue: "#00008b",
darkcyan: "#008b8b",
darkgoldenrod: "#b8860b",
darkgray: "#a9a9a9",
darkgreen: "#006400",
darkkhaki: "#bdb76b",
darkmagenta: "#8b008b",
darkolivegreen: "#556b2f",
darkorange: "#ff8c00",
darkorchid: "#9932cc",
darkred: "#8b0000",
darksalmon: "#e9967a",
darkseagreen: "#8fbc8f",
darkslateblue: "#483d8b",
darkslategray: "#2f4f4f",
darkturquoise: "#00ced1",
darkviolet: "#9400d3",
deeppink: "#ff1493",
deepskyblue: "#00bfff",
dimgray: "#696969",
dodgerblue: "#1e90ff",
firebrick: "#b22222",
floralwhite: "#fffaf0",
forestgreen: "#228b22",
fuchsia: "#ff00ff",
gainsboro: "#dcdcdc",
ghostwhite: "#f8f8ff",
gold: "#ffd700",
goldenrod: "#daa520",
gray: "#808080",
green: "#008000",
greenyellow: "#adff2f",
honeydew: "#f0fff0",
hotpink: "#ff69b4",
indianred: "#cd5c5c",
indigo: "#4b0082",
ivory: "#fffff0",
khaki: "#f0e68c",
lavender: "#e6e6fa",
lavenderblush: "#fff0f5",
lawngreen: "#7cfc00",
lemonchiffon: "#fffacd",
lightblue: "#add8e6",
lightcoral: "#f08080",
lightcyan: "#e0ffff",
lightgoldenrodyellow: "#fafad2",
lightgrey: "#d3d3d3",
lightgreen: "#90ee90",
lightpink: "#ffb6c1",
lightsalmon: "#ffa07a",
lightseagreen: "#20b2aa",
lightskyblue: "#87cefa",
lightslategray: "#778899",
lightsteelblue: "#b0c4de",
lightyellow: "#ffffe0",
lime: "#00ff00",
limegreen: "#32cd32",
linen: "#faf0e6",
magenta: "#ff00ff",
maroon: "#800000",
mediumaquamarine: "#66cdaa",
mediumblue: "#0000cd",
mediumorchid: "#ba55d3",
mediumpurple: "#9370d8",
mediumseagreen: "#3cb371",
mediumslateblue: "#7b68ee",
mediumspringgreen: "#00fa9a",
mediumturquoise: "#48d1cc",
mediumvioletred: "#c71585",
midnightblue: "#191970",
mintcream: "#f5fffa",
mistyrose: "#ffe4e1",
moccasin: "#ffe4b5",
navajowhite: "#ffdead",
navy: "#000080",
oldlace: "#fdf5e6",
olive: "#808000",
olivedrab: "#6b8e23",
orange: "#ffa500",
orangered: "#ff4500",
orchid: "#da70d6",
palegoldenrod: "#eee8aa",
palegreen: "#98fb98",
paleturquoise: "#afeeee",
palevioletred: "#d87093",
papayawhip: "#ffefd5",
peachpuff: "#ffdab9",
peru: "#cd853f",
pink: "#ffc0cb",
plum: "#dda0dd",
powderblue: "#b0e0e6",
purple: "#800080",
rebeccapurple: "#663399",
red: "#ff0000",
rosybrown: "#bc8f8f",
royalblue: "#4169e1",
saddlebrown: "#8b4513",
salmon: "#fa8072",
sandybrown: "#f4a460",
seagreen: "#2e8b57",
seashell: "#fff5ee",
sienna: "#a0522d",
silver: "#c0c0c0",
skyblue: "#87ceeb",
slateblue: "#6a5acd",
slategray: "#708090",
snow: "#fffafa",
springgreen: "#00ff7f",
steelblue: "#4682b4",
tan: "#d2b48c",
teal: "#008080",
thistle: "#d8bfd8",
tomato: "#ff6347",
turquoise: "#40e0d0",
violet: "#ee82ee",
wheat: "#f5deb3",
white: "#ffffff",
whitesmoke: "#f5f5f5",
yellow: "#ffff00",
yellowgreen: "#9acd32"
};
function EA(I, A) {
I = cB[I] || I;
var g = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(I);
return g ? `rgba(${parseInt(g[1], 16)}, ${parseInt(g[2], 16)}, ${parseInt(g[3], 16)}, ${A})` : I;
}
const kA = {
NOT_FOUND_STATUS: 0,
SEARCHING_STATUS: 1,
ABOUT_TO_TRIGGER_STATUS: 2,
TRIGGER_STATUS: 3
}, qB = "DETECT_QUADRANGLE", YB = "RESET_QUADRANGLE", KB = "DELETE_QUADRANGLE";
class dB {
constructor(A) {
this.worker = A;
}
async detectQuadrangle(A) {
return _(this.worker, qB, { imageBitmap: A }, [A]);
}
async reset() {
return _(this.worker, YB, {});
}
async delete() {
return _(this.worker, KB, {});
}
}
const tB = "PROCESS_SCAN", fB = "DELETE_SCAN_PROCESSOR", rB = [
"none",
"automatic",
"strong_monochrome",
"strong_grayscale",
"soft_grayscale",
"dark_background",
"strong_color",
"soft_color",
"photo"
];
class TA {
constructor(A) {
this.worker = A;
}
async process({ imageBitmap: A, filter: g = "automatic", quadrangle: B } = {}) {
return _(this.worker, tB, { imageBitmap: A, filter: g, quadrangle: B }, [A]);
}
async delete() {
return _(this.worker, fB, {});
}
}
const wg = { ar: { gssdk_action_back: "رجوع", gssdk_action_cancel: "إلغاء", gssdk_action_capture: "التقاط صورة", gssdk_action_change_filter: "تغيير الفلتر", gssdk_action_crop: "قص", gssdk_action_discard: "تجاهل", gssdk_action_done: "تم", gssdk_action_next: "التالى", gssdk_action_retry: "إعادة المحاولة", gssdk_action_rotate_left: "استدارة إلى اليسار", gssdk_camera_permission_denied_message: "تحتاج إلى منح %s الوصول إلى الكاميرا في الإعدادات.", gssdk_camera_permission_denied_title: "%s يتعذر الوصول إلى الكاميرا", gssdk_crop_autodetect: "كشف", gssdk_crop_maximize: "تكبير", gssdk_filter_instructions: "اختر فلتر لتطبيقه", gssdk_filter_automatic: "تلقائي", gssdk_filter_automatic_black_and_white: "أسود وأبيض (تلقائي)", gssdk_filter_automatic_color: "اللون (تلقائيًا)", gssdk_filter_automatic_monochrome: "أحادي اللون (تلقائيًا)", gssdk_filter_black_and_white: "أسود وأبيض", gssdk_filter_color: "اللون", gssdk_filter_dark_background: "الخلفية الداكنة", gssdk_filter_monochrome: "أحادي اللون", gssdk_filter_none: "لا شيء", gssdk_filter_photo: "صورة", gssdk_filter_soft_black_and_white: "أسود وأبيض (ناعم)", gssdk_filter_soft_color: "اللون (ناعم)", gssdk_filter_strong_black_and_white: "أسود وأبيض (قوي)", gssdk_filter_strong_color: "اللون (قوي)", gssdk_filter_strong_monochrome: "أحادي اللون (قوي)", gssdk_flow_page: "صفحة", gssdk_flow_add_page: "إضافة صفحة", gssdk_flow_add_pages: "هل ترغب في إضافة صفحة أخرى إلى وثيقتك؟", gssdk_flow_cancel: "إلغاء", gssdk_flow_done: "تم (%d)", gssdk_progress_generating_document: "إنشاء مستند", gssdk_progress_recognizing_text: "التعرف على النص", gssdk_settings: "الإعدادات", gssdk_user_guidance_document_found: "تم العثور على وثيقة. ابق ثابتًا.", gssdk_user_guidance_searching: "البحث عن وثيقة …", gssdk_photo_library_button: "افتح مكتبة الصور", gssdk_distortion_correction: "تصحيح الانحناء", gssdk_off: "إيقاف", gssdk_on: "تشغيل", gssdk_user_guidance_readability: "تبدو هذه الصفحة ضبابية. حاول مرة أخرى للحصول على نتائج أفضل." }, da: { gssdk_action_back: "Tilbage", gssdk_action_cancel: "Annuller", gssdk_action_capture: "Tag foto", gssdk_action_change_filter: "Ændr filter", gssdk_action_crop: "Beskær", gssdk_action_discard: "Kassér", gssdk_action_done: "Færdig", gssdk_action_next: "Næste", gssdk_action_retry: "Prøv igen", gssdk_action_rotate_left: "Roter til venstre", gssdk_camera_permission_denied_message: "Du skal give %s adgang til kameraet i indstillingerne.", gssdk_camera_permission_denied_title: "%s kan ikke få adgang til dit kamera", gssdk_crop_autodetect: "Opfang", gssdk_crop_maximize: "Maksimér", gssdk_filter_instructions: "Vælg et filter, der skal anvendes", gssdk_filter_automatic: "Automatisk", gssdk_filter_automatic_black_and_white: "Sort/hvid (auto)", gssdk_filter_automatic_color: "Farve (auto)", gssdk_filter_automatic_monochrome: "Monokrom (auto)", gssdk_filter_black_and_white: "Sort/hvid", gssdk_filter_color: "Farve", gssdk_filter_dark_background: "Mørk baggrund", gssdk_filter_monochrome: "Monokrom", gssdk_filter_none: "Ingen", gssdk_filter_photo: "Foto", gssdk_filter_soft_black_and_white: "Sort/hvid (soft)", gssdk_filter_soft_color: "Farve (soft)", gssdk_filter_strong_black_and_white: "Sort/hvid (kraftigt)", gssdk_filter_strong_color: "Farve (kraftigt)", gssdk_filter_strong_monochrome: "Monokrom (kraftigt)", gssdk_flow_page: "Side", gssdk_flow_add_page: "Tilføj side", gssdk_flow_add_pages: "Vil du gerne føje en anden side til dit dokument?", gssdk_flow_cancel: "Annuller", gssdk_flow_done: "Færdig (%d)", gssdk_progress_generating_document: "Generering af dokument", gssdk_progress_recognizing_text: "Genkendelse af tekst", gssdk_settings: "Indstillinger", gssdk_user_guidance_document_found: "Dokument fundet. Hold stille.", gssdk_user_guidance_searching: "Søger efter dokument…", gssdk_photo_library_button: "Åben fotobiblioteket", gssdk_distortion_correction: "Korrektion af krumning", gssdk_off: "Fra", gssdk_on: "Til", gssdk_user_guidance_readability: "Denne side er utydelig. Prøv igen for at få et bedre resultat." }, de: { gssdk_action_back: "Zurück", gssdk_action_cancel: "Abbrechen", gssdk_action_capture: "Foto aufnehmen", gssdk_action_change_filter: "Filter wechseln", gssdk_action_crop: "Beschneiden", gssdk_action_discard: "Verwerfen", gssdk_action_done: "Fertig", gssdk_action_next: "Weiter", gssdk_action_retry: "Erneut", gssdk_action_rotate_left: "Nach links drehen", gssdk_camera_permission_denied_message: "Sie müssen %s in den Einstellungen Zugriff auf die Kamera gewähren.", gssdk_camera_permission_denied_title: "%s kann nicht auf Ihre Kamera zugreifen", gssdk_crop_autodetect: "Erkennen", gssdk_crop_maximize: "Maximieren", gssdk_filter_instructions: "Wählen Sie einen Filter aus, der angewendet werden soll", gssdk_filter_automatic: "Automatisch", gssdk_filter_automatic_black_and_white: "Schwarz/Weiß (auto)", gssdk_filter_automatic_color: "Farben (auto)", gssdk_filter_automatic_monochrome: "Monochrom (auto)", gssdk_filter_black_and_white: "Schwarz/Weiß", gssdk_filter_color: "Farben", gssdk_filter_dark_background: "Dunkler Hintergrund", gssdk_filter_monochrome: "Monochrom", gssdk_filter_none: "Keine", gssdk_filter_photo: "Foto", gssdk_filter_soft_black_and_white: "Schwarz/Weiß (weich)", gssdk_filter_soft_color: "Farben (weich)", gssdk_filter_strong_black_and_white: "Schwarz/Weiß (stark)", gssdk_filter_strong_color: "Farben (stark)", gssdk_filter_strong_monochrome: "Monochrom (stark)", gssdk_flow_page: "Seite", gssdk_flow_add_page: "Seite hinzufügen", gssdk_flow_add_pages: "Möchten Sie Ihrem Dokument eine weitere Seite hinzufügen?", gssdk_flow_cancel: "Abbrechen", gssdk_flow_done: "Fertig (%d)", gssdk_progress_generating_document: "Dokument erstellen", gssdk_progress_recognizing_text: "Text erkennen", gssdk_settings: "Einstellungen", gssdk_user_guidance_document_found: "Dokument gefunden. Bitte Gerät ruhig halten.", gssdk_user_guidance_searching: "Dokument wird gesucht …", gssdk_photo_library_button: "Fotobibliothek öffnen", gssdk_distortion_correction: "Krümmungskorrektur", gssdk_off: "Aus", gssdk_on: "An", gssdk_user_guidance_readability: "Diese Seite sieht verschwommen aus. Versuchen Sie es erneut, um ein besseres Ergebnis zu erhalten." }, en: { gssdk_action_back: "Back", gssdk_action_cancel: "Cancel", gssdk_action_capture: "Take photo", gssdk_action_change_filter: "Change filter", gssdk_action_crop: "Crop", gssdk_action_discard: "Discard", gssdk_action_done: "Done", gssdk_action_next: "Next", gssdk_action_retry: "Retry", gssdk_action_rotate_left: "Rotate left", gssdk_camera_permission_denied_message: "You need to grant %s access to the camera in the Settings.", gssdk_camera_permission_denied_title: "%s cannot access your camera", gssdk_crop_autodetect: "Detect", gssdk_crop_maximize: "Maximize", gssdk_filter_instructions: "Choose a filter to apply", gssdk_filter_automatic: "Automatic", gssdk_filter_automatic_black_and_white: "Black and white (auto)", gssdk_filter_automatic_color: "Color (auto)", gssdk_filter_automatic_monochrome: "Monochrome (auto)", gssdk_filter_black_and_white: "Black and white", gssdk_filter_color: "Color", gssdk_filter_dark_background: "Dark background", gssdk_filter_monochrome: "Monochrome", gssdk_filter_none: "None", gssdk_filter_photo: "Photo", gssdk_filter_soft_black_and_white: "Black and white (soft)", gssdk_filter_soft_color: "Color (soft)", gssdk_filter_strong_black_and_white: "Black and white (strong)", gssdk_filter_strong_color: "Color (strong)", gssdk_filter_strong_monochrome: "Monochrome (strong)", gssdk_flow_page: "Page", gssdk_flow_add_page: "Add page", gssdk_flow_add_pages: "Would you like to add another page to your document?", gssdk_flow_cancel: "Cancel", gssdk_flow_done: "Done (%d)", gssdk_progress_generating_document: "Generating document", gssdk_progress_recognizing_text: "Recognizing text", gssdk_settings: "Settings", gssdk_user_guidance_document_found: "Document found. Remain steady.", gssdk_user_guidance_searching: "Searching for document…", gssdk_photo_library_button: "Open photo library", gssdk_distortion_correction: "Curvature correction", gssdk_off: "Off", gssdk_on: "On", gssdk_user_guidance_readability: "This page appears blurry. Try again for better results." }, es: { gssdk_action_back: "Volver", gssdk_action_cancel: "Cancelar", gssdk_action_capture: "Hacer foto", gssdk_action_change_filter: "Cambiar filtro", gssdk_action_crop: "Recortar", gssdk_action_discard: "Descartar", gssdk_action_done: "Hecho", gssdk_action_next: "Siguiente", gssdk_action_retry: "Reintentar", gssdk_action_rotate_left: "Girar a la izquierda", gssdk_camera_permission_denied_message: "Debes conceder acceso a %s a la cámara en Ajustes.", gssdk_camera_permission_denied_title: "%s no puede acceder a tu cámara", gssdk_crop_autodetect: "Detectar", gssdk_crop_maximize: "Maximizar", gssdk_filter_instructions: "Elige un filtro", gssdk_filter_automatic: "Automático", gssdk_filter_automatic_black_and_white: "Blanco y negro (auto.)", gssdk_filter_automatic_color: "Color (auto.)", gssdk_filter_automatic_monochrome: "Monocromático (auto.)", gssdk_filter_black_and_white: "Blanco y negro", gssdk_filter_color: "Color", gssdk_filter_dark_background: "Fondo oscuro", gssdk_filter_monochrome: "Monocromático", gssdk_filter_none: "Nada", gssdk_filter_photo: "Foto", gssdk_filter_soft_black_and_white: "Blanco y negro (suave)", gssdk_filter_soft_color: "Color (suave)", gssdk_filter_strong_black_and_white: "Blanco y negro (intenso)", gssdk_filter_strong_color: "Color (intenso)", gssdk_filter_strong_monochrome: "Monocromático (intenso)", gssdk_flow_page: "Página", gssdk_flow_add_page: "Añadir página", gssdk_flow_add_pages: "¿Quieres añadir otra página al documento?", gssdk_flow_cancel: "Cancelar", gssdk_flow_done: "Listo (%d)", gssdk_progress_generating_document: "Generando documento", gssdk_progress_recognizing_text: "Reconociendo texto", gssdk_settings: "Ajustes", gssdk_