UNPKG

@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,039 lines 3.93 MB
(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:sans-serif}#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(t){console.error("vite-plugin-css-injected-by-js",t)}})(); var DA, M, eI, z, ZA, PI, kA, nI, rA, JA, LA, xI, CA = {}, bI = [], Jg = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, sA = Array.isArray; function O(I, A) { for (var g in A) I[g] = A[g]; return I; } function eA(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 ? DA.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 BA(I, E, B, Q, null); } function BA(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 ?? ++eI, __i: -1, __u: 0 }; return Q == null && M.vnode != null && M.vnode(C), C; } function Lg() { return { current: null }; } function b(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 lI(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 lI(I); } } function cA(I) { (!I.__d && (I.__d = !0) && z.push(I) && !aA.__r++ || ZA !== M.debounceRendering) && ((ZA = M.debounceRendering) || PI)(aA); } function aA() { var I, A, g, B, Q, C, E, o; for (z.sort(kA); I = z.shift(); ) I.__d && (A = z.length, B = void 0, C = (Q = (g = I).__v).__e, E = [], o = [], g.__P && ((B = O({}, Q)).__v = Q.__v + 1, M.vnode && M.vnode(B), PA(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, TI(E, B, o), B.__e != C && lI(B)), z.length > A && z.sort(kA)); aA.__r = 0; } function VI(I, A, g, B, Q, C, E, o, G, w, a) { var i, h, F, U, k, N, y = B && B.__k || bI, s = A.length; for (G = cg(g, A, y, G), i = 0; i < s; i++) (F = g.__k[i]) != null && (h = F.__i === -1 ? CA : y[F.__i] || CA, F.__i = i, N = PA(I, F, h, Q, C, E, o, G, w, a), U = F.__e, F.ref && h.ref != F.ref && (h.ref && nA(h.ref, null, F), a.push(F.ref, F.__c || U, F)), k == null && U != null && (k = U), 4 & F.__u || h.__k === F.__k ? G = WI(F, G, I) : typeof F.type == "function" && N !== void 0 ? G = N : U && (G = U.nextSibling), F.__u &= -7); return g.__e = k, G; } function cg(I, A, g, B) { var Q, C, E, o, G, w = A.length, a = g.length, i = a, h = 0; for (I.__k = [], Q = 0; Q < w; 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 ? BA(null, C, null, null, null) : sA(C) ? BA(b, { children: C }, null, null, null) : C.constructor === void 0 && C.__b > 0 ? BA(C.type, C.props, C.key, C.ref ? C.ref : null, C.__v) : C).__ = I, C.__b = I.__b + 1, E = null, (G = C.__i = qg(C, g, o, i)) !== -1 && (i--, (E = g[G]) && (E.__u |= 2)), E == null || E.__v === null ? (G == -1 && h--, typeof C.type != "function" && (C.__u |= 4)) : G !== o && (G == o - 1 ? h-- : G == o + 1 ? h++ : (G > o ? h-- : h++, C.__u |= 4))) : C = I.__k[Q] = null; if (i) for (Q = 0; Q < a; Q++) (E = g[Q]) != null && !(2 & E.__u) && (E.__e == B && (B = $(E)), XI(E, E)); return B; } function WI(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 = WI(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 m(I, A) { return A = A || [], I == null || typeof I == "boolean" || (sA(I) ? I.some(function(g) { m(g, A); }) : A.push(I)), A; } function qg(I, A, g, B) { var Q = I.key, C = I.type, E = g - 1, o = g + 1, G = A[g]; if (G === null || G && Q == G.key && C === G.type && !(2 & G.__u)) return g; if ((typeof C != "function" || C === b || Q) && B > (G != null && !(2 & G.__u) ? 1 : 0)) for (; E >= 0 || o < A.length; ) { if (E >= 0) { if ((G = A[E]) && !(2 & G.__u) && Q == G.key && C === G.type) return E; E--; } if (o < A.length) { if ((G = A[o]) && !(2 & G.__u) && Q == G.key && C === G.type) return o; o++; } } return -1; } function OA(I, A, g) { A[0] === "-" ? I.setProperty(A, g ?? "") : I[A] = g == null ? "" : typeof g != "number" || Jg.test(A) ? g : g + "px"; } function wA(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 || OA(I.style, A, ""); if (g) for (A in g) B && g[A] === B[A] || OA(I.style, A, g[A]); } else if (A[0] === "o" && A[1] === "n") C = A !== (A = A.replace(nI, "$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 = rA, I.addEventListener(A, C ? LA : JA, C)) : I.removeEventListener(A, C ? LA : JA, 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 mA(I) { return function(A) { if (this.l) { var g = this.l[A.type + I]; if (A.t == null) A.t = rA++; else if (A.t < g.u) return; return g(M.event ? M.event(A) : A); } }; } function PA(I, A, g, B, Q, C, E, o, G, w) { var a, i, h, F, U, k, N, y, s, d, L, t, H, e, n, P, l, Y = A.type; if (A.constructor !== void 0) return null; 128 & g.__u && (G = !!(32 & g.__u), C = [o = A.__e = g.__e]), (a = M.__b) && a(A); A: if (typeof Y == "function") try { if (y = A.props, s = "prototype" in Y && Y.prototype.render, d = (a = Y.contextType) && B[a.__c], L = a ? d ? d.props.value : a.__ : B, g.__c ? N = (i = A.__c = g.__c).__ = i.__E : (s ? A.__c = i = new Y(y, L) : (A.__c = i = new T(y, L), i.constructor = Y, i.render = Kg), d && d.sub(i), i.props = y, i.state || (i.state = {}), i.context = L, i.__n = B, h = i.__d = !0, i.__h = [], i._sb = []), s && i.__s == null && (i.__s = i.state), s && Y.getDerivedStateFromProps != null && (i.__s == i.state && (i.__s = O({}, i.__s)), O(i.__s, Y.getDerivedStateFromProps(y, i.__s))), F = i.props, U = i.state, i.__v = A, h) s && Y.getDerivedStateFromProps == null && i.componentWillMount != null && i.componentWillMount(), s && i.componentDidMount != null && i.__h.push(i.componentDidMount); else { if (s && Y.getDerivedStateFromProps == null && y !== F && i.componentWillReceiveProps != null && i.componentWillReceiveProps(y, L), !i.__e && (i.shouldComponentUpdate != null && i.shouldComponentUpdate(y, i.__s, L) === !1 || A.__v === g.__v)) { for (A.__v !== g.__v && (i.props = y, i.state = i.__s, i.__d = !1), A.__e = g.__e, A.__k = g.__k, A.__k.some(function(J) { J && (J.__ = 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(y, i.__s, L), s && i.componentDidUpdate != null && i.__h.push(function() { i.componentDidUpdate(F, U, k); }); } if (i.context = L, i.props = y, i.__P = I, i.__e = !1, H = M.__r, e = 0, s) { for (i.state = i.__s, i.__d = !1, H && H(A), a = i.render(i.props, i.state, i.context), n = 0; n < i._sb.length; n++) i.__h.push(i._sb[n]); i._sb = []; } else do i.__d = !1, H && H(A), a = 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 = O(O({}, B), i.getChildContext())), s && !h && i.getSnapshotBeforeUpdate != null && (k = i.getSnapshotBeforeUpdate(F, U)), o = VI(I, sA(P = a != null && a.type === b && a.key == null ? a.props.children : a) ? P : [P], A, g, B, Q, C, E, o, G, w), i.base = A.__e, A.__u &= -161, i.__h.length && E.push(i), N && (i.__E = i.__ = null); } catch (J) { if (A.__v = null, G || C != null) if (J.then) { for (A.__u |= G ? 160 : 128; o && o.nodeType === 8 && o.nextSibling; ) o = o.nextSibling; C[C.indexOf(o)] = null, A.__e = o; } else for (l = C.length; l--; ) eA(C[l]); else A.__e = g.__e, A.__k = g.__k; M.__e(J, A, g); } else C == null && A.__v === g.__v ? (A.__k = g.__k, A.__e = g.__e) : o = A.__e = Yg(g.__e, A, g, B, Q, C, E, G, w); return (a = M.diffed) && a(A), 128 & A.__u ? void 0 : o; } function TI(I, A, g) { for (var B = 0; B < g.length; B++) nA(g[B], g[++B], g[++B]); M.__c && M.__c(A, I), I.some(function(Q) { try { I = Q.__h, Q.__h = [], I.some(function(C) { C.call(Q); }); } catch (C) { M.__e(C, Q.__v); } }); } function Yg(I, A, g, B, Q, C, E, o, G) { var w, a, i, h, F, U, k, N = g.props, y = 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 (w = 0; w < C.length; w++) if ((F = C[w]) && "setAttribute" in F == !!s && (s ? F.localName === s : F.nodeType === 3)) { I = F, C[w] = null; break; } } if (I == null) { if (s === null) return document.createTextNode(y); I = document.createElementNS(Q, s, y.is && y), o && (M.__m && M.__m(A, C), o = !1), C = null; } if (s === null) N === y || o && I.data === y || (I.data = y); else { if (C = C && DA.call(I.childNodes), N = g.props || CA, !o && C != null) for (N = {}, w = 0; w < I.attributes.length; w++) N[(F = I.attributes[w]).name] = F.value; for (w in N) if (F = N[w], w != "children") { if (w == "dangerouslySetInnerHTML") i = F; else if (!(w in y)) { if (w == "value" && "defaultValue" in y || w == "checked" && "defaultChecked" in y) continue; wA(I, w, null, F, Q); } } for (w in y) F = y[w], w == "children" ? h = F : w == "dangerouslySetInnerHTML" ? a = F : w == "value" ? U = F : w == "checked" ? k = F : o && typeof F != "function" || N[w] === F || wA(I, w, F, N[w], Q); if (a) o || i && (a.__html === i.__html || a.__html === I.innerHTML) || (I.innerHTML = a.__html), A.__k = []; else if (i && (I.innerHTML = ""), VI(I, sA(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, G), C != null) for (w = C.length; w--; ) eA(C[w]); o || (w = "value", s === "progress" && U == null ? I.removeAttribute("value") : U !== void 0 && (U !== I[w] || s === "progress" && !U || s === "option" && U !== N[w]) && wA(I, w, U, N[w], Q), w = "checked", k !== void 0 && k !== I[w] && wA(I, w, k, N[w], Q)); } return I; } function nA(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) { M.__e(Q, g); } } function XI(I, A, g) { var B, Q; if (M.unmount && M.unmount(I), (B = I.ref) && (B.current && B.current !== I.__e || nA(B, null, A)), (B = I.__c) != null) { if (B.componentWillUnmount) try { B.componentWillUnmount(); } catch (C) { M.__e(C, A); } B.base = B.__P = null; } if (B = I.__k) for (Q = 0; Q < B.length; Q++) B[Q] && XI(B[Q], A, g || typeof I.type != "function"); g || eA(I.__e), I.__c = I.__ = I.__e = void 0; } function Kg(I, A, g) { return this.constructor(I, g); } function EA(I, A, g) { var B, Q, C, E; A === document && (A = document.documentElement), M.__ && M.__(I, A), Q = (B = typeof g == "function") ? null : g && g.__k || A.__k, C = [], E = [], PA(A, I = (!B && g || A).__k = V(b, null, [I]), Q || CA, CA, A.namespaceURI, !B && g ? [g] : Q ? null : A.firstChild ? DA.call(A.childNodes) : null, C, !B && g ? g : Q ? Q.__e : A.firstChild, B, E), TI(C, I, E); } function ZI(I, A) { EA(I, A, ZI); } function dg(I, A, g) { var B, Q, C, E, o = O({}, 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 ? DA.call(arguments, 2) : g), BA(I.type, o, B || I.key, Q || I.ref, null); } function xA(I, A) { var g = { __c: A = "__cC" + xI++, __: 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, cA(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; } DA = bI.slice, M = { __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; } }, eI = 0, T.prototype.setState = function(I, A) { var g; g = this.__s != null && this.__s !== this.state ? this.__s : this.__s = O({}, this.state), typeof I == "function" && (I = I(O({}, g), this.props)), I && O(g, I), I != null && this.__v && (A && this._sb.push(A), cA(this)); }, T.prototype.forceUpdate = function(I) { this.__v && (this.__e = !0, I && this.__h.push(I), cA(this)); }, T.prototype.render = b, z = [], PI = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, kA = function(I, A) { return I.__v.__b - A.__v.__b; }, aA.__r = 0, nI = /(PointerCapture)$|Capture$/i, rA = 0, JA = mA(!1), LA = mA(!0), xI = 0; var v, c, NA, pA, AA = 0, OI = [], K = M, vA = K.__b, jA = K.__r, uA = K.diffed, zA = K.__c, _A = K.unmount, $A = K.__; function IA(I, A) { K.__h && K.__h(c, I, AA || A), AA = 0; var g = c.__H || (c.__H = { __: [], __h: [] }); return I >= g.__.length && g.__.push({}), g.__[I]; } function q(I) { return AA = 1, bA(jI, I); } function bA(I, A, g) { var B = IA(v++, 2); if (B.t = I, !B.__c && (B.__ = [g ? g(A) : jI(void 0, A), function(o) { var G = B.__N ? B.__N[0] : B.__[0], w = B.t(G, o); G !== w && (B.__N = [w, B.__[1]], B.__c.setState({})); }], B.__c = c, !c.u)) { var Q = function(o, G, w) { if (!B.__c.__H) return !0; var a = B.__c.__H.__.filter(function(h) { return !!h.__c; }); if (a.every(function(h) { return !h.__N; })) return !C || C.call(this, o, G, w); var i = B.__c.props !== o; return a.forEach(function(h) { if (h.__N) { var F = h.__[0]; h.__ = h.__N, h.__N = void 0, F !== h.__[0] && (i = !0); } }), C && C.call(this, o, G, w) || i; }; c.u = !0; var C = c.shouldComponentUpdate, E = c.componentWillUpdate; c.componentWillUpdate = function(o, G, w) { if (this.__e) { var a = C; C = void 0, Q(o, G, w), C = a; } E && E.call(this, o, G, w); }, c.shouldComponentUpdate = Q; } return B.__N || B.__; } function f(I, A) { var g = IA(v++, 3); !K.__s && lA(g.__H, A) && (g.__ = I, g.i = A, c.__H.__h.push(g)); } function iA(I, A) { var g = IA(v++, 4); !K.__s && lA(g.__H, A) && (g.__ = I, g.i = A, c.__h.push(g)); } function j(I) { return AA = 5, X(function() { return { current: I }; }, []); } function mI(I, A, g) { AA = 6, iA(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 X(I, A) { var g = IA(v++, 7); return lA(g.__H, A) && (g.__ = I(), g.__H = A, g.__h = I), g.__; } function QA(I, A) { return AA = 8, X(function() { return I; }, A); } function yA(I) { var A = c.context[I.__c], g = IA(v++, 9); return g.c = I, A ? (g.__ == null && (g.__ = !0, A.sub(c)), A.props.value) : I.__; } function pI(I, A) { K.useDebugValue && K.useDebugValue(A ? A(I) : I); } function vI() { var I = IA(v++, 11); if (!I.__) { for (var A = c.__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 tg() { for (var I; I = OI.shift(); ) if (I.__P && I.__H) try { I.__H.__h.forEach(RA), I.__H.__h.forEach(qA), I.__H.__h = []; } catch (A) { I.__H.__h = [], K.__e(A, I.__v); } } K.__b = function(I) { c = null, vA && vA(I); }, K.__ = function(I, A) { I && A.__k && A.__k.__m && (I.__m = A.__k.__m), $A && $A(I, A); }, K.__r = function(I) { jA && jA(I), v = 0; var A = (c = I.__c).__H; A && (NA === c ? (A.__h = [], c.__h = [], A.__.forEach(function(g) { g.__N && (g.__ = g.__N), g.i = g.__N = void 0; })) : (A.__h.forEach(RA), A.__h.forEach(qA), A.__h = [], v = 0)), NA = c; }, K.diffed = function(I) { uA && uA(I); var A = I.__c; A && A.__H && (A.__H.__h.length && (OI.push(A) !== 1 && pA === K.requestAnimationFrame || ((pA = K.requestAnimationFrame) || fg)(tg)), A.__H.__.forEach(function(g) { g.i && (g.__H = g.i), g.i = void 0; })), NA = c = null; }, K.__c = function(I, A) { A.some(function(g) { try { g.__h.forEach(RA), g.__h = g.__h.filter(function(B) { return !B.__ || qA(B); }); } catch (B) { A.some(function(Q) { Q.__h && (Q.__h = []); }), A = [], K.__e(B, g.__v); } }), zA && zA(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 AI = typeof requestAnimationFrame == "function"; function fg(I) { var A, g = function() { clearTimeout(B), AI && cancelAnimationFrame(A), setTimeout(I); }, B = setTimeout(g, 100); AI && (A = requestAnimationFrame(g)); } function RA(I) { var A = c, g = I.__c; typeof g == "function" && (I.__c = void 0, g()), c = A; } function qA(I) { var A = c; I.__c = I.__(), c = A; } function lA(I, A) { return !I || I.length !== A.length || A.some(function(g, B) { return g !== I[B]; }); } function jI(I, A) { return typeof A == "function" ? A(I) : A; } function YA(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 uI(I, A) { var g = A(), B = q({ t: { __: g, u: A } }), Q = B[0].t, C = B[1]; return iA(function() { Q.__ = g, Q.u = A, MA(Q) && C({ t: Q }); }, [I, g, A]), f(function() { return MA(Q) && C({ t: Q }), I(function() { MA(Q) && C({ t: Q }); }); }, [I]), g; } function MA(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 zI(I) { I(); } function _I(I) { return I; } function $I() { return [!1, zI]; } var Ag = iA; function KA(I, A) { this.props = I, this.context = A; } function rg(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 : YA(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; } (KA.prototype = new T()).isPureReactComponent = !0, KA.prototype.shouldComponentUpdate = function(I, A) { return YA(this.props, I) || YA(this.state, A); }; var II = M.__b; M.__b = function(I) { I.type && I.type.__f && I.ref && (I.props.ref = I.ref, I.ref = null), II && II(I); }; var eg = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911; function Z(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 = eg, A.render = A, A.prototype.isReactComponent = A.__f = !0, A.displayName = "ForwardRef(" + (I.displayName || I.name) + ")", A; } var gI = function(I, A) { return I == null ? null : m(m(I).map(A)); }, Pg = { map: gI, forEach: gI, count: function(I) { return I ? m(I).length : 0; }, only: function(I) { var A = m(I); if (A.length !== 1) throw "Children.only"; return A[0]; }, toArray: m }, ng = M.__e; M.__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); } ng(I, A, g, B); }; var BI = M.unmount; function Ig(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 Ig(B, A, g); })), I; } function gg(I, A, g) { return I && g && (I.__v = null, I.__k = I.__k && I.__k.map(function(B) { return gg(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 Bg(I) { var A = I.__.__c; return A && A.__a && A.__a(I); } function xg(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 gA() { this.i = null, this.l = null; } M.unmount = function(I) { var A = I.__c; A && A.__R && A.__R(), A && 32 & I.__u && (I.type = null), BI && BI(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 = Bg(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 G = B.state.__a; B.__v.__k[0] = gg(G, G.__c.__P, G.__c.__O); } var w; for (B.setState({ __a: B.__b = null }); w = B.o.pop(); ) w.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] = Ig(this.__b, g, B.__O = B.__P); } this.__b = null; } var Q = A.__a && V(b, null, I.fallback); return Q && (Q.__u &= -33), [V(b, null, A.__a ? null : I.children), Q]; }; var QI = 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 bg(I) { return this.getChildContext = function() { return I.context; }, I.children; } function lg(I) { var A = this, g = I.h; A.componentWillUnmount = function() { EA(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); } }), EA(V(bg, { context: A.context }, I.__v), A.v); } function Vg(I, A) { var g = V(lg, { __v: I, h: A }); return g.containerInfo = A, g; } (gA.prototype = new T()).__a = function(I) { var A = this, g = Bg(A.__v), B = A.l.get(I); return B[0]++, function(Q) { var C = function() { A.props.revealOrder ? (B.push(Q), QI(A, I, B)) : Q(); }; g ? g(C) : C(); }; }, gA.prototype.render = function(I) { this.i = null, this.l = /* @__PURE__ */ new Map(); var A = m(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; }, gA.prototype.componentDidUpdate = gA.prototype.componentDidMount = function() { var I = this; this.l.forEach(function(A, g) { QI(I, g, A); }); }; var Qg = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, Wg = /^(?: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]/, Tg = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, Xg = /[A-Z0-9]/g, Zg = typeof document < "u", Og = function(I) { return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(I); }; function Cg(I, A, g) { return A.__k == null && (A.textContent = ""), EA(I, A), typeof g == "function" && g(), I ? I.__c : null; } function mg(I, A, g) { return ZI(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 CI = M.event; function pg() { } function vg() { return this.cancelBubble; } function jg() { return this.defaultPrevented; } M.event = function(I) { return CI && (I = CI(I)), I.persist = pg, I.isPropagationStopped = vg, I.isDefaultPrevented = jg, I.nativeEvent = I; }; var VA, ug = { enumerable: !1, configurable: !0, get: function() { return this.class; } }, EI = M.vnode; M.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 || Zg && E === "children" && B === "noscript" || E === "class" || E === "className")) { var G = E.toLowerCase(); E === "defaultValue" && "value" in g && g.value == null ? E = "value" : E === "download" && o === !0 ? o = "" : G === "translate" && o === "no" ? o = !1 : G[0] === "o" && G[1] === "n" ? G === "ondoubleclick" ? E = "ondblclick" : G !== "onchange" || B !== "input" && B !== "textarea" || Og(g.type) ? G === "onfocus" ? E = "onfocusin" : G === "onblur" ? E = "onfocusout" : Tg.test(E) && (E = G) : G = E = "oninput" : C && Wg.test(E) ? E = E.replace(Xg, "-$&").toLowerCase() : o === null && (o = void 0), G === "oninput" && Q[E = G] && (E = "oninputCapture"), Q[E] = o; } } B == "select" && Q.multiple && Array.isArray(Q.value) && (Q.value = m(g.children).forEach(function(w) { w.props.selected = Q.value.indexOf(w.props.value) != -1; })), B == "select" && Q.defaultValue != null && (Q.value = m(g.children).forEach(function(w) { w.props.selected = Q.multiple ? Q.defaultValue.indexOf(w.props.value) != -1 : Q.defaultValue == w.props.value; })), g.class && !g.className ? (Q.class = g.class, Object.defineProperty(Q, "className", ug)) : (g.className && !g.class || g.class && g.className) && (Q.class = Q.className = g.className), A.props = Q; }(I), I.$$typeof = Qg, EI && EI(I); }; var DI = M.__r; M.__r = function(I) { DI && DI(I), VA = I.__c; }; var iI = M.diffed; M.diffed = function(I) { iI && iI(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), VA = null; }; var zg = { ReactCurrentDispatcher: { current: { readContext: function(I) { return VA.__n[I.__c].props.value; }, useCallback: QA, useContext: yA, useDebugValue: pI, useDeferredValue: _I, useEffect: f, useId: vI, useImperativeHandle: mI, useInsertionEffect: Ag, useLayoutEffect: iA, useMemo: X, useReducer: bA, useRef: j, useState: q, useSyncExternalStore: uI, useTransition: $I } } }; function _g(I) { return V.bind(null, I); } function SA(I) { return !!I && I.$$typeof === Qg; } function $g(I) { return SA(I) && I.type === b; } function AB(I) { return !!I && !!I.displayName && (typeof I.displayName == "string" || I.displayName instanceof String) && I.displayName.startsWith("Memo("); } function IB(I) { return SA(I) ? dg.apply(null, arguments) : I; } function Eg(I) { return !!I.__k && (EA(null, I), !0); } function gB(I) { return I && (I.base || I.nodeType === 1 && I) || null; } var BB = function(I, A) { return I(A); }, QB = function(I, A) { return I(A); }, CB = b, EB = SA, D = { useState: q, useId: vI, useReducer: bA, useEffect: f, useLayoutEffect: iA, useInsertionEffect: Ag, useTransition: $I, useDeferredValue: _I, useSyncExternalStore: uI, startTransition: zI, useRef: j, useImperativeHandle: mI, useMemo: X, useCallback: QA, useContext: yA, useDebugValue: pI, version: "18.3.1", Children: Pg, render: Cg, hydrate: mg, unmountComponentAtNode: Eg, createPortal: Vg, createElement: V, createContext: xA, createFactory: _g, cloneElement: IB, createRef: Lg, Fragment: b, isValidElement: SA, isElement: EB, isFragment: $g, isMemo: AB, findDOMNode: gB, Component: T, PureComponent: KA, memo: rg, forwardRef: Z, flushSync: QB, unstable_batchedUpdates: BB, StrictMode: CB, Suspense: FA, SuspenseList: gA, lazy: xg, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: zg }; function DB(I) { return { // eslint-disable-next-line render: function(A) { Cg(A, I); }, // eslint-disable-next-line unmount: function() { Eg(I); } }; } var iB = 0; function R(I, A, g, B, Q, C) { A || (A = {}); var E, o, G = A; "ref" in A && (E = A.ref, delete A.ref); var w = { type: I, props: G, key: g, ref: E, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --iB, __i: -1, __u: 0, __source: Q, __self: C }; if (typeof I == "function" && (E = I.defaultProps)) for (o in E) G[o] === void 0 && (G[o] = E[o]); return M.vnode && M.vnode(w), w; } const oB = "geniusscansdk-v0-", Dg = (I) => oB + I, GB = (I, A) => { localStorage.setItem(Dg(I), JSON.stringify(A)); }, wB = (I, A) => { const g = localStorage.getItem(Dg(I)); return g ? JSON.parse(g) : A; }; function RB(I, A) { const [g, B] = q(wB(I, A)); return f(() => { GB(I, g); }, [g]), [g, B]; } function oI() { return screen.orientation.type.includes("portrait") ? "portrait" : "landscape"; } function FB() { const [I, A] = q(oI()); return f(() => { const g = () => { A(oI()); }; return screen.orientation.addEventListener("change", g), () => { screen.orientation.removeEventListener("change", g); }; }, []), I; } function ig(I, A) { const g = FB(); return X(() => { let B = "height", Q = A; g === "portrait" && (B = "width", Q = 1 / A); const C = { ideal: I }; return { // Aspect ratio is really important as we will combine those video sources together // for preview, detection and scan. aspectRatio: { exact: Q }, // 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". [B]: C }; }, [g, I, A]); } function aB({ deviceId: I, aspectRatio: A, height: g }) { const [B, Q] = q(null), [C, E] = q(null), o = ig(g, A); return f(() => { E(); const G = { video: { ...o }, audio: !1 }; I ? G.video.deviceId = { exact: I } : G.video.facingMode = "environment"; let w; const a = setTimeout(() => { Q(null), w = navigator.mediaDevices.getUserMedia(G).then((i) => (E(i), i)).catch((i) => { E(null), Q(i); }); }, 100); return () => { clearTimeout(a), w && w.then((i) => { var h; (h = i == null ? void 0 : i.getTracks()) == null || h.forEach((F) => { F.stop(); }); }); }; }, [I, o]), { stream: C, error: B }; } function hB() { const [I, A] = q(null), [g, B] = q(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 f(() => { Q(); }, []), { cameraDevices: g, refresh: Q, error: I }; } async function _(I, A, g, B = []) { return new Promise((Q, C) => { const E = (o) => { const [G, w] = o.data; G === A && (w.error ? C(w.error) : Q(w), I.removeEventListener("message", E)); }; I.addEventListener("message", E), I.postMessage([A, g], { transfer: B }); }); } const sB = "INIT"; async function yB(I, A, g) { return _(I, sB, { licenseKey: A, hostname: g }); } const SB = { 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 UA(I, A) { I = SB[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 HA = { NOT_FOUND_STATUS: 0, SEARCHING_STATUS: 1, ABOUT_TO_TRIGGER_STATUS: 2, TRIGGER_STATUS: 3 }, NB = "DETECT_QUADRANGLE", MB = "RESET_QUADRANGLE", UB = "DELETE_QUADRANGLE"; class HB { constructor(A) { this.worker = A; } async detectQuadrangle(A) { return _(this.worker, NB, { imageBitmap: A }, [A]); } async reset() { return _(this.worker, MB, {}); } async delete() { return _(this.worker, UB, {}); } } const kB = "PROCESS_SCAN", JB = "DELETE_SCAN_PROCESSOR", LB = [ "automatic", "none", "photo", "soft_color", "strong_color", "soft_grayscale", "strong_grayscale", "strong_monochrome", "dark_background" ]; class WA { constructor(A) { this.worker = A; } async process({ imageBitmap: A, filter: g = "automatic", quadrangle: B } = {}) { return _(this.worker, kB, { imageBitmap: A, filter: g, quadrangle: B }, [A]); } async delete() { return _(this.worker, JB, {}); } } const og = { 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: "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: "كشف", 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: "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: "Open photo library", gssdk_distortion_correction: "تصحيح الانحناء", gssdk_off: "إيقاف", gssdk_on: "تشغيل", gssdk_user_guidance_readability: "This page appears blurry. Try again for better results." }, 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: "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: "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: "Done (%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: "Open photo library", gssdk_distortion_correction: "Korrektion af krumning", gssdk_off: "Fra", gssdk_on: "Til", gssdk_user_guidance_readability: "This page appears blurry. Try again for better results." }, 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 versuchen", gssdk_action_rotate_left: "Nach links drehen", 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: "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: "Done (%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: "Open photo library", gssdk_distortion_correction: "Krümmungskorrektur", gssdk_off: "Aus", gssdk_on: "An", gssdk_user_guidance_readability: "This page appears blurry. Try again for better results." }, 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: "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: "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: "Done (%d)", gssdk_progress_generating_document: "Generando documento", gssdk_progress_recognizing_text: "Reconociendo texto", gssdk_settings: "Ajustes", gssdk_user_guidance_document_found: "Se ha detectado el documento. Procura no mover la cámara mientras se escanea.", gssdk_user_guidance_searching: "Buscando documento…", gssdk_photo_library_button: "Open photo library", gssdk_distortion_correction: "Corrección de curvatura", gssdk_off: "No", gssdk_on: "Sí", gssdk_user_guidance_readability: "This page appears