From cf9f9ca21020ca463d2e3e4a4e7f910239ce8ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Tue, 17 Mar 2020 17:44:59 +0100 Subject: [PATCH 1/9] Web support --- .../21FCD138CF06B5B490DA7F14DD306C4A.cache.js | 4 + .../26096D5C9D4499FC412DE6D557CF4723.cache.js | 4 + .../85EFE2E37A204EA7850A307AF743069B.cache.js | 4 + .../EC0F7217F4BCEF91396A176763786FF0.cache.js | 4 + .../F18D8F202F2722AE74CE31DB0E4D35D5.cache.js | 4 + .../assets/compilation-mappings.txt | 16 +++ .../assets/jsqrscanner.nocache.js | 26 ++++ flutter_barcode_reader_web/assets/styles.css | 133 ++++++++++++++++++ .../lib/barcode_web.dart | 109 ++++++++++++++ flutter_barcode_reader_web/pubspec.yaml | 31 ++++ 10 files changed, 335 insertions(+) create mode 100644 flutter_barcode_reader_web/assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js create mode 100644 flutter_barcode_reader_web/assets/26096D5C9D4499FC412DE6D557CF4723.cache.js create mode 100644 flutter_barcode_reader_web/assets/85EFE2E37A204EA7850A307AF743069B.cache.js create mode 100644 flutter_barcode_reader_web/assets/EC0F7217F4BCEF91396A176763786FF0.cache.js create mode 100644 flutter_barcode_reader_web/assets/F18D8F202F2722AE74CE31DB0E4D35D5.cache.js create mode 100644 flutter_barcode_reader_web/assets/compilation-mappings.txt create mode 100644 flutter_barcode_reader_web/assets/jsqrscanner.nocache.js create mode 100644 flutter_barcode_reader_web/assets/styles.css create mode 100644 flutter_barcode_reader_web/lib/barcode_web.dart create mode 100644 flutter_barcode_reader_web/pubspec.yaml diff --git a/flutter_barcode_reader_web/assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js b/flutter_barcode_reader_web/assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js new file mode 100644 index 00000000..df62d567 --- /dev/null +++ b/flutter_barcode_reader_web/assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js @@ -0,0 +1,4 @@ +jsqrscanner.onScriptDownloaded(["var $wnd = $wnd || window.parent;var __gwtModuleFunction = $wnd.jsqrscanner;var $sendStats = __gwtModuleFunction.__sendStats;$sendStats('moduleStartup', 'moduleEvalStart');var $gwt_version = \"2.7.0\";var $strongName = '21FCD138CF06B5B490DA7F14DD306C4A';var $gwt = {};var $doc = $wnd.document;var $moduleName, $moduleBase;function __gwtStartLoadingFragment(frag) {var fragFile = 'deferredjs/' + $strongName + '/' + frag + '.cache.js';return __gwtModuleFunction.__startLoadingFragment(fragFile);}function __gwtInstallCode(code) {return __gwtModuleFunction.__installRunAsyncCode(code);}function __gwt_isKnownPropertyValue(propName, propValue) {return __gwtModuleFunction.__gwt_isKnownPropertyValue(propName, propValue);}function __gwt_getMetaProperty(name) {return __gwtModuleFunction.__gwt_getMetaProperty(name);}var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent && $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;function H(){}\nfunction Z(){}\nfunction Zf(){}\nfunction Vf(){}\nfunction Jb(){}\nfunction Qb(){}\nfunction Ag(){}\nfunction fh(){}\nfunction hh(){}\nfunction sq(){}\nfunction Fr(){}\nfunction Mr(){}\nfunction Or(){}\nfunction Ub(){Sb()}\nfunction eb(){this.A()}\nfunction th(a){this.c=a}\nfunction Ah(a){this.a=a}\nfunction ck(a){this.a=a}\nfunction gm(a){this.a=a}\nfunction ym(a){this.a=a}\nfunction Bm(a){this.a=a}\nfunction Xm(a){this.a=a}\nfunction Zm(a){this.a=a}\nfunction Nn(a){this.a=a}\nfunction ep(a){this.a=a}\nfunction tp(a){this.c=a}\nfunction Di(a){this.c=a}\nfunction Cp(a){this.a=a}\nfunction Hp(a){this.a=a}\nfunction Hq(a){this.a=a}\nfunction bt(a){this.a=a}\nfunction Jl(){this.a=true}\nfunction Eg(a){return true}\nfunction vg(){return yb}\nfunction $p(){Up(this)}\nfunction zs(){ws(this)}\nfunction Ys(){Ws(this)}\nfunction gb(){eb.call(this)}\nfunction Ih(){Eh.call(this)}\nfunction Lh(){Eh.call(this)}\nfunction Ph(){Eh.call(this)}\nfunction _m(){gb.call(this)}\nfunction an(){gb.call(this)}\nfunction zn(){gb.call(this)}\nfunction Gn(){gb.call(this)}\nfunction In(){gb.call(this)}\nfunction Kn(){gb.call(this)}\nfunction $n(){gb.call(this)}\nfunction xq(){gb.call(this)}\nfunction Pm(a,b){a.i=b}\nfunction P(a,b){a.r=b}\nfunction lj(a,b){a.c=b}\nfunction Om(a,b){a.e=b}\nfunction vs(a,b){ys(a.a,b)}\nfunction np(a){op(a,a.b)}\nfunction Uo(a){++a.b;wq(a)}\nfunction Vo(a){--a.b;wq(a)}\nfunction nh(a,b){lh(a,b,a.r)}\nfunction oh(a,b){ph(a,b,a.b)}\nfunction at(a,b){vs(a.a,b.b)}\nfunction Ur(c,a,b){c.a[a]=b}\nfunction Yg(a,b){Qg();Zg(a,b)}\nfunction bo(a,b){return a===b}\nfunction fk(){this.a=new cl}\nfunction gr(){this.a=new fr}\nfunction ht(){ht=Vf;gt=new et}\nfunction kb(){kb=Vf;jb=new H}\nfunction Gb(){Gb=Vf;Fb=new Jb}\nfunction rq(){rq=Vf;qq=new sq}\nfunction Jr(){Jr=Vf;Ir=Lr()}\nfunction zr(){sr.call(this)}\nfunction hs(){Vr.call(this)}\nfunction ps(){Vr.call(this)}\nfunction rs(){gb.call(this)}\nfunction hb(a){fb.call(this,a)}\nfunction ib(a){ab.call(this,a)}\nfunction xh(a){ab.call(this,a)}\nfunction dk(a){fb.call(this,a)}\nfunction Ym(a){fb.call(this,a)}\nfunction bn(a){hb.call(this,a)}\nfunction Hn(a){hb.call(this,a)}\nfunction Jn(a){hb.call(this,a)}\nfunction Ln(a){hb.call(this,a)}\nfunction _n(a){hb.call(this,a)}\nfunction Do(a){hb.call(this,a)}\nfunction Bo(a){Zm.call(this,a)}\nfunction Ao(){Zm.call(this,'')}\nfunction sr(){this.a=this.eb()}\nfunction Vr(){this.a=this.jb()}\nfunction Jm(a){return a.a&&a.p}\nfunction Mj(a,b){return a.a[b]}\nfunction mr(b,a){return b.a[a]}\nfunction mc(a,b){return pn(a,b)}\nfunction Zn(a,b){return a>24}\nfunction Zs(a){return new Js(a)}\nfunction fn(a){en(a);return a.n}\nfunction Yn(a){return a<=0?0-a:a}\nfunction ab(a){this.e=a;this.A()}\nfunction fb(a){this.e=a;this.A()}\nfunction xi(a){yi.call(this,a,a)}\nfunction Eh(){Dh();eb.call(this)}\nfunction ar(a){this.c=a;Zq(this)}\nfunction As(a){ws(this);this.a=a}\nfunction Es(a,b){Hs(b,a.r);Km(a)}\nfunction ct(a,b,c){Xo(a.a,b,c)}\nfunction fq(a,b,c){a.splice(b,c)}\nfunction Sg(a,b){a.__listener=b}\nfunction xo(a,b){a.a+=b;return a}\nfunction yo(a,b){a.a+=b;return a}\nfunction zo(a,b){a.a+=b;return a}\nfunction it(a){ht();return dt(a)}\nfunction Ec(a){return Dc(a)&&xg(a)}\nfunction mg(a){return a.l|a.m<<22}\nfunction tg(){rg==null&&(rg=[])}\nfunction so(){so=Vf;po={};ro={}}\nfunction Eb(){sb!=0&&(sb=0);vb=-1}\nfunction Ob(a,b){Nb();Mb.D(a,b)}\nfunction ki(a,b){Vh.call(this,a,b)}\nfunction zk(a,b){Vh.call(this,a,b)}\nfunction jl(a,b){Vh.call(this,a,b)}\nfunction Tl(a,b){this.a=a;this.b=b}\nfunction pj(a,b){this.a=a;this.b=b}\nfunction Qp(a,b){this.a=a;this.b=b}\nfunction Vh(a,b){this.c=a;this.d=b}\nfunction mi(a,b){this.c=a;this.d=b}\nfunction nk(a,b){this.b=a;this.a=b}\nfunction Ul(a,b){this.b=a;this.a=b}\nfunction Oq(a,b){this.b=a;this.a=b}\nfunction as(a,b){this.b=a;this.c=b}\nfunction ds(a,b){this.a=a;this.b=b}\nfunction Hs(a,b){a.appendChild(b)}\nfunction Is(a,b){a.removeChild(b)}\nfunction ys(a,b){a.apply(null,[b])}\nfunction Lm(a,b){at(a.b,new Rh(b))}\nfunction vq(a,b){a._gwt_modCount=b}\nfunction nr(b,a){return b.a[a]||[]}\nfunction Mn(a,b){return Pn(a.a,b.a)}\nfunction Ac(a){return !Dc(a)&&xg(a)}\nfunction En(a){Cn();return isNaN(a)}\nfunction $s(a,b){return new Ks(a,b)}\nfunction Ks(a,b){this.a=new Gs(a,b)}\nfunction Sh(a){this.b=a;this.a=null}\nfunction Js(a){Ks.call(this,a,null)}\nfunction Db(a){$wnd.clearTimeout(a)}\nfunction Kg(a){$wnd.clearTimeout(a)}\nfunction Jg(a){$wnd.clearInterval(a)}\nfunction Po(a){return !a?null:a.bb()}\nfunction Gc(a){return a==null?null:a}\nfunction ts(a){return a!=null?N(a):0}\nfunction jm(a,b,c){return oj(a,c,c,b)}\nfunction Dc(a){return Array.isArray(a)}\nfunction Dr(a){this.a=a;$p.call(this)}\nfunction ns(a){this.a=a;$p.call(this)}\nfunction cl(){this.a=new ck((Kj(),Jj))}\nfunction Up(a){a.b=nc(Je,st,1,0,3,1)}\nfunction wo(a,b){a.a+=wc(b);return a}\nfunction er(a){var b;b=N(a);return ~~b}\nfunction Tf(a){var b=Sf;return Yf(b[a])}\nfunction _f(a,b,c){return {l:a,m:b,h:c}}\nfunction Pn(a,b){return ab?1:0}\nfunction $q(a){return a.a>>0).toString(b)}\nfunction go(a,b){return jo(a,b,a.length-b)}\nfunction Uj(a,b){return a.a[a.a.length-1-b]}\nfunction ni(a,b){return Gj(a.c,a.d,b.c,b.d)}\nfunction zq(a,b,c){return yq(a,xc(b,13),c)}\nfunction wb(a,b,c){return a.apply(b,c);var d}\nfunction Ng(a,b){return $wnd.setTimeout(a,b)}\nfunction wc(a){return String.fromCharCode(a)}\nfunction Cc(a){return a!=null&&!Fc(a)&&!xg(a)}\nfunction nb(a){return a==null?null:a.message}\nfunction Ij(a){return Ic(a+(a<0?-0.5:0.5))}\nfunction Xn(){Xn=Vf;Wn=nc(Ge,st,30,256,0,1)}\nfunction Sb(){Sb=Vf;Error.stackTraceLimit=64}\nfunction Vq(a,b){this.a=a;this.b=b;this.c=0}\nfunction Fl(a,b,c){Vh.call(this,a,b);this.a=c}\nfunction Wl(a,b,c){mi.call(this,a,b);this.a=c}\nfunction Bk(){zk.call(this,'DATA_MASK_000',0)}\nfunction Dk(){zk.call(this,'DATA_MASK_001',1)}\nfunction Hk(){zk.call(this,'DATA_MASK_011',3)}\nfunction Fk(){zk.call(this,'DATA_MASK_010',2)}\nfunction Nk(){zk.call(this,'DATA_MASK_110',6)}\nfunction Jk(){zk.call(this,'DATA_MASK_100',4)}\nfunction Lk(){zk.call(this,'DATA_MASK_101',5)}\nfunction Pk(){zk.call(this,'DATA_MASK_111',7)}\nfunction Gm(){Hm.call(this,null.Bb(),null.Bb())}\nfunction wp(a){tp.call(this,a);cc(a.b);this.a=0}\nfunction Lq(a){this.c=a;this.a=new ar(this.c.a)}\nfunction ol(a){this.b=kl(a>>3&3);this.a=Hc(a&7)}\nfunction Gp(a){var b;b=jp(a.a);return b.ab()}\nfunction mn(a,b){var c;c=jn(a,b);c.f=2;return c}\nfunction Wp(a,b){_b(b,a.b.length);return a.b[b]}\nfunction yq(a,b,c){Sq(a.a,b);return Aq(a,b.d,c)}\nfunction oc(a,b,c,d,e,f){return pc(a,b,c,d,e,0,f)}\nfunction mo(a,b){return Fc(a)?lo(a,zc(b)):a.K(b)}\nfunction Lg(a,b){return kt(function(){a.F(b)})}\nfunction Tq(a,b){return Bc(b,13)&&Uq(a,xc(b,13))}\nfunction Lo(a,b){return b===a?'(this Map)':''+b}\nfunction bc(a,b){if(a==null){throw new _n(''+b)}}\nfunction ac(a){if(a==null){throw new $n}return a}\nfunction Jc(a){if(a!=null){throw new zn}return null}\nfunction lo(a,b){if(a==b){return 0}return a %s',b))}}\nfunction ws(a){if(!us){us=true;ht();ct(gt,Hf,a);xs(a)}}\nfunction Ws(a){if(!Vs){Vs=true;ht();ct(gt,Kf,a);Xs(a)}}\nfunction Cb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction zc(a){if(a!=null&&!Fc(a)){throw new zn}return a}\nfunction nn(a,b){var c;c=jn('',a);c.k=b;c.f=1;return c}\nfunction Aq(a,b,c){var d;d=a.b[b];tc(a.b,b,c);return d}\nfunction si(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction ui(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction jp(a){return uq(a.c,a),Zb(ip(a)),xc(a.a.J(),17)}\nfunction Ic(a){return ~~Math.max(Math.min(a,mt),-2147483648)}\nfunction Yo(a,b,c){return b==null?qr(a.a,null,c):a.c.nb(b,c)}\nfunction bm(a){var b,c;b=new vm(a.a);c=qm(b);return dm(a,c)}\nfunction wh(){var a;a=zh();if(!bo('ie8',a)){throw new yh(a)}}\nfunction xc(a,b){if(a!=null&&!vc(a,b)){throw new zn}return a}\nfunction Rl(a){Ml();if(a<1||a>40){throw new Gn}return Kl[a-1]}\nfunction cc(a){if(0>a){throw new Ln('Index: 0, Size: '+a)}}\nfunction vm(a){this.c=a;this.d=new $p;this.a=nc(Oc,Nt,0,5,7,1)}\nfunction mb(a){kb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction mm(a,b,c,d){mi.call(this,a,b);this.b=c;this.a=d}\nfunction ij(a,b,c,d){Vh.call(this,a,b);this.b=c;this.a=d}\nfunction xp(a,b){$b(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction $k(a){if(a>=Rk.length){throw Kh(),Kh(),Jh}return Rk[a]}\nfunction Yf(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction Bp(a){var b;b=new kp((new ep(a.a)).a);return new Hp(b)}\nfunction pn(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.P(b))}\nfunction Rg(a){var b=a.__listener;return !Cc(b)&&Bc(b,48)?b:null}\nfunction Fg(a){return a.__gwt_resolve?a.__gwt_resolve():a}\nfunction N(a){return Fc(a)?uo(a):Ac(a)?a.hC():Ec(a)?Bb(a):Bb(a)}\nfunction Sk(){var a;Sk=Vf;Rk=(a=nc(Lc,Lt,0,45,7,1),eo(a,0),a)}\nfunction ll(){il();return qc(mc(ae,1),Mt,33,0,[fl,gl,hl,el])}\nfunction rn(a){if(a.U()){return null}var b=a.k;var c=Sf[b];return c}\nfunction dp(a,b){if(Bc(b,17)){return Jo(a.a,xc(b,17))}return false}\nfunction Gq(a,b){if(Bc(b,17)){return Jo(a.a,xc(b,17))}return false}\nfunction zb(a,b,c){var d;d=xb();try{return wb(a,b,c)}finally{Ab(d)}}\nfunction Gj(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction Hj(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction mj(a,b,c,d,e){this.f=a;this.a=b;this.b=c;this.d=e;this.e=d}\nfunction wj(a){rj();this.d=a;this.c=qj;this.b=nc(Oc,Nt,0,32,7,1)}\nfunction wr(a){this.f=a;this.d=pr(this.f);this.a=nc(Ef,st,17,0,0,1)}\nfunction yb(b){return function(){return zb(b,this,arguments);var a}}\nfunction _q(a){return Zb(a.a=dl.length){throw new Gn}return dl[a]}\nfunction Nj(a,b){if(b==0){throw new _m}return a.a[a.f-a.c[b]-1]}\nfunction _b(a,b){if(a<0||a>=b){throw new Ln('Index: '+a+', Size: '+b)}}\nfunction uq(a,b){if(b._gwt_modCount!=a._gwt_modCount){throw new xq}}\nfunction oq(a,b){var c,d;d=a.b.length;for(c=0;c>22&xt;d=a<0?yt:0;return _f(b,c,d)}\nfunction Zp(a,b,c){var d;d=(_b(b,a.b.length),a.b[b]);tc(a.b,b,c);return d}\nfunction ti(a,b,c){var d;d=c*a.c+~~(b/32);return (a.a[d]>>>(b&31)&1)!=0}\nfunction gk(a,b,c,d){var e;e=a.b?ti(a.a,c,b):ti(a.a,b,c);return e?d<<1|1:d<<1}\nfunction Am(a,b,c){var d,e;d=Yn(c.b-a.a);e=Yn(b.b-a.a);return d=0,'Initial capacity must not be negative')}\nfunction Ab(a){a&&Ib((Gb(),Fb));--sb;if(a){if(vb!=-1){Db(vb);vb=-1}}}\nfunction mk(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Kh(),Kh(),Jh}this.a=a}\nfunction sh(a){if(a.b>=a.c.b){throw new rs}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction Pj(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction pl(a,b){nl();var c;c=ql(a,b);if(c){return c}return ql(a^21522,b^21522)}\nfunction Xp(a,b,c){for(;c=900){throw Kh(),Kh(),Jh}return xc(Wo(ej,Vn(a)),11)}\nfunction Pf(b,c){if(b&&typeof b==lt){try{b.__gwt$exception=c}catch(a){}}}\nfunction hj(a,b,c,d){Vh.call(this,a,b);this.b=qc(mc(Oc,1),Nt,0,7,[c]);this.a=d}\nfunction Dg(a,b,c){var d;d=Bg;Bg=a;b==Cg&&Pg(a.type)==8192&&(Cg=null);c.v(a);Bg=d}\nfunction yk(a,b,c){var d,e;for(d=0;d=d){return false}}return true}\nfunction kg(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return {l:c&xt,m:d&xt,h:e&yt}}\nfunction Pb(a){var b=/function(?:\\s+([\\w$]+))?\\s*\\(/;var c=b.exec(a);return c&&c[1]||'anonymous'}\nfunction Vl(a,b,c,d){var e;if(Yn(c-a.d)<=b&&Yn(d-a.c)<=b){e=Yn(b-a.a);return e<=1||e<=a.a}return false}\nfunction km(a,b,c,d){var e;if(Yn(c-a.d)<=b&&Yn(d-a.c)<=b){e=Yn(b-a.b);return e<=1||e<=a.b}return false}\nfunction ip(a){if(a.a.I()){return true}if(a.a!=a.b){return false}a.a=a.c.a.fb();return a.a.I()}\nfunction Rf(a){var b;if(Bc(a,8)){return a}b=a&&a.__gwt$exception;if(!b){b=new mb(a);Ob(b,a);Pf(a,b)}return b}\nfunction lc(a,b){var c;c=rc(0,b);qc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction kc(a,b){var c;c=a.slice(0,b);qc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction qc(a,b,c,d,e){e.cZ=a;e.cM=b;e.tM=Zf;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}\nfunction hq(a){var b,c,d,e;if(a==null){return 0}e=1;for(c=0,d=a.length;c=d||b-129&&a<128){b=a+128;c=(Xn(),Wn)[b];!c&&(c=Wn[b]=new Nn(a));return c}return new Nn(a)}\nfunction Qf(a){var b;if(Bc(a,31)){b=xc(a,31);if(Gc(b.b)!==Gc((kb(),jb))){return Gc(b.b)===Gc(jb)?null:b.b}}return a}\nfunction uo(a){so();var b=':'+a;var c=ro[b];if(c!=null){return c}c=po[b];c==null&&(c=to(a));vo();return ro[b]=c}\nfunction Nb(){Nb=Vf;var a,b;b=!(!!Error.stackTraceLimit||'stack' in new Error);a=new Ub;Mb=b?new Qb:a}\nfunction xk(){xk=Vf;pk=new Bk;qk=new Dk;rk=new Fk;sk=new Hk;tk=new Jk;uk=new Lk;vk=new Nk;wk=new Pk}\nfunction yg(){$wnd.setTimeout(kt(wh));Gg();ht();new zs;new Ys;$wnd.JsQRScannerReady&&$wnd.JsQRScannerReady()}\nfunction Bq(a){var b;this.a=(b=xc(a.e&&a.e(),21),new Vq(b,xc(lc(b,b.length),21)));this.b=nc(Je,st,1,this.a.a.length,3,1)}\nfunction _l(a,b,c,d,e,f){this.c=a;this.e=new _p(5);this.f=b;this.i=c;this.j=d;this.b=e;this.d=f;this.a=nc(Oc,Nt,0,3,7,1)}\nfunction $b(a,b){if(a>b){throw new Ln('toIndex: '+a+' > size '+b)}if(3>a){throw new Hn('fromIndex: 3 > toIndex: '+a)}}\nfunction Rm(b){if(b.k){var c=b.k;c.stop?c.stop():c.getTracks&&c.getTracks().forEach(function(a){a.stop()});b.k=null}}\nfunction Xf(){!Array.isArray&&(Array.isArray=function(a){return Object.prototype.toString.call(a)==='[object Array]'})}\nfunction co(b,a){if(a==null){return false}if(b==a){return true}return b.length==a.length&&b.toLowerCase()==a.toLowerCase()}\nfunction vr(a){if(a.cb&&d.M(a[f-1],a[f])>0;--f){g=a[f];tc(a,f,a[f-1]);tc(a,f-1,g)}}}\nfunction ko(a,b,c){var d='';for(var e=b;e-129&&a<128){b=a+128;bg==null&&(bg=nc(bd,st,180,256,0,1));c=bg[b];!c&&(c=bg[b]=$f(a));return c}return $f(a)}\nfunction xb(){var a;if(sb!=0){a=rb();if(a-ub>2000){ub=a;vb=$wnd.setTimeout(Eb,10)}}if(sb++==0){Hb((Gb(),Fb));return true}return false}\nfunction $g(){var a=false;for(var b=0;b<$wnd.__gwt_globalEventArray.length;b++){!$wnd.__gwt_globalEventArray[b]()&&(a=true)}return !a}\nfunction wn(a,b){var c=0;while(!b[c]||b[c]==''){c++}var d=b[c++];for(;c>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction lk(a){var b,c;if(!a.c){return}b=(xk(),qc(mc($d,1),Mt,14,0,[pk,qk,rk,sk,tk,uk,vk,wk]))[a.c.a];c=a.a.b;yk(b,a.a,c)}\nfunction kj(){fj();return qc(mc(Fd,1),Mt,11,0,[Ki,Ni,Ui,Vi,Wi,Xi,Yi,Zi,$i,_i,Oi,Pi,Qi,Ri,Si,Ti,bj,Gi,Hi,Ii,Ji,dj,cj,Ei,Fi,Mi,Li])}\nfunction il(){il=Vf;fl=new jl('L',0);gl=new jl('M',1);hl=new jl('Q',2);el=new jl('H',3);dl=qc(mc(ae,1),Mt,33,0,[gl,fl,el,hl])}\nfunction Kj(){Kj=Vf;new Qj(4201,4096,1);new Qj(1033,1024,1);new Qj(67,64,1);new Qj(19,16,1);Jj=new Qj(285,256,0);new Qj(301,256,1)}\nfunction nq(a){var b,c,d;d=1;for(c=new tp(a);c.a=0&&a<=1114111);if(a>=Ft){b[c++]=55296+(a-Ft>>10&1023)&65535;b[c]=56320+(a-Ft&1023)&65535;return 2}else{b[c]=a&65535;return 1}}\nfunction ho(a,b,c){if(co(Rt,c)){return oo(a,b)}else if(co(Pt,c)||co('ISO-LATIN-1',c)){return no(a,b)}else{throw new Ym('Charset '+c+' not supported')}}\nfunction Jo(a,b){var c,d,e;c=b.ab();e=b.bb();d=a.Z(c);if(!(Gc(e)===Gc(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.X(c)){return false}return true}\nfunction yi(a,b){if(a<1||b<1){throw new Hn('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=nc(Oc,Nt,0,this.c*b,7,1)}\nfunction Go(a){var b,c,d,e;e=new Bo('[');b=false;for(d=a.H();d.I();){c=d.J();b?(e.a+=', ',e):(b=true);e.a+=c===a?'(this Collection)':''+c}e.a+=']';return e.a}\nfunction Vj(a,b){var c,d,e;if(b==0){return a.b.i}if(b==1){return a}e=a.a.length;d=nc(Oc,Nt,0,e,7,1);for(c=0;c=0,qc(mc(Je,1),st,1,3,[Vn(b),Vn(c)])),g),h=lc(a,f),Co(a,b,h,0,Zn(a.length-b,f)),h);lq(e,a,b,c,-b,d)}\nfunction rc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e0&&b>0){null.Bb();null.Bb();null.Bb().Bb().Bb(null.Bb());c=new Gm;a=new wj(c);d=new Ah(a);return d}return null}\nfunction lb(a){var b;if(a.c==null){b=Gc(a.b)===Gc(jb)?null:a.b;a.d=b==null?'null':Cc(b)?ob(yc(b)):Fc(b)?'String':fn(L(b));a.a=a.a+': '+(Cc(b)?nb(yc(b)):b+'');a.c='('+a.d+') '+a.a}}\nfunction Lr(){var a;if(Object.create&&Object.getOwnPropertyNames&&Kr()){return (a=Object.create(null),a[cu]=42,Object.getOwnPropertyNames(a).length==0)?new Mr:new Fr}return new Or}\nfunction sc(a,b,c,d,e,f){if(a===c){a=a.slice(b,b+e);b=0}for(var g=b,h=b+e;g>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h=a.a){throw new Hn('Requested row is outside the image: '+b)}e=a.b;(c==null||c.length>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);lq(b,a,i,j,-e,f);lq(b,a,j,h,-e,f);if(f.M(a[j-1],a[j])<=0){while(ca.b){throw new Kn}if(a.b==a.a.length){f=nc(qd,st,26,a.a.length*2,0,1);for(e=0;ec;--d){tc(a.a,d,a.a[d-1])}tc(a.a,c,b)}\nfunction Uf(a,b,c){var d=Sf;var e=Tf;var f=Wf;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=Zf)}for(var i=3;ic-k?0:c-k;h=Zn(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=Zn(a.a.b-1,d+k);if(f-i0&&(a.q==-1?Yg(a.r,b|(a.r.__eventBits||0)):(a.q|=b));a.s()}\nfunction vj(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.b;c=f.a;if(i>=40&&c>=40){d=Em(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=xj(d,h,g,i,c);e=new yi(i,c);yj(d,h,g,i,c,b,e);a.a=e}else{a.a=sj(a)}return a.a}\nfunction jc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new Bo(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=Bp(new Cp(a.a));ip(f.a);){e=xc(Gp(f),8);d?(d=false):(b.a+='; ',b);zo(b,e.B())}return b.a}\nfunction _k(b,c,d){var e,f,g,h,i;h=c.length;e=nc(Oc,Nt,0,h,7,1);for(g=0;g=2){if(!d){d=b}else{a.b=true;return ~~(Ic(Yn(d.c-b.c)-Yn(d.d-b.d))/2)}}}return 0}\nfunction ql(a,b){var c,d,e,f,g,h,i,j;c=mt;d=0;for(g=ml,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?yt:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?yt:0;f=d?xt:0;e=c>>b-44}return {l:e&xt,m:f&xt,h:g&yt}}\nfunction tn(a){if(a.T()){var b=a.c;b.U()?(a.n='['+b.k):!b.T()?(a.n='[L'+b.R()+';'):(a.n='['+b.R());a.b=b.Q()+'[]';a.j=b.S()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=wn('.',[c,wn('$',d)]);a.b=wn('.',[c,wn('.',d)]);a.j=d[d.length-1]}\nfunction Nm(b){var c,d,e,f;if(!(b.a&&b.p))return;try{c=Im();if(c){for(e=new tp(b.d);e.a=0&&d.e>=0){Qh(h,(ji(),gi),Vn(d.e));Qh(h,fi,Vn(d.d))}return h}\nfunction ak(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=nc(Oc,Nt,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=Ic(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=Ic(b+(f-b)*i);h+=em(a,b,c,f,g);return h-1}\nfunction _j(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return qc(mc(Oc,1),Nt,0,7,[b.a[b.a.length-1-1]])}f=nc(Oc,Nt,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);zj(a,q,s,h,d,g)}}}\nfunction oj(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Oh(),Oh(),Nh}e=new yi(b,c);h=nc(Nc,Lt,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}tc(a,0,c);a[1]=d;tc(a,2,e)}\nfunction Sj(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Hn(Tt)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=nc(Oc,Nt,0,d.length,7,1);e=d.length-f.length;Co(d,0,g,0,e);for(c=e;c>3]}}b=uj(d);e=Em(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Kh(),Kh(),Jh}i=nc(Kc,Lt,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d=0;h--){c=gk(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=gk(a,8,g,d)}for(e=b-8;e=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new tp(a.d);f.a8*(b.c.length-b.b)-b.a){throw Kh(),Kh(),Jh}f=nc(Kc,Lt,0,2*d,7,1);g=0;while(d>0){h=Ci(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=Hc(e>>8);f[g+1]=Hc(e);g+=2;--d}try{zo(c,ho(f,f.length,Qt))}catch(a){a=Rf(a);if(Bc(a,45)){throw Kh(),Kh(),Jh}else throw Qf(a)}}\nfunction Wk(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Kh(),Kh(),Jh}f=nc(Kc,Lt,0,2*d,7,1);g=0;while(d>0){h=Ci(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=Hc(e>>8&255);f[g+1]=Hc(e&255);g+=2;--d}try{zo(c,ho(f,f.length,'GB2312'))}catch(a){a=Rf(a);if(Bc(a,45)){throw Kh(),Kh(),Jh}else throw Qf(a)}}\nfunction tc(a,b,c){var d;if(c!=null){switch(a.__elementTypeCategory$){case 4:if(!Fc(c)){throw new an}break;case 0:{d=a.__elementTypeId$;if(!vc(c,d)){throw new an}break}case 2:if(!(!Fc(c)&&!xg(c))){throw new an}break;case 1:{d=a.__elementTypeId$;if(!(!Fc(c)&&!xg(c))&&!vc(c,d)){throw new an}break}}}return a[b]=c}\nfunction Ci(a,b){var c,d,e,f,g;if(b<1||b>32||b>8*(a.c.length-a.b)-a.a){throw new Hn(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Nl(a){var b,c,d,e,f,g;c=17+4*a.d;b=new xi(c);vi(b,0,0,9,9);vi(b,c-8,0,8,9);vi(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){vi(b,c-11,0,3,6);vi(b,0,c-11,6,3)}return b}\nfunction vi(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Hn('Left and top must be nonnegative')}if(e<1||d<1){throw new Hn('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Hn('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=gk(a,d,g,j)}}i=Pl(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=gk(a,c,f,j)}}i=Pl(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Kh(),Kh(),Jh}\nfunction uj(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Oh(),Oh(),Nh}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction Dj(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=Aj(Ej(3.5,3.5,a,3.5,b,c,3.5,d));n=Ej(e,f,g,h,i,j,k,l);return new Cj(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction Cn(){Cn=Vf;Bn=qc(mc(Mc,1),Lt,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Ft,256,16,4,2]);An=qc(mc(Mc,1),Lt,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction eg(a){var b,c,d,e,f,g,h,i;if(En(a)){return qg(),pg}if(a=9223372036854775807){return qg(),ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=At){d=Ic(a/At);a-=d*At}c=0;if(a>=zt){c=Ic(a/zt);a-=c*zt}b=Ic(a);f=_f(b,c,d);e&&(g=~f.l+1&xt,h=~f.m+(g==0?1:0)&xt,i=~f.h+(g==0&&h==0?1:0)&yt,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction al(b,c){var d,e,f,g,h;g=new mk(c);f=null;d=null;try{return bl(b,g)}catch(a){a=Rf(a);if(Bc(a,53)){e=a;f=e}else if(Bc(a,52)){e=a;d=e}else throw Qf(a)}try{lk(g);g.d=null;g.c=null;g.b=true;kk(g);jk(g);hk(g);h=bl(b,g);lj(h,new Jl);return h}catch(a){a=Rf(a);if(Bc(a,53)||Bc(a,52)){e=a;if(f){throw f}if(d){throw d}throw e}else throw Qf(a)}}\nfunction $j(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Yj(a.a,b);q=nc(Oc,Nt,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return Hj(d+q,e,b,c)}return NaN}\nfunction ji(){ji=Vf;ci=new ki('OTHER',0);bi=new ki('ORIENTATION',1);$h=new ki('BYTE_SEGMENTS',2);_h=new ki('ERROR_CORRECTION_LEVEL',3);ai=new ki('ISSUE_NUMBER',4);hi=new ki('SUGGESTED_PRICE',5);ei=new ki('POSSIBLE_COUNTRY',6);ii=new ki('UPC_EAN_EXTENSION',7);di=new ki('PDF417_EXTRA_METADATA',8);gi=new ki('STRUCTURED_APPEND_SEQUENCE',9);fi=new ki('STRUCTURED_APPEND_PARITY',10)}\nfunction Uk(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Kh(),Kh(),Jh}f=Ci(a,11);wo(b,$k(~~(f/45)));wo(b,$k(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Kh(),Kh(),Jh}wo(b,$k(Ci(a,6)))}if(d){for(e=g;ee||b>d){throw new Hn('Crop rectangle does not fit within image data.')}!Y&&(Y=new Z);null.Bb();null.Bb();null.Bb();null.Bb().Bb();null.Bb();for(c=0;c0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=hg(b,fg(c+127<<23));b=hg(b,fg(e));return mg(b)}\nfunction Yk(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Kh(),Kh(),Jh}e=Ci(a,10);if(e>=1000){throw Kh(),Kh(),Jh}wo(b,$k(~~(e/100)));wo(b,$k(~~(e/10)%10));wo(b,$k(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Kh(),Kh(),Jh}f=Ci(a,7);if(f>=100){throw Kh(),Kh(),Jh}wo(b,$k(~~(f/10)));wo(b,$k(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Kh(),Kh(),Jh}d=Ci(a,4);if(d>=10){throw Kh(),Kh(),Jh}wo(b,$k(d))}}\nfunction sm(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=pm(a,c,Ic(h),b[2],m);if(!isNaN(g)){h=om(a,Ic(h),Ic(g),b[2],m);if(!isNaN(h)&&(!e||nm(a,Ic(g),Ic(h),b[2],m))){i=m/7;j=false;for(k=0;k=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return 'gecko1_8';return 'unknown'}\nfunction Xl(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=a.a;i[0]=0;i[1]=0;i[2]=0;f=b;while(f>=0&&ti(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!ti(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Zl(a,i)?f-i[2]-i[1]/2:NaN}\nfunction fo(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=Ic(s.c+i*(g-s.c));l=Ic(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=cm(b,n,k,l,m);break}catch(a){a=Rf(a);if(!Bc(a,51))throw Qf(a)}}}u=im(s,t,f,d,j);e=jm(b.a,u,j);!d?(q=qc(mc(Bd,1),st,27,0,[f,s,t])):(q=qc(mc(Bd,1),st,27,0,[f,s,t,d]));return new pj(e,q)}\nfunction Yl(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=nc(Oc,Nt,0,3,7,1);for(f=0;fn||d+e>j){throw new Kn}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=xc(a,5);f=xc(c,5);if(Gc(a)===Gc(c)&&bd;){tc(f,h,k[--b])}}else{for(h=d+e;d0&&sc(a,b,c,d,e,true)}\nfunction nj(a,b){var c,d,e,f,g,h,i;g=a.d;c=a.b;d=true;for(f=0;fg||i<-1||i>c){throw Oh(),Oh(),Nh}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=Ic(b[e]);i=Ic(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Oh(),Oh(),Nh}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction ok(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new Gn}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=Bn[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=Bn[d]){a*=An[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=eg(a*1048576);a-=lg(e)*9.5367431640625E-7;f=eg(a*4503599627370496);e=hg(e,fg(c+1023<<20));g&&(e=hg(e,{l:0,m:512,h:0}));return hg(ig(e,32),f)}\nfunction om(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&ti(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!ti(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&ti(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return wm(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction pm(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&ti(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!ti(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&ti(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return wm(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction um(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Oh(),Oh(),Nh}if(l>3){n=0;k=0;for(d=new tp(a.d);d.am?Xt*b:m;for(e=0;e3;e++){g=xc(Wp(a.d,e),16);if(Yn(g.b-b)>f){a.d._(e);--e}}}if(a.d.b.length>3){n=0;for(i=new tp(a.d);i.ab){throw new Ln(Zt)}}f=nc(Lc,Lt,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Hn('Invalid UTF8 sequence at '+(h-1)+', byte='+Un(c,16))}d=d<<6|c&63}j+=cn(d,f,j)}return ko(f,0,f.length)}\nfunction qm(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=nc(Oc,Nt,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(wm(l)){b=sm(a,l,e,i,false);if(b){f=l[0];a.b&&(d=tm(a))}}}j=um(a);qi(j);return new Dm(j)}\nfunction bk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new dk('r_{i-1} was zero')}k=m;j=a.a.i;f=Uj(l,l.a.length-1);g=Nj(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Pj(a.a,Uj(k,k.a.length-1),g);j=Sj(j,Lj(a.a,e,n));k=Sj(k,Xj(l,e,n))}r=Sj(Wj(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Jn('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new dk('sigmaTilde(0) was zero')}h=Nj(a.a,q);o=Vj(r,h);i=Vj(k,h);return qc(mc(Ld,1),st,24,0,[o,i])}\nfunction Qm(e,f){function g(b){f.k=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.O()}\nfunction h(a){var b=a.message;f.N(b)}\nvar i=f.n;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\nfunction nm(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&ti(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!ti(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&ti(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&wm(i)}\nfunction Tk(b,c,d){Sk();var e,f,g,h,i,j,k,l,m,n,o,q;e=new Di(b);m=new Ao;f=new _p(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(Dl(),Cl)):(k=Gl(Ci(e,4)));if(k!=(Dl(),Cl)){if(k==wl||k==xl){j=true}else if(k==Bl){if(8*(e.c.length-e.b)-e.a<16){throw Kh(),Kh(),Jh}o=Ci(e,8);l=Ci(e,8)}else if(k==vl){q=Zk(e);i=jj(q);if(!i){throw Kh(),Kh(),Jh}}else{if(k==yl){n=Ci(e,4);h=Ci(e,El(k,c));n==1&&Wk(e,m,h)}else{g=Ci(e,El(k,c));if(k==Al){Yk(e,m,g)}else if(k==tl){Uk(e,m,g,j)}else if(k==ul){Vk(e,m,g,i,f)}else if(k==zl){Xk(e,m,g)}else{throw Kh(),Kh(),Jh}}}}}while(k!=(Dl(),Cl))}catch(a){a=Rf(a);if(Bc(a,12)){throw Kh(),Kh(),Jh}else throw Qf(a)}return new mj(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction Pg(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Ft;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return Ct;case 'touchstart':return 1048576;case 'touchmove':return 2097152;case 'touchend':return zt;case 'touchcancel':return 8388608;case 'gesturestart':return 16777216;case 'gesturechange':return 33554432;case 'gestureend':return 67108864;default:return -1;}}\nfunction Fj(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Rt}if(c&&(m>=3||l>=3)){return Qt}if(b&&c){return m==2&&k==2||f*10>=g?Qt:Pt}if(b){return Pt}if(c){return Qt}if(d){return Rt}return Rt}\n", +"function Zg(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Ug:null);c&3&&(a.ondblclick=b&3?Tg:null);c&4&&(a.onmousedown=b&4?Ug:null);c&8&&(a.onmouseup=b&8?Ug:null);c&16&&(a.onmouseover=b&16?Ug:null);c&32&&(a.onmouseout=b&32?Ug:null);c&64&&(a.onmousemove=b&64?Ug:null);c&128&&(a.onkeydown=b&128?Ug:null);c&256&&(a.onkeypress=b&256?Ug:null);c&512&&(a.onkeyup=b&512?Ug:null);c&1024&&(a.onchange=b&1024?Ug:null);c&2048&&(a.onfocus=b&2048?Ug:null);c&4096&&(a.onblur=b&4096?Ug:null);c&8192&&(a.onlosecapture=b&8192?Ug:null);c&16384&&(a.onscroll=b&16384?Ug:null);c&32768&&(a.nodeName=='IFRAME'?b&32768?a.attachEvent('onload',Vg):a.detachEvent('onload',Vg):(a.onload=b&32768?Wg:null));c&Ft&&(a.onerror=b&Ft?Ug:null);c&131072&&(a.onmousewheel=b&131072?Ug:null);c&262144&&(a.oncontextmenu=b&262144?Ug:null);c&Ct&&(a.onpaste=b&Ct?Ug:null)}\nfunction Xs(g){var d=it(fu);var e,f=g;$wnd.JsQRScanner=kt(function(){var a,b=this,c=arguments;c.length==1&&f.qb(c[0])?(a=c[0]):c.length==2?(a=$s(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new As(c[0]),c[1])):c.length==1&&(a=Zs(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new As(c[0])));b.g=a;jt(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=kt(function(a){this.g.rb(a)});e.getScanInterval=kt(function(){return this.g.sb()});e.getSnapImageMaxSize=kt(function(){return this.g.tb()});e.isActive=kt(function(){return this.g.ub()});e.isScanning=kt(function(){return this.g.vb()});e.removeFrom=kt(function(a){this.g.wb(a)});e.resumeScanning=kt(function(){this.g.xb()});e.setScanInterval=kt(function(a){this.g.yb(a)});e.setSnapImageMaxSize=kt(function(a){this.g.zb(a)});e.stopScanning=kt(function(){this.g.Ab()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction Gg(){var a,b,c;b=$doc.compatMode;a=qc(mc(Ne,1),st,2,4,[Et]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction nl(){nl=Vf;ml=qc(mc(Oc,2),st,7,0,[qc(mc(Oc,1),Nt,0,7,[21522,0]),qc(mc(Oc,1),Nt,0,7,[20773,1]),qc(mc(Oc,1),Nt,0,7,[24188,2]),qc(mc(Oc,1),Nt,0,7,[23371,3]),qc(mc(Oc,1),Nt,0,7,[17913,4]),qc(mc(Oc,1),Nt,0,7,[16590,5]),qc(mc(Oc,1),Nt,0,7,[20375,6]),qc(mc(Oc,1),Nt,0,7,[19104,7]),qc(mc(Oc,1),Nt,0,7,[30660,8]),qc(mc(Oc,1),Nt,0,7,[29427,9]),qc(mc(Oc,1),Nt,0,7,[32170,10]),qc(mc(Oc,1),Nt,0,7,[30877,11]),qc(mc(Oc,1),Nt,0,7,[26159,12]),qc(mc(Oc,1),Nt,0,7,[25368,13]),qc(mc(Oc,1),Nt,0,7,[27713,14]),qc(mc(Oc,1),Nt,0,7,[26998,15]),qc(mc(Oc,1),Nt,0,7,[5769,16]),qc(mc(Oc,1),Nt,0,7,[5054,17]),qc(mc(Oc,1),Nt,0,7,[7399,18]),qc(mc(Oc,1),Nt,0,7,[6608,19]),qc(mc(Oc,1),Nt,0,7,[1890,20]),qc(mc(Oc,1),Nt,0,7,[597,21]),qc(mc(Oc,1),Nt,0,7,[3340,22]),qc(mc(Oc,1),Nt,0,7,[2107,23]),qc(mc(Oc,1),Nt,0,7,[13663,24]),qc(mc(Oc,1),Nt,0,7,[12392,25]),qc(mc(Oc,1),Nt,0,7,[16177,26]),qc(mc(Oc,1),Nt,0,7,[14854,27]),qc(mc(Oc,1),Nt,0,7,[9396,28]),qc(mc(Oc,1),Nt,0,7,[8579,29]),qc(mc(Oc,1),Nt,0,7,[11994,30]),qc(mc(Oc,1),Nt,0,7,[11245,31])])}\nfunction Xg(){$wnd.__gwt_globalEventArray==null&&($wnd.__gwt_globalEventArray=new Array);$wnd.__gwt_globalEventArray[$wnd.__gwt_globalEventArray.length]=kt(function(){return Eg($wnd.event)});var e=kt(function(){var a=fc;fc=this;if($wnd.event.returnValue==null){$wnd.event.returnValue=true;if(!$g()){fc=a;return}}var b=Rg;var c,d=this;while(d&&!(c=b(d))){d=d.parentElement}c&&Dg($wnd.event,d,c);fc=a});var f=kt(function(){var a=$doc.createEventObject();$wnd.event.returnValue==null&&$wnd.event.srcElement.fireEvent&&$wnd.event.srcElement.fireEvent('onclick',a);if(this.__eventBits&2){e.call(this)}else if($wnd.event.returnValue==null){$wnd.event.returnValue=true;$g()}});var g=kt(function(){this.__gwtLastUnhandledEvent=$wnd.event.type;e.call(this)});var h=$moduleName.replace(/\\./g,'_');$wnd['__gwt_dispatchEvent_'+h]=e;Ug=(new Function('w','return function() { w.__gwt_dispatchEvent_'+h+'.call(this) }'))($wnd);$wnd['__gwt_dispatchDblClickEvent_'+h]=f;Tg=(new Function('w','return function() { w.__gwt_dispatchDblClickEvent_'+h+Gt))($wnd);$wnd['__gwt_dispatchUnhandledEvent_'+h]=g;Wg=(new Function('w',Ht+h+Gt))($wnd);Vg=(new Function('w',Ht+h+'.call(w.event.srcElement)}'))($wnd);var i=kt(function(){e.call($doc.body)});var j=kt(function(){f.call($doc.body)});$doc.body.attachEvent('onclick',i);$doc.body.attachEvent('onmousedown',i);$doc.body.attachEvent('onmouseup',i);$doc.body.attachEvent('onmousemove',i);$doc.body.attachEvent('onmousewheel',i);$doc.body.attachEvent('onkeydown',i);$doc.body.attachEvent('onkeypress',i);$doc.body.attachEvent('onkeyup',i);$doc.body.attachEvent('onfocus',i);$doc.body.attachEvent('onblur',i);$doc.body.attachEvent('ondblclick',j);$doc.body.attachEvent('oncontextmenu',i)}\nfunction fj(){fj=Vf;var a,b,c,d,e,f,g,h,i,j,k,l;Ki=new ij('Cp437',0,qc(mc(Oc,1),Nt,0,7,[0,2]),qc(mc(Ne,1),st,2,4,[]));Ni=new ij('ISO8859_1',1,qc(mc(Oc,1),Nt,0,7,[1,3]),qc(mc(Ne,1),st,2,4,[Pt]));Ui=new hj('ISO8859_2',2,4,qc(mc(Ne,1),st,2,4,['ISO-8859-2']));Vi=new hj('ISO8859_3',3,5,qc(mc(Ne,1),st,2,4,['ISO-8859-3']));Wi=new hj('ISO8859_4',4,6,qc(mc(Ne,1),st,2,4,['ISO-8859-4']));Xi=new hj('ISO8859_5',5,7,qc(mc(Ne,1),st,2,4,['ISO-8859-5']));Yi=new hj('ISO8859_6',6,8,qc(mc(Ne,1),st,2,4,['ISO-8859-6']));Zi=new hj('ISO8859_7',7,9,qc(mc(Ne,1),st,2,4,['ISO-8859-7']));$i=new hj('ISO8859_8',8,10,qc(mc(Ne,1),st,2,4,['ISO-8859-8']));_i=new hj('ISO8859_9',9,11,qc(mc(Ne,1),st,2,4,['ISO-8859-9']));Oi=new hj('ISO8859_10',10,12,qc(mc(Ne,1),st,2,4,['ISO-8859-10']));Pi=new hj('ISO8859_11',11,13,qc(mc(Ne,1),st,2,4,['ISO-8859-11']));Qi=new hj('ISO8859_13',12,15,qc(mc(Ne,1),st,2,4,['ISO-8859-13']));Ri=new hj('ISO8859_14',13,16,qc(mc(Ne,1),st,2,4,['ISO-8859-14']));Si=new hj('ISO8859_15',14,17,qc(mc(Ne,1),st,2,4,['ISO-8859-15']));Ti=new hj('ISO8859_16',15,18,qc(mc(Ne,1),st,2,4,['ISO-8859-16']));bj=new hj('SJIS',16,20,qc(mc(Ne,1),st,2,4,[Qt]));Gi=new hj('Cp1250',17,21,qc(mc(Ne,1),st,2,4,['windows-1250']));Hi=new hj('Cp1251',18,22,qc(mc(Ne,1),st,2,4,['windows-1251']));Ii=new hj('Cp1252',19,23,qc(mc(Ne,1),st,2,4,['windows-1252']));Ji=new hj('Cp1256',20,24,qc(mc(Ne,1),st,2,4,['windows-1256']));dj=new hj('UnicodeBigUnmarked',21,25,qc(mc(Ne,1),st,2,4,['UTF-16BE','UnicodeBig']));cj=new hj('UTF8',22,26,qc(mc(Ne,1),st,2,4,[Rt]));Ei=new ij('ASCII',23,qc(mc(Oc,1),Nt,0,7,[27,170]),qc(mc(Ne,1),st,2,4,['US-ASCII']));Fi=new gj;Mi=new hj('GB18030',25,29,qc(mc(Ne,1),st,2,4,['GB2312','EUC_CN','GBK']));Li=new hj('EUC_KR',26,30,qc(mc(Ne,1),st,2,4,['EUC-KR']));ej=new fr;aj=new fr;for(b=kj(),c=0,d=b.length;c1?(b.c=pn(this,a-1)):(b.c=this);return b};_.Q=function on(){en(this);return this.b};_.R=function qn(){return fn(this)};_.S=function sn(){en(this);return this.j};_.T=function un(){return (this.f&4)!=0};_.U=function vn(){return (this.f&1)!=0};_.tS=function yn(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(en(this),this.n)};_.f=0;var dn=1;var Je=kn(nt,'Object',1),Sc=kn(ot,'JavaScriptObject$',0),ze=kn(nt,'Class',66);Uf(32,1,{47:1,32:1});_.tS=function Q(){if(!this.r){return '(null handle)'}return this.r.outerHTML};var nd=kn(pt,'UIObject',32);Uf(26,32,qt);_.s=function T(){};_.t=function U(){};_.u=function V(){R(this)};_.v=function W(a){var b;switch(Pg(a.type)){case 16:case 32:b=a.relatedTarget||(a.type=='mouseout'?a.toElement:a.fromElement);if(!!b&&gc(this.r,b)){return}}};_.w=function X(){S(this)};_.p=false;_.q=0;var qd=kn(pt,'Widget',26);var Y;Uf(173,1,{});var Qc=kn(rt,'Canvas/CanvasElementSupportDetector',173);Uf(77,173,{},Z);var Pc=kn(rt,'Canvas/CanvasElementSupportDetectedNo',77);Uf(8,1,tt);_.A=function bb(){Ob(this,this.e);return this};_.B=function cb(){return this.e};_.tS=function db(){var a,b;a=fn(this.cZ);b=this.B();return b!=null?a+': '+b:a};var Oe=kn(nt,'Throwable',8);Uf(10,8,ut);var Ce=kn(nt,'Exception',10);Uf(15,10,ut);var Ke=kn(nt,'RuntimeException',15);Uf(81,15,ut);var Uc=kn(vt,'JavaScriptExceptionBase',81);Uf(31,81,{31:1,3:1,10:1,8:1},mb);_.B=function pb(){lb(this);return this.c};_.C=function qb(){return Gc(this.b)===Gc(jb)?null:this.b};var jb;var Rc=kn(ot,'JavaScriptException',31);Uf(152,1,{});var Tc=kn(ot,'Scheduler',152);var sb=0,tb=0,ub=0,vb=-1;Uf(101,152,{},Jb);var Fb;var Vc=kn(vt,'SchedulerImpl',101);var Mb;Uf(163,1,{});var Zc=kn(vt,'StackTraceCreator/Collector',163);Uf(82,163,{},Qb);_.D=function Rb(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(Nb(),d.name||(d.name=Pb(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Oj(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var Ld=kn(St,'GenericGFPoly',24);Uf(120,1,{},ck);var Nd=kn(St,'ReedSolomonDecoder',120);Uf(39,10,{39:1,3:1,10:1,8:1},dk);var Od=kn(St,'ReedSolomonException',39);Uf(116,1,{177:1},fk);var Pd=kn('com.google.zxing.qrcode','QRCodeReader',116);Uf(130,1,{},mk);_.b=false;var Qd=kn(Ut,'BitMatrixParser',130);Uf(64,1,{64:1},nk);_.b=0;var Rd=kn(Ut,'DataBlock',64);Uf(14,13,Vt);var pk,qk,rk,sk,tk,uk,vk,wk;var $d=ln(Ut,'DataMask',14,Ak);Uf(139,14,Vt,Bk);_.L=function Ck(a,b){return (a+b&1)==0};var Sd=ln(Ut,'DataMask/1',139,null);Uf(140,14,Vt,Dk);_.L=function Ek(a,b){return (a&1)==0};var Td=ln(Ut,'DataMask/2',140,null);Uf(141,14,Vt,Fk);_.L=function Gk(a,b){return b%3==0};var Ud=ln(Ut,'DataMask/3',141,null);Uf(142,14,Vt,Hk);_.L=function Ik(a,b){return (a+b)%3==0};var Vd=ln(Ut,'DataMask/4',142,null);Uf(143,14,Vt,Jk);_.L=function Kk(a,b){return (~~(a/2)+~~(b/3)&1)==0};var Wd=ln(Ut,'DataMask/5',143,null);Uf(144,14,Vt,Lk);_.L=function Mk(a,b){var c;c=a*b;return (c&1)+c%3==0};var Xd=ln(Ut,'DataMask/6',144,null);Uf(145,14,Vt,Nk);_.L=function Ok(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var Yd=ln(Ut,'DataMask/7',145,null);Uf(146,14,Vt,Pk);_.L=function Qk(a,b){return ((a+b&1)+a*b%3&1)==0};var Zd=ln(Ut,'DataMask/8',146,null);var Rk;Uf(119,1,{},cl);var _d=kn(Ut,'Decoder',119);Uf(33,13,{33:1,3:1,19:1,13:1},jl);var dl,el,fl,gl,hl;var ae=ln(Ut,'ErrorCorrectionLevel',33,ll);Uf(43,1,{43:1},ol);_.eQ=function rl(a){var b;if(!Bc(a,43)){return false}b=xc(a,43);return this.b==b.b&&this.a==b.a};_.hC=function sl(){return this.b.d<<3|this.a};_.a=0;var ml;var be=kn(Ut,'FormatInformation',43);Uf(22,13,{22:1,3:1,19:1,13:1},Fl);var tl,ul,vl,wl,xl,yl,zl,Al,Bl,Cl;var ce=ln(Ut,'Mode',22,Hl);Uf(129,1,{},Jl);_.a=false;var de=kn(Ut,'QRCodeDecoderMetaData',129);Uf(9,1,{9:1},Ol);_.tS=function Sl(){return ''+this.d};_.c=0;_.d=0;var Kl,Ll;var ge=kn(Ut,'Version',9);Uf(4,1,{4:1},Tl);_.a=0;_.b=0;var ee=kn(Ut,'Version/ECB',4);Uf(6,1,{6:1},Ul);_.b=0;var fe=kn(Ut,'Version/ECBlocks',6);\n", +"Uf(44,27,{27:1,44:1},Wl);_.a=0;var ie=kn(Wt,'AlignmentPattern',44);Uf(148,1,{},_l);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var he=kn(Wt,'AlignmentPatternFinder',148);Uf(128,1,{},gm);var je=kn(Wt,'Detector',128);Uf(16,27,{27:1,16:1},lm,mm);_.a=0;_.b=0;var oe=kn(Wt,'FinderPattern',16);Uf(131,1,{},vm);_.b=false;var me=kn(Wt,'FinderPatternFinder',131);Uf(133,1,Lt,ym);_.M=function zm(a,b){return xm(this,xc(a,16),xc(b,16))};_.a=0;var ke=kn(Wt,'FinderPatternFinder/CenterComparator',133);Uf(132,1,Lt,Bm);_.M=function Cm(a,b){return Am(this,xc(a,16),xc(b,16))};_.a=0;var le=kn(Wt,'FinderPatternFinder/FurthestFromAverageComparator',132);Uf(134,1,{},Dm);var ne=kn(Wt,'FinderPatternInfo',134);Uf(78,122,{},Gm);var pe=kn(Yt,'CanvasLuminanceSource',78);Uf(104,74,qt);_.u=function Tm(){Km(this)};_.w=function Um(){S(this);Rm(this)};_.N=function Vm(a){Lm(this,a)};_.O=function Wm(){this.a&&this.p&&Ig(this.f,this.e)};_.a=false;_.e=0;_.i=0;var re=kn(Yt,'ScannerWidget',104);Uf(108,107,{},Xm);var qe=kn(Yt,'ScannerWidget/1',108);Uf(150,10,ut);var se=kn('java.io','IOException',150);Uf(45,150,{3:1,45:1,10:1,8:1},Ym);var te=kn('java.io','UnsupportedEncodingException',45);Uf(60,1,{});_.tS=function $m(){return this.a};var ue=kn(nt,'AbstractStringBuilder',60);Uf(69,15,ut,_m);var ve=kn(nt,'ArithmeticException',69);Uf(40,15,ut,an,bn);var we=kn(nt,'ArrayStoreException',40);Uf(35,15,ut,zn);var ye=kn(nt,'ClassCastException',35);Uf(65,1,{3:1,65:1});var Ie=kn(nt,'Number',65);var An,Bn;Uf(12,15,{3:1,10:1,12:1,8:1},Gn,Hn);var De=kn(nt,'IllegalArgumentException',12);Uf(50,15,ut,In,Jn);var Ee=kn(nt,'IllegalStateException',50);Uf(37,15,ut,Kn,Ln);var Fe=kn(nt,'IndexOutOfBoundsException',37);Uf(30,65,{3:1,19:1,30:1,65:1},Nn);_.K=function Qn(a){return Mn(this,xc(a,30))};_.eQ=function Rn(a){return Bc(a,30)&&xc(a,30).a==this.a};_.hC=function Sn(){return this.a};_.tS=function Tn(){return ''+this.a};_.a=0;var Ge=kn(nt,'Integer',30);var Wn;Uf(70,15,ut,$n,_n);var He=kn(nt,'NullPointerException',70);var Ne=kn(nt,'String',2);var po,qo=0,ro;Uf(25,60,{175:1},Ao,Bo);var Me=kn(nt,'StringBuilder',25);Uf(71,15,ut,Do);var Pe=kn(nt,'UnsupportedOperationException',71);Uf(166,1,{});_.V=function Ho(a){return Eo(this,a)};_.tS=function Io(){return Go(this)};var Qe=kn($t,'AbstractCollection',166);Uf(165,1,{55:1});_.X=function Mo(a){return !!Ko(this,a)};_.eQ=function No(a){var b,c,d;if(a===this){return true}if(!Bc(a,55)){return false}d=xc(a,55);if(this.W()!=d.W()){return false}for(c=d.Y().H();c.I();){b=xc(c.J(),17);if(!Jo(this,b)){return false}}return true};_.Z=function Oo(a){return Po(Ko(this,a))};_.hC=function Qo(){return mq(this.Y())};_.W=function Ro(){return this.Y().W()};_.tS=function So(){var a,b,c,d;d=new Bo('{');a=false;for(c=this.Y().H();c.I();){b=xc(c.J(),17);a?(d.a+=', ',d):(a=true);zo(d,Lo(this,b.ab()));d.a+='=';zo(d,Lo(this,b.bb()))}d.a+='}';return d.a};var bf=kn($t,'AbstractMap',165);Uf(84,165,{55:1});_.X=function Zo(a){return To(this,a)};_.Y=function $o(){return new ep(this)};_.Z=function _o(a){return Wo(this,a)};_.W=function ap(){return this.b};_.b=0;var Te=kn($t,'AbstractHashMap',84);Uf(167,166,_t);_.eQ=function bp(a){var b;if(a===this){return true}if(!Bc(a,34)){return false}b=xc(a,34);if(b.W()!=this.W()){return false}return Fo(this,b)};_.hC=function cp(){return mq(this)};var cf=kn($t,'AbstractSet',167);Uf(67,167,_t,ep);_.V=function fp(a){return dp(this,a)};_.H=function gp(){return new kp(this.a)};_.W=function hp(){return this.a.b};var Se=kn($t,'AbstractHashMap/EntrySet',67);Uf(68,1,{},kp);_.I=function lp(){return ip(this)};_.J=function mp(){return jp(this)};var Re=kn($t,'AbstractHashMap/EntrySetIterator',68);Uf(168,166,{46:1});_.eQ=function pp(a){var b,c,d,e,f;if(a===this){return true}if(!Bc(a,46)){return false}f=xc(a,46);if(this.W()!=f.W()){return false}e=f.H();for(c=new tp(this);c.a>24}\nfunction Ut(a){return new Et(a)}\nfunction $n(a){Zn(a);return a.n}\nfunction dc(a,b){cc();bc.G(a,b)}\nfunction Zt(a,b,c){Pp(a.a,b,c)}\nfunction pj(a){qj.call(this,a,a)}\nfunction wi(){vi();vb.call(this)}\nfunction wb(a){this.e=a;this.C()}\nfunction rb(a){this.e=a;this.C()}\nfunction Vr(a){this.c=a;Sr(this)}\nfunction vt(a){rt(this);this.a=a}\nfunction _g(a){(ih(),a.t).src=''}\nfunction gb(a,b){yc((ih(),a.t),b)}\nfunction hb(a,b){zc((ih(),a.t),b)}\nfunction xh(a,b){a.__listener=b}\nfunction pp(a,b){a.a+=b;return a}\nfunction qp(a,b){a.a+=b;return a}\nfunction rp(a,b){a.a+=b;return a}\nfunction du(a){cu();return $t(a)}\nfunction Rp(a,b){return ms(a.a,b)}\nfunction _r(a,b){return Lp(a.a,b)}\nfunction Mg(a){return a.l|a.m<<22}\nfunction Ro(a){return a<=0?0-a:a}\nfunction $c(a){return Zc(a)&&Xg(a)}\nfunction Tg(){Rg==null&&(Rg=[])}\nfunction kp(){kp=tg;hp={};jp={}}\nfunction Vb(){Jb!=0&&(Jb=0);Mb=-1}\nfunction $q(a,b,c){a.splice(b,c)}\nfunction Ct(a,b){a.appendChild(b)}\nfunction Dt(a,b){a.removeChild(b)}\nfunction cj(a,b){Ni.call(this,a,b)}\nfunction rl(a,b){Ni.call(this,a,b)}\nfunction bm(a,b){Ni.call(this,a,b)}\nfunction Lm(a,b){this.a=a;this.b=b}\nfunction hk(a,b){this.a=a;this.b=b}\nfunction Jq(a,b){this.a=a;this.b=b}\nfunction $s(a,b){this.a=a;this.b=b}\nfunction Xs(a,b){this.b=a;this.c=b}\nfunction fl(a,b){this.b=a;this.a=b}\nfunction Mm(a,b){this.b=a;this.a=b}\nfunction Hr(a,b){this.b=a;this.a=b}\nfunction Ni(a,b){this.c=a;this.d=b}\nfunction ej(a,b){this.c=a;this.d=b}\nfunction or(a,b){a._gwt_modCount=b}\nfunction tt(a,b){a.apply(null,[b])}\nfunction En(a,b){Xt(a.b,new Ji(b))}\nfunction _h(a,b){Ph(a,b,(ih(),a.t))}\nfunction vh(){if(!th){Dh();th=true}}\nfunction lc(a){if(!a){throw new zo}}\nfunction uc(a){if(!a){throw new Bo}}\nfunction oc(a){if(!a){throw new mt}}\nfunction xo(a){vo();return isNaN(a)}\nfunction Fo(a,b){return Io(a.a,b.a)}\nfunction Vt(a,b){return new Ft(a,b)}\nfunction Ft(a,b){this.a=new Bt(a,b)}\nfunction Ki(a){this.b=a;this.a=null}\nfunction Et(a){Ft.call(this,a,null)}\nfunction Ub(a){$wnd.clearTimeout(a)}\nfunction ph(a){$wnd.clearTimeout(a)}\nfunction oh(a){$wnd.clearInterval(a)}\nfunction ot(a){return a!=null?N(a):0}\nfunction ad(a){return a==null?null:a}\nfunction Hp(a){return !a?null:a.db()}\nfunction Wc(a){return !Zc(a)&&Xg(a)}\nfunction Ac(a,b){return a.contains(b)}\nfunction Io(a,b){return ab?1:0}\nfunction is(b,a){return b.a[a]||[]}\nfunction bn(a,b,c){return gk(a,c,c,b)}\nfunction Zc(a){return Array.isArray(a)}\nfunction Tr(a){return a.a>>0).toString(b)}\nfunction sh(a,b){return $wnd.setTimeout(a,b)}\nfunction Bc(a){return a.currentTarget||$wnd}\nfunction Eb(a){return a==null?null:a.message}\nfunction Yc(a){return a!=null&&!_c(a)&&!Xg(a)}\nfunction Sc(a){return String.fromCharCode(a)}\nfunction Ak(a){return cd(a+(a<0?-0.5:0.5))}\nfunction zq(a){var b;b=cq(a.a);return b.cb()}\nfunction Qo(){Qo=tg;Po=Jc(ef,nu,36,256,0,1)}\nfunction hc(){hc=tg;Error.stackTraceLimit=64}\nfunction Or(a,b){this.a=a;this.b=b;this.c=0}\nfunction xm(a,b,c){Ni.call(this,a,b);this.a=c}\nfunction Om(a,b,c){ej.call(this,a,b);this.a=c}\nfunction At(a,b){Dt(b,(ih(),a.t));U(a);Kn(a)}\nfunction qh(a,b){return fu(function(){a.H(b)})}\nfunction Fn(a){a.a=true;a.a&&a.q&&nh(a.i,a.f)}\nfunction ci(a){bi();try{U(a)}finally{as(ai,a)}}\nfunction tl(){rl.call(this,'DATA_MASK_000',0)}\nfunction vl(){rl.call(this,'DATA_MASK_001',1)}\nfunction zl(){rl.call(this,'DATA_MASK_011',3)}\nfunction xl(){rl.call(this,'DATA_MASK_010',2)}\nfunction Fl(){rl.call(this,'DATA_MASK_110',6)}\nfunction Bl(){rl.call(this,'DATA_MASK_100',4)}\nfunction Dl(){rl.call(this,'DATA_MASK_101',5)}\nfunction Hl(){rl.call(this,'DATA_MASK_111',7)}\nfunction pq(a){mq.call(this,a);tc(a.b);this.a=0}\nfunction Er(a){this.c=a;this.a=new Vr(this.c.a)}\nfunction gm(a){this.b=cm(a>>3&3);this.a=bd(a&7)}\nfunction Dp(a,b){return b===a?'(this Map)':''+b}\nfunction ep(a,b){return _c(a)?dp(a,Vc(b)):a.M(b)}\nfunction Mr(a,b){return Xc(b,13)&&Nr(a,Tc(b,13))}\nfunction ob(d,a,b,c){return d.putImageData(a,b,c)}\nfunction mb(f,a,b,c,d,e){f.drawImage(a,b,c,d,e)}\nfunction Kc(a,b,c,d,e,f){return Lc(a,b,c,d,e,0,f)}\nfunction rr(a,b,c){Lr(a.a,b);return tr(a,b.d,c)}\nfunction Pq(a,b){qc(b,a.b.length);return a.b[b]}\nfunction Oq(a,b){Pc(a.b,a.b.length,b);return true}\nfunction _b(a,b){!a&&(a=[]);a[a.length]=b;return a}\nfunction fo(a,b){var c;c=bo(a,b);c.f=2;return c}\nfunction rc(a){if(a==null){throw new To}return a}\nfunction dd(a){if(a!=null){throw new so}return null}\nfunction sc(a,b){if(a==null){throw new Uo(''+b)}}\nfunction dp(a,b){if(a==b){return 0}return a %s',b))}}\nfunction $g(a){(ih(),a.t).setAttribute('autoplay','')}\nfunction R(a){(ih(),a.t).className='qrPreviewVideo'}\nfunction wn(a){this.a=a[0];this.b=a[1];this.c=a[2]}\nfunction np(){if(ip==256){hp=jp;jp={};ip=0}++ip}\nfunction rt(a){if(!pt){pt=true;cu();Zt(bu,fg,a);st(a)}}\nfunction Rt(a){if(!Qt){Qt=true;cu();Zt(bu,ig,a);St(a)}}\nfunction Tb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction ks(a){return Object.getOwnPropertyNames(a.a)}\nfunction Ms(a){return Object.getOwnPropertyNames(a.a)}\nfunction Yr(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction nt(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction Rc(a,b){return _c(a)&&!!Qc[b]||a.cM&&!!a.cM[b]}\nfunction L(a){return _c(a)?mf:Wc(a)?a.cZ:$c(a)?a.cZ:od}\nfunction cq(a){return nr(a.c,a),oc(bq(a)),Tc(a.a.L(),17)}\nfunction Cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction Hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction pb(d,a,b,c){return d.data[4*(a+b*d.width)+c]||0}\nfunction tr(a,b,c){var d;d=a.b[b];Pc(a.b,b,c);return d}\nfunction kj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction mj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction Ph(a,b,c){V(b);di(a.p,b);ih();wc(c,kh(b.t));W(b,a)}\nfunction ak(a,b,c,d){Ni.call(this,a,b);this.b=c;this.a=d}\nfunction en(a,b,c,d){ej.call(this,a,b);this.b=c;this.a=d}\nfunction Db(a){Bb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction Vc(a){if(a!=null&&!_c(a)){throw new so}return a}\nfunction Tc(a,b){if(a!=null&&!Rc(a,b)){throw new so}return a}\nfunction oi(){var a;a=ri();if(!Wo(Gu,a)){throw new qi(a)}}\nfunction Vm(a){var b,c;b=new on(a.a);c=jn(b);return Xm(a,c)}\nfunction Jm(a){Em();if(a<1||a>40){throw new zo}return Cm[a-1]}\nfunction tc(a){if(0>a){throw new Eo('Index: 0, Size: '+a)}}\nfunction on(a){this.c=a;this.d=new Tq;this.a=Jc(jd,Mu,0,5,7,1)}\nfunction zn(a){An.call(this,a,(ih(),a.t).width,a.t.height)}\nfunction cd(a){return ~~Math.max(Math.min(a,hu),-2147483648)}\nfunction Qp(a,b,c){return b==null?ls(a.a,null,c):a.c.pb(b,c)}\nfunction dm(){am();return Mc(Ic(Ae,1),Lu,39,0,[Zl,$l,_l,Yl])}\nfunction Kl(){var a;Kl=tg;Jl=(a=Jc(fd,Ku,0,45,7,1),Yo(a,0),a)}\nfunction N(a){return _c(a)?mp(a):Wc(a)?a.hC():$c(a)?Sb(a):Sb(a)}\nfunction kh(a){ih();return a.__gwt_resolve?a.__gwt_resolve():a}\nfunction wg(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction uq(a){var b;b=new dq((new Zp(a.a)).a);return new Aq(b)}\nfunction hi(a,b){var c;c=ei(a,b);if(c==-1){throw new mt}gi(a,c)}\nfunction io(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.R(b))}\nfunction wh(a){var b=a.__listener;return !Yc(b)&&Xc(b,31)?b:null}\nfunction Fk(a,b){if(b==0){throw new Un}return a.a[a.f-a.c[b]-1]}\nfunction Sl(a){if(a>=Jl.length){throw Ci(),Ci(),Bi}return Jl[a]}\nfunction Yp(a,b){if(Xc(b,17)){return Bp(a.a,Tc(b,17))}return false}\nfunction zr(a,b){if(Xc(b,17)){return Bp(a.a,Tc(b,17))}return false}\nfunction ko(a){if(a.W()){return null}var b=a.k;var c=qg[b];return c}\nfunction Uc(a){if(a!=null&&!(!_c(a)&&!Xg(a))){throw new so}return a}\nfunction cm(a){am();if(a<0||a>=Xl.length){throw new zo}return Xl[a]}\nfunction qq(a,b){pc(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction ek(a,b,c,d,e){this.f=a;this.a=b;this.b=c;this.d=e;this.e=d}\nfunction ok(a){jk();this.d=a;this.c=ik;this.b=Jc(jd,Mu,0,32,7,1)}\nfunction rs(a){this.f=a;this.d=ks(this.f);this.a=Jc(cg,nu,17,0,0,1)}\nfunction Pb(b){return function(){return Qb(b,this,arguments);var a}}\nfunction Qb(a,b,c){var d;d=Ob();try{return Nb(a,b,c)}finally{Rb(d)}}\nfunction yk(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction zk(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction eo(a,b,c,d){var e;e=bo(a,b);qo(c,e);e.f=d?8:0;e.e=d;return e}\nfunction Jc(a,b,c,d,e,f){var g;g=Nc(e,d);Mc(Ic(a,f),b,c,e,g);return g}\nfunction J(a,b){return _c(a)?Wo(a,b):Wc(a)?a.eQ(b):$c(a)?a===b:a===b}\nfunction Ur(a){return oc(a.a>22&su;d=a<0?tu:0;return zg(b,c,d)}\nfunction wm(a,b){var c,d;c=b.d;c<=9?(d=0):c<=26?(d=1):(d=2);return a.a[d]}\nfunction Sq(a,b,c){var d;d=(qc(b,a.b.length),a.b[b]);Pc(a.b,b,c);return d}\nfunction lj(a,b,c){var d;d=c*a.c+~~(b/32);return (a.a[d]>>>(b&31)&1)!=0}\nfunction el(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Ci(),Ci(),Bi}this.a=a}\nfunction Jh(a){var b;b=Lh(a);if(!b){return}jh(a,b.nodeType!=1?null:b,wh(b))}\nfunction Rb(a){a&&Zb((Xb(),Wb));--Jb;if(a){if(Mb!=-1){Ub(Mb);Mb=-1}}}\nfunction bb(a){var b;T(a);b=Cc((ih(),a.t));-1==b&&(a.t.tabIndex=0,undefined)}\nfunction ei(a,b){var c;for(c=0;c=b){throw new Eo('Index: '+a+', Size: '+b)}}\nfunction ki(a){if(a.b>=a.c.b){throw new mt}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction Hk(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction Ib(){if(Date.now){return Date.now()}return (new Date).getTime()}\nfunction Uq(a){Nq(this);mc(a>=0,'Initial capacity must not be negative')}\nfunction bk(a){Zj();if(a<0||a>=900){throw Ci(),Ci(),Bi}return Tc(Op(Yj,Oo(a)),11)}\nfunction hm(a,b){fm();var c;c=im(a,b);if(c){return c}return im(a^21522,b^21522)}\nfunction Ec(a){var b;b=uq(new vq(a.a));if(!bq(b.a)){return null}return Tc(zq(b),8)}\nfunction Qq(a,b,c){for(;c=d){return false}}return true}\nfunction Kg(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return {l:c&su,m:d&su,h:e&tu}}\nfunction ec(a){var b=/function(?:\\s+([\\w$]+))?\\s*\\(/;var c=b.exec(a);return c&&c[1]||'anonymous'}\nfunction Nm(a,b,c,d){var e;if(Ro(c-a.d)<=b&&Ro(d-a.c)<=b){e=Ro(b-a.a);return e<=1||e<=a.a}return false}\nfunction cn(a,b,c,d){var e;if(Ro(c-a.d)<=b&&Ro(d-a.c)<=b){e=Ro(b-a.b);return e<=1||e<=a.b}return false}\nfunction bq(a){if(a.a.K()){return true}if(a.a!=a.b){return false}a.a=a.c.a.hb();return a.a.K()}\nfunction pg(a){var b;if(Xc(a,8)){return a}b=a&&a.__gwt$exception;if(!b){b=new Db(a);dc(b,a);ng(a,b)}return b}\nfunction Hc(a,b){var c;c=Nc(0,b);Mc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction Gc(a,b){var c;c=a.slice(0,b);Mc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction Mc(a,b,c,d,e){e.cZ=a;e.cM=b;e.tM=xg;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}\nfunction ar(a){var b,c,d,e;if(a==null){return 0}e=1;for(c=0,d=a.length;c=a.b){throw new Do}--a.b;for(c=b;c-129&&a<128){b=a+128;c=(Qo(),Po)[b];!c&&(c=Po[b]=new Go(a));return c}return new Go(a)}\nfunction wp(a,b){var c,d;for(d=a.I();d.K();){c=d.L();if(ad(b)===ad(c)||b!=null&&J(b,c)){return true}}return false}\nfunction og(a){var b;if(Xc(a,37)){b=Tc(a,37);if(ad(b.b)!==ad((Bb(),Ab))){return ad(b.b)===ad(Ab)?null:b.b}}return a}\nfunction oj(a){var b,c,d;b=new sp;for(d=0;d=d||bb&&d.O(a[f-1],a[f])>0;--f){g=a[f];Pc(a,f,a[f-1]);Pc(a,f-1,g)}}}\nfunction Dn(b){var c;T(b);_g(b.k);try{Jn((ih(),b.k.t),b)}catch(a){a=pg(a);if(Xc(a,8)){c=a;En(b,c.D())}else throw og(a)}}\nfunction qs(a){if(a.cb){throw new Eo('toIndex: '+a+' > size '+b)}if(3>a){throw new Ao('fromIndex: 3 > toIndex: '+a)}}\nfunction Q(a,b,c){b>=0&&((ih(),a.t).style['width']=b+'px',undefined);c>=0&&((ih(),a.t).style['height']=c+'px',undefined)}\nfunction Ho(a){a-=a>>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction am(){am=tg;Zl=new bm('L',0);$l=new bm('M',1);_l=new bm('Q',2);Yl=new bm('H',3);Xl=Mc(Ic(Ae,1),Lu,39,0,[$l,Zl,Yl,_l])}\nfunction Ck(){Ck=tg;new Ik(4201,4096,1);new Ik(1033,1024,1);new Ik(67,64,1);new Ik(19,16,1);Bk=new Ik(285,256,0);new Ik(301,256,1)}\nfunction hq(a,b){var c,d;d=new pq(a);for(c=0;c2000){Lb=a;Mb=$wnd.setTimeout(Vb,10)}}if(Jb++==0){Yb((Xb(),Wb));return true}return false}\nfunction Fg(a){var b,c;if(a>-129&&a<128){b=a+128;Bg==null&&(Bg=Jc(zd,nu,184,256,0,1));c=Bg[b];!c&&(c=Bg[b]=yg(a));return c}return yg(a)}\nfunction Im(b){Em();if(b%4!=1){throw Ci(),Ci(),Bi}try{return Jm(~~((b-17)/4))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction V(a){if(!a.s){bi();_r(ai,a)&&ci(a)}else if(a.s){Qh(a.s,a)}else if(a.s){throw new Co(\"This widget's parent does not implement HasWidgets\")}}\nfunction Xn(a,b,c){lc(a>=0&&a<=1114111);if(a>=Au){b[c++]=55296+(a-Au>>10&1023)&65535;b[c]=56320+(a-Au&1023)&65535;return 2}else{b[c]=a&65535;return 1}}\nfunction _o(a,b,c){if(Xo(Qu,c)){return gp(a,b)}else if(Xo(Ou,c)||Xo('ISO-LATIN-1',c)){return fp(a,b)}else{throw new Rn('Charset '+c+' not supported')}}\nfunction Bp(a,b){var c,d,e;c=b.cb();e=b.db();d=a._(c);if(!(ad(e)===ad(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.Z(c)){return false}return true}\nfunction qj(a,b){if(a<1||b<1){throw new Ao('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=Jc(jd,Mu,0,this.c*b,7,1)}\nfunction xn(a){var b,c,d,e,f,g,h,i;i=a.f;c=a.e;b=i*c;f=Jc(ed,Ku,0,b,7,1);for(d=0;d=0,Mc(Ic(hf,1),nu,1,3,[Oo(b),Oo(c)])),g),h=Hc(a,f),up(a,b,h,0,So(a.length-b,f)),h);er(e,a,b,c,-b,d)}\nfunction Nc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);er(b,a,i,j,-e,f);er(b,a,j,h,-e,f);if(f.O(a[j-1],a[j])<=0){while(ca.b){throw new Do}if(a.b==a.a.length){f=Jc(Qd,nu,20,a.a.length*2,0,1);for(e=0;ec;--d){Pc(a.a,d,a.a[d-1])}Pc(a.a,c,b)}\nfunction sg(a,b,c){var d=qg;var e=rg;var f=ug;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=xg)}for(var i=3;ic-k?0:c-k;h=So(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=So(a.a.b-1,d+k);if(f-i=a.e){throw new Ao('Requested row is outside the image: '+b)}e=a.f;(c==null||c.length>24}return c}\nfunction nk(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.f;c=f.e;if(i>=40&&c>=40){d=xn(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=pk(d,h,g,i,c);e=new qj(i,c);qk(d,h,g,i,c,b,e);a.a=e}else{a.a=kk(a)}return a.a}\nfunction Fc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new tp(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=uq(new vq(a.a));bq(f.a);){e=Tc(zq(f),8);d?(d=false):(b.a+='; ',b);rp(b,e.D())}return b.a}\nfunction Tl(b,c,d){var e,f,g,h,i;h=c.length;e=Jc(jd,Mu,0,h,7,1);for(g=0;g0&&(a.r==-1?Eh(a.t,b|(a.t.__eventBits||0)):(a.r|=b));a.u()}\nfunction ym(a){vm();switch(a){case 0:return um;case 1:return sm;case 2:return lm;case 3:return tm;case 4:return mm;case 5:return om;case 7:return nm;case 8:return rm;case 9:return pm;case 13:return qm;default:throw new zo;}}\nfunction kn(a){var b,c,d,e;e=a.d.b.length;if(e<=1){return 0}d=null;for(c=new mq(a.d);c.a=2){if(!d){d=b}else{a.b=true;return ~~(cd(Ro(d.c-b.c)-Ro(d.d-b.d))/2)}}}return 0}\nfunction im(a,b){var c,d,e,f,g,h,i,j;c=hu;d=0;for(g=em,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?tu:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?tu:0;f=d?su:0;e=c>>b-44}return {l:e&su,m:f&su,h:g&tu}}\nfunction mo(a){if(a.V()){var b=a.c;b.W()?(a.n='['+b.k):!b.V()?(a.n='[L'+b.T()+';'):(a.n='['+b.T());a.b=b.S()+'[]';a.j=b.U()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=po('.',[c,po('$',d)]);a.b=po('.',[c,po('.',d)]);a.j=d[d.length-1]}\nfunction Ln(a,b){this.p=new ii;P(this,(ih(),$doc.createElement('div')));this.k=eh();this.c=jb();this.d=new Zk;this.e=new Tq;this.f=300;this.j=-1;this.a=true;this.b=a;this.o=b;Oq(this.e,this.d);this.i=new Qn(this);_h(this,this.k);R(this.k);$g(this.k)}\nfunction wk(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,q,r;n=a-c+e-g;r=b-d+f-h;if(n==0&&r==0){return new uk(c-a,e-c,a,d-b,f-d,b,0,0,1)}else{l=c-e;m=g-e;o=d-f;q=h-f;k=l*q-m*o;i=(n*q-m*r)/k;j=(l*r-n*o)/k;return new uk(c-a+i*c,g-a+j*g,a,d-b+i*d,h-b+j*h,b,i,j,1)}}\nfunction Gn(b){var c,d,e,f;if(!(b.a&&b.q))return;try{c=Bn(b);if(c){for(e=new mq(b.e);e.a=0&&d.e>=0){Ii(h,(bj(),$i),Oo(d.e));Ii(h,Zi,Oo(d.d))}return h}\nfunction Uk(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=Jc(jd,Mu,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=cd(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=cd(b+(f-b)*i);h+=Ym(a,b,c,f,g);return h-1}\nfunction Tk(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return Mc(Ic(jd,1),Mu,0,7,[b.a[b.a.length-1-1]])}f=Jc(jd,Mu,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);rk(a,q,s,h,d,g)}}}\nfunction gk(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Gi(),Gi(),Fi}e=new qj(b,c);h=Jc(hd,Ku,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}Pc(a,0,c);a[1]=d;Pc(a,2,e)}\nfunction Kk(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Ao(Su)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=Jc(jd,Mu,0,d.length,7,1);e=d.length-f.length;up(d,0,g,0,e);for(c=e;c>3]}}b=mk(d);e=xn(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}i=Jc(ed,Ku,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d0&&c>0){if(a.j>0){if(f>c){if(a.j=0;h--){c=$k(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=$k(a,8,g,d)}for(e=b-8;e8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=bd(e>>8);f[g+1]=bd(e);g+=2;--d}try{rp(c,_o(f,f.length,Pu))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction Ol(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=bd(e>>8&255);f[g+1]=bd(e&255);g+=2;--d}try{rp(c,_o(f,f.length,'GB2312'))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction mn(a){var b,c,d,e,f,g,h,i;c=0;i=0;d=a.d.b.length;for(g=new mq(a.d);g.a=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new mq(a.d);f.a32||b>8*(a.c.length-a.b)-a.a){throw new Ao(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Fm(a){var b,c,d,e,f,g;c=17+4*a.d;b=new pj(c);nj(b,0,0,9,9);nj(b,c-8,0,8,9);nj(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){nj(b,c-11,0,3,6);nj(b,0,c-11,6,3)}return b}\nfunction nj(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Ao('Left and top must be nonnegative')}if(e<1||d<1){throw new Ao('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Ao('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=$k(a,d,g,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=$k(a,c,f,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Ci(),Ci(),Bi}\nfunction mk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Gi(),Gi(),Fi}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction vk(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=sk(wk(3.5,3.5,a,3.5,b,c,3.5,d));n=wk(e,f,g,h,i,j,k,l);return new uk(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction vo(){vo=tg;uo=Mc(Ic(gd,1),Ku,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Au,256,16,4,2]);to=Mc(Ic(gd,1),Ku,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction Eg(a){var b,c,d,e,f,g,h,i;if(xo(a)){return Qg(),Pg}if(a=9223372036854775807){return Qg(),Ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=vu){d=cd(a/vu);a-=d*vu}c=0;if(a>=uu){c=cd(a/uu);a-=c*uu}b=cd(a);f=zg(b,c,d);e&&(g=~f.l+1&su,h=~f.m+(g==0?1:0)&su,i=~f.h+(g==0&&h==0?1:0)&tu,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction Ul(b,c){var d,e,f,g,h;g=new el(c);f=null;d=null;try{return Vl(b,g)}catch(a){a=pg(a);if(Xc(a,56)){e=a;f=e}else if(Xc(a,55)){e=a;d=e}else throw og(a)}try{dl(g);g.d=null;g.c=null;g.b=true;cl(g);bl(g);_k(g);h=Vl(b,g);dk(h,new Bm);return h}catch(a){a=pg(a);if(Xc(a,56)||Xc(a,55)){e=a;if(f){throw f}if(d){throw d}throw e}else throw og(a)}}\nfunction Sk(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Qk(a.a,b);q=Jc(jd,Mu,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return zk(d+q,e,b,c)}return NaN}\nfunction bj(){bj=tg;Wi=new cj('OTHER',0);Vi=new cj('ORIENTATION',1);Si=new cj('BYTE_SEGMENTS',2);Ti=new cj('ERROR_CORRECTION_LEVEL',3);Ui=new cj('ISSUE_NUMBER',4);_i=new cj('SUGGESTED_PRICE',5);Yi=new cj('POSSIBLE_COUNTRY',6);aj=new cj('UPC_EAN_EXTENSION',7);Xi=new cj('PDF417_EXTRA_METADATA',8);$i=new cj('STRUCTURED_APPEND_SEQUENCE',9);Zi=new cj('STRUCTURED_APPEND_PARITY',10)}\nfunction Ml(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Ci(),Ci(),Bi}f=uj(a,11);op(b,Sl(~~(f/45)));op(b,Sl(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Ci(),Ci(),Bi}op(b,Sl(uj(a,6)))}if(d){for(e=g;e0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=Hg(b,Fg(c+127<<23));b=Hg(b,Fg(e));return Mg(b)}\nfunction Ql(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Ci(),Ci(),Bi}e=uj(a,10);if(e>=1000){throw Ci(),Ci(),Bi}op(b,Sl(~~(e/100)));op(b,Sl(~~(e/10)%10));op(b,Sl(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Ci(),Ci(),Bi}f=uj(a,7);if(f>=100){throw Ci(),Ci(),Bi}op(b,Sl(~~(f/10)));op(b,Sl(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Ci(),Ci(),Bi}d=uj(a,4);if(d>=10){throw Ci(),Ci(),Bi}op(b,Sl(d))}}\nfunction ri(){var a=navigator.userAgent.toLowerCase();var b=$doc.documentMode;if(function(){return a.indexOf('webkit')!=-1}())return Gu;if(function(){return a.indexOf('msie')!=-1&&b>=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return 'gecko1_8';return 'unknown'}\nfunction ln(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=hn(a,c,cd(h),b[2],m);if(!isNaN(g)){h=gn(a,cd(h),cd(g),b[2],m);if(!isNaN(h)&&(!e||fn(a,cd(g),cd(h),b[2],m))){i=m/7;j=false;for(k=0;k=0&&lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Rm(a,i)?f-i[2]-i[1]/2:NaN}\nfunction Zo(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=cd(s.c+i*(g-s.c));l=cd(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=Wm(b,n,k,l,m);break}catch(a){a=pg(a);if(!Xc(a,54))throw og(a)}}}u=an(s,t,f,d,j);e=bn(b.a,u,j);!d?(q=Mc(Ic(_d,1),nu,29,0,[f,s,t])):(q=Mc(Ic(_d,1),nu,29,0,[f,s,t,d]));return new hk(e,q)}\nfunction Qm(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=Jc(jd,Mu,0,3,7,1);for(f=0;fn||d+e>j){throw new Do}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=Tc(a,5);f=Tc(c,5);if(ad(a)===ad(c)&&bd;){Pc(f,h,k[--b])}}else{for(h=d+e;d0&&Oc(a,b,c,d,e,true)}\nfunction An(a,b,c){var d,e,f,g,h;this.f=b;this.e=c;h=(ih(),a.t).width;g=a.t.height;if(b>h||c>g){throw new Ao('Crop rectangle does not fit within image data.')}this.a=jb();Q(this.a,h,g);gb(this.a,g);hb(this.a,h);this.b=nb(a.t.getContext('2d'),0,0,b,c);e=this.b.data;for(f=0;fg||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=cd(b[e]);i=cd(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction gl(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new zo}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=uo[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=uo[d]){a*=to[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=Eg(a*Bu);a-=Lg(e)*9.5367431640625E-7;f=Eg(a*4503599627370496);e=Hg(e,Fg(c+1023<<20));g&&(e=Hg(e,{l:0,m:512,h:0}));return Hg(Ig(e,32),f)}\nfunction gn(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&lj(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!lj(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&lj(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return pn(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction hn(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&lj(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return pn(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction nn(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Gi(),Gi(),Fi}if(l>3){n=0;k=0;for(d=new mq(a.d);d.am?Wu*b:m;for(e=0;e3;e++){g=Tc(Pq(a.d,e),16);if(Ro(g.b-b)>f){a.d.bb(e);--e}}}if(a.d.b.length>3){n=0;for(i=new mq(a.d);i.ab){throw new Eo(Yu)}}f=Jc(fd,Ku,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Ao('Invalid UTF8 sequence at '+(h-1)+', byte='+No(c,16))}d=d<<6|c&63}j+=Xn(d,f,j)}return cp(f,0,f.length)}\nfunction jn(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=Jc(jd,Mu,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(pn(l)){b=ln(a,l,e,i,false);if(b){f=l[0];a.b&&(d=mn(a))}}}j=nn(a);ij(j);return new wn(j)}\nfunction Vk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new Xk('r_{i-1} was zero')}k=m;j=a.a.i;f=Mk(l,l.a.length-1);g=Fk(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Hk(a.a,Mk(k,k.a.length-1),g);j=Kk(j,Dk(a.a,e,n));k=Kk(k,Pk(l,e,n))}r=Kk(Ok(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Co('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new Xk('sigmaTilde(0) was zero')}h=Fk(a.a,q);o=Nk(r,h);i=Nk(k,h);return Mc(Ic(je,1),nu,26,0,[o,i])}\nfunction Jn(e,f){function g(b){f.n=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.Q()}\nfunction h(a){var b=a.message;f.P(b)}\nvar i=f.o;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\n", +"function fn(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&lj(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!lj(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&lj(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&pn(i)}\nfunction Ll(b,c,d){Kl();var e,f,g,h,i,j,k,l,m,n,o,q;e=new vj(b);m=new sp;f=new Uq(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(vm(),um)):(k=ym(uj(e,4)));if(k!=(vm(),um)){if(k==om||k==pm){j=true}else if(k==tm){if(8*(e.c.length-e.b)-e.a<16){throw Ci(),Ci(),Bi}o=uj(e,8);l=uj(e,8)}else if(k==nm){q=Rl(e);i=bk(q);if(!i){throw Ci(),Ci(),Bi}}else{if(k==qm){n=uj(e,4);h=uj(e,wm(k,c));n==1&&Ol(e,m,h)}else{g=uj(e,wm(k,c));if(k==sm){Ql(e,m,g)}else if(k==lm){Ml(e,m,g,j)}else if(k==mm){Nl(e,m,g,i,f)}else if(k==rm){Pl(e,m,g)}else{throw Ci(),Ci(),Bi}}}}}while(k!=(vm(),um))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}return new ek(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction uh(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Au;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return xu;case 'touchstart':return Bu;case 'touchmove':return 2097152;case 'touchend':return uu;case 'touchcancel':return Cu;case 'gesturestart':return Du;case 'gesturechange':return Eu;case 'gestureend':return Fu;default:return -1;}}\nfunction xk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Qu}if(c&&(m>=3||l>=3)){return Pu}if(b&&c){return m==2&&k==2||f*10>=g?Pu:Ou}if(b){return Ou}if(c){return Pu}if(d){return Qu}return Qu}\nfunction St(g){var d=du(ev);var e,f=g;$wnd.JsQRScanner=fu(function(){var a,b=this,c=arguments;c.length==1&&f.sb(c[0])?(a=c[0]):c.length==2?(a=Vt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0]),c[1])):c.length==1&&(a=Ut(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0])));b.g=a;eu(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=fu(function(a){this.g.tb(a)});e.getScanInterval=fu(function(){return this.g.ub()});e.getSnapImageMaxSize=fu(function(){return this.g.vb()});e.isActive=fu(function(){return this.g.wb()});e.isScanning=fu(function(){return this.g.xb()});e.removeFrom=fu(function(a){this.g.yb(a)});e.resumeScanning=fu(function(){this.g.zb()});e.setScanInterval=fu(function(a){this.g.Ab(a)});e.setSnapImageMaxSize=fu(function(a){this.g.Bb(a)});e.stopScanning=fu(function(){this.g.Cb()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction lh(){var a,b,c;b=$doc.compatMode;a=Mc(Ic(mf,1),nu,2,4,[zu]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction fm(){fm=tg;em=Mc(Ic(jd,2),nu,7,0,[Mc(Ic(jd,1),Mu,0,7,[21522,0]),Mc(Ic(jd,1),Mu,0,7,[20773,1]),Mc(Ic(jd,1),Mu,0,7,[24188,2]),Mc(Ic(jd,1),Mu,0,7,[23371,3]),Mc(Ic(jd,1),Mu,0,7,[17913,4]),Mc(Ic(jd,1),Mu,0,7,[16590,5]),Mc(Ic(jd,1),Mu,0,7,[20375,6]),Mc(Ic(jd,1),Mu,0,7,[19104,7]),Mc(Ic(jd,1),Mu,0,7,[30660,8]),Mc(Ic(jd,1),Mu,0,7,[29427,9]),Mc(Ic(jd,1),Mu,0,7,[32170,10]),Mc(Ic(jd,1),Mu,0,7,[30877,11]),Mc(Ic(jd,1),Mu,0,7,[26159,12]),Mc(Ic(jd,1),Mu,0,7,[25368,13]),Mc(Ic(jd,1),Mu,0,7,[27713,14]),Mc(Ic(jd,1),Mu,0,7,[26998,15]),Mc(Ic(jd,1),Mu,0,7,[5769,16]),Mc(Ic(jd,1),Mu,0,7,[5054,17]),Mc(Ic(jd,1),Mu,0,7,[7399,18]),Mc(Ic(jd,1),Mu,0,7,[6608,19]),Mc(Ic(jd,1),Mu,0,7,[1890,20]),Mc(Ic(jd,1),Mu,0,7,[597,21]),Mc(Ic(jd,1),Mu,0,7,[3340,22]),Mc(Ic(jd,1),Mu,0,7,[2107,23]),Mc(Ic(jd,1),Mu,0,7,[13663,24]),Mc(Ic(jd,1),Mu,0,7,[12392,25]),Mc(Ic(jd,1),Mu,0,7,[16177,26]),Mc(Ic(jd,1),Mu,0,7,[14854,27]),Mc(Ic(jd,1),Mu,0,7,[9396,28]),Mc(Ic(jd,1),Mu,0,7,[8579,29]),Mc(Ic(jd,1),Mu,0,7,[11994,30]),Mc(Ic(jd,1),Mu,0,7,[11245,31])])}\nfunction Fh(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Ah:null);c&2&&(a.ondblclick=b&2?Ah:null);c&4&&(a.onmousedown=b&4?Ah:null);c&8&&(a.onmouseup=b&8?Ah:null);c&16&&(a.onmouseover=b&16?Ah:null);c&32&&(a.onmouseout=b&32?Ah:null);c&64&&(a.onmousemove=b&64?Ah:null);c&128&&(a.onkeydown=b&128?Ah:null);c&256&&(a.onkeypress=b&256?Ah:null);c&512&&(a.onkeyup=b&512?Ah:null);c&1024&&(a.onchange=b&1024?Ah:null);c&2048&&(a.onfocus=b&2048?Ah:null);c&4096&&(a.onblur=b&4096?Ah:null);c&8192&&(a.onlosecapture=b&8192?Ah:null);c&16384&&(a.onscroll=b&16384?Ah:null);c&32768&&(a.onload=b&32768?Bh:null);c&Au&&(a.onerror=b&Au?Ah:null);c&131072&&(a.onmousewheel=b&131072?Ah:null);c&262144&&(a.oncontextmenu=b&262144?Ah:null);c&xu&&(a.onpaste=b&xu?Ah:null);c&Bu&&(a.ontouchstart=b&Bu?Ah:null);c&2097152&&(a.ontouchmove=b&2097152?Ah:null);c&uu&&(a.ontouchend=b&uu?Ah:null);c&Cu&&(a.ontouchcancel=b&Cu?Ah:null);c&Du&&(a.ongesturestart=b&Du?Ah:null);c&Eu&&(a.ongesturechange=b&Eu?Ah:null);c&Fu&&(a.ongestureend=b&Fu?Ah:null)}\nfunction Zj(){Zj=tg;var a,b,c,d,e,f,g,h,i,j,k,l;Cj=new ak('Cp437',0,Mc(Ic(jd,1),Mu,0,7,[0,2]),Mc(Ic(mf,1),nu,2,4,[]));Fj=new ak('ISO8859_1',1,Mc(Ic(jd,1),Mu,0,7,[1,3]),Mc(Ic(mf,1),nu,2,4,[Ou]));Mj=new _j('ISO8859_2',2,4,Mc(Ic(mf,1),nu,2,4,['ISO-8859-2']));Nj=new _j('ISO8859_3',3,5,Mc(Ic(mf,1),nu,2,4,['ISO-8859-3']));Oj=new _j('ISO8859_4',4,6,Mc(Ic(mf,1),nu,2,4,['ISO-8859-4']));Pj=new _j('ISO8859_5',5,7,Mc(Ic(mf,1),nu,2,4,['ISO-8859-5']));Qj=new _j('ISO8859_6',6,8,Mc(Ic(mf,1),nu,2,4,['ISO-8859-6']));Rj=new _j('ISO8859_7',7,9,Mc(Ic(mf,1),nu,2,4,['ISO-8859-7']));Sj=new _j('ISO8859_8',8,10,Mc(Ic(mf,1),nu,2,4,['ISO-8859-8']));Tj=new _j('ISO8859_9',9,11,Mc(Ic(mf,1),nu,2,4,['ISO-8859-9']));Gj=new _j('ISO8859_10',10,12,Mc(Ic(mf,1),nu,2,4,['ISO-8859-10']));Hj=new _j('ISO8859_11',11,13,Mc(Ic(mf,1),nu,2,4,['ISO-8859-11']));Ij=new _j('ISO8859_13',12,15,Mc(Ic(mf,1),nu,2,4,['ISO-8859-13']));Jj=new _j('ISO8859_14',13,16,Mc(Ic(mf,1),nu,2,4,['ISO-8859-14']));Kj=new _j('ISO8859_15',14,17,Mc(Ic(mf,1),nu,2,4,['ISO-8859-15']));Lj=new _j('ISO8859_16',15,18,Mc(Ic(mf,1),nu,2,4,['ISO-8859-16']));Vj=new _j('SJIS',16,20,Mc(Ic(mf,1),nu,2,4,[Pu]));yj=new _j('Cp1250',17,21,Mc(Ic(mf,1),nu,2,4,['windows-1250']));zj=new _j('Cp1251',18,22,Mc(Ic(mf,1),nu,2,4,['windows-1251']));Aj=new _j('Cp1252',19,23,Mc(Ic(mf,1),nu,2,4,['windows-1252']));Bj=new _j('Cp1256',20,24,Mc(Ic(mf,1),nu,2,4,['windows-1256']));Xj=new _j('UnicodeBigUnmarked',21,25,Mc(Ic(mf,1),nu,2,4,['UTF-16BE','UnicodeBig']));Wj=new _j('UTF8',22,26,Mc(Ic(mf,1),nu,2,4,[Qu]));wj=new ak('ASCII',23,Mc(Ic(jd,1),Mu,0,7,[27,170]),Mc(Ic(mf,1),nu,2,4,['US-ASCII']));xj=new $j;Ej=new _j('GB18030',25,29,Mc(Ic(mf,1),nu,2,4,['GB2312','EUC_CN','GBK']));Dj=new _j('EUC_KR',26,30,Mc(Ic(mf,1),nu,2,4,['EUC-KR']));Yj=new $r;Uj=new $r;for(b=ck(),c=0,d=b.length;c1?(b.c=io(this,a-1)):(b.c=this);return b};_.S=function ho(){Zn(this);return this.b};_.T=function jo(){return $n(this)};_.U=function lo(){Zn(this);return this.j};_.V=function no(){return (this.f&4)!=0};_.W=function oo(){return (this.f&1)!=0};_.tS=function ro(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(Zn(this),this.n)};_.f=0;var Yn=1;var hf=co(iu,'Object',1),od=co(ju,'JavaScriptObject$',0),Ze=co(iu,'Class',67);sg(25,1,{30:1,25:1});_.tS=function S(){if(!this.t){return '(null handle)'}return (ih(),this.t).outerHTML};var Nd=co(ku,'UIObject',25);sg(20,25,lu);_.u=function X(){};_.v=function Y(){};_.w=function Z(){T(this)};_.A=function $(a){var b;switch(ih(),uh(a.type)){case 16:case 32:b=a.relatedTarget;if(!!b&&Ac(this.t,b)){return}}Dc(ih())};_.B=function ab(){U(this)};_.q=false;_.r=0;var Qd=co(ku,'Widget',20);sg(175,20,lu);_.w=function cb(){bb(this)};var Ld=co(ku,'FocusWidget',175);sg(120,175,lu,ib);var db;var md=co(mu,'Canvas',120);sg(177,1,{});var ld=co(mu,'Canvas/CanvasElementSupportDetector',177);sg(121,177,{},kb);var kd=co(mu,'Canvas/CanvasElementSupportDetectedMaybe',121);sg(8,1,ou);_.C=function sb(){dc(this,this.e);return this};_.D=function tb(){return this.e};_.tS=function ub(){var a,b;a=$n(this.cZ);b=this.D();return b!=null?a+': '+b:a};var nf=co(iu,'Throwable',8);sg(10,8,pu);var af=co(iu,'Exception',10);sg(15,10,pu);var jf=co(iu,'RuntimeException',15);sg(81,15,pu);var qd=co(qu,'JavaScriptExceptionBase',81);sg(37,81,{37:1,3:1,10:1,8:1},Db);_.D=function Gb(){Cb(this);return this.c};_.F=function Hb(){return ad(this.b)===ad(Ab)?null:this.b};var Ab;var nd=co(ju,'JavaScriptException',37);sg(155,1,{});var pd=co(ju,'Scheduler',155);var Jb=0,Kb=0,Lb=0,Mb=-1;sg(101,155,{},$b);var Wb;var rd=co(qu,'SchedulerImpl',101);var bc;sg(166,1,{});var vd=co(qu,'StackTraceCreator/Collector',166);sg(82,166,{},fc);_.G=function gc(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(cc(),d.name||(d.name=ec(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Gk(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var je=co(Ru,'GenericGFPoly',26);sg(123,1,{},Wk);var le=co(Ru,'ReedSolomonDecoder',123);sg(45,10,{45:1,3:1,10:1,8:1},Xk);var me=co(Ru,'ReedSolomonException',45);sg(118,1,{181:1},Zk);var ne=co('com.google.zxing.qrcode','QRCodeReader',118);sg(133,1,{},el);_.b=false;\n", +"var oe=co(Tu,'BitMatrixParser',133);sg(65,1,{65:1},fl);_.b=0;var pe=co(Tu,'DataBlock',65);sg(14,13,Uu);var hl,il,jl,kl,ll,ml,nl,ol;var ye=eo(Tu,'DataMask',14,sl);sg(142,14,Uu,tl);_.N=function ul(a,b){return (a+b&1)==0};var qe=eo(Tu,'DataMask/1',142,null);sg(143,14,Uu,vl);_.N=function wl(a,b){return (a&1)==0};var re=eo(Tu,'DataMask/2',143,null);sg(144,14,Uu,xl);_.N=function yl(a,b){return b%3==0};var se=eo(Tu,'DataMask/3',144,null);sg(145,14,Uu,zl);_.N=function Al(a,b){return (a+b)%3==0};var te=eo(Tu,'DataMask/4',145,null);sg(146,14,Uu,Bl);_.N=function Cl(a,b){return (~~(a/2)+~~(b/3)&1)==0};var ue=eo(Tu,'DataMask/5',146,null);sg(147,14,Uu,Dl);_.N=function El(a,b){var c;c=a*b;return (c&1)+c%3==0};var ve=eo(Tu,'DataMask/6',147,null);sg(148,14,Uu,Fl);_.N=function Gl(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var we=eo(Tu,'DataMask/7',148,null);sg(149,14,Uu,Hl);_.N=function Il(a,b){return ((a+b&1)+a*b%3&1)==0};var xe=eo(Tu,'DataMask/8',149,null);var Jl;sg(122,1,{},Wl);var ze=co(Tu,'Decoder',122);sg(39,13,{39:1,3:1,19:1,13:1},bm);var Xl,Yl,Zl,$l,_l;var Ae=eo(Tu,'ErrorCorrectionLevel',39,dm);sg(49,1,{49:1},gm);_.eQ=function jm(a){var b;if(!Xc(a,49)){return false}b=Tc(a,49);return this.b==b.b&&this.a==b.a};_.hC=function km(){return this.b.d<<3|this.a};_.a=0;var em;var Be=co(Tu,'FormatInformation',49);sg(23,13,{23:1,3:1,19:1,13:1},xm);var lm,mm,nm,om,pm,qm,rm,sm,tm,um;var Ce=eo(Tu,'Mode',23,zm);sg(132,1,{},Bm);_.a=false;var De=co(Tu,'QRCodeDecoderMetaData',132);sg(9,1,{9:1},Gm);_.tS=function Km(){return ''+this.d};_.c=0;_.d=0;var Cm,Dm;var Ge=co(Tu,'Version',9);sg(4,1,{4:1},Lm);_.a=0;_.b=0;var Ee=co(Tu,'Version/ECB',4);sg(6,1,{6:1},Mm);_.b=0;var Fe=co(Tu,'Version/ECBlocks',6);sg(50,29,{29:1,50:1},Om);_.a=0;var Ie=co(Vu,'AlignmentPattern',50);sg(151,1,{},Tm);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var He=co(Vu,'AlignmentPatternFinder',151);sg(131,1,{},$m);var Je=co(Vu,'Detector',131);sg(16,29,{29:1,16:1},dn,en);_.a=0;_.b=0;var Oe=co(Vu,'FinderPattern',16);sg(134,1,{},on);_.b=false;var Me=co(Vu,'FinderPatternFinder',134);sg(136,1,Ku,rn);_.O=function sn(a,b){return qn(this,Tc(a,16),Tc(b,16))};_.a=0;var Ke=co(Vu,'FinderPatternFinder/CenterComparator',136);sg(135,1,Ku,un);_.O=function vn(a,b){return tn(this,Tc(a,16),Tc(b,16))};_.a=0;var Le=co(Vu,'FinderPatternFinder/FurthestFromAverageComparator',135);sg(137,1,{},wn);var Ne=co(Vu,'FinderPatternInfo',137);sg(78,125,{},zn);_.c=0;_.d=0;var Pe=co(Xu,'CanvasLuminanceSource',78);sg(104,75,lu);_.w=function Mn(){Dn(this)};_.B=function Nn(){U(this);Kn(this)};_.P=function On(a){En(this,a)};_.Q=function Pn(){this.a&&this.q&&nh(this.i,this.f)};_.a=false;_.f=0;_.j=0;var Re=co(Xu,'ScannerWidget',104);sg(108,107,{},Qn);var Qe=co(Xu,'ScannerWidget/1',108);sg(153,10,pu);var Se=co('java.io','IOException',153);sg(51,153,{3:1,51:1,10:1,8:1},Rn);var Te=co('java.io','UnsupportedEncodingException',51);sg(60,1,{});_.tS=function Tn(){return this.a};var Ue=co(iu,'AbstractStringBuilder',60);sg(70,15,pu,Un);var Ve=co(iu,'ArithmeticException',70);sg(46,15,pu,Vn,Wn);var We=co(iu,'ArrayStoreException',46);sg(41,15,pu,so);var Ye=co(iu,'ClassCastException',41);sg(66,1,{3:1,66:1});var gf=co(iu,'Number',66);var to,uo;sg(12,15,{3:1,10:1,12:1,8:1},zo,Ao);var bf=co(iu,'IllegalArgumentException',12);sg(43,15,pu,Bo,Co);var cf=co(iu,'IllegalStateException',43);sg(38,15,pu,Do,Eo);var df=co(iu,'IndexOutOfBoundsException',38);sg(36,66,{3:1,19:1,36:1,66:1},Go);_.M=function Jo(a){return Fo(this,Tc(a,36))};_.eQ=function Ko(a){return Xc(a,36)&&Tc(a,36).a==this.a};_.hC=function Lo(){return this.a};_.tS=function Mo(){return ''+this.a};_.a=0;var ef=co(iu,'Integer',36);var Po;sg(71,15,pu,To,Uo);var ff=co(iu,'NullPointerException',71);var mf=co(iu,'String',2);var hp,ip=0,jp;sg(27,60,{179:1},sp,tp);var lf=co(iu,'StringBuilder',27);sg(72,15,pu,vp);var of=co(iu,'UnsupportedOperationException',72);sg(169,1,{});_.X=function zp(a){return wp(this,a)};_.tS=function Ap(){return yp(this)};var pf=co(Zu,'AbstractCollection',169);sg(168,1,{58:1});_.Z=function Ep(a){return !!Cp(this,a)};_.eQ=function Fp(a){var b,c,d;if(a===this){return true}if(!Xc(a,58)){return false}d=Tc(a,58);if(this.Y()!=d.Y()){return false}for(c=d.$().I();c.K();){b=Tc(c.L(),17);if(!Bp(this,b)){return false}}return true};_._=function Gp(a){return Hp(Cp(this,a))};_.hC=function Ip(){return fr(this.$())};_.Y=function Jp(){return this.$().Y()};_.tS=function Kp(){var a,b,c,d;d=new tp('{');a=false;for(c=this.$().I();c.K();){b=Tc(c.L(),17);a?(d.a+=', ',d):(a=true);rp(d,Dp(this,b.cb()));d.a+='=';rp(d,Dp(this,b.db()))}d.a+='}';return d.a};var Cf=co(Zu,'AbstractMap',168);sg(84,168,{58:1});_.Z=function Sp(a){return Lp(this,a)};_.$=function Tp(){return new Zp(this)};_._=function Up(a){return Op(this,a)};_.Y=function Vp(){return this.b};_.b=0;var sf=co(Zu,'AbstractHashMap',84);sg(170,169,$u);_.eQ=function Wp(a){var b;if(a===this){return true}if(!Xc(a,40)){return false}b=Tc(a,40);if(b.Y()!=this.Y()){return false}return xp(this,b)};_.hC=function Xp(){return fr(this)};var Df=co(Zu,'AbstractSet',170);sg(68,170,$u,Zp);_.X=function $p(a){return Yp(this,a)};_.I=function _p(){return new dq(this.a)};_.Y=function aq(){return this.a.b};var rf=co(Zu,'AbstractHashMap/EntrySet',68);sg(69,1,{},dq);_.K=function eq(){return bq(this)};_.L=function fq(){return cq(this)};var qf=co(Zu,'AbstractHashMap/EntrySetIterator',69);sg(171,169,{52:1});_.eQ=function iq(a){var b,c,d,e,f;if(a===this){return true}if(!Xc(a,52)){return false}f=Tc(a,52);if(this.Y()!=f.Y()){return false}e=f.I();for(c=new mq(this);c.a>24}\nfunction Ut(a){return new Et(a)}\nfunction $n(a){Zn(a);return a.n}\nfunction dc(a,b){cc();bc.G(a,b)}\nfunction Zt(a,b,c){Pp(a.a,b,c)}\nfunction pj(a){qj.call(this,a,a)}\nfunction wi(){vi();vb.call(this)}\nfunction wb(a){this.e=a;this.C()}\nfunction rb(a){this.e=a;this.C()}\nfunction Vr(a){this.c=a;Sr(this)}\nfunction vt(a){rt(this);this.a=a}\nfunction _g(a){(ih(),a.t).src=''}\nfunction gb(a,b){yc((ih(),a.t),b)}\nfunction hb(a,b){zc((ih(),a.t),b)}\nfunction xh(a,b){a.__listener=b}\nfunction pp(a,b){a.a+=b;return a}\nfunction qp(a,b){a.a+=b;return a}\nfunction rp(a,b){a.a+=b;return a}\nfunction du(a){cu();return $t(a)}\nfunction Rp(a,b){return ms(a.a,b)}\nfunction _r(a,b){return Lp(a.a,b)}\nfunction Mg(a){return a.l|a.m<<22}\nfunction Ro(a){return a<=0?0-a:a}\nfunction $c(a){return Zc(a)&&Xg(a)}\nfunction Tg(){Rg==null&&(Rg=[])}\nfunction kp(){kp=tg;hp={};jp={}}\nfunction Vb(){Jb!=0&&(Jb=0);Mb=-1}\nfunction $q(a,b,c){a.splice(b,c)}\nfunction Ct(a,b){a.appendChild(b)}\nfunction Dt(a,b){a.removeChild(b)}\nfunction cj(a,b){Ni.call(this,a,b)}\nfunction rl(a,b){Ni.call(this,a,b)}\nfunction bm(a,b){Ni.call(this,a,b)}\nfunction Lm(a,b){this.a=a;this.b=b}\nfunction hk(a,b){this.a=a;this.b=b}\nfunction Jq(a,b){this.a=a;this.b=b}\nfunction $s(a,b){this.a=a;this.b=b}\nfunction Xs(a,b){this.b=a;this.c=b}\nfunction fl(a,b){this.b=a;this.a=b}\nfunction Mm(a,b){this.b=a;this.a=b}\nfunction Hr(a,b){this.b=a;this.a=b}\nfunction Ni(a,b){this.c=a;this.d=b}\nfunction ej(a,b){this.c=a;this.d=b}\nfunction or(a,b){a._gwt_modCount=b}\nfunction tt(a,b){a.apply(null,[b])}\nfunction En(a,b){Xt(a.b,new Ji(b))}\nfunction _h(a,b){Ph(a,b,(ih(),a.t))}\nfunction vh(){if(!th){Dh();th=true}}\nfunction lc(a){if(!a){throw new zo}}\nfunction uc(a){if(!a){throw new Bo}}\nfunction oc(a){if(!a){throw new mt}}\nfunction xo(a){vo();return isNaN(a)}\nfunction Fo(a,b){return Io(a.a,b.a)}\nfunction Vt(a,b){return new Ft(a,b)}\nfunction Ft(a,b){this.a=new Bt(a,b)}\nfunction Ki(a){this.b=a;this.a=null}\nfunction Et(a){Ft.call(this,a,null)}\nfunction Ub(a){$wnd.clearTimeout(a)}\nfunction ph(a){$wnd.clearTimeout(a)}\nfunction oh(a){$wnd.clearInterval(a)}\nfunction ot(a){return a!=null?N(a):0}\nfunction ad(a){return a==null?null:a}\nfunction Hp(a){return !a?null:a.db()}\nfunction Wc(a){return !Zc(a)&&Xg(a)}\nfunction Zc(a){return Array.isArray(a)}\nfunction Tr(a){return a.ab?1:0}\nfunction zg(a,b,c){return {l:a,m:b,h:c}}\nfunction Ag(a){return a.l+a.m*vu+a.h*wu}\nfunction Sb(a){return a.$H||(a.$H=++Kb)}\nfunction bi(){bi=tg;new $r;ai=new bs}\nfunction Uh(){Uh=tg;Sh=new Xh;Th=new Zh}\nfunction Wl(){this.a=new Wk((Ck(),Bk))}\nfunction ys(a){this.a=a;Tq.call(this)}\nfunction it(a){this.a=a;Tq.call(this)}\nfunction ii(){this.a=Jc(Qd,nu,20,4,0,1)}\nfunction Nq(a){a.b=Jc(hf,nu,1,0,3,1)}\nfunction ap(a){return Jc(mf,nu,2,a,4,1)}\nfunction as(a,b){return Rp(a.a,b)!=null}\nfunction bp(a,b,c){return a.substr(b,c)}\nfunction Xc(a,b){return a!=null&&Rc(a,b)}\nfunction wc(b,a){return b.appendChild(a)}\nfunction xc(b,a){return b.removeChild(a)}\nfunction Vo(b,a){return b.charCodeAt(a)}\nfunction Nr(a,b){return !!b&&a.b[b.d]==b}\nfunction zt(a,b){Ct(b,(ih(),a.t));Dn(a)}\nfunction op(a,b){a.a+=Sc(b);return a}\nfunction Zr(a){var b;b=N(a);return ~~b}\nfunction rg(a){var b=qg;return wg(b[a])}\nfunction Zn(a){if(a.n!=null){return}mo(a)}\nfunction Ih(a){a.preventDefault();Jh(a)}\nfunction Vh(a){zb.call(this,Fc(a),Ec(a))}\nfunction Ji(a){Ki.call(this,a,Eg(Ib()))}\nfunction dn(a,b,c){en.call(this,a,b,c,1)}\nfunction jk(){jk=tg;ik=Jc(ed,Ku,0,0,7,1)}\nfunction vi(){vi=tg;ui=Jc(kf,nu,182,0,0,1)}\nfunction zi(){zi=tg;vi();yi=new Ai;qb(ui)}\nfunction Ci(){Ci=tg;vi();Bi=new Di;qb(ui)}\nfunction Gi(){Gi=tg;vi();Fi=new Hi;qb(ui)}\nfunction _t(){this.a=new $r;new $r;new $r}\nfunction Bt(a,b){Ln.call(this,new Yt(a),b)}\nfunction kc(a,b){if(!a){throw new Wn(''+b)}}\nfunction mc(a,b){if(!a){throw new Ao(''+b)}}\nfunction eu(a,b){cu();a['__gwtex_wrap']=b}\nfunction au(a,b){return a!=null?a[b]:null}\nfunction Fb(a){return a==null?null:a.name}\nfunction Ak(a){return cd(a+(a<0?-0.5:0.5))}\nfunction fj(a,b){return yk(a.c,a.d,b.c,b.d)}\nfunction $o(a,b){return bp(a,b,a.length-b)}\nfunction Mk(a,b){return a.a[a.a.length-1-b]}\nfunction No(a,b){return (a>>>0).toString(b)}\nfunction sh(a,b){return $wnd.setTimeout(a,b)}\nfunction sr(a,b,c){return rr(a,Tc(b,13),c)}\nfunction Nb(a,b,c){return a.apply(b,c);var d}\nfunction _c(a){return typeof a==='string'}\nfunction Ac(a){return a.currentTarget||$wnd}\nfunction Eb(a){return a==null?null:a.message}\nfunction Yc(a){return a!=null&&!_c(a)&&!Xg(a)}\nfunction Sc(a){return String.fromCharCode(a)}\nfunction At(a,b){Dt(b,(ih(),a.t));U(a);Kn(a)}\nfunction Or(a,b){this.a=a;this.b=b;this.c=0}\nfunction zq(a){var b;b=cq(a.a);return b.cb()}\nfunction Qo(){Qo=tg;Po=Jc(ef,nu,36,256,0,1)}\nfunction hc(){hc=tg;Error.stackTraceLimit=64}\nfunction Bl(){rl.call(this,'DATA_MASK_100',4)}\nfunction tl(){rl.call(this,'DATA_MASK_000',0)}\nfunction vl(){rl.call(this,'DATA_MASK_001',1)}\nfunction zl(){rl.call(this,'DATA_MASK_011',3)}\nfunction xl(){rl.call(this,'DATA_MASK_010',2)}\nfunction Fl(){rl.call(this,'DATA_MASK_110',6)}\nfunction Hl(){rl.call(this,'DATA_MASK_111',7)}\nfunction Dl(){rl.call(this,'DATA_MASK_101',5)}\nfunction xm(a,b,c){Ni.call(this,a,b);this.a=c}\nfunction Om(a,b,c){ej.call(this,a,b);this.a=c}\nfunction pq(a){mq.call(this,a);tc(a.b);this.a=0}\nfunction Fn(a){a.a=true;a.a&&a.q&&nh(a.i,a.f)}\nfunction ci(a){bi();try{U(a)}finally{as(ai,a)}}\nfunction qh(a,b){return fu(function(){a.H(b)})}\nfunction Dp(a,b){return b===a?'(this Map)':''+b}\nfunction ep(a,b){return _c(a)?dp(a,Vc(b)):a.M(b)}\nfunction Mr(a,b){return Xc(b,13)&&Nr(a,Tc(b,13))}\nfunction fb(a){return (ih(),a.t).getContext('2d')}\nfunction ob(d,a,b,c){return d.putImageData(a,b,c)}\nfunction mb(f,a,b,c,d,e){f.drawImage(a,b,c,d,e)}\nfunction Kc(a,b,c,d,e,f){return Lc(a,b,c,d,e,0,f)}\nfunction rr(a,b,c){Lr(a.a,b);return tr(a,b.d,c)}\nfunction Pq(a,b){qc(b,a.b.length);return a.b[b]}\nfunction Oq(a,b){Pc(a.b,a.b.length,b);return true}\nfunction _b(a,b){!a&&(a=[]);a[a.length]=b;return a}\nfunction fo(a,b){var c;c=bo(a,b);c.f=2;return c}\nfunction rc(a){if(a==null){throw new To}return a}\nfunction dd(a){if(a!=null){throw new so}return null}\nfunction sc(a,b){if(a==null){throw new Uo(''+b)}}\nfunction dp(a,b){if(a==b){return 0}return a>3&3);this.a=bd(a&7)}\nfunction Er(a){this.c=a;this.a=new Vr(this.c.a)}\nfunction wn(a){this.a=a[0];this.b=a[1];this.c=a[2]}\nfunction Gk(a,b){if(b==0){throw new zo}return a.c[b]}\nfunction co(a,b,c){var d;d=bo(a,b);qo(c,d);return d}\nfunction bo(a,b){var c;c=new _n;c.i=a;c.d=b;return c}\nfunction Dg(a,b){return a.l==b.l&&a.m==b.m&&a.h==b.h}\nfunction Pp(a,b,c){return _c(b)?Qp(a,b,c):ls(a.a,b,c)}\nfunction Ii(a,b,c){!a.a&&(a.a=new ur($d));sr(a.a,b,c)}\nfunction nb(e,a,b,c,d){return e.getImageData(a,b,c,d)}\nfunction ks(a){return Object.getOwnPropertyNames(a.a)}\nfunction Ms(a){return Object.getOwnPropertyNames(a.a)}\nfunction ug(a){return a instanceof Array?a[0]:null}\nfunction L(a){return _c(a)?mf:Wc(a)?a.cZ:$c(a)?a.cZ:od}\nfunction Yr(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction nt(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction Rc(a,b){return _c(a)&&!!Qc[b]||a.cM&&!!a.cM[b]}\nfunction Cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction Hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction tr(a,b,c){var d;d=a.b[b];Pc(a.b,b,c);return d}\nfunction go(a,b){var c;c=bo('',a);c.k=b;c.f=1;return c}\nfunction Vc(a){if(a!=null&&!_c(a)){throw new so}return a}\nfunction nc(a,b){if(!a){throw new Ao(vc('%s > %s',b))}}\nfunction rt(a){if(!pt){pt=true;cu();Zt(bu,fg,a);st(a)}}\nfunction Rt(a){if(!Qt){Qt=true;cu();Zt(bu,ig,a);St(a)}}\nfunction tc(a){if(0>a){throw new Eo('Index: 0, Size: '+a)}}\nfunction R(a){(ih(),a.t).className='qrPreviewVideo'}\nfunction $g(a){(ih(),a.t).setAttribute('autoplay','')}\nfunction Tb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction Vm(a){var b,c;b=new on(a.a);c=jn(b);return Xm(a,c)}\nfunction cq(a){return nr(a.c,a),oc(bq(a)),Tc(a.a.L(),17)}\nfunction cd(a){return ~~Math.max(Math.min(a,hu),-2147483648)}\nfunction pb(d,a,b,c){return d.data[4*(a+b*d.width)+c]||0}\nfunction ak(a,b,c,d){Ni.call(this,a,b);this.b=c;this.a=d}\nfunction en(a,b,c,d){ej.call(this,a,b);this.b=c;this.a=d}\nfunction Db(a){Bb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction np(){if(ip==256){hp=jp;jp={};ip=0}++ip}\nfunction wg(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction Tc(a,b){if(a!=null&&!Rc(a,b)){throw new so}return a}\nfunction Jm(a){Em();if(a<1||a>40){throw new zo}return Cm[a-1]}\nfunction oi(){var a;a=ri();if(!Wo('ie9',a)){throw new qi(a)}}\nfunction Kl(){var a;Kl=tg;Jl=(a=Jc(fd,Ku,0,45,7,1),Yo(a,0),a)}\nfunction dm(){am();return Mc(Ic(Ae,1),Lu,39,0,[Zl,$l,_l,Yl])}\nfunction Qp(a,b,c){return b==null?ls(a.a,null,c):a.c.pb(b,c)}\nfunction Ph(a,b,c){V(b);di(a.p,b);ih();wc(c,kh(b.t));W(b,a)}\nfunction kj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction mj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction io(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.R(b))}\nfunction wh(a){var b=a.__listener;return !Yc(b)&&Xc(b,31)?b:null}\nfunction Fk(a,b){if(b==0){throw new Un}return a.a[a.f-a.c[b]-1]}\nfunction Sl(a){if(a>=Jl.length){throw Ci(),Ci(),Bi}return Jl[a]}\nfunction qq(a,b){pc(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction ok(a){jk();this.d=a;this.c=ik;this.b=Jc(jd,Mu,0,32,7,1)}\nfunction on(a){this.c=a;this.d=new Tq;this.a=Jc(jd,Mu,0,5,7,1)}\nfunction zn(a){An.call(this,a,(ih(),a.t).width,a.t.height)}\nfunction N(a){return _c(a)?mp(a):Wc(a)?a.hC():$c(a)?Sb(a):Sb(a)}\nfunction Bc(a){return a.tabIndex=Xl.length){throw new zo}return Xl[a]}\nfunction Ur(a){return oc(a.a>22&tu;d=a<0?uu:0;return zg(b,c,d)}\nfunction el(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Ci(),Ci(),Bi}this.a=a}\nfunction Rb(a){a&&Zb((Xb(),Wb));--Jb;if(a){if(Mb!=-1){Ub(Mb);Mb=-1}}}\nfunction mh(a){if(!a.d){return}++a.b;a.c?oh(a.d.a):ph(a.d.a);a.d=null}\nfunction Ib(){if(Date.now){return Date.now()}return (new Date).getTime()}\nfunction Uq(a){Nq(this);mc(a>=0,'Initial capacity must not be negative')}\nfunction nr(a,b){if(b._gwt_modCount!=a._gwt_modCount){throw new qr}}\nfunction ng(b,c){if(b&&typeof b==gu){try{b.__gwt$exception=c}catch(a){}}}\nfunction qc(a,b){if(a<0||a>=b){throw new Eo('Index: '+a+', Size: '+b)}}\nfunction ki(a){if(a.b>=a.c.b){throw new mt}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction Sq(a,b,c){var d;d=(qc(b,a.b.length),a.b[b]);Pc(a.b,b,c);return d}\nfunction $k(a,b,c,d){var e;e=a.b?lj(a.a,c,b):lj(a.a,b,c);return e?d<<1|1:d<<1}\nfunction tn(a,b,c){var d,e;d=Ro(c.b-a.a);e=Ro(b.b-a.a);return d>>(b&31)&1)!=0}\nfunction Hk(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction Op(a,b){return _c(b)?b==null?Hp(js(a.a,null)):a.c.mb(b):Hp(js(a.a,b))}\nfunction wm(a,b){var c,d;c=b.d;c<=9?(d=0):c<=26?(d=1):(d=2);return a.a[d]}\nfunction ei(a,b){var c;for(c=0;c=900){throw Ci(),Ci(),Bi}return Tc(Op(Yj,Oo(a)),11)}\nfunction bb(a){var b;T(a);b=Bc((ih(),a.t));-1==b&&(a.t.tabIndex=0,undefined)}\nfunction Sr(a){var b;++a.a;for(b=a.c.a.length;a.a>22);e=a.h-b.h+(d>>22);return {l:c&tu,m:d&tu,h:e&uu}}\nfunction Rm(a,b){var c,d,e;e=a.d;d=e/2;for(c=0;c<3;c++){if(Ro(e-b[c])>=d){return false}}return true}\nfunction fp(a,b){var c,d;c=Jc(fd,Ku,0,b,7,1);for(d=0;d=a.b){throw new Do}--a.b;for(c=b;c-129&&a<128){b=a+128;c=(Qo(),Po)[b];!c&&(c=Po[b]=new Go(a));return c}return new Go(a)}\nfunction wp(a,b){var c,d;for(d=a.I();d.K();){c=d.L();if(ad(b)===ad(c)||b!=null&&J(b,c)){return true}}return false}\nfunction og(a){var b;if(Xc(a,37)){b=Tc(a,37);if(ad(b.b)!==ad((Bb(),Ab))){return ad(b.b)===ad(Ab)?null:b.b}}return a}\nfunction oj(a){var b,c,d;b=new sp;for(d=0;d=d||bb&&d.O(a[f-1],a[f])>0;--f){g=a[f];Pc(a,f,a[f-1]);Pc(a,f-1,g)}}}\nfunction Dn(b){var c;T(b);_g(b.k);try{Jn((ih(),b.k.t),b)}catch(a){a=pg(a);if(Xc(a,8)){c=a;En(b,c.D())}else throw og(a)}}\nfunction qs(a){if(a.cb){throw new Eo('toIndex: '+a+' > size '+b)}if(3>a){throw new Ao('fromIndex: 3 > toIndex: '+a)}}\nfunction Q(a,b,c){b>=0&&((ih(),a.t).style['width']=b+'px',undefined);c>=0&&((ih(),a.t).style['height']=c+'px',undefined)}\nfunction Ho(a){a-=a>>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction am(){am=tg;Zl=new bm('L',0);$l=new bm('M',1);_l=new bm('Q',2);Yl=new bm('H',3);Xl=Mc(Ic(Ae,1),Lu,39,0,[$l,Zl,Yl,_l])}\nfunction Ck(){Ck=tg;new Ik(4201,4096,1);new Ik(1033,1024,1);new Ik(67,64,1);new Ik(19,16,1);Bk=new Ik(285,256,0);new Ik(301,256,1)}\nfunction hq(a,b){var c,d;d=new pq(a);for(c=0;c2000){Lb=a;Mb=$wnd.setTimeout(Vb,10)}}if(Jb++==0){Yb((Xb(),Wb));return true}return false}\nfunction Fg(a){var b,c;if(a>-129&&a<128){b=a+128;Bg==null&&(Bg=Jc(zd,nu,184,256,0,1));c=Bg[b];!c&&(c=Bg[b]=yg(a));return c}return yg(a)}\nfunction Xn(a,b,c){lc(a>=0&&a<=1114111);if(a>=Bu){b[c++]=55296+(a-Bu>>10&1023)&ru;b[c]=56320+(a-Bu&1023)&ru;return 2}else{b[c]=a&ru;return 1}}\nfunction Im(b){Em();if(b%4!=1){throw Ci(),Ci(),Bi}try{return Jm(~~((b-17)/4))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction V(a){if(!a.s){bi();_r(ai,a)&&ci(a)}else if(a.s){Qh(a.s,a)}else if(a.s){throw new Co(\"This widget's parent does not implement HasWidgets\")}}\nfunction _o(a,b,c){if(Xo(Qu,c)){return gp(a,b)}else if(Xo(Ou,c)||Xo('ISO-LATIN-1',c)){return fp(a,b)}else{throw new Rn('Charset '+c+' not supported')}}\nfunction Bp(a,b){var c,d,e;c=b.cb();e=b.db();d=a._(c);if(!(ad(e)===ad(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.Z(c)){return false}return true}\nfunction qj(a,b){if(a<1||b<1){throw new Ao('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=Jc(jd,Mu,0,this.c*b,7,1)}\nfunction xn(a){var b,c,d,e,f,g,h,i;i=a.f;c=a.e;b=i*c;f=Jc(ed,Ku,0,b,7,1);for(d=0;d=0,Mc(Ic(hf,1),nu,1,3,[Oo(b),Oo(c)])),g),h=Hc(a,f),up(a,b,h,0,So(a.length-b,f)),h);er(e,a,b,c,-b,d)}\nfunction Nc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);er(b,a,i,j,-e,f);er(b,a,j,h,-e,f);if(f.O(a[j-1],a[j])<=0){while(ca.b){throw new Do}if(a.b==a.a.length){f=Jc(Qd,nu,20,a.a.length*2,0,1);for(e=0;ec;--d){Pc(a.a,d,a.a[d-1])}Pc(a.a,c,b)}\nfunction sg(a,b,c){var d=qg;var e=rg;var f=ug;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=xg)}for(var i=3;ic-k?0:c-k;h=So(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=So(a.a.b-1,d+k);if(f-i=a.e){throw new Ao('Requested row is outside the image: '+b)}e=a.f;(c==null||c.length>24}return c}\nfunction nk(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.f;c=f.e;if(i>=40&&c>=40){d=xn(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=pk(d,h,g,i,c);e=new qj(i,c);qk(d,h,g,i,c,b,e);a.a=e}else{a.a=kk(a)}return a.a}\nfunction Fc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new tp(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=uq(new vq(a.a));bq(f.a);){e=Tc(zq(f),8);d?(d=false):(b.a+='; ',b);rp(b,e.D())}return b.a}\nfunction Tl(b,c,d){var e,f,g,h,i;h=c.length;e=Jc(jd,Mu,0,h,7,1);for(g=0;g0&&(a.r==-1?Eh(a.t,b|(a.t.__eventBits||0)):(a.r|=b));a.u()}\nfunction ym(a){vm();switch(a){case 0:return um;case 1:return sm;case 2:return lm;case 3:return tm;case 4:return mm;case 5:return om;case 7:return nm;case 8:return rm;case 9:return pm;case 13:return qm;default:throw new zo;}}\nfunction kn(a){var b,c,d,e;e=a.d.b.length;if(e<=1){return 0}d=null;for(c=new mq(a.d);c.a=2){if(!d){d=b}else{a.b=true;return ~~(cd(Ro(d.c-b.c)-Ro(d.d-b.d))/2)}}}return 0}\nfunction im(a,b){var c,d,e,f,g,h,i,j;c=hu;d=0;for(g=em,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?uu:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?uu:0;f=d?tu:0;e=c>>b-44}return {l:e&tu,m:f&tu,h:g&uu}}\nfunction mo(a){if(a.V()){var b=a.c;b.W()?(a.n='['+b.k):!b.V()?(a.n='[L'+b.T()+';'):(a.n='['+b.T());a.b=b.S()+'[]';a.j=b.U()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=po('.',[c,po('$',d)]);a.b=po('.',[c,po('.',d)]);a.j=d[d.length-1]}\nfunction Ln(a,b){this.p=new ii;P(this,(ih(),$doc.createElement('div')));this.k=eh();this.c=jb();this.d=new Zk;this.e=new Tq;this.f=300;this.j=-1;this.a=true;this.b=a;this.o=b;Oq(this.e,this.d);this.i=new Qn(this);_h(this,this.k);R(this.k);$g(this.k)}\nfunction wk(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,q,r;n=a-c+e-g;r=b-d+f-h;if(n==0&&r==0){return new uk(c-a,e-c,a,d-b,f-d,b,0,0,1)}else{l=c-e;m=g-e;o=d-f;q=h-f;k=l*q-m*o;i=(n*q-m*r)/k;j=(l*r-n*o)/k;return new uk(c-a+i*c,g-a+j*g,a,d-b+i*d,h-b+j*h,b,i,j,1)}}\nfunction Gn(b){var c,d,e,f;if(!(b.a&&b.q))return;try{c=Bn(b);if(c){for(e=new mq(b.e);e.a=0&&d.e>=0){Ii(h,(bj(),$i),Oo(d.e));Ii(h,Zi,Oo(d.d))}return h}\nfunction Uk(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=Jc(jd,Mu,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=cd(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=cd(b+(f-b)*i);h+=Ym(a,b,c,f,g);return h-1}\nfunction Tk(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return Mc(Ic(jd,1),Mu,0,7,[b.a[b.a.length-1-1]])}f=Jc(jd,Mu,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);rk(a,q,s,h,d,g)}}}\nfunction gk(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Gi(),Gi(),Fi}e=new qj(b,c);h=Jc(hd,Ku,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}Pc(a,0,c);a[1]=d;Pc(a,2,e)}\nfunction Kk(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Ao(Su)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=Jc(jd,Mu,0,d.length,7,1);e=d.length-f.length;up(d,0,g,0,e);for(c=e;c>3]}}b=mk(d);e=xn(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}i=Jc(ed,Ku,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d0&&c>0){if(a.j>0){if(f>c){if(a.j=0;h--){c=$k(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=$k(a,8,g,d)}for(e=b-8;e8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=bd(e>>8);f[g+1]=bd(e);g+=2;--d}try{rp(c,_o(f,f.length,Pu))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction Ol(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=bd(e>>8&255);f[g+1]=bd(e&255);g+=2;--d}try{rp(c,_o(f,f.length,'GB2312'))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction mn(a){var b,c,d,e,f,g,h,i;c=0;i=0;d=a.d.b.length;for(g=new mq(a.d);g.a=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new mq(a.d);f.a32||b>8*(a.c.length-a.b)-a.a){throw new Ao(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Fm(a){var b,c,d,e,f,g;c=17+4*a.d;b=new pj(c);nj(b,0,0,9,9);nj(b,c-8,0,8,9);nj(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){nj(b,c-11,0,3,6);nj(b,0,c-11,6,3)}return b}\nfunction nj(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Ao('Left and top must be nonnegative')}if(e<1||d<1){throw new Ao('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Ao('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=$k(a,d,g,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=$k(a,c,f,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Ci(),Ci(),Bi}\nfunction mk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Gi(),Gi(),Fi}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction vk(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=sk(wk(3.5,3.5,a,3.5,b,c,3.5,d));n=wk(e,f,g,h,i,j,k,l);return new uk(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction vo(){vo=tg;uo=Mc(Ic(gd,1),Ku,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Bu,256,16,4,2]);to=Mc(Ic(gd,1),Ku,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction Eg(a){var b,c,d,e,f,g,h,i;if(xo(a)){return Qg(),Pg}if(a=9223372036854775807){return Qg(),Ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=wu){d=cd(a/wu);a-=d*wu}c=0;if(a>=vu){c=cd(a/vu);a-=c*vu}b=cd(a);f=zg(b,c,d);e&&(g=~f.l+1&tu,h=~f.m+(g==0?1:0)&tu,i=~f.h+(g==0&&h==0?1:0)&uu,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction Ul(b,c){var d,e,f,g,h;g=new el(c);f=null;d=null;try{return Vl(b,g)}catch(a){a=pg(a);if(Xc(a,56)){e=a;f=e}else if(Xc(a,55)){e=a;d=e}else throw og(a)}try{dl(g);g.d=null;g.c=null;g.b=true;cl(g);bl(g);_k(g);h=Vl(b,g);dk(h,new Bm);return h}catch(a){a=pg(a);if(Xc(a,56)||Xc(a,55)){e=a;if(f){throw f}if(d){throw d}throw e}else throw og(a)}}\nfunction Sk(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Qk(a.a,b);q=Jc(jd,Mu,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return zk(d+q,e,b,c)}return NaN}\nfunction bj(){bj=tg;Wi=new cj('OTHER',0);Vi=new cj('ORIENTATION',1);Si=new cj('BYTE_SEGMENTS',2);Ti=new cj('ERROR_CORRECTION_LEVEL',3);Ui=new cj('ISSUE_NUMBER',4);_i=new cj('SUGGESTED_PRICE',5);Yi=new cj('POSSIBLE_COUNTRY',6);aj=new cj('UPC_EAN_EXTENSION',7);Xi=new cj('PDF417_EXTRA_METADATA',8);$i=new cj('STRUCTURED_APPEND_SEQUENCE',9);Zi=new cj('STRUCTURED_APPEND_PARITY',10)}\nfunction Ml(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Ci(),Ci(),Bi}f=uj(a,11);op(b,Sl(~~(f/45)));op(b,Sl(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Ci(),Ci(),Bi}op(b,Sl(uj(a,6)))}if(d){for(e=g;e0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=Hg(b,Fg(c+127<<23));b=Hg(b,Fg(e));return Mg(b)}\nfunction Ql(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Ci(),Ci(),Bi}e=uj(a,10);if(e>=1000){throw Ci(),Ci(),Bi}op(b,Sl(~~(e/100)));op(b,Sl(~~(e/10)%10));op(b,Sl(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Ci(),Ci(),Bi}f=uj(a,7);if(f>=100){throw Ci(),Ci(),Bi}op(b,Sl(~~(f/10)));op(b,Sl(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Ci(),Ci(),Bi}d=uj(a,4);if(d>=10){throw Ci(),Ci(),Bi}op(b,Sl(d))}}\nfunction ln(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=hn(a,c,cd(h),b[2],m);if(!isNaN(g)){h=gn(a,cd(h),cd(g),b[2],m);if(!isNaN(h)&&(!e||fn(a,cd(g),cd(h),b[2],m))){i=m/7;j=false;for(k=0;k=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return 'gecko1_8';return 'unknown'}\nfunction Pm(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=a.a;i[0]=0;i[1]=0;i[2]=0;f=b;while(f>=0&&lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Rm(a,i)?f-i[2]-i[1]/2:NaN}\nfunction Zo(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=cd(s.c+i*(g-s.c));l=cd(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=Wm(b,n,k,l,m);break}catch(a){a=pg(a);if(!Xc(a,54))throw og(a)}}}u=an(s,t,f,d,j);e=bn(b.a,u,j);!d?(q=Mc(Ic(_d,1),nu,29,0,[f,s,t])):(q=Mc(Ic(_d,1),nu,29,0,[f,s,t,d]));return new hk(e,q)}\nfunction Qm(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=Jc(jd,Mu,0,3,7,1);for(f=0;fn||d+e>j){throw new Do}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=Tc(a,5);f=Tc(c,5);if(ad(a)===ad(c)&&bd;){Pc(f,h,k[--b])}}else{for(h=d+e;d0&&Oc(a,b,c,d,e,true)}\nfunction An(a,b,c){var d,e,f,g,h;this.f=b;this.e=c;h=(ih(),a.t).width;g=a.t.height;if(b>h||c>g){throw new Ao('Crop rectangle does not fit within image data.')}this.a=jb();Q(this.a,h,g);gb(this.a,g);hb(this.a,h);this.b=nb(a.t.getContext('2d'),0,0,b,c);e=this.b.data;for(f=0;fg||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=cd(b[e]);i=cd(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction gl(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new zo}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=uo[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=uo[d]){a*=to[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=Eg(a*Cu);a-=Lg(e)*9.5367431640625E-7;f=Eg(a*4503599627370496);e=Hg(e,Fg(c+1023<<20));g&&(e=Hg(e,{l:0,m:512,h:0}));return Hg(Ig(e,32),f)}\nfunction gn(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&lj(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!lj(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&lj(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return pn(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction hn(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&lj(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return pn(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction nn(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Gi(),Gi(),Fi}if(l>3){n=0;k=0;for(d=new mq(a.d);d.am?Wu*b:m;for(e=0;e3;e++){g=Tc(Pq(a.d,e),16);if(Ro(g.b-b)>f){a.d.bb(e);--e}}}if(a.d.b.length>3){n=0;for(i=new mq(a.d);i.ab){throw new Eo(Yu)}}f=Jc(fd,Ku,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Ao('Invalid UTF8 sequence at '+(h-1)+', byte='+No(c,16))}d=d<<6|c&63}j+=Xn(d,f,j)}return cp(f,0,f.length)}\nfunction jn(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=Jc(jd,Mu,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(pn(l)){b=ln(a,l,e,i,false);if(b){f=l[0];a.b&&(d=mn(a))}}}j=nn(a);ij(j);return new wn(j)}\nfunction Vk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new Xk('r_{i-1} was zero')}k=m;j=a.a.i;f=Mk(l,l.a.length-1);g=Fk(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Hk(a.a,Mk(k,k.a.length-1),g);j=Kk(j,Dk(a.a,e,n));k=Kk(k,Pk(l,e,n))}r=Kk(Ok(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Co('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new Xk('sigmaTilde(0) was zero')}h=Fk(a.a,q);o=Nk(r,h);i=Nk(k,h);return Mc(Ic(je,1),nu,26,0,[o,i])}\nfunction Jn(e,f){function g(b){f.n=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.Q()}\nfunction h(a){var b=a.message;f.P(b)}\nvar i=f.o;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\n", +"function fn(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&lj(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!lj(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&lj(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&pn(i)}\nfunction Ll(b,c,d){Kl();var e,f,g,h,i,j,k,l,m,n,o,q;e=new vj(b);m=new sp;f=new Uq(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(vm(),um)):(k=ym(uj(e,4)));if(k!=(vm(),um)){if(k==om||k==pm){j=true}else if(k==tm){if(8*(e.c.length-e.b)-e.a<16){throw Ci(),Ci(),Bi}o=uj(e,8);l=uj(e,8)}else if(k==nm){q=Rl(e);i=bk(q);if(!i){throw Ci(),Ci(),Bi}}else{if(k==qm){n=uj(e,4);h=uj(e,wm(k,c));n==1&&Ol(e,m,h)}else{g=uj(e,wm(k,c));if(k==sm){Ql(e,m,g)}else if(k==lm){Ml(e,m,g,j)}else if(k==mm){Nl(e,m,g,i,f)}else if(k==rm){Pl(e,m,g)}else{throw Ci(),Ci(),Bi}}}}}while(k!=(vm(),um))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}return new ek(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction uh(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Bu;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return yu;case 'touchstart':return Cu;case 'touchmove':return 2097152;case 'touchend':return vu;case 'touchcancel':return Du;case 'gesturestart':return Eu;case 'gesturechange':return Fu;case 'gestureend':return Gu;default:return -1;}}\nfunction xk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Qu}if(c&&(m>=3||l>=3)){return Pu}if(b&&c){return m==2&&k==2||f*10>=g?Pu:Ou}if(b){return Ou}if(c){return Pu}if(d){return Qu}return Qu}\nfunction St(g){var d=du(ev);var e,f=g;$wnd.JsQRScanner=fu(function(){var a,b=this,c=arguments;c.length==1&&f.sb(c[0])?(a=c[0]):c.length==2?(a=Vt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0]),c[1])):c.length==1&&(a=Ut(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0])));b.g=a;eu(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=fu(function(a){this.g.tb(a)});e.getScanInterval=fu(function(){return this.g.ub()});e.getSnapImageMaxSize=fu(function(){return this.g.vb()});e.isActive=fu(function(){return this.g.wb()});e.isScanning=fu(function(){return this.g.xb()});e.removeFrom=fu(function(a){this.g.yb(a)});e.resumeScanning=fu(function(){this.g.zb()});e.setScanInterval=fu(function(a){this.g.Ab(a)});e.setSnapImageMaxSize=fu(function(a){this.g.Bb(a)});e.stopScanning=fu(function(){this.g.Cb()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction lh(){var a,b,c;b=$doc.compatMode;a=Mc(Ic(mf,1),nu,2,4,[Au]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction fm(){fm=tg;em=Mc(Ic(jd,2),nu,7,0,[Mc(Ic(jd,1),Mu,0,7,[21522,0]),Mc(Ic(jd,1),Mu,0,7,[20773,1]),Mc(Ic(jd,1),Mu,0,7,[24188,2]),Mc(Ic(jd,1),Mu,0,7,[23371,3]),Mc(Ic(jd,1),Mu,0,7,[17913,4]),Mc(Ic(jd,1),Mu,0,7,[16590,5]),Mc(Ic(jd,1),Mu,0,7,[20375,6]),Mc(Ic(jd,1),Mu,0,7,[19104,7]),Mc(Ic(jd,1),Mu,0,7,[30660,8]),Mc(Ic(jd,1),Mu,0,7,[29427,9]),Mc(Ic(jd,1),Mu,0,7,[32170,10]),Mc(Ic(jd,1),Mu,0,7,[30877,11]),Mc(Ic(jd,1),Mu,0,7,[26159,12]),Mc(Ic(jd,1),Mu,0,7,[25368,13]),Mc(Ic(jd,1),Mu,0,7,[27713,14]),Mc(Ic(jd,1),Mu,0,7,[26998,15]),Mc(Ic(jd,1),Mu,0,7,[5769,16]),Mc(Ic(jd,1),Mu,0,7,[5054,17]),Mc(Ic(jd,1),Mu,0,7,[7399,18]),Mc(Ic(jd,1),Mu,0,7,[6608,19]),Mc(Ic(jd,1),Mu,0,7,[1890,20]),Mc(Ic(jd,1),Mu,0,7,[597,21]),Mc(Ic(jd,1),Mu,0,7,[3340,22]),Mc(Ic(jd,1),Mu,0,7,[2107,23]),Mc(Ic(jd,1),Mu,0,7,[13663,24]),Mc(Ic(jd,1),Mu,0,7,[12392,25]),Mc(Ic(jd,1),Mu,0,7,[16177,26]),Mc(Ic(jd,1),Mu,0,7,[14854,27]),Mc(Ic(jd,1),Mu,0,7,[9396,28]),Mc(Ic(jd,1),Mu,0,7,[8579,29]),Mc(Ic(jd,1),Mu,0,7,[11994,30]),Mc(Ic(jd,1),Mu,0,7,[11245,31])])}\nfunction Fh(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Ah:null);c&2&&(a.ondblclick=b&2?Ah:null);c&4&&(a.onmousedown=b&4?Ah:null);c&8&&(a.onmouseup=b&8?Ah:null);c&16&&(a.onmouseover=b&16?Ah:null);c&32&&(a.onmouseout=b&32?Ah:null);c&64&&(a.onmousemove=b&64?Ah:null);c&128&&(a.onkeydown=b&128?Ah:null);c&256&&(a.onkeypress=b&256?Ah:null);c&512&&(a.onkeyup=b&512?Ah:null);c&1024&&(a.onchange=b&1024?Ah:null);c&2048&&(a.onfocus=b&2048?Ah:null);c&4096&&(a.onblur=b&4096?Ah:null);c&8192&&(a.onlosecapture=b&8192?Ah:null);c&16384&&(a.onscroll=b&16384?Ah:null);c&32768&&(a.onload=b&32768?Bh:null);c&Bu&&(a.onerror=b&Bu?Ah:null);c&131072&&(a.onmousewheel=b&131072?Ah:null);c&262144&&(a.oncontextmenu=b&262144?Ah:null);c&yu&&(a.onpaste=b&yu?Ah:null);c&Cu&&(a.ontouchstart=b&Cu?Ah:null);c&2097152&&(a.ontouchmove=b&2097152?Ah:null);c&vu&&(a.ontouchend=b&vu?Ah:null);c&Du&&(a.ontouchcancel=b&Du?Ah:null);c&Eu&&(a.ongesturestart=b&Eu?Ah:null);c&Fu&&(a.ongesturechange=b&Fu?Ah:null);c&Gu&&(a.ongestureend=b&Gu?Ah:null)}\nfunction Zj(){Zj=tg;var a,b,c,d,e,f,g,h,i,j,k,l;Cj=new ak('Cp437',0,Mc(Ic(jd,1),Mu,0,7,[0,2]),Mc(Ic(mf,1),nu,2,4,[]));Fj=new ak('ISO8859_1',1,Mc(Ic(jd,1),Mu,0,7,[1,3]),Mc(Ic(mf,1),nu,2,4,[Ou]));Mj=new _j('ISO8859_2',2,4,Mc(Ic(mf,1),nu,2,4,['ISO-8859-2']));Nj=new _j('ISO8859_3',3,5,Mc(Ic(mf,1),nu,2,4,['ISO-8859-3']));Oj=new _j('ISO8859_4',4,6,Mc(Ic(mf,1),nu,2,4,['ISO-8859-4']));Pj=new _j('ISO8859_5',5,7,Mc(Ic(mf,1),nu,2,4,['ISO-8859-5']));Qj=new _j('ISO8859_6',6,8,Mc(Ic(mf,1),nu,2,4,['ISO-8859-6']));Rj=new _j('ISO8859_7',7,9,Mc(Ic(mf,1),nu,2,4,['ISO-8859-7']));Sj=new _j('ISO8859_8',8,10,Mc(Ic(mf,1),nu,2,4,['ISO-8859-8']));Tj=new _j('ISO8859_9',9,11,Mc(Ic(mf,1),nu,2,4,['ISO-8859-9']));Gj=new _j('ISO8859_10',10,12,Mc(Ic(mf,1),nu,2,4,['ISO-8859-10']));Hj=new _j('ISO8859_11',11,13,Mc(Ic(mf,1),nu,2,4,['ISO-8859-11']));Ij=new _j('ISO8859_13',12,15,Mc(Ic(mf,1),nu,2,4,['ISO-8859-13']));Jj=new _j('ISO8859_14',13,16,Mc(Ic(mf,1),nu,2,4,['ISO-8859-14']));Kj=new _j('ISO8859_15',14,17,Mc(Ic(mf,1),nu,2,4,['ISO-8859-15']));Lj=new _j('ISO8859_16',15,18,Mc(Ic(mf,1),nu,2,4,['ISO-8859-16']));Vj=new _j('SJIS',16,20,Mc(Ic(mf,1),nu,2,4,[Pu]));yj=new _j('Cp1250',17,21,Mc(Ic(mf,1),nu,2,4,['windows-1250']));zj=new _j('Cp1251',18,22,Mc(Ic(mf,1),nu,2,4,['windows-1251']));Aj=new _j('Cp1252',19,23,Mc(Ic(mf,1),nu,2,4,['windows-1252']));Bj=new _j('Cp1256',20,24,Mc(Ic(mf,1),nu,2,4,['windows-1256']));Xj=new _j('UnicodeBigUnmarked',21,25,Mc(Ic(mf,1),nu,2,4,['UTF-16BE','UnicodeBig']));Wj=new _j('UTF8',22,26,Mc(Ic(mf,1),nu,2,4,[Qu]));wj=new ak('ASCII',23,Mc(Ic(jd,1),Mu,0,7,[27,170]),Mc(Ic(mf,1),nu,2,4,['US-ASCII']));xj=new $j;Ej=new _j('GB18030',25,29,Mc(Ic(mf,1),nu,2,4,['GB2312','EUC_CN','GBK']));Dj=new _j('EUC_KR',26,30,Mc(Ic(mf,1),nu,2,4,['EUC-KR']));Yj=new $r;Uj=new $r;for(b=ck(),c=0,d=b.length;c1?(b.c=io(this,a-1)):(b.c=this);return b};_.S=function ho(){Zn(this);return this.b};_.T=function jo(){return $n(this)};_.U=function lo(){Zn(this);return this.j};_.V=function no(){return (this.f&4)!=0};_.W=function oo(){return (this.f&1)!=0};_.tS=function ro(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(Zn(this),this.n)};_.f=0;var Yn=1;var hf=co(iu,'Object',1),od=co(ju,'JavaScriptObject$',0),Ze=co(iu,'Class',67);sg(25,1,{30:1,25:1});_.tS=function S(){if(!this.t){return '(null handle)'}return (ih(),this.t).outerHTML};var Nd=co(ku,'UIObject',25);sg(20,25,lu);_.u=function X(){};_.v=function Y(){};_.w=function Z(){T(this)};_.A=function $(a){var b;switch(ih(),uh(a.type)){case 16:case 32:b=a.relatedTarget;if(!!b&&Cc(this.t,b)){return}}Dc(ih())};_.B=function ab(){U(this)};_.q=false;_.r=0;var Qd=co(ku,'Widget',20);sg(175,20,lu);_.w=function cb(){bb(this)};var Ld=co(ku,'FocusWidget',175);sg(120,175,lu,ib);var db;var md=co(mu,'Canvas',120);sg(177,1,{});var ld=co(mu,'Canvas/CanvasElementSupportDetector',177);sg(121,177,{},kb);var kd=co(mu,'Canvas/CanvasElementSupportDetectedMaybe',121);sg(8,1,ou);_.C=function sb(){dc(this,this.e);return this};_.D=function tb(){return this.e};_.tS=function ub(){var a,b;a=$n(this.cZ);b=this.D();return b!=null?a+': '+b:a};var nf=co(iu,'Throwable',8);sg(10,8,pu);var af=co(iu,'Exception',10);sg(15,10,pu);var jf=co(iu,'RuntimeException',15);sg(81,15,pu);var qd=co(qu,'JavaScriptExceptionBase',81);sg(37,81,{37:1,3:1,10:1,8:1},Db);_.D=function Gb(){Cb(this);return this.c};_.F=function Hb(){return ad(this.b)===ad(Ab)?null:this.b};var Ab;var nd=co(ju,'JavaScriptException',37);sg(155,1,{});var pd=co(ju,'Scheduler',155);var Jb=0,Kb=0,Lb=0,Mb=-1;sg(101,155,{},$b);var Wb;var rd=co(qu,'SchedulerImpl',101);var bc;sg(166,1,{});var vd=co(qu,'StackTraceCreator/Collector',166);sg(82,166,{},fc);_.G=function gc(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(cc(),d.name||(d.name=ec(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Gk(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var je=co(Ru,'GenericGFPoly',26);sg(123,1,{},Wk);var le=co(Ru,'ReedSolomonDecoder',123);sg(45,10,{45:1,3:1,10:1,8:1},Xk);var me=co(Ru,'ReedSolomonException',45);sg(118,1,{181:1},Zk);var ne=co('com.google.zxing.qrcode','QRCodeReader',118);sg(133,1,{},el);_.b=false;\n", +"var oe=co(Tu,'BitMatrixParser',133);sg(65,1,{65:1},fl);_.b=0;var pe=co(Tu,'DataBlock',65);sg(14,13,Uu);var hl,il,jl,kl,ll,ml,nl,ol;var ye=eo(Tu,'DataMask',14,sl);sg(142,14,Uu,tl);_.N=function ul(a,b){return (a+b&1)==0};var qe=eo(Tu,'DataMask/1',142,null);sg(143,14,Uu,vl);_.N=function wl(a,b){return (a&1)==0};var re=eo(Tu,'DataMask/2',143,null);sg(144,14,Uu,xl);_.N=function yl(a,b){return b%3==0};var se=eo(Tu,'DataMask/3',144,null);sg(145,14,Uu,zl);_.N=function Al(a,b){return (a+b)%3==0};var te=eo(Tu,'DataMask/4',145,null);sg(146,14,Uu,Bl);_.N=function Cl(a,b){return (~~(a/2)+~~(b/3)&1)==0};var ue=eo(Tu,'DataMask/5',146,null);sg(147,14,Uu,Dl);_.N=function El(a,b){var c;c=a*b;return (c&1)+c%3==0};var ve=eo(Tu,'DataMask/6',147,null);sg(148,14,Uu,Fl);_.N=function Gl(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var we=eo(Tu,'DataMask/7',148,null);sg(149,14,Uu,Hl);_.N=function Il(a,b){return ((a+b&1)+a*b%3&1)==0};var xe=eo(Tu,'DataMask/8',149,null);var Jl;sg(122,1,{},Wl);var ze=co(Tu,'Decoder',122);sg(39,13,{39:1,3:1,19:1,13:1},bm);var Xl,Yl,Zl,$l,_l;var Ae=eo(Tu,'ErrorCorrectionLevel',39,dm);sg(49,1,{49:1},gm);_.eQ=function jm(a){var b;if(!Xc(a,49)){return false}b=Tc(a,49);return this.b==b.b&&this.a==b.a};_.hC=function km(){return this.b.d<<3|this.a};_.a=0;var em;var Be=co(Tu,'FormatInformation',49);sg(23,13,{23:1,3:1,19:1,13:1},xm);var lm,mm,nm,om,pm,qm,rm,sm,tm,um;var Ce=eo(Tu,'Mode',23,zm);sg(132,1,{},Bm);_.a=false;var De=co(Tu,'QRCodeDecoderMetaData',132);sg(9,1,{9:1},Gm);_.tS=function Km(){return ''+this.d};_.c=0;_.d=0;var Cm,Dm;var Ge=co(Tu,'Version',9);sg(4,1,{4:1},Lm);_.a=0;_.b=0;var Ee=co(Tu,'Version/ECB',4);sg(6,1,{6:1},Mm);_.b=0;var Fe=co(Tu,'Version/ECBlocks',6);sg(50,29,{29:1,50:1},Om);_.a=0;var Ie=co(Vu,'AlignmentPattern',50);sg(151,1,{},Tm);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var He=co(Vu,'AlignmentPatternFinder',151);sg(131,1,{},$m);var Je=co(Vu,'Detector',131);sg(16,29,{29:1,16:1},dn,en);_.a=0;_.b=0;var Oe=co(Vu,'FinderPattern',16);sg(134,1,{},on);_.b=false;var Me=co(Vu,'FinderPatternFinder',134);sg(136,1,Ku,rn);_.O=function sn(a,b){return qn(this,Tc(a,16),Tc(b,16))};_.a=0;var Ke=co(Vu,'FinderPatternFinder/CenterComparator',136);sg(135,1,Ku,un);_.O=function vn(a,b){return tn(this,Tc(a,16),Tc(b,16))};_.a=0;var Le=co(Vu,'FinderPatternFinder/FurthestFromAverageComparator',135);sg(137,1,{},wn);var Ne=co(Vu,'FinderPatternInfo',137);sg(78,125,{},zn);_.c=0;_.d=0;var Pe=co(Xu,'CanvasLuminanceSource',78);sg(104,75,lu);_.w=function Mn(){Dn(this)};_.B=function Nn(){U(this);Kn(this)};_.P=function On(a){En(this,a)};_.Q=function Pn(){this.a&&this.q&&nh(this.i,this.f)};_.a=false;_.f=0;_.j=0;var Re=co(Xu,'ScannerWidget',104);sg(108,107,{},Qn);var Qe=co(Xu,'ScannerWidget/1',108);sg(153,10,pu);var Se=co('java.io','IOException',153);sg(51,153,{3:1,51:1,10:1,8:1},Rn);var Te=co('java.io','UnsupportedEncodingException',51);sg(60,1,{});_.tS=function Tn(){return this.a};var Ue=co(iu,'AbstractStringBuilder',60);sg(70,15,pu,Un);var Ve=co(iu,'ArithmeticException',70);sg(46,15,pu,Vn,Wn);var We=co(iu,'ArrayStoreException',46);sg(41,15,pu,so);var Ye=co(iu,'ClassCastException',41);sg(66,1,{3:1,66:1});var gf=co(iu,'Number',66);var to,uo;sg(12,15,{3:1,10:1,12:1,8:1},zo,Ao);var bf=co(iu,'IllegalArgumentException',12);sg(43,15,pu,Bo,Co);var cf=co(iu,'IllegalStateException',43);sg(38,15,pu,Do,Eo);var df=co(iu,'IndexOutOfBoundsException',38);sg(36,66,{3:1,19:1,36:1,66:1},Go);_.M=function Jo(a){return Fo(this,Tc(a,36))};_.eQ=function Ko(a){return Xc(a,36)&&Tc(a,36).a==this.a};_.hC=function Lo(){return this.a};_.tS=function Mo(){return ''+this.a};_.a=0;var ef=co(iu,'Integer',36);var Po;sg(71,15,pu,To,Uo);var ff=co(iu,'NullPointerException',71);var mf=co(iu,'String',2);var hp,ip=0,jp;sg(27,60,{179:1},sp,tp);var lf=co(iu,'StringBuilder',27);sg(72,15,pu,vp);var of=co(iu,'UnsupportedOperationException',72);sg(169,1,{});_.X=function zp(a){return wp(this,a)};_.tS=function Ap(){return yp(this)};var pf=co(Zu,'AbstractCollection',169);sg(168,1,{58:1});_.Z=function Ep(a){return !!Cp(this,a)};_.eQ=function Fp(a){var b,c,d;if(a===this){return true}if(!Xc(a,58)){return false}d=Tc(a,58);if(this.Y()!=d.Y()){return false}for(c=d.$().I();c.K();){b=Tc(c.L(),17);if(!Bp(this,b)){return false}}return true};_._=function Gp(a){return Hp(Cp(this,a))};_.hC=function Ip(){return fr(this.$())};_.Y=function Jp(){return this.$().Y()};_.tS=function Kp(){var a,b,c,d;d=new tp('{');a=false;for(c=this.$().I();c.K();){b=Tc(c.L(),17);a?(d.a+=', ',d):(a=true);rp(d,Dp(this,b.cb()));d.a+='=';rp(d,Dp(this,b.db()))}d.a+='}';return d.a};var Cf=co(Zu,'AbstractMap',168);sg(84,168,{58:1});_.Z=function Sp(a){return Lp(this,a)};_.$=function Tp(){return new Zp(this)};_._=function Up(a){return Op(this,a)};_.Y=function Vp(){return this.b};_.b=0;var sf=co(Zu,'AbstractHashMap',84);sg(170,169,$u);_.eQ=function Wp(a){var b;if(a===this){return true}if(!Xc(a,40)){return false}b=Tc(a,40);if(b.Y()!=this.Y()){return false}return xp(this,b)};_.hC=function Xp(){return fr(this)};var Df=co(Zu,'AbstractSet',170);sg(68,170,$u,Zp);_.X=function $p(a){return Yp(this,a)};_.I=function _p(){return new dq(this.a)};_.Y=function aq(){return this.a.b};var rf=co(Zu,'AbstractHashMap/EntrySet',68);sg(69,1,{},dq);_.K=function eq(){return bq(this)};_.L=function fq(){return cq(this)};var qf=co(Zu,'AbstractHashMap/EntrySetIterator',69);sg(171,169,{52:1});_.eQ=function iq(a){var b,c,d,e,f;if(a===this){return true}if(!Xc(a,52)){return false}f=Tc(a,52);if(this.Y()!=f.Y()){return false}e=f.I();for(c=new mq(this);c.a>24}\nfunction Ut(a){return new Et(a)}\nfunction $n(a){Zn(a);return a.n}\nfunction dc(a,b){cc();bc.G(a,b)}\nfunction Zt(a,b,c){Pp(a.a,b,c)}\nfunction pj(a){qj.call(this,a,a)}\nfunction wi(){vi();vb.call(this)}\nfunction wb(a){this.e=a;this.C()}\nfunction rb(a){this.e=a;this.C()}\nfunction Vr(a){this.c=a;Sr(this)}\nfunction vt(a){rt(this);this.a=a}\nfunction _g(a){(ih(),a.t).src=''}\nfunction gb(a,b){yc((ih(),a.t),b)}\nfunction hb(a,b){zc((ih(),a.t),b)}\nfunction xh(a,b){a.__listener=b}\nfunction pp(a,b){a.a+=b;return a}\nfunction qp(a,b){a.a+=b;return a}\nfunction rp(a,b){a.a+=b;return a}\nfunction du(a){cu();return $t(a)}\nfunction Rp(a,b){return ms(a.a,b)}\nfunction _r(a,b){return Lp(a.a,b)}\nfunction Mg(a){return a.l|a.m<<22}\nfunction Ro(a){return a<=0?0-a:a}\nfunction $c(a){return Zc(a)&&Xg(a)}\nfunction Tg(){Rg==null&&(Rg=[])}\nfunction kp(){kp=tg;hp={};jp={}}\nfunction Vb(){Jb!=0&&(Jb=0);Mb=-1}\nfunction $q(a,b,c){a.splice(b,c)}\nfunction Ct(a,b){a.appendChild(b)}\nfunction Dt(a,b){a.removeChild(b)}\nfunction cj(a,b){Ni.call(this,a,b)}\nfunction rl(a,b){Ni.call(this,a,b)}\nfunction bm(a,b){Ni.call(this,a,b)}\nfunction Lm(a,b){this.a=a;this.b=b}\nfunction hk(a,b){this.a=a;this.b=b}\nfunction Jq(a,b){this.a=a;this.b=b}\nfunction $s(a,b){this.a=a;this.b=b}\nfunction Xs(a,b){this.b=a;this.c=b}\nfunction fl(a,b){this.b=a;this.a=b}\nfunction Mm(a,b){this.b=a;this.a=b}\nfunction Hr(a,b){this.b=a;this.a=b}\nfunction Ni(a,b){this.c=a;this.d=b}\nfunction ej(a,b){this.c=a;this.d=b}\nfunction or(a,b){a._gwt_modCount=b}\nfunction tt(a,b){a.apply(null,[b])}\nfunction En(a,b){Xt(a.b,new Ji(b))}\nfunction _h(a,b){Ph(a,b,(ih(),a.t))}\nfunction vh(){if(!th){Dh();th=true}}\nfunction lc(a){if(!a){throw new zo}}\nfunction uc(a){if(!a){throw new Bo}}\nfunction oc(a){if(!a){throw new mt}}\nfunction xo(a){vo();return isNaN(a)}\nfunction Fo(a,b){return Io(a.a,b.a)}\nfunction Vt(a,b){return new Ft(a,b)}\nfunction Ft(a,b){this.a=new Bt(a,b)}\nfunction Ki(a){this.b=a;this.a=null}\nfunction Et(a){Ft.call(this,a,null)}\nfunction Ub(a){$wnd.clearTimeout(a)}\nfunction ph(a){$wnd.clearTimeout(a)}\nfunction oh(a){$wnd.clearInterval(a)}\nfunction ot(a){return a!=null?N(a):0}\nfunction ad(a){return a==null?null:a}\nfunction Hp(a){return !a?null:a.db()}\nfunction Wc(a){return !Zc(a)&&Xg(a)}\nfunction Zc(a){return Array.isArray(a)}\nfunction Tr(a){return a.ab?1:0}\nfunction zg(a,b,c){return {l:a,m:b,h:c}}\nfunction Ag(a){return a.l+a.m*vu+a.h*wu}\nfunction Sb(a){return a.$H||(a.$H=++Kb)}\nfunction bi(){bi=tg;new $r;ai=new bs}\nfunction Uh(){Uh=tg;Sh=new Xh;Th=new Zh}\nfunction Wl(){this.a=new Wk((Ck(),Bk))}\nfunction ys(a){this.a=a;Tq.call(this)}\nfunction it(a){this.a=a;Tq.call(this)}\nfunction ii(){this.a=Jc(Qd,nu,20,4,0,1)}\nfunction Nq(a){a.b=Jc(hf,nu,1,0,3,1)}\nfunction ap(a){return Jc(mf,nu,2,a,4,1)}\nfunction as(a,b){return Rp(a.a,b)!=null}\nfunction bp(a,b,c){return a.substr(b,c)}\nfunction Xc(a,b){return a!=null&&Rc(a,b)}\nfunction wc(b,a){return b.appendChild(a)}\nfunction xc(b,a){return b.removeChild(a)}\nfunction Vo(b,a){return b.charCodeAt(a)}\nfunction Nr(a,b){return !!b&&a.b[b.d]==b}\nfunction zt(a,b){Ct(b,(ih(),a.t));Dn(a)}\nfunction op(a,b){a.a+=Sc(b);return a}\nfunction Zr(a){var b;b=N(a);return ~~b}\nfunction rg(a){var b=qg;return wg(b[a])}\nfunction Zn(a){if(a.n!=null){return}mo(a)}\nfunction Ih(a){a.preventDefault();Jh(a)}\nfunction Vh(a){zb.call(this,Fc(a),Ec(a))}\nfunction Ji(a){Ki.call(this,a,Eg(Ib()))}\nfunction dn(a,b,c){en.call(this,a,b,c,1)}\nfunction jk(){jk=tg;ik=Jc(ed,Ku,0,0,7,1)}\nfunction vi(){vi=tg;ui=Jc(kf,nu,182,0,0,1)}\nfunction zi(){zi=tg;vi();yi=new Ai;qb(ui)}\nfunction Ci(){Ci=tg;vi();Bi=new Di;qb(ui)}\nfunction Gi(){Gi=tg;vi();Fi=new Hi;qb(ui)}\nfunction _t(){this.a=new $r;new $r;new $r}\nfunction Bt(a,b){Ln.call(this,new Yt(a),b)}\nfunction kc(a,b){if(!a){throw new Wn(''+b)}}\nfunction mc(a,b){if(!a){throw new Ao(''+b)}}\nfunction eu(a,b){cu();a['__gwtex_wrap']=b}\nfunction au(a,b){return a!=null?a[b]:null}\nfunction Fb(a){return a==null?null:a.name}\nfunction Ak(a){return cd(a+(a<0?-0.5:0.5))}\nfunction fj(a,b){return yk(a.c,a.d,b.c,b.d)}\nfunction $o(a,b){return bp(a,b,a.length-b)}\nfunction Mk(a,b){return a.a[a.a.length-1-b]}\nfunction No(a,b){return (a>>>0).toString(b)}\nfunction sh(a,b){return $wnd.setTimeout(a,b)}\nfunction sr(a,b,c){return rr(a,Tc(b,13),c)}\nfunction Nb(a,b,c){return a.apply(b,c);var d}\nfunction _c(a){return typeof a==='string'}\nfunction Ac(a){return a.currentTarget||$wnd}\nfunction Eb(a){return a==null?null:a.message}\nfunction Yc(a){return a!=null&&!_c(a)&&!Xg(a)}\nfunction Sc(a){return String.fromCharCode(a)}\nfunction At(a,b){Dt(b,(ih(),a.t));U(a);Kn(a)}\nfunction Or(a,b){this.a=a;this.b=b;this.c=0}\nfunction zq(a){var b;b=cq(a.a);return b.cb()}\nfunction Qo(){Qo=tg;Po=Jc(ef,nu,36,256,0,1)}\nfunction hc(){hc=tg;Error.stackTraceLimit=64}\nfunction Bl(){rl.call(this,'DATA_MASK_100',4)}\nfunction tl(){rl.call(this,'DATA_MASK_000',0)}\nfunction vl(){rl.call(this,'DATA_MASK_001',1)}\nfunction zl(){rl.call(this,'DATA_MASK_011',3)}\nfunction xl(){rl.call(this,'DATA_MASK_010',2)}\nfunction Fl(){rl.call(this,'DATA_MASK_110',6)}\nfunction Hl(){rl.call(this,'DATA_MASK_111',7)}\nfunction Dl(){rl.call(this,'DATA_MASK_101',5)}\nfunction xm(a,b,c){Ni.call(this,a,b);this.a=c}\nfunction Om(a,b,c){ej.call(this,a,b);this.a=c}\nfunction pq(a){mq.call(this,a);tc(a.b);this.a=0}\nfunction Fn(a){a.a=true;a.a&&a.q&&nh(a.i,a.f)}\nfunction ci(a){bi();try{U(a)}finally{as(ai,a)}}\nfunction qh(a,b){return fu(function(){a.H(b)})}\nfunction Dp(a,b){return b===a?'(this Map)':''+b}\nfunction ep(a,b){return _c(a)?dp(a,Vc(b)):a.M(b)}\nfunction Mr(a,b){return Xc(b,13)&&Nr(a,Tc(b,13))}\nfunction fb(a){return (ih(),a.t).getContext('2d')}\nfunction ob(d,a,b,c){return d.putImageData(a,b,c)}\nfunction mb(f,a,b,c,d,e){f.drawImage(a,b,c,d,e)}\nfunction Kc(a,b,c,d,e,f){return Lc(a,b,c,d,e,0,f)}\nfunction rr(a,b,c){Lr(a.a,b);return tr(a,b.d,c)}\nfunction Pq(a,b){qc(b,a.b.length);return a.b[b]}\nfunction Oq(a,b){Pc(a.b,a.b.length,b);return true}\nfunction _b(a,b){!a&&(a=[]);a[a.length]=b;return a}\nfunction fo(a,b){var c;c=bo(a,b);c.f=2;return c}\nfunction rc(a){if(a==null){throw new To}return a}\nfunction dd(a){if(a!=null){throw new so}return null}\nfunction sc(a,b){if(a==null){throw new Uo(''+b)}}\nfunction dp(a,b){if(a==b){return 0}return a>3&3);this.a=bd(a&7)}\nfunction Er(a){this.c=a;this.a=new Vr(this.c.a)}\nfunction wn(a){this.a=a[0];this.b=a[1];this.c=a[2]}\nfunction Gk(a,b){if(b==0){throw new zo}return a.c[b]}\nfunction co(a,b,c){var d;d=bo(a,b);qo(c,d);return d}\nfunction bo(a,b){var c;c=new _n;c.i=a;c.d=b;return c}\nfunction Dg(a,b){return a.l==b.l&&a.m==b.m&&a.h==b.h}\nfunction Pp(a,b,c){return _c(b)?Qp(a,b,c):ls(a.a,b,c)}\nfunction Ii(a,b,c){!a.a&&(a.a=new ur($d));sr(a.a,b,c)}\nfunction nb(e,a,b,c,d){return e.getImageData(a,b,c,d)}\nfunction ks(a){return Object.getOwnPropertyNames(a.a)}\nfunction Ms(a){return Object.getOwnPropertyNames(a.a)}\nfunction ug(a){return a instanceof Array?a[0]:null}\nfunction L(a){return _c(a)?mf:Wc(a)?a.cZ:$c(a)?a.cZ:od}\nfunction Yr(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction nt(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction Rc(a,b){return _c(a)&&!!Qc[b]||a.cM&&!!a.cM[b]}\nfunction Cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction Hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction tr(a,b,c){var d;d=a.b[b];Pc(a.b,b,c);return d}\nfunction go(a,b){var c;c=bo('',a);c.k=b;c.f=1;return c}\nfunction Vc(a){if(a!=null&&!_c(a)){throw new so}return a}\nfunction nc(a,b){if(!a){throw new Ao(vc('%s > %s',b))}}\nfunction rt(a){if(!pt){pt=true;cu();Zt(bu,fg,a);st(a)}}\nfunction Rt(a){if(!Qt){Qt=true;cu();Zt(bu,ig,a);St(a)}}\nfunction tc(a){if(0>a){throw new Eo('Index: 0, Size: '+a)}}\nfunction R(a){(ih(),a.t).className='qrPreviewVideo'}\nfunction $g(a){(ih(),a.t).setAttribute('autoplay','')}\nfunction Tb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction Vm(a){var b,c;b=new on(a.a);c=jn(b);return Xm(a,c)}\nfunction cq(a){return nr(a.c,a),oc(bq(a)),Tc(a.a.L(),17)}\nfunction cd(a){return ~~Math.max(Math.min(a,hu),-2147483648)}\nfunction pb(d,a,b,c){return d.data[4*(a+b*d.width)+c]||0}\nfunction ak(a,b,c,d){Ni.call(this,a,b);this.b=c;this.a=d}\nfunction en(a,b,c,d){ej.call(this,a,b);this.b=c;this.a=d}\nfunction Db(a){Bb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction np(){if(ip==256){hp=jp;jp={};ip=0}++ip}\nfunction wg(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction Tc(a,b){if(a!=null&&!Rc(a,b)){throw new so}return a}\nfunction Jm(a){Em();if(a<1||a>40){throw new zo}return Cm[a-1]}\nfunction oi(){var a;a=ri();if(!Wo('ie10',a)){throw new qi(a)}}\nfunction Kl(){var a;Kl=tg;Jl=(a=Jc(fd,Ku,0,45,7,1),Yo(a,0),a)}\nfunction dm(){am();return Mc(Ic(Ae,1),Lu,39,0,[Zl,$l,_l,Yl])}\nfunction Qp(a,b,c){return b==null?ls(a.a,null,c):a.c.pb(b,c)}\nfunction Ph(a,b,c){V(b);di(a.p,b);ih();wc(c,kh(b.t));W(b,a)}\nfunction kj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction mj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction io(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.R(b))}\nfunction wh(a){var b=a.__listener;return !Yc(b)&&Xc(b,31)?b:null}\nfunction Fk(a,b){if(b==0){throw new Un}return a.a[a.f-a.c[b]-1]}\nfunction Sl(a){if(a>=Jl.length){throw Ci(),Ci(),Bi}return Jl[a]}\nfunction qq(a,b){pc(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction ok(a){jk();this.d=a;this.c=ik;this.b=Jc(jd,Mu,0,32,7,1)}\nfunction on(a){this.c=a;this.d=new Tq;this.a=Jc(jd,Mu,0,5,7,1)}\nfunction zn(a){An.call(this,a,(ih(),a.t).width,a.t.height)}\nfunction N(a){return _c(a)?mp(a):Wc(a)?a.hC():$c(a)?Sb(a):Sb(a)}\nfunction Bc(a){return a.tabIndex=Xl.length){throw new zo}return Xl[a]}\nfunction Ur(a){return oc(a.a>22&tu;d=a<0?uu:0;return zg(b,c,d)}\nfunction el(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Ci(),Ci(),Bi}this.a=a}\nfunction Rb(a){a&&Zb((Xb(),Wb));--Jb;if(a){if(Mb!=-1){Ub(Mb);Mb=-1}}}\nfunction mh(a){if(!a.d){return}++a.b;a.c?oh(a.d.a):ph(a.d.a);a.d=null}\nfunction Ib(){if(Date.now){return Date.now()}return (new Date).getTime()}\nfunction Uq(a){Nq(this);mc(a>=0,'Initial capacity must not be negative')}\nfunction nr(a,b){if(b._gwt_modCount!=a._gwt_modCount){throw new qr}}\nfunction ng(b,c){if(b&&typeof b==gu){try{b.__gwt$exception=c}catch(a){}}}\nfunction qc(a,b){if(a<0||a>=b){throw new Eo('Index: '+a+', Size: '+b)}}\nfunction ki(a){if(a.b>=a.c.b){throw new mt}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction Sq(a,b,c){var d;d=(qc(b,a.b.length),a.b[b]);Pc(a.b,b,c);return d}\nfunction $k(a,b,c,d){var e;e=a.b?lj(a.a,c,b):lj(a.a,b,c);return e?d<<1|1:d<<1}\nfunction tn(a,b,c){var d,e;d=Ro(c.b-a.a);e=Ro(b.b-a.a);return d>>(b&31)&1)!=0}\nfunction Hk(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction Op(a,b){return _c(b)?b==null?Hp(js(a.a,null)):a.c.mb(b):Hp(js(a.a,b))}\nfunction wm(a,b){var c,d;c=b.d;c<=9?(d=0):c<=26?(d=1):(d=2);return a.a[d]}\nfunction ei(a,b){var c;for(c=0;c=900){throw Ci(),Ci(),Bi}return Tc(Op(Yj,Oo(a)),11)}\nfunction bb(a){var b;T(a);b=Bc((ih(),a.t));-1==b&&(a.t.tabIndex=0,undefined)}\nfunction Sr(a){var b;++a.a;for(b=a.c.a.length;a.a>22);e=a.h-b.h+(d>>22);return {l:c&tu,m:d&tu,h:e&uu}}\nfunction Rm(a,b){var c,d,e;e=a.d;d=e/2;for(c=0;c<3;c++){if(Ro(e-b[c])>=d){return false}}return true}\nfunction fp(a,b){var c,d;c=Jc(fd,Ku,0,b,7,1);for(d=0;d=a.b){throw new Do}--a.b;for(c=b;c-129&&a<128){b=a+128;c=(Qo(),Po)[b];!c&&(c=Po[b]=new Go(a));return c}return new Go(a)}\nfunction wp(a,b){var c,d;for(d=a.I();d.K();){c=d.L();if(ad(b)===ad(c)||b!=null&&J(b,c)){return true}}return false}\nfunction og(a){var b;if(Xc(a,37)){b=Tc(a,37);if(ad(b.b)!==ad((Bb(),Ab))){return ad(b.b)===ad(Ab)?null:b.b}}return a}\nfunction oj(a){var b,c,d;b=new sp;for(d=0;d=d||bb&&d.O(a[f-1],a[f])>0;--f){g=a[f];Pc(a,f,a[f-1]);Pc(a,f-1,g)}}}\nfunction Dn(b){var c;T(b);_g(b.k);try{Jn((ih(),b.k.t),b)}catch(a){a=pg(a);if(Xc(a,8)){c=a;En(b,c.D())}else throw og(a)}}\nfunction qs(a){if(a.cb){throw new Eo('toIndex: '+a+' > size '+b)}if(3>a){throw new Ao('fromIndex: 3 > toIndex: '+a)}}\nfunction Q(a,b,c){b>=0&&((ih(),a.t).style['width']=b+'px',undefined);c>=0&&((ih(),a.t).style['height']=c+'px',undefined)}\nfunction Ho(a){a-=a>>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction am(){am=tg;Zl=new bm('L',0);$l=new bm('M',1);_l=new bm('Q',2);Yl=new bm('H',3);Xl=Mc(Ic(Ae,1),Lu,39,0,[$l,Zl,Yl,_l])}\nfunction Ck(){Ck=tg;new Ik(4201,4096,1);new Ik(1033,1024,1);new Ik(67,64,1);new Ik(19,16,1);Bk=new Ik(285,256,0);new Ik(301,256,1)}\nfunction hq(a,b){var c,d;d=new pq(a);for(c=0;c2000){Lb=a;Mb=$wnd.setTimeout(Vb,10)}}if(Jb++==0){Yb((Xb(),Wb));return true}return false}\nfunction Fg(a){var b,c;if(a>-129&&a<128){b=a+128;Bg==null&&(Bg=Jc(zd,nu,184,256,0,1));c=Bg[b];!c&&(c=Bg[b]=yg(a));return c}return yg(a)}\nfunction Xn(a,b,c){lc(a>=0&&a<=1114111);if(a>=Bu){b[c++]=55296+(a-Bu>>10&1023)&ru;b[c]=56320+(a-Bu&1023)&ru;return 2}else{b[c]=a&ru;return 1}}\nfunction Im(b){Em();if(b%4!=1){throw Ci(),Ci(),Bi}try{return Jm(~~((b-17)/4))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction V(a){if(!a.s){bi();_r(ai,a)&&ci(a)}else if(a.s){Qh(a.s,a)}else if(a.s){throw new Co(\"This widget's parent does not implement HasWidgets\")}}\nfunction _o(a,b,c){if(Xo(Qu,c)){return gp(a,b)}else if(Xo(Ou,c)||Xo('ISO-LATIN-1',c)){return fp(a,b)}else{throw new Rn('Charset '+c+' not supported')}}\nfunction Bp(a,b){var c,d,e;c=b.cb();e=b.db();d=a._(c);if(!(ad(e)===ad(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.Z(c)){return false}return true}\nfunction qj(a,b){if(a<1||b<1){throw new Ao('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=Jc(jd,Mu,0,this.c*b,7,1)}\nfunction xn(a){var b,c,d,e,f,g,h,i;i=a.f;c=a.e;b=i*c;f=Jc(ed,Ku,0,b,7,1);for(d=0;d=0,Mc(Ic(hf,1),nu,1,3,[Oo(b),Oo(c)])),g),h=Hc(a,f),up(a,b,h,0,So(a.length-b,f)),h);er(e,a,b,c,-b,d)}\nfunction Nc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);er(b,a,i,j,-e,f);er(b,a,j,h,-e,f);if(f.O(a[j-1],a[j])<=0){while(ca.b){throw new Do}if(a.b==a.a.length){f=Jc(Qd,nu,20,a.a.length*2,0,1);for(e=0;ec;--d){Pc(a.a,d,a.a[d-1])}Pc(a.a,c,b)}\nfunction sg(a,b,c){var d=qg;var e=rg;var f=ug;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=xg)}for(var i=3;ic-k?0:c-k;h=So(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=So(a.a.b-1,d+k);if(f-i=a.e){throw new Ao('Requested row is outside the image: '+b)}e=a.f;(c==null||c.length>24}return c}\nfunction nk(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.f;c=f.e;if(i>=40&&c>=40){d=xn(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=pk(d,h,g,i,c);e=new qj(i,c);qk(d,h,g,i,c,b,e);a.a=e}else{a.a=kk(a)}return a.a}\nfunction Fc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new tp(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=uq(new vq(a.a));bq(f.a);){e=Tc(zq(f),8);d?(d=false):(b.a+='; ',b);rp(b,e.D())}return b.a}\nfunction Tl(b,c,d){var e,f,g,h,i;h=c.length;e=Jc(jd,Mu,0,h,7,1);for(g=0;g0&&(a.r==-1?Eh(a.t,b|(a.t.__eventBits||0)):(a.r|=b));a.u()}\nfunction ym(a){vm();switch(a){case 0:return um;case 1:return sm;case 2:return lm;case 3:return tm;case 4:return mm;case 5:return om;case 7:return nm;case 8:return rm;case 9:return pm;case 13:return qm;default:throw new zo;}}\nfunction kn(a){var b,c,d,e;e=a.d.b.length;if(e<=1){return 0}d=null;for(c=new mq(a.d);c.a=2){if(!d){d=b}else{a.b=true;return ~~(cd(Ro(d.c-b.c)-Ro(d.d-b.d))/2)}}}return 0}\nfunction im(a,b){var c,d,e,f,g,h,i,j;c=hu;d=0;for(g=em,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?uu:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?uu:0;f=d?tu:0;e=c>>b-44}return {l:e&tu,m:f&tu,h:g&uu}}\nfunction mo(a){if(a.V()){var b=a.c;b.W()?(a.n='['+b.k):!b.V()?(a.n='[L'+b.T()+';'):(a.n='['+b.T());a.b=b.S()+'[]';a.j=b.U()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=po('.',[c,po('$',d)]);a.b=po('.',[c,po('.',d)]);a.j=d[d.length-1]}\nfunction Ln(a,b){this.p=new ii;P(this,(ih(),$doc.createElement('div')));this.k=eh();this.c=jb();this.d=new Zk;this.e=new Tq;this.f=300;this.j=-1;this.a=true;this.b=a;this.o=b;Oq(this.e,this.d);this.i=new Qn(this);_h(this,this.k);R(this.k);$g(this.k)}\nfunction wk(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,q,r;n=a-c+e-g;r=b-d+f-h;if(n==0&&r==0){return new uk(c-a,e-c,a,d-b,f-d,b,0,0,1)}else{l=c-e;m=g-e;o=d-f;q=h-f;k=l*q-m*o;i=(n*q-m*r)/k;j=(l*r-n*o)/k;return new uk(c-a+i*c,g-a+j*g,a,d-b+i*d,h-b+j*h,b,i,j,1)}}\nfunction Gn(b){var c,d,e,f;if(!(b.a&&b.q))return;try{c=Bn(b);if(c){for(e=new mq(b.e);e.a=0&&d.e>=0){Ii(h,(bj(),$i),Oo(d.e));Ii(h,Zi,Oo(d.d))}return h}\nfunction Uk(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=Jc(jd,Mu,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=cd(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=cd(b+(f-b)*i);h+=Ym(a,b,c,f,g);return h-1}\nfunction Tk(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return Mc(Ic(jd,1),Mu,0,7,[b.a[b.a.length-1-1]])}f=Jc(jd,Mu,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);rk(a,q,s,h,d,g)}}}\nfunction gk(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Gi(),Gi(),Fi}e=new qj(b,c);h=Jc(hd,Ku,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}Pc(a,0,c);a[1]=d;Pc(a,2,e)}\nfunction Kk(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Ao(Su)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=Jc(jd,Mu,0,d.length,7,1);e=d.length-f.length;up(d,0,g,0,e);for(c=e;c>3]}}b=mk(d);e=xn(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}i=Jc(ed,Ku,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d0&&c>0){if(a.j>0){if(f>c){if(a.j=0;h--){c=$k(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=$k(a,8,g,d)}for(e=b-8;e8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=bd(e>>8);f[g+1]=bd(e);g+=2;--d}try{rp(c,_o(f,f.length,Pu))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction Ol(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=bd(e>>8&255);f[g+1]=bd(e&255);g+=2;--d}try{rp(c,_o(f,f.length,'GB2312'))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction mn(a){var b,c,d,e,f,g,h,i;c=0;i=0;d=a.d.b.length;for(g=new mq(a.d);g.a=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new mq(a.d);f.a32||b>8*(a.c.length-a.b)-a.a){throw new Ao(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Fm(a){var b,c,d,e,f,g;c=17+4*a.d;b=new pj(c);nj(b,0,0,9,9);nj(b,c-8,0,8,9);nj(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){nj(b,c-11,0,3,6);nj(b,0,c-11,6,3)}return b}\nfunction nj(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Ao('Left and top must be nonnegative')}if(e<1||d<1){throw new Ao('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Ao('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=$k(a,d,g,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=$k(a,c,f,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Ci(),Ci(),Bi}\nfunction mk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Gi(),Gi(),Fi}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction vk(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=sk(wk(3.5,3.5,a,3.5,b,c,3.5,d));n=wk(e,f,g,h,i,j,k,l);return new uk(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction vo(){vo=tg;uo=Mc(Ic(gd,1),Ku,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Bu,256,16,4,2]);to=Mc(Ic(gd,1),Ku,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction Eg(a){var b,c,d,e,f,g,h,i;if(xo(a)){return Qg(),Pg}if(a=9223372036854775807){return Qg(),Ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=wu){d=cd(a/wu);a-=d*wu}c=0;if(a>=vu){c=cd(a/vu);a-=c*vu}b=cd(a);f=zg(b,c,d);e&&(g=~f.l+1&tu,h=~f.m+(g==0?1:0)&tu,i=~f.h+(g==0&&h==0?1:0)&uu,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction Ul(b,c){var d,e,f,g,h;g=new el(c);f=null;d=null;try{return Vl(b,g)}catch(a){a=pg(a);if(Xc(a,56)){e=a;f=e}else if(Xc(a,55)){e=a;d=e}else throw og(a)}try{dl(g);g.d=null;g.c=null;g.b=true;cl(g);bl(g);_k(g);h=Vl(b,g);dk(h,new Bm);return h}catch(a){a=pg(a);if(Xc(a,56)||Xc(a,55)){e=a;if(f){throw f}if(d){throw d}throw e}else throw og(a)}}\nfunction Sk(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Qk(a.a,b);q=Jc(jd,Mu,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return zk(d+q,e,b,c)}return NaN}\nfunction bj(){bj=tg;Wi=new cj('OTHER',0);Vi=new cj('ORIENTATION',1);Si=new cj('BYTE_SEGMENTS',2);Ti=new cj('ERROR_CORRECTION_LEVEL',3);Ui=new cj('ISSUE_NUMBER',4);_i=new cj('SUGGESTED_PRICE',5);Yi=new cj('POSSIBLE_COUNTRY',6);aj=new cj('UPC_EAN_EXTENSION',7);Xi=new cj('PDF417_EXTRA_METADATA',8);$i=new cj('STRUCTURED_APPEND_SEQUENCE',9);Zi=new cj('STRUCTURED_APPEND_PARITY',10)}\nfunction Ml(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Ci(),Ci(),Bi}f=uj(a,11);op(b,Sl(~~(f/45)));op(b,Sl(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Ci(),Ci(),Bi}op(b,Sl(uj(a,6)))}if(d){for(e=g;e0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=Hg(b,Fg(c+127<<23));b=Hg(b,Fg(e));return Mg(b)}\nfunction Ql(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Ci(),Ci(),Bi}e=uj(a,10);if(e>=1000){throw Ci(),Ci(),Bi}op(b,Sl(~~(e/100)));op(b,Sl(~~(e/10)%10));op(b,Sl(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Ci(),Ci(),Bi}f=uj(a,7);if(f>=100){throw Ci(),Ci(),Bi}op(b,Sl(~~(f/10)));op(b,Sl(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Ci(),Ci(),Bi}d=uj(a,4);if(d>=10){throw Ci(),Ci(),Bi}op(b,Sl(d))}}\nfunction ln(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=hn(a,c,cd(h),b[2],m);if(!isNaN(g)){h=gn(a,cd(h),cd(g),b[2],m);if(!isNaN(h)&&(!e||fn(a,cd(g),cd(h),b[2],m))){i=m/7;j=false;for(k=0;k=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return 'gecko1_8';return 'unknown'}\nfunction Pm(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=a.a;i[0]=0;i[1]=0;i[2]=0;f=b;while(f>=0&&lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Rm(a,i)?f-i[2]-i[1]/2:NaN}\nfunction Zo(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=cd(s.c+i*(g-s.c));l=cd(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=Wm(b,n,k,l,m);break}catch(a){a=pg(a);if(!Xc(a,54))throw og(a)}}}u=an(s,t,f,d,j);e=bn(b.a,u,j);!d?(q=Mc(Ic(_d,1),nu,29,0,[f,s,t])):(q=Mc(Ic(_d,1),nu,29,0,[f,s,t,d]));return new hk(e,q)}\nfunction Qm(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=Jc(jd,Mu,0,3,7,1);for(f=0;fn||d+e>j){throw new Do}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=Tc(a,5);f=Tc(c,5);if(ad(a)===ad(c)&&bd;){Pc(f,h,k[--b])}}else{for(h=d+e;d0&&Oc(a,b,c,d,e,true)}\nfunction An(a,b,c){var d,e,f,g,h;this.f=b;this.e=c;h=(ih(),a.t).width;g=a.t.height;if(b>h||c>g){throw new Ao('Crop rectangle does not fit within image data.')}this.a=jb();Q(this.a,h,g);gb(this.a,g);hb(this.a,h);this.b=nb(a.t.getContext('2d'),0,0,b,c);e=this.b.data;for(f=0;fg||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=cd(b[e]);i=cd(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction gl(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new zo}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=uo[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=uo[d]){a*=to[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=Eg(a*Cu);a-=Lg(e)*9.5367431640625E-7;f=Eg(a*4503599627370496);e=Hg(e,Fg(c+1023<<20));g&&(e=Hg(e,{l:0,m:512,h:0}));return Hg(Ig(e,32),f)}\nfunction gn(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&lj(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!lj(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&lj(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return pn(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction hn(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&lj(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return pn(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction nn(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Gi(),Gi(),Fi}if(l>3){n=0;k=0;for(d=new mq(a.d);d.am?Wu*b:m;for(e=0;e3;e++){g=Tc(Pq(a.d,e),16);if(Ro(g.b-b)>f){a.d.bb(e);--e}}}if(a.d.b.length>3){n=0;for(i=new mq(a.d);i.ab){throw new Eo(Yu)}}f=Jc(fd,Ku,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Ao('Invalid UTF8 sequence at '+(h-1)+', byte='+No(c,16))}d=d<<6|c&63}j+=Xn(d,f,j)}return cp(f,0,f.length)}\nfunction jn(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=Jc(jd,Mu,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(pn(l)){b=ln(a,l,e,i,false);if(b){f=l[0];a.b&&(d=mn(a))}}}j=nn(a);ij(j);return new wn(j)}\nfunction Vk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new Xk('r_{i-1} was zero')}k=m;j=a.a.i;f=Mk(l,l.a.length-1);g=Fk(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Hk(a.a,Mk(k,k.a.length-1),g);j=Kk(j,Dk(a.a,e,n));k=Kk(k,Pk(l,e,n))}r=Kk(Ok(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Co('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new Xk('sigmaTilde(0) was zero')}h=Fk(a.a,q);o=Nk(r,h);i=Nk(k,h);return Mc(Ic(je,1),nu,26,0,[o,i])}\nfunction Jn(e,f){function g(b){f.n=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.Q()}\nfunction h(a){var b=a.message;f.P(b)}\nvar i=f.o;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\n", +"function fn(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&lj(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!lj(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&lj(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&pn(i)}\nfunction Ll(b,c,d){Kl();var e,f,g,h,i,j,k,l,m,n,o,q;e=new vj(b);m=new sp;f=new Uq(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(vm(),um)):(k=ym(uj(e,4)));if(k!=(vm(),um)){if(k==om||k==pm){j=true}else if(k==tm){if(8*(e.c.length-e.b)-e.a<16){throw Ci(),Ci(),Bi}o=uj(e,8);l=uj(e,8)}else if(k==nm){q=Rl(e);i=bk(q);if(!i){throw Ci(),Ci(),Bi}}else{if(k==qm){n=uj(e,4);h=uj(e,wm(k,c));n==1&&Ol(e,m,h)}else{g=uj(e,wm(k,c));if(k==sm){Ql(e,m,g)}else if(k==lm){Ml(e,m,g,j)}else if(k==mm){Nl(e,m,g,i,f)}else if(k==rm){Pl(e,m,g)}else{throw Ci(),Ci(),Bi}}}}}while(k!=(vm(),um))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}return new ek(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction uh(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Bu;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return yu;case 'touchstart':return Cu;case 'touchmove':return 2097152;case 'touchend':return vu;case 'touchcancel':return Du;case 'gesturestart':return Eu;case 'gesturechange':return Fu;case 'gestureend':return Gu;default:return -1;}}\nfunction xk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Qu}if(c&&(m>=3||l>=3)){return Pu}if(b&&c){return m==2&&k==2||f*10>=g?Pu:Ou}if(b){return Ou}if(c){return Pu}if(d){return Qu}return Qu}\nfunction St(g){var d=du(ev);var e,f=g;$wnd.JsQRScanner=fu(function(){var a,b=this,c=arguments;c.length==1&&f.sb(c[0])?(a=c[0]):c.length==2?(a=Vt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0]),c[1])):c.length==1&&(a=Ut(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0])));b.g=a;eu(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=fu(function(a){this.g.tb(a)});e.getScanInterval=fu(function(){return this.g.ub()});e.getSnapImageMaxSize=fu(function(){return this.g.vb()});e.isActive=fu(function(){return this.g.wb()});e.isScanning=fu(function(){return this.g.xb()});e.removeFrom=fu(function(a){this.g.yb(a)});e.resumeScanning=fu(function(){this.g.zb()});e.setScanInterval=fu(function(a){this.g.Ab(a)});e.setSnapImageMaxSize=fu(function(a){this.g.Bb(a)});e.stopScanning=fu(function(){this.g.Cb()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction lh(){var a,b,c;b=$doc.compatMode;a=Mc(Ic(mf,1),nu,2,4,[Au]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction fm(){fm=tg;em=Mc(Ic(jd,2),nu,7,0,[Mc(Ic(jd,1),Mu,0,7,[21522,0]),Mc(Ic(jd,1),Mu,0,7,[20773,1]),Mc(Ic(jd,1),Mu,0,7,[24188,2]),Mc(Ic(jd,1),Mu,0,7,[23371,3]),Mc(Ic(jd,1),Mu,0,7,[17913,4]),Mc(Ic(jd,1),Mu,0,7,[16590,5]),Mc(Ic(jd,1),Mu,0,7,[20375,6]),Mc(Ic(jd,1),Mu,0,7,[19104,7]),Mc(Ic(jd,1),Mu,0,7,[30660,8]),Mc(Ic(jd,1),Mu,0,7,[29427,9]),Mc(Ic(jd,1),Mu,0,7,[32170,10]),Mc(Ic(jd,1),Mu,0,7,[30877,11]),Mc(Ic(jd,1),Mu,0,7,[26159,12]),Mc(Ic(jd,1),Mu,0,7,[25368,13]),Mc(Ic(jd,1),Mu,0,7,[27713,14]),Mc(Ic(jd,1),Mu,0,7,[26998,15]),Mc(Ic(jd,1),Mu,0,7,[5769,16]),Mc(Ic(jd,1),Mu,0,7,[5054,17]),Mc(Ic(jd,1),Mu,0,7,[7399,18]),Mc(Ic(jd,1),Mu,0,7,[6608,19]),Mc(Ic(jd,1),Mu,0,7,[1890,20]),Mc(Ic(jd,1),Mu,0,7,[597,21]),Mc(Ic(jd,1),Mu,0,7,[3340,22]),Mc(Ic(jd,1),Mu,0,7,[2107,23]),Mc(Ic(jd,1),Mu,0,7,[13663,24]),Mc(Ic(jd,1),Mu,0,7,[12392,25]),Mc(Ic(jd,1),Mu,0,7,[16177,26]),Mc(Ic(jd,1),Mu,0,7,[14854,27]),Mc(Ic(jd,1),Mu,0,7,[9396,28]),Mc(Ic(jd,1),Mu,0,7,[8579,29]),Mc(Ic(jd,1),Mu,0,7,[11994,30]),Mc(Ic(jd,1),Mu,0,7,[11245,31])])}\nfunction Fh(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Ah:null);c&2&&(a.ondblclick=b&2?Ah:null);c&4&&(a.onmousedown=b&4?Ah:null);c&8&&(a.onmouseup=b&8?Ah:null);c&16&&(a.onmouseover=b&16?Ah:null);c&32&&(a.onmouseout=b&32?Ah:null);c&64&&(a.onmousemove=b&64?Ah:null);c&128&&(a.onkeydown=b&128?Ah:null);c&256&&(a.onkeypress=b&256?Ah:null);c&512&&(a.onkeyup=b&512?Ah:null);c&1024&&(a.onchange=b&1024?Ah:null);c&2048&&(a.onfocus=b&2048?Ah:null);c&4096&&(a.onblur=b&4096?Ah:null);c&8192&&(a.onlosecapture=b&8192?Ah:null);c&16384&&(a.onscroll=b&16384?Ah:null);c&32768&&(a.onload=b&32768?Bh:null);c&Bu&&(a.onerror=b&Bu?Ah:null);c&131072&&(a.onmousewheel=b&131072?Ah:null);c&262144&&(a.oncontextmenu=b&262144?Ah:null);c&yu&&(a.onpaste=b&yu?Ah:null);c&Cu&&(a.ontouchstart=b&Cu?Ah:null);c&2097152&&(a.ontouchmove=b&2097152?Ah:null);c&vu&&(a.ontouchend=b&vu?Ah:null);c&Du&&(a.ontouchcancel=b&Du?Ah:null);c&Eu&&(a.ongesturestart=b&Eu?Ah:null);c&Fu&&(a.ongesturechange=b&Fu?Ah:null);c&Gu&&(a.ongestureend=b&Gu?Ah:null)}\nfunction Zj(){Zj=tg;var a,b,c,d,e,f,g,h,i,j,k,l;Cj=new ak('Cp437',0,Mc(Ic(jd,1),Mu,0,7,[0,2]),Mc(Ic(mf,1),nu,2,4,[]));Fj=new ak('ISO8859_1',1,Mc(Ic(jd,1),Mu,0,7,[1,3]),Mc(Ic(mf,1),nu,2,4,[Ou]));Mj=new _j('ISO8859_2',2,4,Mc(Ic(mf,1),nu,2,4,['ISO-8859-2']));Nj=new _j('ISO8859_3',3,5,Mc(Ic(mf,1),nu,2,4,['ISO-8859-3']));Oj=new _j('ISO8859_4',4,6,Mc(Ic(mf,1),nu,2,4,['ISO-8859-4']));Pj=new _j('ISO8859_5',5,7,Mc(Ic(mf,1),nu,2,4,['ISO-8859-5']));Qj=new _j('ISO8859_6',6,8,Mc(Ic(mf,1),nu,2,4,['ISO-8859-6']));Rj=new _j('ISO8859_7',7,9,Mc(Ic(mf,1),nu,2,4,['ISO-8859-7']));Sj=new _j('ISO8859_8',8,10,Mc(Ic(mf,1),nu,2,4,['ISO-8859-8']));Tj=new _j('ISO8859_9',9,11,Mc(Ic(mf,1),nu,2,4,['ISO-8859-9']));Gj=new _j('ISO8859_10',10,12,Mc(Ic(mf,1),nu,2,4,['ISO-8859-10']));Hj=new _j('ISO8859_11',11,13,Mc(Ic(mf,1),nu,2,4,['ISO-8859-11']));Ij=new _j('ISO8859_13',12,15,Mc(Ic(mf,1),nu,2,4,['ISO-8859-13']));Jj=new _j('ISO8859_14',13,16,Mc(Ic(mf,1),nu,2,4,['ISO-8859-14']));Kj=new _j('ISO8859_15',14,17,Mc(Ic(mf,1),nu,2,4,['ISO-8859-15']));Lj=new _j('ISO8859_16',15,18,Mc(Ic(mf,1),nu,2,4,['ISO-8859-16']));Vj=new _j('SJIS',16,20,Mc(Ic(mf,1),nu,2,4,[Pu]));yj=new _j('Cp1250',17,21,Mc(Ic(mf,1),nu,2,4,['windows-1250']));zj=new _j('Cp1251',18,22,Mc(Ic(mf,1),nu,2,4,['windows-1251']));Aj=new _j('Cp1252',19,23,Mc(Ic(mf,1),nu,2,4,['windows-1252']));Bj=new _j('Cp1256',20,24,Mc(Ic(mf,1),nu,2,4,['windows-1256']));Xj=new _j('UnicodeBigUnmarked',21,25,Mc(Ic(mf,1),nu,2,4,['UTF-16BE','UnicodeBig']));Wj=new _j('UTF8',22,26,Mc(Ic(mf,1),nu,2,4,[Qu]));wj=new ak('ASCII',23,Mc(Ic(jd,1),Mu,0,7,[27,170]),Mc(Ic(mf,1),nu,2,4,['US-ASCII']));xj=new $j;Ej=new _j('GB18030',25,29,Mc(Ic(mf,1),nu,2,4,['GB2312','EUC_CN','GBK']));Dj=new _j('EUC_KR',26,30,Mc(Ic(mf,1),nu,2,4,['EUC-KR']));Yj=new $r;Uj=new $r;for(b=ck(),c=0,d=b.length;c1?(b.c=io(this,a-1)):(b.c=this);return b};_.S=function ho(){Zn(this);return this.b};_.T=function jo(){return $n(this)};_.U=function lo(){Zn(this);return this.j};_.V=function no(){return (this.f&4)!=0};_.W=function oo(){return (this.f&1)!=0};_.tS=function ro(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(Zn(this),this.n)};_.f=0;var Yn=1;var hf=co(iu,'Object',1),od=co(ju,'JavaScriptObject$',0),Ze=co(iu,'Class',67);sg(25,1,{30:1,25:1});_.tS=function S(){if(!this.t){return '(null handle)'}return (ih(),this.t).outerHTML};var Nd=co(ku,'UIObject',25);sg(20,25,lu);_.u=function X(){};_.v=function Y(){};_.w=function Z(){T(this)};_.A=function $(a){var b;switch(ih(),uh(a.type)){case 16:case 32:b=a.relatedTarget;if(!!b&&Cc(this.t,b)){return}}Dc(ih())};_.B=function ab(){U(this)};_.q=false;_.r=0;var Qd=co(ku,'Widget',20);sg(175,20,lu);_.w=function cb(){bb(this)};var Ld=co(ku,'FocusWidget',175);sg(120,175,lu,ib);var db;var md=co(mu,'Canvas',120);sg(177,1,{});var ld=co(mu,'Canvas/CanvasElementSupportDetector',177);sg(121,177,{},kb);var kd=co(mu,'Canvas/CanvasElementSupportDetectedMaybe',121);sg(8,1,ou);_.C=function sb(){dc(this,this.e);return this};_.D=function tb(){return this.e};_.tS=function ub(){var a,b;a=$n(this.cZ);b=this.D();return b!=null?a+': '+b:a};var nf=co(iu,'Throwable',8);sg(10,8,pu);var af=co(iu,'Exception',10);sg(15,10,pu);var jf=co(iu,'RuntimeException',15);sg(81,15,pu);var qd=co(qu,'JavaScriptExceptionBase',81);sg(37,81,{37:1,3:1,10:1,8:1},Db);_.D=function Gb(){Cb(this);return this.c};_.F=function Hb(){return ad(this.b)===ad(Ab)?null:this.b};var Ab;var nd=co(ju,'JavaScriptException',37);sg(155,1,{});var pd=co(ju,'Scheduler',155);var Jb=0,Kb=0,Lb=0,Mb=-1;sg(101,155,{},$b);var Wb;var rd=co(qu,'SchedulerImpl',101);var bc;sg(166,1,{});var vd=co(qu,'StackTraceCreator/Collector',166);sg(82,166,{},fc);_.G=function gc(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(cc(),d.name||(d.name=ec(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Gk(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var je=co(Ru,'GenericGFPoly',26);sg(123,1,{},Wk);var le=co(Ru,'ReedSolomonDecoder',123);sg(45,10,{45:1,3:1,10:1,8:1},Xk);var me=co(Ru,'ReedSolomonException',45);sg(118,1,{181:1},Zk);var ne=co('com.google.zxing.qrcode','QRCodeReader',118);sg(133,1,{},el);_.b=false;\n", +"var oe=co(Tu,'BitMatrixParser',133);sg(65,1,{65:1},fl);_.b=0;var pe=co(Tu,'DataBlock',65);sg(14,13,Uu);var hl,il,jl,kl,ll,ml,nl,ol;var ye=eo(Tu,'DataMask',14,sl);sg(142,14,Uu,tl);_.N=function ul(a,b){return (a+b&1)==0};var qe=eo(Tu,'DataMask/1',142,null);sg(143,14,Uu,vl);_.N=function wl(a,b){return (a&1)==0};var re=eo(Tu,'DataMask/2',143,null);sg(144,14,Uu,xl);_.N=function yl(a,b){return b%3==0};var se=eo(Tu,'DataMask/3',144,null);sg(145,14,Uu,zl);_.N=function Al(a,b){return (a+b)%3==0};var te=eo(Tu,'DataMask/4',145,null);sg(146,14,Uu,Bl);_.N=function Cl(a,b){return (~~(a/2)+~~(b/3)&1)==0};var ue=eo(Tu,'DataMask/5',146,null);sg(147,14,Uu,Dl);_.N=function El(a,b){var c;c=a*b;return (c&1)+c%3==0};var ve=eo(Tu,'DataMask/6',147,null);sg(148,14,Uu,Fl);_.N=function Gl(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var we=eo(Tu,'DataMask/7',148,null);sg(149,14,Uu,Hl);_.N=function Il(a,b){return ((a+b&1)+a*b%3&1)==0};var xe=eo(Tu,'DataMask/8',149,null);var Jl;sg(122,1,{},Wl);var ze=co(Tu,'Decoder',122);sg(39,13,{39:1,3:1,19:1,13:1},bm);var Xl,Yl,Zl,$l,_l;var Ae=eo(Tu,'ErrorCorrectionLevel',39,dm);sg(49,1,{49:1},gm);_.eQ=function jm(a){var b;if(!Xc(a,49)){return false}b=Tc(a,49);return this.b==b.b&&this.a==b.a};_.hC=function km(){return this.b.d<<3|this.a};_.a=0;var em;var Be=co(Tu,'FormatInformation',49);sg(23,13,{23:1,3:1,19:1,13:1},xm);var lm,mm,nm,om,pm,qm,rm,sm,tm,um;var Ce=eo(Tu,'Mode',23,zm);sg(132,1,{},Bm);_.a=false;var De=co(Tu,'QRCodeDecoderMetaData',132);sg(9,1,{9:1},Gm);_.tS=function Km(){return ''+this.d};_.c=0;_.d=0;var Cm,Dm;var Ge=co(Tu,'Version',9);sg(4,1,{4:1},Lm);_.a=0;_.b=0;var Ee=co(Tu,'Version/ECB',4);sg(6,1,{6:1},Mm);_.b=0;var Fe=co(Tu,'Version/ECBlocks',6);sg(50,29,{29:1,50:1},Om);_.a=0;var Ie=co(Vu,'AlignmentPattern',50);sg(151,1,{},Tm);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var He=co(Vu,'AlignmentPatternFinder',151);sg(131,1,{},$m);var Je=co(Vu,'Detector',131);sg(16,29,{29:1,16:1},dn,en);_.a=0;_.b=0;var Oe=co(Vu,'FinderPattern',16);sg(134,1,{},on);_.b=false;var Me=co(Vu,'FinderPatternFinder',134);sg(136,1,Ku,rn);_.O=function sn(a,b){return qn(this,Tc(a,16),Tc(b,16))};_.a=0;var Ke=co(Vu,'FinderPatternFinder/CenterComparator',136);sg(135,1,Ku,un);_.O=function vn(a,b){return tn(this,Tc(a,16),Tc(b,16))};_.a=0;var Le=co(Vu,'FinderPatternFinder/FurthestFromAverageComparator',135);sg(137,1,{},wn);var Ne=co(Vu,'FinderPatternInfo',137);sg(78,125,{},zn);_.c=0;_.d=0;var Pe=co(Xu,'CanvasLuminanceSource',78);sg(104,75,lu);_.w=function Mn(){Dn(this)};_.B=function Nn(){U(this);Kn(this)};_.P=function On(a){En(this,a)};_.Q=function Pn(){this.a&&this.q&&nh(this.i,this.f)};_.a=false;_.f=0;_.j=0;var Re=co(Xu,'ScannerWidget',104);sg(108,107,{},Qn);var Qe=co(Xu,'ScannerWidget/1',108);sg(153,10,pu);var Se=co('java.io','IOException',153);sg(51,153,{3:1,51:1,10:1,8:1},Rn);var Te=co('java.io','UnsupportedEncodingException',51);sg(60,1,{});_.tS=function Tn(){return this.a};var Ue=co(iu,'AbstractStringBuilder',60);sg(70,15,pu,Un);var Ve=co(iu,'ArithmeticException',70);sg(46,15,pu,Vn,Wn);var We=co(iu,'ArrayStoreException',46);sg(41,15,pu,so);var Ye=co(iu,'ClassCastException',41);sg(66,1,{3:1,66:1});var gf=co(iu,'Number',66);var to,uo;sg(12,15,{3:1,10:1,12:1,8:1},zo,Ao);var bf=co(iu,'IllegalArgumentException',12);sg(43,15,pu,Bo,Co);var cf=co(iu,'IllegalStateException',43);sg(38,15,pu,Do,Eo);var df=co(iu,'IndexOutOfBoundsException',38);sg(36,66,{3:1,19:1,36:1,66:1},Go);_.M=function Jo(a){return Fo(this,Tc(a,36))};_.eQ=function Ko(a){return Xc(a,36)&&Tc(a,36).a==this.a};_.hC=function Lo(){return this.a};_.tS=function Mo(){return ''+this.a};_.a=0;var ef=co(iu,'Integer',36);var Po;sg(71,15,pu,To,Uo);var ff=co(iu,'NullPointerException',71);var mf=co(iu,'String',2);var hp,ip=0,jp;sg(27,60,{179:1},sp,tp);var lf=co(iu,'StringBuilder',27);sg(72,15,pu,vp);var of=co(iu,'UnsupportedOperationException',72);sg(169,1,{});_.X=function zp(a){return wp(this,a)};_.tS=function Ap(){return yp(this)};var pf=co(Zu,'AbstractCollection',169);sg(168,1,{58:1});_.Z=function Ep(a){return !!Cp(this,a)};_.eQ=function Fp(a){var b,c,d;if(a===this){return true}if(!Xc(a,58)){return false}d=Tc(a,58);if(this.Y()!=d.Y()){return false}for(c=d.$().I();c.K();){b=Tc(c.L(),17);if(!Bp(this,b)){return false}}return true};_._=function Gp(a){return Hp(Cp(this,a))};_.hC=function Ip(){return fr(this.$())};_.Y=function Jp(){return this.$().Y()};_.tS=function Kp(){var a,b,c,d;d=new tp('{');a=false;for(c=this.$().I();c.K();){b=Tc(c.L(),17);a?(d.a+=', ',d):(a=true);rp(d,Dp(this,b.cb()));d.a+='=';rp(d,Dp(this,b.db()))}d.a+='}';return d.a};var Cf=co(Zu,'AbstractMap',168);sg(84,168,{58:1});_.Z=function Sp(a){return Lp(this,a)};_.$=function Tp(){return new Zp(this)};_._=function Up(a){return Op(this,a)};_.Y=function Vp(){return this.b};_.b=0;var sf=co(Zu,'AbstractHashMap',84);sg(170,169,$u);_.eQ=function Wp(a){var b;if(a===this){return true}if(!Xc(a,40)){return false}b=Tc(a,40);if(b.Y()!=this.Y()){return false}return xp(this,b)};_.hC=function Xp(){return fr(this)};var Df=co(Zu,'AbstractSet',170);sg(68,170,$u,Zp);_.X=function $p(a){return Yp(this,a)};_.I=function _p(){return new dq(this.a)};_.Y=function aq(){return this.a.b};var rf=co(Zu,'AbstractHashMap/EntrySet',68);sg(69,1,{},dq);_.K=function eq(){return bq(this)};_.L=function fq(){return cq(this)};var qf=co(Zu,'AbstractHashMap/EntrySetIterator',69);sg(171,169,{52:1});_.eQ=function iq(a){var b,c,d,e,f;if(a===this){return true}if(!Xc(a,52)){return false}f=Tc(a,52);if(this.Y()!=f.Y()){return false}e=f.I();for(c=new mq(this);c.a>24}\nfunction Xg(a){return a.tM===xg}\nfunction Xt(a){return new Ht(a)}\nfunction ib(a){P(this,(ih(),a))}\nfunction dh(a){P(this,(ih(),a))}\nfunction Hh(a){Dh();ih();return}\nfunction _g(a){(ih(),a.t).src=''}\nfunction rb(a){this.e=a;this.C()}\nfunction wb(a){this.e=a;this.C()}\nfunction sj(a){tj.call(this,a,a)}\nfunction zi(){yi();vb.call(this)}\nfunction dc(a,b){cc();bc.G(a,b)}\nfunction au(a,b,c){Sp(a.a,b,c)}\nfunction br(a,b,c){a.splice(b,c)}\nfunction xh(a,b){a.__listener=b}\nfunction sp(a,b){a.a+=b;return a}\nfunction tp(a,b){a.a+=b;return a}\nfunction up(a,b){a.a+=b;return a}\nfunction gu(a){fu();return bu(a)}\nfunction Up(a,b){return ps(a.a,b)}\nfunction cs(a,b){return Op(a.a,b)}\nfunction Mg(a){return a.l|a.m<<22}\nfunction Uo(a){return a<=0?0-a:a}\nfunction $c(a){return Zc(a)&&Xg(a)}\nfunction Yr(a){this.c=a;Vr(this)}\nfunction Qi(a,b){this.c=a;this.d=b}\nfunction yt(a){ut(this);this.a=a}\nfunction hj(a,b){this.c=a;this.d=b}\nfunction kk(a,b){this.a=a;this.b=b}\nfunction il(a,b){this.b=a;this.a=b}\nfunction ul(a,b){Qi.call(this,a,b)}\nfunction fj(a,b){Qi.call(this,a,b)}\nfunction em(a,b){Qi.call(this,a,b)}\nfunction Om(a,b){this.a=a;this.b=b}\nfunction Pm(a,b){this.b=a;this.a=b}\nfunction Mq(a,b){this.a=a;this.b=b}\nfunction gb(a,b){yc((ih(),a.t),b)}\nfunction hb(a,b){zc((ih(),a.t),b)}\nfunction Ft(a,b){a.appendChild(b)}\nfunction Gt(a,b){a.removeChild(b)}\nfunction rr(a,b){a._gwt_modCount=b}\nfunction Kr(a,b){this.b=a;this.a=b}\nfunction $s(a,b){this.b=a;this.c=b}\nfunction bt(a,b){this.a=a;this.b=b}\nfunction Hn(a,b){$t(a.b,new Mi(b))}\nfunction wt(a,b){a.apply(null,[b])}\nfunction Tg(){Rg==null&&(Rg=[])}\nfunction np(){np=tg;kp={};mp={}}\nfunction Vb(){Jb!=0&&(Jb=0);Mb=-1}\nfunction Mh(){Mh=tg;Dh();Ah[Eu]=Hh}\nfunction ph(a){$wnd.clearTimeout(a)}\nfunction Ub(a){$wnd.clearTimeout(a)}\nfunction Ao(a){yo();return isNaN(a)}\nfunction Io(a,b){return Lo(a.a,b.a)}\nfunction Yt(a,b){return new It(a,b)}\nfunction It(a,b){this.a=new Et(a,b)}\nfunction Ni(a){this.b=a;this.a=null}\nfunction Ht(a){It.call(this,a,null)}\nfunction ci(a,b){Sh(a,b,(ih(),a.t))}\nfunction rp(a,b){a.a+=Sc(b);return a}\nfunction Qq(a){a.b=Jc(hf,qu,1,0,3,1)}\nfunction oh(a){$wnd.clearInterval(a)}\nfunction Wc(a){return !Zc(a)&&Xg(a)}\nfunction Kp(a){return !a?null:a.db()}\nfunction ad(a){return a==null?null:a}\nfunction rt(a){return a!=null?N(a):0}\nfunction Zc(a){return Array.isArray(a)}\nfunction ls(b,a){return b.a[a]||[]}\nfunction en(a,b,c){return jk(a,c,c,b)}\nfunction Lo(a,b){return ab?1:0}\nfunction Wr(a){return a.a>>0).toString(b)}\nfunction ij(a,b){return Bk(a.c,a.d,b.c,b.d)}\nfunction Pk(a,b){return a.a[a.a.length-1-b]}\nfunction Rr(a,b){this.a=a;this.b=b;this.c=0}\nfunction cu(){this.a=new bs;new bs;new bs}\nfunction Ci(){Ci=tg;yi();Bi=new Di;qb(xi)}\nfunction Fi(){Fi=tg;yi();Ei=new Gi;qb(xi)}\nfunction Ji(){Ji=tg;yi();Ii=new Ki;qb(xi)}\nfunction yi(){yi=tg;xi=Jc(kf,qu,182,0,0,1)}\nfunction To(){To=tg;So=Jc(ef,qu,36,256,0,1)}\nfunction hc(){hc=tg;Error.stackTraceLimit=64}\nfunction hu(a,b){fu();a['__gwtex_wrap']=b}\nfunction sh(a,b){return $wnd.setTimeout(a,b)}\nfunction Sc(a){return String.fromCharCode(a)}\nfunction Yc(a){return a!=null&&!_c(a)&&!Xg(a)}\nfunction Eb(a){return a==null?null:a.message}\nfunction Nb(a,b,c){return a.apply(b,c);var d}\nfunction Dt(a,b){Gt(b,(ih(),a.t));U(a);Nn(a)}\nfunction vh(){if(!th){Eh();Nh();th=true}}\nfunction Am(a,b,c){Qi.call(this,a,b);this.a=c}\nfunction Rm(a,b,c){hj.call(this,a,b);this.a=c}\nfunction wl(){ul.call(this,'DATA_MASK_000',0)}\nfunction yl(){ul.call(this,'DATA_MASK_001',1)}\nfunction Cl(){ul.call(this,'DATA_MASK_011',3)}\nfunction Al(){ul.call(this,'DATA_MASK_010',2)}\nfunction Il(){ul.call(this,'DATA_MASK_110',6)}\nfunction El(){ul.call(this,'DATA_MASK_100',4)}\nfunction Gl(){ul.call(this,'DATA_MASK_101',5)}\nfunction Kl(){ul.call(this,'DATA_MASK_111',7)}\nfunction sq(a){pq.call(this,a);tc(a.b);this.a=0}\nfunction In(a){a.a=true;a.a&&a.q&&nh(a.i,a.f)}\nfunction Cq(a){var b;b=fq(a.a);return b.cb()}\nfunction io(a,b){var c;c=fo(a,b);c.f=2;return c}\nfunction Sq(a,b){qc(b,a.b.length);return a.b[b]}\nfunction ur(a,b,c){Or(a.a,b);return wr(a,b.d,c)}\nfunction mb(f,a,b,c,d,e){f.drawImage(a,b,c,d,e)}\nfunction hp(a,b){return _c(a)?gp(a,Vc(b)):a.M(b)}\nfunction qh(a,b){return iu(function(){a.H(b)})}\nfunction Pr(a,b){return Xc(b,13)&&Qr(a,Tc(b,13))}\nfunction Gp(a,b){return b===a?'(this Map)':''+b}\nfunction sc(a,b){if(a==null){throw new Xo(''+b)}}\nfunction rc(a){if(a==null){throw new Wo}return a}\nfunction qp(){if(lp==256){kp=mp;mp={};lp=0}++lp}\nfunction fi(a){ei();try{U(a)}finally{ds(di,a)}}\nfunction Hr(a){this.c=a;this.a=new Yr(this.c.a)}\nfunction zn(a){this.a=a[0];this.b=a[1];this.c=a[2]}\nfunction jm(a){this.b=fm(a>>3&3);this.a=bd(a&7)}\nfunction js(c,a){var b=c.a;return b[a]||(b[a]=[])}\nfunction gp(a,b){if(a==b){return 0}return a %s',b))}}\nfunction Dg(a,b){return a.l==b.l&&a.m==b.m&&a.h==b.h}\nfunction _r(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction qt(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction Rc(a,b){return _c(a)&&!!Qc[b]||a.cM&&!!a.cM[b]}\nfunction L(a){return _c(a)?mf:Wc(a)?a.cZ:$c(a)?a.cZ:od}\nfunction ug(a){return a instanceof Array?a[0]:null}\nfunction ns(a){return Object.getOwnPropertyNames(a.a)}\nfunction Ps(a){return Object.getOwnPropertyNames(a.a)}\nfunction Cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction Hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction fq(a){return qr(a.c,a),oc(eq(a)),Tc(a.a.L(),17)}\nfunction pb(d,a,b,c){return d.data[4*(a+b*d.width)+c]||0}\nfunction wr(a,b,c){var d;d=a.b[b];Pc(a.b,b,c);return d}\nfunction jo(a,b){var c;c=fo('',a);c.k=b;c.f=1;return c}\nfunction Vc(a){if(a!=null&&!_c(a)){throw new vo}return a}\nfunction ri(){var a;a=ui();if(!Zo(Lu,a)){throw new ti(a)}}\nfunction Tb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction Ut(a){if(!Tt){Tt=true;fu();au(eu,ig,a);Vt(a)}}\nfunction ut(a){if(!st){st=true;fu();au(eu,fg,a);vt(a)}}\nfunction tc(a){if(0>a){throw new Ho('Index: 0, Size: '+a)}}\nfunction Tc(a,b){if(a!=null&&!Rc(a,b)){throw new vo}return a}\nfunction dk(a,b,c,d){Qi.call(this,a,b);this.b=c;this.a=d}\nfunction hn(a,b,c,d){hj.call(this,a,b);this.b=c;this.a=d}\nfunction Db(a){Bb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction Cn(a){Dn.call(this,a,(ih(),a.t).width,a.t.height)}\nfunction Sh(a,b,c){V(b);gi(a.p,b);ih();wc(c,kh(b.t));W(b,a)}\nfunction Tp(a,b,c){return b==null?os(a.a,null,c):a.c.pb(b,c)}\nfunction cd(a){return ~~Math.max(Math.min(a,ku),-2147483648)}\nfunction gm(){dm();return Mc(Ic(Ae,1),Qu,39,0,[am,bm,cm,_l])}\nfunction Nl(){var a;Nl=tg;Ml=(a=Jc(fd,Pu,0,45,7,1),_o(a,0),a)}\nfunction Ym(a){var b,c;b=new rn(a.a);c=mn(b);return $m(a,c)}\nfunction ki(a,b){var c;c=hi(a,b);if(c==-1){throw new pt}ji(a,c)}\nfunction nj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction pj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction lo(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.R(b))}\nfunction wh(a){var b=a.__listener;return !Yc(b)&&Xc(b,31)?b:null}\nfunction Ik(a,b){if(b==0){throw new Xn}return a.a[a.f-a.c[b]-1]}\nfunction Mm(a){Hm();if(a<1||a>40){throw new Co}return Fm[a-1]}\nfunction Vl(a){if(a>=Ml.length){throw Fi(),Fi(),Ei}return Ml[a]}\nfunction tq(a,b){pc(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction rk(a){mk();this.d=a;this.c=lk;this.b=Jc(jd,Ru,0,32,7,1)}\nfunction rn(a){this.c=a;this.d=new Wq;this.a=Jc(jd,Ru,0,5,7,1)}\nfunction xq(a){var b;b=new gq((new aq(a.a)).a);return new Dq(b)}\nfunction wg(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction _p(a,b){if(Xc(b,17)){return Ep(a.a,Tc(b,17))}return false}\nfunction Cr(a,b){if(Xc(b,17)){return Ep(a.a,Tc(b,17))}return false}\nfunction no(a){if(a.W()){return null}var b=a.k;var c=qg[b];return c}\nfunction kh(a){ih();return a.__gwt_resolve?a.__gwt_resolve():a}\nfunction N(a){return _c(a)?pp(a):Wc(a)?a.hC():$c(a)?Sb(a):Sb(a)}\nfunction Bc(a,b){return a===b||!!(a.compareDocumentPosition(b)&16)}\nfunction Ph(a,b){for(var c in a){a.hasOwnProperty(c)&&b(c,a[c])}}\nfunction Bk(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction Ck(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction Qb(a,b,c){var d;d=Ob();try{return Nb(a,b,c)}finally{Rb(d)}}\nfunction kr(a,b){var c,d;d=a.b.length;for(c=0;c=$l.length){throw new Co}return $l[a]}\nfunction Uc(a){if(a!=null&&!(!_c(a)&&!Xg(a))){throw new vo}return a}\nfunction qr(a,b){if(b._gwt_modCount!=a._gwt_modCount){throw new tr}}\nfunction qc(a,b){if(a<0||a>=b){throw new Ho('Index: '+a+', Size: '+b)}}\nfunction mh(a){if(!a.d){return}++a.b;a.c?oh(a.d.a):ph(a.d.a);a.d=null}\nfunction Ib(){if(Date.now){return Date.now()}return (new Date).getTime()}\nfunction Xq(a){Qq(this);mc(a>=0,'Initial capacity must not be negative')}\nfunction yg(a){var b,c,d;b=a&vu;c=a>>22&vu;d=a<0?wu:0;return zg(b,c,d)}\nfunction zm(a,b){var c,d;c=b.d;c<=9?(d=0):c<=26?(d=1):(d=2);return a.a[d]}\nfunction Vq(a,b,c){var d;d=(qc(b,a.b.length),a.b[b]);Pc(a.b,b,c);return d}\nfunction hi(a,b){var c;for(c=0;c>>(b&31)&1)!=0}\nfunction Kk(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction ni(a){if(a.b>=a.c.b){throw new pt}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction hl(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Fi(),Fi(),Ei}this.a=a}\nfunction Jh(a){var b;b=Lh(a);if(!b){return}jh(a,b.nodeType!=1?null:b,wh(b))}\nfunction km(a,b){im();var c;c=lm(a,b);if(c){return c}return lm(a^21522,b^21522)}\nfunction Oh(a,b){vh();Fh(a,b);b&Fu&&a.addEventListener(Eu,(Dh(),Bh),false)}\nfunction ng(b,c){if(b&&typeof b==ju){try{b.__gwt$exception=c}catch(a){}}}\nfunction Tq(a,b,c){for(;c=900){throw Fi(),Fi(),Ei}return Tc(Rp(_j,Ro(a)),11)}\nfunction Dm(a,b){var c;if(!a.a||b==null||b.length<3){return}c=b[0];Pc(b,0,b[2]);Pc(b,2,c)}\nfunction Op(a,b){return _c(b)?b==null?!!ms(a.a,null):!(a.c.mb(b)===undefined):!!ms(a.a,b)}\nfunction Wg(a,b){typeof window===ju&&typeof window['$gwt']===ju&&(window['$gwt'][a]=b)}\nfunction jh(a,b,c){ih();var d;d=gh;gh=a;b==hh&&uh(a.type)==8192&&(hh=null);c.A(a);gh=d}\nfunction ck(a,b,c,d){Qi.call(this,a,b);this.b=Mc(Ic(jd,1),Ru,0,7,[c]);this.a=d}\nfunction bk(){dk.call(this,'Big5',24,Mc(Ic(jd,1),Ru,0,7,[28]),Mc(Ic(mf,1),qu,2,4,[]))}\nfunction ok(a,b){var c;a.c.length=d){return false}}return true}\nfunction ir(a){var b,c,d;d=0;for(c=a.I();c.K();){b=c.L();d=d+(b!=null?N(b):0);d=~~d}return d}\nfunction Qs(a,b,c){var d;d=a.a[b];d===undefined&&Pp(a.b);Ss(a,b,c===undefined?null:c);return d}\nfunction Hc(a,b){var c;c=Nc(0,b);Mc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction Mc(a,b,c,d,e){e.cZ=a;e.cM=b;e.tM=xg;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}\nfunction Qm(a,b,c,d){var e;if(Uo(c-a.d)<=b&&Uo(d-a.c)<=b){e=Uo(b-a.a);return e<=1||e<=a.a}return false}\nfunction fn(a,b,c,d){var e;if(Uo(c-a.d)<=b&&Uo(d-a.c)<=b){e=Uo(b-a.b);return e<=1||e<=a.b}return false}\nfunction eq(a){if(a.a.K()){return true}if(a.a!=a.b){return false}a.a=a.c.a.hb();return a.a.K()}\nfunction pg(a){var b;if(Xc(a,8)){return a}b=a&&a.__gwt$exception;if(!b){b=new Db(a);dc(b,a);ng(a,b)}return b}\nfunction Gc(a,b){var c;c=a.slice(0,b);Mc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction Ac(b){var c=b.relatedTarget;if(!c){return null}try{var d=c.nodeName;return c}catch(a){return null}}\nfunction ec(a){var b=/function(?:\\s+([\\w$]+))?\\s*\\(/;var c=b.exec(a);return c&&c[1]||'anonymous'}\nfunction Kg(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return {l:c&vu,m:d&vu,h:e&wu}}\nfunction ip(a,b){var c,d;c=Jc(fd,Pu,0,b,7,1);for(d=0;d=a.b){throw new Go}--a.b;for(c=b;c=d||b-129&&a<128){b=a+128;c=(To(),So)[b];!c&&(c=So[b]=new Jo(a));return c}return new Jo(a)}\nfunction eh(){var a;!ah&&(ah=new fh);a=$doc.createElement('video');if(!a.canPlayType){return null}return new dh(a)}\nfunction jb(){var a;!db&&(db=new kb);a=$doc.createElement('canvas');if(!a.getContext){return null}return new ib(a)}\nfunction cc(){cc=tg;var a,b;b=!(!!Error.stackTraceLimit||'stack' in new Error);a=new jc;bc=b?new fc:a}\nfunction sl(){sl=tg;kl=new wl;ll=new yl;ml=new Al;nl=new Cl;ol=new El;pl=new Gl;ql=new Il;rl=new Kl}\nfunction Yg(){$wnd.setTimeout(iu(ri));lh();fu();new xt;new Wt;$wnd.JsQRScannerReady&&$wnd.JsQRScannerReady()}\nfunction vg(){!Array.isArray&&(Array.isArray=function(a){return Object.prototype.toString.call(a)==='[object Array]'})}\nfunction Nn(b){if(b.n){var c=b.n;c.stop?c.stop():c.getTracks&&c.getTracks().forEach(function(a){a.stop()});b.n=null}}\nfunction ts(a){if(a.cb&&d.O(a[f-1],a[f])>0;--f){g=a[f];Pc(a,f,a[f-1]);Pc(a,f-1,g)}}}\nfunction kq(a,b){var c,d;d=new sq(a);for(c=0;c=0&&((ih(),a.t).style['width']=b+'px',undefined);c>=0&&((ih(),a.t).style['height']=c+'px',undefined)}\nfunction pc(a,b){if(a>b){throw new Ho('toIndex: '+a+' > size '+b)}if(3>a){throw new Do('fromIndex: 3 > toIndex: '+a)}}\nfunction $o(b,a){if(a==null){return false}if(b==a){return true}return b.length==a.length&&b.toLowerCase()==a.toLowerCase()}\nfunction gl(a){var b,c;if(!a.c){return}b=(sl(),Mc(Ic(ye,1),Qu,14,0,[kl,ll,ml,nl,ol,pl,ql,rl]))[a.c.a];c=a.a.b;tl(b,a.a,c)}\nfunction Fg(a){var b,c;if(a>-129&&a<128){b=a+128;Bg==null&&(Bg=Jc(zd,qu,184,256,0,1));c=Bg[b];!c&&(c=Bg[b]=yg(a));return c}return yg(a)}\nfunction ms(a,b){var c,d,e,f;for(d=ls(a,b==null?'0':''+as(b)),e=0,f=d.length;e>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction dm(){dm=tg;am=new em('L',0);bm=new em('M',1);cm=new em('Q',2);_l=new em('H',3);$l=Mc(Ic(Ae,1),Qu,39,0,[bm,am,_l,cm])}\nfunction Fk(){Fk=tg;new Lk(4201,4096,1);new Lk(1033,1024,1);new Lk(67,64,1);new Lk(19,16,1);Ek=new Lk(285,256,0);new Lk(301,256,1)}\nfunction fk(){ak();return Mc(Ic(de,1),Qu,11,0,[Fj,Ij,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Jj,Kj,Lj,Mj,Nj,Oj,Yj,Bj,Cj,Dj,Ej,$j,Zj,zj,Aj,Hj,Gj])}\nfunction Ob(){var a;if(Jb!=0){a=Ib();if(a-Lb>2000){Lb=a;Mb=$wnd.setTimeout(Vb,10)}}if(Jb++==0){Yb((Xb(),Wb));return true}return false}\nfunction Jm(a,b,c){var d,e,f,g,h,i;this.d=a;this.a=b;this.b=c;i=0;g=c[0].b;h=c[0].a;for(e=0,f=h.length;e=0&&a<=1114111);if(a>=Du){b[c++]=55296+(a-Du>>10&1023)&65535;b[c]=56320+(a-Du&1023)&65535;return 2}else{b[c]=a&65535;return 1}}\nfunction cp(a,b,c){if($o(Vu,c)){return jp(a,b)}else if($o(Tu,c)||$o('ISO-LATIN-1',c)){return ip(a,b)}else{throw new Un('Charset '+c+' not supported')}}\nfunction Ep(a,b){var c,d,e;c=b.cb();e=b.db();d=a._(c);if(!(ad(e)===ad(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.Z(c)){return false}return true}\nfunction Cc(a){var b=a.ownerDocument;var c=a.cloneNode(true);var d=b.createElement('DIV');d.appendChild(c);outer=d.innerHTML;c.innerHTML='';return outer}\nfunction tj(a,b){if(a<1||b<1){throw new Do('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=Jc(jd,Ru,0,this.c*b,7,1)}\nfunction An(a){var b,c,d,e,f,g,h,i;i=a.f;c=a.e;b=i*c;f=Jc(ed,Pu,0,b,7,1);for(d=0;d=0,Mc(Ic(hf,1),qu,1,3,[Ro(b),Ro(c)])),g),h=Hc(a,f),xp(a,b,h,0,Vo(a.length-b,f)),h);hr(e,a,b,c,-b,d)}\nfunction Nc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);hr(b,a,i,j,-e,f);hr(b,a,j,h,-e,f);if(f.O(a[j-1],a[j])<=0){while(ca.b){throw new Go}if(a.b==a.a.length){f=Jc(Qd,qu,20,a.a.length*2,0,1);for(e=0;ec;--d){Pc(a.a,d,a.a[d-1])}Pc(a.a,c,b)}\nfunction sg(a,b,c){var d=qg;var e=rg;var f=ug;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=xg)}for(var i=3;ic-k?0:c-k;h=Vo(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=Vo(a.a.b-1,d+k);if(f-i=a.e){throw new Do('Requested row is outside the image: '+b)}e=a.f;(c==null||c.length>24}return c}\nfunction qk(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.f;c=f.e;if(i>=40&&c>=40){d=An(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=sk(d,h,g,i,c);e=new tj(i,c);tk(d,h,g,i,c,b,e);a.a=e}else{a.a=nk(a)}return a.a}\nfunction Fc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new wp(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=xq(new yq(a.a));eq(f.a);){e=Tc(Cq(f),8);d?(d=false):(b.a+='; ',b);up(b,e.D())}return b.a}\nfunction Wl(b,c,d){var e,f,g,h,i;h=c.length;e=Jc(jd,Ru,0,h,7,1);for(g=0;g0&&(a.r==-1?Oh(a.t,b|(a.t.__eventBits||0)):(a.r|=b));a.u()}\nfunction Bm(a){ym();switch(a){case 0:return xm;case 1:return vm;case 2:return om;case 3:return wm;case 4:return pm;case 5:return rm;case 7:return qm;case 8:return um;case 9:return sm;case 13:return tm;default:throw new Co;}}\nfunction nn(a){var b,c,d,e;e=a.d.b.length;if(e<=1){return 0}d=null;for(c=new pq(a.d);c.a=2){if(!d){d=b}else{a.b=true;return ~~(cd(Uo(d.c-b.c)-Uo(d.d-b.d))/2)}}}return 0}\nfunction lm(a,b){var c,d,e,f,g,h,i,j;c=ku;d=0;for(g=hm,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?wu:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?wu:0;f=d?vu:0;e=c>>b-44}return {l:e&vu,m:f&vu,h:g&wu}}\nfunction po(a){if(a.V()){var b=a.c;b.W()?(a.n='['+b.k):!b.V()?(a.n='[L'+b.T()+';'):(a.n='['+b.T());a.b=b.S()+'[]';a.j=b.U()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=so('.',[c,so('$',d)]);a.b=so('.',[c,so('.',d)]);a.j=d[d.length-1]}\nfunction On(a,b){this.p=new li;P(this,(ih(),$doc.createElement('div')));this.k=eh();this.c=jb();this.d=new al;this.e=new Wq;this.f=300;this.j=-1;this.a=true;this.b=a;this.o=b;Rq(this.e,this.d);this.i=new Tn(this);ci(this,this.k);R(this.k);$g(this.k)}\nfunction zk(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,q,r;n=a-c+e-g;r=b-d+f-h;if(n==0&&r==0){return new xk(c-a,e-c,a,d-b,f-d,b,0,0,1)}else{l=c-e;m=g-e;o=d-f;q=h-f;k=l*q-m*o;i=(n*q-m*r)/k;j=(l*r-n*o)/k;return new xk(c-a+i*c,g-a+j*g,a,d-b+i*d,h-b+j*h,b,i,j,1)}}\nfunction Jn(b){var c,d,e,f;if(!(b.a&&b.q))return;try{c=En(b);if(c){for(e=new pq(b.e);e.a=0&&d.e>=0){Li(h,(ej(),bj),Ro(d.e));Li(h,aj,Ro(d.d))}return h}\nfunction Xk(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=Jc(jd,Ru,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=cd(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=cd(b+(f-b)*i);h+=_m(a,b,c,f,g);return h-1}\nfunction Wk(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return Mc(Ic(jd,1),Ru,0,7,[b.a[b.a.length-1-1]])}f=Jc(jd,Ru,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);uk(a,q,s,h,d,g)}}}\nfunction jk(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Ji(),Ji(),Ii}e=new tj(b,c);h=Jc(hd,Pu,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}Pc(a,0,c);a[1]=d;Pc(a,2,e)}\nfunction Nk(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Do(Xu)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=Jc(jd,Ru,0,d.length,7,1);e=d.length-f.length;xp(d,0,g,0,e);for(c=e;c>3]}}b=pk(d);e=An(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Fi(),Fi(),Ei}i=Jc(ed,Pu,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d0&&c>0){if(a.j>0){if(f>c){if(a.j=0;h--){c=bl(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=bl(a,8,g,d)}for(e=b-8;e8*(b.c.length-b.b)-b.a){throw Fi(),Fi(),Ei}f=Jc(ed,Pu,0,2*d,7,1);g=0;while(d>0){h=xj(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=bd(e>>8);f[g+1]=bd(e);g+=2;--d}try{up(c,cp(f,f.length,Uu))}catch(a){a=pg(a);if(Xc(a,51)){throw Fi(),Fi(),Ei}else throw og(a)}}\nfunction Rl(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Fi(),Fi(),Ei}f=Jc(ed,Pu,0,2*d,7,1);g=0;while(d>0){h=xj(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=bd(e>>8&255);f[g+1]=bd(e&255);g+=2;--d}try{up(c,cp(f,f.length,'GB2312'))}catch(a){a=pg(a);if(Xc(a,51)){throw Fi(),Fi(),Ei}else throw og(a)}}\nfunction pn(a){var b,c,d,e,f,g,h,i;c=0;i=0;d=a.d.b.length;for(g=new pq(a.d);g.a=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new pq(a.d);f.a32||b>8*(a.c.length-a.b)-a.a){throw new Do(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Im(a){var b,c,d,e,f,g;c=17+4*a.d;b=new sj(c);qj(b,0,0,9,9);qj(b,c-8,0,8,9);qj(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){qj(b,c-11,0,3,6);qj(b,0,c-11,6,3)}return b}\nfunction qj(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Do('Left and top must be nonnegative')}if(e<1||d<1){throw new Do('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Do('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=bl(a,d,g,j)}}i=Km(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=bl(a,c,f,j)}}i=Km(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Fi(),Fi(),Ei}\nfunction pk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Ji(),Ji(),Ii}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction yk(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=vk(zk(3.5,3.5,a,3.5,b,c,3.5,d));n=zk(e,f,g,h,i,j,k,l);return new xk(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction yo(){yo=tg;xo=Mc(Ic(gd,1),Pu,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Du,256,16,4,2]);wo=Mc(Ic(gd,1),Pu,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction Eg(a){var b,c,d,e,f,g,h,i;if(Ao(a)){return Qg(),Pg}if(a=9223372036854775807){return Qg(),Ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=yu){d=cd(a/yu);a-=d*yu}c=0;if(a>=xu){c=cd(a/xu);a-=c*xu}b=cd(a);f=zg(b,c,d);e&&(g=~f.l+1&vu,h=~f.m+(g==0?1:0)&vu,i=~f.h+(g==0&&h==0?1:0)&wu,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction Xl(b,c){var d,e,f,g,h;g=new hl(c);f=null;d=null;try{return Yl(b,g)}catch(a){a=pg(a);if(Xc(a,56)){e=a;f=e}else if(Xc(a,55)){e=a;d=e}else throw og(a)}try{gl(g);g.d=null;g.c=null;g.b=true;fl(g);el(g);cl(g);h=Yl(b,g);gk(h,new Em);return h}catch(a){a=pg(a);if(Xc(a,56)||Xc(a,55)){e=a;if(f){throw f}if(d){throw d}throw e}else throw og(a)}}\nfunction Nh(){$wnd.addEventListener('mouseout',iu(function(a){var b=(Dh(),zh);if(b&&!a.relatedTarget){if('html'==a.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,a.screenX,a.screenY,a.clientX,a.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,a.button,null);b.dispatchEvent(c)}}}),true)}\nfunction Vk(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Tk(a.a,b);q=Jc(jd,Ru,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return Ck(d+q,e,b,c)}return NaN}\nfunction ej(){ej=tg;Zi=new fj('OTHER',0);Yi=new fj('ORIENTATION',1);Vi=new fj('BYTE_SEGMENTS',2);Wi=new fj('ERROR_CORRECTION_LEVEL',3);Xi=new fj('ISSUE_NUMBER',4);cj=new fj('SUGGESTED_PRICE',5);_i=new fj('POSSIBLE_COUNTRY',6);dj=new fj('UPC_EAN_EXTENSION',7);$i=new fj('PDF417_EXTRA_METADATA',8);bj=new fj('STRUCTURED_APPEND_SEQUENCE',9);aj=new fj('STRUCTURED_APPEND_PARITY',10)}\nfunction Pl(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Fi(),Fi(),Ei}f=xj(a,11);rp(b,Vl(~~(f/45)));rp(b,Vl(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Fi(),Fi(),Ei}rp(b,Vl(xj(a,6)))}if(d){for(e=g;e0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=Hg(b,Fg(c+127<<23));b=Hg(b,Fg(e));return Mg(b)}\nfunction ui(){var a=navigator.userAgent.toLowerCase();var b=$doc.documentMode;if(function(){return a.indexOf('webkit')!=-1}())return 'safari';if(function(){return a.indexOf('msie')!=-1&&b>=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return Lu;return 'unknown'}\nfunction Tl(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Fi(),Fi(),Ei}e=xj(a,10);if(e>=1000){throw Fi(),Fi(),Ei}rp(b,Vl(~~(e/100)));rp(b,Vl(~~(e/10)%10));rp(b,Vl(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Fi(),Fi(),Ei}f=xj(a,7);if(f>=100){throw Fi(),Fi(),Ei}rp(b,Vl(~~(f/10)));rp(b,Vl(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Fi(),Fi(),Ei}d=xj(a,4);if(d>=10){throw Fi(),Fi(),Ei}rp(b,Vl(d))}}\nfunction on(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=ln(a,c,cd(h),b[2],m);if(!isNaN(g)){h=kn(a,cd(h),cd(g),b[2],m);if(!isNaN(h)&&(!e||jn(a,cd(g),cd(h),b[2],m))){i=m/7;j=false;for(k=0;k=0&&oj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!oj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Um(a,i)?f-i[2]-i[1]/2:NaN}\nfunction ap(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=cd(s.c+i*(g-s.c));l=cd(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=Zm(b,n,k,l,m);break}catch(a){a=pg(a);if(!Xc(a,54))throw og(a)}}}u=dn(s,t,f,d,j);e=en(b.a,u,j);!d?(q=Mc(Ic(_d,1),qu,29,0,[f,s,t])):(q=Mc(Ic(_d,1),qu,29,0,[f,s,t,d]));return new kk(e,q)}\nfunction Tm(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=Jc(jd,Ru,0,3,7,1);for(f=0;fn||d+e>j){throw new Go}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=Tc(a,5);f=Tc(c,5);if(ad(a)===ad(c)&&bd;){Pc(f,h,k[--b])}}else{for(h=d+e;d0&&Oc(a,b,c,d,e,true)}\nfunction Dn(a,b,c){var d,e,f,g,h;this.f=b;this.e=c;h=(ih(),a.t).width;g=a.t.height;if(b>h||c>g){throw new Do('Crop rectangle does not fit within image data.')}this.a=jb();Q(this.a,h,g);gb(this.a,g);hb(this.a,h);this.b=nb(a.t.getContext('2d'),0,0,b,c);e=this.b.data;for(f=0;fg||i<-1||i>c){throw Ji(),Ji(),Ii}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=cd(b[e]);i=cd(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Ji(),Ji(),Ii}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction jl(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new Co}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=xo[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=xo[d]){a*=wo[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=Eg(a*Gu);a-=Lg(e)*9.5367431640625E-7;f=Eg(a*4503599627370496);e=Hg(e,Fg(c+1023<<20));g&&(e=Hg(e,{l:0,m:512,h:0}));return Hg(Ig(e,32),f)}\nfunction kn(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&oj(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!oj(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&oj(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return sn(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction ln(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&oj(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!oj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&oj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return sn(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction qn(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Ji(),Ji(),Ii}if(l>3){n=0;k=0;for(d=new pq(a.d);d.am?_u*b:m;for(e=0;e3;e++){g=Tc(Sq(a.d,e),16);if(Uo(g.b-b)>f){a.d.bb(e);--e}}}if(a.d.b.length>3){n=0;for(i=new pq(a.d);i.ab){throw new Ho(bv)}}f=Jc(fd,Pu,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Do('Invalid UTF8 sequence at '+(h-1)+', byte='+Qo(c,16))}d=d<<6|c&63}j+=$n(d,f,j)}return fp(f,0,f.length)}\nfunction mn(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=Jc(jd,Ru,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(sn(l)){b=on(a,l,e,i,false);if(b){f=l[0];a.b&&(d=pn(a))}}}j=qn(a);lj(j);return new zn(j)}\nfunction Yk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new $k('r_{i-1} was zero')}k=m;j=a.a.i;f=Pk(l,l.a.length-1);g=Ik(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Kk(a.a,Pk(k,k.a.length-1),g);j=Nk(j,Gk(a.a,e,n));k=Nk(k,Sk(l,e,n))}r=Nk(Rk(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Fo('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new $k('sigmaTilde(0) was zero')}h=Ik(a.a,q);o=Qk(r,h);i=Qk(k,h);return Mc(Ic(je,1),qu,26,0,[o,i])}\n", +"function Mn(e,f){function g(b){f.n=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.Q()}\nfunction h(a){var b=a.message;f.P(b)}\nvar i=f.o;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\nfunction jn(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&oj(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!oj(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&oj(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&sn(i)}\nfunction Ol(b,c,d){Nl();var e,f,g,h,i,j,k,l,m,n,o,q;e=new yj(b);m=new vp;f=new Xq(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(ym(),xm)):(k=Bm(xj(e,4)));if(k!=(ym(),xm)){if(k==rm||k==sm){j=true}else if(k==wm){if(8*(e.c.length-e.b)-e.a<16){throw Fi(),Fi(),Ei}o=xj(e,8);l=xj(e,8)}else if(k==qm){q=Ul(e);i=ek(q);if(!i){throw Fi(),Fi(),Ei}}else{if(k==tm){n=xj(e,4);h=xj(e,zm(k,c));n==1&&Rl(e,m,h)}else{g=xj(e,zm(k,c));if(k==vm){Tl(e,m,g)}else if(k==om){Pl(e,m,g,j)}else if(k==pm){Ql(e,m,g,i,f)}else if(k==um){Sl(e,m,g)}else{throw Fi(),Fi(),Ei}}}}}while(k!=(ym(),xm))}catch(a){a=pg(a);if(Xc(a,12)){throw Fi(),Fi(),Ei}else throw og(a)}return new hk(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction uh(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Du;case Eu:case 'mousewheel':return Fu;case 'contextmenu':return 262144;case 'paste':return Au;case 'touchstart':return Gu;case 'touchmove':return 2097152;case 'touchend':return xu;case 'touchcancel':return Hu;case 'gesturestart':return Iu;case 'gesturechange':return Ju;case 'gestureend':return Ku;default:return -1;}}\nfunction Ak(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Vu}if(c&&(m>=3||l>=3)){return Uu}if(b&&c){return m==2&&k==2||f*10>=g?Uu:Tu}if(b){return Tu}if(c){return Uu}if(d){return Vu}return Vu}\nfunction Vt(g){var d=gu(jv);var e,f=g;$wnd.JsQRScanner=iu(function(){var a,b=this,c=arguments;c.length==1&&f.sb(c[0])?(a=c[0]):c.length==2?(a=Yt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new yt(c[0]),c[1])):c.length==1&&(a=Xt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new yt(c[0])));b.g=a;hu(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=iu(function(a){this.g.tb(a)});e.getScanInterval=iu(function(){return this.g.ub()});e.getSnapImageMaxSize=iu(function(){return this.g.vb()});e.isActive=iu(function(){return this.g.wb()});e.isScanning=iu(function(){return this.g.xb()});e.removeFrom=iu(function(a){this.g.yb(a)});e.resumeScanning=iu(function(){this.g.zb()});e.setScanInterval=iu(function(a){this.g.Ab(a)});e.setSnapImageMaxSize=iu(function(a){this.g.Bb(a)});e.stopScanning=iu(function(){this.g.Cb()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction lh(){var a,b,c;b=$doc.compatMode;a=Mc(Ic(mf,1),qu,2,4,[Cu]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction im(){im=tg;hm=Mc(Ic(jd,2),qu,7,0,[Mc(Ic(jd,1),Ru,0,7,[21522,0]),Mc(Ic(jd,1),Ru,0,7,[20773,1]),Mc(Ic(jd,1),Ru,0,7,[24188,2]),Mc(Ic(jd,1),Ru,0,7,[23371,3]),Mc(Ic(jd,1),Ru,0,7,[17913,4]),Mc(Ic(jd,1),Ru,0,7,[16590,5]),Mc(Ic(jd,1),Ru,0,7,[20375,6]),Mc(Ic(jd,1),Ru,0,7,[19104,7]),Mc(Ic(jd,1),Ru,0,7,[30660,8]),Mc(Ic(jd,1),Ru,0,7,[29427,9]),Mc(Ic(jd,1),Ru,0,7,[32170,10]),Mc(Ic(jd,1),Ru,0,7,[30877,11]),Mc(Ic(jd,1),Ru,0,7,[26159,12]),Mc(Ic(jd,1),Ru,0,7,[25368,13]),Mc(Ic(jd,1),Ru,0,7,[27713,14]),Mc(Ic(jd,1),Ru,0,7,[26998,15]),Mc(Ic(jd,1),Ru,0,7,[5769,16]),Mc(Ic(jd,1),Ru,0,7,[5054,17]),Mc(Ic(jd,1),Ru,0,7,[7399,18]),Mc(Ic(jd,1),Ru,0,7,[6608,19]),Mc(Ic(jd,1),Ru,0,7,[1890,20]),Mc(Ic(jd,1),Ru,0,7,[597,21]),Mc(Ic(jd,1),Ru,0,7,[3340,22]),Mc(Ic(jd,1),Ru,0,7,[2107,23]),Mc(Ic(jd,1),Ru,0,7,[13663,24]),Mc(Ic(jd,1),Ru,0,7,[12392,25]),Mc(Ic(jd,1),Ru,0,7,[16177,26]),Mc(Ic(jd,1),Ru,0,7,[14854,27]),Mc(Ic(jd,1),Ru,0,7,[9396,28]),Mc(Ic(jd,1),Ru,0,7,[8579,29]),Mc(Ic(jd,1),Ru,0,7,[11994,30]),Mc(Ic(jd,1),Ru,0,7,[11245,31])])}\nfunction Fh(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Bh:null);c&2&&(a.ondblclick=b&2?Bh:null);c&4&&(a.onmousedown=b&4?Bh:null);c&8&&(a.onmouseup=b&8?Bh:null);c&16&&(a.onmouseover=b&16?Bh:null);c&32&&(a.onmouseout=b&32?Bh:null);c&64&&(a.onmousemove=b&64?Bh:null);c&128&&(a.onkeydown=b&128?Bh:null);c&256&&(a.onkeypress=b&256?Bh:null);c&512&&(a.onkeyup=b&512?Bh:null);c&1024&&(a.onchange=b&1024?Bh:null);c&2048&&(a.onfocus=b&2048?Bh:null);c&4096&&(a.onblur=b&4096?Bh:null);c&8192&&(a.onlosecapture=b&8192?Bh:null);c&16384&&(a.onscroll=b&16384?Bh:null);c&32768&&(a.onload=b&32768?Ch:null);c&Du&&(a.onerror=b&Du?Bh:null);c&Fu&&(a.onmousewheel=b&Fu?Bh:null);c&262144&&(a.oncontextmenu=b&262144?Bh:null);c&Au&&(a.onpaste=b&Au?Bh:null);c&Gu&&(a.ontouchstart=b&Gu?Bh:null);c&2097152&&(a.ontouchmove=b&2097152?Bh:null);c&xu&&(a.ontouchend=b&xu?Bh:null);c&Hu&&(a.ontouchcancel=b&Hu?Bh:null);c&Iu&&(a.ongesturestart=b&Iu?Bh:null);c&Ju&&(a.ongesturechange=b&Ju?Bh:null);c&Ku&&(a.ongestureend=b&Ku?Bh:null)}\nfunction ak(){ak=tg;var a,b,c,d,e,f,g,h,i,j,k,l;Fj=new dk('Cp437',0,Mc(Ic(jd,1),Ru,0,7,[0,2]),Mc(Ic(mf,1),qu,2,4,[]));Ij=new dk('ISO8859_1',1,Mc(Ic(jd,1),Ru,0,7,[1,3]),Mc(Ic(mf,1),qu,2,4,[Tu]));Pj=new ck('ISO8859_2',2,4,Mc(Ic(mf,1),qu,2,4,['ISO-8859-2']));Qj=new ck('ISO8859_3',3,5,Mc(Ic(mf,1),qu,2,4,['ISO-8859-3']));Rj=new ck('ISO8859_4',4,6,Mc(Ic(mf,1),qu,2,4,['ISO-8859-4']));Sj=new ck('ISO8859_5',5,7,Mc(Ic(mf,1),qu,2,4,['ISO-8859-5']));Tj=new ck('ISO8859_6',6,8,Mc(Ic(mf,1),qu,2,4,['ISO-8859-6']));Uj=new ck('ISO8859_7',7,9,Mc(Ic(mf,1),qu,2,4,['ISO-8859-7']));Vj=new ck('ISO8859_8',8,10,Mc(Ic(mf,1),qu,2,4,['ISO-8859-8']));Wj=new ck('ISO8859_9',9,11,Mc(Ic(mf,1),qu,2,4,['ISO-8859-9']));Jj=new ck('ISO8859_10',10,12,Mc(Ic(mf,1),qu,2,4,['ISO-8859-10']));Kj=new ck('ISO8859_11',11,13,Mc(Ic(mf,1),qu,2,4,['ISO-8859-11']));Lj=new ck('ISO8859_13',12,15,Mc(Ic(mf,1),qu,2,4,['ISO-8859-13']));Mj=new ck('ISO8859_14',13,16,Mc(Ic(mf,1),qu,2,4,['ISO-8859-14']));Nj=new ck('ISO8859_15',14,17,Mc(Ic(mf,1),qu,2,4,['ISO-8859-15']));Oj=new ck('ISO8859_16',15,18,Mc(Ic(mf,1),qu,2,4,['ISO-8859-16']));Yj=new ck('SJIS',16,20,Mc(Ic(mf,1),qu,2,4,[Uu]));Bj=new ck('Cp1250',17,21,Mc(Ic(mf,1),qu,2,4,['windows-1250']));Cj=new ck('Cp1251',18,22,Mc(Ic(mf,1),qu,2,4,['windows-1251']));Dj=new ck('Cp1252',19,23,Mc(Ic(mf,1),qu,2,4,['windows-1252']));Ej=new ck('Cp1256',20,24,Mc(Ic(mf,1),qu,2,4,['windows-1256']));$j=new ck('UnicodeBigUnmarked',21,25,Mc(Ic(mf,1),qu,2,4,['UTF-16BE','UnicodeBig']));Zj=new ck('UTF8',22,26,Mc(Ic(mf,1),qu,2,4,[Vu]));zj=new dk('ASCII',23,Mc(Ic(jd,1),Ru,0,7,[27,170]),Mc(Ic(mf,1),qu,2,4,['US-ASCII']));Aj=new bk;Hj=new ck('GB18030',25,29,Mc(Ic(mf,1),qu,2,4,['GB2312','EUC_CN','GBK']));Gj=new ck('EUC_KR',26,30,Mc(Ic(mf,1),qu,2,4,['EUC-KR']));_j=new bs;Xj=new bs;for(b=fk(),c=0,d=b.length;c1?(b.c=lo(this,a-1)):(b.c=this);return b};_.S=function ko(){ao(this);return this.b};_.T=function mo(){return bo(this)};_.U=function oo(){ao(this);return this.j};_.V=function qo(){return (this.f&4)!=0};_.W=function ro(){return (this.f&1)!=0};_.tS=function uo(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(ao(this),this.n)};_.f=0;var _n=1;var hf=go(lu,'Object',1),od=go(mu,'JavaScriptObject$',0),Ze=go(lu,'Class',67);sg(25,1,{30:1,25:1});_.tS=function S(){if(!this.t){return '(null handle)'}return Cc((ih(),this.t))};var Nd=go(nu,'UIObject',25);sg(20,25,ou);_.u=function X(){};_.v=function Y(){};_.w=function Z(){T(this)};_.A=function $(a){var b;switch(ih(),uh(a.type)){case 16:case 32:b=Ac(a);if(!!b&&Bc(this.t,b)){return}}Dc(ih())};_.B=function ab(){U(this)};_.q=false;_.r=0;var Qd=go(nu,'Widget',20);sg(175,20,ou);_.w=function cb(){bb(this)};var Ld=go(nu,'FocusWidget',175);sg(120,175,ou,ib);var db;var md=go(pu,'Canvas',120);sg(177,1,{});var ld=go(pu,'Canvas/CanvasElementSupportDetector',177);sg(121,177,{},kb);var kd=go(pu,'Canvas/CanvasElementSupportDetectedMaybe',121);sg(8,1,ru);_.C=function sb(){dc(this,this.e);return this};_.D=function tb(){return this.e};_.tS=function ub(){var a,b;a=bo(this.cZ);b=this.D();return b!=null?a+': '+b:a};var nf=go(lu,'Throwable',8);sg(10,8,su);var af=go(lu,'Exception',10);sg(15,10,su);var jf=go(lu,'RuntimeException',15);sg(81,15,su);var qd=go(tu,'JavaScriptExceptionBase',81);sg(37,81,{37:1,3:1,10:1,8:1},Db);_.D=function Gb(){Cb(this);return this.c};_.F=function Hb(){return ad(this.b)===ad(Ab)?null:this.b};var Ab;var nd=go(mu,'JavaScriptException',37);sg(155,1,{});var pd=go(mu,'Scheduler',155);var Jb=0,Kb=0,Lb=0,Mb=-1;sg(101,155,{},$b);var Wb;var rd=go(tu,'SchedulerImpl',101);var bc;sg(166,1,{});var vd=go(tu,'StackTraceCreator/Collector',166);sg(82,166,{},fc);_.G=function gc(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(cc(),d.name||(d.name=ec(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Jk(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var je=go(Wu,'GenericGFPoly',26);sg(123,1,{},Zk);var le=go(Wu,'ReedSolomonDecoder',123);sg(45,10,{45:1,3:1,10:1,8:1},$k);var me=go(Wu,'ReedSolomonException',45);sg(118,1,{181:1},al);var ne=go('com.google.zxing.qrcode','QRCodeReader',118);sg(133,1,{},hl);_.b=false;var oe=go(Yu,'BitMatrixParser',133);sg(65,1,{65:1},il);_.b=0;var pe=go(Yu,'DataBlock',65);sg(14,13,Zu);var kl,ll,ml,nl,ol,pl,ql,rl;var ye=ho(Yu,'DataMask',14,vl);sg(142,14,Zu,wl);_.N=function xl(a,b){return (a+b&1)==0};var qe=ho(Yu,'DataMask/1',142,null);sg(143,14,Zu,yl);_.N=function zl(a,b){return (a&1)==0};var re=ho(Yu,'DataMask/2',143,null);sg(144,14,Zu,Al);_.N=function Bl(a,b){return b%3==0};var se=ho(Yu,'DataMask/3',144,null);sg(145,14,Zu,Cl);_.N=function Dl(a,b){return (a+b)%3==0};var te=ho(Yu,'DataMask/4',145,null);sg(146,14,Zu,El);_.N=function Fl(a,b){return (~~(a/2)+~~(b/3)&1)==0};var ue=ho(Yu,'DataMask/5',146,null);sg(147,14,Zu,Gl);_.N=function Hl(a,b){var c;c=a*b;return (c&1)+c%3==0};var ve=ho(Yu,'DataMask/6',147,null);sg(148,14,Zu,Il);_.N=function Jl(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var we=ho(Yu,'DataMask/7',148,null);sg(149,14,Zu,Kl);_.N=function Ll(a,b){return ((a+b&1)+a*b%3&1)==0};var xe=ho(Yu,'DataMask/8',149,null);var Ml;sg(122,1,{},Zl);var ze=go(Yu,'Decoder',122);sg(39,13,{39:1,3:1,19:1,13:1},em);var $l,_l,am,bm,cm;var Ae=ho(Yu,'ErrorCorrectionLevel',39,gm);sg(49,1,{49:1},jm);_.eQ=function mm(a){var b;if(!Xc(a,49)){return false}b=Tc(a,49);return this.b==b.b&&this.a==b.a};_.hC=function nm(){return this.b.d<<3|this.a};_.a=0;var hm;var Be=go(Yu,'FormatInformation',49);sg(23,13,{23:1,3:1,19:1,13:1},Am);var om,pm,qm,rm,sm,tm,um,vm,wm,xm;var Ce=ho(Yu,'Mode',23,Cm);sg(132,1,{},Em);_.a=false;var De=go(Yu,'QRCodeDecoderMetaData',132);sg(9,1,{9:1},Jm);_.tS=function Nm(){return ''+this.d};_.c=0;_.d=0;var Fm,Gm;var Ge=go(Yu,'Version',9);sg(4,1,{4:1},Om);_.a=0;_.b=0;var Ee=go(Yu,'Version/ECB',4);sg(6,1,{6:1},Pm);_.b=0;var Fe=go(Yu,'Version/ECBlocks',6);sg(50,29,{29:1,50:1},Rm);_.a=0;var Ie=go($u,'AlignmentPattern',50);sg(151,1,{},Wm);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var He=go($u,'AlignmentPatternFinder',151);sg(131,1,{},bn);var Je=go($u,'Detector',131);sg(16,29,{29:1,16:1},gn,hn);_.a=0;_.b=0;var Oe=go($u,'FinderPattern',16);sg(134,1,{},rn);_.b=false;var Me=go($u,'FinderPatternFinder',134);sg(136,1,Pu,un);_.O=function vn(a,b){return tn(this,Tc(a,16),Tc(b,16))};_.a=0;var Ke=go($u,'FinderPatternFinder/CenterComparator',136);sg(135,1,Pu,xn);_.O=function yn(a,b){return wn(this,Tc(a,16),Tc(b,16))};_.a=0;var Le=go($u,'FinderPatternFinder/FurthestFromAverageComparator',135);sg(137,1,{},zn);var Ne=go($u,'FinderPatternInfo',137);sg(78,125,{},Cn);_.c=0;_.d=0;var Pe=go(av,'CanvasLuminanceSource',78);sg(104,75,ou);_.w=function Pn(){Gn(this)};_.B=function Qn(){U(this);Nn(this)};_.P=function Rn(a){Hn(this,a)};_.Q=function Sn(){this.a&&this.q&&nh(this.i,this.f)};_.a=false;_.f=0;_.j=0;var Re=go(av,'ScannerWidget',104);sg(108,107,{},Tn);var Qe=go(av,'ScannerWidget/1',108);sg(153,10,su);var Se=go('java.io','IOException',153);sg(51,153,{3:1,51:1,10:1,8:1},Un);var Te=go('java.io','UnsupportedEncodingException',51);sg(60,1,{});_.tS=function Wn(){return this.a};var Ue=go(lu,'AbstractStringBuilder',60);sg(70,15,su,Xn);var Ve=go(lu,'ArithmeticException',70);sg(46,15,su,Yn,Zn);var We=go(lu,'ArrayStoreException',46);sg(41,15,su,vo);var Ye=go(lu,'ClassCastException',41);sg(66,1,{3:1,66:1});var gf=go(lu,'Number',66);var wo,xo;sg(12,15,{3:1,10:1,12:1,8:1},Co,Do);var bf=go(lu,'IllegalArgumentException',12);sg(43,15,su,Eo,Fo);var cf=go(lu,'IllegalStateException',43);sg(38,15,su,Go,Ho);var df=go(lu,'IndexOutOfBoundsException',38);sg(36,66,{3:1,19:1,36:1,66:1},Jo);_.M=function Mo(a){return Io(this,Tc(a,36))};_.eQ=function No(a){return Xc(a,36)&&Tc(a,36).a==this.a};_.hC=function Oo(){return this.a};_.tS=function Po(){return ''+this.a};_.a=0;var ef=go(lu,'Integer',36);var So;sg(71,15,su,Wo,Xo);var ff=go(lu,'NullPointerException',71);var mf=go(lu,'String',2);var kp,lp=0,mp;sg(27,60,{179:1},vp,wp);var lf=go(lu,'StringBuilder',27);sg(72,15,su,yp);var of=go(lu,'UnsupportedOperationException',72);sg(169,1,{});_.X=function Cp(a){return zp(this,a)};_.tS=function Dp(){return Bp(this)};var pf=go(cv,'AbstractCollection',169);sg(168,1,{58:1});_.Z=function Hp(a){return !!Fp(this,a)};_.eQ=function Ip(a){var b,c,d;if(a===this){return true}if(!Xc(a,58)){return false}d=Tc(a,58);if(this.Y()!=d.Y()){return false}for(c=d.$().I();c.K();){b=Tc(c.L(),17);if(!Ep(this,b)){return false}}return true};_._=function Jp(a){return Kp(Fp(this,a))};_.hC=function Lp(){return ir(this.$())};_.Y=function Mp(){return this.$().Y()};_.tS=function Np(){var a,b,c,d;d=new wp('{');a=false;for(c=this.$().I();c.K();){b=Tc(c.L(),17);a?(d.a+=', ',d):(a=true);up(d,Gp(this,b.cb()));d.a+='=';up(d,Gp(this,b.db()))}d.a+='}';return d.a};var Cf=go(cv,'AbstractMap',168);sg(84,168,{58:1});_.Z=function Vp(a){return Op(this,a)};_.$=function Wp(){return new aq(this)};_._=function Xp(a){return Rp(this,a)};_.Y=function Yp(){return this.b};_.b=0;var sf=go(cv,'AbstractHashMap',84);sg(170,169,dv);_.eQ=function Zp(a){var b;if(a===this){return true}if(!Xc(a,40)){return false}b=Tc(a,40);if(b.Y()!=this.Y()){return false}return Ap(this,b)};_.hC=function $p(){return ir(this)};var Df=go(cv,'AbstractSet',170);sg(68,170,dv,aq);_.X=function bq(a){return _p(this,a)};_.I=function cq(){return new gq(this.a)};_.Y=function dq(){return this.a.b};var rf=go(cv,'AbstractHashMap/EntrySet',68);sg(69,1,{},gq);_.K=function hq(){return eq(this)};_.L=function iq(){return fq(this)};var qf=go(cv,'AbstractHashMap/EntrySetIterator',69);sg(171,169,{52:1});_.eQ=function lq(a){var b,c,d,e,f;if(a===this){return true}if(!Xc(a,52)){return false}f=Tc(a,52);if(this.Y()!=f.Y()){return false}e=f.I();for(c=new pq(this);c.a-1&&window.JSON){var h=e.createDocumentFragment();h.appendChild(e.createTextNode(hb));for(var i=V;i=V){continue}if(j==tb){k=i.getAttribute(ub);if(k){var l,m=k.indexOf(vb);if(m>=V){j=k.substring(V,m);l=k.substring(m+W)}else{j=k;l=bb}c[j]=l}}else if(j==wb){k=i.getAttribute(ub);if(k){try{d=eval(k)}catch(a){alert(xb+k+yb)}}}else if(j==zb){k=i.getAttribute(ub);if(k){try{e=eval(k)}catch(a){alert(xb+k+Ab)}}}}}__gwt_getMetaProperty=function(a){var b=c[a];return b==null?null:b};s=d;jsqrscanner.__errFn=e} +function C(){function e(a){var b=a.lastIndexOf(Bb);if(b==-1){b=a.length}var c=a.indexOf(Cb);if(c==-1){c=a.length}var d=a.lastIndexOf(Db,Math.min(c,b));return d>=V?a.substring(V,d+W):bb} +function f(a){if(a.match(/^\w+:\/\//)){}else{var b=p.createElement(Eb);b.src=a+Fb;a=e(b.src)}return a} +function g(){var a=__gwt_getMetaProperty(Gb);if(a!=null){return a}return bb} +function h(){var a=p.getElementsByTagName(jb);for(var b=V;bV){return a[a.length-W].href}return bb} +function j(){var a=p.location;return a.href==a.protocol+Jb+a.host+a.pathname+a.search+a.hash} +var k=g();if(k==bb){k=h()}if(k==bb){k=i()}if(k==bb&&j()){k=e(p.location.href)}k=f(k);return k} +function D(a){if(a.match(/^\//)){return a}if(a.match(/^[a-zA-Z]+:\/\//)){return a}return jsqrscanner.__moduleBase+a} +function F(){var f=[];var g=V;function h(a,b){var c=f;for(var d=V,e=a.length-W;d=Ob&&b=Rb&&b=Tb&&b=Pb}())return Wb;return bb};i[Kb]={gecko1_8:V,ie10:W,ie8:Xb,ie9:Yb,safari:Zb};__gwt_isKnownPropertyValue=function(a,b){return b in i[a]};jsqrscanner.__getPropMap=function(){var a={};for(var b in i){if(i.hasOwnProperty(b)){a[b]=k(b)}}return a};jsqrscanner.__computePropValue=k;o.__gwt_activeModules[S].bindings=jsqrscanner.__getPropMap;r(O,$b);if(q()){return D(_b)}var l;try{h([Ub],ac);h([Mb],bc);h([Sb],cc);h([Qb],dc);h([Wb],ec);l=f[k(Kb)];var m=l.indexOf(fc);if(m!=-1){g=parseInt(l.substring(m+W),Ob);l=l.substring(V,m)}}catch(a){}jsqrscanner.__softPermutationId=g;return D(l+gc)} +function G(){if(!o.__gwt_stylesLoaded){o.__gwt_stylesLoaded={}}r(hc,P);r(hc,ic)} +B();jsqrscanner.__moduleBase=C();t[S].moduleBase=jsqrscanner.__moduleBase;var H=F();if(o){var I=!!(o.location.protocol==jc||o.location.protocol==kc);o.__gwt_activeModules[S].canRedirect=I;function J(){var b=lc;try{o.sessionStorage.setItem(b,b);o.sessionStorage.removeItem(b);return true}catch(a){return false}} +if(I&&J()){var K=mc;var L=o.sessionStorage[K];if(!/^http:\/\/(localhost|127\.0\.0\.1)(:\d+)?\/.*$/.test(L)){if(L&&(window.console&&console.log)){console.log(nc+L)}L=bb}if(L&&!o[K]){o[K]=true;o[K+oc]=C();var M=p.createElement(jb);M.src=L;var N=p.getElementsByTagName(ob)[V];N.insertBefore(M,N.firstElementChild||N.children[V]);return false}}}G();r(O,ic);A(H);return true} +jsqrscanner.succeeded=jsqrscanner(); \ No newline at end of file diff --git a/flutter_barcode_reader_web/assets/styles.css b/flutter_barcode_reader_web/assets/styles.css new file mode 100644 index 00000000..dd634a0b --- /dev/null +++ b/flutter_barcode_reader_web/assets/styles.css @@ -0,0 +1,133 @@ +* { + margin: 0; + padding: 0; +} + +body { + overflow: hidden; +} + +#container { + position: fixed; + width: 100%; + height: 100%; + background-color: #2F2F2F; +} + +video { + position: relative; + top: 0; + left: 0; + height: 100vh; + width: 100vw; + object-fit: cover; +} + +#cover { + position: absolute; + top: 50%; + left: 50%; + width: 70vmin; + height: 70vmin; + transform: translateX(-50%) translateY(-50%); + text-align: center; +} + +#cover:after { + content:''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.4); +} + +#cover img { + width: 100%; + height: 100%; +} + +#cover > div { + background-color: #BFE47B; +} + +#topleft, #lefttop { + position: absolute; + top: 0; + left: 0; +} + +#topleft { + width: 8vmin; + height: 2vmin; +} + +#lefttop { + width: 2vmin; + height: 8vmin; +} + +#topright, #righttop { + position: absolute; + top: 0; + right: 0; +} + +#topright { + width: 8vmin; + height: 2vmin; +} + +#righttop { + width: 2vmin; + height: 8vmin; +} + +#bottomleft, #leftbottom { + position: absolute; + bottom: 0; + left: 0; +} + +#bottomleft { + width: 8vmin; + height: 2vmin; +} + +#leftbottom { + width: 2vmin; + height: 8vmin; +} + +#bottomright, #rightbottom { + position: absolute; + bottom: 0; + right: 0; +} + +#bottomright { + width: 8vmin; + height: 2vmin; +} + +#rightbottom { + width: 2vmin; + height: 8vmin; +} + +#toolbar { + background-color: #2F2F2F; +} + +#toolbar p { + float: left; + font-size: 24px; + color: white; + margin-left: 16px; + padding: 16px; +} + +#clear { + clear: both; +} \ No newline at end of file diff --git a/flutter_barcode_reader_web/lib/barcode_web.dart b/flutter_barcode_reader_web/lib/barcode_web.dart new file mode 100644 index 00000000..fa622810 --- /dev/null +++ b/flutter_barcode_reader_web/lib/barcode_web.dart @@ -0,0 +1,109 @@ +@JS() +library jsqrscanner; + +import 'dart:async'; +import 'dart:html'; + +import 'package:flutter/services.dart'; +import 'package:js/js.dart'; +import 'package:js/js_util.dart'; +import 'package:flutter_web_plugins/flutter_web_plugins.dart'; + +class BarcodeScanPlugin { + Completer _completer; + JsQRScanner _scanner; + + static void registerWith(Registrar registrar) { + final MethodChannel channel = MethodChannel( + 'de.mintware.barcode_scan', + const StandardMethodCodec(), + registrar.messenger + ); + final BarcodeScanPlugin instance = new BarcodeScanPlugin(); + channel.setMethodCallHandler(instance.handleMethodCall); + } + + Future handleMethodCall(MethodCall call) async { + _createCSS(); + var script = document.createElement('script'); + script.setAttribute('type', 'text/javascript'); + document.querySelector('head').append(script); + script.setAttribute('src', 'assets/packages/barcode_scan_web/assets/jsqrscanner.nocache.js'); + _createHTML(); + document.querySelector('#toolbar p').addEventListener('click', (event) => _close()); + setProperty(window, 'JsQRScannerReady', allowInterop(this.scannerReady)); + _completer = new Completer(); + return _completer.future; + } + + void _createCSS() { + var link = document.createElement('link'); + link.setAttribute('rel', 'stylesheet'); + link.setAttribute('href', 'assets/packages/barcode_scan_web/assets/styles.css'); + document.querySelector('head').append(link); + } + + void _createHTML() { + var containerDiv = document.createElement('div'); + containerDiv.id = 'container'; + containerDiv.innerHtml = ''' +
+

X

+
+
+
+
+
+
+
+
+
+
+
+
+
+ '''; + document.body.append(containerDiv); + } + + void onQRCodeScanned(String scannedText) { + _completer.complete(scannedText); + _close(); + } + + void _close() { + if (_scanner != null) { + _scanner.removeFrom(document.getElementById('scanner')); + _scanner.stopScanning(); + } + document.getElementById('container').remove(); + } + + void scannerReady() { + _scanner = JsQRScanner(onQRCodeScanned, provideVideo); + _scanner.setSnapImageMaxSize(300); + var scannerParentElement = document.getElementById('scanner'); + _scanner.appendTo(scannerParentElement); + } + + Promise provideVideo() { + return new Promise(allowInterop((resolve, reject) { + window.navigator.getUserMedia(video: true).then(resolve, onError: reject); + })); + } +} + +@JS() +class JsQRScanner { + external factory JsQRScanner(Function onQRCodeScanned, Function provideVideo); + external setSnapImageMaxSize(int maxSize); + external removeFrom(Element element); + external appendTo(Element element); + external stopScanning(); +} + +@JS() +class Promise { + external Promise(void executor(void resolve(T result), Function reject)); + external Promise then(void onFulfilled(T result), [Function onRejected]); +} \ No newline at end of file diff --git a/flutter_barcode_reader_web/pubspec.yaml b/flutter_barcode_reader_web/pubspec.yaml new file mode 100644 index 00000000..788f57ab --- /dev/null +++ b/flutter_barcode_reader_web/pubspec.yaml @@ -0,0 +1,31 @@ +name: barcode_scan_web +description: A flutter plugin for scanning 2D barcodes and QRCodes via camera. +version: 2.0.1 +homepage: https://github.com/mintware-de/flutter_barcode_reader + +dependencies: + flutter: + sdk: flutter + flutter_web_plugins: + sdk: flutter + js: ^0.6.0 + +environment: + sdk: ">=2.0.0-dev.58.0 <3.0.0" + flutter: ^1.10.0 + +flutter: + plugin: + platforms: + web: + pluginClass: BarcodeScanPlugin + fileName: barcode_web.dart + assets: + - assets/jsqrscanner.nocache.js + - assets/26096D5C9D4499FC412DE6D557CF4723.cache.js + - assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js + - assets/85EFE2E37A204EA7850A307AF743069B.cache.js + - assets/compilation-mappings.txt + - assets/EC0F7217F4BCEF91396A176763786FF0.cache.js + - assets/F18D8F202F2722AE74CE31DB0E4D35D5.cache.js + - assets/styles.css \ No newline at end of file From 0e88dbe9c92e90bc2fb186e0009740987b028920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Fri, 20 Mar 2020 14:08:15 +0100 Subject: [PATCH 2/9] Changed to unminified version of JsQRScanner --- flutter_barcode_reader_web/.flutter-plugins | 2 + .../.flutter-plugins-dependencies | 1 + .../21FCD138CF06B5B490DA7F14DD306C4A.cache.js | 4 - .../26096D5C9D4499FC412DE6D557CF4723.cache.js | 4 - .../583759B3547F41A4DB81ABD2A010247E.cache.js | 7543 ++++++++++++++++ .../7336332C96BEE798552E9397E317C8AC.cache.js | 7529 ++++++++++++++++ .../85EFE2E37A204EA7850A307AF743069B.cache.js | 4 - .../9F36F6E596D24028CF2BAC1860F22428.cache.js | 7568 +++++++++++++++++ .../B740E7E455C035DF151FA9FBFC08D197.cache.js | 7280 ++++++++++++++++ .../E2DE619934E7B85CBFB9935ADFC149FD.cache.js | 7543 ++++++++++++++++ .../EC0F7217F4BCEF91396A176763786FF0.cache.js | 4 - .../F18D8F202F2722AE74CE31DB0E4D35D5.cache.js | 4 - .../assets/compilation-mappings.txt | 18 +- .../assets/jsqrscanner.nocache.js | 474 +- flutter_barcode_reader_web/pubspec.yaml | 10 +- 15 files changed, 37928 insertions(+), 60 deletions(-) create mode 100644 flutter_barcode_reader_web/.flutter-plugins create mode 100644 flutter_barcode_reader_web/.flutter-plugins-dependencies delete mode 100644 flutter_barcode_reader_web/assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js delete mode 100644 flutter_barcode_reader_web/assets/26096D5C9D4499FC412DE6D557CF4723.cache.js create mode 100644 flutter_barcode_reader_web/assets/583759B3547F41A4DB81ABD2A010247E.cache.js create mode 100644 flutter_barcode_reader_web/assets/7336332C96BEE798552E9397E317C8AC.cache.js delete mode 100644 flutter_barcode_reader_web/assets/85EFE2E37A204EA7850A307AF743069B.cache.js create mode 100644 flutter_barcode_reader_web/assets/9F36F6E596D24028CF2BAC1860F22428.cache.js create mode 100644 flutter_barcode_reader_web/assets/B740E7E455C035DF151FA9FBFC08D197.cache.js create mode 100644 flutter_barcode_reader_web/assets/E2DE619934E7B85CBFB9935ADFC149FD.cache.js delete mode 100644 flutter_barcode_reader_web/assets/EC0F7217F4BCEF91396A176763786FF0.cache.js delete mode 100644 flutter_barcode_reader_web/assets/F18D8F202F2722AE74CE31DB0E4D35D5.cache.js diff --git a/flutter_barcode_reader_web/.flutter-plugins b/flutter_barcode_reader_web/.flutter-plugins new file mode 100644 index 00000000..909de3c0 --- /dev/null +++ b/flutter_barcode_reader_web/.flutter-plugins @@ -0,0 +1,2 @@ +# This is a generated file; do not edit or check into version control. +barcode_scan_web=/home/fer/barcode_scan/flutter_barcode_reader_web/ diff --git a/flutter_barcode_reader_web/.flutter-plugins-dependencies b/flutter_barcode_reader_web/.flutter-plugins-dependencies new file mode 100644 index 00000000..a1239807 --- /dev/null +++ b/flutter_barcode_reader_web/.flutter-plugins-dependencies @@ -0,0 +1 @@ +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[],"android":[],"macos":[],"linux":[],"windows":[],"web":[{"name":"barcode_scan_web","path":"/home/fer/barcode_scan/flutter_barcode_reader_web/","dependencies":[]}]},"dependencyGraph":[{"name":"barcode_scan_web","dependencies":[]}],"date_created":"2020-03-20 00:40:56.559845","version":"1.14.6"} \ No newline at end of file diff --git a/flutter_barcode_reader_web/assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js b/flutter_barcode_reader_web/assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js deleted file mode 100644 index df62d567..00000000 --- a/flutter_barcode_reader_web/assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js +++ /dev/null @@ -1,4 +0,0 @@ -jsqrscanner.onScriptDownloaded(["var $wnd = $wnd || window.parent;var __gwtModuleFunction = $wnd.jsqrscanner;var $sendStats = __gwtModuleFunction.__sendStats;$sendStats('moduleStartup', 'moduleEvalStart');var $gwt_version = \"2.7.0\";var $strongName = '21FCD138CF06B5B490DA7F14DD306C4A';var $gwt = {};var $doc = $wnd.document;var $moduleName, $moduleBase;function __gwtStartLoadingFragment(frag) {var fragFile = 'deferredjs/' + $strongName + '/' + frag + '.cache.js';return __gwtModuleFunction.__startLoadingFragment(fragFile);}function __gwtInstallCode(code) {return __gwtModuleFunction.__installRunAsyncCode(code);}function __gwt_isKnownPropertyValue(propName, propValue) {return __gwtModuleFunction.__gwt_isKnownPropertyValue(propName, propValue);}function __gwt_getMetaProperty(name) {return __gwtModuleFunction.__gwt_getMetaProperty(name);}var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent && $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;function H(){}\nfunction Z(){}\nfunction Zf(){}\nfunction Vf(){}\nfunction Jb(){}\nfunction Qb(){}\nfunction Ag(){}\nfunction fh(){}\nfunction hh(){}\nfunction sq(){}\nfunction Fr(){}\nfunction Mr(){}\nfunction Or(){}\nfunction Ub(){Sb()}\nfunction eb(){this.A()}\nfunction th(a){this.c=a}\nfunction Ah(a){this.a=a}\nfunction ck(a){this.a=a}\nfunction gm(a){this.a=a}\nfunction ym(a){this.a=a}\nfunction Bm(a){this.a=a}\nfunction Xm(a){this.a=a}\nfunction Zm(a){this.a=a}\nfunction Nn(a){this.a=a}\nfunction ep(a){this.a=a}\nfunction tp(a){this.c=a}\nfunction Di(a){this.c=a}\nfunction Cp(a){this.a=a}\nfunction Hp(a){this.a=a}\nfunction Hq(a){this.a=a}\nfunction bt(a){this.a=a}\nfunction Jl(){this.a=true}\nfunction Eg(a){return true}\nfunction vg(){return yb}\nfunction $p(){Up(this)}\nfunction zs(){ws(this)}\nfunction Ys(){Ws(this)}\nfunction gb(){eb.call(this)}\nfunction Ih(){Eh.call(this)}\nfunction Lh(){Eh.call(this)}\nfunction Ph(){Eh.call(this)}\nfunction _m(){gb.call(this)}\nfunction an(){gb.call(this)}\nfunction zn(){gb.call(this)}\nfunction Gn(){gb.call(this)}\nfunction In(){gb.call(this)}\nfunction Kn(){gb.call(this)}\nfunction $n(){gb.call(this)}\nfunction xq(){gb.call(this)}\nfunction Pm(a,b){a.i=b}\nfunction P(a,b){a.r=b}\nfunction lj(a,b){a.c=b}\nfunction Om(a,b){a.e=b}\nfunction vs(a,b){ys(a.a,b)}\nfunction np(a){op(a,a.b)}\nfunction Uo(a){++a.b;wq(a)}\nfunction Vo(a){--a.b;wq(a)}\nfunction nh(a,b){lh(a,b,a.r)}\nfunction oh(a,b){ph(a,b,a.b)}\nfunction at(a,b){vs(a.a,b.b)}\nfunction Ur(c,a,b){c.a[a]=b}\nfunction Yg(a,b){Qg();Zg(a,b)}\nfunction bo(a,b){return a===b}\nfunction fk(){this.a=new cl}\nfunction gr(){this.a=new fr}\nfunction ht(){ht=Vf;gt=new et}\nfunction kb(){kb=Vf;jb=new H}\nfunction Gb(){Gb=Vf;Fb=new Jb}\nfunction rq(){rq=Vf;qq=new sq}\nfunction Jr(){Jr=Vf;Ir=Lr()}\nfunction zr(){sr.call(this)}\nfunction hs(){Vr.call(this)}\nfunction ps(){Vr.call(this)}\nfunction rs(){gb.call(this)}\nfunction hb(a){fb.call(this,a)}\nfunction ib(a){ab.call(this,a)}\nfunction xh(a){ab.call(this,a)}\nfunction dk(a){fb.call(this,a)}\nfunction Ym(a){fb.call(this,a)}\nfunction bn(a){hb.call(this,a)}\nfunction Hn(a){hb.call(this,a)}\nfunction Jn(a){hb.call(this,a)}\nfunction Ln(a){hb.call(this,a)}\nfunction _n(a){hb.call(this,a)}\nfunction Do(a){hb.call(this,a)}\nfunction Bo(a){Zm.call(this,a)}\nfunction Ao(){Zm.call(this,'')}\nfunction sr(){this.a=this.eb()}\nfunction Vr(){this.a=this.jb()}\nfunction Jm(a){return a.a&&a.p}\nfunction Mj(a,b){return a.a[b]}\nfunction mr(b,a){return b.a[a]}\nfunction mc(a,b){return pn(a,b)}\nfunction Zn(a,b){return a>24}\nfunction Zs(a){return new Js(a)}\nfunction fn(a){en(a);return a.n}\nfunction Yn(a){return a<=0?0-a:a}\nfunction ab(a){this.e=a;this.A()}\nfunction fb(a){this.e=a;this.A()}\nfunction xi(a){yi.call(this,a,a)}\nfunction Eh(){Dh();eb.call(this)}\nfunction ar(a){this.c=a;Zq(this)}\nfunction As(a){ws(this);this.a=a}\nfunction Es(a,b){Hs(b,a.r);Km(a)}\nfunction ct(a,b,c){Xo(a.a,b,c)}\nfunction fq(a,b,c){a.splice(b,c)}\nfunction Sg(a,b){a.__listener=b}\nfunction xo(a,b){a.a+=b;return a}\nfunction yo(a,b){a.a+=b;return a}\nfunction zo(a,b){a.a+=b;return a}\nfunction it(a){ht();return dt(a)}\nfunction Ec(a){return Dc(a)&&xg(a)}\nfunction mg(a){return a.l|a.m<<22}\nfunction tg(){rg==null&&(rg=[])}\nfunction so(){so=Vf;po={};ro={}}\nfunction Eb(){sb!=0&&(sb=0);vb=-1}\nfunction Ob(a,b){Nb();Mb.D(a,b)}\nfunction ki(a,b){Vh.call(this,a,b)}\nfunction zk(a,b){Vh.call(this,a,b)}\nfunction jl(a,b){Vh.call(this,a,b)}\nfunction Tl(a,b){this.a=a;this.b=b}\nfunction pj(a,b){this.a=a;this.b=b}\nfunction Qp(a,b){this.a=a;this.b=b}\nfunction Vh(a,b){this.c=a;this.d=b}\nfunction mi(a,b){this.c=a;this.d=b}\nfunction nk(a,b){this.b=a;this.a=b}\nfunction Ul(a,b){this.b=a;this.a=b}\nfunction Oq(a,b){this.b=a;this.a=b}\nfunction as(a,b){this.b=a;this.c=b}\nfunction ds(a,b){this.a=a;this.b=b}\nfunction Hs(a,b){a.appendChild(b)}\nfunction Is(a,b){a.removeChild(b)}\nfunction ys(a,b){a.apply(null,[b])}\nfunction Lm(a,b){at(a.b,new Rh(b))}\nfunction vq(a,b){a._gwt_modCount=b}\nfunction nr(b,a){return b.a[a]||[]}\nfunction Mn(a,b){return Pn(a.a,b.a)}\nfunction Ac(a){return !Dc(a)&&xg(a)}\nfunction En(a){Cn();return isNaN(a)}\nfunction $s(a,b){return new Ks(a,b)}\nfunction Ks(a,b){this.a=new Gs(a,b)}\nfunction Sh(a){this.b=a;this.a=null}\nfunction Js(a){Ks.call(this,a,null)}\nfunction Db(a){$wnd.clearTimeout(a)}\nfunction Kg(a){$wnd.clearTimeout(a)}\nfunction Jg(a){$wnd.clearInterval(a)}\nfunction Po(a){return !a?null:a.bb()}\nfunction Gc(a){return a==null?null:a}\nfunction ts(a){return a!=null?N(a):0}\nfunction jm(a,b,c){return oj(a,c,c,b)}\nfunction Dc(a){return Array.isArray(a)}\nfunction Dr(a){this.a=a;$p.call(this)}\nfunction ns(a){this.a=a;$p.call(this)}\nfunction cl(){this.a=new ck((Kj(),Jj))}\nfunction Up(a){a.b=nc(Je,st,1,0,3,1)}\nfunction wo(a,b){a.a+=wc(b);return a}\nfunction er(a){var b;b=N(a);return ~~b}\nfunction Tf(a){var b=Sf;return Yf(b[a])}\nfunction _f(a,b,c){return {l:a,m:b,h:c}}\nfunction Pn(a,b){return ab?1:0}\nfunction $q(a){return a.a>>0).toString(b)}\nfunction go(a,b){return jo(a,b,a.length-b)}\nfunction Uj(a,b){return a.a[a.a.length-1-b]}\nfunction ni(a,b){return Gj(a.c,a.d,b.c,b.d)}\nfunction zq(a,b,c){return yq(a,xc(b,13),c)}\nfunction wb(a,b,c){return a.apply(b,c);var d}\nfunction Ng(a,b){return $wnd.setTimeout(a,b)}\nfunction wc(a){return String.fromCharCode(a)}\nfunction Cc(a){return a!=null&&!Fc(a)&&!xg(a)}\nfunction nb(a){return a==null?null:a.message}\nfunction Ij(a){return Ic(a+(a<0?-0.5:0.5))}\nfunction Xn(){Xn=Vf;Wn=nc(Ge,st,30,256,0,1)}\nfunction Sb(){Sb=Vf;Error.stackTraceLimit=64}\nfunction Vq(a,b){this.a=a;this.b=b;this.c=0}\nfunction Fl(a,b,c){Vh.call(this,a,b);this.a=c}\nfunction Wl(a,b,c){mi.call(this,a,b);this.a=c}\nfunction Bk(){zk.call(this,'DATA_MASK_000',0)}\nfunction Dk(){zk.call(this,'DATA_MASK_001',1)}\nfunction Hk(){zk.call(this,'DATA_MASK_011',3)}\nfunction Fk(){zk.call(this,'DATA_MASK_010',2)}\nfunction Nk(){zk.call(this,'DATA_MASK_110',6)}\nfunction Jk(){zk.call(this,'DATA_MASK_100',4)}\nfunction Lk(){zk.call(this,'DATA_MASK_101',5)}\nfunction Pk(){zk.call(this,'DATA_MASK_111',7)}\nfunction Gm(){Hm.call(this,null.Bb(),null.Bb())}\nfunction wp(a){tp.call(this,a);cc(a.b);this.a=0}\nfunction Lq(a){this.c=a;this.a=new ar(this.c.a)}\nfunction ol(a){this.b=kl(a>>3&3);this.a=Hc(a&7)}\nfunction Gp(a){var b;b=jp(a.a);return b.ab()}\nfunction mn(a,b){var c;c=jn(a,b);c.f=2;return c}\nfunction Wp(a,b){_b(b,a.b.length);return a.b[b]}\nfunction yq(a,b,c){Sq(a.a,b);return Aq(a,b.d,c)}\nfunction oc(a,b,c,d,e,f){return pc(a,b,c,d,e,0,f)}\nfunction mo(a,b){return Fc(a)?lo(a,zc(b)):a.K(b)}\nfunction Lg(a,b){return kt(function(){a.F(b)})}\nfunction Tq(a,b){return Bc(b,13)&&Uq(a,xc(b,13))}\nfunction Lo(a,b){return b===a?'(this Map)':''+b}\nfunction bc(a,b){if(a==null){throw new _n(''+b)}}\nfunction ac(a){if(a==null){throw new $n}return a}\nfunction Jc(a){if(a!=null){throw new zn}return null}\nfunction lo(a,b){if(a==b){return 0}return a %s',b))}}\nfunction ws(a){if(!us){us=true;ht();ct(gt,Hf,a);xs(a)}}\nfunction Ws(a){if(!Vs){Vs=true;ht();ct(gt,Kf,a);Xs(a)}}\nfunction Cb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction zc(a){if(a!=null&&!Fc(a)){throw new zn}return a}\nfunction nn(a,b){var c;c=jn('',a);c.k=b;c.f=1;return c}\nfunction Aq(a,b,c){var d;d=a.b[b];tc(a.b,b,c);return d}\nfunction si(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction ui(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction jp(a){return uq(a.c,a),Zb(ip(a)),xc(a.a.J(),17)}\nfunction Ic(a){return ~~Math.max(Math.min(a,mt),-2147483648)}\nfunction Yo(a,b,c){return b==null?qr(a.a,null,c):a.c.nb(b,c)}\nfunction bm(a){var b,c;b=new vm(a.a);c=qm(b);return dm(a,c)}\nfunction wh(){var a;a=zh();if(!bo('ie8',a)){throw new yh(a)}}\nfunction xc(a,b){if(a!=null&&!vc(a,b)){throw new zn}return a}\nfunction Rl(a){Ml();if(a<1||a>40){throw new Gn}return Kl[a-1]}\nfunction cc(a){if(0>a){throw new Ln('Index: 0, Size: '+a)}}\nfunction vm(a){this.c=a;this.d=new $p;this.a=nc(Oc,Nt,0,5,7,1)}\nfunction mb(a){kb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction mm(a,b,c,d){mi.call(this,a,b);this.b=c;this.a=d}\nfunction ij(a,b,c,d){Vh.call(this,a,b);this.b=c;this.a=d}\nfunction xp(a,b){$b(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction $k(a){if(a>=Rk.length){throw Kh(),Kh(),Jh}return Rk[a]}\nfunction Yf(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction Bp(a){var b;b=new kp((new ep(a.a)).a);return new Hp(b)}\nfunction pn(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.P(b))}\nfunction Rg(a){var b=a.__listener;return !Cc(b)&&Bc(b,48)?b:null}\nfunction Fg(a){return a.__gwt_resolve?a.__gwt_resolve():a}\nfunction N(a){return Fc(a)?uo(a):Ac(a)?a.hC():Ec(a)?Bb(a):Bb(a)}\nfunction Sk(){var a;Sk=Vf;Rk=(a=nc(Lc,Lt,0,45,7,1),eo(a,0),a)}\nfunction ll(){il();return qc(mc(ae,1),Mt,33,0,[fl,gl,hl,el])}\nfunction rn(a){if(a.U()){return null}var b=a.k;var c=Sf[b];return c}\nfunction dp(a,b){if(Bc(b,17)){return Jo(a.a,xc(b,17))}return false}\nfunction Gq(a,b){if(Bc(b,17)){return Jo(a.a,xc(b,17))}return false}\nfunction zb(a,b,c){var d;d=xb();try{return wb(a,b,c)}finally{Ab(d)}}\nfunction Gj(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction Hj(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction mj(a,b,c,d,e){this.f=a;this.a=b;this.b=c;this.d=e;this.e=d}\nfunction wj(a){rj();this.d=a;this.c=qj;this.b=nc(Oc,Nt,0,32,7,1)}\nfunction wr(a){this.f=a;this.d=pr(this.f);this.a=nc(Ef,st,17,0,0,1)}\nfunction yb(b){return function(){return zb(b,this,arguments);var a}}\nfunction _q(a){return Zb(a.a=dl.length){throw new Gn}return dl[a]}\nfunction Nj(a,b){if(b==0){throw new _m}return a.a[a.f-a.c[b]-1]}\nfunction _b(a,b){if(a<0||a>=b){throw new Ln('Index: '+a+', Size: '+b)}}\nfunction uq(a,b){if(b._gwt_modCount!=a._gwt_modCount){throw new xq}}\nfunction oq(a,b){var c,d;d=a.b.length;for(c=0;c>22&xt;d=a<0?yt:0;return _f(b,c,d)}\nfunction Zp(a,b,c){var d;d=(_b(b,a.b.length),a.b[b]);tc(a.b,b,c);return d}\nfunction ti(a,b,c){var d;d=c*a.c+~~(b/32);return (a.a[d]>>>(b&31)&1)!=0}\nfunction gk(a,b,c,d){var e;e=a.b?ti(a.a,c,b):ti(a.a,b,c);return e?d<<1|1:d<<1}\nfunction Am(a,b,c){var d,e;d=Yn(c.b-a.a);e=Yn(b.b-a.a);return d=0,'Initial capacity must not be negative')}\nfunction Ab(a){a&&Ib((Gb(),Fb));--sb;if(a){if(vb!=-1){Db(vb);vb=-1}}}\nfunction mk(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Kh(),Kh(),Jh}this.a=a}\nfunction sh(a){if(a.b>=a.c.b){throw new rs}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction Pj(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction pl(a,b){nl();var c;c=ql(a,b);if(c){return c}return ql(a^21522,b^21522)}\nfunction Xp(a,b,c){for(;c=900){throw Kh(),Kh(),Jh}return xc(Wo(ej,Vn(a)),11)}\nfunction Pf(b,c){if(b&&typeof b==lt){try{b.__gwt$exception=c}catch(a){}}}\nfunction hj(a,b,c,d){Vh.call(this,a,b);this.b=qc(mc(Oc,1),Nt,0,7,[c]);this.a=d}\nfunction Dg(a,b,c){var d;d=Bg;Bg=a;b==Cg&&Pg(a.type)==8192&&(Cg=null);c.v(a);Bg=d}\nfunction yk(a,b,c){var d,e;for(d=0;d=d){return false}}return true}\nfunction kg(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return {l:c&xt,m:d&xt,h:e&yt}}\nfunction Pb(a){var b=/function(?:\\s+([\\w$]+))?\\s*\\(/;var c=b.exec(a);return c&&c[1]||'anonymous'}\nfunction Vl(a,b,c,d){var e;if(Yn(c-a.d)<=b&&Yn(d-a.c)<=b){e=Yn(b-a.a);return e<=1||e<=a.a}return false}\nfunction km(a,b,c,d){var e;if(Yn(c-a.d)<=b&&Yn(d-a.c)<=b){e=Yn(b-a.b);return e<=1||e<=a.b}return false}\nfunction ip(a){if(a.a.I()){return true}if(a.a!=a.b){return false}a.a=a.c.a.fb();return a.a.I()}\nfunction Rf(a){var b;if(Bc(a,8)){return a}b=a&&a.__gwt$exception;if(!b){b=new mb(a);Ob(b,a);Pf(a,b)}return b}\nfunction lc(a,b){var c;c=rc(0,b);qc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction kc(a,b){var c;c=a.slice(0,b);qc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction qc(a,b,c,d,e){e.cZ=a;e.cM=b;e.tM=Zf;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}\nfunction hq(a){var b,c,d,e;if(a==null){return 0}e=1;for(c=0,d=a.length;c=d||b-129&&a<128){b=a+128;c=(Xn(),Wn)[b];!c&&(c=Wn[b]=new Nn(a));return c}return new Nn(a)}\nfunction Qf(a){var b;if(Bc(a,31)){b=xc(a,31);if(Gc(b.b)!==Gc((kb(),jb))){return Gc(b.b)===Gc(jb)?null:b.b}}return a}\nfunction uo(a){so();var b=':'+a;var c=ro[b];if(c!=null){return c}c=po[b];c==null&&(c=to(a));vo();return ro[b]=c}\nfunction Nb(){Nb=Vf;var a,b;b=!(!!Error.stackTraceLimit||'stack' in new Error);a=new Ub;Mb=b?new Qb:a}\nfunction xk(){xk=Vf;pk=new Bk;qk=new Dk;rk=new Fk;sk=new Hk;tk=new Jk;uk=new Lk;vk=new Nk;wk=new Pk}\nfunction yg(){$wnd.setTimeout(kt(wh));Gg();ht();new zs;new Ys;$wnd.JsQRScannerReady&&$wnd.JsQRScannerReady()}\nfunction Bq(a){var b;this.a=(b=xc(a.e&&a.e(),21),new Vq(b,xc(lc(b,b.length),21)));this.b=nc(Je,st,1,this.a.a.length,3,1)}\nfunction _l(a,b,c,d,e,f){this.c=a;this.e=new _p(5);this.f=b;this.i=c;this.j=d;this.b=e;this.d=f;this.a=nc(Oc,Nt,0,3,7,1)}\nfunction $b(a,b){if(a>b){throw new Ln('toIndex: '+a+' > size '+b)}if(3>a){throw new Hn('fromIndex: 3 > toIndex: '+a)}}\nfunction Rm(b){if(b.k){var c=b.k;c.stop?c.stop():c.getTracks&&c.getTracks().forEach(function(a){a.stop()});b.k=null}}\nfunction Xf(){!Array.isArray&&(Array.isArray=function(a){return Object.prototype.toString.call(a)==='[object Array]'})}\nfunction co(b,a){if(a==null){return false}if(b==a){return true}return b.length==a.length&&b.toLowerCase()==a.toLowerCase()}\nfunction vr(a){if(a.cb&&d.M(a[f-1],a[f])>0;--f){g=a[f];tc(a,f,a[f-1]);tc(a,f-1,g)}}}\nfunction ko(a,b,c){var d='';for(var e=b;e-129&&a<128){b=a+128;bg==null&&(bg=nc(bd,st,180,256,0,1));c=bg[b];!c&&(c=bg[b]=$f(a));return c}return $f(a)}\nfunction xb(){var a;if(sb!=0){a=rb();if(a-ub>2000){ub=a;vb=$wnd.setTimeout(Eb,10)}}if(sb++==0){Hb((Gb(),Fb));return true}return false}\nfunction $g(){var a=false;for(var b=0;b<$wnd.__gwt_globalEventArray.length;b++){!$wnd.__gwt_globalEventArray[b]()&&(a=true)}return !a}\nfunction wn(a,b){var c=0;while(!b[c]||b[c]==''){c++}var d=b[c++];for(;c>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction lk(a){var b,c;if(!a.c){return}b=(xk(),qc(mc($d,1),Mt,14,0,[pk,qk,rk,sk,tk,uk,vk,wk]))[a.c.a];c=a.a.b;yk(b,a.a,c)}\nfunction kj(){fj();return qc(mc(Fd,1),Mt,11,0,[Ki,Ni,Ui,Vi,Wi,Xi,Yi,Zi,$i,_i,Oi,Pi,Qi,Ri,Si,Ti,bj,Gi,Hi,Ii,Ji,dj,cj,Ei,Fi,Mi,Li])}\nfunction il(){il=Vf;fl=new jl('L',0);gl=new jl('M',1);hl=new jl('Q',2);el=new jl('H',3);dl=qc(mc(ae,1),Mt,33,0,[gl,fl,el,hl])}\nfunction Kj(){Kj=Vf;new Qj(4201,4096,1);new Qj(1033,1024,1);new Qj(67,64,1);new Qj(19,16,1);Jj=new Qj(285,256,0);new Qj(301,256,1)}\nfunction nq(a){var b,c,d;d=1;for(c=new tp(a);c.a=0&&a<=1114111);if(a>=Ft){b[c++]=55296+(a-Ft>>10&1023)&65535;b[c]=56320+(a-Ft&1023)&65535;return 2}else{b[c]=a&65535;return 1}}\nfunction ho(a,b,c){if(co(Rt,c)){return oo(a,b)}else if(co(Pt,c)||co('ISO-LATIN-1',c)){return no(a,b)}else{throw new Ym('Charset '+c+' not supported')}}\nfunction Jo(a,b){var c,d,e;c=b.ab();e=b.bb();d=a.Z(c);if(!(Gc(e)===Gc(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.X(c)){return false}return true}\nfunction yi(a,b){if(a<1||b<1){throw new Hn('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=nc(Oc,Nt,0,this.c*b,7,1)}\nfunction Go(a){var b,c,d,e;e=new Bo('[');b=false;for(d=a.H();d.I();){c=d.J();b?(e.a+=', ',e):(b=true);e.a+=c===a?'(this Collection)':''+c}e.a+=']';return e.a}\nfunction Vj(a,b){var c,d,e;if(b==0){return a.b.i}if(b==1){return a}e=a.a.length;d=nc(Oc,Nt,0,e,7,1);for(c=0;c=0,qc(mc(Je,1),st,1,3,[Vn(b),Vn(c)])),g),h=lc(a,f),Co(a,b,h,0,Zn(a.length-b,f)),h);lq(e,a,b,c,-b,d)}\nfunction rc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e0&&b>0){null.Bb();null.Bb();null.Bb().Bb().Bb(null.Bb());c=new Gm;a=new wj(c);d=new Ah(a);return d}return null}\nfunction lb(a){var b;if(a.c==null){b=Gc(a.b)===Gc(jb)?null:a.b;a.d=b==null?'null':Cc(b)?ob(yc(b)):Fc(b)?'String':fn(L(b));a.a=a.a+': '+(Cc(b)?nb(yc(b)):b+'');a.c='('+a.d+') '+a.a}}\nfunction Lr(){var a;if(Object.create&&Object.getOwnPropertyNames&&Kr()){return (a=Object.create(null),a[cu]=42,Object.getOwnPropertyNames(a).length==0)?new Mr:new Fr}return new Or}\nfunction sc(a,b,c,d,e,f){if(a===c){a=a.slice(b,b+e);b=0}for(var g=b,h=b+e;g>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h=a.a){throw new Hn('Requested row is outside the image: '+b)}e=a.b;(c==null||c.length>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);lq(b,a,i,j,-e,f);lq(b,a,j,h,-e,f);if(f.M(a[j-1],a[j])<=0){while(ca.b){throw new Kn}if(a.b==a.a.length){f=nc(qd,st,26,a.a.length*2,0,1);for(e=0;ec;--d){tc(a.a,d,a.a[d-1])}tc(a.a,c,b)}\nfunction Uf(a,b,c){var d=Sf;var e=Tf;var f=Wf;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=Zf)}for(var i=3;ic-k?0:c-k;h=Zn(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=Zn(a.a.b-1,d+k);if(f-i0&&(a.q==-1?Yg(a.r,b|(a.r.__eventBits||0)):(a.q|=b));a.s()}\nfunction vj(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.b;c=f.a;if(i>=40&&c>=40){d=Em(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=xj(d,h,g,i,c);e=new yi(i,c);yj(d,h,g,i,c,b,e);a.a=e}else{a.a=sj(a)}return a.a}\nfunction jc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new Bo(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=Bp(new Cp(a.a));ip(f.a);){e=xc(Gp(f),8);d?(d=false):(b.a+='; ',b);zo(b,e.B())}return b.a}\nfunction _k(b,c,d){var e,f,g,h,i;h=c.length;e=nc(Oc,Nt,0,h,7,1);for(g=0;g=2){if(!d){d=b}else{a.b=true;return ~~(Ic(Yn(d.c-b.c)-Yn(d.d-b.d))/2)}}}return 0}\nfunction ql(a,b){var c,d,e,f,g,h,i,j;c=mt;d=0;for(g=ml,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?yt:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?yt:0;f=d?xt:0;e=c>>b-44}return {l:e&xt,m:f&xt,h:g&yt}}\nfunction tn(a){if(a.T()){var b=a.c;b.U()?(a.n='['+b.k):!b.T()?(a.n='[L'+b.R()+';'):(a.n='['+b.R());a.b=b.Q()+'[]';a.j=b.S()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=wn('.',[c,wn('$',d)]);a.b=wn('.',[c,wn('.',d)]);a.j=d[d.length-1]}\nfunction Nm(b){var c,d,e,f;if(!(b.a&&b.p))return;try{c=Im();if(c){for(e=new tp(b.d);e.a=0&&d.e>=0){Qh(h,(ji(),gi),Vn(d.e));Qh(h,fi,Vn(d.d))}return h}\nfunction ak(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=nc(Oc,Nt,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=Ic(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=Ic(b+(f-b)*i);h+=em(a,b,c,f,g);return h-1}\nfunction _j(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return qc(mc(Oc,1),Nt,0,7,[b.a[b.a.length-1-1]])}f=nc(Oc,Nt,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);zj(a,q,s,h,d,g)}}}\nfunction oj(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Oh(),Oh(),Nh}e=new yi(b,c);h=nc(Nc,Lt,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}tc(a,0,c);a[1]=d;tc(a,2,e)}\nfunction Sj(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Hn(Tt)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=nc(Oc,Nt,0,d.length,7,1);e=d.length-f.length;Co(d,0,g,0,e);for(c=e;c>3]}}b=uj(d);e=Em(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Kh(),Kh(),Jh}i=nc(Kc,Lt,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d=0;h--){c=gk(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=gk(a,8,g,d)}for(e=b-8;e=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new tp(a.d);f.a8*(b.c.length-b.b)-b.a){throw Kh(),Kh(),Jh}f=nc(Kc,Lt,0,2*d,7,1);g=0;while(d>0){h=Ci(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=Hc(e>>8);f[g+1]=Hc(e);g+=2;--d}try{zo(c,ho(f,f.length,Qt))}catch(a){a=Rf(a);if(Bc(a,45)){throw Kh(),Kh(),Jh}else throw Qf(a)}}\nfunction Wk(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Kh(),Kh(),Jh}f=nc(Kc,Lt,0,2*d,7,1);g=0;while(d>0){h=Ci(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=Hc(e>>8&255);f[g+1]=Hc(e&255);g+=2;--d}try{zo(c,ho(f,f.length,'GB2312'))}catch(a){a=Rf(a);if(Bc(a,45)){throw Kh(),Kh(),Jh}else throw Qf(a)}}\nfunction tc(a,b,c){var d;if(c!=null){switch(a.__elementTypeCategory$){case 4:if(!Fc(c)){throw new an}break;case 0:{d=a.__elementTypeId$;if(!vc(c,d)){throw new an}break}case 2:if(!(!Fc(c)&&!xg(c))){throw new an}break;case 1:{d=a.__elementTypeId$;if(!(!Fc(c)&&!xg(c))&&!vc(c,d)){throw new an}break}}}return a[b]=c}\nfunction Ci(a,b){var c,d,e,f,g;if(b<1||b>32||b>8*(a.c.length-a.b)-a.a){throw new Hn(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Nl(a){var b,c,d,e,f,g;c=17+4*a.d;b=new xi(c);vi(b,0,0,9,9);vi(b,c-8,0,8,9);vi(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){vi(b,c-11,0,3,6);vi(b,0,c-11,6,3)}return b}\nfunction vi(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Hn('Left and top must be nonnegative')}if(e<1||d<1){throw new Hn('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Hn('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=gk(a,d,g,j)}}i=Pl(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=gk(a,c,f,j)}}i=Pl(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Kh(),Kh(),Jh}\nfunction uj(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Oh(),Oh(),Nh}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction Dj(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=Aj(Ej(3.5,3.5,a,3.5,b,c,3.5,d));n=Ej(e,f,g,h,i,j,k,l);return new Cj(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction Cn(){Cn=Vf;Bn=qc(mc(Mc,1),Lt,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Ft,256,16,4,2]);An=qc(mc(Mc,1),Lt,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction eg(a){var b,c,d,e,f,g,h,i;if(En(a)){return qg(),pg}if(a=9223372036854775807){return qg(),ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=At){d=Ic(a/At);a-=d*At}c=0;if(a>=zt){c=Ic(a/zt);a-=c*zt}b=Ic(a);f=_f(b,c,d);e&&(g=~f.l+1&xt,h=~f.m+(g==0?1:0)&xt,i=~f.h+(g==0&&h==0?1:0)&yt,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction al(b,c){var d,e,f,g,h;g=new mk(c);f=null;d=null;try{return bl(b,g)}catch(a){a=Rf(a);if(Bc(a,53)){e=a;f=e}else if(Bc(a,52)){e=a;d=e}else throw Qf(a)}try{lk(g);g.d=null;g.c=null;g.b=true;kk(g);jk(g);hk(g);h=bl(b,g);lj(h,new Jl);return h}catch(a){a=Rf(a);if(Bc(a,53)||Bc(a,52)){e=a;if(f){throw f}if(d){throw d}throw e}else throw Qf(a)}}\nfunction $j(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Yj(a.a,b);q=nc(Oc,Nt,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return Hj(d+q,e,b,c)}return NaN}\nfunction ji(){ji=Vf;ci=new ki('OTHER',0);bi=new ki('ORIENTATION',1);$h=new ki('BYTE_SEGMENTS',2);_h=new ki('ERROR_CORRECTION_LEVEL',3);ai=new ki('ISSUE_NUMBER',4);hi=new ki('SUGGESTED_PRICE',5);ei=new ki('POSSIBLE_COUNTRY',6);ii=new ki('UPC_EAN_EXTENSION',7);di=new ki('PDF417_EXTRA_METADATA',8);gi=new ki('STRUCTURED_APPEND_SEQUENCE',9);fi=new ki('STRUCTURED_APPEND_PARITY',10)}\nfunction Uk(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Kh(),Kh(),Jh}f=Ci(a,11);wo(b,$k(~~(f/45)));wo(b,$k(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Kh(),Kh(),Jh}wo(b,$k(Ci(a,6)))}if(d){for(e=g;ee||b>d){throw new Hn('Crop rectangle does not fit within image data.')}!Y&&(Y=new Z);null.Bb();null.Bb();null.Bb();null.Bb().Bb();null.Bb();for(c=0;c0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=hg(b,fg(c+127<<23));b=hg(b,fg(e));return mg(b)}\nfunction Yk(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Kh(),Kh(),Jh}e=Ci(a,10);if(e>=1000){throw Kh(),Kh(),Jh}wo(b,$k(~~(e/100)));wo(b,$k(~~(e/10)%10));wo(b,$k(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Kh(),Kh(),Jh}f=Ci(a,7);if(f>=100){throw Kh(),Kh(),Jh}wo(b,$k(~~(f/10)));wo(b,$k(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Kh(),Kh(),Jh}d=Ci(a,4);if(d>=10){throw Kh(),Kh(),Jh}wo(b,$k(d))}}\nfunction sm(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=pm(a,c,Ic(h),b[2],m);if(!isNaN(g)){h=om(a,Ic(h),Ic(g),b[2],m);if(!isNaN(h)&&(!e||nm(a,Ic(g),Ic(h),b[2],m))){i=m/7;j=false;for(k=0;k=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return 'gecko1_8';return 'unknown'}\nfunction Xl(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=a.a;i[0]=0;i[1]=0;i[2]=0;f=b;while(f>=0&&ti(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!ti(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Zl(a,i)?f-i[2]-i[1]/2:NaN}\nfunction fo(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=Ic(s.c+i*(g-s.c));l=Ic(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=cm(b,n,k,l,m);break}catch(a){a=Rf(a);if(!Bc(a,51))throw Qf(a)}}}u=im(s,t,f,d,j);e=jm(b.a,u,j);!d?(q=qc(mc(Bd,1),st,27,0,[f,s,t])):(q=qc(mc(Bd,1),st,27,0,[f,s,t,d]));return new pj(e,q)}\nfunction Yl(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=nc(Oc,Nt,0,3,7,1);for(f=0;fn||d+e>j){throw new Kn}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=xc(a,5);f=xc(c,5);if(Gc(a)===Gc(c)&&bd;){tc(f,h,k[--b])}}else{for(h=d+e;d0&&sc(a,b,c,d,e,true)}\nfunction nj(a,b){var c,d,e,f,g,h,i;g=a.d;c=a.b;d=true;for(f=0;fg||i<-1||i>c){throw Oh(),Oh(),Nh}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=Ic(b[e]);i=Ic(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Oh(),Oh(),Nh}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction ok(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new Gn}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=Bn[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=Bn[d]){a*=An[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=eg(a*1048576);a-=lg(e)*9.5367431640625E-7;f=eg(a*4503599627370496);e=hg(e,fg(c+1023<<20));g&&(e=hg(e,{l:0,m:512,h:0}));return hg(ig(e,32),f)}\nfunction om(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&ti(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!ti(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&ti(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return wm(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction pm(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&ti(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!ti(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&ti(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return wm(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction um(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Oh(),Oh(),Nh}if(l>3){n=0;k=0;for(d=new tp(a.d);d.am?Xt*b:m;for(e=0;e3;e++){g=xc(Wp(a.d,e),16);if(Yn(g.b-b)>f){a.d._(e);--e}}}if(a.d.b.length>3){n=0;for(i=new tp(a.d);i.ab){throw new Ln(Zt)}}f=nc(Lc,Lt,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Hn('Invalid UTF8 sequence at '+(h-1)+', byte='+Un(c,16))}d=d<<6|c&63}j+=cn(d,f,j)}return ko(f,0,f.length)}\nfunction qm(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=nc(Oc,Nt,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(wm(l)){b=sm(a,l,e,i,false);if(b){f=l[0];a.b&&(d=tm(a))}}}j=um(a);qi(j);return new Dm(j)}\nfunction bk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new dk('r_{i-1} was zero')}k=m;j=a.a.i;f=Uj(l,l.a.length-1);g=Nj(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Pj(a.a,Uj(k,k.a.length-1),g);j=Sj(j,Lj(a.a,e,n));k=Sj(k,Xj(l,e,n))}r=Sj(Wj(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Jn('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new dk('sigmaTilde(0) was zero')}h=Nj(a.a,q);o=Vj(r,h);i=Vj(k,h);return qc(mc(Ld,1),st,24,0,[o,i])}\nfunction Qm(e,f){function g(b){f.k=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.O()}\nfunction h(a){var b=a.message;f.N(b)}\nvar i=f.n;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\nfunction nm(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&ti(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!ti(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&ti(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&wm(i)}\nfunction Tk(b,c,d){Sk();var e,f,g,h,i,j,k,l,m,n,o,q;e=new Di(b);m=new Ao;f=new _p(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(Dl(),Cl)):(k=Gl(Ci(e,4)));if(k!=(Dl(),Cl)){if(k==wl||k==xl){j=true}else if(k==Bl){if(8*(e.c.length-e.b)-e.a<16){throw Kh(),Kh(),Jh}o=Ci(e,8);l=Ci(e,8)}else if(k==vl){q=Zk(e);i=jj(q);if(!i){throw Kh(),Kh(),Jh}}else{if(k==yl){n=Ci(e,4);h=Ci(e,El(k,c));n==1&&Wk(e,m,h)}else{g=Ci(e,El(k,c));if(k==Al){Yk(e,m,g)}else if(k==tl){Uk(e,m,g,j)}else if(k==ul){Vk(e,m,g,i,f)}else if(k==zl){Xk(e,m,g)}else{throw Kh(),Kh(),Jh}}}}}while(k!=(Dl(),Cl))}catch(a){a=Rf(a);if(Bc(a,12)){throw Kh(),Kh(),Jh}else throw Qf(a)}return new mj(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction Pg(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Ft;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return Ct;case 'touchstart':return 1048576;case 'touchmove':return 2097152;case 'touchend':return zt;case 'touchcancel':return 8388608;case 'gesturestart':return 16777216;case 'gesturechange':return 33554432;case 'gestureend':return 67108864;default:return -1;}}\nfunction Fj(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Rt}if(c&&(m>=3||l>=3)){return Qt}if(b&&c){return m==2&&k==2||f*10>=g?Qt:Pt}if(b){return Pt}if(c){return Qt}if(d){return Rt}return Rt}\n", -"function Zg(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Ug:null);c&3&&(a.ondblclick=b&3?Tg:null);c&4&&(a.onmousedown=b&4?Ug:null);c&8&&(a.onmouseup=b&8?Ug:null);c&16&&(a.onmouseover=b&16?Ug:null);c&32&&(a.onmouseout=b&32?Ug:null);c&64&&(a.onmousemove=b&64?Ug:null);c&128&&(a.onkeydown=b&128?Ug:null);c&256&&(a.onkeypress=b&256?Ug:null);c&512&&(a.onkeyup=b&512?Ug:null);c&1024&&(a.onchange=b&1024?Ug:null);c&2048&&(a.onfocus=b&2048?Ug:null);c&4096&&(a.onblur=b&4096?Ug:null);c&8192&&(a.onlosecapture=b&8192?Ug:null);c&16384&&(a.onscroll=b&16384?Ug:null);c&32768&&(a.nodeName=='IFRAME'?b&32768?a.attachEvent('onload',Vg):a.detachEvent('onload',Vg):(a.onload=b&32768?Wg:null));c&Ft&&(a.onerror=b&Ft?Ug:null);c&131072&&(a.onmousewheel=b&131072?Ug:null);c&262144&&(a.oncontextmenu=b&262144?Ug:null);c&Ct&&(a.onpaste=b&Ct?Ug:null)}\nfunction Xs(g){var d=it(fu);var e,f=g;$wnd.JsQRScanner=kt(function(){var a,b=this,c=arguments;c.length==1&&f.qb(c[0])?(a=c[0]):c.length==2?(a=$s(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new As(c[0]),c[1])):c.length==1&&(a=Zs(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new As(c[0])));b.g=a;jt(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=kt(function(a){this.g.rb(a)});e.getScanInterval=kt(function(){return this.g.sb()});e.getSnapImageMaxSize=kt(function(){return this.g.tb()});e.isActive=kt(function(){return this.g.ub()});e.isScanning=kt(function(){return this.g.vb()});e.removeFrom=kt(function(a){this.g.wb(a)});e.resumeScanning=kt(function(){this.g.xb()});e.setScanInterval=kt(function(a){this.g.yb(a)});e.setSnapImageMaxSize=kt(function(a){this.g.zb(a)});e.stopScanning=kt(function(){this.g.Ab()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction Gg(){var a,b,c;b=$doc.compatMode;a=qc(mc(Ne,1),st,2,4,[Et]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction nl(){nl=Vf;ml=qc(mc(Oc,2),st,7,0,[qc(mc(Oc,1),Nt,0,7,[21522,0]),qc(mc(Oc,1),Nt,0,7,[20773,1]),qc(mc(Oc,1),Nt,0,7,[24188,2]),qc(mc(Oc,1),Nt,0,7,[23371,3]),qc(mc(Oc,1),Nt,0,7,[17913,4]),qc(mc(Oc,1),Nt,0,7,[16590,5]),qc(mc(Oc,1),Nt,0,7,[20375,6]),qc(mc(Oc,1),Nt,0,7,[19104,7]),qc(mc(Oc,1),Nt,0,7,[30660,8]),qc(mc(Oc,1),Nt,0,7,[29427,9]),qc(mc(Oc,1),Nt,0,7,[32170,10]),qc(mc(Oc,1),Nt,0,7,[30877,11]),qc(mc(Oc,1),Nt,0,7,[26159,12]),qc(mc(Oc,1),Nt,0,7,[25368,13]),qc(mc(Oc,1),Nt,0,7,[27713,14]),qc(mc(Oc,1),Nt,0,7,[26998,15]),qc(mc(Oc,1),Nt,0,7,[5769,16]),qc(mc(Oc,1),Nt,0,7,[5054,17]),qc(mc(Oc,1),Nt,0,7,[7399,18]),qc(mc(Oc,1),Nt,0,7,[6608,19]),qc(mc(Oc,1),Nt,0,7,[1890,20]),qc(mc(Oc,1),Nt,0,7,[597,21]),qc(mc(Oc,1),Nt,0,7,[3340,22]),qc(mc(Oc,1),Nt,0,7,[2107,23]),qc(mc(Oc,1),Nt,0,7,[13663,24]),qc(mc(Oc,1),Nt,0,7,[12392,25]),qc(mc(Oc,1),Nt,0,7,[16177,26]),qc(mc(Oc,1),Nt,0,7,[14854,27]),qc(mc(Oc,1),Nt,0,7,[9396,28]),qc(mc(Oc,1),Nt,0,7,[8579,29]),qc(mc(Oc,1),Nt,0,7,[11994,30]),qc(mc(Oc,1),Nt,0,7,[11245,31])])}\nfunction Xg(){$wnd.__gwt_globalEventArray==null&&($wnd.__gwt_globalEventArray=new Array);$wnd.__gwt_globalEventArray[$wnd.__gwt_globalEventArray.length]=kt(function(){return Eg($wnd.event)});var e=kt(function(){var a=fc;fc=this;if($wnd.event.returnValue==null){$wnd.event.returnValue=true;if(!$g()){fc=a;return}}var b=Rg;var c,d=this;while(d&&!(c=b(d))){d=d.parentElement}c&&Dg($wnd.event,d,c);fc=a});var f=kt(function(){var a=$doc.createEventObject();$wnd.event.returnValue==null&&$wnd.event.srcElement.fireEvent&&$wnd.event.srcElement.fireEvent('onclick',a);if(this.__eventBits&2){e.call(this)}else if($wnd.event.returnValue==null){$wnd.event.returnValue=true;$g()}});var g=kt(function(){this.__gwtLastUnhandledEvent=$wnd.event.type;e.call(this)});var h=$moduleName.replace(/\\./g,'_');$wnd['__gwt_dispatchEvent_'+h]=e;Ug=(new Function('w','return function() { w.__gwt_dispatchEvent_'+h+'.call(this) }'))($wnd);$wnd['__gwt_dispatchDblClickEvent_'+h]=f;Tg=(new Function('w','return function() { w.__gwt_dispatchDblClickEvent_'+h+Gt))($wnd);$wnd['__gwt_dispatchUnhandledEvent_'+h]=g;Wg=(new Function('w',Ht+h+Gt))($wnd);Vg=(new Function('w',Ht+h+'.call(w.event.srcElement)}'))($wnd);var i=kt(function(){e.call($doc.body)});var j=kt(function(){f.call($doc.body)});$doc.body.attachEvent('onclick',i);$doc.body.attachEvent('onmousedown',i);$doc.body.attachEvent('onmouseup',i);$doc.body.attachEvent('onmousemove',i);$doc.body.attachEvent('onmousewheel',i);$doc.body.attachEvent('onkeydown',i);$doc.body.attachEvent('onkeypress',i);$doc.body.attachEvent('onkeyup',i);$doc.body.attachEvent('onfocus',i);$doc.body.attachEvent('onblur',i);$doc.body.attachEvent('ondblclick',j);$doc.body.attachEvent('oncontextmenu',i)}\nfunction fj(){fj=Vf;var a,b,c,d,e,f,g,h,i,j,k,l;Ki=new ij('Cp437',0,qc(mc(Oc,1),Nt,0,7,[0,2]),qc(mc(Ne,1),st,2,4,[]));Ni=new ij('ISO8859_1',1,qc(mc(Oc,1),Nt,0,7,[1,3]),qc(mc(Ne,1),st,2,4,[Pt]));Ui=new hj('ISO8859_2',2,4,qc(mc(Ne,1),st,2,4,['ISO-8859-2']));Vi=new hj('ISO8859_3',3,5,qc(mc(Ne,1),st,2,4,['ISO-8859-3']));Wi=new hj('ISO8859_4',4,6,qc(mc(Ne,1),st,2,4,['ISO-8859-4']));Xi=new hj('ISO8859_5',5,7,qc(mc(Ne,1),st,2,4,['ISO-8859-5']));Yi=new hj('ISO8859_6',6,8,qc(mc(Ne,1),st,2,4,['ISO-8859-6']));Zi=new hj('ISO8859_7',7,9,qc(mc(Ne,1),st,2,4,['ISO-8859-7']));$i=new hj('ISO8859_8',8,10,qc(mc(Ne,1),st,2,4,['ISO-8859-8']));_i=new hj('ISO8859_9',9,11,qc(mc(Ne,1),st,2,4,['ISO-8859-9']));Oi=new hj('ISO8859_10',10,12,qc(mc(Ne,1),st,2,4,['ISO-8859-10']));Pi=new hj('ISO8859_11',11,13,qc(mc(Ne,1),st,2,4,['ISO-8859-11']));Qi=new hj('ISO8859_13',12,15,qc(mc(Ne,1),st,2,4,['ISO-8859-13']));Ri=new hj('ISO8859_14',13,16,qc(mc(Ne,1),st,2,4,['ISO-8859-14']));Si=new hj('ISO8859_15',14,17,qc(mc(Ne,1),st,2,4,['ISO-8859-15']));Ti=new hj('ISO8859_16',15,18,qc(mc(Ne,1),st,2,4,['ISO-8859-16']));bj=new hj('SJIS',16,20,qc(mc(Ne,1),st,2,4,[Qt]));Gi=new hj('Cp1250',17,21,qc(mc(Ne,1),st,2,4,['windows-1250']));Hi=new hj('Cp1251',18,22,qc(mc(Ne,1),st,2,4,['windows-1251']));Ii=new hj('Cp1252',19,23,qc(mc(Ne,1),st,2,4,['windows-1252']));Ji=new hj('Cp1256',20,24,qc(mc(Ne,1),st,2,4,['windows-1256']));dj=new hj('UnicodeBigUnmarked',21,25,qc(mc(Ne,1),st,2,4,['UTF-16BE','UnicodeBig']));cj=new hj('UTF8',22,26,qc(mc(Ne,1),st,2,4,[Rt]));Ei=new ij('ASCII',23,qc(mc(Oc,1),Nt,0,7,[27,170]),qc(mc(Ne,1),st,2,4,['US-ASCII']));Fi=new gj;Mi=new hj('GB18030',25,29,qc(mc(Ne,1),st,2,4,['GB2312','EUC_CN','GBK']));Li=new hj('EUC_KR',26,30,qc(mc(Ne,1),st,2,4,['EUC-KR']));ej=new fr;aj=new fr;for(b=kj(),c=0,d=b.length;c1?(b.c=pn(this,a-1)):(b.c=this);return b};_.Q=function on(){en(this);return this.b};_.R=function qn(){return fn(this)};_.S=function sn(){en(this);return this.j};_.T=function un(){return (this.f&4)!=0};_.U=function vn(){return (this.f&1)!=0};_.tS=function yn(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(en(this),this.n)};_.f=0;var dn=1;var Je=kn(nt,'Object',1),Sc=kn(ot,'JavaScriptObject$',0),ze=kn(nt,'Class',66);Uf(32,1,{47:1,32:1});_.tS=function Q(){if(!this.r){return '(null handle)'}return this.r.outerHTML};var nd=kn(pt,'UIObject',32);Uf(26,32,qt);_.s=function T(){};_.t=function U(){};_.u=function V(){R(this)};_.v=function W(a){var b;switch(Pg(a.type)){case 16:case 32:b=a.relatedTarget||(a.type=='mouseout'?a.toElement:a.fromElement);if(!!b&&gc(this.r,b)){return}}};_.w=function X(){S(this)};_.p=false;_.q=0;var qd=kn(pt,'Widget',26);var Y;Uf(173,1,{});var Qc=kn(rt,'Canvas/CanvasElementSupportDetector',173);Uf(77,173,{},Z);var Pc=kn(rt,'Canvas/CanvasElementSupportDetectedNo',77);Uf(8,1,tt);_.A=function bb(){Ob(this,this.e);return this};_.B=function cb(){return this.e};_.tS=function db(){var a,b;a=fn(this.cZ);b=this.B();return b!=null?a+': '+b:a};var Oe=kn(nt,'Throwable',8);Uf(10,8,ut);var Ce=kn(nt,'Exception',10);Uf(15,10,ut);var Ke=kn(nt,'RuntimeException',15);Uf(81,15,ut);var Uc=kn(vt,'JavaScriptExceptionBase',81);Uf(31,81,{31:1,3:1,10:1,8:1},mb);_.B=function pb(){lb(this);return this.c};_.C=function qb(){return Gc(this.b)===Gc(jb)?null:this.b};var jb;var Rc=kn(ot,'JavaScriptException',31);Uf(152,1,{});var Tc=kn(ot,'Scheduler',152);var sb=0,tb=0,ub=0,vb=-1;Uf(101,152,{},Jb);var Fb;var Vc=kn(vt,'SchedulerImpl',101);var Mb;Uf(163,1,{});var Zc=kn(vt,'StackTraceCreator/Collector',163);Uf(82,163,{},Qb);_.D=function Rb(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(Nb(),d.name||(d.name=Pb(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Oj(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var Ld=kn(St,'GenericGFPoly',24);Uf(120,1,{},ck);var Nd=kn(St,'ReedSolomonDecoder',120);Uf(39,10,{39:1,3:1,10:1,8:1},dk);var Od=kn(St,'ReedSolomonException',39);Uf(116,1,{177:1},fk);var Pd=kn('com.google.zxing.qrcode','QRCodeReader',116);Uf(130,1,{},mk);_.b=false;var Qd=kn(Ut,'BitMatrixParser',130);Uf(64,1,{64:1},nk);_.b=0;var Rd=kn(Ut,'DataBlock',64);Uf(14,13,Vt);var pk,qk,rk,sk,tk,uk,vk,wk;var $d=ln(Ut,'DataMask',14,Ak);Uf(139,14,Vt,Bk);_.L=function Ck(a,b){return (a+b&1)==0};var Sd=ln(Ut,'DataMask/1',139,null);Uf(140,14,Vt,Dk);_.L=function Ek(a,b){return (a&1)==0};var Td=ln(Ut,'DataMask/2',140,null);Uf(141,14,Vt,Fk);_.L=function Gk(a,b){return b%3==0};var Ud=ln(Ut,'DataMask/3',141,null);Uf(142,14,Vt,Hk);_.L=function Ik(a,b){return (a+b)%3==0};var Vd=ln(Ut,'DataMask/4',142,null);Uf(143,14,Vt,Jk);_.L=function Kk(a,b){return (~~(a/2)+~~(b/3)&1)==0};var Wd=ln(Ut,'DataMask/5',143,null);Uf(144,14,Vt,Lk);_.L=function Mk(a,b){var c;c=a*b;return (c&1)+c%3==0};var Xd=ln(Ut,'DataMask/6',144,null);Uf(145,14,Vt,Nk);_.L=function Ok(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var Yd=ln(Ut,'DataMask/7',145,null);Uf(146,14,Vt,Pk);_.L=function Qk(a,b){return ((a+b&1)+a*b%3&1)==0};var Zd=ln(Ut,'DataMask/8',146,null);var Rk;Uf(119,1,{},cl);var _d=kn(Ut,'Decoder',119);Uf(33,13,{33:1,3:1,19:1,13:1},jl);var dl,el,fl,gl,hl;var ae=ln(Ut,'ErrorCorrectionLevel',33,ll);Uf(43,1,{43:1},ol);_.eQ=function rl(a){var b;if(!Bc(a,43)){return false}b=xc(a,43);return this.b==b.b&&this.a==b.a};_.hC=function sl(){return this.b.d<<3|this.a};_.a=0;var ml;var be=kn(Ut,'FormatInformation',43);Uf(22,13,{22:1,3:1,19:1,13:1},Fl);var tl,ul,vl,wl,xl,yl,zl,Al,Bl,Cl;var ce=ln(Ut,'Mode',22,Hl);Uf(129,1,{},Jl);_.a=false;var de=kn(Ut,'QRCodeDecoderMetaData',129);Uf(9,1,{9:1},Ol);_.tS=function Sl(){return ''+this.d};_.c=0;_.d=0;var Kl,Ll;var ge=kn(Ut,'Version',9);Uf(4,1,{4:1},Tl);_.a=0;_.b=0;var ee=kn(Ut,'Version/ECB',4);Uf(6,1,{6:1},Ul);_.b=0;var fe=kn(Ut,'Version/ECBlocks',6);\n", -"Uf(44,27,{27:1,44:1},Wl);_.a=0;var ie=kn(Wt,'AlignmentPattern',44);Uf(148,1,{},_l);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var he=kn(Wt,'AlignmentPatternFinder',148);Uf(128,1,{},gm);var je=kn(Wt,'Detector',128);Uf(16,27,{27:1,16:1},lm,mm);_.a=0;_.b=0;var oe=kn(Wt,'FinderPattern',16);Uf(131,1,{},vm);_.b=false;var me=kn(Wt,'FinderPatternFinder',131);Uf(133,1,Lt,ym);_.M=function zm(a,b){return xm(this,xc(a,16),xc(b,16))};_.a=0;var ke=kn(Wt,'FinderPatternFinder/CenterComparator',133);Uf(132,1,Lt,Bm);_.M=function Cm(a,b){return Am(this,xc(a,16),xc(b,16))};_.a=0;var le=kn(Wt,'FinderPatternFinder/FurthestFromAverageComparator',132);Uf(134,1,{},Dm);var ne=kn(Wt,'FinderPatternInfo',134);Uf(78,122,{},Gm);var pe=kn(Yt,'CanvasLuminanceSource',78);Uf(104,74,qt);_.u=function Tm(){Km(this)};_.w=function Um(){S(this);Rm(this)};_.N=function Vm(a){Lm(this,a)};_.O=function Wm(){this.a&&this.p&&Ig(this.f,this.e)};_.a=false;_.e=0;_.i=0;var re=kn(Yt,'ScannerWidget',104);Uf(108,107,{},Xm);var qe=kn(Yt,'ScannerWidget/1',108);Uf(150,10,ut);var se=kn('java.io','IOException',150);Uf(45,150,{3:1,45:1,10:1,8:1},Ym);var te=kn('java.io','UnsupportedEncodingException',45);Uf(60,1,{});_.tS=function $m(){return this.a};var ue=kn(nt,'AbstractStringBuilder',60);Uf(69,15,ut,_m);var ve=kn(nt,'ArithmeticException',69);Uf(40,15,ut,an,bn);var we=kn(nt,'ArrayStoreException',40);Uf(35,15,ut,zn);var ye=kn(nt,'ClassCastException',35);Uf(65,1,{3:1,65:1});var Ie=kn(nt,'Number',65);var An,Bn;Uf(12,15,{3:1,10:1,12:1,8:1},Gn,Hn);var De=kn(nt,'IllegalArgumentException',12);Uf(50,15,ut,In,Jn);var Ee=kn(nt,'IllegalStateException',50);Uf(37,15,ut,Kn,Ln);var Fe=kn(nt,'IndexOutOfBoundsException',37);Uf(30,65,{3:1,19:1,30:1,65:1},Nn);_.K=function Qn(a){return Mn(this,xc(a,30))};_.eQ=function Rn(a){return Bc(a,30)&&xc(a,30).a==this.a};_.hC=function Sn(){return this.a};_.tS=function Tn(){return ''+this.a};_.a=0;var Ge=kn(nt,'Integer',30);var Wn;Uf(70,15,ut,$n,_n);var He=kn(nt,'NullPointerException',70);var Ne=kn(nt,'String',2);var po,qo=0,ro;Uf(25,60,{175:1},Ao,Bo);var Me=kn(nt,'StringBuilder',25);Uf(71,15,ut,Do);var Pe=kn(nt,'UnsupportedOperationException',71);Uf(166,1,{});_.V=function Ho(a){return Eo(this,a)};_.tS=function Io(){return Go(this)};var Qe=kn($t,'AbstractCollection',166);Uf(165,1,{55:1});_.X=function Mo(a){return !!Ko(this,a)};_.eQ=function No(a){var b,c,d;if(a===this){return true}if(!Bc(a,55)){return false}d=xc(a,55);if(this.W()!=d.W()){return false}for(c=d.Y().H();c.I();){b=xc(c.J(),17);if(!Jo(this,b)){return false}}return true};_.Z=function Oo(a){return Po(Ko(this,a))};_.hC=function Qo(){return mq(this.Y())};_.W=function Ro(){return this.Y().W()};_.tS=function So(){var a,b,c,d;d=new Bo('{');a=false;for(c=this.Y().H();c.I();){b=xc(c.J(),17);a?(d.a+=', ',d):(a=true);zo(d,Lo(this,b.ab()));d.a+='=';zo(d,Lo(this,b.bb()))}d.a+='}';return d.a};var bf=kn($t,'AbstractMap',165);Uf(84,165,{55:1});_.X=function Zo(a){return To(this,a)};_.Y=function $o(){return new ep(this)};_.Z=function _o(a){return Wo(this,a)};_.W=function ap(){return this.b};_.b=0;var Te=kn($t,'AbstractHashMap',84);Uf(167,166,_t);_.eQ=function bp(a){var b;if(a===this){return true}if(!Bc(a,34)){return false}b=xc(a,34);if(b.W()!=this.W()){return false}return Fo(this,b)};_.hC=function cp(){return mq(this)};var cf=kn($t,'AbstractSet',167);Uf(67,167,_t,ep);_.V=function fp(a){return dp(this,a)};_.H=function gp(){return new kp(this.a)};_.W=function hp(){return this.a.b};var Se=kn($t,'AbstractHashMap/EntrySet',67);Uf(68,1,{},kp);_.I=function lp(){return ip(this)};_.J=function mp(){return jp(this)};var Re=kn($t,'AbstractHashMap/EntrySetIterator',68);Uf(168,166,{46:1});_.eQ=function pp(a){var b,c,d,e,f;if(a===this){return true}if(!Bc(a,46)){return false}f=xc(a,46);if(this.W()!=f.W()){return false}e=f.H();for(c=new tp(this);c.a>24}\nfunction Ut(a){return new Et(a)}\nfunction $n(a){Zn(a);return a.n}\nfunction dc(a,b){cc();bc.G(a,b)}\nfunction Zt(a,b,c){Pp(a.a,b,c)}\nfunction pj(a){qj.call(this,a,a)}\nfunction wi(){vi();vb.call(this)}\nfunction wb(a){this.e=a;this.C()}\nfunction rb(a){this.e=a;this.C()}\nfunction Vr(a){this.c=a;Sr(this)}\nfunction vt(a){rt(this);this.a=a}\nfunction _g(a){(ih(),a.t).src=''}\nfunction gb(a,b){yc((ih(),a.t),b)}\nfunction hb(a,b){zc((ih(),a.t),b)}\nfunction xh(a,b){a.__listener=b}\nfunction pp(a,b){a.a+=b;return a}\nfunction qp(a,b){a.a+=b;return a}\nfunction rp(a,b){a.a+=b;return a}\nfunction du(a){cu();return $t(a)}\nfunction Rp(a,b){return ms(a.a,b)}\nfunction _r(a,b){return Lp(a.a,b)}\nfunction Mg(a){return a.l|a.m<<22}\nfunction Ro(a){return a<=0?0-a:a}\nfunction $c(a){return Zc(a)&&Xg(a)}\nfunction Tg(){Rg==null&&(Rg=[])}\nfunction kp(){kp=tg;hp={};jp={}}\nfunction Vb(){Jb!=0&&(Jb=0);Mb=-1}\nfunction $q(a,b,c){a.splice(b,c)}\nfunction Ct(a,b){a.appendChild(b)}\nfunction Dt(a,b){a.removeChild(b)}\nfunction cj(a,b){Ni.call(this,a,b)}\nfunction rl(a,b){Ni.call(this,a,b)}\nfunction bm(a,b){Ni.call(this,a,b)}\nfunction Lm(a,b){this.a=a;this.b=b}\nfunction hk(a,b){this.a=a;this.b=b}\nfunction Jq(a,b){this.a=a;this.b=b}\nfunction $s(a,b){this.a=a;this.b=b}\nfunction Xs(a,b){this.b=a;this.c=b}\nfunction fl(a,b){this.b=a;this.a=b}\nfunction Mm(a,b){this.b=a;this.a=b}\nfunction Hr(a,b){this.b=a;this.a=b}\nfunction Ni(a,b){this.c=a;this.d=b}\nfunction ej(a,b){this.c=a;this.d=b}\nfunction or(a,b){a._gwt_modCount=b}\nfunction tt(a,b){a.apply(null,[b])}\nfunction En(a,b){Xt(a.b,new Ji(b))}\nfunction _h(a,b){Ph(a,b,(ih(),a.t))}\nfunction vh(){if(!th){Dh();th=true}}\nfunction lc(a){if(!a){throw new zo}}\nfunction uc(a){if(!a){throw new Bo}}\nfunction oc(a){if(!a){throw new mt}}\nfunction xo(a){vo();return isNaN(a)}\nfunction Fo(a,b){return Io(a.a,b.a)}\nfunction Vt(a,b){return new Ft(a,b)}\nfunction Ft(a,b){this.a=new Bt(a,b)}\nfunction Ki(a){this.b=a;this.a=null}\nfunction Et(a){Ft.call(this,a,null)}\nfunction Ub(a){$wnd.clearTimeout(a)}\nfunction ph(a){$wnd.clearTimeout(a)}\nfunction oh(a){$wnd.clearInterval(a)}\nfunction ot(a){return a!=null?N(a):0}\nfunction ad(a){return a==null?null:a}\nfunction Hp(a){return !a?null:a.db()}\nfunction Wc(a){return !Zc(a)&&Xg(a)}\nfunction Ac(a,b){return a.contains(b)}\nfunction Io(a,b){return ab?1:0}\nfunction is(b,a){return b.a[a]||[]}\nfunction bn(a,b,c){return gk(a,c,c,b)}\nfunction Zc(a){return Array.isArray(a)}\nfunction Tr(a){return a.a>>0).toString(b)}\nfunction sh(a,b){return $wnd.setTimeout(a,b)}\nfunction Bc(a){return a.currentTarget||$wnd}\nfunction Eb(a){return a==null?null:a.message}\nfunction Yc(a){return a!=null&&!_c(a)&&!Xg(a)}\nfunction Sc(a){return String.fromCharCode(a)}\nfunction Ak(a){return cd(a+(a<0?-0.5:0.5))}\nfunction zq(a){var b;b=cq(a.a);return b.cb()}\nfunction Qo(){Qo=tg;Po=Jc(ef,nu,36,256,0,1)}\nfunction hc(){hc=tg;Error.stackTraceLimit=64}\nfunction Or(a,b){this.a=a;this.b=b;this.c=0}\nfunction xm(a,b,c){Ni.call(this,a,b);this.a=c}\nfunction Om(a,b,c){ej.call(this,a,b);this.a=c}\nfunction At(a,b){Dt(b,(ih(),a.t));U(a);Kn(a)}\nfunction qh(a,b){return fu(function(){a.H(b)})}\nfunction Fn(a){a.a=true;a.a&&a.q&&nh(a.i,a.f)}\nfunction ci(a){bi();try{U(a)}finally{as(ai,a)}}\nfunction tl(){rl.call(this,'DATA_MASK_000',0)}\nfunction vl(){rl.call(this,'DATA_MASK_001',1)}\nfunction zl(){rl.call(this,'DATA_MASK_011',3)}\nfunction xl(){rl.call(this,'DATA_MASK_010',2)}\nfunction Fl(){rl.call(this,'DATA_MASK_110',6)}\nfunction Bl(){rl.call(this,'DATA_MASK_100',4)}\nfunction Dl(){rl.call(this,'DATA_MASK_101',5)}\nfunction Hl(){rl.call(this,'DATA_MASK_111',7)}\nfunction pq(a){mq.call(this,a);tc(a.b);this.a=0}\nfunction Er(a){this.c=a;this.a=new Vr(this.c.a)}\nfunction gm(a){this.b=cm(a>>3&3);this.a=bd(a&7)}\nfunction Dp(a,b){return b===a?'(this Map)':''+b}\nfunction ep(a,b){return _c(a)?dp(a,Vc(b)):a.M(b)}\nfunction Mr(a,b){return Xc(b,13)&&Nr(a,Tc(b,13))}\nfunction ob(d,a,b,c){return d.putImageData(a,b,c)}\nfunction mb(f,a,b,c,d,e){f.drawImage(a,b,c,d,e)}\nfunction Kc(a,b,c,d,e,f){return Lc(a,b,c,d,e,0,f)}\nfunction rr(a,b,c){Lr(a.a,b);return tr(a,b.d,c)}\nfunction Pq(a,b){qc(b,a.b.length);return a.b[b]}\nfunction Oq(a,b){Pc(a.b,a.b.length,b);return true}\nfunction _b(a,b){!a&&(a=[]);a[a.length]=b;return a}\nfunction fo(a,b){var c;c=bo(a,b);c.f=2;return c}\nfunction rc(a){if(a==null){throw new To}return a}\nfunction dd(a){if(a!=null){throw new so}return null}\nfunction sc(a,b){if(a==null){throw new Uo(''+b)}}\nfunction dp(a,b){if(a==b){return 0}return a %s',b))}}\nfunction $g(a){(ih(),a.t).setAttribute('autoplay','')}\nfunction R(a){(ih(),a.t).className='qrPreviewVideo'}\nfunction wn(a){this.a=a[0];this.b=a[1];this.c=a[2]}\nfunction np(){if(ip==256){hp=jp;jp={};ip=0}++ip}\nfunction rt(a){if(!pt){pt=true;cu();Zt(bu,fg,a);st(a)}}\nfunction Rt(a){if(!Qt){Qt=true;cu();Zt(bu,ig,a);St(a)}}\nfunction Tb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction ks(a){return Object.getOwnPropertyNames(a.a)}\nfunction Ms(a){return Object.getOwnPropertyNames(a.a)}\nfunction Yr(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction nt(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction Rc(a,b){return _c(a)&&!!Qc[b]||a.cM&&!!a.cM[b]}\nfunction L(a){return _c(a)?mf:Wc(a)?a.cZ:$c(a)?a.cZ:od}\nfunction cq(a){return nr(a.c,a),oc(bq(a)),Tc(a.a.L(),17)}\nfunction Cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction Hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction pb(d,a,b,c){return d.data[4*(a+b*d.width)+c]||0}\nfunction tr(a,b,c){var d;d=a.b[b];Pc(a.b,b,c);return d}\nfunction kj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction mj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction Ph(a,b,c){V(b);di(a.p,b);ih();wc(c,kh(b.t));W(b,a)}\nfunction ak(a,b,c,d){Ni.call(this,a,b);this.b=c;this.a=d}\nfunction en(a,b,c,d){ej.call(this,a,b);this.b=c;this.a=d}\nfunction Db(a){Bb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction Vc(a){if(a!=null&&!_c(a)){throw new so}return a}\nfunction Tc(a,b){if(a!=null&&!Rc(a,b)){throw new so}return a}\nfunction oi(){var a;a=ri();if(!Wo(Gu,a)){throw new qi(a)}}\nfunction Vm(a){var b,c;b=new on(a.a);c=jn(b);return Xm(a,c)}\nfunction Jm(a){Em();if(a<1||a>40){throw new zo}return Cm[a-1]}\nfunction tc(a){if(0>a){throw new Eo('Index: 0, Size: '+a)}}\nfunction on(a){this.c=a;this.d=new Tq;this.a=Jc(jd,Mu,0,5,7,1)}\nfunction zn(a){An.call(this,a,(ih(),a.t).width,a.t.height)}\nfunction cd(a){return ~~Math.max(Math.min(a,hu),-2147483648)}\nfunction Qp(a,b,c){return b==null?ls(a.a,null,c):a.c.pb(b,c)}\nfunction dm(){am();return Mc(Ic(Ae,1),Lu,39,0,[Zl,$l,_l,Yl])}\nfunction Kl(){var a;Kl=tg;Jl=(a=Jc(fd,Ku,0,45,7,1),Yo(a,0),a)}\nfunction N(a){return _c(a)?mp(a):Wc(a)?a.hC():$c(a)?Sb(a):Sb(a)}\nfunction kh(a){ih();return a.__gwt_resolve?a.__gwt_resolve():a}\nfunction wg(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction uq(a){var b;b=new dq((new Zp(a.a)).a);return new Aq(b)}\nfunction hi(a,b){var c;c=ei(a,b);if(c==-1){throw new mt}gi(a,c)}\nfunction io(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.R(b))}\nfunction wh(a){var b=a.__listener;return !Yc(b)&&Xc(b,31)?b:null}\nfunction Fk(a,b){if(b==0){throw new Un}return a.a[a.f-a.c[b]-1]}\nfunction Sl(a){if(a>=Jl.length){throw Ci(),Ci(),Bi}return Jl[a]}\nfunction Yp(a,b){if(Xc(b,17)){return Bp(a.a,Tc(b,17))}return false}\nfunction zr(a,b){if(Xc(b,17)){return Bp(a.a,Tc(b,17))}return false}\nfunction ko(a){if(a.W()){return null}var b=a.k;var c=qg[b];return c}\nfunction Uc(a){if(a!=null&&!(!_c(a)&&!Xg(a))){throw new so}return a}\nfunction cm(a){am();if(a<0||a>=Xl.length){throw new zo}return Xl[a]}\nfunction qq(a,b){pc(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction ek(a,b,c,d,e){this.f=a;this.a=b;this.b=c;this.d=e;this.e=d}\nfunction ok(a){jk();this.d=a;this.c=ik;this.b=Jc(jd,Mu,0,32,7,1)}\nfunction rs(a){this.f=a;this.d=ks(this.f);this.a=Jc(cg,nu,17,0,0,1)}\nfunction Pb(b){return function(){return Qb(b,this,arguments);var a}}\nfunction Qb(a,b,c){var d;d=Ob();try{return Nb(a,b,c)}finally{Rb(d)}}\nfunction yk(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction zk(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction eo(a,b,c,d){var e;e=bo(a,b);qo(c,e);e.f=d?8:0;e.e=d;return e}\nfunction Jc(a,b,c,d,e,f){var g;g=Nc(e,d);Mc(Ic(a,f),b,c,e,g);return g}\nfunction J(a,b){return _c(a)?Wo(a,b):Wc(a)?a.eQ(b):$c(a)?a===b:a===b}\nfunction Ur(a){return oc(a.a>22&su;d=a<0?tu:0;return zg(b,c,d)}\nfunction wm(a,b){var c,d;c=b.d;c<=9?(d=0):c<=26?(d=1):(d=2);return a.a[d]}\nfunction Sq(a,b,c){var d;d=(qc(b,a.b.length),a.b[b]);Pc(a.b,b,c);return d}\nfunction lj(a,b,c){var d;d=c*a.c+~~(b/32);return (a.a[d]>>>(b&31)&1)!=0}\nfunction el(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Ci(),Ci(),Bi}this.a=a}\nfunction Jh(a){var b;b=Lh(a);if(!b){return}jh(a,b.nodeType!=1?null:b,wh(b))}\nfunction Rb(a){a&&Zb((Xb(),Wb));--Jb;if(a){if(Mb!=-1){Ub(Mb);Mb=-1}}}\nfunction bb(a){var b;T(a);b=Cc((ih(),a.t));-1==b&&(a.t.tabIndex=0,undefined)}\nfunction ei(a,b){var c;for(c=0;c=b){throw new Eo('Index: '+a+', Size: '+b)}}\nfunction ki(a){if(a.b>=a.c.b){throw new mt}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction Hk(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction Ib(){if(Date.now){return Date.now()}return (new Date).getTime()}\nfunction Uq(a){Nq(this);mc(a>=0,'Initial capacity must not be negative')}\nfunction bk(a){Zj();if(a<0||a>=900){throw Ci(),Ci(),Bi}return Tc(Op(Yj,Oo(a)),11)}\nfunction hm(a,b){fm();var c;c=im(a,b);if(c){return c}return im(a^21522,b^21522)}\nfunction Ec(a){var b;b=uq(new vq(a.a));if(!bq(b.a)){return null}return Tc(zq(b),8)}\nfunction Qq(a,b,c){for(;c=d){return false}}return true}\nfunction Kg(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return {l:c&su,m:d&su,h:e&tu}}\nfunction ec(a){var b=/function(?:\\s+([\\w$]+))?\\s*\\(/;var c=b.exec(a);return c&&c[1]||'anonymous'}\nfunction Nm(a,b,c,d){var e;if(Ro(c-a.d)<=b&&Ro(d-a.c)<=b){e=Ro(b-a.a);return e<=1||e<=a.a}return false}\nfunction cn(a,b,c,d){var e;if(Ro(c-a.d)<=b&&Ro(d-a.c)<=b){e=Ro(b-a.b);return e<=1||e<=a.b}return false}\nfunction bq(a){if(a.a.K()){return true}if(a.a!=a.b){return false}a.a=a.c.a.hb();return a.a.K()}\nfunction pg(a){var b;if(Xc(a,8)){return a}b=a&&a.__gwt$exception;if(!b){b=new Db(a);dc(b,a);ng(a,b)}return b}\nfunction Hc(a,b){var c;c=Nc(0,b);Mc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction Gc(a,b){var c;c=a.slice(0,b);Mc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction Mc(a,b,c,d,e){e.cZ=a;e.cM=b;e.tM=xg;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}\nfunction ar(a){var b,c,d,e;if(a==null){return 0}e=1;for(c=0,d=a.length;c=a.b){throw new Do}--a.b;for(c=b;c-129&&a<128){b=a+128;c=(Qo(),Po)[b];!c&&(c=Po[b]=new Go(a));return c}return new Go(a)}\nfunction wp(a,b){var c,d;for(d=a.I();d.K();){c=d.L();if(ad(b)===ad(c)||b!=null&&J(b,c)){return true}}return false}\nfunction og(a){var b;if(Xc(a,37)){b=Tc(a,37);if(ad(b.b)!==ad((Bb(),Ab))){return ad(b.b)===ad(Ab)?null:b.b}}return a}\nfunction oj(a){var b,c,d;b=new sp;for(d=0;d=d||bb&&d.O(a[f-1],a[f])>0;--f){g=a[f];Pc(a,f,a[f-1]);Pc(a,f-1,g)}}}\nfunction Dn(b){var c;T(b);_g(b.k);try{Jn((ih(),b.k.t),b)}catch(a){a=pg(a);if(Xc(a,8)){c=a;En(b,c.D())}else throw og(a)}}\nfunction qs(a){if(a.cb){throw new Eo('toIndex: '+a+' > size '+b)}if(3>a){throw new Ao('fromIndex: 3 > toIndex: '+a)}}\nfunction Q(a,b,c){b>=0&&((ih(),a.t).style['width']=b+'px',undefined);c>=0&&((ih(),a.t).style['height']=c+'px',undefined)}\nfunction Ho(a){a-=a>>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction am(){am=tg;Zl=new bm('L',0);$l=new bm('M',1);_l=new bm('Q',2);Yl=new bm('H',3);Xl=Mc(Ic(Ae,1),Lu,39,0,[$l,Zl,Yl,_l])}\nfunction Ck(){Ck=tg;new Ik(4201,4096,1);new Ik(1033,1024,1);new Ik(67,64,1);new Ik(19,16,1);Bk=new Ik(285,256,0);new Ik(301,256,1)}\nfunction hq(a,b){var c,d;d=new pq(a);for(c=0;c2000){Lb=a;Mb=$wnd.setTimeout(Vb,10)}}if(Jb++==0){Yb((Xb(),Wb));return true}return false}\nfunction Fg(a){var b,c;if(a>-129&&a<128){b=a+128;Bg==null&&(Bg=Jc(zd,nu,184,256,0,1));c=Bg[b];!c&&(c=Bg[b]=yg(a));return c}return yg(a)}\nfunction Im(b){Em();if(b%4!=1){throw Ci(),Ci(),Bi}try{return Jm(~~((b-17)/4))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction V(a){if(!a.s){bi();_r(ai,a)&&ci(a)}else if(a.s){Qh(a.s,a)}else if(a.s){throw new Co(\"This widget's parent does not implement HasWidgets\")}}\nfunction Xn(a,b,c){lc(a>=0&&a<=1114111);if(a>=Au){b[c++]=55296+(a-Au>>10&1023)&65535;b[c]=56320+(a-Au&1023)&65535;return 2}else{b[c]=a&65535;return 1}}\nfunction _o(a,b,c){if(Xo(Qu,c)){return gp(a,b)}else if(Xo(Ou,c)||Xo('ISO-LATIN-1',c)){return fp(a,b)}else{throw new Rn('Charset '+c+' not supported')}}\nfunction Bp(a,b){var c,d,e;c=b.cb();e=b.db();d=a._(c);if(!(ad(e)===ad(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.Z(c)){return false}return true}\nfunction qj(a,b){if(a<1||b<1){throw new Ao('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=Jc(jd,Mu,0,this.c*b,7,1)}\nfunction xn(a){var b,c,d,e,f,g,h,i;i=a.f;c=a.e;b=i*c;f=Jc(ed,Ku,0,b,7,1);for(d=0;d=0,Mc(Ic(hf,1),nu,1,3,[Oo(b),Oo(c)])),g),h=Hc(a,f),up(a,b,h,0,So(a.length-b,f)),h);er(e,a,b,c,-b,d)}\nfunction Nc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);er(b,a,i,j,-e,f);er(b,a,j,h,-e,f);if(f.O(a[j-1],a[j])<=0){while(ca.b){throw new Do}if(a.b==a.a.length){f=Jc(Qd,nu,20,a.a.length*2,0,1);for(e=0;ec;--d){Pc(a.a,d,a.a[d-1])}Pc(a.a,c,b)}\nfunction sg(a,b,c){var d=qg;var e=rg;var f=ug;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=xg)}for(var i=3;ic-k?0:c-k;h=So(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=So(a.a.b-1,d+k);if(f-i=a.e){throw new Ao('Requested row is outside the image: '+b)}e=a.f;(c==null||c.length>24}return c}\nfunction nk(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.f;c=f.e;if(i>=40&&c>=40){d=xn(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=pk(d,h,g,i,c);e=new qj(i,c);qk(d,h,g,i,c,b,e);a.a=e}else{a.a=kk(a)}return a.a}\nfunction Fc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new tp(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=uq(new vq(a.a));bq(f.a);){e=Tc(zq(f),8);d?(d=false):(b.a+='; ',b);rp(b,e.D())}return b.a}\nfunction Tl(b,c,d){var e,f,g,h,i;h=c.length;e=Jc(jd,Mu,0,h,7,1);for(g=0;g0&&(a.r==-1?Eh(a.t,b|(a.t.__eventBits||0)):(a.r|=b));a.u()}\nfunction ym(a){vm();switch(a){case 0:return um;case 1:return sm;case 2:return lm;case 3:return tm;case 4:return mm;case 5:return om;case 7:return nm;case 8:return rm;case 9:return pm;case 13:return qm;default:throw new zo;}}\nfunction kn(a){var b,c,d,e;e=a.d.b.length;if(e<=1){return 0}d=null;for(c=new mq(a.d);c.a=2){if(!d){d=b}else{a.b=true;return ~~(cd(Ro(d.c-b.c)-Ro(d.d-b.d))/2)}}}return 0}\nfunction im(a,b){var c,d,e,f,g,h,i,j;c=hu;d=0;for(g=em,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?tu:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?tu:0;f=d?su:0;e=c>>b-44}return {l:e&su,m:f&su,h:g&tu}}\nfunction mo(a){if(a.V()){var b=a.c;b.W()?(a.n='['+b.k):!b.V()?(a.n='[L'+b.T()+';'):(a.n='['+b.T());a.b=b.S()+'[]';a.j=b.U()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=po('.',[c,po('$',d)]);a.b=po('.',[c,po('.',d)]);a.j=d[d.length-1]}\nfunction Ln(a,b){this.p=new ii;P(this,(ih(),$doc.createElement('div')));this.k=eh();this.c=jb();this.d=new Zk;this.e=new Tq;this.f=300;this.j=-1;this.a=true;this.b=a;this.o=b;Oq(this.e,this.d);this.i=new Qn(this);_h(this,this.k);R(this.k);$g(this.k)}\nfunction wk(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,q,r;n=a-c+e-g;r=b-d+f-h;if(n==0&&r==0){return new uk(c-a,e-c,a,d-b,f-d,b,0,0,1)}else{l=c-e;m=g-e;o=d-f;q=h-f;k=l*q-m*o;i=(n*q-m*r)/k;j=(l*r-n*o)/k;return new uk(c-a+i*c,g-a+j*g,a,d-b+i*d,h-b+j*h,b,i,j,1)}}\nfunction Gn(b){var c,d,e,f;if(!(b.a&&b.q))return;try{c=Bn(b);if(c){for(e=new mq(b.e);e.a=0&&d.e>=0){Ii(h,(bj(),$i),Oo(d.e));Ii(h,Zi,Oo(d.d))}return h}\nfunction Uk(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=Jc(jd,Mu,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=cd(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=cd(b+(f-b)*i);h+=Ym(a,b,c,f,g);return h-1}\nfunction Tk(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return Mc(Ic(jd,1),Mu,0,7,[b.a[b.a.length-1-1]])}f=Jc(jd,Mu,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);rk(a,q,s,h,d,g)}}}\nfunction gk(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Gi(),Gi(),Fi}e=new qj(b,c);h=Jc(hd,Ku,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}Pc(a,0,c);a[1]=d;Pc(a,2,e)}\nfunction Kk(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Ao(Su)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=Jc(jd,Mu,0,d.length,7,1);e=d.length-f.length;up(d,0,g,0,e);for(c=e;c>3]}}b=mk(d);e=xn(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}i=Jc(ed,Ku,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d0&&c>0){if(a.j>0){if(f>c){if(a.j=0;h--){c=$k(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=$k(a,8,g,d)}for(e=b-8;e8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=bd(e>>8);f[g+1]=bd(e);g+=2;--d}try{rp(c,_o(f,f.length,Pu))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction Ol(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=bd(e>>8&255);f[g+1]=bd(e&255);g+=2;--d}try{rp(c,_o(f,f.length,'GB2312'))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction mn(a){var b,c,d,e,f,g,h,i;c=0;i=0;d=a.d.b.length;for(g=new mq(a.d);g.a=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new mq(a.d);f.a32||b>8*(a.c.length-a.b)-a.a){throw new Ao(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Fm(a){var b,c,d,e,f,g;c=17+4*a.d;b=new pj(c);nj(b,0,0,9,9);nj(b,c-8,0,8,9);nj(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){nj(b,c-11,0,3,6);nj(b,0,c-11,6,3)}return b}\nfunction nj(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Ao('Left and top must be nonnegative')}if(e<1||d<1){throw new Ao('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Ao('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=$k(a,d,g,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=$k(a,c,f,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Ci(),Ci(),Bi}\nfunction mk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Gi(),Gi(),Fi}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction vk(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=sk(wk(3.5,3.5,a,3.5,b,c,3.5,d));n=wk(e,f,g,h,i,j,k,l);return new uk(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction vo(){vo=tg;uo=Mc(Ic(gd,1),Ku,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Au,256,16,4,2]);to=Mc(Ic(gd,1),Ku,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction Eg(a){var b,c,d,e,f,g,h,i;if(xo(a)){return Qg(),Pg}if(a=9223372036854775807){return Qg(),Ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=vu){d=cd(a/vu);a-=d*vu}c=0;if(a>=uu){c=cd(a/uu);a-=c*uu}b=cd(a);f=zg(b,c,d);e&&(g=~f.l+1&su,h=~f.m+(g==0?1:0)&su,i=~f.h+(g==0&&h==0?1:0)&tu,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction Ul(b,c){var d,e,f,g,h;g=new el(c);f=null;d=null;try{return Vl(b,g)}catch(a){a=pg(a);if(Xc(a,56)){e=a;f=e}else if(Xc(a,55)){e=a;d=e}else throw og(a)}try{dl(g);g.d=null;g.c=null;g.b=true;cl(g);bl(g);_k(g);h=Vl(b,g);dk(h,new Bm);return h}catch(a){a=pg(a);if(Xc(a,56)||Xc(a,55)){e=a;if(f){throw f}if(d){throw d}throw e}else throw og(a)}}\nfunction Sk(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Qk(a.a,b);q=Jc(jd,Mu,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return zk(d+q,e,b,c)}return NaN}\nfunction bj(){bj=tg;Wi=new cj('OTHER',0);Vi=new cj('ORIENTATION',1);Si=new cj('BYTE_SEGMENTS',2);Ti=new cj('ERROR_CORRECTION_LEVEL',3);Ui=new cj('ISSUE_NUMBER',4);_i=new cj('SUGGESTED_PRICE',5);Yi=new cj('POSSIBLE_COUNTRY',6);aj=new cj('UPC_EAN_EXTENSION',7);Xi=new cj('PDF417_EXTRA_METADATA',8);$i=new cj('STRUCTURED_APPEND_SEQUENCE',9);Zi=new cj('STRUCTURED_APPEND_PARITY',10)}\nfunction Ml(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Ci(),Ci(),Bi}f=uj(a,11);op(b,Sl(~~(f/45)));op(b,Sl(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Ci(),Ci(),Bi}op(b,Sl(uj(a,6)))}if(d){for(e=g;e0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=Hg(b,Fg(c+127<<23));b=Hg(b,Fg(e));return Mg(b)}\nfunction Ql(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Ci(),Ci(),Bi}e=uj(a,10);if(e>=1000){throw Ci(),Ci(),Bi}op(b,Sl(~~(e/100)));op(b,Sl(~~(e/10)%10));op(b,Sl(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Ci(),Ci(),Bi}f=uj(a,7);if(f>=100){throw Ci(),Ci(),Bi}op(b,Sl(~~(f/10)));op(b,Sl(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Ci(),Ci(),Bi}d=uj(a,4);if(d>=10){throw Ci(),Ci(),Bi}op(b,Sl(d))}}\nfunction ri(){var a=navigator.userAgent.toLowerCase();var b=$doc.documentMode;if(function(){return a.indexOf('webkit')!=-1}())return Gu;if(function(){return a.indexOf('msie')!=-1&&b>=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return 'gecko1_8';return 'unknown'}\nfunction ln(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=hn(a,c,cd(h),b[2],m);if(!isNaN(g)){h=gn(a,cd(h),cd(g),b[2],m);if(!isNaN(h)&&(!e||fn(a,cd(g),cd(h),b[2],m))){i=m/7;j=false;for(k=0;k=0&&lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Rm(a,i)?f-i[2]-i[1]/2:NaN}\nfunction Zo(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=cd(s.c+i*(g-s.c));l=cd(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=Wm(b,n,k,l,m);break}catch(a){a=pg(a);if(!Xc(a,54))throw og(a)}}}u=an(s,t,f,d,j);e=bn(b.a,u,j);!d?(q=Mc(Ic(_d,1),nu,29,0,[f,s,t])):(q=Mc(Ic(_d,1),nu,29,0,[f,s,t,d]));return new hk(e,q)}\nfunction Qm(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=Jc(jd,Mu,0,3,7,1);for(f=0;fn||d+e>j){throw new Do}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=Tc(a,5);f=Tc(c,5);if(ad(a)===ad(c)&&bd;){Pc(f,h,k[--b])}}else{for(h=d+e;d0&&Oc(a,b,c,d,e,true)}\nfunction An(a,b,c){var d,e,f,g,h;this.f=b;this.e=c;h=(ih(),a.t).width;g=a.t.height;if(b>h||c>g){throw new Ao('Crop rectangle does not fit within image data.')}this.a=jb();Q(this.a,h,g);gb(this.a,g);hb(this.a,h);this.b=nb(a.t.getContext('2d'),0,0,b,c);e=this.b.data;for(f=0;fg||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=cd(b[e]);i=cd(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction gl(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new zo}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=uo[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=uo[d]){a*=to[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=Eg(a*Bu);a-=Lg(e)*9.5367431640625E-7;f=Eg(a*4503599627370496);e=Hg(e,Fg(c+1023<<20));g&&(e=Hg(e,{l:0,m:512,h:0}));return Hg(Ig(e,32),f)}\nfunction gn(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&lj(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!lj(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&lj(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return pn(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction hn(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&lj(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return pn(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction nn(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Gi(),Gi(),Fi}if(l>3){n=0;k=0;for(d=new mq(a.d);d.am?Wu*b:m;for(e=0;e3;e++){g=Tc(Pq(a.d,e),16);if(Ro(g.b-b)>f){a.d.bb(e);--e}}}if(a.d.b.length>3){n=0;for(i=new mq(a.d);i.ab){throw new Eo(Yu)}}f=Jc(fd,Ku,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Ao('Invalid UTF8 sequence at '+(h-1)+', byte='+No(c,16))}d=d<<6|c&63}j+=Xn(d,f,j)}return cp(f,0,f.length)}\nfunction jn(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=Jc(jd,Mu,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(pn(l)){b=ln(a,l,e,i,false);if(b){f=l[0];a.b&&(d=mn(a))}}}j=nn(a);ij(j);return new wn(j)}\nfunction Vk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new Xk('r_{i-1} was zero')}k=m;j=a.a.i;f=Mk(l,l.a.length-1);g=Fk(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Hk(a.a,Mk(k,k.a.length-1),g);j=Kk(j,Dk(a.a,e,n));k=Kk(k,Pk(l,e,n))}r=Kk(Ok(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Co('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new Xk('sigmaTilde(0) was zero')}h=Fk(a.a,q);o=Nk(r,h);i=Nk(k,h);return Mc(Ic(je,1),nu,26,0,[o,i])}\nfunction Jn(e,f){function g(b){f.n=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.Q()}\nfunction h(a){var b=a.message;f.P(b)}\nvar i=f.o;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\n", -"function fn(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&lj(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!lj(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&lj(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&pn(i)}\nfunction Ll(b,c,d){Kl();var e,f,g,h,i,j,k,l,m,n,o,q;e=new vj(b);m=new sp;f=new Uq(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(vm(),um)):(k=ym(uj(e,4)));if(k!=(vm(),um)){if(k==om||k==pm){j=true}else if(k==tm){if(8*(e.c.length-e.b)-e.a<16){throw Ci(),Ci(),Bi}o=uj(e,8);l=uj(e,8)}else if(k==nm){q=Rl(e);i=bk(q);if(!i){throw Ci(),Ci(),Bi}}else{if(k==qm){n=uj(e,4);h=uj(e,wm(k,c));n==1&&Ol(e,m,h)}else{g=uj(e,wm(k,c));if(k==sm){Ql(e,m,g)}else if(k==lm){Ml(e,m,g,j)}else if(k==mm){Nl(e,m,g,i,f)}else if(k==rm){Pl(e,m,g)}else{throw Ci(),Ci(),Bi}}}}}while(k!=(vm(),um))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}return new ek(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction uh(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Au;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return xu;case 'touchstart':return Bu;case 'touchmove':return 2097152;case 'touchend':return uu;case 'touchcancel':return Cu;case 'gesturestart':return Du;case 'gesturechange':return Eu;case 'gestureend':return Fu;default:return -1;}}\nfunction xk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Qu}if(c&&(m>=3||l>=3)){return Pu}if(b&&c){return m==2&&k==2||f*10>=g?Pu:Ou}if(b){return Ou}if(c){return Pu}if(d){return Qu}return Qu}\nfunction St(g){var d=du(ev);var e,f=g;$wnd.JsQRScanner=fu(function(){var a,b=this,c=arguments;c.length==1&&f.sb(c[0])?(a=c[0]):c.length==2?(a=Vt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0]),c[1])):c.length==1&&(a=Ut(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0])));b.g=a;eu(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=fu(function(a){this.g.tb(a)});e.getScanInterval=fu(function(){return this.g.ub()});e.getSnapImageMaxSize=fu(function(){return this.g.vb()});e.isActive=fu(function(){return this.g.wb()});e.isScanning=fu(function(){return this.g.xb()});e.removeFrom=fu(function(a){this.g.yb(a)});e.resumeScanning=fu(function(){this.g.zb()});e.setScanInterval=fu(function(a){this.g.Ab(a)});e.setSnapImageMaxSize=fu(function(a){this.g.Bb(a)});e.stopScanning=fu(function(){this.g.Cb()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction lh(){var a,b,c;b=$doc.compatMode;a=Mc(Ic(mf,1),nu,2,4,[zu]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction fm(){fm=tg;em=Mc(Ic(jd,2),nu,7,0,[Mc(Ic(jd,1),Mu,0,7,[21522,0]),Mc(Ic(jd,1),Mu,0,7,[20773,1]),Mc(Ic(jd,1),Mu,0,7,[24188,2]),Mc(Ic(jd,1),Mu,0,7,[23371,3]),Mc(Ic(jd,1),Mu,0,7,[17913,4]),Mc(Ic(jd,1),Mu,0,7,[16590,5]),Mc(Ic(jd,1),Mu,0,7,[20375,6]),Mc(Ic(jd,1),Mu,0,7,[19104,7]),Mc(Ic(jd,1),Mu,0,7,[30660,8]),Mc(Ic(jd,1),Mu,0,7,[29427,9]),Mc(Ic(jd,1),Mu,0,7,[32170,10]),Mc(Ic(jd,1),Mu,0,7,[30877,11]),Mc(Ic(jd,1),Mu,0,7,[26159,12]),Mc(Ic(jd,1),Mu,0,7,[25368,13]),Mc(Ic(jd,1),Mu,0,7,[27713,14]),Mc(Ic(jd,1),Mu,0,7,[26998,15]),Mc(Ic(jd,1),Mu,0,7,[5769,16]),Mc(Ic(jd,1),Mu,0,7,[5054,17]),Mc(Ic(jd,1),Mu,0,7,[7399,18]),Mc(Ic(jd,1),Mu,0,7,[6608,19]),Mc(Ic(jd,1),Mu,0,7,[1890,20]),Mc(Ic(jd,1),Mu,0,7,[597,21]),Mc(Ic(jd,1),Mu,0,7,[3340,22]),Mc(Ic(jd,1),Mu,0,7,[2107,23]),Mc(Ic(jd,1),Mu,0,7,[13663,24]),Mc(Ic(jd,1),Mu,0,7,[12392,25]),Mc(Ic(jd,1),Mu,0,7,[16177,26]),Mc(Ic(jd,1),Mu,0,7,[14854,27]),Mc(Ic(jd,1),Mu,0,7,[9396,28]),Mc(Ic(jd,1),Mu,0,7,[8579,29]),Mc(Ic(jd,1),Mu,0,7,[11994,30]),Mc(Ic(jd,1),Mu,0,7,[11245,31])])}\nfunction Fh(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Ah:null);c&2&&(a.ondblclick=b&2?Ah:null);c&4&&(a.onmousedown=b&4?Ah:null);c&8&&(a.onmouseup=b&8?Ah:null);c&16&&(a.onmouseover=b&16?Ah:null);c&32&&(a.onmouseout=b&32?Ah:null);c&64&&(a.onmousemove=b&64?Ah:null);c&128&&(a.onkeydown=b&128?Ah:null);c&256&&(a.onkeypress=b&256?Ah:null);c&512&&(a.onkeyup=b&512?Ah:null);c&1024&&(a.onchange=b&1024?Ah:null);c&2048&&(a.onfocus=b&2048?Ah:null);c&4096&&(a.onblur=b&4096?Ah:null);c&8192&&(a.onlosecapture=b&8192?Ah:null);c&16384&&(a.onscroll=b&16384?Ah:null);c&32768&&(a.onload=b&32768?Bh:null);c&Au&&(a.onerror=b&Au?Ah:null);c&131072&&(a.onmousewheel=b&131072?Ah:null);c&262144&&(a.oncontextmenu=b&262144?Ah:null);c&xu&&(a.onpaste=b&xu?Ah:null);c&Bu&&(a.ontouchstart=b&Bu?Ah:null);c&2097152&&(a.ontouchmove=b&2097152?Ah:null);c&uu&&(a.ontouchend=b&uu?Ah:null);c&Cu&&(a.ontouchcancel=b&Cu?Ah:null);c&Du&&(a.ongesturestart=b&Du?Ah:null);c&Eu&&(a.ongesturechange=b&Eu?Ah:null);c&Fu&&(a.ongestureend=b&Fu?Ah:null)}\nfunction Zj(){Zj=tg;var a,b,c,d,e,f,g,h,i,j,k,l;Cj=new ak('Cp437',0,Mc(Ic(jd,1),Mu,0,7,[0,2]),Mc(Ic(mf,1),nu,2,4,[]));Fj=new ak('ISO8859_1',1,Mc(Ic(jd,1),Mu,0,7,[1,3]),Mc(Ic(mf,1),nu,2,4,[Ou]));Mj=new _j('ISO8859_2',2,4,Mc(Ic(mf,1),nu,2,4,['ISO-8859-2']));Nj=new _j('ISO8859_3',3,5,Mc(Ic(mf,1),nu,2,4,['ISO-8859-3']));Oj=new _j('ISO8859_4',4,6,Mc(Ic(mf,1),nu,2,4,['ISO-8859-4']));Pj=new _j('ISO8859_5',5,7,Mc(Ic(mf,1),nu,2,4,['ISO-8859-5']));Qj=new _j('ISO8859_6',6,8,Mc(Ic(mf,1),nu,2,4,['ISO-8859-6']));Rj=new _j('ISO8859_7',7,9,Mc(Ic(mf,1),nu,2,4,['ISO-8859-7']));Sj=new _j('ISO8859_8',8,10,Mc(Ic(mf,1),nu,2,4,['ISO-8859-8']));Tj=new _j('ISO8859_9',9,11,Mc(Ic(mf,1),nu,2,4,['ISO-8859-9']));Gj=new _j('ISO8859_10',10,12,Mc(Ic(mf,1),nu,2,4,['ISO-8859-10']));Hj=new _j('ISO8859_11',11,13,Mc(Ic(mf,1),nu,2,4,['ISO-8859-11']));Ij=new _j('ISO8859_13',12,15,Mc(Ic(mf,1),nu,2,4,['ISO-8859-13']));Jj=new _j('ISO8859_14',13,16,Mc(Ic(mf,1),nu,2,4,['ISO-8859-14']));Kj=new _j('ISO8859_15',14,17,Mc(Ic(mf,1),nu,2,4,['ISO-8859-15']));Lj=new _j('ISO8859_16',15,18,Mc(Ic(mf,1),nu,2,4,['ISO-8859-16']));Vj=new _j('SJIS',16,20,Mc(Ic(mf,1),nu,2,4,[Pu]));yj=new _j('Cp1250',17,21,Mc(Ic(mf,1),nu,2,4,['windows-1250']));zj=new _j('Cp1251',18,22,Mc(Ic(mf,1),nu,2,4,['windows-1251']));Aj=new _j('Cp1252',19,23,Mc(Ic(mf,1),nu,2,4,['windows-1252']));Bj=new _j('Cp1256',20,24,Mc(Ic(mf,1),nu,2,4,['windows-1256']));Xj=new _j('UnicodeBigUnmarked',21,25,Mc(Ic(mf,1),nu,2,4,['UTF-16BE','UnicodeBig']));Wj=new _j('UTF8',22,26,Mc(Ic(mf,1),nu,2,4,[Qu]));wj=new ak('ASCII',23,Mc(Ic(jd,1),Mu,0,7,[27,170]),Mc(Ic(mf,1),nu,2,4,['US-ASCII']));xj=new $j;Ej=new _j('GB18030',25,29,Mc(Ic(mf,1),nu,2,4,['GB2312','EUC_CN','GBK']));Dj=new _j('EUC_KR',26,30,Mc(Ic(mf,1),nu,2,4,['EUC-KR']));Yj=new $r;Uj=new $r;for(b=ck(),c=0,d=b.length;c1?(b.c=io(this,a-1)):(b.c=this);return b};_.S=function ho(){Zn(this);return this.b};_.T=function jo(){return $n(this)};_.U=function lo(){Zn(this);return this.j};_.V=function no(){return (this.f&4)!=0};_.W=function oo(){return (this.f&1)!=0};_.tS=function ro(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(Zn(this),this.n)};_.f=0;var Yn=1;var hf=co(iu,'Object',1),od=co(ju,'JavaScriptObject$',0),Ze=co(iu,'Class',67);sg(25,1,{30:1,25:1});_.tS=function S(){if(!this.t){return '(null handle)'}return (ih(),this.t).outerHTML};var Nd=co(ku,'UIObject',25);sg(20,25,lu);_.u=function X(){};_.v=function Y(){};_.w=function Z(){T(this)};_.A=function $(a){var b;switch(ih(),uh(a.type)){case 16:case 32:b=a.relatedTarget;if(!!b&&Ac(this.t,b)){return}}Dc(ih())};_.B=function ab(){U(this)};_.q=false;_.r=0;var Qd=co(ku,'Widget',20);sg(175,20,lu);_.w=function cb(){bb(this)};var Ld=co(ku,'FocusWidget',175);sg(120,175,lu,ib);var db;var md=co(mu,'Canvas',120);sg(177,1,{});var ld=co(mu,'Canvas/CanvasElementSupportDetector',177);sg(121,177,{},kb);var kd=co(mu,'Canvas/CanvasElementSupportDetectedMaybe',121);sg(8,1,ou);_.C=function sb(){dc(this,this.e);return this};_.D=function tb(){return this.e};_.tS=function ub(){var a,b;a=$n(this.cZ);b=this.D();return b!=null?a+': '+b:a};var nf=co(iu,'Throwable',8);sg(10,8,pu);var af=co(iu,'Exception',10);sg(15,10,pu);var jf=co(iu,'RuntimeException',15);sg(81,15,pu);var qd=co(qu,'JavaScriptExceptionBase',81);sg(37,81,{37:1,3:1,10:1,8:1},Db);_.D=function Gb(){Cb(this);return this.c};_.F=function Hb(){return ad(this.b)===ad(Ab)?null:this.b};var Ab;var nd=co(ju,'JavaScriptException',37);sg(155,1,{});var pd=co(ju,'Scheduler',155);var Jb=0,Kb=0,Lb=0,Mb=-1;sg(101,155,{},$b);var Wb;var rd=co(qu,'SchedulerImpl',101);var bc;sg(166,1,{});var vd=co(qu,'StackTraceCreator/Collector',166);sg(82,166,{},fc);_.G=function gc(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(cc(),d.name||(d.name=ec(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Gk(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var je=co(Ru,'GenericGFPoly',26);sg(123,1,{},Wk);var le=co(Ru,'ReedSolomonDecoder',123);sg(45,10,{45:1,3:1,10:1,8:1},Xk);var me=co(Ru,'ReedSolomonException',45);sg(118,1,{181:1},Zk);var ne=co('com.google.zxing.qrcode','QRCodeReader',118);sg(133,1,{},el);_.b=false;\n", -"var oe=co(Tu,'BitMatrixParser',133);sg(65,1,{65:1},fl);_.b=0;var pe=co(Tu,'DataBlock',65);sg(14,13,Uu);var hl,il,jl,kl,ll,ml,nl,ol;var ye=eo(Tu,'DataMask',14,sl);sg(142,14,Uu,tl);_.N=function ul(a,b){return (a+b&1)==0};var qe=eo(Tu,'DataMask/1',142,null);sg(143,14,Uu,vl);_.N=function wl(a,b){return (a&1)==0};var re=eo(Tu,'DataMask/2',143,null);sg(144,14,Uu,xl);_.N=function yl(a,b){return b%3==0};var se=eo(Tu,'DataMask/3',144,null);sg(145,14,Uu,zl);_.N=function Al(a,b){return (a+b)%3==0};var te=eo(Tu,'DataMask/4',145,null);sg(146,14,Uu,Bl);_.N=function Cl(a,b){return (~~(a/2)+~~(b/3)&1)==0};var ue=eo(Tu,'DataMask/5',146,null);sg(147,14,Uu,Dl);_.N=function El(a,b){var c;c=a*b;return (c&1)+c%3==0};var ve=eo(Tu,'DataMask/6',147,null);sg(148,14,Uu,Fl);_.N=function Gl(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var we=eo(Tu,'DataMask/7',148,null);sg(149,14,Uu,Hl);_.N=function Il(a,b){return ((a+b&1)+a*b%3&1)==0};var xe=eo(Tu,'DataMask/8',149,null);var Jl;sg(122,1,{},Wl);var ze=co(Tu,'Decoder',122);sg(39,13,{39:1,3:1,19:1,13:1},bm);var Xl,Yl,Zl,$l,_l;var Ae=eo(Tu,'ErrorCorrectionLevel',39,dm);sg(49,1,{49:1},gm);_.eQ=function jm(a){var b;if(!Xc(a,49)){return false}b=Tc(a,49);return this.b==b.b&&this.a==b.a};_.hC=function km(){return this.b.d<<3|this.a};_.a=0;var em;var Be=co(Tu,'FormatInformation',49);sg(23,13,{23:1,3:1,19:1,13:1},xm);var lm,mm,nm,om,pm,qm,rm,sm,tm,um;var Ce=eo(Tu,'Mode',23,zm);sg(132,1,{},Bm);_.a=false;var De=co(Tu,'QRCodeDecoderMetaData',132);sg(9,1,{9:1},Gm);_.tS=function Km(){return ''+this.d};_.c=0;_.d=0;var Cm,Dm;var Ge=co(Tu,'Version',9);sg(4,1,{4:1},Lm);_.a=0;_.b=0;var Ee=co(Tu,'Version/ECB',4);sg(6,1,{6:1},Mm);_.b=0;var Fe=co(Tu,'Version/ECBlocks',6);sg(50,29,{29:1,50:1},Om);_.a=0;var Ie=co(Vu,'AlignmentPattern',50);sg(151,1,{},Tm);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var He=co(Vu,'AlignmentPatternFinder',151);sg(131,1,{},$m);var Je=co(Vu,'Detector',131);sg(16,29,{29:1,16:1},dn,en);_.a=0;_.b=0;var Oe=co(Vu,'FinderPattern',16);sg(134,1,{},on);_.b=false;var Me=co(Vu,'FinderPatternFinder',134);sg(136,1,Ku,rn);_.O=function sn(a,b){return qn(this,Tc(a,16),Tc(b,16))};_.a=0;var Ke=co(Vu,'FinderPatternFinder/CenterComparator',136);sg(135,1,Ku,un);_.O=function vn(a,b){return tn(this,Tc(a,16),Tc(b,16))};_.a=0;var Le=co(Vu,'FinderPatternFinder/FurthestFromAverageComparator',135);sg(137,1,{},wn);var Ne=co(Vu,'FinderPatternInfo',137);sg(78,125,{},zn);_.c=0;_.d=0;var Pe=co(Xu,'CanvasLuminanceSource',78);sg(104,75,lu);_.w=function Mn(){Dn(this)};_.B=function Nn(){U(this);Kn(this)};_.P=function On(a){En(this,a)};_.Q=function Pn(){this.a&&this.q&&nh(this.i,this.f)};_.a=false;_.f=0;_.j=0;var Re=co(Xu,'ScannerWidget',104);sg(108,107,{},Qn);var Qe=co(Xu,'ScannerWidget/1',108);sg(153,10,pu);var Se=co('java.io','IOException',153);sg(51,153,{3:1,51:1,10:1,8:1},Rn);var Te=co('java.io','UnsupportedEncodingException',51);sg(60,1,{});_.tS=function Tn(){return this.a};var Ue=co(iu,'AbstractStringBuilder',60);sg(70,15,pu,Un);var Ve=co(iu,'ArithmeticException',70);sg(46,15,pu,Vn,Wn);var We=co(iu,'ArrayStoreException',46);sg(41,15,pu,so);var Ye=co(iu,'ClassCastException',41);sg(66,1,{3:1,66:1});var gf=co(iu,'Number',66);var to,uo;sg(12,15,{3:1,10:1,12:1,8:1},zo,Ao);var bf=co(iu,'IllegalArgumentException',12);sg(43,15,pu,Bo,Co);var cf=co(iu,'IllegalStateException',43);sg(38,15,pu,Do,Eo);var df=co(iu,'IndexOutOfBoundsException',38);sg(36,66,{3:1,19:1,36:1,66:1},Go);_.M=function Jo(a){return Fo(this,Tc(a,36))};_.eQ=function Ko(a){return Xc(a,36)&&Tc(a,36).a==this.a};_.hC=function Lo(){return this.a};_.tS=function Mo(){return ''+this.a};_.a=0;var ef=co(iu,'Integer',36);var Po;sg(71,15,pu,To,Uo);var ff=co(iu,'NullPointerException',71);var mf=co(iu,'String',2);var hp,ip=0,jp;sg(27,60,{179:1},sp,tp);var lf=co(iu,'StringBuilder',27);sg(72,15,pu,vp);var of=co(iu,'UnsupportedOperationException',72);sg(169,1,{});_.X=function zp(a){return wp(this,a)};_.tS=function Ap(){return yp(this)};var pf=co(Zu,'AbstractCollection',169);sg(168,1,{58:1});_.Z=function Ep(a){return !!Cp(this,a)};_.eQ=function Fp(a){var b,c,d;if(a===this){return true}if(!Xc(a,58)){return false}d=Tc(a,58);if(this.Y()!=d.Y()){return false}for(c=d.$().I();c.K();){b=Tc(c.L(),17);if(!Bp(this,b)){return false}}return true};_._=function Gp(a){return Hp(Cp(this,a))};_.hC=function Ip(){return fr(this.$())};_.Y=function Jp(){return this.$().Y()};_.tS=function Kp(){var a,b,c,d;d=new tp('{');a=false;for(c=this.$().I();c.K();){b=Tc(c.L(),17);a?(d.a+=', ',d):(a=true);rp(d,Dp(this,b.cb()));d.a+='=';rp(d,Dp(this,b.db()))}d.a+='}';return d.a};var Cf=co(Zu,'AbstractMap',168);sg(84,168,{58:1});_.Z=function Sp(a){return Lp(this,a)};_.$=function Tp(){return new Zp(this)};_._=function Up(a){return Op(this,a)};_.Y=function Vp(){return this.b};_.b=0;var sf=co(Zu,'AbstractHashMap',84);sg(170,169,$u);_.eQ=function Wp(a){var b;if(a===this){return true}if(!Xc(a,40)){return false}b=Tc(a,40);if(b.Y()!=this.Y()){return false}return xp(this,b)};_.hC=function Xp(){return fr(this)};var Df=co(Zu,'AbstractSet',170);sg(68,170,$u,Zp);_.X=function $p(a){return Yp(this,a)};_.I=function _p(){return new dq(this.a)};_.Y=function aq(){return this.a.b};var rf=co(Zu,'AbstractHashMap/EntrySet',68);sg(69,1,{},dq);_.K=function eq(){return bq(this)};_.L=function fq(){return cq(this)};var qf=co(Zu,'AbstractHashMap/EntrySetIterator',69);sg(171,169,{52:1});_.eQ=function iq(a){var b,c,d,e,f;if(a===this){return true}if(!Xc(a,52)){return false}f=Tc(a,52);if(this.Y()!=f.Y()){return false}e=f.I();for(c=new mq(this);c.a> 24; +} + +function round_int(x_0){ + return ~~Math.max(Math.min(x_0, $intern_0), -2147483648); +} + +function throwClassCastExceptionUnlessNull(o){ + if (o != null) { + throw new ClassCastException; + } + return null; +} + +var stringCastMap; +function $ensureNamesAreInitialized(this$static){ + if (this$static.typeName != null) { + return; + } + initializeNames(this$static); +} + +function $getName(this$static){ + $ensureNamesAreInitialized(this$static); + return this$static.typeName; +} + +function Class(){ + ++nextSequentialId; + this.typeName = null; + this.simpleName = null; + this.packageName = null; + this.compoundName = null; + this.canonicalName = null; + this.typeId = null; + this.arrayLiterals = null; +} + +function createClassObject(packageName, compoundClassName){ + var clazz; + clazz = new Class; + clazz.packageName = packageName; + clazz.compoundName = compoundClassName; + return clazz; +} + +function createForClass(packageName, compoundClassName, typeId){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + return clazz; +} + +function createForEnum(packageName, compoundClassName, typeId, enumConstantsFunc){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + clazz.modifiers = enumConstantsFunc?8:0; + clazz.enumConstantsFunc = enumConstantsFunc; + return clazz; +} + +function createForInterface(packageName, compoundClassName){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + clazz.modifiers = 2; + return clazz; +} + +function createForPrimitive(className, primitiveTypeId){ + var clazz; + clazz = createClassObject('', className); + clazz.typeId = primitiveTypeId; + clazz.modifiers = 1; + return clazz; +} + +function getClassLiteralForArray_0(leafClass, dimensions){ + var arrayLiterals = leafClass.arrayLiterals = leafClass.arrayLiterals || []; + return arrayLiterals[dimensions] || (arrayLiterals[dimensions] = leafClass.createClassLiteralForArray(dimensions)); +} + +function getPrototypeForClass(clazz){ + if (clazz.isPrimitive()) { + return null; + } + var typeId = clazz.typeId; + var prototype_0 = prototypesByTypeId_0[typeId]; + return prototype_0; +} + +function initializeNames(clazz){ + if (clazz.isArray_0()) { + var componentType = clazz.componentType; + componentType.isPrimitive()?(clazz.typeName = '[' + componentType.typeId):!componentType.isArray_0()?(clazz.typeName = '[L' + componentType.getName() + ';'):(clazz.typeName = '[' + componentType.getName()); + clazz.canonicalName = componentType.getCanonicalName() + '[]'; + clazz.simpleName = componentType.getSimpleName() + '[]'; + return; + } + var packageName = clazz.packageName; + var compoundName = clazz.compoundName; + compoundName = compoundName.split('/'); + clazz.typeName = join_0('.', [packageName, join_0('$', compoundName)]); + clazz.canonicalName = join_0('.', [packageName, join_0('.', compoundName)]); + clazz.simpleName = compoundName[compoundName.length - 1]; +} + +function join_0(separator, strings){ + var i = 0; + while (!strings[i] || strings[i] == '') { + i++; + } + var result = strings[i++]; + for (; i < strings.length; i++) { + if (!strings[i] || strings[i] == '') { + continue; + } + result += separator + strings[i]; + } + return result; +} + +function maybeSetClassLiteral(typeId, clazz){ + var proto; + if (!typeId) { + return; + } + clazz.typeId = typeId; + var prototype_0 = getPrototypeForClass(clazz); + if (!prototype_0) { + prototypesByTypeId_0[typeId] = [clazz]; + return; + } + prototype_0.___clazz$ = clazz; +} + +defineClass(67, 1, {}, Class); +_.createClassLiteralForArray = function createClassLiteralForArray(dimensions){ + var clazz; + clazz = new Class; + clazz.modifiers = 4; + dimensions > 1?(clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1)):(clazz.componentType = this); + return clazz; +} +; +_.getCanonicalName = function getCanonicalName(){ + $ensureNamesAreInitialized(this); + return this.canonicalName; +} +; +_.getName = function getName(){ + return $getName(this); +} +; +_.getSimpleName = function getSimpleName(){ + $ensureNamesAreInitialized(this); + return this.simpleName; +} +; +_.isArray_0 = function isArray(){ + return (this.modifiers & 4) != 0; +} +; +_.isPrimitive = function isPrimitive(){ + return (this.modifiers & 1) != 0; +} +; +_.toString$ = function toString_13(){ + return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + ($ensureNamesAreInitialized(this) , this.typeName); +} +; +_.modifiers = 0; +var nextSequentialId = 1; +var Ljava_lang_Object_2_classLit = createForClass('java.lang', 'Object', 1), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptObject$', 0), Ljava_lang_Class_2_classLit = createForClass('java.lang', 'Class', 67); +function $setElement(this$static, elem){ + this$static.element = elem; +} + +function $setPixelSize(this$static, width_0, height){ + width_0 >= 0 && (($clinit_DOM() , this$static.element).style['width'] = width_0 + 'px' , undefined); + height >= 0 && (($clinit_DOM() , this$static.element).style['height'] = height + 'px' , undefined); +} + +function $setStyleName(this$static){ + ($clinit_DOM() , this$static.element).className = 'qrPreviewVideo'; +} + +defineClass(25, 1, {30:1, 25:1}); +_.toString$ = function toString_1(){ + if (!this.element) { + return '(null handle)'; + } + return ($clinit_DOM() , this.element).outerHTML; +} +; +var Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui', 'UIObject', 25); +function $onAttach(this$static){ + var bitsToAdd; + if (this$static.attached) { + throw new IllegalStateException_0("Should only call onAttach when the widget is detached from the browser's document"); + } + this$static.attached = true; + $clinit_DOM(); + setEventListener(this$static.element, this$static); + bitsToAdd = this$static.eventsToSink; + this$static.eventsToSink = -1; + bitsToAdd > 0 && (this$static.eventsToSink == -1?$sinkEvents(this$static.element, bitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= bitsToAdd)); + this$static.doAttachChildren(); +} + +function $onDetach(this$static){ + if (!this$static.attached) { + throw new IllegalStateException_0("Should only call onDetach when the widget is attached to the browser's document"); + } + try { + this$static.doDetachChildren(); + } + finally { + $clinit_DOM(); + setEventListener(this$static.element, null); + this$static.attached = false; + } +} + +function $removeFromParent(this$static){ + if (!this$static.parent_0) { + $clinit_RootPanel(); + $contains_2(widgetsToDetach, this$static) && detachNow(this$static); + } + else if (this$static.parent_0) { + $remove(this$static.parent_0, this$static); + } + else if (this$static.parent_0) { + throw new IllegalStateException_0("This widget's parent does not implement HasWidgets"); + } +} + +function $setParent(this$static, parent_0){ + var oldParent; + oldParent = this$static.parent_0; + if (!parent_0) { + try { + !!oldParent && oldParent.attached && $onDetach(this$static); + } + finally { + this$static.parent_0 = null; + } + } + else { + if (oldParent) { + throw new IllegalStateException_0('Cannot set a new parent without first clearing the old parent'); + } + this$static.parent_0 = parent_0; + parent_0.attached && $onAttach_0(this$static); + } +} + +defineClass(20, 25, $intern_1); +_.doAttachChildren = function doAttachChildren(){ +} +; +_.doDetachChildren = function doDetachChildren(){ +} +; +_.onAttach = function onAttach(){ + $onAttach(this); +} +; +_.onBrowserEvent = function onBrowserEvent(event_0){ + var related; + switch ($clinit_DOM() , $eventGetTypeInt(event_0.type)) { + case 16: + case 32: + related = event_0.relatedTarget; + if (!!related && isOrHasChildImpl(this.element, related)) { + return; + } + + } + fireNativeEvent($clinit_DOM()); +} +; +_.onDetach = function onDetach(){ + $onDetach(this); +} +; +_.attached = false; +_.eventsToSink = 0; +var Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Widget', 20); +function $onAttach_0(this$static){ + var tabIndex; + $onAttach(this$static); + tabIndex = $getTabIndex(($clinit_DOM() , this$static.element)); + -1 == tabIndex && (this$static.element.tabIndex = 0 , undefined); +} + +defineClass(175, 20, $intern_1); +_.onAttach = function onAttach_0(){ + $onAttach_0(this); +} +; +var Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FocusWidget', 175); +function $getCanvasElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function $getContext2d(this$static){ + return ($clinit_DOM() , this$static.element).getContext('2d'); +} + +function $setCoordinateSpaceHeight(this$static, height){ + $setHeight(($clinit_DOM() , this$static.element), height); +} + +function $setCoordinateSpaceWidth(this$static, width_0){ + $setWidth(($clinit_DOM() , this$static.element), width_0); +} + +function Canvas_0(element){ + $setElement(this, ($clinit_DOM() , element)); +} + +function createIfSupported(){ + var element; + !detector && (detector = new Canvas$CanvasElementSupportDetectedMaybe); + element = $doc.createElement('canvas'); + if (!element.getContext) { + return null; + } + return new Canvas_0(element); +} + +defineClass(120, 175, $intern_1, Canvas_0); +var detector; +var Lcom_google_gwt_canvas_client_Canvas_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas', 120); +defineClass(177, 1, {}); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetector_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetector', 177); +function Canvas$CanvasElementSupportDetectedMaybe(){ +} + +defineClass(121, 177, {}, Canvas$CanvasElementSupportDetectedMaybe); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetectedMaybe_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetectedMaybe', 121); +function $set(this$static, i, value_0){ + this$static[i] = value_0; +} + +function $drawImage(this$static, image, dx, dy, dw, dh){ + this$static.drawImage(image, dx, dy, dw, dh); +} + +function $getImageData(this$static, sx, sy, sw, sh){ + return this$static.getImageData(sx, sy, sw, sh); +} + +function $putImageData(this$static, imagedata, x_0, y_0){ + return this$static.putImageData(imagedata, x_0, y_0); +} + +function $getColorAt(this$static, x_0, y_0, offset){ + return this$static.data[4 * (x_0 + y_0 * this$static.width) + offset] || 0; +} + +function $setStackTrace(stackTrace){ + var copy, i, length_0; + length_0 = stackTrace.length; + copy = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 182, length_0, 0, 1); + for (i = 0; i < length_0; ++i) { + copy[i] = throwClassCastExceptionUnlessNull(checkNotNull(stackTrace[i])); + } +} + +function Throwable(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(8, 1, $intern_3); +_.fillInStackTrace = function fillInStackTrace(){ + captureStackTrace(this, this.detailMessage); + return this; +} +; +_.getMessage = function getMessage(){ + return this.detailMessage; +} +; +_.toString$ = function toString_2(){ + var className, msg; + className = $getName(this.___clazz$); + msg = this.getMessage(); + return msg != null?className + ': ' + msg:className; +} +; +var Ljava_lang_Throwable_2_classLit = createForClass('java.lang', 'Throwable', 8); +function Exception(){ + this.fillInStackTrace(); +} + +function Exception_0(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(10, 8, $intern_4); +var Ljava_lang_Exception_2_classLit = createForClass('java.lang', 'Exception', 10); +function RuntimeException(){ + Exception.call(this); +} + +function RuntimeException_0(message){ + Exception_0.call(this, message); +} + +function RuntimeException_1(message){ + Throwable.call(this, message); +} + +defineClass(15, 10, $intern_4); +var Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang', 'RuntimeException', 15); +defineClass(81, 15, $intern_4); +var Lcom_google_gwt_core_client_impl_JavaScriptExceptionBase_2_classLit = createForClass('com.google.gwt.core.client.impl', 'JavaScriptExceptionBase', 81); +function $clinit_JavaScriptException(){ + $clinit_JavaScriptException = emptyMethod; + NOT_SET = new Object_0; +} + +function $ensureInit(this$static){ + var exception; + if (this$static.message_0 == null) { + exception = maskUndefined(this$static.e) === maskUndefined(NOT_SET)?null:this$static.e; + this$static.name_0 = exception == null?'null':instanceOfJso(exception)?getExceptionName0(dynamicCastJso(exception)):isJavaString(exception)?'String':$getName(getClass__Ljava_lang_Class___devirtual$(exception)); + this$static.description = this$static.description + ': ' + (instanceOfJso(exception)?getExceptionDescription0(dynamicCastJso(exception)):exception + ''); + this$static.message_0 = '(' + this$static.name_0 + ') ' + this$static.description; + } +} + +function JavaScriptException(e){ + $clinit_JavaScriptException(); + this.detailMessage = null; + this.description = ''; + this.e = e; + this.description = ''; +} + +function getExceptionDescription0(e){ + return e == null?null:e.message; +} + +function getExceptionName0(e){ + return e == null?null:e.name; +} + +defineClass(37, 81, {37:1, 3:1, 10:1, 8:1}, JavaScriptException); +_.getMessage = function getMessage_0(){ + $ensureInit(this); + return this.message_0; +} +; +_.getThrown = function getThrown(){ + return maskUndefined(this.e) === maskUndefined(NOT_SET)?null:this.e; +} +; +var NOT_SET; +var Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptException', 37); +function now_1(){ + if (Date.now) { + return Date.now(); + } + return (new Date).getTime(); +} + +defineClass(155, 1, {}); +var Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client', 'Scheduler', 155); +function apply_0(jsFunction, thisObj, args){ + return jsFunction.apply(thisObj, args); + var __0; +} + +function enter(){ + var now_0; + if (entryDepth != 0) { + now_0 = now_1(); + if (now_0 - watchdogEntryDepthLastScheduled > 2000) { + watchdogEntryDepthLastScheduled = now_0; + watchdogEntryDepthTimerId = $wnd.setTimeout(watchdogEntryDepthRun, 10); + } + } + if (entryDepth++ == 0) { + $flushEntryCommands(($clinit_SchedulerImpl() , INSTANCE)); + return true; + } + return false; +} + +function entry_0(jsFunction){ + return function(){ + return entry0(jsFunction, this, arguments); + var __0; + } + ; +} + +function entry0(jsFunction, thisObj, args){ + var initialEntry; + initialEntry = enter(); + try { + return apply_0(jsFunction, thisObj, args); + } + finally { + exit(initialEntry); + } +} + +function exit(initialEntry){ + initialEntry && $flushFinallyCommands(($clinit_SchedulerImpl() , INSTANCE)); + --entryDepth; + if (initialEntry) { + if (watchdogEntryDepthTimerId != -1) { + watchdogEntryDepthCancel(watchdogEntryDepthTimerId); + watchdogEntryDepthTimerId = -1; + } + } +} + +function getHashCode(o){ + return o.$H || (o.$H = ++sNextHashId); +} + +function reportToBrowser(e){ + $wnd.setTimeout(function(){ + throw e; + } + , 0); +} + +function watchdogEntryDepthCancel(timerId){ + $wnd.clearTimeout(timerId); +} + +function watchdogEntryDepthRun(){ + entryDepth != 0 && (entryDepth = 0); + watchdogEntryDepthTimerId = -1; +} + +var entryDepth = 0, sNextHashId = 0, watchdogEntryDepthLastScheduled = 0, watchdogEntryDepthTimerId = -1; +function $clinit_SchedulerImpl(){ + $clinit_SchedulerImpl = emptyMethod; + INSTANCE = new SchedulerImpl; +} + +function $flushEntryCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.entryCommands) { + rescheduled = null; + do { + oldQueue = this$static.entryCommands; + this$static.entryCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.entryCommands); + this$static.entryCommands = rescheduled; + } +} + +function $flushFinallyCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.finallyCommands) { + rescheduled = null; + do { + oldQueue = this$static.finallyCommands; + this$static.finallyCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.finallyCommands); + this$static.finallyCommands = rescheduled; + } +} + +function SchedulerImpl(){ +} + +function push_0(queue, task){ + !queue && (queue = []); + queue[queue.length] = task; + return queue; +} + +function runScheduledTasks(tasks, rescheduled){ + var e, i, j, t; + for (i = 0 , j = tasks.length; i < j; i++) { + t = tasks[i]; + try { + t[1]?t[0].nullMethod() && (rescheduled = push_0(rescheduled, t)):t[0].nullMethod(); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + reportToBrowser(instanceOf(e, 37)?dynamicCast(e, 37).getThrown():e); + } + else + throw unwrap($e0); + } + } + return rescheduled; +} + +defineClass(101, 155, {}, SchedulerImpl); +var INSTANCE; +var Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl', 'SchedulerImpl', 101); +function $clinit_StackTraceCreator(){ + $clinit_StackTraceCreator = emptyMethod; + var c, enforceLegacy; + enforceLegacy = !(!!Error.stackTraceLimit || 'stack' in new Error); + c = new StackTraceCreator$CollectorModernNoSourceMap; + collector = enforceLegacy?new StackTraceCreator$CollectorLegacy:c; +} + +function captureStackTrace(throwable, reference){ + $clinit_StackTraceCreator(); + collector.collect(throwable, reference); +} + +function extractFunctionName(fnName){ + var fnRE = /function(?:\s+([\w$]+))?\s*\(/; + var match_0 = fnRE.exec(fnName); + return match_0 && match_0[1] || 'anonymous'; +} + +var collector; +defineClass(166, 1, {}); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/Collector', 166); +function StackTraceCreator$CollectorLegacy(){ +} + +defineClass(82, 166, {}, StackTraceCreator$CollectorLegacy); +_.collect = function collect(t, thrownIgnored){ + var seen = {}, name_1; + t.fnStack = []; + var callee = arguments.callee.caller; + while (callee) { + var name_0 = ($clinit_StackTraceCreator() , callee.name || (callee.name = extractFunctionName(callee.toString()))); + t.fnStack.push(name_0); + var keyName = ':' + name_0; + var withThisName = seen[keyName]; + if (withThisName) { + var i, j; + for (i = 0 , j = withThisName.length; i < j; i++) { + if (withThisName[i] === callee) { + return; + } + } + } + (withThisName || (seen[keyName] = [])).push(callee); + callee = callee.caller; + } +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorLegacy_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorLegacy', 82); +function $clinit_StackTraceCreator$CollectorModern(){ + $clinit_StackTraceCreator$CollectorModern = emptyMethod; + Error.stackTraceLimit = 64; +} + +defineClass(167, 166, {}); +_.collect = function collect_0(t, jsThrown){ + function fixIE(e){ + if (!('stack' in e)) { + try { + throw e; + } + catch (ignored) { + } + } + return e; + } + + var backingJsError; + typeof jsThrown == 'string'?(backingJsError = fixIE(new Error(jsThrown))):jsThrown instanceof Object && 'stack' in jsThrown?(backingJsError = jsThrown):(backingJsError = fixIE(new Error)); + t.__gwt$backingJsError = backingJsError; +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModern_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModern', 167); +function StackTraceCreator$CollectorModernNoSourceMap(){ + $clinit_StackTraceCreator$CollectorModern(); +} + +defineClass(83, 167, {}, StackTraceCreator$CollectorModernNoSourceMap); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModernNoSourceMap_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModernNoSourceMap', 83); +function checkArrayType(expression, errorMessage){ + if (!expression) { + throw new ArrayStoreException_0('' + errorMessage); + } +} + +function checkCriticalArgument(expression){ + if (!expression) { + throw new IllegalArgumentException; + } +} + +function checkCriticalArgument_0(expression, errorMessage){ + if (!expression) { + throw new IllegalArgumentException_0('' + errorMessage); + } +} + +function checkCriticalArgument_1(expression, errorMessageArgs){ + if (!expression) { + throw new IllegalArgumentException_0(format('%s > %s', errorMessageArgs)); + } +} + +function checkCriticalElement(expression){ + if (!expression) { + throw new NoSuchElementException; + } +} + +function checkCriticalPositionIndexes(end, size_0){ + if (end > size_0) { + throw new IndexOutOfBoundsException_0('toIndex: ' + end + ' > size ' + size_0); + } + if (3 > end) { + throw new IllegalArgumentException_0('fromIndex: 3 > toIndex: ' + end); + } +} + +function checkElementIndex(index_0, size_0){ + if (index_0 < 0 || index_0 >= size_0) { + throw new IndexOutOfBoundsException_0('Index: ' + index_0 + ', Size: ' + size_0); + } +} + +function checkNotNull(reference){ + if (reference == null) { + throw new NullPointerException; + } + return reference; +} + +function checkNotNull_0(reference, errorMessage){ + if (reference == null) { + throw new NullPointerException_0('' + errorMessage); + } +} + +function checkPositionIndex(size_0){ + if (0 > size_0) { + throw new IndexOutOfBoundsException_0('Index: 0, Size: ' + size_0); + } +} + +function checkState(expression){ + if (!expression) { + throw new IllegalStateException; + } +} + +function format(template, args){ + var builder, i, placeholderStart, templateStart; + template = '' + template; + builder = new StringBuilder(template.length + 16 * args.length); + templateStart = 0; + i = 0; + while (i < args.length) { + placeholderStart = template.indexOf('%s', templateStart); + if (placeholderStart == -1) { + break; + } + $append_2(builder, template.substr(templateStart, placeholderStart - templateStart)); + $append_1(builder, args[i++]); + templateStart = placeholderStart + 2; + } + $append_2(builder, __substr(template, templateStart, template.length - templateStart)); + if (i < args.length) { + builder.string += ' ['; + $append_1(builder, args[i++]); + while (i < args.length) { + builder.string += ', '; + $append_1(builder, args[i++]); + } + builder.string += ']'; + } + return builder.string; +} + +function $appendChild(this$static, newChild){ + return this$static.appendChild(newChild); +} + +function $removeChild(this$static, oldChild){ + return this$static.removeChild(oldChild); +} + +function $setHeight(this$static, height){ + this$static.height = height; +} + +function $setWidth(this$static, width_0){ + this$static.width = width_0; +} + +function $eventGetCurrentTarget(event_0){ + return event_0.currentTarget || $wnd; +} + +function $getTabIndex(elem){ + return elem.tabIndex < $intern_5?elem.tabIndex:-(elem.tabIndex % $intern_5) - 1; +} + +function isOrHasChildImpl(parent_0, child){ + if (parent_0.nodeType != 1 && parent_0.nodeType != 9) { + return parent_0 == child; + } + if (child.nodeType != 1) { + child = child.parentNode; + if (!child) { + return false; + } + } + if (parent_0.nodeType == 9) { + return parent_0 === child || parent_0.body && parent_0.body.contains(child); + } + else { + return parent_0 === child || parent_0.contains(child); + } +} + +function fireNativeEvent(){ +} + +function makeCause(causes){ + var iterator; + iterator = $iterator(new AbstractMap$1(causes.map_0)); + if (!$hasNext(iterator.val$outerIter2)) { + return null; + } + return dynamicCast($next_1(iterator), 8); +} + +function makeMessage(causes){ + var b, count, first, t, t$iterator; + count = causes.map_0.size_0; + if (count == 0) { + return null; + } + b = new StringBuilder_0(count == 1?'Exception caught: ':count + ' exceptions caught: '); + first = true; + for (t$iterator = $iterator(new AbstractMap$1(causes.map_0)); $hasNext(t$iterator.val$outerIter2);) { + t = dynamicCast($next_1(t$iterator), 8); + first?(first = false):(b.string += '; ' , b); + $append_2(b, t.getMessage()); + } + return b.string; +} + +defineClass(109, 15, $intern_4); +var Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit = createForClass('com.google.web.bindery.event.shared', 'UmbrellaException', 109); +defineClass(110, 109, $intern_4); +var Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared', 'UmbrellaException', 110); +function cloneSubrange(array, toIndex){ + var result; + result = array.slice(0, toIndex); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function createFrom(array, length_0){ + var result; + result = initializeArrayElementsWithDefaults(0, length_0); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function getClassLiteralForArray(clazz, dimensions){ + return getClassLiteralForArray_0(clazz, dimensions); +} + +function initDim(leafClassLiteral, castableTypeMap, elementTypeId, length_0, elementTypeCategory, dimensions){ + var result; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, dimensions), castableTypeMap, elementTypeId, elementTypeCategory, result); + return result; +} + +function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, count){ + return initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, 0, count); +} + +function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count){ + var elementTypeCategory, i, isLastDim, length_0, result; + length_0 = dimExprs[index_0]; + isLastDim = index_0 == count - 1; + elementTypeCategory = isLastDim?leafElementTypeCategory:0; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, count - index_0), castableTypeMapExprs[index_0], elementTypeIds[index_0], elementTypeCategory, result); + if (!isLastDim) { + ++index_0; + for (i = 0; i < length_0; ++i) { + result[i] = initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count); + } + } + return result; +} + +function initValues(arrayClass, castableTypeMap, elementTypeId, elementTypeCategory, array){ + array.___clazz$ = arrayClass; + array.castableTypeMap$ = castableTypeMap; + array.typeMarker$ = typeMarkerFn; + array.__elementTypeId$ = elementTypeId; + array.__elementTypeCategory$ = elementTypeCategory; + return array; +} + +function initializeArrayElementsWithDefaults(elementTypeCategory, length_0){ + var array = new Array(length_0); + var initValue; + switch (elementTypeCategory) { + case 6: + initValue = {l:0, m:0, h:0}; + break; + case 7: + initValue = 0; + break; + case 8: + initValue = false; + break; + default:return array; + } + for (var i = 0; i < length_0; ++i) { + array[i] = initValue; + } + return array; +} + +function nativeArraySplice(src_0, srcOfs, dest, destOfs, len, overwrite){ + if (src_0 === dest) { + src_0 = src_0.slice(srcOfs, srcOfs + len); + srcOfs = 0; + } + for (var batchStart = srcOfs, end = srcOfs + len; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + len = batchEnd - batchStart; + Array.prototype.splice.apply(dest, [destOfs, overwrite?len:0].concat(src_0.slice(batchStart, batchEnd))); + batchStart = batchEnd; + destOfs += len; + } +} + +function setCheck(array, index_0, value_0){ + var elementTypeId; + if (value_0 != null) { + switch (array.__elementTypeCategory$) { + case 4: + if (!isJavaString(value_0)) { + throw new ArrayStoreException; + } + + break; + case 0: + { + elementTypeId = array.__elementTypeId$; + if (!canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + case 2: + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0))) { + throw new ArrayStoreException; + } + + break; + case 1: + { + elementTypeId = array.__elementTypeId$; + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0)) && !canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + } + } + return array[index_0] = value_0; +} + +function cacheJavaScriptException(e, jse){ + if (e && typeof e == 'object') { + try { + e.__gwt$exception = jse; + } + catch (ignored) { + } + } +} + +function unwrap(e){ + var jse; + if (instanceOf(e, 37)) { + jse = dynamicCast(e, 37); + if (maskUndefined(jse.e) !== maskUndefined(($clinit_JavaScriptException() , NOT_SET))) { + return maskUndefined(jse.e) === maskUndefined(NOT_SET)?null:jse.e; + } + } + return e; +} + +function wrap(e){ + var jse; + if (instanceOf(e, 8)) { + return e; + } + jse = e && e.__gwt$exception; + if (!jse) { + jse = new JavaScriptException(e); + captureStackTrace(jse, e); + cacheJavaScriptException(e, jse); + } + return jse; +} + +function create(value_0){ + var a0, a1, a2; + a0 = value_0 & $intern_6; + a1 = value_0 >> 22 & $intern_6; + a2 = value_0 < 0?$intern_7:0; + return create0(a0, a1, a2); +} + +function create0(l, m, h){ + return {l:l, m:m, h:h}; +} + +function toDoubleHelper(a){ + return a.l + a.m * $intern_8 + a.h * $intern_9; +} + +function and(a, b){ + return {l:a.l & b.l, m:a.m & b.m, h:a.h & b.h}; +} + +function eq(a, b){ + return a.l == b.l && a.m == b.m && a.h == b.h; +} + +function fromDouble(value_0){ + var a0, a1, a2, negative, result, neg0, neg1, neg2; + if (isNaN_0(value_0)) { + return $clinit_LongLib$Const() , ZERO; + } + if (value_0 < $intern_10) { + return $clinit_LongLib$Const() , MIN_VALUE; + } + if (value_0 >= 9223372036854775807) { + return $clinit_LongLib$Const() , MAX_VALUE; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + a2 = 0; + if (value_0 >= $intern_9) { + a2 = round_int(value_0 / $intern_9); + value_0 -= a2 * $intern_9; + } + a1 = 0; + if (value_0 >= $intern_8) { + a1 = round_int(value_0 / $intern_8); + value_0 -= a1 * $intern_8; + } + a0 = round_int(value_0); + result = create0(a0, a1, a2); + negative && (neg0 = ~result.l + 1 & $intern_6 , neg1 = ~result.m + (neg0 == 0?1:0) & $intern_6 , neg2 = ~result.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_7 , result.l = neg0 , result.m = neg1 , result.h = neg2 , undefined); + return result; +} + +function fromInt(value_0){ + var rebase, result; + if (value_0 > -129 && value_0 < 128) { + rebase = value_0 + 128; + boxedValues == null && (boxedValues = initDim(Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, $intern_2, 184, 256, 0, 1)); + result = boxedValues[rebase]; + !result && (result = boxedValues[rebase] = create(value_0)); + return result; + } + return create(value_0); +} + +function gte(a, b){ + var signa, signb; + signa = a.h >> 19; + signb = b.h >> 19; + return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l); +} + +function or(a, b){ + return {l:a.l | b.l, m:a.m | b.m, h:a.h | b.h}; +} + +function shl(a, n){ + var res0, res1, res2; + n &= 63; + if (n < 22) { + res0 = a.l << n; + res1 = a.m << n | a.l >> 22 - n; + res2 = a.h << n | a.m >> 22 - n; + } + else if (n < 44) { + res0 = 0; + res1 = a.l << n - 22; + res2 = a.m << n - 22 | a.l >> 44 - n; + } + else { + res0 = 0; + res1 = 0; + res2 = a.l << n - 44; + } + return {l:res0 & $intern_6, m:res1 & $intern_6, h:res2 & $intern_7}; +} + +function shr(a, n){ + var a2, negative, res0, res1, res2; + n &= 63; + a2 = a.h; + negative = (a2 & $intern_11) != 0; + negative && (a2 |= -1048576); + if (n < 22) { + res2 = a2 >> n; + res1 = a.m >> n | a2 << 22 - n; + res0 = a.l >> n | a.m << 22 - n; + } + else if (n < 44) { + res2 = negative?$intern_7:0; + res1 = a2 >> n - 22; + res0 = a.m >> n - 22 | a2 << 44 - n; + } + else { + res2 = negative?$intern_7:0; + res1 = negative?$intern_6:0; + res0 = a2 >> n - 44; + } + return {l:res0 & $intern_6, m:res1 & $intern_6, h:res2 & $intern_7}; +} + +function sub_0(a, b){ + var sum0, sum1, sum2; + sum0 = a.l - b.l; + sum1 = a.m - b.m + (sum0 >> 22); + sum2 = a.h - b.h + (sum1 >> 22); + return {l:sum0 & $intern_6, m:sum1 & $intern_6, h:sum2 & $intern_7}; +} + +function toDouble(a){ + var neg0, neg1, neg2; + if (eq(a, ($clinit_LongLib$Const() , MIN_VALUE))) { + return $intern_10; + } + if (!gte(a, ZERO)) { + return -toDoubleHelper((neg0 = ~a.l + 1 & $intern_6 , neg1 = ~a.m + (neg0 == 0?1:0) & $intern_6 , neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_7 , create0(neg0, neg1, neg2))); + } + return a.l + a.m * $intern_8 + a.h * $intern_9; +} + +function toInt(a){ + return a.l | a.m << 22; +} + +var boxedValues; +function $clinit_LongLib$Const(){ + $clinit_LongLib$Const = emptyMethod; + MAX_VALUE = create0($intern_6, $intern_6, 524287); + MIN_VALUE = create0(0, 0, $intern_11); + fromInt(1); + fromInt(2); + ZERO = fromInt(0); +} + +var MAX_VALUE, MIN_VALUE, ZERO; +function hasTypeMarker(o){ + return o.typeMarker$ === typeMarkerFn; +} + +function init(){ + $wnd.setTimeout($entry(assertCompileTimeUserAgent)); + $onModuleLoad(); + $clinit_ExporterUtil(); + new AsyncQRCallback_ExporterImpl; + new JsQRScanner_ExporterImpl; + $wnd.JsQRScannerReady && $wnd.JsQRScannerReady(); +} + +function $getMediaElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function $setAutoplay(this$static){ + ($clinit_DOM() , this$static.element).setAttribute('autoplay', ''); +} + +function $setSrc(this$static){ + ($clinit_DOM() , this$static.element).src = ''; +} + +defineClass(115, 175, $intern_1); +var Lcom_google_gwt_media_client_MediaBase_2_classLit = createForClass('com.google.gwt.media.client', 'MediaBase', 115); +function $getVideoElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function Video(element){ + $setElement(this, ($clinit_DOM() , element)); +} + +function createIfSupported_0(){ + var element; + !detector_0 && (detector_0 = new Video$VideoElementSupportDetectedMaybe); + element = $doc.createElement('video'); + if (!element.canPlayType) { + return null; + } + return new Video(element); +} + +defineClass(116, 115, $intern_1, Video); +var detector_0; +var Lcom_google_gwt_media_client_Video_2_classLit = createForClass('com.google.gwt.media.client', 'Video', 116); +defineClass(176, 1, {}); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetector_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetector', 176); +function Video$VideoElementSupportDetectedMaybe(){ +} + +defineClass(117, 176, {}, Video$VideoElementSupportDetectedMaybe); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetectedMaybe_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetectedMaybe', 117); +function $clinit_DOM(){ + $clinit_DOM = emptyMethod; + $clinit_DOMImplStandard(); +} + +function dispatchEvent_0(evt, elem, listener){ + $clinit_DOM(); + var prevCurrentEvent; + prevCurrentEvent = currentEvent; + currentEvent = evt; + elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null); + listener.onBrowserEvent(evt); + currentEvent = prevCurrentEvent; +} + +function resolve(maybePotential){ + $clinit_DOM(); + return maybePotential.__gwt_resolve?maybePotential.__gwt_resolve():maybePotential; +} + +var currentEvent = null, sCaptureElem; +function $onModuleLoad(){ + var allowedModes, currentMode, i; + currentMode = $doc.compatMode; + allowedModes = initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['CSS1Compat']); + for (i = 0; i < allowedModes.length; i++) { + if ($equals(allowedModes[i], currentMode)) { + return; + } + } + allowedModes.length == 1 && $equals('CSS1Compat', allowedModes[0]) && $equals('BackCompat', currentMode)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').
Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\"document.compatMode\" value=\"" + currentMode + '"/>':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' " + currentMode + "').
Modify your application's host HTML page doctype, or update your custom " + "'document.compatMode' configuration property settings."; +} + +function $cancel(this$static){ + if (!this$static.timerId) { + return; + } + ++this$static.cancelCounter; + this$static.isRepeating?clearInterval_0(this$static.timerId.value_0):clearTimeout_0(this$static.timerId.value_0); + this$static.timerId = null; +} + +function $schedule(this$static, delayMillis){ + if (delayMillis < 0) { + throw new IllegalArgumentException_0('must be non-negative'); + } + !!this$static.timerId && $cancel(this$static); + this$static.isRepeating = false; + this$static.timerId = valueOf(setTimeout_0(createCallback(this$static, this$static.cancelCounter), delayMillis)); +} + +function clearInterval_0(timerId){ + $wnd.clearInterval(timerId); +} + +function clearTimeout_0(timerId){ + $wnd.clearTimeout(timerId); +} + +function createCallback(timer, cancelCounter){ + return $entry(function(){ + timer.fire(cancelCounter); + } + ); +} + +function setTimeout_0(func, time){ + return $wnd.setTimeout(func, time); +} + +defineClass(107, 1, {}); +_.fire = function fire(scheduleCancelCounter){ + if (scheduleCancelCounter != this.cancelCounter) { + return; + } + this.isRepeating || (this.timerId = null); + $scan(this.this$01); +} +; +_.cancelCounter = 0; +_.isRepeating = false; +_.timerId = null; +var Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client', 'Timer', 107); +function $eventGetTypeInt(eventType){ + switch (eventType) { + case 'blur': + return 4096; + case 'change': + return 1024; + case 'click': + return 1; + case 'dblclick': + return 2; + case 'focus': + return 2048; + case 'keydown': + return 128; + case 'keypress': + return 256; + case 'keyup': + return 512; + case 'load': + return 32768; + case 'losecapture': + return 8192; + case 'mousedown': + return 4; + case 'mousemove': + return 64; + case 'mouseout': + return 32; + case 'mouseover': + return 16; + case 'mouseup': + return 8; + case 'scroll': + return 16384; + case 'error': + return $intern_12; + case 'DOMMouseScroll': + case 'mousewheel': + return 131072; + case 'contextmenu': + return 262144; + case 'paste': + return $intern_11; + case 'touchstart': + return $intern_13; + case 'touchmove': + return 2097152; + case 'touchend': + return $intern_8; + case 'touchcancel': + return $intern_14; + case 'gesturestart': + return $intern_15; + case 'gesturechange': + return $intern_16; + case 'gestureend': + return $intern_17; + default:return -1; + } +} + +function $maybeInitializeEventSystem(){ + if (!eventSystemIsInitialized) { + $initEventSystem(); + eventSystemIsInitialized = true; + } +} + +function getEventListener(elem){ + var maybeListener = elem.__listener; + return !instanceOfJso(maybeListener) && instanceOf(maybeListener, 31)?maybeListener:null; +} + +function setEventListener(elem, listener){ + elem.__listener = listener; +} + +var eventSystemIsInitialized = false; +function $clinit_DOMImplStandard(){ + $clinit_DOMImplStandard = emptyMethod; + bitlessEventDispatchers = {_default_:dispatchEvent_2, dragenter:dispatchDragEvent, dragover:dispatchDragEvent}; + captureEventDispatchers = {click:dispatchCapturedMouseEvent, dblclick:dispatchCapturedMouseEvent, mousedown:dispatchCapturedMouseEvent, mouseup:dispatchCapturedMouseEvent, mousemove:dispatchCapturedMouseEvent, mouseover:dispatchCapturedMouseEvent, mouseout:dispatchCapturedMouseEvent, mousewheel:dispatchCapturedMouseEvent, keydown:dispatchCapturedEvent, keyup:dispatchCapturedEvent, keypress:dispatchCapturedEvent, touchstart:dispatchCapturedMouseEvent, touchend:dispatchCapturedMouseEvent, touchmove:dispatchCapturedMouseEvent, touchcancel:dispatchCapturedMouseEvent, gesturestart:dispatchCapturedMouseEvent, gestureend:dispatchCapturedMouseEvent, gesturechange:dispatchCapturedMouseEvent}; +} + +function $initEventSystem(){ + dispatchEvent_1 = $entry(dispatchEvent_2); + dispatchUnhandledEvent = $entry(dispatchUnhandledEvent_0); + var foreach = foreach_0; + var bitlessEvents = bitlessEventDispatchers; + foreach(bitlessEvents, function(e, fn){ + bitlessEvents[e] = $entry(fn); + } + ); + var captureEvents_0 = captureEventDispatchers; + foreach(captureEvents_0, function(e, fn){ + captureEvents_0[e] = $entry(fn); + } + ); + foreach(captureEvents_0, function(e, fn){ + $wnd.addEventListener(e, fn, true); + } + ); +} + +function $sinkEvents(elem, bits){ + $maybeInitializeEventSystem(); + $sinkEventsImpl(elem, bits); +} + +function $sinkEventsImpl(elem, bits){ + var chMask = (elem.__eventBits || 0) ^ bits; + elem.__eventBits = bits; + if (!chMask) + return; + chMask & 1 && (elem.onclick = bits & 1?dispatchEvent_1:null); + chMask & 2 && (elem.ondblclick = bits & 2?dispatchEvent_1:null); + chMask & 4 && (elem.onmousedown = bits & 4?dispatchEvent_1:null); + chMask & 8 && (elem.onmouseup = bits & 8?dispatchEvent_1:null); + chMask & 16 && (elem.onmouseover = bits & 16?dispatchEvent_1:null); + chMask & 32 && (elem.onmouseout = bits & 32?dispatchEvent_1:null); + chMask & 64 && (elem.onmousemove = bits & 64?dispatchEvent_1:null); + chMask & 128 && (elem.onkeydown = bits & 128?dispatchEvent_1:null); + chMask & 256 && (elem.onkeypress = bits & 256?dispatchEvent_1:null); + chMask & 512 && (elem.onkeyup = bits & 512?dispatchEvent_1:null); + chMask & 1024 && (elem.onchange = bits & 1024?dispatchEvent_1:null); + chMask & 2048 && (elem.onfocus = bits & 2048?dispatchEvent_1:null); + chMask & 4096 && (elem.onblur = bits & 4096?dispatchEvent_1:null); + chMask & 8192 && (elem.onlosecapture = bits & 8192?dispatchEvent_1:null); + chMask & 16384 && (elem.onscroll = bits & 16384?dispatchEvent_1:null); + chMask & 32768 && (elem.onload = bits & 32768?dispatchUnhandledEvent:null); + chMask & $intern_12 && (elem.onerror = bits & $intern_12?dispatchEvent_1:null); + chMask & 131072 && (elem.onmousewheel = bits & 131072?dispatchEvent_1:null); + chMask & 262144 && (elem.oncontextmenu = bits & 262144?dispatchEvent_1:null); + chMask & $intern_11 && (elem.onpaste = bits & $intern_11?dispatchEvent_1:null); + chMask & $intern_13 && (elem.ontouchstart = bits & $intern_13?dispatchEvent_1:null); + chMask & 2097152 && (elem.ontouchmove = bits & 2097152?dispatchEvent_1:null); + chMask & $intern_8 && (elem.ontouchend = bits & $intern_8?dispatchEvent_1:null); + chMask & $intern_14 && (elem.ontouchcancel = bits & $intern_14?dispatchEvent_1:null); + chMask & $intern_15 && (elem.ongesturestart = bits & $intern_15?dispatchEvent_1:null); + chMask & $intern_16 && (elem.ongesturechange = bits & $intern_16?dispatchEvent_1:null); + chMask & $intern_17 && (elem.ongestureend = bits & $intern_17?dispatchEvent_1:null); +} + +function dispatchCapturedEvent(evt){ + $clinit_DOM(); +} + +function dispatchCapturedMouseEvent(evt){ + $clinit_DOM(); + return; +} + +function dispatchDragEvent(evt){ + evt.preventDefault(); + dispatchEvent_2(evt); +} + +function dispatchEvent_2(evt){ + var element; + element = getFirstAncestorWithListener(evt); + if (!element) { + return; + } + dispatchEvent_0(evt, element.nodeType != 1?null:element, getEventListener(element)); +} + +function dispatchUnhandledEvent_0(evt){ + var element; + element = $eventGetCurrentTarget(evt); + element['__gwtLastUnhandledEvent'] = evt.type; + dispatchEvent_2(evt); +} + +function getFirstAncestorWithListener(evt){ + var curElem; + curElem = $eventGetCurrentTarget(evt); + while (!!curElem && !getEventListener(curElem)) { + curElem = curElem.parentNode; + } + return curElem; +} + +var bitlessEventDispatchers, captureEventDispatchers, dispatchEvent_1, dispatchUnhandledEvent; +function foreach_0(map_0, fn){ + for (var e in map_0) { + map_0.hasOwnProperty(e) && fn(e, map_0[e]); + } +} + +defineClass(174, 20, $intern_1); +_.doAttachChildren = function doAttachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , attachCommand)); +} +; +_.doDetachChildren = function doDetachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , detachCommand)); +} +; +var Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Panel', 174); +function $add(this$static, child, container){ + $removeFromParent(child); + $add_1(this$static.children, child); + $clinit_DOM(); + $appendChild(container, resolve(child.element)); + $setParent(child, this$static); +} + +function $remove(this$static, w){ + var elem, parent_0; + if (w.parent_0 != this$static) { + return false; + } + try { + $setParent(w, null); + } + finally { + elem = ($clinit_DOM() , w.element); + $removeChild((null , parent_0 = elem.parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0), elem); + $remove_1(this$static.children, w); + } + return true; +} + +defineClass(103, 174, $intern_1); +_.iterator = function iterator_0(){ + return new WidgetCollection$WidgetIterator(this.children); +} +; +var Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'ComplexPanel', 103); +function $clinit_AttachDetachException(){ + $clinit_AttachDetachException = emptyMethod; + attachCommand = new AttachDetachException$1; + detachCommand = new AttachDetachException$2; +} + +function AttachDetachException(causes){ + RuntimeException_1.call(this, makeMessage(causes), makeCause(causes)); +} + +function tryCommand(hasWidgets, c){ + var old; + $clinit_AttachDetachException(); + var caught, e, w, w$iterator; + caught = null; + for (w$iterator = hasWidgets.iterator(); w$iterator.hasNext();) { + w = dynamicCast(w$iterator.next(), 20); + try { + c.execute_0(w); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + !caught && (caught = new HashSet); + old = $put(caught.map_0, e, caught); + } + else + throw unwrap($e0); + } + } + if (caught) { + throw new AttachDetachException(caught); + } +} + +defineClass(111, 110, $intern_4, AttachDetachException); +var attachCommand, detachCommand; +var Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException', 111); +function AttachDetachException$1(){ +} + +defineClass(112, 1, {}, AttachDetachException$1); +_.execute_0 = function execute(w){ + w.onAttach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/1', 112); +function AttachDetachException$2(){ +} + +defineClass(113, 1, {}, AttachDetachException$2); +_.execute_0 = function execute_0(w){ + w.onDetach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/2', 113); +function $add_0(this$static, w){ + $add(this$static, w, ($clinit_DOM() , this$static.element)); +} + +defineClass(75, 103, $intern_1); +var Lcom_google_gwt_user_client_ui_FlowPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FlowPanel', 75); +function $clinit_RootPanel(){ + $clinit_RootPanel = emptyMethod; + new HashMap; + widgetsToDetach = new HashSet; +} + +function detachNow(widget){ + $clinit_RootPanel(); + try { + $onDetach(widget); + } + finally { + $remove_4(widgetsToDetach, widget); + } +} + +var widgetsToDetach; +function $add_1(this$static, w){ + $insert(this$static, w, this$static.size_0); +} + +function $indexOf(this$static, w){ + var i; + for (i = 0; i < this$static.size_0; ++i) { + if (this$static.array[i] == w) { + return i; + } + } + return -1; +} + +function $insert(this$static, w, beforeIndex){ + var i, i0, newArray; + if (beforeIndex < 0 || beforeIndex > this$static.size_0) { + throw new IndexOutOfBoundsException; + } + if (this$static.size_0 == this$static.array.length) { + newArray = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 20, this$static.array.length * 2, 0, 1); + for (i0 = 0; i0 < this$static.array.length; ++i0) { + setCheck(newArray, i0, this$static.array[i0]); + } + this$static.array = newArray; + } + ++this$static.size_0; + for (i = this$static.size_0 - 1; i > beforeIndex; --i) { + setCheck(this$static.array, i, this$static.array[i - 1]); + } + setCheck(this$static.array, beforeIndex, w); +} + +function $remove_0(this$static, index_0){ + var i; + if (index_0 < 0 || index_0 >= this$static.size_0) { + throw new IndexOutOfBoundsException; + } + --this$static.size_0; + for (i = index_0; i < this$static.size_0; ++i) { + setCheck(this$static.array, i, this$static.array[i + 1]); + } + setCheck(this$static.array, this$static.size_0, null); +} + +function $remove_1(this$static, w){ + var index_0; + index_0 = $indexOf(this$static, w); + if (index_0 == -1) { + throw new NoSuchElementException; + } + $remove_0(this$static, index_0); +} + +function WidgetCollection(){ + this.array = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 20, 4, 0, 1); +} + +defineClass(119, 1, {}, WidgetCollection); +_.iterator = function iterator_1(){ + return new WidgetCollection$WidgetIterator(this); +} +; +_.size_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection', 119); +function $next(this$static){ + if (this$static.index_0 >= this$static.this$01.size_0) { + throw new NoSuchElementException; + } + this$static.currentWidget = this$static.this$01.array[this$static.index_0]; + ++this$static.index_0; + return this$static.currentWidget; +} + +function WidgetCollection$WidgetIterator(this$0){ + this.this$01 = this$0; +} + +defineClass(76, 1, {}, WidgetCollection$WidgetIterator); +_.hasNext = function hasNext(){ + return this.index_0 < this.this$01.size_0; +} +; +_.next = function next(){ + return $next(this); +} +; +_.index_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection/WidgetIterator', 76); +function assertCompileTimeUserAgent(){ + var runtimeValue; + runtimeValue = $getRuntimeValue(); + if (!$equals('ie9', runtimeValue)) { + throw new UserAgentAsserter$UserAgentAssertionError(runtimeValue); + } +} + +function Error_0(message){ + Throwable.call(this, message); +} + +defineClass(59, 8, $intern_3); +var Ljava_lang_Error_2_classLit = createForClass('java.lang', 'Error', 59); +defineClass(18, 59, $intern_3); +var Ljava_lang_AssertionError_2_classLit = createForClass('java.lang', 'AssertionError', 18); +function UserAgentAsserter$UserAgentAssertionError(runtimeValue){ + Error_0.call(this, '' + ('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie9) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.'), instanceOf('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie9) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8)?dynamicCast('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie9) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8):null); +} + +defineClass(80, 18, $intern_3, UserAgentAsserter$UserAgentAssertionError); +var Lcom_google_gwt_useragent_client_UserAgentAsserter$UserAgentAssertionError_2_classLit = createForClass('com.google.gwt.useragent.client', 'UserAgentAsserter/UserAgentAssertionError', 80); +function $getRuntimeValue(){ + var ua = navigator.userAgent.toLowerCase(); + var docMode = $doc.documentMode; + if (function(){ + return ua.indexOf('webkit') != -1; + } + ()) + return 'safari'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 10 && docMode < 11; + } + ()) + return 'ie10'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 9 && docMode < 11; + } + ()) + return 'ie9'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 8 && docMode < 11; + } + ()) + return 'ie8'; + if (function(){ + return ua.indexOf('gecko') != -1 || docMode >= 11; + } + ()) + return 'gecko1_8'; + return 'unknown'; +} + +defineClass(126, 1, {}); +var Lcom_google_zxing_Binarizer_2_classLit = createForClass('com.google.zxing', 'Binarizer', 126); +function BinaryBitmap(binarizer){ + this.binarizer = binarizer; +} + +defineClass(124, 1, {}, BinaryBitmap); +_.toString$ = function toString_3(){ + try { + return $toString((!this.matrix && (this.matrix = $getBlackMatrix_0(this.binarizer)) , this.matrix)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 54)) { + return ''; + } + else + throw unwrap($e0); + } +} +; +var Lcom_google_zxing_BinaryBitmap_2_classLit = createForClass('com.google.zxing', 'BinaryBitmap', 124); +function $clinit_ReaderException(){ + $clinit_ReaderException = emptyMethod; + NO_TRACE = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 182, 0, 0, 1); +} + +function ReaderException(){ + $clinit_ReaderException(); + Exception.call(this); +} + +defineClass(64, 10, $intern_4); +_.fillInStackTrace = function fillInStackTrace_0(){ + return null; +} +; +var NO_TRACE; +var Lcom_google_zxing_ReaderException_2_classLit = createForClass('com.google.zxing', 'ReaderException', 64); +function $clinit_ChecksumException(){ + $clinit_ChecksumException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_0 = new ChecksumException; + $setStackTrace(NO_TRACE); +} + +function ChecksumException(){ + ReaderException.call(this); +} + +defineClass(55, 64, {55:1, 3:1, 10:1, 8:1}, ChecksumException); +var INSTANCE_0; +var Lcom_google_zxing_ChecksumException_2_classLit = createForClass('com.google.zxing', 'ChecksumException', 55); +function $clinit_FormatException(){ + $clinit_FormatException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_1 = new FormatException; + $setStackTrace(NO_TRACE); +} + +function FormatException(){ + ReaderException.call(this); +} + +defineClass(56, 64, {56:1, 3:1, 10:1, 8:1}, FormatException); +var INSTANCE_1; +var Lcom_google_zxing_FormatException_2_classLit = createForClass('com.google.zxing', 'FormatException', 56); +defineClass(125, 1, {}); +_.toString$ = function toString_4(){ + var c, luminance, result, row, x_0, y_0; + row = initDim(B_classLit, $intern_18, 0, this.width_0, 7, 1); + result = new StringBuilder; + for (y_0 = 0; y_0 < this.height_0; y_0++) { + row = $getRow(this, y_0, row); + for (x_0 = 0; x_0 < this.width_0; x_0++) { + luminance = row[x_0] & 255; + luminance < 64?(c = 35):luminance < 128?(c = 43):luminance < 192?(c = 46):(c = 32); + result.string += charToString(c); + } + result.string += '\n'; + } + return result.string; +} +; +_.height_0 = 0; +_.width_0 = 0; +var Lcom_google_zxing_LuminanceSource_2_classLit = createForClass('com.google.zxing', 'LuminanceSource', 125); +function $clinit_NotFoundException(){ + $clinit_NotFoundException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_2 = new NotFoundException; + $setStackTrace(NO_TRACE); +} + +function NotFoundException(){ + ReaderException.call(this); +} + +defineClass(54, 64, {54:1, 3:1, 10:1, 8:1}, NotFoundException); +var INSTANCE_2; +var Lcom_google_zxing_NotFoundException_2_classLit = createForClass('com.google.zxing', 'NotFoundException', 54); +function $putMetadata(this$static, type_0, value_0){ + !this$static.resultMetadata && (this$static.resultMetadata = new EnumMap(Lcom_google_zxing_ResultMetadataType_2_classLit)); + $put_1(this$static.resultMetadata, type_0, value_0); +} + +function Result(text_0){ + Result_0.call(this, text_0, fromDouble(now_1())); +} + +function Result_0(text_0){ + this.text_0 = text_0; + this.resultMetadata = null; +} + +defineClass(63, 1, {}, Result); +_.toString$ = function toString_5(){ + return this.text_0; +} +; +var Lcom_google_zxing_Result_2_classLit = createForClass('com.google.zxing', 'Result', 63); +function $compareTo(this$static, other){ + return this$static.ordinal - other.ordinal; +} + +function Enum(name_0, ordinal){ + this.name_0 = name_0; + this.ordinal = ordinal; +} + +defineClass(13, 1, {3:1, 19:1, 13:1}); +_.compareTo = function compareTo(other){ + return $compareTo(this, dynamicCast(other, 13)); +} +; +_.equals$ = function equals_0(other){ + return this === other; +} +; +_.hashCode$ = function hashCode_1(){ + return getHashCode(this); +} +; +_.toString$ = function toString_6(){ + return this.name_0 != null?this.name_0:'' + this.ordinal; +} +; +_.ordinal = 0; +var Ljava_lang_Enum_2_classLit = createForClass('java.lang', 'Enum', 13); +function $clinit_ResultMetadataType(){ + $clinit_ResultMetadataType = emptyMethod; + OTHER = new ResultMetadataType('OTHER', 0); + ORIENTATION = new ResultMetadataType('ORIENTATION', 1); + BYTE_SEGMENTS = new ResultMetadataType('BYTE_SEGMENTS', 2); + ERROR_CORRECTION_LEVEL = new ResultMetadataType('ERROR_CORRECTION_LEVEL', 3); + ISSUE_NUMBER = new ResultMetadataType('ISSUE_NUMBER', 4); + SUGGESTED_PRICE = new ResultMetadataType('SUGGESTED_PRICE', 5); + POSSIBLE_COUNTRY = new ResultMetadataType('POSSIBLE_COUNTRY', 6); + UPC_EAN_EXTENSION = new ResultMetadataType('UPC_EAN_EXTENSION', 7); + PDF417_EXTRA_METADATA = new ResultMetadataType('PDF417_EXTRA_METADATA', 8); + STRUCTURED_APPEND_SEQUENCE = new ResultMetadataType('STRUCTURED_APPEND_SEQUENCE', 9); + STRUCTURED_APPEND_PARITY = new ResultMetadataType('STRUCTURED_APPEND_PARITY', 10); +} + +function ResultMetadataType(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_0(){ + $clinit_ResultMetadataType(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_ResultMetadataType_2_classLit, 1), $intern_19, 21, 0, [OTHER, ORIENTATION, BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, SUGGESTED_PRICE, POSSIBLE_COUNTRY, UPC_EAN_EXTENSION, PDF417_EXTRA_METADATA, STRUCTURED_APPEND_SEQUENCE, STRUCTURED_APPEND_PARITY]); +} + +defineClass(21, 13, {21:1, 3:1, 19:1, 13:1}, ResultMetadataType); +var BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, ORIENTATION, OTHER, PDF417_EXTRA_METADATA, POSSIBLE_COUNTRY, STRUCTURED_APPEND_PARITY, STRUCTURED_APPEND_SEQUENCE, SUGGESTED_PRICE, UPC_EAN_EXTENSION; +var Lcom_google_zxing_ResultMetadataType_2_classLit = createForEnum('com.google.zxing', 'ResultMetadataType', 21, values_0); +function ResultPoint(x_0, y_0){ + this.x_0 = x_0; + this.y_0 = y_0; +} + +function distance(pattern1, pattern2){ + return distance_0(pattern1.x_0, pattern1.y_0, pattern2.x_0, pattern2.y_0); +} + +function orderBestPatterns(patterns){ + var oneTwoDistance, pointA, pointB, pointC, temp, zeroOneDistance, zeroTwoDistance, bX, bY; + zeroOneDistance = distance(patterns[0], patterns[1]); + oneTwoDistance = distance(patterns[1], patterns[2]); + zeroTwoDistance = distance(patterns[0], patterns[2]); + if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) { + pointB = patterns[0]; + pointA = patterns[1]; + pointC = patterns[2]; + } + else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) { + pointB = patterns[1]; + pointA = patterns[0]; + pointC = patterns[2]; + } + else { + pointB = patterns[2]; + pointA = patterns[0]; + pointC = patterns[1]; + } + if ((bX = pointB.x_0 , bY = pointB.y_0 , (pointC.x_0 - bX) * (pointA.y_0 - bY) - (pointC.y_0 - bY) * (pointA.x_0 - bX)) < 0) { + temp = pointA; + pointA = pointC; + pointC = temp; + } + setCheck(patterns, 0, pointA); + patterns[1] = pointB; + setCheck(patterns, 2, pointC); +} + +defineClass(29, 1, {29:1}); +_.equals$ = function equals_1(other){ + var otherPoint; + if (instanceOf(other, 29)) { + otherPoint = dynamicCast(other, 29); + return this.x_0 == otherPoint.x_0 && this.y_0 == otherPoint.y_0; + } + return false; +} +; +_.hashCode$ = function hashCode_2(){ + return 31 * floatToIntBits(this.x_0) + floatToIntBits(this.y_0); +} +; +_.toString$ = function toString_7(){ + var result; + result = new StringBuilder; + result.string += '('; + $append_0(result, this.x_0); + result.string += ','; + $append_0(result, this.y_0); + result.string += ')'; + return result.string; +} +; +_.x_0 = 0; +_.y_0 = 0; +var Lcom_google_zxing_ResultPoint_2_classLit = createForClass('com.google.zxing', 'ResultPoint', 29); +function $flip(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] ^= 1 << (x_0 & 31); +} + +function $get(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + return (this$static.bits[offset] >>> (x_0 & 31) & 1) != 0; +} + +function $set_0(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] |= 1 << (x_0 & 31); +} + +function $setRegion(this$static, left, top_0, width_0, height){ + var bottom, offset, right, x_0, y_0; + if (top_0 < 0 || left < 0) { + throw new IllegalArgumentException_0('Left and top must be nonnegative'); + } + if (height < 1 || width_0 < 1) { + throw new IllegalArgumentException_0('Height and width must be at least 1'); + } + right = left + width_0; + bottom = top_0 + height; + if (bottom > this$static.height_0 || right > this$static.width_0) { + throw new IllegalArgumentException_0('The region must fit inside the matrix'); + } + for (y_0 = top_0; y_0 < bottom; y_0++) { + offset = y_0 * this$static.rowSize; + for (x_0 = left; x_0 < right; x_0++) { + this$static.bits[offset + ~~(x_0 / 32)] |= 1 << (x_0 & 31); + } + } +} + +function $toString(this$static){ + var result, x_0, y_0; + result = new StringBuilder; + for (y_0 = 0; y_0 < this$static.height_0; y_0++) { + for (x_0 = 0; x_0 < this$static.width_0; x_0++) { + $append_2(result, $get(this$static, x_0, y_0)?'X ':' '); + } + result.string += '\n'; + } + return result.string; +} + +function BitMatrix(dimension){ + BitMatrix_0.call(this, dimension, dimension); +} + +function BitMatrix_0(width_0, height){ + if (width_0 < 1 || height < 1) { + throw new IllegalArgumentException_0('Both dimensions must be greater than 0'); + } + this.width_0 = width_0; + this.height_0 = height; + this.rowSize = ~~((width_0 + 31) / 32); + this.bits = initDim(I_classLit, $intern_20, 0, this.rowSize * height, 7, 1); +} + +defineClass(32, 1, {32:1}, BitMatrix, BitMatrix_0); +_.equals$ = function equals_2(o){ + var other; + if (!instanceOf(o, 32)) { + return false; + } + other = dynamicCast(o, 32); + return this.width_0 == other.width_0 && this.height_0 == other.height_0 && this.rowSize == other.rowSize && equals_10(this.bits, other.bits); +} +; +_.hashCode$ = function hashCode_3(){ + var hash; + hash = this.width_0; + hash = 31 * hash + this.width_0; + hash = 31 * hash + this.height_0; + hash = 31 * hash + this.rowSize; + hash = 31 * hash + hashCode_11(this.bits); + return hash; +} +; +_.toString$ = function toString_8(){ + return $toString(this); +} +; +_.height_0 = 0; +_.rowSize = 0; +_.width_0 = 0; +var Lcom_google_zxing_common_BitMatrix_2_classLit = createForClass('com.google.zxing.common', 'BitMatrix', 32); +function $readBits(this$static, numBits){ + var bitsLeft, bitsToNotRead, mask, result, toRead; + if (numBits < 1 || numBits > 32 || numBits > 8 * (this$static.bytes.length - this$static.byteOffset) - this$static.bitOffset) { + throw new IllegalArgumentException_0('' + numBits); + } + result = 0; + if (this$static.bitOffset > 0) { + bitsLeft = 8 - this$static.bitOffset; + toRead = numBits < bitsLeft?numBits:bitsLeft; + bitsToNotRead = bitsLeft - toRead; + mask = 255 >> 8 - toRead << bitsToNotRead; + result = (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + numBits -= toRead; + this$static.bitOffset += toRead; + if (this$static.bitOffset == 8) { + this$static.bitOffset = 0; + ++this$static.byteOffset; + } + } + if (numBits > 0) { + while (numBits >= 8) { + result = result << 8 | this$static.bytes[this$static.byteOffset] & 255; + ++this$static.byteOffset; + numBits -= 8; + } + if (numBits > 0) { + bitsToNotRead = 8 - numBits; + mask = 255 >> bitsToNotRead << bitsToNotRead; + result = result << numBits | (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + this$static.bitOffset += numBits; + } + } + return result; +} + +function BitSource(bytes){ + this.bytes = bytes; +} + +defineClass(150, 1, {}, BitSource); +_.bitOffset = 0; +_.byteOffset = 0; +var Lcom_google_zxing_common_BitSource_2_classLit = createForClass('com.google.zxing.common', 'BitSource', 150); +function $clinit_CharacterSetECI(){ + $clinit_CharacterSetECI = emptyMethod; + var eci, eci$array, eci$index, eci$max, name_0, name$array, name$index, name$max, value_0, value$array, value$index, value$max; + Cp437 = new CharacterSetECI_1('Cp437', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 2]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); + ISO8859_1 = new CharacterSetECI_1('ISO8859_1', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1, 3]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-1'])); + ISO8859_2 = new CharacterSetECI_0('ISO8859_2', 2, 4, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-2'])); + ISO8859_3 = new CharacterSetECI_0('ISO8859_3', 3, 5, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-3'])); + ISO8859_4 = new CharacterSetECI_0('ISO8859_4', 4, 6, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-4'])); + ISO8859_5 = new CharacterSetECI_0('ISO8859_5', 5, 7, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-5'])); + ISO8859_6 = new CharacterSetECI_0('ISO8859_6', 6, 8, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-6'])); + ISO8859_7 = new CharacterSetECI_0('ISO8859_7', 7, 9, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-7'])); + ISO8859_8 = new CharacterSetECI_0('ISO8859_8', 8, 10, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-8'])); + ISO8859_9 = new CharacterSetECI_0('ISO8859_9', 9, 11, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-9'])); + ISO8859_10 = new CharacterSetECI_0('ISO8859_10', 10, 12, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-10'])); + ISO8859_11 = new CharacterSetECI_0('ISO8859_11', 11, 13, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-11'])); + ISO8859_13 = new CharacterSetECI_0('ISO8859_13', 12, 15, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-13'])); + ISO8859_14 = new CharacterSetECI_0('ISO8859_14', 13, 16, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-14'])); + ISO8859_15 = new CharacterSetECI_0('ISO8859_15', 14, 17, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-15'])); + ISO8859_16 = new CharacterSetECI_0('ISO8859_16', 15, 18, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-16'])); + SJIS = new CharacterSetECI_0('SJIS', 16, 20, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['Shift_JIS'])); + Cp1250 = new CharacterSetECI_0('Cp1250', 17, 21, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1250'])); + Cp1251 = new CharacterSetECI_0('Cp1251', 18, 22, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1251'])); + Cp1252 = new CharacterSetECI_0('Cp1252', 19, 23, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1252'])); + Cp1256 = new CharacterSetECI_0('Cp1256', 20, 24, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1256'])); + UnicodeBigUnmarked = new CharacterSetECI_0('UnicodeBigUnmarked', 21, 25, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-16BE', 'UnicodeBig'])); + UTF8 = new CharacterSetECI_0('UTF8', 22, 26, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-8'])); + ASCII = new CharacterSetECI_1('ASCII', 23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [27, 170]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['US-ASCII'])); + Big5 = new CharacterSetECI; + GB18030 = new CharacterSetECI_0('GB18030', 25, 29, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['GB2312', 'EUC_CN', 'GBK'])); + EUC_KR = new CharacterSetECI_0('EUC_KR', 26, 30, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['EUC-KR'])); + VALUE_TO_ECI = new HashMap; + NAME_TO_ECI = new HashMap; + for (eci$array = values_1() , eci$index = 0 , eci$max = eci$array.length; eci$index < eci$max; ++eci$index) { + eci = eci$array[eci$index]; + for (value$array = eci.values , value$index = 0 , value$max = value$array.length; value$index < value$max; ++value$index) { + value_0 = value$array[value$index]; + $put(VALUE_TO_ECI, valueOf(value_0), eci); + } + $putStringValue(NAME_TO_ECI, eci.name_0 != null?eci.name_0:'' + eci.ordinal, eci); + for (name$array = eci.otherEncodingNames , name$index = 0 , name$max = name$array.length; name$index < name$max; ++name$index) { + name_0 = name$array[name$index]; + $putStringValue(NAME_TO_ECI, name_0, eci); + } + } +} + +function CharacterSetECI(){ + CharacterSetECI_1.call(this, 'Big5', 24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [28]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); +} + +function CharacterSetECI_0(enum$name, enum$ordinal, value_0, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [value_0]); + this.otherEncodingNames = otherEncodingNames; +} + +function CharacterSetECI_1(enum$name, enum$ordinal, values, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = values; + this.otherEncodingNames = otherEncodingNames; +} + +function getCharacterSetECIByValue(value_0){ + $clinit_CharacterSetECI(); + if (value_0 < 0 || value_0 >= 900) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return dynamicCast($get_0(VALUE_TO_ECI, valueOf(value_0)), 11); +} + +function values_1(){ + $clinit_CharacterSetECI(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_CharacterSetECI_2_classLit, 1), $intern_19, 11, 0, [Cp437, ISO8859_1, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, SJIS, Cp1250, Cp1251, Cp1252, Cp1256, UnicodeBigUnmarked, UTF8, ASCII, Big5, GB18030, EUC_KR]); +} + +defineClass(11, 13, {11:1, 3:1, 19:1, 13:1}, CharacterSetECI, CharacterSetECI_0, CharacterSetECI_1); +var ASCII, Big5, Cp1250, Cp1251, Cp1252, Cp1256, Cp437, EUC_KR, GB18030, ISO8859_1, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, NAME_TO_ECI, SJIS, UTF8, UnicodeBigUnmarked, VALUE_TO_ECI; +var Lcom_google_zxing_common_CharacterSetECI_2_classLit = createForEnum('com.google.zxing.common', 'CharacterSetECI', 11, values_1); +function $setOther(this$static, other){ + this$static.other = other; +} + +function DecoderResult(text_0, byteSegments, ecLevel, saSequence, saParity){ + this.text_0 = text_0; + this.byteSegments = byteSegments; + this.ecLevel = ecLevel; + this.structuredAppendParity = saParity; + this.structuredAppendSequenceNumber = saSequence; +} + +defineClass(129, 1, {}, DecoderResult); +_.structuredAppendParity = 0; +_.structuredAppendSequenceNumber = 0; +var Lcom_google_zxing_common_DecoderResult_2_classLit = createForClass('com.google.zxing.common', 'DecoderResult', 129); +function checkAndNudgePoints(image, points){ + var height, nudged, offset, offset0, width_0, x_0, y_0; + width_0 = image.width_0; + height = image.height_0; + nudged = true; + for (offset0 = 0; offset0 < points.length && nudged; offset0 += 2) { + x_0 = round_int(points[offset0]); + y_0 = round_int(points[offset0 + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset0] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset0] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset0 + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset0 + 1] = height - 1; + nudged = true; + } + } + nudged = true; + for (offset = points.length - 2; offset >= 0 && nudged; offset -= 2) { + x_0 = round_int(points[offset]); + y_0 = round_int(points[offset + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset + 1] = height - 1; + nudged = true; + } + } +} + +function $sampleGrid(image, dimensionX, dimensionY, transform){ + var bits, iValue, max_0, points, x_0, x0, y_0; + if (dimensionX <= 0 || dimensionY <= 0) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bits = new BitMatrix_0(dimensionX, dimensionY); + points = initDim(F_classLit, $intern_18, 0, 2 * dimensionX, 7, 1); + for (y_0 = 0; y_0 < dimensionY; y_0++) { + max_0 = points.length; + iValue = y_0 + 0.5; + for (x0 = 0; x0 < max_0; x0 += 2) { + points[x0] = ~~(x0 / 2) + 0.5; + points[x0 + 1] = iValue; + } + $transformPoints(transform, points); + checkAndNudgePoints(image, points); + for (x_0 = 0; x_0 < max_0; x_0 += 2) { + $get(image, round_int(points[x_0]), round_int(points[x_0 + 1])) && $set_0(bits, ~~(x_0 / 2), y_0); + } + } + return bits; +} + +function DetectorResult(bits, points){ + this.bits = bits; + this.points = points; +} + +defineClass(130, 1, {}, DetectorResult); +var Lcom_google_zxing_common_DetectorResult_2_classLit = createForClass('com.google.zxing.common', 'DetectorResult', 130); +function $clinit_GlobalHistogramBinarizer(){ + $clinit_GlobalHistogramBinarizer = emptyMethod; + EMPTY = initDim(B_classLit, $intern_18, 0, 0, 7, 1); +} + +function $getBlackMatrix(this$static){ + var blackPoint, height, localBuckets, localLuminances, localLuminances0, matrix, offset, pixel, right, row, source, width_0, x_0, y_0, y0; + source = this$static.source; + width_0 = source.width_0; + height = source.height_0; + matrix = new BitMatrix_0(width_0, height); + $initArrays(this$static, width_0); + localBuckets = this$static.buckets; + for (y0 = 1; y0 < 5; y0++) { + row = ~~(height * y0 / 5); + localLuminances0 = $getRow(source, row, this$static.luminances); + right = ~~(width_0 * 4 / 5); + for (x_0 = ~~(width_0 / 5); x_0 < right; x_0++) { + pixel = localLuminances0[x_0] & 255; + ++localBuckets[pixel >> 3]; + } + } + blackPoint = estimateBlackPoint(localBuckets); + localLuminances = $getMatrix(source); + for (y_0 = 0; y_0 < height; y_0++) { + offset = y_0 * width_0; + for (x_0 = 0; x_0 < width_0; x_0++) { + pixel = localLuminances[offset + x_0] & 255; + pixel < blackPoint && $set_0(matrix, x_0, y_0); + } + } + return matrix; +} + +function $initArrays(this$static, luminanceSize){ + var x_0; + this$static.luminances.length < luminanceSize && (this$static.luminances = initDim(B_classLit, $intern_18, 0, luminanceSize, 7, 1)); + for (x_0 = 0; x_0 < 32; x_0++) { + this$static.buckets[x_0] = 0; + } +} + +function estimateBlackPoint(buckets){ + var bestValley, bestValleyScore, distanceToBiggest, firstPeak, firstPeakSize, fromFirst, maxBucketCount, numBuckets, score, secondPeak, secondPeakScore, temp, x_0, x0, x1; + numBuckets = buckets.length; + maxBucketCount = 0; + firstPeak = 0; + firstPeakSize = 0; + for (x0 = 0; x0 < numBuckets; x0++) { + if (buckets[x0] > firstPeakSize) { + firstPeak = x0; + firstPeakSize = buckets[x0]; + } + buckets[x0] > maxBucketCount && (maxBucketCount = buckets[x0]); + } + secondPeak = 0; + secondPeakScore = 0; + for (x1 = 0; x1 < numBuckets; x1++) { + distanceToBiggest = x1 - firstPeak; + score = buckets[x1] * distanceToBiggest * distanceToBiggest; + if (score > secondPeakScore) { + secondPeak = x1; + secondPeakScore = score; + } + } + if (firstPeak > secondPeak) { + temp = firstPeak; + firstPeak = secondPeak; + secondPeak = temp; + } + if (secondPeak - firstPeak <= ~~(numBuckets / 16)) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bestValley = secondPeak - 1; + bestValleyScore = -1; + for (x_0 = secondPeak - 1; x_0 > firstPeak; x_0--) { + fromFirst = x_0 - firstPeak; + score = fromFirst * fromFirst * (secondPeak - x_0) * (maxBucketCount - buckets[x_0]); + if (score > bestValleyScore) { + bestValley = x_0; + bestValleyScore = score; + } + } + return bestValley << 3; +} + +defineClass(127, 126, {}); +var EMPTY; +var Lcom_google_zxing_common_GlobalHistogramBinarizer_2_classLit = createForClass('com.google.zxing.common', 'GlobalHistogramBinarizer', 127); +function $getBlackMatrix_0(this$static){ + var blackPoints, height, luminances, newMatrix, source, subHeight, subWidth, width_0; + if (this$static.matrix) { + return this$static.matrix; + } + source = this$static.source; + width_0 = source.width_0; + height = source.height_0; + if (width_0 >= 40 && height >= 40) { + luminances = $getMatrix(source); + subWidth = width_0 >> 3; + (width_0 & 7) != 0 && ++subWidth; + subHeight = height >> 3; + (height & 7) != 0 && ++subHeight; + blackPoints = calculateBlackPoints(luminances, subWidth, subHeight, width_0, height); + newMatrix = new BitMatrix_0(width_0, height); + calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, newMatrix); + this$static.matrix = newMatrix; + } + else { + this$static.matrix = $getBlackMatrix(this$static); + } + return this$static.matrix; +} + +function HybridBinarizer(source){ + $clinit_GlobalHistogramBinarizer(); + this.source = source; + this.luminances = EMPTY; + this.buckets = initDim(I_classLit, $intern_20, 0, 32, 7, 1); +} + +function calculateBlackPoints(luminances, subWidth, subHeight, width_0, height){ + var average, averageNeighborBlackPoint, blackPoints, max_0, maxXOffset, maxYOffset, min_0, offset, pixel, sum, x_0, xoffset, xx, xx0, y_0, yoffset, yy; + blackPoints = initDims(I_classLit, [$intern_2, $intern_20], [7, 0], 7, [subHeight, subWidth], 2); + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + sum = 0; + min_0 = 255; + max_0 = 0; + for (yy = 0 , offset = yoffset * width_0 + xoffset; yy < 8; ++yy , offset += width_0) { + for (xx0 = 0; xx0 < 8; xx0++) { + pixel = luminances[offset + xx0] & 255; + sum += pixel; + pixel < min_0 && (min_0 = pixel); + pixel > max_0 && (max_0 = pixel); + } + if (max_0 - min_0 > 24) { + for (++yy , offset += width_0; yy < 8; ++yy , offset += width_0) { + for (xx = 0; xx < 8; xx++) { + sum += luminances[offset + xx] & 255; + } + } + } + } + average = sum >> 6; + if (max_0 - min_0 <= 24) { + average = ~~(min_0 / 2); + if (y_0 > 0 && x_0 > 0) { + averageNeighborBlackPoint = ~~((blackPoints[y_0 - 1][x_0] + 2 * blackPoints[y_0][x_0 - 1] + blackPoints[y_0 - 1][x_0 - 1]) / 4); + min_0 < averageNeighborBlackPoint && (average = averageNeighborBlackPoint); + } + } + blackPoints[y_0][x_0] = average; + } + } + return blackPoints; +} + +function calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, matrix){ + var average, blackRow, left, maxXOffset, maxYOffset, sum, top_0, x_0, xoffset, y_0, yoffset, z_0; + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + left = x_0 < 2?2:x_0 > subWidth - 3?subWidth - 3:x_0; + top_0 = y_0 < 2?2:y_0 > subHeight - 3?subHeight - 3:y_0; + sum = 0; + for (z_0 = -2; z_0 <= 2; z_0++) { + blackRow = blackPoints[top_0 + z_0]; + sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2]; + } + average = ~~(sum / 25); + thresholdBlock(luminances, xoffset, yoffset, average, width_0, matrix); + } + } +} + +function thresholdBlock(luminances, xoffset, yoffset, threshold, stride, matrix){ + var offset, x_0, y_0; + for (y_0 = 0 , offset = yoffset * stride + xoffset; y_0 < 8; ++y_0 , offset += stride) { + for (x_0 = 0; x_0 < 8; x_0++) { + (luminances[offset + x_0] & 255) <= threshold && $set_0(matrix, xoffset + x_0, yoffset + y_0); + } + } +} + +defineClass(128, 127, {}, HybridBinarizer); +var Lcom_google_zxing_common_HybridBinarizer_2_classLit = createForClass('com.google.zxing.common', 'HybridBinarizer', 128); +function $buildAdjoint(this$static){ + return new PerspectiveTransform(this$static.a22 * this$static.a33 - this$static.a23 * this$static.a32, this$static.a23 * this$static.a31 - this$static.a21 * this$static.a33, this$static.a21 * this$static.a32 - this$static.a22 * this$static.a31, this$static.a13 * this$static.a32 - this$static.a12 * this$static.a33, this$static.a11 * this$static.a33 - this$static.a13 * this$static.a31, this$static.a12 * this$static.a31 - this$static.a11 * this$static.a32, this$static.a12 * this$static.a23 - this$static.a13 * this$static.a22, this$static.a13 * this$static.a21 - this$static.a11 * this$static.a23, this$static.a11 * this$static.a22 - this$static.a12 * this$static.a21); +} + +function $transformPoints(this$static, points){ + var a11, a12, a13, a21, a22, a23, a31, a32, a33, denominator, i, max_0, x_0, y_0; + max_0 = points.length; + a11 = this$static.a11; + a12 = this$static.a12; + a13 = this$static.a13; + a21 = this$static.a21; + a22 = this$static.a22; + a23 = this$static.a23; + a31 = this$static.a31; + a32 = this$static.a32; + a33 = this$static.a33; + for (i = 0; i < max_0; i += 2) { + x_0 = points[i]; + y_0 = points[i + 1]; + denominator = a13 * x_0 + a23 * y_0 + a33; + points[i] = (a11 * x_0 + a21 * y_0 + a31) / denominator; + points[i + 1] = (a12 * x_0 + a22 * y_0 + a32) / denominator; + } +} + +function PerspectiveTransform(a11, a21, a31, a12, a22, a32, a13, a23, a33){ + this.a11 = a11; + this.a12 = a12; + this.a13 = a13; + this.a21 = a21; + this.a22 = a22; + this.a23 = a23; + this.a31 = a31; + this.a32 = a32; + this.a33 = a33; +} + +function quadrilateralToQuadrilateral(x1, x2, y2, y3, x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p){ + var qToS, sToQ; + qToS = $buildAdjoint(squareToQuadrilateral(3.5, 3.5, x1, 3.5, x2, y2, 3.5, y3)); + sToQ = squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p); + return new PerspectiveTransform(sToQ.a11 * qToS.a11 + sToQ.a21 * qToS.a12 + sToQ.a31 * qToS.a13, sToQ.a11 * qToS.a21 + sToQ.a21 * qToS.a22 + sToQ.a31 * qToS.a23, sToQ.a11 * qToS.a31 + sToQ.a21 * qToS.a32 + sToQ.a31 * qToS.a33, sToQ.a12 * qToS.a11 + sToQ.a22 * qToS.a12 + sToQ.a32 * qToS.a13, sToQ.a12 * qToS.a21 + sToQ.a22 * qToS.a22 + sToQ.a32 * qToS.a23, sToQ.a12 * qToS.a31 + sToQ.a22 * qToS.a32 + sToQ.a32 * qToS.a33, sToQ.a13 * qToS.a11 + sToQ.a23 * qToS.a12 + sToQ.a33 * qToS.a13, sToQ.a13 * qToS.a21 + sToQ.a23 * qToS.a22 + sToQ.a33 * qToS.a23, sToQ.a13 * qToS.a31 + sToQ.a23 * qToS.a32 + sToQ.a33 * qToS.a33); +} + +function squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3){ + var a13, a23, denominator, dx1, dx2, dx3, dy1, dy2, dy3; + dx3 = x0 - x1 + x2 - x3; + dy3 = y0 - y1 + y2 - y3; + if (dx3 == 0 && dy3 == 0) { + return new PerspectiveTransform(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0, 0, 1); + } + else { + dx1 = x1 - x2; + dx2 = x3 - x2; + dy1 = y1 - y2; + dy2 = y3 - y2; + denominator = dx1 * dy2 - dx2 * dy1; + a13 = (dx3 * dy2 - dx2 * dy3) / denominator; + a23 = (dx1 * dy3 - dx3 * dy1) / denominator; + return new PerspectiveTransform(x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0, y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0, a13, a23, 1); + } +} + +defineClass(57, 1, {}, PerspectiveTransform); +_.a11 = 0; +_.a12 = 0; +_.a13 = 0; +_.a21 = 0; +_.a22 = 0; +_.a23 = 0; +_.a31 = 0; +_.a32 = 0; +_.a33 = 0; +var Lcom_google_zxing_common_PerspectiveTransform_2_classLit = createForClass('com.google.zxing.common', 'PerspectiveTransform', 57); +function guessEncoding(bytes){ + var canBeISO88591, canBeShiftJIS, canBeUTF8, i, isoHighOther, length_0, sjisBytesLeft, sjisCurDoubleBytesWordLength, sjisCurKatakanaWordLength, sjisKatakanaChars, sjisMaxDoubleBytesWordLength, sjisMaxKatakanaWordLength, utf2BytesChars, utf3BytesChars, utf4BytesChars, utf8BytesLeft, utf8bom, value_0; + length_0 = bytes.length; + canBeISO88591 = true; + canBeShiftJIS = true; + canBeUTF8 = true; + utf8BytesLeft = 0; + utf2BytesChars = 0; + utf3BytesChars = 0; + utf4BytesChars = 0; + sjisBytesLeft = 0; + sjisKatakanaChars = 0; + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + sjisMaxKatakanaWordLength = 0; + sjisMaxDoubleBytesWordLength = 0; + isoHighOther = 0; + utf8bom = bytes.length > 3 && bytes[0] == -17 && bytes[1] == -69 && bytes[2] == -65; + for (i = 0; i < length_0 && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) { + value_0 = bytes[i] & 255; + if (canBeUTF8) { + if (utf8BytesLeft > 0) { + (value_0 & 128) == 0?(canBeUTF8 = false):--utf8BytesLeft; + } + else if ((value_0 & 128) != 0) { + if ((value_0 & 64) == 0) { + canBeUTF8 = false; + } + else { + ++utf8BytesLeft; + if ((value_0 & 32) == 0) { + ++utf2BytesChars; + } + else { + ++utf8BytesLeft; + if ((value_0 & 16) == 0) { + ++utf3BytesChars; + } + else { + ++utf8BytesLeft; + (value_0 & 8) == 0?++utf4BytesChars:(canBeUTF8 = false); + } + } + } + } + } + canBeISO88591 && (value_0 > 127 && value_0 < 160?(canBeISO88591 = false):value_0 > 159 && (value_0 < 192 || value_0 == 215 || value_0 == 247) && ++isoHighOther); + if (canBeShiftJIS) { + if (sjisBytesLeft > 0) { + value_0 < 64 || value_0 == 127 || value_0 > 252?(canBeShiftJIS = false):--sjisBytesLeft; + } + else if (value_0 == 128 || value_0 == 160 || value_0 > 239) { + canBeShiftJIS = false; + } + else if (value_0 > 160 && value_0 < 224) { + ++sjisKatakanaChars; + sjisCurDoubleBytesWordLength = 0; + ++sjisCurKatakanaWordLength; + sjisCurKatakanaWordLength > sjisMaxKatakanaWordLength && (sjisMaxKatakanaWordLength = sjisCurKatakanaWordLength); + } + else if (value_0 > 127) { + ++sjisBytesLeft; + sjisCurKatakanaWordLength = 0; + ++sjisCurDoubleBytesWordLength; + sjisCurDoubleBytesWordLength > sjisMaxDoubleBytesWordLength && (sjisMaxDoubleBytesWordLength = sjisCurDoubleBytesWordLength); + } + else { + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + } + } + } + canBeUTF8 && utf8BytesLeft > 0 && (canBeUTF8 = false); + canBeShiftJIS && sjisBytesLeft > 0 && (canBeShiftJIS = false); + if (canBeUTF8 && (utf8bom || utf2BytesChars + utf3BytesChars + utf4BytesChars > 0)) { + return 'UTF-8'; + } + if (canBeShiftJIS && (sjisMaxKatakanaWordLength >= 3 || sjisMaxDoubleBytesWordLength >= 3)) { + return 'Shift_JIS'; + } + if (canBeISO88591 && canBeShiftJIS) { + return sjisMaxKatakanaWordLength == 2 && sjisKatakanaChars == 2 || isoHighOther * 10 >= length_0?'Shift_JIS':'ISO-8859-1'; + } + if (canBeISO88591) { + return 'ISO-8859-1'; + } + if (canBeShiftJIS) { + return 'Shift_JIS'; + } + if (canBeUTF8) { + return 'UTF-8'; + } + return 'UTF-8'; +} + +function distance_0(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function distance_1(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function round_0(d){ + return round_int(d + (d < 0?-0.5:0.5)); +} + +function $clinit_GenericGF(){ + $clinit_GenericGF = emptyMethod; + new GenericGF(4201, 4096, 1); + new GenericGF(1033, 1024, 1); + new GenericGF(67, 64, 1); + new GenericGF(19, 16, 1); + QR_CODE_FIELD_256 = new GenericGF(285, 256, 0); + new GenericGF(301, 256, 1); +} + +function $buildMonomial(this$static, degree, coefficient){ + var coefficients; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.zero; + } + coefficients = initDim(I_classLit, $intern_20, 0, degree + 1, 7, 1); + coefficients[0] = coefficient; + return new GenericGFPoly(this$static, coefficients); +} + +function $exp(this$static, a){ + return this$static.expTable[a]; +} + +function $inverse(this$static, a){ + if (a == 0) { + throw new ArithmeticException; + } + return this$static.expTable[this$static.size_0 - this$static.logTable[a] - 1]; +} + +function $log(this$static, a){ + if (a == 0) { + throw new IllegalArgumentException; + } + return this$static.logTable[a]; +} + +function $multiply(this$static, a, b){ + if (a == 0 || b == 0) { + return 0; + } + return this$static.expTable[(this$static.logTable[a] + this$static.logTable[b]) % (this$static.size_0 - 1)]; +} + +function GenericGF(primitive, size_0, b){ + var i, i0, x_0; + this.primitive = primitive; + this.size_0 = size_0; + this.generatorBase = b; + this.expTable = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + this.logTable = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + x_0 = 1; + for (i0 = 0; i0 < size_0; i0++) { + this.expTable[i0] = x_0; + x_0 *= 2; + if (x_0 >= size_0) { + x_0 ^= primitive; + x_0 &= size_0 - 1; + } + } + for (i = 0; i < size_0 - 1; i++) { + this.logTable[this.expTable[i]] = i; + } + this.zero = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0])); + this.one = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1])); +} + +defineClass(44, 1, {}, GenericGF); +_.toString$ = function toString_9(){ + return 'GF(0x' + toUnsignedRadixString(this.primitive, 16) + ',' + this.size_0 + ')'; +} +; +_.generatorBase = 0; +_.primitive = 0; +_.size_0 = 0; +var QR_CODE_FIELD_256; +var Lcom_google_zxing_common_reedsolomon_GenericGF_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGF', 44); +function $addOrSubtract(this$static, other){ + var i, largerCoefficients, lengthDiff, smallerCoefficients, sumDiff, temp; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0) { + return other; + } + if (other.coefficients[0] == 0) { + return this$static; + } + smallerCoefficients = this$static.coefficients; + largerCoefficients = other.coefficients; + if (smallerCoefficients.length > largerCoefficients.length) { + temp = smallerCoefficients; + smallerCoefficients = largerCoefficients; + largerCoefficients = temp; + } + sumDiff = initDim(I_classLit, $intern_20, 0, largerCoefficients.length, 7, 1); + lengthDiff = largerCoefficients.length - smallerCoefficients.length; + arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff); + for (i = lengthDiff; i < largerCoefficients.length; i++) { + sumDiff[i] = ($clinit_GenericGF() , smallerCoefficients[i - lengthDiff] ^ largerCoefficients[i]); + } + return new GenericGFPoly(this$static.field, sumDiff); +} + +function $evaluateAt(this$static, a){ + var coefficient, coefficient$array, coefficient$index, coefficient$max, i, result, result0, size_0; + if (a == 0) { + return this$static.coefficients[this$static.coefficients.length - 1]; + } + size_0 = this$static.coefficients.length; + if (a == 1) { + result0 = 0; + for (coefficient$array = this$static.coefficients , coefficient$index = 0 , coefficient$max = coefficient$array.length; coefficient$index < coefficient$max; ++coefficient$index) { + coefficient = coefficient$array[coefficient$index]; + result0 = ($clinit_GenericGF() , result0 ^ coefficient); + } + return result0; + } + result = this$static.coefficients[0]; + for (i = 1; i < size_0; i++) { + result = ($clinit_GenericGF() , $multiply(this$static.field, a, result) ^ this$static.coefficients[i]); + } + return result; +} + +function $getCoefficient(this$static, degree){ + return this$static.coefficients[this$static.coefficients.length - 1 - degree]; +} + +function $multiply_0(this$static, scalar){ + var i, product, size_0; + if (scalar == 0) { + return this$static.field.zero; + } + if (scalar == 1) { + return this$static; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], scalar); + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiply_1(this$static, other){ + var aCoeff, aCoefficients, aLength, bCoefficients, bLength, i, j, product; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0 || other.coefficients[0] == 0) { + return this$static.field.zero; + } + aCoefficients = this$static.coefficients; + aLength = aCoefficients.length; + bCoefficients = other.coefficients; + bLength = bCoefficients.length; + product = initDim(I_classLit, $intern_20, 0, aLength + bLength - 1, 7, 1); + for (i = 0; i < aLength; i++) { + aCoeff = aCoefficients[i]; + for (j = 0; j < bLength; j++) { + product[i + j] = ($clinit_GenericGF() , product[i + j] ^ $multiply(this$static.field, aCoeff, bCoefficients[j])); + } + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiplyByMonomial(this$static, degree, coefficient){ + var i, product, size_0; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.field.zero; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_20, 0, size_0 + degree, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], coefficient); + } + return new GenericGFPoly(this$static.field, product); +} + +function GenericGFPoly(field, coefficients){ + var coefficientsLength, firstNonZero; + if (coefficients.length == 0) { + throw new IllegalArgumentException; + } + this.field = field; + coefficientsLength = coefficients.length; + if (coefficientsLength > 1 && coefficients[0] == 0) { + firstNonZero = 1; + while (firstNonZero < coefficientsLength && coefficients[firstNonZero] == 0) { + ++firstNonZero; + } + if (firstNonZero == coefficientsLength) { + this.coefficients = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0]); + } + else { + this.coefficients = initDim(I_classLit, $intern_20, 0, coefficientsLength - firstNonZero, 7, 1); + arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length); + } + } + else { + this.coefficients = coefficients; + } +} + +defineClass(26, 1, {26:1}, GenericGFPoly); +_.toString$ = function toString_10(){ + var alphaPower, coefficient, degree, result; + result = new StringBuilder; + for (degree = this.coefficients.length - 1; degree >= 0; degree--) { + coefficient = this.coefficients[this.coefficients.length - 1 - degree]; + if (coefficient != 0) { + if (coefficient < 0) { + result.string += ' - '; + coefficient = -coefficient; + } + else { + result.string.length > 0 && (result.string += ' + ' , result); + } + if (degree == 0 || coefficient != 1) { + alphaPower = $log(this.field, coefficient); + if (alphaPower == 0) { + result.string += '1'; + } + else if (alphaPower == 1) { + result.string += 'a'; + } + else { + result.string += 'a^'; + result.string += alphaPower; + } + } + if (degree != 0) { + if (degree == 1) { + result.string += 'x'; + } + else { + result.string += 'x^'; + result.string += degree; + } + } + } + } + return result.string; +} +; +var Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGFPoly', 26); +function $decode(this$static, received, twoS){ + var errorLocations, errorMagnitudes, eval_0, i, i0, noError, omega, poly, position, sigma, sigmaOmega, syndrome, syndromeCoefficients; + poly = new GenericGFPoly(this$static.field, received); + syndromeCoefficients = initDim(I_classLit, $intern_20, 0, twoS, 7, 1); + noError = true; + for (i0 = 0; i0 < twoS; i0++) { + eval_0 = $evaluateAt(poly, $exp(this$static.field, i0 + this$static.field.generatorBase)); + syndromeCoefficients[syndromeCoefficients.length - 1 - i0] = eval_0; + eval_0 != 0 && (noError = false); + } + if (noError) { + return; + } + syndrome = new GenericGFPoly(this$static.field, syndromeCoefficients); + sigmaOmega = $runEuclideanAlgorithm(this$static, $buildMonomial(this$static.field, twoS, 1), syndrome, twoS); + sigma = sigmaOmega[0]; + omega = sigmaOmega[1]; + errorLocations = $findErrorLocations(this$static, sigma); + errorMagnitudes = $findErrorMagnitudes(this$static, omega, errorLocations); + for (i = 0; i < errorLocations.length; i++) { + position = received.length - 1 - $log(this$static.field, errorLocations[i]); + if (position < 0) { + throw new ReedSolomonException('Bad error location'); + } + received[position] = ($clinit_GenericGF() , received[position] ^ errorMagnitudes[i]); + } +} + +function $findErrorLocations(this$static, errorLocator){ + var e, i, numErrors, result; + numErrors = errorLocator.coefficients.length - 1; + if (numErrors == 1) { + return initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [errorLocator.coefficients[errorLocator.coefficients.length - 1 - 1]]); + } + result = initDim(I_classLit, $intern_20, 0, numErrors, 7, 1); + e = 0; + for (i = 1; i < this$static.field.size_0 && e < numErrors; i++) { + if ($evaluateAt(errorLocator, i) == 0) { + result[e] = $inverse(this$static.field, i); + ++e; + } + } + if (e != numErrors) { + throw new ReedSolomonException('Error locator degree does not match number of roots'); + } + return result; +} + +function $findErrorMagnitudes(this$static, errorEvaluator, errorLocations){ + var denominator, i, j, result, s, term, termPlus1, xiInverse; + s = errorLocations.length; + result = initDim(I_classLit, $intern_20, 0, s, 7, 1); + for (i = 0; i < s; i++) { + xiInverse = $inverse(this$static.field, errorLocations[i]); + denominator = 1; + for (j = 0; j < s; j++) { + if (i != j) { + term = $multiply(this$static.field, errorLocations[j], xiInverse); + termPlus1 = (term & 1) == 0?term | 1:term & -2; + denominator = $multiply(this$static.field, denominator, termPlus1); + } + } + result[i] = $multiply(this$static.field, $evaluateAt(errorEvaluator, xiInverse), $inverse(this$static.field, denominator)); + this$static.field.generatorBase != 0 && (result[i] = $multiply(this$static.field, result[i], xiInverse)); + } + return result; +} + +function $runEuclideanAlgorithm(this$static, a, b, R){ + var degreeDiff, denominatorLeadingTerm, dltInverse, inverse, omega, q, r, rLast, rLastLast, scale, sigma, sigmaTildeAtZero, t, tLast, tLastLast, temp; + if (a.coefficients.length - 1 < b.coefficients.length - 1) { + temp = a; + a = b; + b = temp; + } + rLast = a; + r = b; + tLast = this$static.field.zero; + t = this$static.field.one; + while (r.coefficients.length - 1 >= ~~(R / 2)) { + rLastLast = rLast; + tLastLast = tLast; + rLast = r; + tLast = t; + if (r.coefficients[0] == 0) { + throw new ReedSolomonException('r_{i-1} was zero'); + } + r = rLastLast; + q = this$static.field.zero; + denominatorLeadingTerm = $getCoefficient(rLast, rLast.coefficients.length - 1); + dltInverse = $inverse(this$static.field, denominatorLeadingTerm); + while (r.coefficients.length - 1 >= rLast.coefficients.length - 1 && r.coefficients[0] != 0) { + degreeDiff = r.coefficients.length - 1 - (rLast.coefficients.length - 1); + scale = $multiply(this$static.field, $getCoefficient(r, r.coefficients.length - 1), dltInverse); + q = $addOrSubtract(q, $buildMonomial(this$static.field, degreeDiff, scale)); + r = $addOrSubtract(r, $multiplyByMonomial(rLast, degreeDiff, scale)); + } + t = $addOrSubtract($multiply_1(q, t), tLastLast); + if (r.coefficients.length - 1 >= rLast.coefficients.length - 1) { + throw new IllegalStateException_0('Division algorithm failed to reduce polynomial?'); + } + } + sigmaTildeAtZero = t.coefficients[t.coefficients.length - 1]; + if (sigmaTildeAtZero == 0) { + throw new ReedSolomonException('sigmaTilde(0) was zero'); + } + inverse = $inverse(this$static.field, sigmaTildeAtZero); + sigma = $multiply_0(t, inverse); + omega = $multiply_0(r, inverse); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit, 1), $intern_2, 26, 0, [sigma, omega]); +} + +function ReedSolomonDecoder(field){ + this.field = field; +} + +defineClass(123, 1, {}, ReedSolomonDecoder); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonDecoder_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonDecoder', 123); +function ReedSolomonException(message){ + Exception_0.call(this, message); +} + +defineClass(45, 10, {45:1, 3:1, 10:1, 8:1}, ReedSolomonException); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonException_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonException', 45); +function $decode_0(this$static, image){ + var byteSegments, decoderResult, detectorResult, ecLevel, points, result; + detectorResult = $detect(new Detector((!image.matrix && (image.matrix = $getBlackMatrix_0(image.binarizer)) , image.matrix))); + decoderResult = $decode_1(this$static.decoder, detectorResult.bits); + points = detectorResult.points; + !!decoderResult.other && $applyMirroredCorrection(decoderResult.other, points); + result = new Result(decoderResult.text_0); + byteSegments = decoderResult.byteSegments; + !!byteSegments && $putMetadata(result, ($clinit_ResultMetadataType() , BYTE_SEGMENTS), byteSegments); + ecLevel = decoderResult.ecLevel; + ecLevel != null && $putMetadata(result, ($clinit_ResultMetadataType() , ERROR_CORRECTION_LEVEL), ecLevel); + if (decoderResult.structuredAppendParity >= 0 && decoderResult.structuredAppendSequenceNumber >= 0) { + $putMetadata(result, ($clinit_ResultMetadataType() , STRUCTURED_APPEND_SEQUENCE), valueOf(decoderResult.structuredAppendSequenceNumber)); + $putMetadata(result, STRUCTURED_APPEND_PARITY, valueOf(decoderResult.structuredAppendParity)); + } + return result; +} + +function QRCodeReader(){ + this.decoder = new Decoder; +} + +defineClass(118, 1, {181:1}, QRCodeReader); +var Lcom_google_zxing_qrcode_QRCodeReader_2_classLit = createForClass('com.google.zxing.qrcode', 'QRCodeReader', 118); +function $copyBit(this$static, i, j, versionBits){ + var bit; + bit = this$static.mirror?$get(this$static.bitMatrix, j, i):$get(this$static.bitMatrix, i, j); + return bit?versionBits << 1 | 1:versionBits << 1; +} + +function $mirror(this$static){ + var x_0, y_0; + for (x_0 = 0; x_0 < this$static.bitMatrix.width_0; x_0++) { + for (y_0 = x_0 + 1; y_0 < this$static.bitMatrix.height_0; y_0++) { + if ($get(this$static.bitMatrix, x_0, y_0) != $get(this$static.bitMatrix, y_0, x_0)) { + $flip(this$static.bitMatrix, y_0, x_0); + $flip(this$static.bitMatrix, x_0, y_0); + } + } + } +} + +function $readCodewords(this$static){ + var bitsRead, col, count, currentByte, dataMask, dimension, formatInfo, functionPattern, i, j, readingUp, result, resultOffset, version; + formatInfo = $readFormatInformation(this$static); + version = $readVersion(this$static); + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[formatInfo.dataMask]; + dimension = this$static.bitMatrix.height_0; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); + functionPattern = $buildFunctionPattern(version); + readingUp = true; + result = initDim(B_classLit, $intern_18, 0, version.totalCodewords, 7, 1); + resultOffset = 0; + currentByte = 0; + bitsRead = 0; + for (j = dimension - 1; j > 0; j -= 2) { + j == 6 && --j; + for (count = 0; count < dimension; count++) { + i = readingUp?dimension - 1 - count:count; + for (col = 0; col < 2; col++) { + if (!$get(functionPattern, j - col, i)) { + ++bitsRead; + currentByte <<= 1; + $get(this$static.bitMatrix, j - col, i) && (currentByte |= 1); + if (bitsRead == 8) { + result[resultOffset++] = narrow_byte(currentByte); + bitsRead = 0; + currentByte = 0; + } + } + } + } + readingUp = readingUp ^ true; + } + if (resultOffset != version.totalCodewords) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return result; +} + +function $readFormatInformation(this$static){ + var dimension, formatInfoBits1, formatInfoBits2, i, i0, j, j0, jMin; + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + formatInfoBits1 = 0; + for (i0 = 0; i0 < 6; i0++) { + formatInfoBits1 = $copyBit(this$static, i0, 8, formatInfoBits1); + } + formatInfoBits1 = $copyBit(this$static, 7, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 7, formatInfoBits1); + for (j0 = 5; j0 >= 0; j0--) { + formatInfoBits1 = $copyBit(this$static, 8, j0, formatInfoBits1); + } + dimension = this$static.bitMatrix.height_0; + formatInfoBits2 = 0; + jMin = dimension - 7; + for (j = dimension - 1; j >= jMin; j--) { + formatInfoBits2 = $copyBit(this$static, 8, j, formatInfoBits2); + } + for (i = dimension - 8; i < dimension; i++) { + formatInfoBits2 = $copyBit(this$static, i, 8, formatInfoBits2); + } + this$static.parsedFormatInfo = decodeFormatInformation(formatInfoBits1, formatInfoBits2); + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $readVersion(this$static){ + var dimension, i, i0, ijMin, j, j0, provisionalVersion, theParsedVersion, versionBits; + if (this$static.parsedVersion) { + return this$static.parsedVersion; + } + dimension = this$static.bitMatrix.height_0; + provisionalVersion = ~~((dimension - 17) / 4); + if (provisionalVersion <= 6) { + return getVersionForNumber(provisionalVersion); + } + versionBits = 0; + ijMin = dimension - 11; + for (j0 = 5; j0 >= 0; j0--) { + for (i0 = dimension - 9; i0 >= ijMin; i0--) { + versionBits = $copyBit(this$static, i0, j0, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + versionBits = 0; + for (i = 5; i >= 0; i--) { + for (j = dimension - 9; j >= ijMin; j--) { + versionBits = $copyBit(this$static, i, j, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $remask(this$static){ + var dataMask, dimension; + if (!this$static.parsedFormatInfo) { + return; + } + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[this$static.parsedFormatInfo.dataMask]; + dimension = this$static.bitMatrix.height_0; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); +} + +function BitMatrixParser(bitMatrix){ + var dimension; + dimension = bitMatrix.height_0; + if (dimension < 21 || (dimension & 3) != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + this.bitMatrix = bitMatrix; +} + +defineClass(133, 1, {}, BitMatrixParser); +_.mirror = false; +var Lcom_google_zxing_qrcode_decoder_BitMatrixParser_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'BitMatrixParser', 133); +function DataBlock(numDataCodewords, codewords){ + this.numDataCodewords = numDataCodewords; + this.codewords = codewords; +} + +function getDataBlocks(rawCodewords, version, ecLevel){ + var ecBlock, ecBlock$index, ecBlock$index0, ecBlock$max, ecBlock$max0, ecBlockArray, ecBlocks, i, i0, i1, iOffset, j, j0, j1, longerBlocksStartAt, max_0, numBlockCodewords, numCodewords, numDataCodewords, numResultBlocks, rawCodewordsOffset, result, shorterBlocksNumDataCodewords, shorterBlocksTotalCodewords, totalBlocks; + if (rawCodewords.length != version.totalCodewords) { + throw new IllegalArgumentException; + } + ecBlocks = version.ecBlocks[ecLevel.ordinal]; + totalBlocks = 0; + ecBlockArray = ecBlocks.ecBlocks; + for (ecBlock$index0 = 0 , ecBlock$max0 = ecBlockArray.length; ecBlock$index0 < ecBlock$max0; ++ecBlock$index0) { + ecBlock = ecBlockArray[ecBlock$index0]; + totalBlocks += ecBlock.count; + } + result = initDim(Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit, $intern_2, 65, totalBlocks, 0, 1); + numResultBlocks = 0; + for (ecBlock$index = 0 , ecBlock$max = ecBlockArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecBlockArray[ecBlock$index]; + for (i0 = 0; i0 < ecBlock.count; i0++) { + numDataCodewords = ecBlock.dataCodewords; + numBlockCodewords = ecBlocks.ecCodewordsPerBlock + numDataCodewords; + result[numResultBlocks++] = new DataBlock(numDataCodewords, initDim(B_classLit, $intern_18, 0, numBlockCodewords, 7, 1)); + } + } + shorterBlocksTotalCodewords = result[0].codewords.length; + longerBlocksStartAt = result.length - 1; + while (longerBlocksStartAt >= 0) { + numCodewords = result[longerBlocksStartAt].codewords.length; + if (numCodewords == shorterBlocksTotalCodewords) { + break; + } + --longerBlocksStartAt; + } + ++longerBlocksStartAt; + shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.ecCodewordsPerBlock; + rawCodewordsOffset = 0; + for (i1 = 0; i1 < shorterBlocksNumDataCodewords; i1++) { + for (j0 = 0; j0 < numResultBlocks; j0++) { + result[j0].codewords[i1] = rawCodewords[rawCodewordsOffset++]; + } + } + for (j1 = longerBlocksStartAt; j1 < numResultBlocks; j1++) { + result[j1].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++]; + } + max_0 = result[0].codewords.length; + for (i = shorterBlocksNumDataCodewords; i < max_0; i++) { + for (j = 0; j < numResultBlocks; j++) { + iOffset = j < longerBlocksStartAt?i:i + 1; + result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++]; + } + } + return result; +} + +defineClass(65, 1, {65:1}, DataBlock); +_.numDataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'DataBlock', 65); +function $clinit_DataMask(){ + $clinit_DataMask = emptyMethod; + DATA_MASK_000 = new DataMask$1; + DATA_MASK_001 = new DataMask$2; + DATA_MASK_010 = new DataMask$3; + DATA_MASK_011 = new DataMask$4; + DATA_MASK_100 = new DataMask$5; + DATA_MASK_101 = new DataMask$6; + DATA_MASK_110 = new DataMask$7; + DATA_MASK_111 = new DataMask$8; +} + +function $unmaskBitMatrix(this$static, bits, dimension){ + var i, j; + for (i = 0; i < dimension; i++) { + for (j = 0; j < dimension; j++) { + this$static.isMasked(i, j) && $flip(bits, j, i); + } + } +} + +function DataMask(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_2(){ + $clinit_DataMask(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]); +} + +defineClass(14, 13, $intern_21); +var DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111; +var Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask', 14, values_2); +function DataMask$1(){ + DataMask.call(this, 'DATA_MASK_000', 0); +} + +defineClass(142, 14, $intern_21, DataMask$1); +_.isMasked = function isMasked(i, j){ + return (i + j & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$1_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/1', 142, null); +function DataMask$2(){ + DataMask.call(this, 'DATA_MASK_001', 1); +} + +defineClass(143, 14, $intern_21, DataMask$2); +_.isMasked = function isMasked_0(i, j){ + return (i & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$2_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/2', 143, null); +function DataMask$3(){ + DataMask.call(this, 'DATA_MASK_010', 2); +} + +defineClass(144, 14, $intern_21, DataMask$3); +_.isMasked = function isMasked_1(i, j){ + return j % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$3_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/3', 144, null); +function DataMask$4(){ + DataMask.call(this, 'DATA_MASK_011', 3); +} + +defineClass(145, 14, $intern_21, DataMask$4); +_.isMasked = function isMasked_2(i, j){ + return (i + j) % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$4_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/4', 145, null); +function DataMask$5(){ + DataMask.call(this, 'DATA_MASK_100', 4); +} + +defineClass(146, 14, $intern_21, DataMask$5); +_.isMasked = function isMasked_3(i, j){ + return (~~(i / 2) + ~~(j / 3) & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$5_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/5', 146, null); +function DataMask$6(){ + DataMask.call(this, 'DATA_MASK_101', 5); +} + +defineClass(147, 14, $intern_21, DataMask$6); +_.isMasked = function isMasked_4(i, j){ + var temp; + temp = i * j; + return (temp & 1) + temp % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$6_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/6', 147, null); +function DataMask$7(){ + DataMask.call(this, 'DATA_MASK_110', 6); +} + +defineClass(148, 14, $intern_21, DataMask$7); +_.isMasked = function isMasked_5(i, j){ + var temp; + temp = i * j; + return ((temp & 1) + temp % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$7_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/7', 148, null); +function DataMask$8(){ + DataMask.call(this, 'DATA_MASK_111', 7); +} + +defineClass(149, 14, $intern_21, DataMask$8); +_.isMasked = function isMasked_6(i, j){ + return ((i + j & 1) + i * j % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$8_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/8', 149, null); +function $clinit_DecodedBitStreamParser(){ + var charArr; + $clinit_DecodedBitStreamParser = emptyMethod; + ALPHANUMERIC_CHARS = (charArr = initDim(C_classLit, $intern_18, 0, 45, 7, 1) , $getChars(charArr, 0) , charArr); +} + +function decode(bytes, version, ecLevel){ + $clinit_DecodedBitStreamParser(); + var bits, byteSegments, count, countHanzi, currentCharacterSetECI, fc1InEffect, mode, parityData, result, subset, symbolSequence, value_0; + bits = new BitSource(bytes); + result = new StringBuilder; + byteSegments = new ArrayList_0(1); + symbolSequence = -1; + parityData = -1; + try { + currentCharacterSetECI = null; + fc1InEffect = false; + do { + 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4?(mode = ($clinit_Mode() , TERMINATOR)):(mode = forBits_0($readBits(bits, 4))); + if (mode != ($clinit_Mode() , TERMINATOR)) { + if (mode == FNC1_FIRST_POSITION || mode == FNC1_SECOND_POSITION) { + fc1InEffect = true; + } + else if (mode == STRUCTURED_APPEND) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 16) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + symbolSequence = $readBits(bits, 8); + parityData = $readBits(bits, 8); + } + else if (mode == ECI) { + value_0 = parseECIValue(bits); + currentCharacterSetECI = getCharacterSetECIByValue(value_0); + if (!currentCharacterSetECI) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + else { + if (mode == HANZI) { + subset = $readBits(bits, 4); + countHanzi = $readBits(bits, $getCharacterCountBits(mode, version)); + subset == 1 && decodeHanziSegment(bits, result, countHanzi); + } + else { + count = $readBits(bits, $getCharacterCountBits(mode, version)); + if (mode == NUMERIC) { + decodeNumericSegment(bits, result, count); + } + else if (mode == ALPHANUMERIC) { + decodeAlphanumericSegment(bits, result, count, fc1InEffect); + } + else if (mode == BYTE) { + decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments); + } + else if (mode == KANJI) { + decodeKanjiSegment(bits, result, count); + } + else { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + } + } + } + while (mode != ($clinit_Mode() , TERMINATOR)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + return new DecoderResult(result.string, byteSegments.array.length == 0?null:byteSegments, !ecLevel?null:ecLevel.name_0 != null?ecLevel.name_0:'' + ecLevel.ordinal, symbolSequence, parityData); +} + +function decodeAlphanumericSegment(bits, result, count, fc1InEffect){ + var i, nextTwoCharsBits, start_0; + start_0 = result.string.length; + while (count > 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 11) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + nextTwoCharsBits = $readBits(bits, 11); + $append(result, toAlphaNumericChar(~~(nextTwoCharsBits / 45))); + $append(result, toAlphaNumericChar(nextTwoCharsBits % 45)); + count -= 2; + } + if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 6) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar($readBits(bits, 6))); + } + if (fc1InEffect) { + for (i = start_0; i < result.string.length; i++) { + $charAt(result.string, i) == 37 && (i < result.string.length - 1 && $charAt(result.string, i + 1) == 37?(result.string = __substr(result.string, 0, i + 1) + '' + $substring(result.string, i + 1 + 1) , result):(result.string = __substr(result.string, 0, i) + '\35' + $substring(result.string, i + 1))); + } + } +} + +function decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments){ + var encoding, i, readBytes; + if (8 * count > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + readBytes = initDim(B_classLit, $intern_18, 0, count, 7, 1); + for (i = 0; i < count; i++) { + readBytes[i] = narrow_byte($readBits(bits, 8)); + } + !currentCharacterSetECI?(encoding = guessEncoding(readBytes)):(encoding = currentCharacterSetECI.name_0 != null?currentCharacterSetECI.name_0:'' + currentCharacterSetECI.ordinal); + try { + $append_2(result, _String(readBytes, readBytes.length, encoding)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + setCheck(byteSegments.array, byteSegments.array.length, readBytes); +} + +function decodeHanziSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_18, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 96) << 8 | twoBytes % 96; + assembledTwoBytes < 959?(assembledTwoBytes += 41377):(assembledTwoBytes += 42657); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8 & 255); + buffer[offset + 1] = narrow_byte(assembledTwoBytes & 255); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'GB2312')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeKanjiSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_18, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 192) << 8 | twoBytes % 192; + assembledTwoBytes < 7936?(assembledTwoBytes += 33088):(assembledTwoBytes += 49472); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8); + buffer[offset + 1] = narrow_byte(assembledTwoBytes); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'Shift_JIS')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeNumericSegment(bits, result, count){ + var digitBits, threeDigitsBits, twoDigitsBits; + while (count >= 3) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + threeDigitsBits = $readBits(bits, 10); + if (threeDigitsBits >= 1000) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 100))); + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 10) % 10)); + $append(result, toAlphaNumericChar(threeDigitsBits % 10)); + count -= 3; + } + if (count == 2) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 7) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + twoDigitsBits = $readBits(bits, 7); + if (twoDigitsBits >= 100) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(twoDigitsBits / 10))); + $append(result, toAlphaNumericChar(twoDigitsBits % 10)); + } + else if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + digitBits = $readBits(bits, 4); + if (digitBits >= 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(digitBits)); + } +} + +function parseECIValue(bits){ + var firstByte, secondByte, secondThirdBytes; + firstByte = $readBits(bits, 8); + if ((firstByte & 128) == 0) { + return firstByte & 127; + } + if ((firstByte & 192) == 128) { + secondByte = $readBits(bits, 8); + return (firstByte & 63) << 8 | secondByte; + } + if ((firstByte & 224) == 192) { + secondThirdBytes = $readBits(bits, 16); + return (firstByte & 31) << 16 | secondThirdBytes; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function toAlphaNumericChar(value_0){ + if (value_0 >= ALPHANUMERIC_CHARS.length) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return ALPHANUMERIC_CHARS[value_0]; +} + +var ALPHANUMERIC_CHARS; +function $correctErrors(this$static, codewordBytes, numDataCodewords){ + var codewordsInts, i, i0, numCodewords, numECCodewords; + numCodewords = codewordBytes.length; + codewordsInts = initDim(I_classLit, $intern_20, 0, numCodewords, 7, 1); + for (i0 = 0; i0 < numCodewords; i0++) { + codewordsInts[i0] = codewordBytes[i0] & 255; + } + numECCodewords = codewordBytes.length - numDataCodewords; + try { + $decode(this$static.rsDecoder, codewordsInts, numECCodewords); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 45)) { + throw $clinit_ChecksumException() , $clinit_ChecksumException() , INSTANCE_0; + } + else + throw unwrap($e0); + } + for (i = 0; i < numDataCodewords; i++) { + codewordBytes[i] = narrow_byte(codewordsInts[i]); + } +} + +function $decode_1(this$static, bits){ + var ce, e, fe, parser, result; + parser = new BitMatrixParser(bits); + fe = null; + ce = null; + try { + return $decode_2(this$static, parser); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 56)) { + e = $e0; + fe = e; + } + else if (instanceOf($e0, 55)) { + e = $e0; + ce = e; + } + else + throw unwrap($e0); + } + try { + $remask(parser); + parser.parsedVersion = null; + parser.parsedFormatInfo = null; + parser.mirror = true; + $readVersion(parser); + $readFormatInformation(parser); + $mirror(parser); + result = $decode_2(this$static, parser); + $setOther(result, new QRCodeDecoderMetaData); + return result; + } + catch ($e1) { + $e1 = wrap($e1); + if (instanceOf($e1, 56) || instanceOf($e1, 55)) { + e = $e1; + if (fe) { + throw fe; + } + if (ce) { + throw ce; + } + throw e; + } + else + throw unwrap($e1); + } +} + +function $decode_2(this$static, parser){ + var codewordBytes, codewords, dataBlock, dataBlock$index, dataBlock$index0, dataBlock$max, dataBlock$max0, dataBlocks, ecLevel, i, numDataCodewords, resultBytes, resultOffset, totalBytes, version; + version = $readVersion(parser); + ecLevel = $readFormatInformation(parser).errorCorrectionLevel; + codewords = $readCodewords(parser); + dataBlocks = getDataBlocks(codewords, version, ecLevel); + totalBytes = 0; + for (dataBlock$index0 = 0 , dataBlock$max0 = dataBlocks.length; dataBlock$index0 < dataBlock$max0; ++dataBlock$index0) { + dataBlock = dataBlocks[dataBlock$index0]; + totalBytes += dataBlock.numDataCodewords; + } + resultBytes = initDim(B_classLit, $intern_18, 0, totalBytes, 7, 1); + resultOffset = 0; + for (dataBlock$index = 0 , dataBlock$max = dataBlocks.length; dataBlock$index < dataBlock$max; ++dataBlock$index) { + dataBlock = dataBlocks[dataBlock$index]; + codewordBytes = dataBlock.codewords; + numDataCodewords = dataBlock.numDataCodewords; + $correctErrors(this$static, codewordBytes, numDataCodewords); + for (i = 0; i < numDataCodewords; i++) { + resultBytes[resultOffset++] = codewordBytes[i]; + } + } + return decode(resultBytes, version, ecLevel); +} + +function Decoder(){ + this.rsDecoder = new ReedSolomonDecoder(($clinit_GenericGF() , QR_CODE_FIELD_256)); +} + +defineClass(122, 1, {}, Decoder); +var Lcom_google_zxing_qrcode_decoder_Decoder_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Decoder', 122); +function $clinit_ErrorCorrectionLevel(){ + $clinit_ErrorCorrectionLevel = emptyMethod; + L = new ErrorCorrectionLevel('L', 0); + M = new ErrorCorrectionLevel('M', 1); + Q = new ErrorCorrectionLevel('Q', 2); + H = new ErrorCorrectionLevel('H', 3); + FOR_BITS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_19, 39, 0, [M, L, H, Q]); +} + +function ErrorCorrectionLevel(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function forBits(bits){ + $clinit_ErrorCorrectionLevel(); + if (bits < 0 || bits >= FOR_BITS.length) { + throw new IllegalArgumentException; + } + return FOR_BITS[bits]; +} + +function values_3(){ + $clinit_ErrorCorrectionLevel(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_19, 39, 0, [L, M, Q, H]); +} + +defineClass(39, 13, {39:1, 3:1, 19:1, 13:1}, ErrorCorrectionLevel); +var FOR_BITS, H, L, M, Q; +var Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'ErrorCorrectionLevel', 39, values_3); +function $clinit_FormatInformation(){ + $clinit_FormatInformation = emptyMethod; + FORMAT_INFO_DECODE_LOOKUP = initValues(getClassLiteralForArray(I_classLit, 2), $intern_2, 7, 0, [initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [21522, 0]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [20773, 1]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [24188, 2]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [23371, 3]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [17913, 4]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [16590, 5]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [20375, 6]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [19104, 7]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [30660, 8]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [29427, 9]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [32170, 10]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [30877, 11]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [26159, 12]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [25368, 13]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [27713, 14]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [26998, 15]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [5769, 16]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [5054, 17]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [7399, 18]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6608, 19]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1890, 20]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [597, 21]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [3340, 22]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [2107, 23]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [13663, 24]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [12392, 25]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [16177, 26]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [14854, 27]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [9396, 28]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8579, 29]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [11994, 30]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [11245, 31])]); +} + +function FormatInformation(formatInfo){ + this.errorCorrectionLevel = forBits(formatInfo >> 3 & 3); + this.dataMask = narrow_byte(formatInfo & 7); +} + +function decodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + $clinit_FormatInformation(); + var formatInfo; + formatInfo = doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2); + if (formatInfo) { + return formatInfo; + } + return doDecodeFormatInformation(maskedFormatInfo1 ^ 21522, maskedFormatInfo2 ^ 21522); +} + +function doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + var bestDifference, bestFormatInfo, bitsDifference, decodeInfo, decodeInfo$array, decodeInfo$index, decodeInfo$max, targetInfo; + bestDifference = $intern_0; + bestFormatInfo = 0; + for (decodeInfo$array = FORMAT_INFO_DECODE_LOOKUP , decodeInfo$index = 0 , decodeInfo$max = decodeInfo$array.length; decodeInfo$index < decodeInfo$max; ++decodeInfo$index) { + decodeInfo = decodeInfo$array[decodeInfo$index]; + targetInfo = decodeInfo[0]; + if (targetInfo == maskedFormatInfo1 || targetInfo == maskedFormatInfo2) { + return new FormatInformation(decodeInfo[1]); + } + bitsDifference = bitCount(maskedFormatInfo1 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + if (maskedFormatInfo1 != maskedFormatInfo2) { + bitsDifference = bitCount(maskedFormatInfo2 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + } + } + if (bestDifference <= 3) { + return new FormatInformation(bestFormatInfo); + } + return null; +} + +defineClass(49, 1, {49:1}, FormatInformation); +_.equals$ = function equals_3(o){ + var other; + if (!instanceOf(o, 49)) { + return false; + } + other = dynamicCast(o, 49); + return this.errorCorrectionLevel == other.errorCorrectionLevel && this.dataMask == other.dataMask; +} +; +_.hashCode$ = function hashCode_4(){ + return this.errorCorrectionLevel.ordinal << 3 | this.dataMask; +} +; +_.dataMask = 0; +var FORMAT_INFO_DECODE_LOOKUP; +var Lcom_google_zxing_qrcode_decoder_FormatInformation_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'FormatInformation', 49); +function $clinit_Mode(){ + $clinit_Mode = emptyMethod; + TERMINATOR = new Mode('TERMINATOR', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + NUMERIC = new Mode('NUMERIC', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [10, 12, 14])); + ALPHANUMERIC = new Mode('ALPHANUMERIC', 2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [9, 11, 13])); + STRUCTURED_APPEND = new Mode('STRUCTURED_APPEND', 3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + BYTE = new Mode('BYTE', 4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 16, 16])); + ECI = new Mode('ECI', 5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + KANJI = new Mode('KANJI', 6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 10, 12])); + FNC1_FIRST_POSITION = new Mode('FNC1_FIRST_POSITION', 7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + FNC1_SECOND_POSITION = new Mode('FNC1_SECOND_POSITION', 8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + HANZI = new Mode('HANZI', 9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 10, 12])); +} + +function $getCharacterCountBits(this$static, version){ + var number, offset; + number = version.versionNumber; + number <= 9?(offset = 0):number <= 26?(offset = 1):(offset = 2); + return this$static.characterCountBitsForVersions[offset]; +} + +function Mode(enum$name, enum$ordinal, characterCountBitsForVersions){ + Enum.call(this, enum$name, enum$ordinal); + this.characterCountBitsForVersions = characterCountBitsForVersions; +} + +function forBits_0(bits){ + $clinit_Mode(); + switch (bits) { + case 0: + return TERMINATOR; + case 1: + return NUMERIC; + case 2: + return ALPHANUMERIC; + case 3: + return STRUCTURED_APPEND; + case 4: + return BYTE; + case 5: + return FNC1_FIRST_POSITION; + case 7: + return ECI; + case 8: + return KANJI; + case 9: + return FNC1_SECOND_POSITION; + case 13: + return HANZI; + default:throw new IllegalArgumentException; + } +} + +function values_4(){ + $clinit_Mode(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Mode_2_classLit, 1), $intern_19, 23, 0, [TERMINATOR, NUMERIC, ALPHANUMERIC, STRUCTURED_APPEND, BYTE, ECI, KANJI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI]); +} + +defineClass(23, 13, {23:1, 3:1, 19:1, 13:1}, Mode); +var ALPHANUMERIC, BYTE, ECI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI, KANJI, NUMERIC, STRUCTURED_APPEND, TERMINATOR; +var Lcom_google_zxing_qrcode_decoder_Mode_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'Mode', 23, values_4); +function $applyMirroredCorrection(this$static, points){ + var bottomLeft; + if (!this$static.mirrored || points == null || points.length < 3) { + return; + } + bottomLeft = points[0]; + setCheck(points, 0, points[2]); + setCheck(points, 2, bottomLeft); +} + +function QRCodeDecoderMetaData(){ + this.mirrored = true; +} + +defineClass(132, 1, {}, QRCodeDecoderMetaData); +_.mirrored = false; +var Lcom_google_zxing_qrcode_decoder_QRCodeDecoderMetaData_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'QRCodeDecoderMetaData', 132); +function $clinit_Version(){ + $clinit_Version = emptyMethod; + VERSION_DECODE_INFO = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 68472, 70749, 76311, 79154, 84390, 87683, 92361, 96236, 102084, 102881, 110507, 110734, 117786, 119615, 126325, 127568, 133589, 136944, 141498, 145311, 150283, 152622, 158308, 161089, 167017]); + VERSIONS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version_2_classLit, 1), $intern_2, 9, 0, [new Version(1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, []), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(7, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 19)])), new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)])), new Version$ECBlocks(13, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 13)])), new Version$ECBlocks(17, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 9)]))])), new Version(2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 18]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 34)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 28)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)]))])), new Version(3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 22]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(15, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 55)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 44)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 17)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 13)]))])), new Version(4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 80)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 32)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 24)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 9)]))])), new Version(5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 108)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 43)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(2, 16)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 11), new Version$ECB(2, 12)]))])), new Version(6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 27)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 19)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 15)]))])), new Version(7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 22, 38]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 78)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 31)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(4, 15)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 13), new Version$ECB(1, 14)]))])), new Version(8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 24, 42]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 97)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 38), new Version$ECB(2, 39)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 18), new Version$ECB(2, 19)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 14), new Version$ECB(2, 15)]))])), new Version(9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 46]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 116)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 16), new Version$ECB(4, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 12), new Version$ECB(4, 13)]))])), new Version(10, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 50]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68), new Version$ECB(2, 69)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 43), new Version$ECB(1, 44)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 15), new Version$ECB(2, 16)]))])), new Version(11, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 81)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 50), new Version$ECB(4, 51)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 22), new Version$ECB(4, 23)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 12), new Version$ECB(8, 13)]))])), new Version(12, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 92), new Version$ECB(2, 93)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 20), new Version$ECB(6, 21)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 14), new Version$ECB(4, 15)]))])), new Version(13, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 107)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 37), new Version$ECB(1, 38)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 20), new Version$ECB(4, 21)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 11), new Version$ECB(4, 12)]))])), new Version(14, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 46, 66]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 40), new Version$ECB(5, 41)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 16), new Version$ECB(5, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(5, 13)]))])), new Version(15, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 48, 70]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 87), new Version$ECB(1, 88)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 41), new Version$ECB(5, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(7, 13)]))])), new Version(16, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 98), new Version$ECB(1, 99)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 15), new Version$ECB(13, 16)]))])), new Version(17, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(1, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22), new Version$ECB(15, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(17, 15)]))])), new Version(18, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 56, 82]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 120), new Version$ECB(1, 121)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 43), new Version$ECB(4, 44)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(1, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(19, 15)]))])), new Version(19, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 113), new Version$ECB(4, 114)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 44), new Version$ECB(11, 45)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 21), new Version$ECB(4, 22)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 13), new Version$ECB(16, 14)]))])), new Version(20, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 41), new Version$ECB(13, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(5, 25)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 15), new Version$ECB(10, 16)]))])), new Version(21, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 50, 72, 94]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 116), new Version$ECB(4, 117)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 42)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 16), new Version$ECB(6, 17)]))])), new Version(22, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74, 98]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 111), new Version$ECB(7, 112)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 13)]))])), new Version(23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 121), new Version$ECB(5, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 47), new Version$ECB(14, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(16, 15), new Version$ECB(14, 16)]))])), new Version(24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 54, 80, 106]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 45), new Version$ECB(14, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(30, 16), new Version$ECB(2, 17)]))])), new Version(25, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58, 84, 110]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 106), new Version$ECB(4, 107)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 47), new Version$ECB(13, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(13, 16)]))])), new Version(26, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 114), new Version$ECB(2, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 46), new Version$ECB(4, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(28, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(33, 16), new Version$ECB(4, 17)]))])), new Version(27, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90, 118]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 23), new Version$ECB(26, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 15), new Version$ECB(28, 16)]))])), new Version(28, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74, 98, 122]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 117), new Version$ECB(10, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 45), new Version$ECB(23, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 24), new Version$ECB(31, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(31, 16)]))])), new Version(29, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102, 126]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 116), new Version$ECB(7, 117)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(21, 45), new Version$ECB(7, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 23), new Version$ECB(37, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(26, 16)]))])), new Version(30, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 52, 78, 104, 130]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 115), new Version$ECB(10, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 47), new Version$ECB(10, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(25, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(25, 16)]))])), new Version(31, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 56, 82, 108, 134]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(3, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 46), new Version$ECB(29, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 24), new Version$ECB(1, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(28, 16)]))])), new Version(32, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 60, 86, 112, 138]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 24), new Version$ECB(35, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(35, 16)]))])), new Version(33, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114, 142]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(21, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 24), new Version$ECB(19, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(46, 16)]))])), new Version(34, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90, 118, 146]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(6, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(44, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(59, 16), new Version$ECB(1, 17)]))])), new Version(35, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102, 126, 150]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 121), new Version$ECB(7, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 47), new Version$ECB(26, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(39, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(41, 16)]))])), new Version(36, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 24, 50, 76, 102, 128, 154]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 121), new Version$ECB(14, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 47), new Version$ECB(34, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(46, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(64, 16)]))])), new Version(37, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 54, 80, 106, 132, 158]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 46), new Version$ECB(14, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(49, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(24, 15), new Version$ECB(46, 16)]))])), new Version(38, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58, 84, 110, 136, 162]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 122), new Version$ECB(18, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 46), new Version$ECB(32, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(48, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 15), new Version$ECB(32, 16)]))])), new Version(39, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 54, 82, 110, 138, 166]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(40, 47), new Version$ECB(7, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(43, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 15), new Version$ECB(67, 16)]))])), new Version(40, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114, 142, 170]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 118), new Version$ECB(6, 119)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(18, 47), new Version$ECB(31, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 24), new Version$ECB(34, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 15), new Version$ECB(61, 16)]))]))]); +} + +function $buildFunctionPattern(this$static){ + var bitMatrix, dimension, i, max_0, x_0, y_0; + dimension = 17 + 4 * this$static.versionNumber; + bitMatrix = new BitMatrix(dimension); + $setRegion(bitMatrix, 0, 0, 9, 9); + $setRegion(bitMatrix, dimension - 8, 0, 8, 9); + $setRegion(bitMatrix, 0, dimension - 8, 9, 8); + max_0 = this$static.alignmentPatternCenters.length; + for (x_0 = 0; x_0 < max_0; x_0++) { + i = this$static.alignmentPatternCenters[x_0] - 2; + for (y_0 = 0; y_0 < max_0; y_0++) { + if (x_0 == 0 && (y_0 == 0 || y_0 == max_0 - 1) || x_0 == max_0 - 1 && y_0 == 0) { + continue; + } + $setRegion(bitMatrix, this$static.alignmentPatternCenters[y_0] - 2, i, 5, 5); + } + } + $setRegion(bitMatrix, 6, 9, 1, dimension - 17); + $setRegion(bitMatrix, 9, 6, dimension - 17, 1); + if (this$static.versionNumber > 6) { + $setRegion(bitMatrix, dimension - 11, 0, 3, 6); + $setRegion(bitMatrix, 0, dimension - 11, 6, 3); + } + return bitMatrix; +} + +function Version(versionNumber, alignmentPatternCenters, ecBlocks){ + var ecBlock, ecBlock$index, ecBlock$max, ecCodewords, ecbArray, total; + this.versionNumber = versionNumber; + this.alignmentPatternCenters = alignmentPatternCenters; + this.ecBlocks = ecBlocks; + total = 0; + ecCodewords = ecBlocks[0].ecCodewordsPerBlock; + ecbArray = ecBlocks[0].ecBlocks; + for (ecBlock$index = 0 , ecBlock$max = ecbArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecbArray[ecBlock$index]; + total += ecBlock.count * (ecBlock.dataCodewords + ecCodewords); + } + this.totalCodewords = total; +} + +function decodeVersionInformation(versionBits){ + $clinit_Version(); + var bestDifference, bestVersion, bitsDifference, i, targetVersion; + bestDifference = $intern_0; + bestVersion = 0; + for (i = 0; i < VERSION_DECODE_INFO.length; i++) { + targetVersion = VERSION_DECODE_INFO[i]; + if (targetVersion == versionBits) { + return getVersionForNumber(i + 7); + } + bitsDifference = ($clinit_FormatInformation() , bitCount(versionBits ^ targetVersion)); + if (bitsDifference < bestDifference) { + bestVersion = i + 7; + bestDifference = bitsDifference; + } + } + if (bestDifference <= 3) { + return getVersionForNumber(bestVersion); + } + return null; +} + +function getProvisionalVersionForDimension(dimension){ + $clinit_Version(); + if (dimension % 4 != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + try { + return getVersionForNumber(~~((dimension - 17) / 4)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function getVersionForNumber(versionNumber){ + $clinit_Version(); + if (versionNumber < 1 || versionNumber > 40) { + throw new IllegalArgumentException; + } + return VERSIONS[versionNumber - 1]; +} + +defineClass(9, 1, {9:1}, Version); +_.toString$ = function toString_11(){ + return '' + this.versionNumber; +} +; +_.totalCodewords = 0; +_.versionNumber = 0; +var VERSIONS, VERSION_DECODE_INFO; +var Lcom_google_zxing_qrcode_decoder_Version_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version', 9); +function Version$ECB(count, dataCodewords){ + this.count = count; + this.dataCodewords = dataCodewords; +} + +defineClass(4, 1, {4:1}, Version$ECB); +_.count = 0; +_.dataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECB', 4); +function Version$ECBlocks(ecCodewordsPerBlock, ecBlocks){ + this.ecCodewordsPerBlock = ecCodewordsPerBlock; + this.ecBlocks = ecBlocks; +} + +defineClass(6, 1, {6:1}, Version$ECBlocks); +_.ecCodewordsPerBlock = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECBlocks', 6); +function $aboutEquals(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function AlignmentPattern(posX, posY, estimatedModuleSize){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; +} + +defineClass(50, 29, {29:1, 50:1}, AlignmentPattern); +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPattern', 50); +function $crossCheckVertical(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height_0; + stateCount = this$static.crossCheckStateCount; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + i = startI; + while (i >= 0 && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (i == maxI || stateCount[1] > maxCount) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[2] <= maxCount) { + ++stateCount[2]; + ++i; + } + if (stateCount[2] > maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return $foundPatternCross(this$static, stateCount)?i - stateCount[2] - stateCount[1] / 2:NaN; +} + +function $find(this$static){ + var confirmed, currentState, height, i, iGen, j, maxJ, middleI, startX, stateCount; + startX = this$static.startX; + height = this$static.height_0; + maxJ = startX + this$static.width_0; + middleI = this$static.startY + ~~(height / 2); + stateCount = initDim(I_classLit, $intern_20, 0, 3, 7, 1); + for (iGen = 0; iGen < height; iGen++) { + i = middleI + ((iGen & 1) == 0?~~((iGen + 1) / 2):-~~((iGen + 1) / 2)); + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + j = startX; + while (j < maxJ && !$get(this$static.image, j, i)) { + ++j; + } + currentState = 0; + while (j < maxJ) { + if ($get(this$static.image, j, i)) { + if (currentState == 1) { + ++stateCount[1]; + } + else { + if (currentState == 2) { + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, j); + if (confirmed) { + return confirmed; + } + } + stateCount[0] = stateCount[2]; + stateCount[1] = 1; + stateCount[2] = 0; + currentState = 1; + } + else { + ++stateCount[++currentState]; + } + } + } + else { + currentState == 1 && ++currentState; + ++stateCount[currentState]; + } + ++j; + } + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, maxJ); + if (confirmed) { + return confirmed; + } + } + } + if (this$static.possibleCenters.array.length != 0) { + return dynamicCast($get_1(this$static.possibleCenters, 0), 50); + } + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; +} + +function $foundPatternCross(this$static, stateCount){ + var i, maxVariance, moduleSize; + moduleSize = this$static.moduleSize; + maxVariance = moduleSize / 2; + for (i = 0; i < 3; i++) { + if (abs_0(moduleSize - stateCount[i]) >= maxVariance) { + return false; + } + } + return true; +} + +function $handlePossibleCenter(this$static, stateCount, i, j){ + var center, center$iterator, centerI, centerJ, estimatedModuleSize, point, stateCountTotal, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + centerJ = j - stateCount[2] - stateCount[1] / 2; + centerI = $crossCheckVertical(this$static, i, round_int(centerJ), 2 * stateCount[1], stateCountTotal); + if (!isNaN(centerI)) { + estimatedModuleSize = (stateCount[0] + stateCount[1] + stateCount[2]) / 3; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 50)); + if ($aboutEquals(center, estimatedModuleSize, centerI, centerJ)) { + return combinedX = (center.x_0 + centerJ) / 2 , combinedY = (center.y_0 + centerI) / 2 , combinedModuleSize = (center.estimatedModuleSize + estimatedModuleSize) / 2 , new AlignmentPattern(combinedX, combinedY, combinedModuleSize); + } + } + point = new AlignmentPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return null; +} + +function AlignmentPatternFinder(image, startX, startY, width_0, height, moduleSize){ + this.image = image; + this.possibleCenters = new ArrayList_0(5); + this.startX = startX; + this.startY = startY; + this.width_0 = width_0; + this.height_0 = height; + this.moduleSize = moduleSize; + this.crossCheckStateCount = initDim(I_classLit, $intern_20, 0, 3, 7, 1); +} + +defineClass(151, 1, {}, AlignmentPatternFinder); +_.height_0 = 0; +_.moduleSize = 0; +_.startX = 0; +_.startY = 0; +_.width_0 = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPatternFinder', 151); +function $calculateModuleSizeOneWay(this$static, pattern, otherPattern){ + var moduleSizeEst1, moduleSizeEst2; + moduleSizeEst1 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(pattern.x_0), round_int(pattern.y_0), round_int(otherPattern.x_0), round_int(otherPattern.y_0)); + moduleSizeEst2 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(otherPattern.x_0), round_int(otherPattern.y_0), round_int(pattern.x_0), round_int(pattern.y_0)); + if (isNaN(moduleSizeEst1)) { + return moduleSizeEst2 / 7; + } + if (isNaN(moduleSizeEst2)) { + return moduleSizeEst1 / 7; + } + return (moduleSizeEst1 + moduleSizeEst2) / 14; +} + +function $detect(this$static){ + var finder, info; + finder = new FinderPatternFinder(this$static.image); + info = $find_0(finder); + return $processFinderPatternInfo(this$static, info); +} + +function $findAlignmentInRegion(this$static, overallEstModuleSize, estAlignmentX, estAlignmentY, allowanceFactor){ + var alignmentAreaBottomY, alignmentAreaLeftX, alignmentAreaRightX, alignmentAreaTopY, alignmentFinder, allowance; + allowance = round_int(allowanceFactor * overallEstModuleSize); + alignmentAreaLeftX = 0 > estAlignmentX - allowance?0:estAlignmentX - allowance; + alignmentAreaRightX = min_1(this$static.image.width_0 - 1, estAlignmentX + allowance); + if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentAreaTopY = 0 > estAlignmentY - allowance?0:estAlignmentY - allowance; + alignmentAreaBottomY = min_1(this$static.image.height_0 - 1, estAlignmentY + allowance); + if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentFinder = new AlignmentPatternFinder(this$static.image, alignmentAreaLeftX, alignmentAreaTopY, alignmentAreaRightX - alignmentAreaLeftX, alignmentAreaBottomY - alignmentAreaTopY, overallEstModuleSize); + return $find(alignmentFinder); +} + +function $processFinderPatternInfo(this$static, info){ + var alignmentPattern, bits, bottomLeft, bottomRightX, bottomRightY, correctionToTopLeft, dimension, estAlignmentX, estAlignmentY, i, moduleSize, modulesBetweenFPCenters, points, provisionalVersion, topLeft, topRight, transform; + topLeft = info.topLeft; + topRight = info.topRight; + bottomLeft = info.bottomLeft; + moduleSize = ($calculateModuleSizeOneWay(this$static, topLeft, topRight) + $calculateModuleSizeOneWay(this$static, topLeft, bottomLeft)) / 2; + if (moduleSize < 1) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + dimension = computeDimension(topLeft, topRight, bottomLeft, moduleSize); + provisionalVersion = getProvisionalVersionForDimension(dimension); + modulesBetweenFPCenters = 17 + 4 * provisionalVersion.versionNumber - 7; + alignmentPattern = null; + if (provisionalVersion.alignmentPatternCenters.length > 0) { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + correctionToTopLeft = 1 - 3 / modulesBetweenFPCenters; + estAlignmentX = round_int(topLeft.x_0 + correctionToTopLeft * (bottomRightX - topLeft.x_0)); + estAlignmentY = round_int(topLeft.y_0 + correctionToTopLeft * (bottomRightY - topLeft.y_0)); + for (i = 4; i <= 16; i <<= 1) { + try { + alignmentPattern = $findAlignmentInRegion(this$static, moduleSize, estAlignmentX, estAlignmentY, i); + break; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 54)) + throw unwrap($e0); + } + } + } + transform = createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension); + bits = sampleGrid(this$static.image, transform, dimension); + !alignmentPattern?(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 29, 0, [bottomLeft, topLeft, topRight])):(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 29, 0, [bottomLeft, topLeft, topRight, alignmentPattern])); + return new DetectorResult(bits, points); +} + +function $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY){ + var dx, dy, error, realX, realY, state, steep, temp, x_0, xLimit, xstep, y_0, ystep; + steep = (toY - fromY < 0?-(toY - fromY):toY - fromY) > (toX - fromX < 0?-(toX - fromX):toX - fromX); + if (steep) { + temp = fromX; + fromX = fromY; + fromY = temp; + temp = toX; + toX = toY; + toY = temp; + } + dx = toX - fromX < 0?-(toX - fromX):toX - fromX; + dy = toY - fromY < 0?-(toY - fromY):toY - fromY; + error = ~~(-dx / 2); + xstep = fromX < toX?1:-1; + ystep = fromY < toY?1:-1; + state = 0; + xLimit = toX + xstep; + for (x_0 = fromX , y_0 = fromY; x_0 != xLimit; x_0 += xstep) { + realX = steep?y_0:x_0; + realY = steep?x_0:y_0; + if (state == 1 == $get(this$static.image, realX, realY)) { + if (state == 2) { + return distance_1(x_0, y_0, fromX, fromY); + } + ++state; + } + error += dy; + if (error > 0) { + if (y_0 == toY) { + break; + } + y_0 += ystep; + error -= dx; + } + } + if (state == 2) { + return distance_1(toX + xstep, toY, fromX, fromY); + } + return NaN; +} + +function $sizeOfBlackWhiteBlackRunBothWays(this$static, fromX, fromY, toX, toY){ + var otherToX, otherToY, result, scale; + result = $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY); + scale = 1; + otherToX = fromX - (toX - fromX); + if (otherToX < 0) { + scale = fromX / (fromX - otherToX); + otherToX = 0; + } + else if (otherToX >= this$static.image.width_0) { + scale = (this$static.image.width_0 - 1 - fromX) / (otherToX - fromX); + otherToX = this$static.image.width_0 - 1; + } + otherToY = round_int(fromY - (toY - fromY) * scale); + scale = 1; + if (otherToY < 0) { + scale = fromY / (fromY - otherToY); + otherToY = 0; + } + else if (otherToY >= this$static.image.height_0) { + scale = (this$static.image.height_0 - 1 - fromY) / (otherToY - fromY); + otherToY = this$static.image.height_0 - 1; + } + otherToX = round_int(fromX + (otherToX - fromX) * scale); + result += $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, otherToX, otherToY); + return result - 1; +} + +function Detector(image){ + this.image = image; +} + +function computeDimension(topLeft, topRight, bottomLeft, moduleSize){ + var dimension, tlblCentersDimension, tltrCentersDimension; + tltrCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0) / moduleSize); + tlblCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, bottomLeft.x_0, bottomLeft.y_0) / moduleSize); + dimension = ~~((tltrCentersDimension + tlblCentersDimension) / 2) + 7; + switch (dimension & 3) { + case 0: + ++dimension; + break; + case 2: + --dimension; + break; + case 3: + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + return dimension; +} + +function createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension){ + var bottomRightX, bottomRightY, dimMinusThree, sourceBottomRightX, sourceBottomRightY; + dimMinusThree = dimension - 3.5; + if (alignmentPattern) { + bottomRightX = alignmentPattern.x_0; + bottomRightY = alignmentPattern.y_0; + sourceBottomRightX = dimMinusThree - 3; + sourceBottomRightY = sourceBottomRightX; + } + else { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + sourceBottomRightX = dimMinusThree; + sourceBottomRightY = dimMinusThree; + } + return quadrilateralToQuadrilateral(dimMinusThree, sourceBottomRightX, sourceBottomRightY, dimMinusThree, topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0, bottomRightX, bottomRightY, bottomLeft.x_0, bottomLeft.y_0); +} + +function sampleGrid(image, transform, dimension){ + return $sampleGrid(image, dimension, dimension, transform); +} + +defineClass(131, 1, {}, Detector); +var Lcom_google_zxing_qrcode_detector_Detector_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'Detector', 131); +function $aboutEquals_0(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function FinderPattern(posX, posY, estimatedModuleSize){ + FinderPattern_0.call(this, posX, posY, estimatedModuleSize, 1); +} + +function FinderPattern_0(posX, posY, estimatedModuleSize, count){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; + this.count = count; +} + +defineClass(16, 29, {29:1, 16:1}, FinderPattern, FinderPattern_0); +_.count = 0; +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPattern', 16); +function $crossCheckDiagonal(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, maxI, maxJ, stateCount, stateCountTotal; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = 0; + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i)) { + ++stateCount[2]; + ++i; + } + if (startI < i || centerJ < i) { + return false; + } + while (startI >= i && centerJ >= i && !$get(this$static.image, centerJ - i, startI - i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (startI < i || centerJ < i || stateCount[1] > maxCount) { + return false; + } + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + ++i; + } + if (stateCount[0] > maxCount) { + return false; + } + maxI = this$static.image.height_0; + maxJ = this$static.image.width_0; + i = 1; + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i)) { + ++stateCount[2]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && !$get(this$static.image, centerJ + i, startI + i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ || stateCount[3] >= maxCount) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return false; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + return (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) < 2 * originalStateCountTotal && foundPatternCross(stateCount); +} + +function $crossCheckHorizontal(this$static, startJ, centerI, maxCount, originalStateCountTotal){ + var image, j, maxJ, stateCount, stateCountTotal; + image = this$static.image; + maxJ = image.width_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + j = startJ; + while (j >= 0 && $get(image, j, centerI)) { + ++stateCount[2]; + --j; + } + if (j < 0) { + return NaN; + } + while (j >= 0 && !$get(image, j, centerI) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --j; + } + if (j < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (j >= 0 && $get(image, j, centerI) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --j; + } + if (stateCount[0] > maxCount) { + return NaN; + } + j = startJ + 1; + while (j < maxJ && $get(image, j, centerI)) { + ++stateCount[2]; + ++j; + } + if (j == maxJ) { + return NaN; + } + while (j < maxJ && !$get(image, j, centerI) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++j; + } + if (j == maxJ || stateCount[3] >= maxCount) { + return NaN; + } + while (j < maxJ && $get(image, j, centerI) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++j; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?j - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $crossCheckVertical_0(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = startI; + while (i >= 0 && $get(image, centerJ, i)) { + ++stateCount[2]; + --i; + } + if (i < 0) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && $get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i)) { + ++stateCount[2]; + ++i; + } + if (i == maxI) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (i == maxI || stateCount[3] >= maxCount) { + return NaN; + } + while (i < maxI && $get(image, centerJ, i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?i - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $find_0(this$static){ + var confirmed, currentState, done, i, iSkip, j, maxI, maxJ, patternInfo, rowSkip, stateCount; + maxI = this$static.image.height_0; + maxJ = this$static.image.width_0; + iSkip = ~~(3 * maxI / 228); + iSkip < 3 && (iSkip = 3); + done = false; + stateCount = initDim(I_classLit, $intern_20, 0, 5, 7, 1); + for (i = iSkip - 1; i < maxI && !done; i += iSkip) { + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + currentState = 0; + for (j = 0; j < maxJ; j++) { + if ($get(this$static.image, j, i)) { + (currentState & 1) == 1 && ++currentState; + ++stateCount[currentState]; + } + else { + if ((currentState & 1) == 0) { + if (currentState == 4) { + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, j, false); + if (confirmed) { + iSkip = 2; + if (this$static.hasSkipped) { + done = $haveMultiplyConfirmedCenters(this$static); + } + else { + rowSkip = $findRowSkip(this$static); + if (rowSkip > stateCount[2]) { + i += rowSkip - stateCount[2] - 2; + j = maxJ - 1; + } + } + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + continue; + } + currentState = 0; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + } + } + else { + ++stateCount[++currentState]; + } + } + else { + ++stateCount[currentState]; + } + } + } + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, maxJ, false); + if (confirmed) { + iSkip = stateCount[0]; + this$static.hasSkipped && (done = $haveMultiplyConfirmedCenters(this$static)); + } + } + } + patternInfo = $selectBestPatterns(this$static); + orderBestPatterns(patternInfo); + return new FinderPatternInfo(patternInfo); +} + +function $findRowSkip(this$static){ + var center, center$iterator, firstConfirmedCenter, max_0; + max_0 = this$static.possibleCenters.array.length; + if (max_0 <= 1) { + return 0; + } + firstConfirmedCenter = null; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + if (center.count >= 2) { + if (!firstConfirmedCenter) { + firstConfirmedCenter = center; + } + else { + this$static.hasSkipped = true; + return ~~(round_int(abs_0(firstConfirmedCenter.x_0 - center.x_0) - abs_0(firstConfirmedCenter.y_0 - center.y_0)) / 2); + } + } + } + return 0; +} + +function $handlePossibleCenter_0(this$static, stateCount, i, j, pureBarcode){ + var center, centerI, centerJ, estimatedModuleSize, found, index_0, point, stateCountTotal, combinedCount, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + centerJ = j - stateCount[4] - stateCount[3] - stateCount[2] / 2; + centerI = $crossCheckVertical_0(this$static, i, round_int(centerJ), stateCount[2], stateCountTotal); + if (!isNaN(centerI)) { + centerJ = $crossCheckHorizontal(this$static, round_int(centerJ), round_int(centerI), stateCount[2], stateCountTotal); + if (!isNaN(centerJ) && (!pureBarcode || $crossCheckDiagonal(this$static, round_int(centerI), round_int(centerJ), stateCount[2], stateCountTotal))) { + estimatedModuleSize = stateCountTotal / 7; + found = false; + for (index_0 = 0; index_0 < this$static.possibleCenters.array.length; index_0++) { + center = dynamicCast($get_1(this$static.possibleCenters, index_0), 16); + if ($aboutEquals_0(center, estimatedModuleSize, centerI, centerJ)) { + $set_1(this$static.possibleCenters, index_0, (combinedCount = center.count + 1 , combinedX = (center.count * center.x_0 + centerJ) / combinedCount , combinedY = (center.count * center.y_0 + centerI) / combinedCount , combinedModuleSize = (center.count * center.estimatedModuleSize + estimatedModuleSize) / combinedCount , new FinderPattern_0(combinedX, combinedY, combinedModuleSize, combinedCount))); + found = true; + break; + } + } + if (!found) { + point = new FinderPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return true; + } + } + return false; +} + +function $haveMultiplyConfirmedCenters(this$static){ + var average, confirmedCount, max_0, pattern, pattern$iterator, pattern$iterator0, totalDeviation, totalModuleSize; + confirmedCount = 0; + totalModuleSize = 0; + max_0 = this$static.possibleCenters.array.length; + for (pattern$iterator0 = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator0.i < pattern$iterator0.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator0.i < pattern$iterator0.this$01.size_1()) , dynamicCast(pattern$iterator0.this$01.get_1(pattern$iterator0.last = pattern$iterator0.i++), 16)); + if (pattern.count >= 2) { + ++confirmedCount; + totalModuleSize += pattern.estimatedModuleSize; + } + } + if (confirmedCount < 3) { + return false; + } + average = totalModuleSize / max_0; + totalDeviation = 0; + for (pattern$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator.i < pattern$iterator.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator.i < pattern$iterator.this$01.size_1()) , dynamicCast(pattern$iterator.this$01.get_1(pattern$iterator.last = pattern$iterator.i++), 16)); + totalDeviation += abs_0(pattern.estimatedModuleSize - average); + } + return totalDeviation <= 0.05000000074505806 * totalModuleSize; +} + +function $selectBestPatterns(this$static){ + var average, center, center$iterator, i, limit, pattern, possibleCenter, possibleCenter$iterator, size_0, square, startSize, stdDev, totalModuleSize; + startSize = this$static.possibleCenters.array.length; + if (startSize < 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + if (startSize > 3) { + totalModuleSize = 0; + square = 0; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + size_0 = center.estimatedModuleSize; + totalModuleSize += size_0; + square += size_0 * size_0; + } + average = totalModuleSize / startSize; + stdDev = Math.sqrt(square / startSize - average * average); + sort_0(this$static.possibleCenters, new FinderPatternFinder$FurthestFromAverageComparator(average)); + limit = $intern_22 * average > stdDev?$intern_22 * average:stdDev; + for (i = 0; i < this$static.possibleCenters.array.length && this$static.possibleCenters.array.length > 3; i++) { + pattern = dynamicCast($get_1(this$static.possibleCenters, i), 16); + if (abs_0(pattern.estimatedModuleSize - average) > limit) { + this$static.possibleCenters.remove(i); + --i; + } + } + } + if (this$static.possibleCenters.array.length > 3) { + totalModuleSize = 0; + for (possibleCenter$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1();) { + possibleCenter = (checkCriticalElement(possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1()) , dynamicCast(possibleCenter$iterator.this$01.get_1(possibleCenter$iterator.last = possibleCenter$iterator.i++), 16)); + totalModuleSize += possibleCenter.estimatedModuleSize; + } + average = totalModuleSize / this$static.possibleCenters.array.length; + sort_0(this$static.possibleCenters, new FinderPatternFinder$CenterComparator(average)); + $clear(new AbstractList$SubList(this$static.possibleCenters, this$static.possibleCenters.array.length)); + } + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit, 1), $intern_2, 16, 0, [dynamicCast($get_1(this$static.possibleCenters, 0), 16), dynamicCast($get_1(this$static.possibleCenters, 1), 16), dynamicCast($get_1(this$static.possibleCenters, 2), 16)]); +} + +function FinderPatternFinder(image){ + this.image = image; + this.possibleCenters = new ArrayList; + this.crossCheckStateCount = initDim(I_classLit, $intern_20, 0, 5, 7, 1); +} + +function foundPatternCross(stateCount){ + var count, i, maxVariance, moduleSize, totalModuleSize; + totalModuleSize = 0; + for (i = 0; i < 5; i++) { + count = stateCount[i]; + if (count == 0) { + return false; + } + totalModuleSize += count; + } + if (totalModuleSize < 7) { + return false; + } + moduleSize = totalModuleSize / 7; + maxVariance = moduleSize / 2; + return abs_0(moduleSize - stateCount[0]) < maxVariance && abs_0(moduleSize - stateCount[1]) < maxVariance && abs_0(3 * moduleSize - stateCount[2]) < 3 * maxVariance && abs_0(moduleSize - stateCount[3]) < maxVariance && abs_0(moduleSize - stateCount[4]) < maxVariance; +} + +defineClass(134, 1, {}, FinderPatternFinder); +_.hasSkipped = false; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder', 134); +function $compare(this$static, center1, center2){ + var dA, dB; + if (center2.count == center1.count) { + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?1:dA == dB?0:-1; + } + else { + return center2.count - center1.count; + } +} + +function FinderPatternFinder$CenterComparator(f){ + this.average = f; +} + +defineClass(136, 1, $intern_18, FinderPatternFinder$CenterComparator); +_.compare = function compare(center1, center2){ + return $compare(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$CenterComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/CenterComparator', 136); +function $compare_0(this$static, center1, center2){ + var dA, dB; + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?-1:dA == dB?0:1; +} + +function FinderPatternFinder$FurthestFromAverageComparator(f){ + this.average = f; +} + +defineClass(135, 1, $intern_18, FinderPatternFinder$FurthestFromAverageComparator); +_.compare = function compare_0(center1, center2){ + return $compare_0(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$FurthestFromAverageComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/FurthestFromAverageComparator', 135); +function FinderPatternInfo(patternCenters){ + this.bottomLeft = patternCenters[0]; + this.topLeft = patternCenters[1]; + this.topRight = patternCenters[2]; +} + +defineClass(137, 1, {}, FinderPatternInfo); +var Lcom_google_zxing_qrcode_detector_FinderPatternInfo_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternInfo', 137); +function $getMatrix(this$static){ + var area, height, i, j, matrix, pixelByte, pixelInt, width_0; + width_0 = this$static.width_0; + height = this$static.height_0; + area = width_0 * height; + matrix = initDim(B_classLit, $intern_18, 0, area, 7, 1); + for (i = 0; i < width_0; i++) + for (j = 0; j < height; j++) { + pixelInt = $getColorAt(this$static.imagedata, this$static.left + i, this$static.top_0 + j, 0); + pixelByte = narrow_byte(pixelInt); + matrix[i + j * width_0] = pixelByte; + } + return matrix; +} + +function $getRow(this$static, y_0, row){ + var i, width_0, yoffset; + if (y_0 < 0 || y_0 >= this$static.height_0) { + throw new IllegalArgumentException_0('Requested row is outside the image: ' + y_0); + } + width_0 = this$static.width_0; + (row == null || row.length < width_0) && (row = initDim(B_classLit, $intern_18, 0, width_0, 7, 1)); + yoffset = this$static.top_0 + y_0; + for (i = 0; i < width_0; i++) { + row[i] = $getColorAt(this$static.imagedata, this$static.left + i, yoffset, 0) << 24 >> 24; + } + return row; +} + +function CanvasLuminanceSource(image){ + CanvasLuminanceSource_0.call(this, image, ($clinit_DOM() , image.element).width, image.element.height); +} + +function CanvasLuminanceSource_0(aImage, width_0, height){ + var avg, data_0, i, sourceHeight, sourceWidth; + this.width_0 = width_0; + this.height_0 = height; + sourceWidth = ($clinit_DOM() , aImage.element).width; + sourceHeight = aImage.element.height; + if (width_0 > sourceWidth || height > sourceHeight) { + throw new IllegalArgumentException_0('Crop rectangle does not fit within image data.'); + } + this.image = createIfSupported(); + $setPixelSize(this.image, sourceWidth, sourceHeight); + $setCoordinateSpaceHeight(this.image, sourceHeight); + $setCoordinateSpaceWidth(this.image, sourceWidth); + this.imagedata = $getImageData(aImage.element.getContext('2d'), 0, 0, width_0, height); + data_0 = this.imagedata.data; + for (i = 0; i < data_0.length; i += 4) { + if (((data_0[i + 3] || 0) & 255) == 0) { + $set(data_0, i, 255); + $set(data_0, i + 1, 255); + $set(data_0, i + 2, 255); + $set(data_0, i + 3, 255); + } + else { + avg = ~~(((data_0[i] || 0) + (data_0[i + 1] || 0) + (data_0[i + 2] || 0)) / 3); + $set(data_0, i, avg); + $set(data_0, i + 1, avg); + $set(data_0, i + 2, avg); + } + } + $putImageData($getContext2d(this.image), this.imagedata, 0, 0); + this.left = 0; + this.top_0 = 0; +} + +defineClass(78, 125, {}, CanvasLuminanceSource); +_.left = 0; +_.top_0 = 0; +var Lcom_google_zxing_web_CanvasLuminanceSource_2_classLit = createForClass('com.google.zxing.web', 'CanvasLuminanceSource', 78); +function $createSnapImage(this$static){ + var binarizer, h, lsource, snapImage, w; + w = $getVideoElement(this$static.video).videoWidth; + h = $getVideoElement(this$static.video).videoHeight; + if (w > 0 && h > 0) { + if (this$static.snapImageMaxSize > 0) { + if (w > h) { + if (this$static.snapImageMaxSize < w) { + h = ~~(h * this$static.snapImageMaxSize / w); + w = this$static.snapImageMaxSize; + } + } + else { + if (this$static.snapImageMaxSize < h) { + w = ~~(w * this$static.snapImageMaxSize / h); + h = this$static.snapImageMaxSize; + } + } + } + $setCoordinateSpaceWidth(this$static.canvas, w); + $setCoordinateSpaceHeight(this$static.canvas, h); + $drawImage($getCanvasElement(this$static.canvas).getContext('2d'), $getMediaElement(this$static.video), 0, 0, w, h); + lsource = new CanvasLuminanceSource(this$static.canvas); + binarizer = new HybridBinarizer(lsource); + snapImage = new BinaryBitmap(binarizer); + return snapImage; + } + return null; +} + +function $isScanning(this$static){ + return this$static.active && this$static.attached; +} + +function $onAttach_1(this$static){ + var t; + $onAttach(this$static); + $setSrc(this$static.video); + try { + $setWebcam(($clinit_DOM() , this$static.video.element), this$static); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + t = $e0; + $reportError(this$static, t.getMessage()); + } + else + throw unwrap($e0); + } +} + +function $reportError(this$static, msg){ + $onSuccess(this$static.callback, new Result(msg)); +} + +function $resumeScanning(this$static){ + this$static.active = true; + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); +} + +function $scan(this$static){ + var bitmap, reader, reader$iterator, result; + if (!(this$static.active && this$static.attached)) + return; + try { + bitmap = $createSnapImage(this$static); + if (bitmap) { + for (reader$iterator = new AbstractList$IteratorImpl(this$static.readers); reader$iterator.i < reader$iterator.this$01.size_1();) { + reader = (checkCriticalElement(reader$iterator.i < reader$iterator.this$01.size_1()) , dynamicCast(reader$iterator.this$01.get_1(reader$iterator.last = reader$iterator.i++), 181)); + try { + result = $decode_0(reader, bitmap); + $onSuccess(this$static.callback, result); + return; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 10)) + throw unwrap($e0); + } + } + } + } + finally { + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); + } +} + +function $setScanInterval(this$static, scanInterval){ + this$static.scanInterval = scanInterval; +} + +function $setSnapImageMaxSize(this$static, snapImageMaxSize){ + this$static.snapImageMaxSize = snapImageMaxSize; +} + +function $setWebcam(videoElement, scanner){ + function success(stream){ + scanner.videoStream = stream; + var v = videoElement; + function removeControls(){ + v.removeAttribute('controls'); + } + + try { + v.srcObject = stream; + v.setAttribute('playsinline', true); + v.setAttribute('controls', true); + setTimeout(removeControls); + } + catch (ex) { + v.src = $wnd.URL.createObjectURL(stream); + } + scanner.videoAttached(); + } + + function error(ex){ + var msg = ex.message; + scanner.reportError(msg); + } + + var vsp = scanner.videoStreamProvider; + if (vsp) { + vsp().then(success)['catch'](error); + return; + } + var n = $wnd.navigator; + if (n.mediaDevices && n.mediaDevices.getUserMedia) { + n.mediaDevices.getUserMedia({video:{facingMode:'environment'}, audio:false}).then(success)['catch'](error); + } + else { + var constraints = {audio:false, video:true}; + n.getUserMedia?n.getUserMedia(constraints, success, error):n.webkitGetUserMedia?n.webkitGetUserMedia(constraints, success, error):n.mozGetUserMedia && n.mozGetUserMedia(constraints, success, error); + } +} + +function $stopWebcam(scanner){ + if (scanner.videoStream) { + var stream = scanner.videoStream; + stream.stop?stream.stop():stream.getTracks && stream.getTracks().forEach(function(track){ + track.stop(); + } + ); + scanner.videoStream = null; + } +} + +function ScannerWidget(callback, videoStreamProvider){ + this.children = new WidgetCollection; + $setElement(this, ($clinit_DOM() , $doc.createElement('div'))); + this.video = createIfSupported_0(); + this.canvas = createIfSupported(); + this.qrReader = new QRCodeReader; + this.readers = new ArrayList; + this.scanInterval = 300; + this.snapImageMaxSize = -1; + this.active = true; + this.callback = callback; + this.videoStreamProvider = videoStreamProvider; + $add_2(this.readers, this.qrReader); + this.scanTimer = new ScannerWidget$1(this); + $add_0(this, this.video); + $setStyleName(this.video); + $setAutoplay(this.video); +} + +defineClass(104, 75, $intern_1); +_.onAttach = function onAttach_1(){ + $onAttach_1(this); +} +; +_.onDetach = function onDetach_0(){ + $onDetach(this); + $stopWebcam(this); +} +; +_.reportError = function reportError(msg){ + $reportError(this, msg); +} +; +_.videoAttached = function videoAttached(){ + this.active && this.attached && $schedule(this.scanTimer, this.scanInterval); +} +; +_.active = false; +_.scanInterval = 0; +_.snapImageMaxSize = 0; +var Lcom_google_zxing_web_ScannerWidget_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget', 104); +function ScannerWidget$1(this$0){ + this.this$01 = this$0; +} + +defineClass(108, 107, {}, ScannerWidget$1); +var Lcom_google_zxing_web_ScannerWidget$1_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget/1', 108); +defineClass(153, 10, $intern_4); +var Ljava_io_IOException_2_classLit = createForClass('java.io', 'IOException', 153); +function UnsupportedEncodingException(msg){ + Exception_0.call(this, msg); +} + +defineClass(51, 153, {3:1, 51:1, 10:1, 8:1}, UnsupportedEncodingException); +var Ljava_io_UnsupportedEncodingException_2_classLit = createForClass('java.io', 'UnsupportedEncodingException', 51); +function AbstractStringBuilder(string){ + this.string = string; +} + +defineClass(60, 1, {}); +_.toString$ = function toString_12(){ + return this.string; +} +; +var Ljava_lang_AbstractStringBuilder_2_classLit = createForClass('java.lang', 'AbstractStringBuilder', 60); +function ArithmeticException(){ + RuntimeException.call(this); +} + +defineClass(70, 15, $intern_4, ArithmeticException); +var Ljava_lang_ArithmeticException_2_classLit = createForClass('java.lang', 'ArithmeticException', 70); +function ArrayStoreException(){ + RuntimeException.call(this); +} + +function ArrayStoreException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(46, 15, $intern_4, ArrayStoreException, ArrayStoreException_0); +var Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang', 'ArrayStoreException', 46); +function toChars(codePoint, dst, dstIndex){ + checkCriticalArgument(codePoint >= 0 && codePoint <= 1114111); + if (codePoint >= $intern_12) { + dst[dstIndex++] = 55296 + (codePoint - $intern_12 >> 10 & 1023) & $intern_5; + dst[dstIndex] = 56320 + (codePoint - $intern_12 & 1023) & $intern_5; + return 2; + } + else { + dst[dstIndex] = codePoint & $intern_5; + return 1; + } +} + +function ClassCastException(){ + RuntimeException.call(this); +} + +defineClass(41, 15, $intern_4, ClassCastException); +var Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang', 'ClassCastException', 41); +defineClass(66, 1, {3:1, 66:1}); +var Ljava_lang_Number_2_classLit = createForClass('java.lang', 'Number', 66); +function $clinit_Double(){ + $clinit_Double = emptyMethod; + powers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_18, 0, 7, [1.3407807929942597E154, 1.157920892373162E77, 3.4028236692093846E38, 1.8446744073709552E19, 4294967296, $intern_12, 256, 16, 4, 2]); + invPowers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_18, 0, 7, [7.458340731200207E-155, 8.636168555094445E-78, 2.9387358770557188E-39, 5.421010862427522E-20, 2.3283064365386963E-10, 1.52587890625E-5, 0.00390625, 0.0625, 0.25, 0.5]); +} + +function doubleToLongBits(value_0){ + $clinit_Double(); + var bit, exp_0, i, ihi, ilo, negative; + if (isNaN_0(value_0)) { + return {l:0, m:0, h:524160}; + } + negative = false; + if (value_0 == 0) { + return 1 / value_0 == -Infinity?{l:0, m:0, h:$intern_11}:{l:0, m:0, h:0}; + } + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?{l:0, m:0, h:1048320}:{l:0, m:0, h:524032}; + } + exp_0 = 0; + if (value_0 < 1) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 < invPowers[i] && exp_0 - bit >= -1023) { + value_0 *= powers[i]; + exp_0 -= bit; + } + } + if (value_0 < 1 && exp_0 - 1 >= -1023) { + value_0 *= 2; + --exp_0; + } + } + else if (value_0 >= 2) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 >= powers[i]) { + value_0 *= invPowers[i]; + exp_0 += bit; + } + } + } + exp_0 > -1023?(value_0 -= 1):(value_0 *= 0.5); + ihi = fromDouble(value_0 * $intern_13); + value_0 -= toDouble(ihi) * 9.5367431640625E-7; + ilo = fromDouble(value_0 * 4503599627370496); + ihi = or(ihi, fromInt(exp_0 + 1023 << 20)); + negative && (ihi = or(ihi, {l:0, m:512, h:0})); + return or(shl(ihi, 32), ilo); +} + +function isNaN_0(x_0){ + $clinit_Double(); + return isNaN(x_0); +} + +var invPowers, powers; +function floatToIntBits(value_0){ + var bits, exp_0, l, mantissa, negative; + if (isNaN(value_0)) { + return 2143289344; + } + if (value_0 == 0) { + return 1 / value_0 == -Infinity?-2147483648:0; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?-8388608:2139095040; + } + l = doubleToLongBits(value_0); + exp_0 = toInt(sub_0(and(shr(l, 52), {l:2047, m:0, h:0}), {l:1023, m:0, h:0})); + mantissa = toInt(shr(and(l, {l:$intern_6, m:$intern_6, h:255}), 29)); + if (exp_0 <= -127) { + mantissa = ($intern_14 | mantissa) >> -127 - exp_0 + 1; + exp_0 = -127; + } + bits = negative?{l:0, m:512, h:0}:{l:0, m:0, h:0}; + bits = or(bits, fromInt(exp_0 + 127 << 23)); + bits = or(bits, fromInt(mantissa)); + return toInt(bits); +} + +function IllegalArgumentException(){ + RuntimeException.call(this); +} + +function IllegalArgumentException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(12, 15, {3:1, 10:1, 12:1, 8:1}, IllegalArgumentException, IllegalArgumentException_0); +var Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang', 'IllegalArgumentException', 12); +function IllegalStateException(){ + RuntimeException.call(this); +} + +function IllegalStateException_0(s){ + RuntimeException_0.call(this, s); +} + +defineClass(43, 15, $intern_4, IllegalStateException, IllegalStateException_0); +var Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang', 'IllegalStateException', 43); +function IndexOutOfBoundsException(){ + RuntimeException.call(this); +} + +function IndexOutOfBoundsException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(38, 15, $intern_4, IndexOutOfBoundsException, IndexOutOfBoundsException_0); +var Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang', 'IndexOutOfBoundsException', 38); +function $compareTo_0(this$static, b){ + return compare_1(this$static.value_0, b.value_0); +} + +function Integer(value_0){ + this.value_0 = value_0; +} + +function bitCount(x_0){ + x_0 -= x_0 >> 1 & 1431655765; + x_0 = (x_0 >> 2 & 858993459) + (x_0 & 858993459); + x_0 = (x_0 >> 4) + x_0 & 252645135; + x_0 += x_0 >> 8; + x_0 += x_0 >> 16; + return x_0 & 63; +} + +function compare_1(x_0, y_0){ + return x_0 < y_0?-1:x_0 > y_0?1:0; +} + +function toUnsignedRadixString(value_0, radix){ + return (value_0 >>> 0).toString(radix); +} + +function valueOf(i){ + var rebase, result; + if (i > -129 && i < 128) { + rebase = i + 128; + result = ($clinit_Integer$BoxedValues() , boxedValues_0)[rebase]; + !result && (result = boxedValues_0[rebase] = new Integer(i)); + return result; + } + return new Integer(i); +} + +defineClass(36, 66, {3:1, 19:1, 36:1, 66:1}, Integer); +_.compareTo = function compareTo_0(b){ + return $compareTo_0(this, dynamicCast(b, 36)); +} +; +_.equals$ = function equals_4(o){ + return instanceOf(o, 36) && dynamicCast(o, 36).value_0 == this.value_0; +} +; +_.hashCode$ = function hashCode_5(){ + return this.value_0; +} +; +_.toString$ = function toString_14(){ + return '' + this.value_0; +} +; +_.value_0 = 0; +var Ljava_lang_Integer_2_classLit = createForClass('java.lang', 'Integer', 36); +function $clinit_Integer$BoxedValues(){ + $clinit_Integer$BoxedValues = emptyMethod; + boxedValues_0 = initDim(Ljava_lang_Integer_2_classLit, $intern_2, 36, 256, 0, 1); +} + +var boxedValues_0; +function abs_0(x_0){ + return x_0 <= 0?0 - x_0:x_0; +} + +function min_1(x_0, y_0){ + return x_0 < y_0?x_0:y_0; +} + +function NullPointerException(){ + RuntimeException.call(this); +} + +function NullPointerException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(71, 15, $intern_4, NullPointerException, NullPointerException_0); +var Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang', 'NullPointerException', 71); +function $charAt(this$static, index_0){ + return this$static.charCodeAt(index_0); +} + +function $equals(this$static, other){ + return this$static === other; +} + +function $equalsIgnoreCase(this$static, other){ + if (other == null) { + return false; + } + if (this$static == other) { + return true; + } + return this$static.length == other.length && this$static.toLowerCase() == other.toLowerCase(); +} + +function $getChars(dst, dstBegin){ + var srcIdx; + for (srcIdx = 0; srcIdx < 45; ++srcIdx) { + dst[dstBegin++] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'.charCodeAt(srcIdx); + } +} + +function $split(this$static, regex, maxMatch){ + var compiled = new RegExp(regex, 'g'); + var out = []; + var count = 0; + var trail = this$static; + var lastTrail = null; + while (true) { + var matchObj = compiled.exec(trail); + if (matchObj == null || trail == '' || count == maxMatch - 1 && maxMatch > 0) { + out[count] = trail; + break; + } + else { + out[count] = trail.substring(0, matchObj.index); + trail = trail.substring(matchObj.index + matchObj[0].length, trail.length); + compiled.lastIndex = 0; + if (lastTrail == trail) { + out[count] = trail.substring(0, 1); + trail = trail.substring(1); + } + lastTrail = trail; + count++; + } + } + if (maxMatch == 0 && this$static.length > 0) { + var lastNonEmpty = out.length; + while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') { + --lastNonEmpty; + } + lastNonEmpty < out.length && out.splice(lastNonEmpty, out.length - lastNonEmpty); + } + var jr = __createArray(out.length); + for (var i = 0; i < out.length; ++i) { + jr[i] = out[i]; + } + return jr; +} + +function $substring(this$static, beginIndex){ + return __substr(this$static, beginIndex, this$static.length - beginIndex); +} + +function _String(bytes, len, charset){ + if ($equalsIgnoreCase('UTF-8', charset)) { + return utf8ToString(bytes, len); + } + else if ($equalsIgnoreCase('ISO-8859-1', charset) || $equalsIgnoreCase('ISO-LATIN-1', charset)) { + return latin1ToString(bytes, len); + } + else { + throw new UnsupportedEncodingException('Charset ' + charset + ' not supported'); + } +} + +function __createArray(numElements){ + return initDim(Ljava_lang_String_2_classLit, $intern_2, 2, numElements, 4, 1); +} + +function __substr(str, beginIndex, len){ + return str.substr(beginIndex, len); +} + +function __valueOf(x_0, start_0, end){ + var s = ''; + for (var batchStart = start_0; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd)); + batchStart = batchEnd; + } + return s; +} + +function compareTo_1(thisStr, otherStr){ + if (thisStr == otherStr) { + return 0; + } + return thisStr < otherStr?-1:1; +} + +function compareTo_Ljava_lang_Object__I__devirtual$(this$static, other){ + return isJavaString(this$static)?compareTo_1(this$static, dynamicCastToString(other)):this$static.compareTo(other); +} + +function latin1ToString(bytes, len){ + var chars, i; + chars = initDim(C_classLit, $intern_18, 0, len, 7, 1); + for (i = 0; i < len; ++i) { + chars[i] = bytes[i] & 255 & $intern_5; + } + return __valueOf(chars, 0, chars.length); +} + +function utf8ToString(bytes, len){ + var b, ch_0, charCount, chars, count, i, i0, outIdx; + charCount = 0; + for (i0 = 0; i0 < len;) { + ++charCount; + ch_0 = bytes[i0]; + if ((ch_0 & 192) == 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + else if ((ch_0 & 128) == 0) { + ++i0; + } + else if ((ch_0 & 224) == 192) { + i0 += 2; + } + else if ((ch_0 & 240) == 224) { + i0 += 3; + } + else if ((ch_0 & 248) == 240) { + i0 += 4; + } + else { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + if (i0 > len) { + throw new IndexOutOfBoundsException_0('Invalid UTF8 sequence'); + } + } + chars = initDim(C_classLit, $intern_18, 0, charCount, 7, 1); + outIdx = 0; + count = 0; + for (i = 0; i < len;) { + ch_0 = bytes[i++]; + if ((ch_0 & 128) == 0) { + count = 1; + ch_0 &= 127; + } + else if ((ch_0 & 224) == 192) { + count = 2; + ch_0 &= 31; + } + else if ((ch_0 & 240) == 224) { + count = 3; + ch_0 &= 15; + } + else if ((ch_0 & 248) == 240) { + count = 4; + ch_0 &= 7; + } + else if ((ch_0 & 252) == 248) { + count = 5; + ch_0 &= 3; + } + while (--count > 0) { + b = bytes[i++]; + if ((b & 192) != 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence at ' + (i - 1) + ', byte=' + toUnsignedRadixString(b, 16)); + } + ch_0 = ch_0 << 6 | b & 63; + } + outIdx += toChars(ch_0, chars, outIdx); + } + return __valueOf(chars, 0, chars.length); +} + +var Ljava_lang_String_2_classLit = createForClass('java.lang', 'String', 2); +function $clinit_String$HashCache(){ + $clinit_String$HashCache = emptyMethod; + back_0 = {}; + front = {}; +} + +function compute(str){ + var hashCode, i, n, nBatch; + hashCode = 0; + n = str.length; + nBatch = n - 4; + i = 0; + while (i < nBatch) { + hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))); + hashCode = ~~hashCode; + i += 4; + } + while (i < n) { + hashCode = hashCode * 31 + $charAt(str, i++); + } + hashCode = ~~hashCode; + return hashCode; +} + +function getHashCode_0(str){ + $clinit_String$HashCache(); + var key = ':' + str; + var result = front[key]; + if (result != null) { + return result; + } + result = back_0[key]; + result == null && (result = compute(str)); + increment(); + return front[key] = result; +} + +function increment(){ + if (count_0 == 256) { + back_0 = front; + front = {}; + count_0 = 0; + } + ++count_0; +} + +var back_0, count_0 = 0, front; +function $append(this$static, x_0){ + this$static.string += charToString(x_0); + return this$static; +} + +function $append_0(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_1(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_2(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function StringBuilder(){ + AbstractStringBuilder.call(this, ''); +} + +function StringBuilder_0(s){ + AbstractStringBuilder.call(this, s); +} + +defineClass(27, 60, {179:1}, StringBuilder, StringBuilder_0); +var Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang', 'StringBuilder', 27); +function arraycopy(src_0, srcOfs, dest, destOfs, len){ + var destArray, destComp, destEnd, destType, destlen, srcArray, srcComp, srcType, srclen; + checkNotNull_0(src_0, 'src'); + checkNotNull_0(dest, 'dest'); + srcType = getClass__Ljava_lang_Class___devirtual$(src_0); + destType = getClass__Ljava_lang_Class___devirtual$(dest); + checkArrayType((srcType.modifiers & 4) != 0, 'srcType is not an array'); + checkArrayType((destType.modifiers & 4) != 0, 'destType is not an array'); + srcComp = srcType.componentType; + destComp = destType.componentType; + checkArrayType((srcComp.modifiers & 1) != 0?srcComp == destComp:(destComp.modifiers & 1) == 0, "Array types don't match"); + srclen = src_0.length; + destlen = dest.length; + if (srcOfs < 0 || destOfs < 0 || len < 0 || srcOfs + len > srclen || destOfs + len > destlen) { + throw new IndexOutOfBoundsException; + } + if (((srcComp.modifiers & 1) == 0 || (srcComp.modifiers & 4) != 0) && srcType != destType) { + srcArray = dynamicCast(src_0, 5); + destArray = dynamicCast(dest, 5); + if (maskUndefined(src_0) === maskUndefined(dest) && srcOfs < destOfs) { + srcOfs += len; + for (destEnd = destOfs + len; destEnd-- > destOfs;) { + setCheck(destArray, destEnd, srcArray[--srcOfs]); + } + } + else { + for (destEnd = destOfs + len; destOfs < destEnd;) { + setCheck(destArray, destOfs++, srcArray[srcOfs++]); + } + } + } + else + len > 0 && nativeArraySplice(src_0, srcOfs, dest, destOfs, len, true); +} + +function UnsupportedOperationException(message){ + RuntimeException_0.call(this, message); +} + +defineClass(72, 15, $intern_4, UnsupportedOperationException); +var Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang', 'UnsupportedOperationException', 72); +function $advanceToFind(this$static, o){ + var e, iter; + for (iter = this$static.iterator(); iter.hasNext();) { + e = iter.next(); + if (maskUndefined(o) === maskUndefined(e) || o != null && equals_Ljava_lang_Object__Z__devirtual$(o, e)) { + return true; + } + } + return false; +} + +function $containsAll(this$static, c){ + var e, e$iterator; + checkNotNull(c); + for (e$iterator = c.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + if (!this$static.contains_0(e)) { + return false; + } + } + return true; +} + +function $toString_0(this$static){ + var comma, e, e$iterator, sb; + sb = new StringBuilder_0('['); + comma = false; + for (e$iterator = this$static.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + comma?(sb.string += ', ' , sb):(comma = true); + sb.string += e === this$static?'(this Collection)':'' + e; + } + sb.string += ']'; + return sb.string; +} + +defineClass(169, 1, {}); +_.contains_0 = function contains(o){ + return $advanceToFind(this, o); +} +; +_.toString$ = function toString_15(){ + return $toString_0(this); +} +; +var Ljava_util_AbstractCollection_2_classLit = createForClass('java.util', 'AbstractCollection', 169); +function $containsEntry(this$static, entry){ + var key, ourValue, value_0; + key = entry.getKey(); + value_0 = entry.getValue(); + ourValue = this$static.get_0(key); + if (!(maskUndefined(value_0) === maskUndefined(ourValue) || value_0 != null && equals_Ljava_lang_Object__Z__devirtual$(value_0, ourValue))) { + return false; + } + if (ourValue == null && !this$static.containsKey(key)) { + return false; + } + return true; +} + +function $implFindEntry(this$static, key){ + var entry, iter, k; + for (iter = this$static.entrySet().iterator(); iter.hasNext();) { + entry = dynamicCast(iter.next(), 17); + k = entry.getKey(); + if (maskUndefined(key) === maskUndefined(k) || key != null && equals_Ljava_lang_Object__Z__devirtual$(key, k)) { + return entry; + } + } + return null; +} + +function $toString_1(this$static, o){ + return o === this$static?'(this Map)':'' + o; +} + +function getEntryValueOrNull(entry){ + return !entry?null:entry.getValue(); +} + +defineClass(168, 1, {58:1}); +_.containsKey = function containsKey(key){ + return !!$implFindEntry(this, key); +} +; +_.equals$ = function equals_5(obj){ + var entry, entry$iterator, otherMap; + if (obj === this) { + return true; + } + if (!instanceOf(obj, 58)) { + return false; + } + otherMap = dynamicCast(obj, 58); + if (this.size_1() != otherMap.size_1()) { + return false; + } + for (entry$iterator = otherMap.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + if (!$containsEntry(this, entry)) { + return false; + } + } + return true; +} +; +_.get_0 = function get_0(key){ + return getEntryValueOrNull($implFindEntry(this, key)); +} +; +_.hashCode$ = function hashCode_6(){ + return hashCode_12(this.entrySet()); +} +; +_.size_1 = function size_1(){ + return this.entrySet().size_1(); +} +; +_.toString$ = function toString_16(){ + var comma, entry, entry$iterator, sb; + sb = new StringBuilder_0('{'); + comma = false; + for (entry$iterator = this.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + comma?(sb.string += ', ' , sb):(comma = true); + $append_2(sb, $toString_1(this, entry.getKey())); + sb.string += '='; + $append_2(sb, $toString_1(this, entry.getValue())); + } + sb.string += '}'; + return sb.string; +} +; +var Ljava_util_AbstractMap_2_classLit = createForClass('java.util', 'AbstractMap', 168); +function $containsKey(this$static, key){ + return isJavaString(key)?key == null?!!$getEntry(this$static.hashCodeMap, null):!(this$static.stringMap.get_2(key) === undefined):!!$getEntry(this$static.hashCodeMap, key); +} + +function $elementAdded(this$static){ + ++this$static.size_0; + structureChanged(this$static); +} + +function $elementRemoved(this$static){ + --this$static.size_0; + structureChanged(this$static); +} + +function $get_0(this$static, key){ + return isJavaString(key)?key == null?getEntryValueOrNull($getEntry(this$static.hashCodeMap, null)):this$static.stringMap.get_2(key):getEntryValueOrNull($getEntry(this$static.hashCodeMap, key)); +} + +function $put(this$static, key, value_0){ + return isJavaString(key)?$putStringValue(this$static, key, value_0):$put_2(this$static.hashCodeMap, key, value_0); +} + +function $putStringValue(this$static, key, value_0){ + return key == null?$put_2(this$static.hashCodeMap, null, value_0):this$static.stringMap.put(key, value_0); +} + +function $remove_2(this$static, key){ + return $remove_5(this$static.hashCodeMap, key); +} + +defineClass(84, 168, {58:1}); +_.containsKey = function containsKey_0(key){ + return $containsKey(this, key); +} +; +_.entrySet = function entrySet(){ + return new AbstractHashMap$EntrySet(this); +} +; +_.get_0 = function get_1(key){ + return $get_0(this, key); +} +; +_.size_1 = function size_2(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util', 'AbstractHashMap', 84); +defineClass(170, 169, $intern_23); +_.equals$ = function equals_6(o){ + var other; + if (o === this) { + return true; + } + if (!instanceOf(o, 40)) { + return false; + } + other = dynamicCast(o, 40); + if (other.size_1() != this.size_1()) { + return false; + } + return $containsAll(this, other); +} +; +_.hashCode$ = function hashCode_7(){ + return hashCode_12(this); +} +; +var Ljava_util_AbstractSet_2_classLit = createForClass('java.util', 'AbstractSet', 170); +function $contains(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function AbstractHashMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(68, 170, $intern_23, AbstractHashMap$EntrySet); +_.contains_0 = function contains_0(o){ + return $contains(this, o); +} +; +_.iterator = function iterator_2(){ + return new AbstractHashMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_3(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySet', 68); +function $hasNext(this$static){ + if (this$static.current.hasNext()) { + return true; + } + if (this$static.current != this$static.stringMapEntries) { + return false; + } + this$static.current = this$static.this$01.hashCodeMap.entries(); + return this$static.current.hasNext(); +} + +function $next_0(this$static){ + return checkStructuralChange(this$static.this$01, this$static) , checkCriticalElement($hasNext(this$static)) , dynamicCast(this$static.current.next(), 17); +} + +function AbstractHashMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.stringMapEntries = this.this$01.stringMap.entries(); + this.current = this.stringMapEntries; + setModCount(this, this$0._gwt_modCount); +} + +defineClass(69, 1, {}, AbstractHashMap$EntrySetIterator); +_.hasNext = function hasNext_0(){ + return $hasNext(this); +} +; +_.next = function next_0(){ + return $next_0(this); +} +; +var Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySetIterator', 69); +function $clear(this$static){ + $removeRange(this$static, this$static.size_0); +} + +function $removeRange(this$static, endIndex){ + var i, iter; + iter = new AbstractList$ListIteratorImpl(this$static); + for (i = 0; i < endIndex; ++i) { + checkCriticalElement(iter.i < iter.this$01.size_1()); + iter.this$01.get_1(iter.last = iter.i++); + checkState(iter.last != -1); + iter.this$01.remove(iter.last); + iter.i = iter.last; + iter.last = -1; + } +} + +defineClass(171, 169, {52:1}); +_.equals$ = function equals_7(o){ + var elem, elem$iterator, elemOther, iterOther, other; + if (o === this) { + return true; + } + if (!instanceOf(o, 52)) { + return false; + } + other = dynamicCast(o, 52); + if (this.size_1() != other.size_1()) { + return false; + } + iterOther = other.iterator(); + for (elem$iterator = new AbstractList$IteratorImpl(this); elem$iterator.i < elem$iterator.this$01.size_1();) { + elem = (checkCriticalElement(elem$iterator.i < elem$iterator.this$01.size_1()) , elem$iterator.this$01.get_1(elem$iterator.last = elem$iterator.i++)); + elemOther = (checkCriticalElement(iterOther.i < iterOther.this$01.size_1()) , iterOther.this$01.get_1(iterOther.last = iterOther.i++)); + if (!(maskUndefined(elem) === maskUndefined(elemOther) || elem != null && equals_Ljava_lang_Object__Z__devirtual$(elem, elemOther))) { + return false; + } + } + return true; +} +; +_.hashCode$ = function hashCode_8(){ + return hashCode_13(this); +} +; +_.iterator = function iterator_3(){ + return new AbstractList$IteratorImpl(this); +} +; +_.remove = function remove(index_0){ + throw new UnsupportedOperationException('Remove not supported on this list'); +} +; +var Ljava_util_AbstractList_2_classLit = createForClass('java.util', 'AbstractList', 171); +function AbstractList$IteratorImpl(this$0){ + this.this$01 = this$0; +} + +defineClass(24, 1, {}, AbstractList$IteratorImpl); +_.hasNext = function hasNext_1(){ + return this.i < this.this$01.size_1(); +} +; +_.next = function next_1(){ + return checkCriticalElement(this.i < this.this$01.size_1()) , this.this$01.get_1(this.last = this.i++); +} +; +_.i = 0; +_.last = -1; +var Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/IteratorImpl', 24); +function AbstractList$ListIteratorImpl(this$0){ + AbstractList$IteratorImpl.call(this, this$0); + checkPositionIndex(this$0.size_0); + this.i = 0; +} + +defineClass(88, 24, {}, AbstractList$ListIteratorImpl); +var Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/ListIteratorImpl', 88); +function AbstractList$SubList(wrapped, toIndex){ + checkCriticalPositionIndexes(toIndex, wrapped.array.length); + this.wrapped = wrapped; + this.fromIndex = 3; + this.size_0 = toIndex - 3; +} + +defineClass(89, 171, {52:1}, AbstractList$SubList); +_.get_1 = function get_2(index_0){ + checkElementIndex(index_0, this.size_0); + return $get_1(this.wrapped, this.fromIndex + index_0); +} +; +_.remove = function remove_0(index_0){ + var result; + checkElementIndex(index_0, this.size_0); + result = this.wrapped.remove(this.fromIndex + index_0); + --this.size_0; + return result; +} +; +_.size_1 = function size_4(){ + return this.size_0; +} +; +_.fromIndex = 0; +_.size_0 = 0; +var Ljava_util_AbstractList$SubList_2_classLit = createForClass('java.util', 'AbstractList/SubList', 89); +function $iterator(this$static){ + var outerIter; + outerIter = new AbstractHashMap$EntrySetIterator((new AbstractHashMap$EntrySet(this$static.this$01)).this$01); + return new AbstractMap$1$1(outerIter); +} + +function AbstractMap$1(this$0){ + this.this$01 = this$0; +} + +defineClass(53, 170, $intern_23, AbstractMap$1); +_.contains_0 = function contains_1(key){ + return $containsKey(this.this$01, key); +} +; +_.iterator = function iterator_4(){ + return $iterator(this); +} +; +_.size_1 = function size_5(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util', 'AbstractMap/1', 53); +function $next_1(this$static){ + var entry; + entry = $next_0(this$static.val$outerIter2); + return entry.getKey(); +} + +function AbstractMap$1$1(val$outerIter){ + this.val$outerIter2 = val$outerIter; +} + +defineClass(87, 1, {}, AbstractMap$1$1); +_.hasNext = function hasNext_2(){ + return $hasNext(this.val$outerIter2); +} +; +_.next = function next_2(){ + return $next_1(this); +} +; +var Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util', 'AbstractMap/1/1', 87); +defineClass(85, 1, $intern_24); +_.equals$ = function equals_8(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.key, entry.getKey()) && equals_11(this.value_0, entry.getValue()); +} +; +_.getKey = function getKey(){ + return this.key; +} +; +_.getValue = function getValue(){ + return this.value_0; +} +; +_.hashCode$ = function hashCode_9(){ + return hashCode_14(this.key) ^ hashCode_14(this.value_0); +} +; +_.setValue = function setValue(value_0){ + var oldValue; + oldValue = this.value_0; + this.value_0 = value_0; + return oldValue; +} +; +_.toString$ = function toString_17(){ + return this.key + '=' + this.value_0; +} +; +var Ljava_util_AbstractMap$AbstractEntry_2_classLit = createForClass('java.util', 'AbstractMap/AbstractEntry', 85); +function AbstractMap$SimpleEntry(key, value_0){ + this.key = key; + this.value_0 = value_0; +} + +defineClass(86, 85, $intern_24, AbstractMap$SimpleEntry); +var Ljava_util_AbstractMap$SimpleEntry_2_classLit = createForClass('java.util', 'AbstractMap/SimpleEntry', 86); +defineClass(172, 1, $intern_24); +_.equals$ = function equals_9(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.getKey(), entry.getKey()) && equals_11(this.getValue(), entry.getValue()); +} +; +_.hashCode$ = function hashCode_10(){ + return hashCode_14(this.getKey()) ^ hashCode_14(this.getValue()); +} +; +_.toString$ = function toString_18(){ + return this.getKey() + '=' + this.getValue(); +} +; +var Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util', 'AbstractMapEntry', 172); +function $$init(this$static){ + this$static.array = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, 0, 3, 1); +} + +function $add_2(this$static, o){ + setCheck(this$static.array, this$static.array.length, o); + return true; +} + +function $get_1(this$static, index_0){ + checkElementIndex(index_0, this$static.array.length); + return this$static.array[index_0]; +} + +function $indexOf_0(this$static, o, index_0){ + for (; index_0 < this$static.array.length; ++index_0) { + if (equals_11(o, this$static.array[index_0])) { + return index_0; + } + } + return -1; +} + +function $remove_3(this$static, index_0){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + splice(this$static.array, index_0, 1); + return previous; +} + +function $set_1(this$static, index_0, o){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + setCheck(this$static.array, index_0, o); + return previous; +} + +function ArrayList(){ + $$init(this); +} + +function ArrayList_0(initialCapacity){ + $$init(this); + checkCriticalArgument_0(initialCapacity >= 0, 'Initial capacity must not be negative'); +} + +function splice(array, index_0, deleteCount){ + array.splice(index_0, deleteCount); +} + +defineClass(42, 171, $intern_25, ArrayList, ArrayList_0); +_.add_0 = function add_0(o){ + return $add_2(this, o); +} +; +_.contains_0 = function contains_2(o){ + return $indexOf_0(this, o, 0) != -1; +} +; +_.get_1 = function get_3(index_0){ + return $get_1(this, index_0); +} +; +_.remove = function remove_1(index_0){ + return $remove_3(this, index_0); +} +; +_.size_1 = function size_6(){ + return this.array.length; +} +; +var Ljava_util_ArrayList_2_classLit = createForClass('java.util', 'ArrayList', 42); +function equals_10(array1, array2){ + var i; + if (maskUndefined(array1) === maskUndefined(array2)) { + return true; + } + if (array1 == null || array2 == null) { + return false; + } + if (array1.length != array2.length) { + return false; + } + for (i = 0; i < array1.length; ++i) { + if (array1[i] != array2[i]) { + return false; + } + } + return true; +} + +function hashCode_11(a){ + var e, e$index, e$max, hashCode; + if (a == null) { + return 0; + } + hashCode = 1; + for (e$index = 0 , e$max = a.length; e$index < e$max; ++e$index) { + e = a[e$index]; + hashCode = 31 * hashCode + e; + hashCode = ~~hashCode; + } + return hashCode; +} + +function insertionSort(array, low, high, comp){ + var i, j, t; + for (i = low + 1; i < high; ++i) { + for (j = i; j > low && comp.compare(array[j - 1], array[j]) > 0; --j) { + t = array[j]; + setCheck(array, j, array[j - 1]); + setCheck(array, j - 1, t); + } + } +} + +function merge(src_0, srcLow, srcMid, srcHigh, dest, destLow, destHigh, comp){ + var topIdx; + topIdx = srcMid; + while (destLow < destHigh) { + topIdx >= srcHigh || srcLow < srcMid && comp.compare(src_0[srcLow], src_0[topIdx]) <= 0?setCheck(dest, destLow++, src_0[srcLow++]):setCheck(dest, destLow++, src_0[topIdx++]); + } +} + +function mergeSort(x_0, fromIndex, toIndex, comp){ + var temp, newLength, length_0, copy; + !comp && (comp = ($clinit_Comparators() , $clinit_Comparators() , NATURAL)); + temp = (newLength = (length_0 = toIndex - fromIndex , checkCriticalArgument_1(length_0 >= 0, initValues(getClassLiteralForArray(Ljava_lang_Object_2_classLit, 1), $intern_2, 1, 3, [valueOf(fromIndex), valueOf(toIndex)])) , length_0) , copy = createFrom(x_0, newLength) , arraycopy(x_0, fromIndex, copy, 0, min_1(x_0.length - fromIndex, newLength)) , copy); + mergeSort_0(temp, x_0, fromIndex, toIndex, -fromIndex, comp); +} + +function mergeSort_0(temp, array, low, high, ofs, comp){ + var length_0, tempHigh, tempLow, tempMid; + length_0 = high - low; + if (length_0 < 7) { + insertionSort(array, low, high, comp); + return; + } + tempLow = low + ofs; + tempHigh = high + ofs; + tempMid = tempLow + (tempHigh - tempLow >> 1); + mergeSort_0(array, temp, tempLow, tempMid, -ofs, comp); + mergeSort_0(array, temp, tempMid, tempHigh, -ofs, comp); + if (comp.compare(temp[tempMid - 1], temp[tempMid]) <= 0) { + while (low < high) { + setCheck(array, low++, temp[tempLow++]); + } + return; + } + merge(temp, tempLow, tempMid, tempHigh, array, low, high, comp); +} + +function hashCode_12(collection){ + var e, e$iterator, hashCode; + hashCode = 0; + for (e$iterator = collection.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + hashCode = hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function hashCode_13(list){ + var e, e$iterator, hashCode; + hashCode = 1; + for (e$iterator = new AbstractList$IteratorImpl(list); e$iterator.i < e$iterator.this$01.size_1();) { + e = (checkCriticalElement(e$iterator.i < e$iterator.this$01.size_1()) , e$iterator.this$01.get_1(e$iterator.last = e$iterator.i++)); + hashCode = 31 * hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function replaceContents(target, x_0){ + var i, size_0; + size_0 = target.array.length; + for (i = 0; i < size_0; i++) { + $set_1(target, i, x_0[i]); + } +} + +function sort_0(target, c){ + var x_0; + x_0 = cloneSubrange(target.array, target.array.length); + mergeSort(x_0, 0, x_0.length, c); + replaceContents(target, x_0); +} + +function $clinit_Comparators(){ + $clinit_Comparators = emptyMethod; + NATURAL = new Comparators$1; +} + +var NATURAL; +function Comparators$1(){ +} + +defineClass(154, 1, {}, Comparators$1); +_.compare = function compare_2(o1, o2){ + checkNotNull(o1); + checkNotNull(o2); + return compareTo_Ljava_lang_Object__I__devirtual$(dynamicCast(o1, 19), o2); +} +; +var Ljava_util_Comparators$1_2_classLit = createForClass('java.util', 'Comparators/1', 154); +function checkStructuralChange(host, iterator){ + if (iterator._gwt_modCount != host._gwt_modCount) { + throw new ConcurrentModificationException; + } +} + +function setModCount(o, modCount){ + o._gwt_modCount = modCount; +} + +function structureChanged(map_0){ + var modCount; + modCount = map_0._gwt_modCount | 0; + setModCount(map_0, modCount + 1); +} + +function ConcurrentModificationException(){ + RuntimeException.call(this); +} + +defineClass(114, 15, $intern_4, ConcurrentModificationException); +var Ljava_util_ConcurrentModificationException_2_classLit = createForClass('java.util', 'ConcurrentModificationException', 114); +function $put_0(this$static, key, value_0){ + $add_3(this$static.keySet, key); + return $set_2(this$static, key.ordinal, value_0); +} + +function $put_1(this$static, key, value_0){ + return $put_0(this$static, dynamicCast(key, 13), value_0); +} + +function $set_2(this$static, ordinal, value_0){ + var was; + was = this$static.values[ordinal]; + setCheck(this$static.values, ordinal, value_0); + return was; +} + +function EnumMap(type_0){ + var all; + this.keySet = (all = dynamicCast(type_0.enumConstantsFunc && type_0.enumConstantsFunc(), 22) , new EnumSet$EnumSetImpl(all, dynamicCast(createFrom(all, all.length), 22))); + this.values = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, this.keySet.all.length, 3, 1); +} + +defineClass(138, 168, {58:1}, EnumMap); +_.containsKey = function containsKey_1(key){ + return $contains_1(this.keySet, key); +} +; +_.entrySet = function entrySet_0(){ + return new EnumMap$EntrySet(this); +} +; +_.get_0 = function get_4(k){ + return $contains_1(this.keySet, k)?this.values[dynamicCast(k, 13).ordinal]:null; +} +; +_.size_1 = function size_7(){ + return this.keySet.size_0; +} +; +var Ljava_util_EnumMap_2_classLit = createForClass('java.util', 'EnumMap', 138); +function $contains_0(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function EnumMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(139, 170, $intern_23, EnumMap$EntrySet); +_.contains_0 = function contains_3(o){ + return $contains_0(this, o); +} +; +_.iterator = function iterator_5(){ + return new EnumMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_8(){ + return this.this$01.keySet.size_0; +} +; +var Ljava_util_EnumMap$EntrySet_2_classLit = createForClass('java.util', 'EnumMap/EntrySet', 139); +function EnumMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.it = new EnumSet$EnumSetImpl$IteratorImpl(this.this$01.keySet); +} + +defineClass(140, 1, {}, EnumMap$EntrySetIterator); +_.hasNext = function hasNext_3(){ + return $hasNext_0(this.it); +} +; +_.next = function next_3(){ + return this.key = $next_2(this.it) , new EnumMap$MapEntry(this.this$01, this.key); +} +; +var Ljava_util_EnumMap$EntrySetIterator_2_classLit = createForClass('java.util', 'EnumMap/EntrySetIterator', 140); +function EnumMap$MapEntry(this$0, key){ + this.this$01 = this$0; + this.key = key; +} + +defineClass(141, 172, $intern_24, EnumMap$MapEntry); +_.getKey = function getKey_0(){ + return this.key; +} +; +_.getValue = function getValue_0(){ + return this.this$01.values[this.key.ordinal]; +} +; +_.setValue = function setValue_0(value_0){ + return $set_2(this.this$01, this.key.ordinal, value_0); +} +; +var Ljava_util_EnumMap$MapEntry_2_classLit = createForClass('java.util', 'EnumMap/MapEntry', 141); +defineClass(178, 170, $intern_23); +var Ljava_util_EnumSet_2_classLit = createForClass('java.util', 'EnumSet', 178); +function $add_3(this$static, e){ + var ordinal; + checkNotNull(e); + ordinal = e.ordinal; + if (!this$static.set_0[ordinal]) { + setCheck(this$static.set_0, ordinal, e); + ++this$static.size_0; + return true; + } + return false; +} + +function $contains_1(this$static, o){ + return instanceOf(o, 13) && $containsEnum(this$static, dynamicCast(o, 13)); +} + +function $containsEnum(this$static, e){ + return !!e && this$static.set_0[e.ordinal] == e; +} + +function EnumSet$EnumSetImpl(all, set_0){ + this.all = all; + this.set_0 = set_0; + this.size_0 = 0; +} + +defineClass(152, 178, $intern_23, EnumSet$EnumSetImpl); +_.contains_0 = function contains_4(o){ + return $contains_1(this, o); +} +; +_.iterator = function iterator_6(){ + return new EnumSet$EnumSetImpl$IteratorImpl(this); +} +; +_.size_1 = function size_9(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_EnumSet$EnumSetImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl', 152); +function $findNext(this$static){ + var c; + ++this$static.i; + for (c = this$static.this$11.all.length; this$static.i < c; ++this$static.i) { + if (this$static.this$11.set_0[this$static.i]) { + return; + } + } +} + +function $hasNext_0(this$static){ + return this$static.i < this$static.this$11.all.length; +} + +function $next_2(this$static){ + return checkCriticalElement(this$static.i < this$static.this$11.all.length) , this$static.last = this$static.i , $findNext(this$static) , this$static.this$11.set_0[this$static.last]; +} + +function EnumSet$EnumSetImpl$IteratorImpl(this$1){ + this.this$11 = this$1; + $findNext(this); +} + +defineClass(79, 1, {}, EnumSet$EnumSetImpl$IteratorImpl); +_.hasNext = function hasNext_4(){ + return $hasNext_0(this); +} +; +_.next = function next_4(){ + return $next_2(this); +} +; +_.i = -1; +_.last = -1; +var Ljava_util_EnumSet$EnumSetImpl$IteratorImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl/IteratorImpl', 79); +function $equals_0(value1, value2){ + return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals_Ljava_lang_Object__Z__devirtual$(value1, value2); +} + +function $getHashCode(key){ + var hashCode; + hashCode = hashCode__I__devirtual$(key); + return ~~hashCode; +} + +function HashMap(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(); + this.hashCodeMap = delegate.createJsHashCodeMap(); + this.hashCodeMap.host = this; + this.stringMap = delegate.createJsStringMap(); + this.stringMap.host = this; + this.size_0 = 0; + structureChanged(this); +} + +defineClass(28, 84, {3:1, 58:1}, HashMap); +var Ljava_util_HashMap_2_classLit = createForClass('java.util', 'HashMap', 28); +function $contains_2(this$static, o){ + return $containsKey(this$static.map_0, o); +} + +function $remove_4(this$static, o){ + return $remove_2(this$static.map_0, o) != null; +} + +function HashSet(){ + this.map_0 = new HashMap; +} + +defineClass(77, 170, {3:1, 40:1}, HashSet); +_.contains_0 = function contains_5(o){ + return $contains_2(this, o); +} +; +_.iterator = function iterator_7(){ + return $iterator(new AbstractMap$1(this.map_0)); +} +; +_.size_1 = function size_10(){ + return this.map_0.size_0; +} +; +_.toString$ = function toString_19(){ + return $toString_0(new AbstractMap$1(this.map_0)); +} +; +var Ljava_util_HashSet_2_classLit = createForClass('java.util', 'HashSet', 77); +function $ensureChain(this$static, hashCode){ + var map_0 = this$static.backingMap; + return map_0[hashCode] || (map_0[hashCode] = []); +} + +function $getChain(this$static, hashCode){ + return this$static.backingMap[hashCode]; +} + +function $getChainOrEmpty(this$static, hashCode){ + return this$static.backingMap[hashCode] || []; +} + +function $getEntry(this$static, key){ + var entry, entry$array, entry$index, entry$max; + for (entry$array = $getChainOrEmpty(this$static, key == null?'0':'' + $getHashCode(key)) , entry$index = 0 , entry$max = entry$array.length; entry$index < entry$max; ++entry$index) { + entry = entry$array[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry; + } + } + return null; +} + +function $keys(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_2(this$static, key, value_0){ + var chain, entry, entry$index, entry$max; + chain = $ensureChain(this$static, key == null?'0':'' + $getHashCode(key)); + for (entry$index = 0 , entry$max = chain.length; entry$index < entry$max; ++entry$index) { + entry = chain[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry.setValue(value_0); + } + } + setCheck(chain, chain.length, new AbstractMap$SimpleEntry(key, value_0)); + $elementAdded(this$static.host); + return null; +} + +function $remove_5(this$static, key){ + var chain, entry, hashCode, i; + hashCode = key == null?'0':'' + $getHashCode(key); + chain = $getChainOrEmpty(this$static, hashCode); + for (i = 0; i < chain.length; i++) { + entry = chain[i]; + if ($equals_0(key, entry.getKey())) { + chain.length == 1?(delete this$static.backingMap[hashCode] , undefined):(chain.splice(i, 1) , undefined); + $elementRemoved(this$static.host); + return entry.getValue(); + } + } + return null; +} + +function InternalJsHashCodeMap(){ + this.backingMap = this.createMap(); +} + +defineClass(74, 1, {}, InternalJsHashCodeMap); +_.createMap = function createMap(){ + return Object.create(null); +} +; +_.entries = function entries(){ + return new InternalJsHashCodeMap$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap', 74); +function $hasNext_1(this$static){ + if (this$static.itemIndex < this$static.chain.length) { + return true; + } + if (this$static.chainIndex < this$static.keys_0.length - 1) { + this$static.chain = $getChain(this$static.this$01, this$static.keys_0[++this$static.chainIndex]); + this$static.itemIndex = 0; + return true; + } + return false; +} + +function InternalJsHashCodeMap$1(this$0){ + this.this$01 = this$0; + this.keys_0 = $keys(this.this$01); + this.chain = initDim(Ljava_util_Map$Entry_2_classLit, $intern_2, 17, 0, 0, 1); +} + +defineClass(100, 1, {}, InternalJsHashCodeMap$1); +_.hasNext = function hasNext_5(){ + return $hasNext_1(this); +} +; +_.next = function next_5(){ + return checkCriticalElement($hasNext_1(this)) , this.lastEntry = this.chain[this.itemIndex++] , this.lastEntry; +} +; +_.chainIndex = -1; +_.itemIndex = 0; +_.lastEntry = null; +var Ljava_util_InternalJsHashCodeMap$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/1', 100); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy(){ + InternalJsHashCodeMap.call(this); +} + +defineClass(98, 74, {}, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy); +_.createMap = function createMap_0(){ + return {}; +} +; +_.entries = function entries_0(){ + var list = this.newEntryList(); + var map_0 = this.backingMap; + for (var hashCode in map_0) { + if (hashCode == parseInt(hashCode, 10)) { + var array = map_0[hashCode]; + for (var i = 0, c = array.length; i < c; ++i) { + list.add_0(array[i]); + } + } + } + return list.iterator(); +} +; +_.newEntryList = function newEntryList(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy', 98); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(99, 42, $intern_25, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1); +_.remove = function remove_2(index_0){ + var removed; + return removed = dynamicCast($remove_3(this, index_0), 17) , $remove_5(this.this$11, removed.getKey()) , removed; +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy/1', 99); +function InternalJsMapFactory(){ +} + +defineClass(95, 1, {}, InternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap(){ + return new InternalJsHashCodeMap; +} +; +_.createJsStringMap = function createJsStringMap(){ + return new InternalJsStringMap; +} +; +var Ljava_util_InternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory', 95); +function $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory = emptyMethod; + delegate = createFactory(); +} + +function canHandleProto(){ + var protoField = '__proto__'; + var map_0 = Object.create(null); + if (map_0[protoField] !== undefined) { + return false; + } + var keys_0 = Object.getOwnPropertyNames(map_0); + if (keys_0.length != 0) { + return false; + } + map_0[protoField] = 42; + if (map_0[protoField] !== 42) { + return false; + } + return true; +} + +function createFactory(){ + var map_0; + if (Object.create && Object.getOwnPropertyNames && canHandleProto()) { + return (map_0 = Object.create(null) , map_0['__proto__'] = 42 , Object.getOwnPropertyNames(map_0).length == 0)?new InternalJsMapFactory$KeysWorkaroundJsMapFactory:new InternalJsMapFactory; + } + return new InternalJsMapFactory$LegacyInternalJsMapFactory; +} + +var delegate; +function InternalJsMapFactory$KeysWorkaroundJsMapFactory(){ +} + +defineClass(97, 95, {}, InternalJsMapFactory$KeysWorkaroundJsMapFactory); +_.createJsStringMap = function createJsStringMap_0(){ + return new InternalJsStringMap$InternalJsStringMapWithKeysWorkaround; +} +; +var Ljava_util_InternalJsMapFactory$KeysWorkaroundJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/KeysWorkaroundJsMapFactory', 97); +function InternalJsMapFactory$LegacyInternalJsMapFactory(){ +} + +defineClass(96, 95, {}, InternalJsMapFactory$LegacyInternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap_0(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy; +} +; +_.createJsStringMap = function createJsStringMap_1(){ + return new InternalJsStringMap$InternalJsStringMapLegacy; +} +; +var Ljava_util_InternalJsMapFactory$LegacyInternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/LegacyInternalJsMapFactory', 96); +function $keys_0(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_3(this$static, key, value_0){ + var oldValue; + oldValue = this$static.backingMap[key]; + oldValue === undefined && $elementAdded(this$static.host); + $set_3(this$static, key, value_0 === undefined?null:value_0); + return oldValue; +} + +function $remove_6(this$static, key){ + var value_0; + value_0 = this$static.backingMap[key]; + if (!(value_0 === undefined)) { + delete this$static.backingMap[key]; + $elementRemoved(this$static.host); + } + return value_0; +} + +function $set_3(this$static, key, value_0){ + this$static.backingMap[key] = value_0; +} + +function InternalJsStringMap(){ + this.backingMap = this.createMap_0(); +} + +defineClass(61, 1, {}, InternalJsStringMap); +_.createMap_0 = function createMap_1(){ + return Object.create(null); +} +; +_.entries = function entries_1(){ + var keys_0; + keys_0 = this.keys_1(); + return new InternalJsStringMap$1(this, keys_0); +} +; +_.get_2 = function get_5(key){ + return this.backingMap[key]; +} +; +_.keys_1 = function keys_1(){ + return $keys_0(this); +} +; +_.newMapEntry = function newMapEntry(key){ + return new InternalJsStringMap$2(this, key); +} +; +_.put = function put(key, value_0){ + return $put_3(this, key, value_0); +} +; +var Ljava_util_InternalJsStringMap_2_classLit = createForClass('java.util', 'InternalJsStringMap', 61); +function InternalJsStringMap$1(this$0, val$keys){ + this.this$01 = this$0; + this.val$keys2 = val$keys; +} + +defineClass(93, 1, {}, InternalJsStringMap$1); +_.hasNext = function hasNext_6(){ + return this.i < this.val$keys2.length; +} +; +_.next = function next_6(){ + return checkCriticalElement(this.i < this.val$keys2.length) , new InternalJsStringMap$2(this.this$01, this.val$keys2[this.i++]); +} +; +_.i = 0; +var Ljava_util_InternalJsStringMap$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/1', 93); +function InternalJsStringMap$2(this$0, val$key){ + this.this$01 = this$0; + this.val$key2 = val$key; +} + +defineClass(73, 172, $intern_24, InternalJsStringMap$2); +_.getKey = function getKey_1(){ + return this.val$key2; +} +; +_.getValue = function getValue_1(){ + return this.this$01.get_2(this.val$key2); +} +; +_.setValue = function setValue_1(object){ + return this.this$01.put(this.val$key2, object); +} +; +var Ljava_util_InternalJsStringMap$2_2_classLit = createForClass('java.util', 'InternalJsStringMap/2', 73); +function InternalJsStringMap$InternalJsStringMapLegacy(){ + InternalJsStringMap.call(this); +} + +defineClass(90, 61, {}, InternalJsStringMap$InternalJsStringMapLegacy); +_.createMap_0 = function createMap_2(){ + return {}; +} +; +_.entries = function entries_2(){ + var list = this.newEntryList_0(); + for (var key in this.backingMap) { + if (key.charCodeAt(0) == 58) { + var entry = this.newMapEntry(key.substring(1)); + list.add_0(entry); + } + } + return list.iterator(); +} +; +_.get_2 = function get_6(key){ + return this.backingMap[':' + key]; +} +; +_.newEntryList_0 = function newEntryList_0(){ + return new InternalJsStringMap$InternalJsStringMapLegacy$1(this); +} +; +_.put = function put_0(key, value_0){ + return $put_3(this, ':' + key, value_0); +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy', 90); +function InternalJsStringMap$InternalJsStringMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(92, 42, $intern_25, InternalJsStringMap$InternalJsStringMapLegacy$1); +_.remove = function remove_3(index_0){ + var removed; + return removed = dynamicCast($remove_3(this, index_0), 17) , $remove_6(this.this$11, ':' + dynamicCastToString(removed.getKey())) , removed; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy/1', 92); +function InternalJsStringMap$InternalJsStringMapWithKeysWorkaround(){ + InternalJsStringMap.call(this); +} + +defineClass(91, 61, {}, InternalJsStringMap$InternalJsStringMapWithKeysWorkaround); +_.keys_1 = function keys_2(){ + var keys_0; + keys_0 = $keys_0(this); + !(this.backingMap['__proto__'] === undefined) && (keys_0[keys_0.length] = '__proto__'); + return keys_0; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapWithKeysWorkaround_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapWithKeysWorkaround', 91); +var Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'); +function NoSuchElementException(){ + RuntimeException.call(this); +} + +defineClass(62, 15, $intern_4, NoSuchElementException); +var Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util', 'NoSuchElementException', 62); +function equals_11(a, b){ + return maskUndefined(a) === maskUndefined(b) || a != null && equals_Ljava_lang_Object__Z__devirtual$(a, b); +} + +function hashCode_14(o){ + return o != null?hashCode__I__devirtual$(o):0; +} + +var Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'); +function $execute(this$static, a0){ + $invoke_execute(this$static.jso, a0); +} + +function $export(this$static){ + if (!exported) { + exported = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_AsyncQRCallback_2_classLit, this$static); + $export0(this$static); + } +} + +function $export0(this$static){ + var pkg = declarePackage('AsyncQRCallback'); + var __0, __ = this$static; + $wnd.AsyncQRCallback = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0]) && (g = a[0]); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.AsyncQRCallback.prototype = new Object; + __0.execute = $entry(function(a0){ + this.g.execute_1(a0); + } + ); + if (pkg) + for (p in pkg) + $wnd.AsyncQRCallback[p] === undefined && ($wnd.AsyncQRCallback[p] = pkg[p]); +} + +function $invoke_execute(closure, a0){ + closure.apply(null, [a0]); +} + +function AsyncQRCallback_ExporterImpl(){ + $export(this); +} + +function AsyncQRCallback_ExporterImpl_0(jso){ + $export(this); + this.jso = jso; +} + +defineClass(47, 1, {180:1, 47:1}, AsyncQRCallback_ExporterImpl, AsyncQRCallback_ExporterImpl_0); +_.equals$ = function equals_12(obj){ + return obj != null && instanceOf(obj, 47) && this.jso == dynamicCast(obj, 47).jso; +} +; +_.execute_1 = function execute_1(a0){ + $execute(this, a0); +} +; +_.isAssignable = function isAssignable(o){ + return o != null && instanceOf(o, 180); +} +; +var exported = false; +var Ljb_client_AsyncQRCallback_1ExporterImpl_2_classLit = createForClass('jb.client', 'AsyncQRCallback_ExporterImpl', 47); +function $appendTo(this$static, htmlElement){ + addTo(htmlElement, ($clinit_DOM() , this$static.element)); + $onAttach_1(this$static); +} + +function $removeFrom(this$static, htmlElement){ + removeFrom(htmlElement, ($clinit_DOM() , this$static.element)); + $onDetach(this$static); + $stopWebcam(this$static); +} + +function JSScannerWidget(onSuccess, provideVideoStream){ + ScannerWidget.call(this, new ScannerCallback(onSuccess), provideVideoStream); +} + +function addTo(htmlElement, scannerElement){ + htmlElement.appendChild(scannerElement); +} + +function removeFrom(htmlElement, scannerElement){ + htmlElement.removeChild(scannerElement); +} + +defineClass(105, 104, $intern_1, JSScannerWidget); +var Ljb_client_JSScannerWidget_2_classLit = createForClass('jb.client', 'JSScannerWidget', 105); +function JsQRScanner(onSuccess){ + JsQRScanner_0.call(this, onSuccess, null); +} + +function JsQRScanner_0(onSuccess, provideVideoStream){ + this.scanner = new JSScannerWidget(onSuccess, provideVideoStream); +} + +defineClass(48, 1, {48:1}, JsQRScanner, JsQRScanner_0); +_.appendTo_0 = function appendTo(htmlElement){ + $appendTo(this.scanner, htmlElement); +} +; +_.getScanInterval_0 = function getScanInterval(){ + return this.scanner.scanInterval; +} +; +_.getSnapImageMaxSize_0 = function getSnapImageMaxSize(){ + return this.scanner.snapImageMaxSize; +} +; +_.isActive_0 = function isActive(){ + return this.scanner.active; +} +; +_.isScanning_0 = function isScanning(){ + return $isScanning(this.scanner); +} +; +_.removeFrom_0 = function removeFrom_0(htmlElement){ + $removeFrom(this.scanner, htmlElement); +} +; +_.resumeScanning_0 = function resumeScanning(){ + $resumeScanning(this.scanner); +} +; +_.setScanInterval_0 = function setScanInterval(scanInterval){ + $setScanInterval(this.scanner, scanInterval); +} +; +_.setSnapImageMaxSize_0 = function setSnapImageMaxSize(snapImageMaxSize){ + $setSnapImageMaxSize(this.scanner, snapImageMaxSize); +} +; +_.stopScanning_0 = function stopScanning(){ + this.scanner.active = false; +} +; +var Ljb_client_JsQRScanner_2_classLit = createForClass('jb.client', 'JsQRScanner', 48); +function $export_0(this$static){ + if (!exported_0) { + exported_0 = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_JsQRScanner_2_classLit, this$static); + $export0_0(this$static); + } +} + +function $export0_0(this$static){ + var pkg = declarePackage('JsQRScanner'); + var __0, __ = this$static; + $wnd.JsQRScanner = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0])?(g = a[0]):a.length == 2?(g = ___create_0(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]), a[1])):a.length == 1 && (g = ___create(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]))); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.JsQRScanner.prototype = new Object; + __0.appendTo = $entry(function(a0){ + this.g.appendTo_0(a0); + } + ); + __0.getScanInterval = $entry(function(){ + return this.g.getScanInterval_0(); + } + ); + __0.getSnapImageMaxSize = $entry(function(){ + return this.g.getSnapImageMaxSize_0(); + } + ); + __0.isActive = $entry(function(){ + return this.g.isActive_0(); + } + ); + __0.isScanning = $entry(function(){ + return this.g.isScanning_0(); + } + ); + __0.removeFrom = $entry(function(a0){ + this.g.removeFrom_0(a0); + } + ); + __0.resumeScanning = $entry(function(){ + this.g.resumeScanning_0(); + } + ); + __0.setScanInterval = $entry(function(a0){ + this.g.setScanInterval_0(a0); + } + ); + __0.setSnapImageMaxSize = $entry(function(a0){ + this.g.setSnapImageMaxSize_0(a0); + } + ); + __0.stopScanning = $entry(function(){ + this.g.stopScanning_0(); + } + ); + if (pkg) + for (p in pkg) + $wnd.JsQRScanner[p] === undefined && ($wnd.JsQRScanner[p] = pkg[p]); +} + +function JsQRScanner_ExporterImpl(){ + $export_0(this); +} + +function ___create(a0){ + return new JsQRScanner(a0); +} + +function ___create_0(a0, a1){ + return new JsQRScanner_0(a0, a1); +} + +defineClass(102, 1, {}, JsQRScanner_ExporterImpl); +_.isAssignable = function isAssignable_0(o){ + return o != null && instanceOf(o, 48); +} +; +var exported_0 = false; +var Ljb_client_JsQRScanner_1ExporterImpl_2_classLit = createForClass('jb.client', 'JsQRScanner_ExporterImpl', 102); +function $onSuccess(this$static, result){ + $execute(this$static.qrCallback, result.text_0); +} + +function ScannerCallback(qrCallback){ + this.qrCallback = qrCallback; +} + +defineClass(106, 1, {}, ScannerCallback); +var Ljb_client_ScannerCallback_2_classLit = createForClass('jb.client', 'ScannerCallback', 106); +defineClass(173, 1, {}); +var Lorg_timepedia_exporter_client_ExporterBaseImpl_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseImpl', 173); +function $addExporter(this$static, c, o){ + $put(this$static.exporterMap, c, o); +} + +function $declarePackage(qualifiedExportName){ + var i, l, o, prefix, superPackages; + superPackages = $split(qualifiedExportName, '\\.', 0); + prefix = $wnd; + i = 0; + for (l = superPackages.length - 1; i < l; i++) { + if (!$equals(superPackages[i], 'client')) { + prefix[superPackages[i]] || (prefix[superPackages[i]] = {}); + prefix = getProp(prefix, superPackages[i]); + } + } + o = getProp(prefix, superPackages[i]); + return o; +} + +function ExporterBaseActual(){ + this.exporterMap = new HashMap; + new HashMap; + new HashMap; +} + +function getProp(jso, key){ + return jso != null?jso[key]:null; +} + +defineClass(94, 173, {}, ExporterBaseActual); +var Lorg_timepedia_exporter_client_ExporterBaseActual_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseActual', 94); +function $clinit_ExporterUtil(){ + $clinit_ExporterUtil = emptyMethod; + impl = new ExporterBaseActual; +} + +function declarePackage(qualifiedExportName){ + $clinit_ExporterUtil(); + return $declarePackage(qualifiedExportName); +} + +function setWrapper(instance, wrapper){ + $clinit_ExporterUtil(); + instance['__gwtex_wrap'] = wrapper; +} + +var impl; +var I_classLit = createForPrimitive('int', 'I'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang', 'StackTraceElement', null), Lcom_google_gwt_lang_CollapsedPropertyHolder_2_classLit = createForClass('com.google.gwt.lang', 'CollapsedPropertyHolder', 157), Lcom_google_gwt_lang_JavaClassHierarchySetupUtil_2_classLit = createForClass('com.google.gwt.lang', 'JavaClassHierarchySetupUtil', 159), Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass('com.google.gwt.lang', 'LongLibBase/LongEmul', null), Lcom_google_gwt_lang_ModuleUtils_2_classLit = createForClass('com.google.gwt.lang', 'ModuleUtils', 162), B_classLit = createForPrimitive('byte', 'B'), D_classLit = createForPrimitive('double', 'D'), F_classLit = createForPrimitive('float', 'F'), C_classLit = createForPrimitive('char', 'C'), Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'), Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'), Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var $entry = registerEntry(); +var gwtOnLoad = gwtOnLoad = gwtOnLoad_0; +addInitFunctions(init); +setGwtProperty('permProps', [[['locale', 'default'], ['user.agent', 'ie9']]]); +$sendStats('moduleStartup', 'moduleEvalEnd'); +gwtOnLoad(__gwtModuleFunction.__errFn, __gwtModuleFunction.__moduleName, __gwtModuleFunction.__moduleBase, __gwtModuleFunction.__softPermutationId,__gwtModuleFunction.__computePropValue); +$sendStats('moduleStartup', 'end'); +$gwt && $gwt.permProps && __gwtModuleFunction.__moduleStartupDone($gwt.permProps); +//# sourceURL=jsqrscanner-0.js + diff --git a/flutter_barcode_reader_web/assets/7336332C96BEE798552E9397E317C8AC.cache.js b/flutter_barcode_reader_web/assets/7336332C96BEE798552E9397E317C8AC.cache.js new file mode 100644 index 00000000..6091185e --- /dev/null +++ b/flutter_barcode_reader_web/assets/7336332C96BEE798552E9397E317C8AC.cache.js @@ -0,0 +1,7529 @@ +var $wnd = $wnd || window.parent; +var __gwtModuleFunction = $wnd.jsqrscanner; +var $sendStats = __gwtModuleFunction.__sendStats; +$sendStats('moduleStartup', 'moduleEvalStart'); +var $gwt_version = "2.7.0"; +var $strongName = '7336332C96BEE798552E9397E317C8AC'; +var $gwt = {}; +var $doc = $wnd.document; +var $moduleName, $moduleBase; +function __gwtStartLoadingFragment(frag) { +var fragFile = 'deferredjs/' + $strongName + '/' + frag + '.cache.js'; +return __gwtModuleFunction.__startLoadingFragment(fragFile); +} +function __gwtInstallCode(code) {return __gwtModuleFunction.__installRunAsyncCode(code);} +function __gwt_isKnownPropertyValue(propName, propValue) { +return __gwtModuleFunction.__gwt_isKnownPropertyValue(propName, propValue); +} +function __gwt_getMetaProperty(name) { +return __gwtModuleFunction.__gwt_getMetaProperty(name); +} +var $stats = $wnd.__gwtStatsEvent ? function(a) { +return $wnd.__gwtStatsEvent && $wnd.__gwtStatsEvent(a); +} : null; +var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; +var $intern_0 = 2147483647, $intern_1 = {33:1, 34:1, 31:1, 30:1, 35:1, 25:1, 20:1}, $intern_2 = {3:1, 5:1}, $intern_3 = {3:1, 8:1}, $intern_4 = {3:1, 10:1, 8:1}, $intern_5 = 4194303, $intern_6 = 1048575, $intern_7 = 4194304, $intern_8 = 17592186044416, $intern_9 = -9223372036854775808, $intern_10 = 524288, $intern_11 = 65536, $intern_12 = 1048576, $intern_13 = 8388608, $intern_14 = 16777216, $intern_15 = 33554432, $intern_16 = 67108864, $intern_17 = {3:1}, $intern_18 = {3:1, 22:1, 5:1}, $intern_19 = {7:1, 3:1}, $intern_20 = {14:1, 3:1, 19:1, 13:1}, $intern_21 = 0.20000000298023224, $intern_22 = {40:1}, $intern_23 = {17:1}, $intern_24 = {3:1, 52:1}; +var _, initFnList_0, prototypesByTypeId_0 = {}, permutationId = -1; +function typeMarkerFn(){ +} + +function portableObjCreate(obj){ + function F(){ + } + + ; + F.prototype = obj || {}; + return new F; +} + +function modernizeBrowser(){ + !Array.isArray && (Array.isArray = function(vArg){ + return Object.prototype.toString.call(vArg) === '[object Array]'; + } + ); +} + +function maybeGetClassLiteralFromPlaceHolder_0(entry){ + return entry instanceof Array?entry[0]:null; +} + +function emptyMethod(){ +} + +function defineClass(typeId, superTypeId, castableTypeMap){ + var prototypesByTypeId = prototypesByTypeId_0; + var createSubclassPrototype = createSubclassPrototype_0; + var maybeGetClassLiteralFromPlaceHolder = maybeGetClassLiteralFromPlaceHolder_0; + var prototype_0 = prototypesByTypeId[typeId]; + var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0); + if (prototype_0 && !clazz) { + _ = prototype_0; + } + else { + _ = prototypesByTypeId[typeId] = !superTypeId?{}:createSubclassPrototype(superTypeId); + _.castableTypeMap$ = castableTypeMap; + _.constructor = _; + !superTypeId && (_.typeMarker$ = typeMarkerFn); + } + for (var i = 3; i < arguments.length; ++i) { + arguments[i].prototype = _; + } + clazz && (_.___clazz$ = clazz); +} + +function createSubclassPrototype_0(superTypeId){ + var prototypesByTypeId = prototypesByTypeId_0; + return portableObjCreate(prototypesByTypeId[superTypeId]); +} + +function setGwtProperty(propertyName, propertyValue){ + typeof window === 'object' && typeof window['$gwt'] === 'object' && (window['$gwt'][propertyName] = propertyValue); +} + +function registerEntry(){ + return entry_0; +} + +function gwtOnLoad_0(errFn, modName, modBase, softPermutationId){ + ensureModuleInit(); + var initFnList = initFnList_0; + $moduleName = modName; + $moduleBase = modBase; + permutationId = softPermutationId; + function initializeModules(){ + for (var i = 0; i < initFnList.length; i++) { + initFnList[i](); + } + } + + if (errFn) { + try { + $entry(initializeModules)(); + } + catch (e) { + errFn(modName, e); + } + } + else { + $entry(initializeModules)(); + } +} + +function ensureModuleInit(){ + initFnList_0 == null && (initFnList_0 = []); +} + +function addInitFunctions(){ + ensureModuleInit(); + var initFnList = initFnList_0; + for (var i = 0; i < arguments.length; i++) { + initFnList.push(arguments[i]); + } +} + +function Object_0(){ +} + +function equals_Ljava_lang_Object__Z__devirtual$(this$static, other){ + return isJavaString(this$static)?$equals(this$static, other):hasJavaObjectVirtualDispatch(this$static)?this$static.equals$(other):isJavaArray(this$static)?this$static === other:this$static === other; +} + +function getClass__Ljava_lang_Class___devirtual$(this$static){ + return isJavaString(this$static)?Ljava_lang_String_2_classLit:hasJavaObjectVirtualDispatch(this$static)?this$static.___clazz$:isJavaArray(this$static)?this$static.___clazz$:Lcom_google_gwt_core_client_JavaScriptObject_2_classLit; +} + +function hashCode__I__devirtual$(this$static){ + return isJavaString(this$static)?getHashCode_0(this$static):hasJavaObjectVirtualDispatch(this$static)?this$static.hashCode$():isJavaArray(this$static)?getHashCode(this$static):getHashCode(this$static); +} + +defineClass(1, null, {}, Object_0); +_.equals$ = function equals(other){ + return this === other; +} +; +_.getClass$ = function getClass_0(){ + return this.___clazz$; +} +; +_.hashCode$ = function hashCode_0(){ + return getHashCode(this); +} +; +_.toString$ = function toString_0(){ + return $getName(getClass__Ljava_lang_Class___devirtual$(this)) + '@' + toUnsignedRadixString(hashCode__I__devirtual$(this), 16); +} +; +_.toString = function(){ + return this.toString$(); +} +; +stringCastMap = {3:1, 179:1, 19:1, 2:1}; +modernizeBrowser(); +function canCast(src_0, dstId){ + return isJavaString(src_0) && !!stringCastMap[dstId] || src_0.castableTypeMap$ && !!src_0.castableTypeMap$[dstId]; +} + +function charToString(x_0){ + return String.fromCharCode(x_0); +} + +function dynamicCast(src_0, dstId){ + if (src_0 != null && !canCast(src_0, dstId)) { + throw new ClassCastException; + } + return src_0; +} + +function dynamicCastJso(src_0){ + if (src_0 != null && !(!isJavaString(src_0) && !hasTypeMarker(src_0))) { + throw new ClassCastException; + } + return src_0; +} + +function dynamicCastToString(src_0){ + if (src_0 != null && !isJavaString(src_0)) { + throw new ClassCastException; + } + return src_0; +} + +function hasJavaObjectVirtualDispatch(src_0){ + return !instanceofArray(src_0) && hasTypeMarker(src_0); +} + +function instanceOf(src_0, dstId){ + return src_0 != null && canCast(src_0, dstId); +} + +function instanceOfJso(src_0){ + return src_0 != null && !isJavaString(src_0) && !hasTypeMarker(src_0); +} + +function instanceofArray(src_0){ + return Array.isArray(src_0); +} + +function isJavaArray(src_0){ + return instanceofArray(src_0) && hasTypeMarker(src_0); +} + +function isJavaString(src_0){ + return typeof src_0 === 'string'; +} + +function maskUndefined(src_0){ + return src_0 == null?null:src_0; +} + +function narrow_byte(x_0){ + return x_0 << 24 >> 24; +} + +function round_int(x_0){ + return ~~Math.max(Math.min(x_0, $intern_0), -2147483648); +} + +function throwClassCastExceptionUnlessNull(o){ + if (o != null) { + throw new ClassCastException; + } + return null; +} + +var stringCastMap; +function $ensureNamesAreInitialized(this$static){ + if (this$static.typeName != null) { + return; + } + initializeNames(this$static); +} + +function $getName(this$static){ + $ensureNamesAreInitialized(this$static); + return this$static.typeName; +} + +function Class(){ + ++nextSequentialId; + this.typeName = null; + this.simpleName = null; + this.packageName = null; + this.compoundName = null; + this.canonicalName = null; + this.typeId = null; + this.arrayLiterals = null; +} + +function createClassObject(packageName, compoundClassName){ + var clazz; + clazz = new Class; + clazz.packageName = packageName; + clazz.compoundName = compoundClassName; + return clazz; +} + +function createForClass(packageName, compoundClassName, typeId){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + return clazz; +} + +function createForEnum(packageName, compoundClassName, typeId, enumConstantsFunc){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + clazz.modifiers = enumConstantsFunc?8:0; + clazz.enumConstantsFunc = enumConstantsFunc; + return clazz; +} + +function createForInterface(packageName, compoundClassName){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + clazz.modifiers = 2; + return clazz; +} + +function createForPrimitive(className, primitiveTypeId){ + var clazz; + clazz = createClassObject('', className); + clazz.typeId = primitiveTypeId; + clazz.modifiers = 1; + return clazz; +} + +function getClassLiteralForArray_0(leafClass, dimensions){ + var arrayLiterals = leafClass.arrayLiterals = leafClass.arrayLiterals || []; + return arrayLiterals[dimensions] || (arrayLiterals[dimensions] = leafClass.createClassLiteralForArray(dimensions)); +} + +function getPrototypeForClass(clazz){ + if (clazz.isPrimitive()) { + return null; + } + var typeId = clazz.typeId; + var prototype_0 = prototypesByTypeId_0[typeId]; + return prototype_0; +} + +function initializeNames(clazz){ + if (clazz.isArray_0()) { + var componentType = clazz.componentType; + componentType.isPrimitive()?(clazz.typeName = '[' + componentType.typeId):!componentType.isArray_0()?(clazz.typeName = '[L' + componentType.getName() + ';'):(clazz.typeName = '[' + componentType.getName()); + clazz.canonicalName = componentType.getCanonicalName() + '[]'; + clazz.simpleName = componentType.getSimpleName() + '[]'; + return; + } + var packageName = clazz.packageName; + var compoundName = clazz.compoundName; + compoundName = compoundName.split('/'); + clazz.typeName = join_0('.', [packageName, join_0('$', compoundName)]); + clazz.canonicalName = join_0('.', [packageName, join_0('.', compoundName)]); + clazz.simpleName = compoundName[compoundName.length - 1]; +} + +function join_0(separator, strings){ + var i = 0; + while (!strings[i] || strings[i] == '') { + i++; + } + var result = strings[i++]; + for (; i < strings.length; i++) { + if (!strings[i] || strings[i] == '') { + continue; + } + result += separator + strings[i]; + } + return result; +} + +function maybeSetClassLiteral(typeId, clazz){ + var proto; + if (!typeId) { + return; + } + clazz.typeId = typeId; + var prototype_0 = getPrototypeForClass(clazz); + if (!prototype_0) { + prototypesByTypeId_0[typeId] = [clazz]; + return; + } + prototype_0.___clazz$ = clazz; +} + +defineClass(67, 1, {}, Class); +_.createClassLiteralForArray = function createClassLiteralForArray(dimensions){ + var clazz; + clazz = new Class; + clazz.modifiers = 4; + dimensions > 1?(clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1)):(clazz.componentType = this); + return clazz; +} +; +_.getCanonicalName = function getCanonicalName(){ + $ensureNamesAreInitialized(this); + return this.canonicalName; +} +; +_.getName = function getName(){ + return $getName(this); +} +; +_.getSimpleName = function getSimpleName(){ + $ensureNamesAreInitialized(this); + return this.simpleName; +} +; +_.isArray_0 = function isArray(){ + return (this.modifiers & 4) != 0; +} +; +_.isPrimitive = function isPrimitive(){ + return (this.modifiers & 1) != 0; +} +; +_.toString$ = function toString_13(){ + return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + ($ensureNamesAreInitialized(this) , this.typeName); +} +; +_.modifiers = 0; +var nextSequentialId = 1; +var Ljava_lang_Object_2_classLit = createForClass('java.lang', 'Object', 1), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptObject$', 0), Ljava_lang_Class_2_classLit = createForClass('java.lang', 'Class', 67); +function $setElement(this$static, elem){ + this$static.element = elem; +} + +function $setPixelSize(this$static, width_0, height){ + width_0 >= 0 && (($clinit_DOM() , this$static.element).style['width'] = width_0 + 'px' , undefined); + height >= 0 && (($clinit_DOM() , this$static.element).style['height'] = height + 'px' , undefined); +} + +function $setStyleName(this$static){ + ($clinit_DOM() , this$static.element).className = 'qrPreviewVideo'; +} + +defineClass(25, 1, {30:1, 25:1}); +_.toString$ = function toString_1(){ + if (!this.element) { + return '(null handle)'; + } + return ($clinit_DOM() , this.element).outerHTML; +} +; +var Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui', 'UIObject', 25); +function $onAttach(this$static){ + var bitsToAdd; + if (this$static.attached) { + throw new IllegalStateException_0("Should only call onAttach when the widget is detached from the browser's document"); + } + this$static.attached = true; + $clinit_DOM(); + setEventListener(this$static.element, this$static); + bitsToAdd = this$static.eventsToSink; + this$static.eventsToSink = -1; + bitsToAdd > 0 && (this$static.eventsToSink == -1?$sinkEvents(this$static.element, bitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= bitsToAdd)); + this$static.doAttachChildren(); +} + +function $onDetach(this$static){ + if (!this$static.attached) { + throw new IllegalStateException_0("Should only call onDetach when the widget is attached to the browser's document"); + } + try { + this$static.doDetachChildren(); + } + finally { + $clinit_DOM(); + setEventListener(this$static.element, null); + this$static.attached = false; + } +} + +function $removeFromParent(this$static){ + if (!this$static.parent_0) { + $clinit_RootPanel(); + $contains_2(widgetsToDetach, this$static) && detachNow(this$static); + } + else if (this$static.parent_0) { + $remove(this$static.parent_0, this$static); + } + else if (this$static.parent_0) { + throw new IllegalStateException_0("This widget's parent does not implement HasWidgets"); + } +} + +function $setParent(this$static, parent_0){ + var oldParent; + oldParent = this$static.parent_0; + if (!parent_0) { + try { + !!oldParent && oldParent.attached && $onDetach(this$static); + } + finally { + this$static.parent_0 = null; + } + } + else { + if (oldParent) { + throw new IllegalStateException_0('Cannot set a new parent without first clearing the old parent'); + } + this$static.parent_0 = parent_0; + parent_0.attached && $onAttach_0(this$static); + } +} + +defineClass(20, 25, $intern_1); +_.doAttachChildren = function doAttachChildren(){ +} +; +_.doDetachChildren = function doDetachChildren(){ +} +; +_.onAttach = function onAttach(){ + $onAttach(this); +} +; +_.onBrowserEvent = function onBrowserEvent(event_0){ + var related; + switch ($clinit_DOM() , $eventGetTypeInt(event_0.type)) { + case 16: + case 32: + related = event_0.relatedTarget; + if (!!related && $isOrHasChild(this.element, related)) { + return; + } + + } + fireNativeEvent($clinit_DOM()); +} +; +_.onDetach = function onDetach(){ + $onDetach(this); +} +; +_.attached = false; +_.eventsToSink = 0; +var Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Widget', 20); +function $onAttach_0(this$static){ + var tabIndex; + $onAttach(this$static); + tabIndex = $getTabIndex(($clinit_DOM() , this$static.element)); + -1 == tabIndex && (this$static.element.tabIndex = 0 , undefined); +} + +defineClass(175, 20, $intern_1); +_.onAttach = function onAttach_0(){ + $onAttach_0(this); +} +; +var Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FocusWidget', 175); +function $getCanvasElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function $getContext2d(this$static){ + return ($clinit_DOM() , this$static.element).getContext('2d'); +} + +function $setCoordinateSpaceHeight(this$static, height){ + $setHeight(($clinit_DOM() , this$static.element), height); +} + +function $setCoordinateSpaceWidth(this$static, width_0){ + $setWidth(($clinit_DOM() , this$static.element), width_0); +} + +function Canvas_0(element){ + $setElement(this, ($clinit_DOM() , element)); +} + +function createIfSupported(){ + var element; + !detector && (detector = new Canvas$CanvasElementSupportDetectedMaybe); + element = $doc.createElement('canvas'); + if (!element.getContext) { + return null; + } + return new Canvas_0(element); +} + +defineClass(120, 175, $intern_1, Canvas_0); +var detector; +var Lcom_google_gwt_canvas_client_Canvas_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas', 120); +defineClass(177, 1, {}); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetector_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetector', 177); +function Canvas$CanvasElementSupportDetectedMaybe(){ +} + +defineClass(121, 177, {}, Canvas$CanvasElementSupportDetectedMaybe); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetectedMaybe_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetectedMaybe', 121); +function $set(this$static, i, value_0){ + this$static[i] = value_0; +} + +function $drawImage(this$static, image, dx, dy, dw, dh){ + this$static.drawImage(image, dx, dy, dw, dh); +} + +function $getImageData(this$static, sx, sy, sw, sh){ + return this$static.getImageData(sx, sy, sw, sh); +} + +function $putImageData(this$static, imagedata, x_0, y_0){ + return this$static.putImageData(imagedata, x_0, y_0); +} + +function $getColorAt(this$static, x_0, y_0, offset){ + return this$static.data[4 * (x_0 + y_0 * this$static.width) + offset] || 0; +} + +function $setStackTrace(stackTrace){ + var copy, i, length_0; + length_0 = stackTrace.length; + copy = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 182, length_0, 0, 1); + for (i = 0; i < length_0; ++i) { + copy[i] = throwClassCastExceptionUnlessNull(checkNotNull(stackTrace[i])); + } +} + +function Throwable(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(8, 1, $intern_3); +_.fillInStackTrace = function fillInStackTrace(){ + captureStackTrace(this, this.detailMessage); + return this; +} +; +_.getMessage = function getMessage(){ + return this.detailMessage; +} +; +_.toString$ = function toString_2(){ + var className, msg; + className = $getName(this.___clazz$); + msg = this.getMessage(); + return msg != null?className + ': ' + msg:className; +} +; +var Ljava_lang_Throwable_2_classLit = createForClass('java.lang', 'Throwable', 8); +function Exception(){ + this.fillInStackTrace(); +} + +function Exception_0(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(10, 8, $intern_4); +var Ljava_lang_Exception_2_classLit = createForClass('java.lang', 'Exception', 10); +function RuntimeException(){ + Exception.call(this); +} + +function RuntimeException_0(message){ + Exception_0.call(this, message); +} + +function RuntimeException_1(message){ + Throwable.call(this, message); +} + +defineClass(15, 10, $intern_4); +var Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang', 'RuntimeException', 15); +defineClass(81, 15, $intern_4); +var Lcom_google_gwt_core_client_impl_JavaScriptExceptionBase_2_classLit = createForClass('com.google.gwt.core.client.impl', 'JavaScriptExceptionBase', 81); +function $clinit_JavaScriptException(){ + $clinit_JavaScriptException = emptyMethod; + NOT_SET = new Object_0; +} + +function $ensureInit(this$static){ + var exception; + if (this$static.message_0 == null) { + exception = maskUndefined(this$static.e) === maskUndefined(NOT_SET)?null:this$static.e; + this$static.name_0 = exception == null?'null':instanceOfJso(exception)?getExceptionName0(dynamicCastJso(exception)):isJavaString(exception)?'String':$getName(getClass__Ljava_lang_Class___devirtual$(exception)); + this$static.description = this$static.description + ': ' + (instanceOfJso(exception)?getExceptionDescription0(dynamicCastJso(exception)):exception + ''); + this$static.message_0 = '(' + this$static.name_0 + ') ' + this$static.description; + } +} + +function JavaScriptException(e){ + $clinit_JavaScriptException(); + this.detailMessage = null; + this.description = ''; + this.e = e; + this.description = ''; +} + +function getExceptionDescription0(e){ + return e == null?null:e.message; +} + +function getExceptionName0(e){ + return e == null?null:e.name; +} + +defineClass(37, 81, {37:1, 3:1, 10:1, 8:1}, JavaScriptException); +_.getMessage = function getMessage_0(){ + $ensureInit(this); + return this.message_0; +} +; +_.getThrown = function getThrown(){ + return maskUndefined(this.e) === maskUndefined(NOT_SET)?null:this.e; +} +; +var NOT_SET; +var Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptException', 37); +function now_1(){ + if (Date.now) { + return Date.now(); + } + return (new Date).getTime(); +} + +defineClass(155, 1, {}); +var Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client', 'Scheduler', 155); +function apply_0(jsFunction, thisObj, args){ + return jsFunction.apply(thisObj, args); + var __0; +} + +function enter(){ + var now_0; + if (entryDepth != 0) { + now_0 = now_1(); + if (now_0 - watchdogEntryDepthLastScheduled > 2000) { + watchdogEntryDepthLastScheduled = now_0; + watchdogEntryDepthTimerId = $wnd.setTimeout(watchdogEntryDepthRun, 10); + } + } + if (entryDepth++ == 0) { + $flushEntryCommands(($clinit_SchedulerImpl() , INSTANCE)); + return true; + } + return false; +} + +function entry_0(jsFunction){ + return function(){ + return entry0(jsFunction, this, arguments); + var __0; + } + ; +} + +function entry0(jsFunction, thisObj, args){ + var initialEntry; + initialEntry = enter(); + try { + return apply_0(jsFunction, thisObj, args); + } + finally { + exit(initialEntry); + } +} + +function exit(initialEntry){ + initialEntry && $flushFinallyCommands(($clinit_SchedulerImpl() , INSTANCE)); + --entryDepth; + if (initialEntry) { + if (watchdogEntryDepthTimerId != -1) { + watchdogEntryDepthCancel(watchdogEntryDepthTimerId); + watchdogEntryDepthTimerId = -1; + } + } +} + +function getHashCode(o){ + return o.$H || (o.$H = ++sNextHashId); +} + +function reportToBrowser(e){ + $wnd.setTimeout(function(){ + throw e; + } + , 0); +} + +function watchdogEntryDepthCancel(timerId){ + $wnd.clearTimeout(timerId); +} + +function watchdogEntryDepthRun(){ + entryDepth != 0 && (entryDepth = 0); + watchdogEntryDepthTimerId = -1; +} + +var entryDepth = 0, sNextHashId = 0, watchdogEntryDepthLastScheduled = 0, watchdogEntryDepthTimerId = -1; +function $clinit_SchedulerImpl(){ + $clinit_SchedulerImpl = emptyMethod; + INSTANCE = new SchedulerImpl; +} + +function $flushEntryCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.entryCommands) { + rescheduled = null; + do { + oldQueue = this$static.entryCommands; + this$static.entryCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.entryCommands); + this$static.entryCommands = rescheduled; + } +} + +function $flushFinallyCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.finallyCommands) { + rescheduled = null; + do { + oldQueue = this$static.finallyCommands; + this$static.finallyCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.finallyCommands); + this$static.finallyCommands = rescheduled; + } +} + +function SchedulerImpl(){ +} + +function push_0(queue, task){ + !queue && (queue = []); + queue[queue.length] = task; + return queue; +} + +function runScheduledTasks(tasks, rescheduled){ + var e, i, j, t; + for (i = 0 , j = tasks.length; i < j; i++) { + t = tasks[i]; + try { + t[1]?t[0].nullMethod() && (rescheduled = push_0(rescheduled, t)):t[0].nullMethod(); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + reportToBrowser(instanceOf(e, 37)?dynamicCast(e, 37).getThrown():e); + } + else + throw unwrap($e0); + } + } + return rescheduled; +} + +defineClass(101, 155, {}, SchedulerImpl); +var INSTANCE; +var Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl', 'SchedulerImpl', 101); +function $clinit_StackTraceCreator(){ + $clinit_StackTraceCreator = emptyMethod; + var c, enforceLegacy; + enforceLegacy = !(!!Error.stackTraceLimit || 'stack' in new Error); + c = new StackTraceCreator$CollectorModernNoSourceMap; + collector = enforceLegacy?new StackTraceCreator$CollectorLegacy:c; +} + +function captureStackTrace(throwable, reference){ + $clinit_StackTraceCreator(); + collector.collect(throwable, reference); +} + +function extractFunctionName(fnName){ + var fnRE = /function(?:\s+([\w$]+))?\s*\(/; + var match_0 = fnRE.exec(fnName); + return match_0 && match_0[1] || 'anonymous'; +} + +var collector; +defineClass(166, 1, {}); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/Collector', 166); +function StackTraceCreator$CollectorLegacy(){ +} + +defineClass(82, 166, {}, StackTraceCreator$CollectorLegacy); +_.collect = function collect(t, thrownIgnored){ + var seen = {}, name_1; + t.fnStack = []; + var callee = arguments.callee.caller; + while (callee) { + var name_0 = ($clinit_StackTraceCreator() , callee.name || (callee.name = extractFunctionName(callee.toString()))); + t.fnStack.push(name_0); + var keyName = ':' + name_0; + var withThisName = seen[keyName]; + if (withThisName) { + var i, j; + for (i = 0 , j = withThisName.length; i < j; i++) { + if (withThisName[i] === callee) { + return; + } + } + } + (withThisName || (seen[keyName] = [])).push(callee); + callee = callee.caller; + } +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorLegacy_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorLegacy', 82); +function $clinit_StackTraceCreator$CollectorModern(){ + $clinit_StackTraceCreator$CollectorModern = emptyMethod; + Error.stackTraceLimit = 64; +} + +defineClass(167, 166, {}); +_.collect = function collect_0(t, jsThrown){ + function fixIE(e){ + if (!('stack' in e)) { + try { + throw e; + } + catch (ignored) { + } + } + return e; + } + + var backingJsError; + typeof jsThrown == 'string'?(backingJsError = fixIE(new Error(jsThrown))):jsThrown instanceof Object && 'stack' in jsThrown?(backingJsError = jsThrown):(backingJsError = fixIE(new Error)); + t.__gwt$backingJsError = backingJsError; +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModern_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModern', 167); +function StackTraceCreator$CollectorModernNoSourceMap(){ + $clinit_StackTraceCreator$CollectorModern(); +} + +defineClass(83, 167, {}, StackTraceCreator$CollectorModernNoSourceMap); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModernNoSourceMap_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModernNoSourceMap', 83); +function checkArrayType(expression, errorMessage){ + if (!expression) { + throw new ArrayStoreException_0('' + errorMessage); + } +} + +function checkCriticalArgument(expression){ + if (!expression) { + throw new IllegalArgumentException; + } +} + +function checkCriticalArgument_0(expression, errorMessage){ + if (!expression) { + throw new IllegalArgumentException_0('' + errorMessage); + } +} + +function checkCriticalArgument_1(expression, errorMessageArgs){ + if (!expression) { + throw new IllegalArgumentException_0(format('%s > %s', errorMessageArgs)); + } +} + +function checkCriticalElement(expression){ + if (!expression) { + throw new NoSuchElementException; + } +} + +function checkCriticalPositionIndexes(end, size_0){ + if (end > size_0) { + throw new IndexOutOfBoundsException_0('toIndex: ' + end + ' > size ' + size_0); + } + if (3 > end) { + throw new IllegalArgumentException_0('fromIndex: 3 > toIndex: ' + end); + } +} + +function checkElementIndex(index_0, size_0){ + if (index_0 < 0 || index_0 >= size_0) { + throw new IndexOutOfBoundsException_0('Index: ' + index_0 + ', Size: ' + size_0); + } +} + +function checkNotNull(reference){ + if (reference == null) { + throw new NullPointerException; + } + return reference; +} + +function checkNotNull_0(reference, errorMessage){ + if (reference == null) { + throw new NullPointerException_0('' + errorMessage); + } +} + +function checkPositionIndex(size_0){ + if (0 > size_0) { + throw new IndexOutOfBoundsException_0('Index: 0, Size: ' + size_0); + } +} + +function checkState(expression){ + if (!expression) { + throw new IllegalStateException; + } +} + +function format(template, args){ + var builder, i, placeholderStart, templateStart; + template = '' + template; + builder = new StringBuilder(template.length + 16 * args.length); + templateStart = 0; + i = 0; + while (i < args.length) { + placeholderStart = template.indexOf('%s', templateStart); + if (placeholderStart == -1) { + break; + } + $append_2(builder, template.substr(templateStart, placeholderStart - templateStart)); + $append_1(builder, args[i++]); + templateStart = placeholderStart + 2; + } + $append_2(builder, __substr(template, templateStart, template.length - templateStart)); + if (i < args.length) { + builder.string += ' ['; + $append_1(builder, args[i++]); + while (i < args.length) { + builder.string += ', '; + $append_1(builder, args[i++]); + } + builder.string += ']'; + } + return builder.string; +} + +function $appendChild(this$static, newChild){ + return this$static.appendChild(newChild); +} + +function $removeChild(this$static, oldChild){ + return this$static.removeChild(oldChild); +} + +function $setHeight(this$static, height){ + this$static.height = height; +} + +function $setWidth(this$static, width_0){ + this$static.width = width_0; +} + +function $isOrHasChild(parent_0, child){ + return parent_0.contains(child); +} + +function $eventGetCurrentTarget(event_0){ + return event_0.currentTarget || $wnd; +} + +function $getTabIndex(elem){ + return typeof elem.tabIndex != 'undefined'?elem.tabIndex:-1; +} + +function fireNativeEvent(){ +} + +function makeCause(causes){ + var iterator; + iterator = $iterator(new AbstractMap$1(causes.map_0)); + if (!$hasNext(iterator.val$outerIter2)) { + return null; + } + return dynamicCast($next_1(iterator), 8); +} + +function makeMessage(causes){ + var b, count, first, t, t$iterator; + count = causes.map_0.size_0; + if (count == 0) { + return null; + } + b = new StringBuilder_0(count == 1?'Exception caught: ':count + ' exceptions caught: '); + first = true; + for (t$iterator = $iterator(new AbstractMap$1(causes.map_0)); $hasNext(t$iterator.val$outerIter2);) { + t = dynamicCast($next_1(t$iterator), 8); + first?(first = false):(b.string += '; ' , b); + $append_2(b, t.getMessage()); + } + return b.string; +} + +defineClass(109, 15, $intern_4); +var Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit = createForClass('com.google.web.bindery.event.shared', 'UmbrellaException', 109); +defineClass(110, 109, $intern_4); +var Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared', 'UmbrellaException', 110); +function cloneSubrange(array, toIndex){ + var result; + result = array.slice(0, toIndex); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function createFrom(array, length_0){ + var result; + result = initializeArrayElementsWithDefaults(0, length_0); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function getClassLiteralForArray(clazz, dimensions){ + return getClassLiteralForArray_0(clazz, dimensions); +} + +function initDim(leafClassLiteral, castableTypeMap, elementTypeId, length_0, elementTypeCategory, dimensions){ + var result; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, dimensions), castableTypeMap, elementTypeId, elementTypeCategory, result); + return result; +} + +function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, count){ + return initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, 0, count); +} + +function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count){ + var elementTypeCategory, i, isLastDim, length_0, result; + length_0 = dimExprs[index_0]; + isLastDim = index_0 == count - 1; + elementTypeCategory = isLastDim?leafElementTypeCategory:0; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, count - index_0), castableTypeMapExprs[index_0], elementTypeIds[index_0], elementTypeCategory, result); + if (!isLastDim) { + ++index_0; + for (i = 0; i < length_0; ++i) { + result[i] = initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count); + } + } + return result; +} + +function initValues(arrayClass, castableTypeMap, elementTypeId, elementTypeCategory, array){ + array.___clazz$ = arrayClass; + array.castableTypeMap$ = castableTypeMap; + array.typeMarker$ = typeMarkerFn; + array.__elementTypeId$ = elementTypeId; + array.__elementTypeCategory$ = elementTypeCategory; + return array; +} + +function initializeArrayElementsWithDefaults(elementTypeCategory, length_0){ + var array = new Array(length_0); + var initValue; + switch (elementTypeCategory) { + case 6: + initValue = {l:0, m:0, h:0}; + break; + case 7: + initValue = 0; + break; + case 8: + initValue = false; + break; + default:return array; + } + for (var i = 0; i < length_0; ++i) { + array[i] = initValue; + } + return array; +} + +function nativeArraySplice(src_0, srcOfs, dest, destOfs, len, overwrite){ + if (src_0 === dest) { + src_0 = src_0.slice(srcOfs, srcOfs + len); + srcOfs = 0; + } + for (var batchStart = srcOfs, end = srcOfs + len; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + len = batchEnd - batchStart; + Array.prototype.splice.apply(dest, [destOfs, overwrite?len:0].concat(src_0.slice(batchStart, batchEnd))); + batchStart = batchEnd; + destOfs += len; + } +} + +function setCheck(array, index_0, value_0){ + var elementTypeId; + if (value_0 != null) { + switch (array.__elementTypeCategory$) { + case 4: + if (!isJavaString(value_0)) { + throw new ArrayStoreException; + } + + break; + case 0: + { + elementTypeId = array.__elementTypeId$; + if (!canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + case 2: + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0))) { + throw new ArrayStoreException; + } + + break; + case 1: + { + elementTypeId = array.__elementTypeId$; + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0)) && !canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + } + } + return array[index_0] = value_0; +} + +function cacheJavaScriptException(e, jse){ + if (e && typeof e == 'object') { + try { + e.__gwt$exception = jse; + } + catch (ignored) { + } + } +} + +function unwrap(e){ + var jse; + if (instanceOf(e, 37)) { + jse = dynamicCast(e, 37); + if (maskUndefined(jse.e) !== maskUndefined(($clinit_JavaScriptException() , NOT_SET))) { + return maskUndefined(jse.e) === maskUndefined(NOT_SET)?null:jse.e; + } + } + return e; +} + +function wrap(e){ + var jse; + if (instanceOf(e, 8)) { + return e; + } + jse = e && e.__gwt$exception; + if (!jse) { + jse = new JavaScriptException(e); + captureStackTrace(jse, e); + cacheJavaScriptException(e, jse); + } + return jse; +} + +function create(value_0){ + var a0, a1, a2; + a0 = value_0 & $intern_5; + a1 = value_0 >> 22 & $intern_5; + a2 = value_0 < 0?$intern_6:0; + return create0(a0, a1, a2); +} + +function create0(l, m, h){ + return {l:l, m:m, h:h}; +} + +function toDoubleHelper(a){ + return a.l + a.m * $intern_7 + a.h * $intern_8; +} + +function and(a, b){ + return {l:a.l & b.l, m:a.m & b.m, h:a.h & b.h}; +} + +function eq(a, b){ + return a.l == b.l && a.m == b.m && a.h == b.h; +} + +function fromDouble(value_0){ + var a0, a1, a2, negative, result, neg0, neg1, neg2; + if (isNaN_0(value_0)) { + return $clinit_LongLib$Const() , ZERO; + } + if (value_0 < $intern_9) { + return $clinit_LongLib$Const() , MIN_VALUE; + } + if (value_0 >= 9223372036854775807) { + return $clinit_LongLib$Const() , MAX_VALUE; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + a2 = 0; + if (value_0 >= $intern_8) { + a2 = round_int(value_0 / $intern_8); + value_0 -= a2 * $intern_8; + } + a1 = 0; + if (value_0 >= $intern_7) { + a1 = round_int(value_0 / $intern_7); + value_0 -= a1 * $intern_7; + } + a0 = round_int(value_0); + result = create0(a0, a1, a2); + negative && (neg0 = ~result.l + 1 & $intern_5 , neg1 = ~result.m + (neg0 == 0?1:0) & $intern_5 , neg2 = ~result.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_6 , result.l = neg0 , result.m = neg1 , result.h = neg2 , undefined); + return result; +} + +function fromInt(value_0){ + var rebase, result; + if (value_0 > -129 && value_0 < 128) { + rebase = value_0 + 128; + boxedValues == null && (boxedValues = initDim(Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, $intern_2, 184, 256, 0, 1)); + result = boxedValues[rebase]; + !result && (result = boxedValues[rebase] = create(value_0)); + return result; + } + return create(value_0); +} + +function gte(a, b){ + var signa, signb; + signa = a.h >> 19; + signb = b.h >> 19; + return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l); +} + +function or(a, b){ + return {l:a.l | b.l, m:a.m | b.m, h:a.h | b.h}; +} + +function shl(a, n){ + var res0, res1, res2; + n &= 63; + if (n < 22) { + res0 = a.l << n; + res1 = a.m << n | a.l >> 22 - n; + res2 = a.h << n | a.m >> 22 - n; + } + else if (n < 44) { + res0 = 0; + res1 = a.l << n - 22; + res2 = a.m << n - 22 | a.l >> 44 - n; + } + else { + res0 = 0; + res1 = 0; + res2 = a.l << n - 44; + } + return {l:res0 & $intern_5, m:res1 & $intern_5, h:res2 & $intern_6}; +} + +function shr(a, n){ + var a2, negative, res0, res1, res2; + n &= 63; + a2 = a.h; + negative = (a2 & $intern_10) != 0; + negative && (a2 |= -1048576); + if (n < 22) { + res2 = a2 >> n; + res1 = a.m >> n | a2 << 22 - n; + res0 = a.l >> n | a.m << 22 - n; + } + else if (n < 44) { + res2 = negative?$intern_6:0; + res1 = a2 >> n - 22; + res0 = a.m >> n - 22 | a2 << 44 - n; + } + else { + res2 = negative?$intern_6:0; + res1 = negative?$intern_5:0; + res0 = a2 >> n - 44; + } + return {l:res0 & $intern_5, m:res1 & $intern_5, h:res2 & $intern_6}; +} + +function sub_0(a, b){ + var sum0, sum1, sum2; + sum0 = a.l - b.l; + sum1 = a.m - b.m + (sum0 >> 22); + sum2 = a.h - b.h + (sum1 >> 22); + return {l:sum0 & $intern_5, m:sum1 & $intern_5, h:sum2 & $intern_6}; +} + +function toDouble(a){ + var neg0, neg1, neg2; + if (eq(a, ($clinit_LongLib$Const() , MIN_VALUE))) { + return $intern_9; + } + if (!gte(a, ZERO)) { + return -toDoubleHelper((neg0 = ~a.l + 1 & $intern_5 , neg1 = ~a.m + (neg0 == 0?1:0) & $intern_5 , neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_6 , create0(neg0, neg1, neg2))); + } + return a.l + a.m * $intern_7 + a.h * $intern_8; +} + +function toInt(a){ + return a.l | a.m << 22; +} + +var boxedValues; +function $clinit_LongLib$Const(){ + $clinit_LongLib$Const = emptyMethod; + MAX_VALUE = create0($intern_5, $intern_5, 524287); + MIN_VALUE = create0(0, 0, $intern_10); + fromInt(1); + fromInt(2); + ZERO = fromInt(0); +} + +var MAX_VALUE, MIN_VALUE, ZERO; +function hasTypeMarker(o){ + return o.typeMarker$ === typeMarkerFn; +} + +function init(){ + $wnd.setTimeout($entry(assertCompileTimeUserAgent)); + $onModuleLoad(); + $clinit_ExporterUtil(); + new AsyncQRCallback_ExporterImpl; + new JsQRScanner_ExporterImpl; + $wnd.JsQRScannerReady && $wnd.JsQRScannerReady(); +} + +function $getMediaElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function $setAutoplay(this$static){ + ($clinit_DOM() , this$static.element).setAttribute('autoplay', ''); +} + +function $setSrc(this$static){ + ($clinit_DOM() , this$static.element).src = ''; +} + +defineClass(115, 175, $intern_1); +var Lcom_google_gwt_media_client_MediaBase_2_classLit = createForClass('com.google.gwt.media.client', 'MediaBase', 115); +function $getVideoElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function Video(element){ + $setElement(this, ($clinit_DOM() , element)); +} + +function createIfSupported_0(){ + var element; + !detector_0 && (detector_0 = new Video$VideoElementSupportDetectedMaybe); + element = $doc.createElement('video'); + if (!element.canPlayType) { + return null; + } + return new Video(element); +} + +defineClass(116, 115, $intern_1, Video); +var detector_0; +var Lcom_google_gwt_media_client_Video_2_classLit = createForClass('com.google.gwt.media.client', 'Video', 116); +defineClass(176, 1, {}); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetector_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetector', 176); +function Video$VideoElementSupportDetectedMaybe(){ +} + +defineClass(117, 176, {}, Video$VideoElementSupportDetectedMaybe); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetectedMaybe_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetectedMaybe', 117); +function $clinit_DOM(){ + $clinit_DOM = emptyMethod; + $clinit_DOMImplStandard(); +} + +function dispatchEvent_0(evt, elem, listener){ + $clinit_DOM(); + var prevCurrentEvent; + prevCurrentEvent = currentEvent; + currentEvent = evt; + elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null); + listener.onBrowserEvent(evt); + currentEvent = prevCurrentEvent; +} + +function resolve(maybePotential){ + $clinit_DOM(); + return maybePotential.__gwt_resolve?maybePotential.__gwt_resolve():maybePotential; +} + +var currentEvent = null, sCaptureElem; +function $onModuleLoad(){ + var allowedModes, currentMode, i; + currentMode = $doc.compatMode; + allowedModes = initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['CSS1Compat']); + for (i = 0; i < allowedModes.length; i++) { + if ($equals(allowedModes[i], currentMode)) { + return; + } + } + allowedModes.length == 1 && $equals('CSS1Compat', allowedModes[0]) && $equals('BackCompat', currentMode)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').
Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\"document.compatMode\" value=\"" + currentMode + '"/>':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' " + currentMode + "').
Modify your application's host HTML page doctype, or update your custom " + "'document.compatMode' configuration property settings."; +} + +function $cancel(this$static){ + if (!this$static.timerId) { + return; + } + ++this$static.cancelCounter; + this$static.isRepeating?clearInterval_0(this$static.timerId.value_0):clearTimeout_0(this$static.timerId.value_0); + this$static.timerId = null; +} + +function $schedule(this$static, delayMillis){ + if (delayMillis < 0) { + throw new IllegalArgumentException_0('must be non-negative'); + } + !!this$static.timerId && $cancel(this$static); + this$static.isRepeating = false; + this$static.timerId = valueOf(setTimeout_0(createCallback(this$static, this$static.cancelCounter), delayMillis)); +} + +function clearInterval_0(timerId){ + $wnd.clearInterval(timerId); +} + +function clearTimeout_0(timerId){ + $wnd.clearTimeout(timerId); +} + +function createCallback(timer, cancelCounter){ + return $entry(function(){ + timer.fire(cancelCounter); + } + ); +} + +function setTimeout_0(func, time){ + return $wnd.setTimeout(func, time); +} + +defineClass(107, 1, {}); +_.fire = function fire(scheduleCancelCounter){ + if (scheduleCancelCounter != this.cancelCounter) { + return; + } + this.isRepeating || (this.timerId = null); + $scan(this.this$01); +} +; +_.cancelCounter = 0; +_.isRepeating = false; +_.timerId = null; +var Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client', 'Timer', 107); +function $eventGetTypeInt(eventType){ + switch (eventType) { + case 'blur': + return 4096; + case 'change': + return 1024; + case 'click': + return 1; + case 'dblclick': + return 2; + case 'focus': + return 2048; + case 'keydown': + return 128; + case 'keypress': + return 256; + case 'keyup': + return 512; + case 'load': + return 32768; + case 'losecapture': + return 8192; + case 'mousedown': + return 4; + case 'mousemove': + return 64; + case 'mouseout': + return 32; + case 'mouseover': + return 16; + case 'mouseup': + return 8; + case 'scroll': + return 16384; + case 'error': + return $intern_11; + case 'DOMMouseScroll': + case 'mousewheel': + return 131072; + case 'contextmenu': + return 262144; + case 'paste': + return $intern_10; + case 'touchstart': + return $intern_12; + case 'touchmove': + return 2097152; + case 'touchend': + return $intern_7; + case 'touchcancel': + return $intern_13; + case 'gesturestart': + return $intern_14; + case 'gesturechange': + return $intern_15; + case 'gestureend': + return $intern_16; + default:return -1; + } +} + +function $maybeInitializeEventSystem(){ + if (!eventSystemIsInitialized) { + $initEventSystem(); + eventSystemIsInitialized = true; + } +} + +function getEventListener(elem){ + var maybeListener = elem.__listener; + return !instanceOfJso(maybeListener) && instanceOf(maybeListener, 31)?maybeListener:null; +} + +function setEventListener(elem, listener){ + elem.__listener = listener; +} + +var eventSystemIsInitialized = false; +function $clinit_DOMImplStandard(){ + $clinit_DOMImplStandard = emptyMethod; + bitlessEventDispatchers = {_default_:dispatchEvent_2, dragenter:dispatchDragEvent, dragover:dispatchDragEvent}; + captureEventDispatchers = {click:dispatchCapturedMouseEvent, dblclick:dispatchCapturedMouseEvent, mousedown:dispatchCapturedMouseEvent, mouseup:dispatchCapturedMouseEvent, mousemove:dispatchCapturedMouseEvent, mouseover:dispatchCapturedMouseEvent, mouseout:dispatchCapturedMouseEvent, mousewheel:dispatchCapturedMouseEvent, keydown:dispatchCapturedEvent, keyup:dispatchCapturedEvent, keypress:dispatchCapturedEvent, touchstart:dispatchCapturedMouseEvent, touchend:dispatchCapturedMouseEvent, touchmove:dispatchCapturedMouseEvent, touchcancel:dispatchCapturedMouseEvent, gesturestart:dispatchCapturedMouseEvent, gestureend:dispatchCapturedMouseEvent, gesturechange:dispatchCapturedMouseEvent}; +} + +function $initEventSystem(){ + dispatchEvent_1 = $entry(dispatchEvent_2); + dispatchUnhandledEvent = $entry(dispatchUnhandledEvent_0); + var foreach = foreach_0; + var bitlessEvents = bitlessEventDispatchers; + foreach(bitlessEvents, function(e, fn){ + bitlessEvents[e] = $entry(fn); + } + ); + var captureEvents_0 = captureEventDispatchers; + foreach(captureEvents_0, function(e, fn){ + captureEvents_0[e] = $entry(fn); + } + ); + foreach(captureEvents_0, function(e, fn){ + $wnd.addEventListener(e, fn, true); + } + ); +} + +function $sinkEvents(elem, bits){ + $maybeInitializeEventSystem(); + $sinkEventsImpl(elem, bits); +} + +function $sinkEventsImpl(elem, bits){ + var chMask = (elem.__eventBits || 0) ^ bits; + elem.__eventBits = bits; + if (!chMask) + return; + chMask & 1 && (elem.onclick = bits & 1?dispatchEvent_1:null); + chMask & 2 && (elem.ondblclick = bits & 2?dispatchEvent_1:null); + chMask & 4 && (elem.onmousedown = bits & 4?dispatchEvent_1:null); + chMask & 8 && (elem.onmouseup = bits & 8?dispatchEvent_1:null); + chMask & 16 && (elem.onmouseover = bits & 16?dispatchEvent_1:null); + chMask & 32 && (elem.onmouseout = bits & 32?dispatchEvent_1:null); + chMask & 64 && (elem.onmousemove = bits & 64?dispatchEvent_1:null); + chMask & 128 && (elem.onkeydown = bits & 128?dispatchEvent_1:null); + chMask & 256 && (elem.onkeypress = bits & 256?dispatchEvent_1:null); + chMask & 512 && (elem.onkeyup = bits & 512?dispatchEvent_1:null); + chMask & 1024 && (elem.onchange = bits & 1024?dispatchEvent_1:null); + chMask & 2048 && (elem.onfocus = bits & 2048?dispatchEvent_1:null); + chMask & 4096 && (elem.onblur = bits & 4096?dispatchEvent_1:null); + chMask & 8192 && (elem.onlosecapture = bits & 8192?dispatchEvent_1:null); + chMask & 16384 && (elem.onscroll = bits & 16384?dispatchEvent_1:null); + chMask & 32768 && (elem.onload = bits & 32768?dispatchUnhandledEvent:null); + chMask & $intern_11 && (elem.onerror = bits & $intern_11?dispatchEvent_1:null); + chMask & 131072 && (elem.onmousewheel = bits & 131072?dispatchEvent_1:null); + chMask & 262144 && (elem.oncontextmenu = bits & 262144?dispatchEvent_1:null); + chMask & $intern_10 && (elem.onpaste = bits & $intern_10?dispatchEvent_1:null); + chMask & $intern_12 && (elem.ontouchstart = bits & $intern_12?dispatchEvent_1:null); + chMask & 2097152 && (elem.ontouchmove = bits & 2097152?dispatchEvent_1:null); + chMask & $intern_7 && (elem.ontouchend = bits & $intern_7?dispatchEvent_1:null); + chMask & $intern_13 && (elem.ontouchcancel = bits & $intern_13?dispatchEvent_1:null); + chMask & $intern_14 && (elem.ongesturestart = bits & $intern_14?dispatchEvent_1:null); + chMask & $intern_15 && (elem.ongesturechange = bits & $intern_15?dispatchEvent_1:null); + chMask & $intern_16 && (elem.ongestureend = bits & $intern_16?dispatchEvent_1:null); +} + +function dispatchCapturedEvent(evt){ + $clinit_DOM(); +} + +function dispatchCapturedMouseEvent(evt){ + $clinit_DOM(); + return; +} + +function dispatchDragEvent(evt){ + evt.preventDefault(); + dispatchEvent_2(evt); +} + +function dispatchEvent_2(evt){ + var element; + element = getFirstAncestorWithListener(evt); + if (!element) { + return; + } + dispatchEvent_0(evt, element.nodeType != 1?null:element, getEventListener(element)); +} + +function dispatchUnhandledEvent_0(evt){ + var element; + element = $eventGetCurrentTarget(evt); + element['__gwtLastUnhandledEvent'] = evt.type; + dispatchEvent_2(evt); +} + +function getFirstAncestorWithListener(evt){ + var curElem; + curElem = $eventGetCurrentTarget(evt); + while (!!curElem && !getEventListener(curElem)) { + curElem = curElem.parentNode; + } + return curElem; +} + +var bitlessEventDispatchers, captureEventDispatchers, dispatchEvent_1, dispatchUnhandledEvent; +function foreach_0(map_0, fn){ + for (var e in map_0) { + map_0.hasOwnProperty(e) && fn(e, map_0[e]); + } +} + +defineClass(174, 20, $intern_1); +_.doAttachChildren = function doAttachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , attachCommand)); +} +; +_.doDetachChildren = function doDetachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , detachCommand)); +} +; +var Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Panel', 174); +function $add(this$static, child, container){ + $removeFromParent(child); + $add_1(this$static.children, child); + $clinit_DOM(); + $appendChild(container, resolve(child.element)); + $setParent(child, this$static); +} + +function $remove(this$static, w){ + var elem, parent_0; + if (w.parent_0 != this$static) { + return false; + } + try { + $setParent(w, null); + } + finally { + elem = ($clinit_DOM() , w.element); + $removeChild((null , parent_0 = elem.parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0), elem); + $remove_1(this$static.children, w); + } + return true; +} + +defineClass(103, 174, $intern_1); +_.iterator = function iterator_0(){ + return new WidgetCollection$WidgetIterator(this.children); +} +; +var Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'ComplexPanel', 103); +function $clinit_AttachDetachException(){ + $clinit_AttachDetachException = emptyMethod; + attachCommand = new AttachDetachException$1; + detachCommand = new AttachDetachException$2; +} + +function AttachDetachException(causes){ + RuntimeException_1.call(this, makeMessage(causes), makeCause(causes)); +} + +function tryCommand(hasWidgets, c){ + var old; + $clinit_AttachDetachException(); + var caught, e, w, w$iterator; + caught = null; + for (w$iterator = hasWidgets.iterator(); w$iterator.hasNext();) { + w = dynamicCast(w$iterator.next(), 20); + try { + c.execute_0(w); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + !caught && (caught = new HashSet); + old = $put(caught.map_0, e, caught); + } + else + throw unwrap($e0); + } + } + if (caught) { + throw new AttachDetachException(caught); + } +} + +defineClass(111, 110, $intern_4, AttachDetachException); +var attachCommand, detachCommand; +var Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException', 111); +function AttachDetachException$1(){ +} + +defineClass(112, 1, {}, AttachDetachException$1); +_.execute_0 = function execute(w){ + w.onAttach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/1', 112); +function AttachDetachException$2(){ +} + +defineClass(113, 1, {}, AttachDetachException$2); +_.execute_0 = function execute_0(w){ + w.onDetach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/2', 113); +function $add_0(this$static, w){ + $add(this$static, w, ($clinit_DOM() , this$static.element)); +} + +defineClass(75, 103, $intern_1); +var Lcom_google_gwt_user_client_ui_FlowPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FlowPanel', 75); +function $clinit_RootPanel(){ + $clinit_RootPanel = emptyMethod; + new HashMap; + widgetsToDetach = new HashSet; +} + +function detachNow(widget){ + $clinit_RootPanel(); + try { + $onDetach(widget); + } + finally { + $remove_4(widgetsToDetach, widget); + } +} + +var widgetsToDetach; +function $add_1(this$static, w){ + $insert(this$static, w, this$static.size_0); +} + +function $indexOf(this$static, w){ + var i; + for (i = 0; i < this$static.size_0; ++i) { + if (this$static.array[i] == w) { + return i; + } + } + return -1; +} + +function $insert(this$static, w, beforeIndex){ + var i, i0, newArray; + if (beforeIndex < 0 || beforeIndex > this$static.size_0) { + throw new IndexOutOfBoundsException; + } + if (this$static.size_0 == this$static.array.length) { + newArray = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 20, this$static.array.length * 2, 0, 1); + for (i0 = 0; i0 < this$static.array.length; ++i0) { + setCheck(newArray, i0, this$static.array[i0]); + } + this$static.array = newArray; + } + ++this$static.size_0; + for (i = this$static.size_0 - 1; i > beforeIndex; --i) { + setCheck(this$static.array, i, this$static.array[i - 1]); + } + setCheck(this$static.array, beforeIndex, w); +} + +function $remove_0(this$static, index_0){ + var i; + if (index_0 < 0 || index_0 >= this$static.size_0) { + throw new IndexOutOfBoundsException; + } + --this$static.size_0; + for (i = index_0; i < this$static.size_0; ++i) { + setCheck(this$static.array, i, this$static.array[i + 1]); + } + setCheck(this$static.array, this$static.size_0, null); +} + +function $remove_1(this$static, w){ + var index_0; + index_0 = $indexOf(this$static, w); + if (index_0 == -1) { + throw new NoSuchElementException; + } + $remove_0(this$static, index_0); +} + +function WidgetCollection(){ + this.array = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 20, 4, 0, 1); +} + +defineClass(119, 1, {}, WidgetCollection); +_.iterator = function iterator_1(){ + return new WidgetCollection$WidgetIterator(this); +} +; +_.size_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection', 119); +function $next(this$static){ + if (this$static.index_0 >= this$static.this$01.size_0) { + throw new NoSuchElementException; + } + this$static.currentWidget = this$static.this$01.array[this$static.index_0]; + ++this$static.index_0; + return this$static.currentWidget; +} + +function WidgetCollection$WidgetIterator(this$0){ + this.this$01 = this$0; +} + +defineClass(76, 1, {}, WidgetCollection$WidgetIterator); +_.hasNext = function hasNext(){ + return this.index_0 < this.this$01.size_0; +} +; +_.next = function next(){ + return $next(this); +} +; +_.index_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection/WidgetIterator', 76); +function assertCompileTimeUserAgent(){ + var runtimeValue; + runtimeValue = $getRuntimeValue(); + if (!$equals('safari', runtimeValue)) { + throw new UserAgentAsserter$UserAgentAssertionError(runtimeValue); + } +} + +function Error_0(message){ + Throwable.call(this, message); +} + +defineClass(59, 8, $intern_3); +var Ljava_lang_Error_2_classLit = createForClass('java.lang', 'Error', 59); +defineClass(18, 59, $intern_3); +var Ljava_lang_AssertionError_2_classLit = createForClass('java.lang', 'AssertionError', 18); +function UserAgentAsserter$UserAgentAssertionError(runtimeValue){ + Error_0.call(this, '' + ('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (safari) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.'), instanceOf('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (safari) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8)?dynamicCast('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (safari) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8):null); +} + +defineClass(80, 18, $intern_3, UserAgentAsserter$UserAgentAssertionError); +var Lcom_google_gwt_useragent_client_UserAgentAsserter$UserAgentAssertionError_2_classLit = createForClass('com.google.gwt.useragent.client', 'UserAgentAsserter/UserAgentAssertionError', 80); +function $getRuntimeValue(){ + var ua = navigator.userAgent.toLowerCase(); + var docMode = $doc.documentMode; + if (function(){ + return ua.indexOf('webkit') != -1; + } + ()) + return 'safari'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 10 && docMode < 11; + } + ()) + return 'ie10'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 9 && docMode < 11; + } + ()) + return 'ie9'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 8 && docMode < 11; + } + ()) + return 'ie8'; + if (function(){ + return ua.indexOf('gecko') != -1 || docMode >= 11; + } + ()) + return 'gecko1_8'; + return 'unknown'; +} + +defineClass(126, 1, {}); +var Lcom_google_zxing_Binarizer_2_classLit = createForClass('com.google.zxing', 'Binarizer', 126); +function BinaryBitmap(binarizer){ + this.binarizer = binarizer; +} + +defineClass(124, 1, {}, BinaryBitmap); +_.toString$ = function toString_3(){ + try { + return $toString((!this.matrix && (this.matrix = $getBlackMatrix_0(this.binarizer)) , this.matrix)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 54)) { + return ''; + } + else + throw unwrap($e0); + } +} +; +var Lcom_google_zxing_BinaryBitmap_2_classLit = createForClass('com.google.zxing', 'BinaryBitmap', 124); +function $clinit_ReaderException(){ + $clinit_ReaderException = emptyMethod; + NO_TRACE = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 182, 0, 0, 1); +} + +function ReaderException(){ + $clinit_ReaderException(); + Exception.call(this); +} + +defineClass(64, 10, $intern_4); +_.fillInStackTrace = function fillInStackTrace_0(){ + return null; +} +; +var NO_TRACE; +var Lcom_google_zxing_ReaderException_2_classLit = createForClass('com.google.zxing', 'ReaderException', 64); +function $clinit_ChecksumException(){ + $clinit_ChecksumException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_0 = new ChecksumException; + $setStackTrace(NO_TRACE); +} + +function ChecksumException(){ + ReaderException.call(this); +} + +defineClass(55, 64, {55:1, 3:1, 10:1, 8:1}, ChecksumException); +var INSTANCE_0; +var Lcom_google_zxing_ChecksumException_2_classLit = createForClass('com.google.zxing', 'ChecksumException', 55); +function $clinit_FormatException(){ + $clinit_FormatException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_1 = new FormatException; + $setStackTrace(NO_TRACE); +} + +function FormatException(){ + ReaderException.call(this); +} + +defineClass(56, 64, {56:1, 3:1, 10:1, 8:1}, FormatException); +var INSTANCE_1; +var Lcom_google_zxing_FormatException_2_classLit = createForClass('com.google.zxing', 'FormatException', 56); +defineClass(125, 1, {}); +_.toString$ = function toString_4(){ + var c, luminance, result, row, x_0, y_0; + row = initDim(B_classLit, $intern_17, 0, this.width_0, 7, 1); + result = new StringBuilder; + for (y_0 = 0; y_0 < this.height_0; y_0++) { + row = $getRow(this, y_0, row); + for (x_0 = 0; x_0 < this.width_0; x_0++) { + luminance = row[x_0] & 255; + luminance < 64?(c = 35):luminance < 128?(c = 43):luminance < 192?(c = 46):(c = 32); + result.string += charToString(c); + } + result.string += '\n'; + } + return result.string; +} +; +_.height_0 = 0; +_.width_0 = 0; +var Lcom_google_zxing_LuminanceSource_2_classLit = createForClass('com.google.zxing', 'LuminanceSource', 125); +function $clinit_NotFoundException(){ + $clinit_NotFoundException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_2 = new NotFoundException; + $setStackTrace(NO_TRACE); +} + +function NotFoundException(){ + ReaderException.call(this); +} + +defineClass(54, 64, {54:1, 3:1, 10:1, 8:1}, NotFoundException); +var INSTANCE_2; +var Lcom_google_zxing_NotFoundException_2_classLit = createForClass('com.google.zxing', 'NotFoundException', 54); +function $putMetadata(this$static, type_0, value_0){ + !this$static.resultMetadata && (this$static.resultMetadata = new EnumMap(Lcom_google_zxing_ResultMetadataType_2_classLit)); + $put_1(this$static.resultMetadata, type_0, value_0); +} + +function Result(text_0){ + Result_0.call(this, text_0, fromDouble(now_1())); +} + +function Result_0(text_0){ + this.text_0 = text_0; + this.resultMetadata = null; +} + +defineClass(63, 1, {}, Result); +_.toString$ = function toString_5(){ + return this.text_0; +} +; +var Lcom_google_zxing_Result_2_classLit = createForClass('com.google.zxing', 'Result', 63); +function $compareTo(this$static, other){ + return this$static.ordinal - other.ordinal; +} + +function Enum(name_0, ordinal){ + this.name_0 = name_0; + this.ordinal = ordinal; +} + +defineClass(13, 1, {3:1, 19:1, 13:1}); +_.compareTo = function compareTo(other){ + return $compareTo(this, dynamicCast(other, 13)); +} +; +_.equals$ = function equals_0(other){ + return this === other; +} +; +_.hashCode$ = function hashCode_1(){ + return getHashCode(this); +} +; +_.toString$ = function toString_6(){ + return this.name_0 != null?this.name_0:'' + this.ordinal; +} +; +_.ordinal = 0; +var Ljava_lang_Enum_2_classLit = createForClass('java.lang', 'Enum', 13); +function $clinit_ResultMetadataType(){ + $clinit_ResultMetadataType = emptyMethod; + OTHER = new ResultMetadataType('OTHER', 0); + ORIENTATION = new ResultMetadataType('ORIENTATION', 1); + BYTE_SEGMENTS = new ResultMetadataType('BYTE_SEGMENTS', 2); + ERROR_CORRECTION_LEVEL = new ResultMetadataType('ERROR_CORRECTION_LEVEL', 3); + ISSUE_NUMBER = new ResultMetadataType('ISSUE_NUMBER', 4); + SUGGESTED_PRICE = new ResultMetadataType('SUGGESTED_PRICE', 5); + POSSIBLE_COUNTRY = new ResultMetadataType('POSSIBLE_COUNTRY', 6); + UPC_EAN_EXTENSION = new ResultMetadataType('UPC_EAN_EXTENSION', 7); + PDF417_EXTRA_METADATA = new ResultMetadataType('PDF417_EXTRA_METADATA', 8); + STRUCTURED_APPEND_SEQUENCE = new ResultMetadataType('STRUCTURED_APPEND_SEQUENCE', 9); + STRUCTURED_APPEND_PARITY = new ResultMetadataType('STRUCTURED_APPEND_PARITY', 10); +} + +function ResultMetadataType(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_0(){ + $clinit_ResultMetadataType(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_ResultMetadataType_2_classLit, 1), $intern_18, 21, 0, [OTHER, ORIENTATION, BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, SUGGESTED_PRICE, POSSIBLE_COUNTRY, UPC_EAN_EXTENSION, PDF417_EXTRA_METADATA, STRUCTURED_APPEND_SEQUENCE, STRUCTURED_APPEND_PARITY]); +} + +defineClass(21, 13, {21:1, 3:1, 19:1, 13:1}, ResultMetadataType); +var BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, ORIENTATION, OTHER, PDF417_EXTRA_METADATA, POSSIBLE_COUNTRY, STRUCTURED_APPEND_PARITY, STRUCTURED_APPEND_SEQUENCE, SUGGESTED_PRICE, UPC_EAN_EXTENSION; +var Lcom_google_zxing_ResultMetadataType_2_classLit = createForEnum('com.google.zxing', 'ResultMetadataType', 21, values_0); +function ResultPoint(x_0, y_0){ + this.x_0 = x_0; + this.y_0 = y_0; +} + +function distance(pattern1, pattern2){ + return distance_0(pattern1.x_0, pattern1.y_0, pattern2.x_0, pattern2.y_0); +} + +function orderBestPatterns(patterns){ + var oneTwoDistance, pointA, pointB, pointC, temp, zeroOneDistance, zeroTwoDistance, bX, bY; + zeroOneDistance = distance(patterns[0], patterns[1]); + oneTwoDistance = distance(patterns[1], patterns[2]); + zeroTwoDistance = distance(patterns[0], patterns[2]); + if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) { + pointB = patterns[0]; + pointA = patterns[1]; + pointC = patterns[2]; + } + else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) { + pointB = patterns[1]; + pointA = patterns[0]; + pointC = patterns[2]; + } + else { + pointB = patterns[2]; + pointA = patterns[0]; + pointC = patterns[1]; + } + if ((bX = pointB.x_0 , bY = pointB.y_0 , (pointC.x_0 - bX) * (pointA.y_0 - bY) - (pointC.y_0 - bY) * (pointA.x_0 - bX)) < 0) { + temp = pointA; + pointA = pointC; + pointC = temp; + } + setCheck(patterns, 0, pointA); + patterns[1] = pointB; + setCheck(patterns, 2, pointC); +} + +defineClass(29, 1, {29:1}); +_.equals$ = function equals_1(other){ + var otherPoint; + if (instanceOf(other, 29)) { + otherPoint = dynamicCast(other, 29); + return this.x_0 == otherPoint.x_0 && this.y_0 == otherPoint.y_0; + } + return false; +} +; +_.hashCode$ = function hashCode_2(){ + return 31 * floatToIntBits(this.x_0) + floatToIntBits(this.y_0); +} +; +_.toString$ = function toString_7(){ + var result; + result = new StringBuilder; + result.string += '('; + $append_0(result, this.x_0); + result.string += ','; + $append_0(result, this.y_0); + result.string += ')'; + return result.string; +} +; +_.x_0 = 0; +_.y_0 = 0; +var Lcom_google_zxing_ResultPoint_2_classLit = createForClass('com.google.zxing', 'ResultPoint', 29); +function $flip(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] ^= 1 << (x_0 & 31); +} + +function $get(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + return (this$static.bits[offset] >>> (x_0 & 31) & 1) != 0; +} + +function $set_0(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] |= 1 << (x_0 & 31); +} + +function $setRegion(this$static, left, top_0, width_0, height){ + var bottom, offset, right, x_0, y_0; + if (top_0 < 0 || left < 0) { + throw new IllegalArgumentException_0('Left and top must be nonnegative'); + } + if (height < 1 || width_0 < 1) { + throw new IllegalArgumentException_0('Height and width must be at least 1'); + } + right = left + width_0; + bottom = top_0 + height; + if (bottom > this$static.height_0 || right > this$static.width_0) { + throw new IllegalArgumentException_0('The region must fit inside the matrix'); + } + for (y_0 = top_0; y_0 < bottom; y_0++) { + offset = y_0 * this$static.rowSize; + for (x_0 = left; x_0 < right; x_0++) { + this$static.bits[offset + ~~(x_0 / 32)] |= 1 << (x_0 & 31); + } + } +} + +function $toString(this$static){ + var result, x_0, y_0; + result = new StringBuilder; + for (y_0 = 0; y_0 < this$static.height_0; y_0++) { + for (x_0 = 0; x_0 < this$static.width_0; x_0++) { + $append_2(result, $get(this$static, x_0, y_0)?'X ':' '); + } + result.string += '\n'; + } + return result.string; +} + +function BitMatrix(dimension){ + BitMatrix_0.call(this, dimension, dimension); +} + +function BitMatrix_0(width_0, height){ + if (width_0 < 1 || height < 1) { + throw new IllegalArgumentException_0('Both dimensions must be greater than 0'); + } + this.width_0 = width_0; + this.height_0 = height; + this.rowSize = ~~((width_0 + 31) / 32); + this.bits = initDim(I_classLit, $intern_19, 0, this.rowSize * height, 7, 1); +} + +defineClass(32, 1, {32:1}, BitMatrix, BitMatrix_0); +_.equals$ = function equals_2(o){ + var other; + if (!instanceOf(o, 32)) { + return false; + } + other = dynamicCast(o, 32); + return this.width_0 == other.width_0 && this.height_0 == other.height_0 && this.rowSize == other.rowSize && equals_10(this.bits, other.bits); +} +; +_.hashCode$ = function hashCode_3(){ + var hash; + hash = this.width_0; + hash = 31 * hash + this.width_0; + hash = 31 * hash + this.height_0; + hash = 31 * hash + this.rowSize; + hash = 31 * hash + hashCode_11(this.bits); + return hash; +} +; +_.toString$ = function toString_8(){ + return $toString(this); +} +; +_.height_0 = 0; +_.rowSize = 0; +_.width_0 = 0; +var Lcom_google_zxing_common_BitMatrix_2_classLit = createForClass('com.google.zxing.common', 'BitMatrix', 32); +function $readBits(this$static, numBits){ + var bitsLeft, bitsToNotRead, mask, result, toRead; + if (numBits < 1 || numBits > 32 || numBits > 8 * (this$static.bytes.length - this$static.byteOffset) - this$static.bitOffset) { + throw new IllegalArgumentException_0('' + numBits); + } + result = 0; + if (this$static.bitOffset > 0) { + bitsLeft = 8 - this$static.bitOffset; + toRead = numBits < bitsLeft?numBits:bitsLeft; + bitsToNotRead = bitsLeft - toRead; + mask = 255 >> 8 - toRead << bitsToNotRead; + result = (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + numBits -= toRead; + this$static.bitOffset += toRead; + if (this$static.bitOffset == 8) { + this$static.bitOffset = 0; + ++this$static.byteOffset; + } + } + if (numBits > 0) { + while (numBits >= 8) { + result = result << 8 | this$static.bytes[this$static.byteOffset] & 255; + ++this$static.byteOffset; + numBits -= 8; + } + if (numBits > 0) { + bitsToNotRead = 8 - numBits; + mask = 255 >> bitsToNotRead << bitsToNotRead; + result = result << numBits | (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + this$static.bitOffset += numBits; + } + } + return result; +} + +function BitSource(bytes){ + this.bytes = bytes; +} + +defineClass(150, 1, {}, BitSource); +_.bitOffset = 0; +_.byteOffset = 0; +var Lcom_google_zxing_common_BitSource_2_classLit = createForClass('com.google.zxing.common', 'BitSource', 150); +function $clinit_CharacterSetECI(){ + $clinit_CharacterSetECI = emptyMethod; + var eci, eci$array, eci$index, eci$max, name_0, name$array, name$index, name$max, value_0, value$array, value$index, value$max; + Cp437 = new CharacterSetECI_1('Cp437', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [0, 2]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); + ISO8859_1 = new CharacterSetECI_1('ISO8859_1', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [1, 3]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-1'])); + ISO8859_2 = new CharacterSetECI_0('ISO8859_2', 2, 4, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-2'])); + ISO8859_3 = new CharacterSetECI_0('ISO8859_3', 3, 5, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-3'])); + ISO8859_4 = new CharacterSetECI_0('ISO8859_4', 4, 6, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-4'])); + ISO8859_5 = new CharacterSetECI_0('ISO8859_5', 5, 7, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-5'])); + ISO8859_6 = new CharacterSetECI_0('ISO8859_6', 6, 8, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-6'])); + ISO8859_7 = new CharacterSetECI_0('ISO8859_7', 7, 9, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-7'])); + ISO8859_8 = new CharacterSetECI_0('ISO8859_8', 8, 10, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-8'])); + ISO8859_9 = new CharacterSetECI_0('ISO8859_9', 9, 11, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-9'])); + ISO8859_10 = new CharacterSetECI_0('ISO8859_10', 10, 12, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-10'])); + ISO8859_11 = new CharacterSetECI_0('ISO8859_11', 11, 13, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-11'])); + ISO8859_13 = new CharacterSetECI_0('ISO8859_13', 12, 15, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-13'])); + ISO8859_14 = new CharacterSetECI_0('ISO8859_14', 13, 16, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-14'])); + ISO8859_15 = new CharacterSetECI_0('ISO8859_15', 14, 17, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-15'])); + ISO8859_16 = new CharacterSetECI_0('ISO8859_16', 15, 18, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-16'])); + SJIS = new CharacterSetECI_0('SJIS', 16, 20, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['Shift_JIS'])); + Cp1250 = new CharacterSetECI_0('Cp1250', 17, 21, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1250'])); + Cp1251 = new CharacterSetECI_0('Cp1251', 18, 22, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1251'])); + Cp1252 = new CharacterSetECI_0('Cp1252', 19, 23, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1252'])); + Cp1256 = new CharacterSetECI_0('Cp1256', 20, 24, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1256'])); + UnicodeBigUnmarked = new CharacterSetECI_0('UnicodeBigUnmarked', 21, 25, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-16BE', 'UnicodeBig'])); + UTF8 = new CharacterSetECI_0('UTF8', 22, 26, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-8'])); + ASCII = new CharacterSetECI_1('ASCII', 23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [27, 170]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['US-ASCII'])); + Big5 = new CharacterSetECI; + GB18030 = new CharacterSetECI_0('GB18030', 25, 29, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['GB2312', 'EUC_CN', 'GBK'])); + EUC_KR = new CharacterSetECI_0('EUC_KR', 26, 30, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['EUC-KR'])); + VALUE_TO_ECI = new HashMap; + NAME_TO_ECI = new HashMap; + for (eci$array = values_1() , eci$index = 0 , eci$max = eci$array.length; eci$index < eci$max; ++eci$index) { + eci = eci$array[eci$index]; + for (value$array = eci.values , value$index = 0 , value$max = value$array.length; value$index < value$max; ++value$index) { + value_0 = value$array[value$index]; + $put(VALUE_TO_ECI, valueOf(value_0), eci); + } + $putStringValue(NAME_TO_ECI, eci.name_0 != null?eci.name_0:'' + eci.ordinal, eci); + for (name$array = eci.otherEncodingNames , name$index = 0 , name$max = name$array.length; name$index < name$max; ++name$index) { + name_0 = name$array[name$index]; + $putStringValue(NAME_TO_ECI, name_0, eci); + } + } +} + +function CharacterSetECI(){ + CharacterSetECI_1.call(this, 'Big5', 24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [28]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); +} + +function CharacterSetECI_0(enum$name, enum$ordinal, value_0, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [value_0]); + this.otherEncodingNames = otherEncodingNames; +} + +function CharacterSetECI_1(enum$name, enum$ordinal, values, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = values; + this.otherEncodingNames = otherEncodingNames; +} + +function getCharacterSetECIByValue(value_0){ + $clinit_CharacterSetECI(); + if (value_0 < 0 || value_0 >= 900) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return dynamicCast($get_0(VALUE_TO_ECI, valueOf(value_0)), 11); +} + +function values_1(){ + $clinit_CharacterSetECI(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_CharacterSetECI_2_classLit, 1), $intern_18, 11, 0, [Cp437, ISO8859_1, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, SJIS, Cp1250, Cp1251, Cp1252, Cp1256, UnicodeBigUnmarked, UTF8, ASCII, Big5, GB18030, EUC_KR]); +} + +defineClass(11, 13, {11:1, 3:1, 19:1, 13:1}, CharacterSetECI, CharacterSetECI_0, CharacterSetECI_1); +var ASCII, Big5, Cp1250, Cp1251, Cp1252, Cp1256, Cp437, EUC_KR, GB18030, ISO8859_1, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, NAME_TO_ECI, SJIS, UTF8, UnicodeBigUnmarked, VALUE_TO_ECI; +var Lcom_google_zxing_common_CharacterSetECI_2_classLit = createForEnum('com.google.zxing.common', 'CharacterSetECI', 11, values_1); +function $setOther(this$static, other){ + this$static.other = other; +} + +function DecoderResult(text_0, byteSegments, ecLevel, saSequence, saParity){ + this.text_0 = text_0; + this.byteSegments = byteSegments; + this.ecLevel = ecLevel; + this.structuredAppendParity = saParity; + this.structuredAppendSequenceNumber = saSequence; +} + +defineClass(129, 1, {}, DecoderResult); +_.structuredAppendParity = 0; +_.structuredAppendSequenceNumber = 0; +var Lcom_google_zxing_common_DecoderResult_2_classLit = createForClass('com.google.zxing.common', 'DecoderResult', 129); +function checkAndNudgePoints(image, points){ + var height, nudged, offset, offset0, width_0, x_0, y_0; + width_0 = image.width_0; + height = image.height_0; + nudged = true; + for (offset0 = 0; offset0 < points.length && nudged; offset0 += 2) { + x_0 = round_int(points[offset0]); + y_0 = round_int(points[offset0 + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset0] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset0] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset0 + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset0 + 1] = height - 1; + nudged = true; + } + } + nudged = true; + for (offset = points.length - 2; offset >= 0 && nudged; offset -= 2) { + x_0 = round_int(points[offset]); + y_0 = round_int(points[offset + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset + 1] = height - 1; + nudged = true; + } + } +} + +function $sampleGrid(image, dimensionX, dimensionY, transform){ + var bits, iValue, max_0, points, x_0, x0, y_0; + if (dimensionX <= 0 || dimensionY <= 0) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bits = new BitMatrix_0(dimensionX, dimensionY); + points = initDim(F_classLit, $intern_17, 0, 2 * dimensionX, 7, 1); + for (y_0 = 0; y_0 < dimensionY; y_0++) { + max_0 = points.length; + iValue = y_0 + 0.5; + for (x0 = 0; x0 < max_0; x0 += 2) { + points[x0] = ~~(x0 / 2) + 0.5; + points[x0 + 1] = iValue; + } + $transformPoints(transform, points); + checkAndNudgePoints(image, points); + for (x_0 = 0; x_0 < max_0; x_0 += 2) { + $get(image, round_int(points[x_0]), round_int(points[x_0 + 1])) && $set_0(bits, ~~(x_0 / 2), y_0); + } + } + return bits; +} + +function DetectorResult(bits, points){ + this.bits = bits; + this.points = points; +} + +defineClass(130, 1, {}, DetectorResult); +var Lcom_google_zxing_common_DetectorResult_2_classLit = createForClass('com.google.zxing.common', 'DetectorResult', 130); +function $clinit_GlobalHistogramBinarizer(){ + $clinit_GlobalHistogramBinarizer = emptyMethod; + EMPTY = initDim(B_classLit, $intern_17, 0, 0, 7, 1); +} + +function $getBlackMatrix(this$static){ + var blackPoint, height, localBuckets, localLuminances, localLuminances0, matrix, offset, pixel, right, row, source, width_0, x_0, y_0, y0; + source = this$static.source; + width_0 = source.width_0; + height = source.height_0; + matrix = new BitMatrix_0(width_0, height); + $initArrays(this$static, width_0); + localBuckets = this$static.buckets; + for (y0 = 1; y0 < 5; y0++) { + row = ~~(height * y0 / 5); + localLuminances0 = $getRow(source, row, this$static.luminances); + right = ~~(width_0 * 4 / 5); + for (x_0 = ~~(width_0 / 5); x_0 < right; x_0++) { + pixel = localLuminances0[x_0] & 255; + ++localBuckets[pixel >> 3]; + } + } + blackPoint = estimateBlackPoint(localBuckets); + localLuminances = $getMatrix(source); + for (y_0 = 0; y_0 < height; y_0++) { + offset = y_0 * width_0; + for (x_0 = 0; x_0 < width_0; x_0++) { + pixel = localLuminances[offset + x_0] & 255; + pixel < blackPoint && $set_0(matrix, x_0, y_0); + } + } + return matrix; +} + +function $initArrays(this$static, luminanceSize){ + var x_0; + this$static.luminances.length < luminanceSize && (this$static.luminances = initDim(B_classLit, $intern_17, 0, luminanceSize, 7, 1)); + for (x_0 = 0; x_0 < 32; x_0++) { + this$static.buckets[x_0] = 0; + } +} + +function estimateBlackPoint(buckets){ + var bestValley, bestValleyScore, distanceToBiggest, firstPeak, firstPeakSize, fromFirst, maxBucketCount, numBuckets, score, secondPeak, secondPeakScore, temp, x_0, x0, x1; + numBuckets = buckets.length; + maxBucketCount = 0; + firstPeak = 0; + firstPeakSize = 0; + for (x0 = 0; x0 < numBuckets; x0++) { + if (buckets[x0] > firstPeakSize) { + firstPeak = x0; + firstPeakSize = buckets[x0]; + } + buckets[x0] > maxBucketCount && (maxBucketCount = buckets[x0]); + } + secondPeak = 0; + secondPeakScore = 0; + for (x1 = 0; x1 < numBuckets; x1++) { + distanceToBiggest = x1 - firstPeak; + score = buckets[x1] * distanceToBiggest * distanceToBiggest; + if (score > secondPeakScore) { + secondPeak = x1; + secondPeakScore = score; + } + } + if (firstPeak > secondPeak) { + temp = firstPeak; + firstPeak = secondPeak; + secondPeak = temp; + } + if (secondPeak - firstPeak <= ~~(numBuckets / 16)) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bestValley = secondPeak - 1; + bestValleyScore = -1; + for (x_0 = secondPeak - 1; x_0 > firstPeak; x_0--) { + fromFirst = x_0 - firstPeak; + score = fromFirst * fromFirst * (secondPeak - x_0) * (maxBucketCount - buckets[x_0]); + if (score > bestValleyScore) { + bestValley = x_0; + bestValleyScore = score; + } + } + return bestValley << 3; +} + +defineClass(127, 126, {}); +var EMPTY; +var Lcom_google_zxing_common_GlobalHistogramBinarizer_2_classLit = createForClass('com.google.zxing.common', 'GlobalHistogramBinarizer', 127); +function $getBlackMatrix_0(this$static){ + var blackPoints, height, luminances, newMatrix, source, subHeight, subWidth, width_0; + if (this$static.matrix) { + return this$static.matrix; + } + source = this$static.source; + width_0 = source.width_0; + height = source.height_0; + if (width_0 >= 40 && height >= 40) { + luminances = $getMatrix(source); + subWidth = width_0 >> 3; + (width_0 & 7) != 0 && ++subWidth; + subHeight = height >> 3; + (height & 7) != 0 && ++subHeight; + blackPoints = calculateBlackPoints(luminances, subWidth, subHeight, width_0, height); + newMatrix = new BitMatrix_0(width_0, height); + calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, newMatrix); + this$static.matrix = newMatrix; + } + else { + this$static.matrix = $getBlackMatrix(this$static); + } + return this$static.matrix; +} + +function HybridBinarizer(source){ + $clinit_GlobalHistogramBinarizer(); + this.source = source; + this.luminances = EMPTY; + this.buckets = initDim(I_classLit, $intern_19, 0, 32, 7, 1); +} + +function calculateBlackPoints(luminances, subWidth, subHeight, width_0, height){ + var average, averageNeighborBlackPoint, blackPoints, max_0, maxXOffset, maxYOffset, min_0, offset, pixel, sum, x_0, xoffset, xx, xx0, y_0, yoffset, yy; + blackPoints = initDims(I_classLit, [$intern_2, $intern_19], [7, 0], 7, [subHeight, subWidth], 2); + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + sum = 0; + min_0 = 255; + max_0 = 0; + for (yy = 0 , offset = yoffset * width_0 + xoffset; yy < 8; ++yy , offset += width_0) { + for (xx0 = 0; xx0 < 8; xx0++) { + pixel = luminances[offset + xx0] & 255; + sum += pixel; + pixel < min_0 && (min_0 = pixel); + pixel > max_0 && (max_0 = pixel); + } + if (max_0 - min_0 > 24) { + for (++yy , offset += width_0; yy < 8; ++yy , offset += width_0) { + for (xx = 0; xx < 8; xx++) { + sum += luminances[offset + xx] & 255; + } + } + } + } + average = sum >> 6; + if (max_0 - min_0 <= 24) { + average = ~~(min_0 / 2); + if (y_0 > 0 && x_0 > 0) { + averageNeighborBlackPoint = ~~((blackPoints[y_0 - 1][x_0] + 2 * blackPoints[y_0][x_0 - 1] + blackPoints[y_0 - 1][x_0 - 1]) / 4); + min_0 < averageNeighborBlackPoint && (average = averageNeighborBlackPoint); + } + } + blackPoints[y_0][x_0] = average; + } + } + return blackPoints; +} + +function calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, matrix){ + var average, blackRow, left, maxXOffset, maxYOffset, sum, top_0, x_0, xoffset, y_0, yoffset, z_0; + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + left = x_0 < 2?2:x_0 > subWidth - 3?subWidth - 3:x_0; + top_0 = y_0 < 2?2:y_0 > subHeight - 3?subHeight - 3:y_0; + sum = 0; + for (z_0 = -2; z_0 <= 2; z_0++) { + blackRow = blackPoints[top_0 + z_0]; + sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2]; + } + average = ~~(sum / 25); + thresholdBlock(luminances, xoffset, yoffset, average, width_0, matrix); + } + } +} + +function thresholdBlock(luminances, xoffset, yoffset, threshold, stride, matrix){ + var offset, x_0, y_0; + for (y_0 = 0 , offset = yoffset * stride + xoffset; y_0 < 8; ++y_0 , offset += stride) { + for (x_0 = 0; x_0 < 8; x_0++) { + (luminances[offset + x_0] & 255) <= threshold && $set_0(matrix, xoffset + x_0, yoffset + y_0); + } + } +} + +defineClass(128, 127, {}, HybridBinarizer); +var Lcom_google_zxing_common_HybridBinarizer_2_classLit = createForClass('com.google.zxing.common', 'HybridBinarizer', 128); +function $buildAdjoint(this$static){ + return new PerspectiveTransform(this$static.a22 * this$static.a33 - this$static.a23 * this$static.a32, this$static.a23 * this$static.a31 - this$static.a21 * this$static.a33, this$static.a21 * this$static.a32 - this$static.a22 * this$static.a31, this$static.a13 * this$static.a32 - this$static.a12 * this$static.a33, this$static.a11 * this$static.a33 - this$static.a13 * this$static.a31, this$static.a12 * this$static.a31 - this$static.a11 * this$static.a32, this$static.a12 * this$static.a23 - this$static.a13 * this$static.a22, this$static.a13 * this$static.a21 - this$static.a11 * this$static.a23, this$static.a11 * this$static.a22 - this$static.a12 * this$static.a21); +} + +function $transformPoints(this$static, points){ + var a11, a12, a13, a21, a22, a23, a31, a32, a33, denominator, i, max_0, x_0, y_0; + max_0 = points.length; + a11 = this$static.a11; + a12 = this$static.a12; + a13 = this$static.a13; + a21 = this$static.a21; + a22 = this$static.a22; + a23 = this$static.a23; + a31 = this$static.a31; + a32 = this$static.a32; + a33 = this$static.a33; + for (i = 0; i < max_0; i += 2) { + x_0 = points[i]; + y_0 = points[i + 1]; + denominator = a13 * x_0 + a23 * y_0 + a33; + points[i] = (a11 * x_0 + a21 * y_0 + a31) / denominator; + points[i + 1] = (a12 * x_0 + a22 * y_0 + a32) / denominator; + } +} + +function PerspectiveTransform(a11, a21, a31, a12, a22, a32, a13, a23, a33){ + this.a11 = a11; + this.a12 = a12; + this.a13 = a13; + this.a21 = a21; + this.a22 = a22; + this.a23 = a23; + this.a31 = a31; + this.a32 = a32; + this.a33 = a33; +} + +function quadrilateralToQuadrilateral(x1, x2, y2, y3, x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p){ + var qToS, sToQ; + qToS = $buildAdjoint(squareToQuadrilateral(3.5, 3.5, x1, 3.5, x2, y2, 3.5, y3)); + sToQ = squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p); + return new PerspectiveTransform(sToQ.a11 * qToS.a11 + sToQ.a21 * qToS.a12 + sToQ.a31 * qToS.a13, sToQ.a11 * qToS.a21 + sToQ.a21 * qToS.a22 + sToQ.a31 * qToS.a23, sToQ.a11 * qToS.a31 + sToQ.a21 * qToS.a32 + sToQ.a31 * qToS.a33, sToQ.a12 * qToS.a11 + sToQ.a22 * qToS.a12 + sToQ.a32 * qToS.a13, sToQ.a12 * qToS.a21 + sToQ.a22 * qToS.a22 + sToQ.a32 * qToS.a23, sToQ.a12 * qToS.a31 + sToQ.a22 * qToS.a32 + sToQ.a32 * qToS.a33, sToQ.a13 * qToS.a11 + sToQ.a23 * qToS.a12 + sToQ.a33 * qToS.a13, sToQ.a13 * qToS.a21 + sToQ.a23 * qToS.a22 + sToQ.a33 * qToS.a23, sToQ.a13 * qToS.a31 + sToQ.a23 * qToS.a32 + sToQ.a33 * qToS.a33); +} + +function squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3){ + var a13, a23, denominator, dx1, dx2, dx3, dy1, dy2, dy3; + dx3 = x0 - x1 + x2 - x3; + dy3 = y0 - y1 + y2 - y3; + if (dx3 == 0 && dy3 == 0) { + return new PerspectiveTransform(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0, 0, 1); + } + else { + dx1 = x1 - x2; + dx2 = x3 - x2; + dy1 = y1 - y2; + dy2 = y3 - y2; + denominator = dx1 * dy2 - dx2 * dy1; + a13 = (dx3 * dy2 - dx2 * dy3) / denominator; + a23 = (dx1 * dy3 - dx3 * dy1) / denominator; + return new PerspectiveTransform(x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0, y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0, a13, a23, 1); + } +} + +defineClass(57, 1, {}, PerspectiveTransform); +_.a11 = 0; +_.a12 = 0; +_.a13 = 0; +_.a21 = 0; +_.a22 = 0; +_.a23 = 0; +_.a31 = 0; +_.a32 = 0; +_.a33 = 0; +var Lcom_google_zxing_common_PerspectiveTransform_2_classLit = createForClass('com.google.zxing.common', 'PerspectiveTransform', 57); +function guessEncoding(bytes){ + var canBeISO88591, canBeShiftJIS, canBeUTF8, i, isoHighOther, length_0, sjisBytesLeft, sjisCurDoubleBytesWordLength, sjisCurKatakanaWordLength, sjisKatakanaChars, sjisMaxDoubleBytesWordLength, sjisMaxKatakanaWordLength, utf2BytesChars, utf3BytesChars, utf4BytesChars, utf8BytesLeft, utf8bom, value_0; + length_0 = bytes.length; + canBeISO88591 = true; + canBeShiftJIS = true; + canBeUTF8 = true; + utf8BytesLeft = 0; + utf2BytesChars = 0; + utf3BytesChars = 0; + utf4BytesChars = 0; + sjisBytesLeft = 0; + sjisKatakanaChars = 0; + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + sjisMaxKatakanaWordLength = 0; + sjisMaxDoubleBytesWordLength = 0; + isoHighOther = 0; + utf8bom = bytes.length > 3 && bytes[0] == -17 && bytes[1] == -69 && bytes[2] == -65; + for (i = 0; i < length_0 && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) { + value_0 = bytes[i] & 255; + if (canBeUTF8) { + if (utf8BytesLeft > 0) { + (value_0 & 128) == 0?(canBeUTF8 = false):--utf8BytesLeft; + } + else if ((value_0 & 128) != 0) { + if ((value_0 & 64) == 0) { + canBeUTF8 = false; + } + else { + ++utf8BytesLeft; + if ((value_0 & 32) == 0) { + ++utf2BytesChars; + } + else { + ++utf8BytesLeft; + if ((value_0 & 16) == 0) { + ++utf3BytesChars; + } + else { + ++utf8BytesLeft; + (value_0 & 8) == 0?++utf4BytesChars:(canBeUTF8 = false); + } + } + } + } + } + canBeISO88591 && (value_0 > 127 && value_0 < 160?(canBeISO88591 = false):value_0 > 159 && (value_0 < 192 || value_0 == 215 || value_0 == 247) && ++isoHighOther); + if (canBeShiftJIS) { + if (sjisBytesLeft > 0) { + value_0 < 64 || value_0 == 127 || value_0 > 252?(canBeShiftJIS = false):--sjisBytesLeft; + } + else if (value_0 == 128 || value_0 == 160 || value_0 > 239) { + canBeShiftJIS = false; + } + else if (value_0 > 160 && value_0 < 224) { + ++sjisKatakanaChars; + sjisCurDoubleBytesWordLength = 0; + ++sjisCurKatakanaWordLength; + sjisCurKatakanaWordLength > sjisMaxKatakanaWordLength && (sjisMaxKatakanaWordLength = sjisCurKatakanaWordLength); + } + else if (value_0 > 127) { + ++sjisBytesLeft; + sjisCurKatakanaWordLength = 0; + ++sjisCurDoubleBytesWordLength; + sjisCurDoubleBytesWordLength > sjisMaxDoubleBytesWordLength && (sjisMaxDoubleBytesWordLength = sjisCurDoubleBytesWordLength); + } + else { + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + } + } + } + canBeUTF8 && utf8BytesLeft > 0 && (canBeUTF8 = false); + canBeShiftJIS && sjisBytesLeft > 0 && (canBeShiftJIS = false); + if (canBeUTF8 && (utf8bom || utf2BytesChars + utf3BytesChars + utf4BytesChars > 0)) { + return 'UTF-8'; + } + if (canBeShiftJIS && (sjisMaxKatakanaWordLength >= 3 || sjisMaxDoubleBytesWordLength >= 3)) { + return 'Shift_JIS'; + } + if (canBeISO88591 && canBeShiftJIS) { + return sjisMaxKatakanaWordLength == 2 && sjisKatakanaChars == 2 || isoHighOther * 10 >= length_0?'Shift_JIS':'ISO-8859-1'; + } + if (canBeISO88591) { + return 'ISO-8859-1'; + } + if (canBeShiftJIS) { + return 'Shift_JIS'; + } + if (canBeUTF8) { + return 'UTF-8'; + } + return 'UTF-8'; +} + +function distance_0(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function distance_1(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function round_0(d){ + return round_int(d + (d < 0?-0.5:0.5)); +} + +function $clinit_GenericGF(){ + $clinit_GenericGF = emptyMethod; + new GenericGF(4201, 4096, 1); + new GenericGF(1033, 1024, 1); + new GenericGF(67, 64, 1); + new GenericGF(19, 16, 1); + QR_CODE_FIELD_256 = new GenericGF(285, 256, 0); + new GenericGF(301, 256, 1); +} + +function $buildMonomial(this$static, degree, coefficient){ + var coefficients; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.zero; + } + coefficients = initDim(I_classLit, $intern_19, 0, degree + 1, 7, 1); + coefficients[0] = coefficient; + return new GenericGFPoly(this$static, coefficients); +} + +function $exp(this$static, a){ + return this$static.expTable[a]; +} + +function $inverse(this$static, a){ + if (a == 0) { + throw new ArithmeticException; + } + return this$static.expTable[this$static.size_0 - this$static.logTable[a] - 1]; +} + +function $log(this$static, a){ + if (a == 0) { + throw new IllegalArgumentException; + } + return this$static.logTable[a]; +} + +function $multiply(this$static, a, b){ + if (a == 0 || b == 0) { + return 0; + } + return this$static.expTable[(this$static.logTable[a] + this$static.logTable[b]) % (this$static.size_0 - 1)]; +} + +function GenericGF(primitive, size_0, b){ + var i, i0, x_0; + this.primitive = primitive; + this.size_0 = size_0; + this.generatorBase = b; + this.expTable = initDim(I_classLit, $intern_19, 0, size_0, 7, 1); + this.logTable = initDim(I_classLit, $intern_19, 0, size_0, 7, 1); + x_0 = 1; + for (i0 = 0; i0 < size_0; i0++) { + this.expTable[i0] = x_0; + x_0 *= 2; + if (x_0 >= size_0) { + x_0 ^= primitive; + x_0 &= size_0 - 1; + } + } + for (i = 0; i < size_0 - 1; i++) { + this.logTable[this.expTable[i]] = i; + } + this.zero = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [0])); + this.one = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [1])); +} + +defineClass(44, 1, {}, GenericGF); +_.toString$ = function toString_9(){ + return 'GF(0x' + toUnsignedRadixString(this.primitive, 16) + ',' + this.size_0 + ')'; +} +; +_.generatorBase = 0; +_.primitive = 0; +_.size_0 = 0; +var QR_CODE_FIELD_256; +var Lcom_google_zxing_common_reedsolomon_GenericGF_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGF', 44); +function $addOrSubtract(this$static, other){ + var i, largerCoefficients, lengthDiff, smallerCoefficients, sumDiff, temp; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0) { + return other; + } + if (other.coefficients[0] == 0) { + return this$static; + } + smallerCoefficients = this$static.coefficients; + largerCoefficients = other.coefficients; + if (smallerCoefficients.length > largerCoefficients.length) { + temp = smallerCoefficients; + smallerCoefficients = largerCoefficients; + largerCoefficients = temp; + } + sumDiff = initDim(I_classLit, $intern_19, 0, largerCoefficients.length, 7, 1); + lengthDiff = largerCoefficients.length - smallerCoefficients.length; + arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff); + for (i = lengthDiff; i < largerCoefficients.length; i++) { + sumDiff[i] = ($clinit_GenericGF() , smallerCoefficients[i - lengthDiff] ^ largerCoefficients[i]); + } + return new GenericGFPoly(this$static.field, sumDiff); +} + +function $evaluateAt(this$static, a){ + var coefficient, coefficient$array, coefficient$index, coefficient$max, i, result, result0, size_0; + if (a == 0) { + return this$static.coefficients[this$static.coefficients.length - 1]; + } + size_0 = this$static.coefficients.length; + if (a == 1) { + result0 = 0; + for (coefficient$array = this$static.coefficients , coefficient$index = 0 , coefficient$max = coefficient$array.length; coefficient$index < coefficient$max; ++coefficient$index) { + coefficient = coefficient$array[coefficient$index]; + result0 = ($clinit_GenericGF() , result0 ^ coefficient); + } + return result0; + } + result = this$static.coefficients[0]; + for (i = 1; i < size_0; i++) { + result = ($clinit_GenericGF() , $multiply(this$static.field, a, result) ^ this$static.coefficients[i]); + } + return result; +} + +function $getCoefficient(this$static, degree){ + return this$static.coefficients[this$static.coefficients.length - 1 - degree]; +} + +function $multiply_0(this$static, scalar){ + var i, product, size_0; + if (scalar == 0) { + return this$static.field.zero; + } + if (scalar == 1) { + return this$static; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_19, 0, size_0, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], scalar); + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiply_1(this$static, other){ + var aCoeff, aCoefficients, aLength, bCoefficients, bLength, i, j, product; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0 || other.coefficients[0] == 0) { + return this$static.field.zero; + } + aCoefficients = this$static.coefficients; + aLength = aCoefficients.length; + bCoefficients = other.coefficients; + bLength = bCoefficients.length; + product = initDim(I_classLit, $intern_19, 0, aLength + bLength - 1, 7, 1); + for (i = 0; i < aLength; i++) { + aCoeff = aCoefficients[i]; + for (j = 0; j < bLength; j++) { + product[i + j] = ($clinit_GenericGF() , product[i + j] ^ $multiply(this$static.field, aCoeff, bCoefficients[j])); + } + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiplyByMonomial(this$static, degree, coefficient){ + var i, product, size_0; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.field.zero; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_19, 0, size_0 + degree, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], coefficient); + } + return new GenericGFPoly(this$static.field, product); +} + +function GenericGFPoly(field, coefficients){ + var coefficientsLength, firstNonZero; + if (coefficients.length == 0) { + throw new IllegalArgumentException; + } + this.field = field; + coefficientsLength = coefficients.length; + if (coefficientsLength > 1 && coefficients[0] == 0) { + firstNonZero = 1; + while (firstNonZero < coefficientsLength && coefficients[firstNonZero] == 0) { + ++firstNonZero; + } + if (firstNonZero == coefficientsLength) { + this.coefficients = initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [0]); + } + else { + this.coefficients = initDim(I_classLit, $intern_19, 0, coefficientsLength - firstNonZero, 7, 1); + arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length); + } + } + else { + this.coefficients = coefficients; + } +} + +defineClass(26, 1, {26:1}, GenericGFPoly); +_.toString$ = function toString_10(){ + var alphaPower, coefficient, degree, result; + result = new StringBuilder; + for (degree = this.coefficients.length - 1; degree >= 0; degree--) { + coefficient = this.coefficients[this.coefficients.length - 1 - degree]; + if (coefficient != 0) { + if (coefficient < 0) { + result.string += ' - '; + coefficient = -coefficient; + } + else { + result.string.length > 0 && (result.string += ' + ' , result); + } + if (degree == 0 || coefficient != 1) { + alphaPower = $log(this.field, coefficient); + if (alphaPower == 0) { + result.string += '1'; + } + else if (alphaPower == 1) { + result.string += 'a'; + } + else { + result.string += 'a^'; + result.string += alphaPower; + } + } + if (degree != 0) { + if (degree == 1) { + result.string += 'x'; + } + else { + result.string += 'x^'; + result.string += degree; + } + } + } + } + return result.string; +} +; +var Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGFPoly', 26); +function $decode(this$static, received, twoS){ + var errorLocations, errorMagnitudes, eval_0, i, i0, noError, omega, poly, position, sigma, sigmaOmega, syndrome, syndromeCoefficients; + poly = new GenericGFPoly(this$static.field, received); + syndromeCoefficients = initDim(I_classLit, $intern_19, 0, twoS, 7, 1); + noError = true; + for (i0 = 0; i0 < twoS; i0++) { + eval_0 = $evaluateAt(poly, $exp(this$static.field, i0 + this$static.field.generatorBase)); + syndromeCoefficients[syndromeCoefficients.length - 1 - i0] = eval_0; + eval_0 != 0 && (noError = false); + } + if (noError) { + return; + } + syndrome = new GenericGFPoly(this$static.field, syndromeCoefficients); + sigmaOmega = $runEuclideanAlgorithm(this$static, $buildMonomial(this$static.field, twoS, 1), syndrome, twoS); + sigma = sigmaOmega[0]; + omega = sigmaOmega[1]; + errorLocations = $findErrorLocations(this$static, sigma); + errorMagnitudes = $findErrorMagnitudes(this$static, omega, errorLocations); + for (i = 0; i < errorLocations.length; i++) { + position = received.length - 1 - $log(this$static.field, errorLocations[i]); + if (position < 0) { + throw new ReedSolomonException('Bad error location'); + } + received[position] = ($clinit_GenericGF() , received[position] ^ errorMagnitudes[i]); + } +} + +function $findErrorLocations(this$static, errorLocator){ + var e, i, numErrors, result; + numErrors = errorLocator.coefficients.length - 1; + if (numErrors == 1) { + return initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [errorLocator.coefficients[errorLocator.coefficients.length - 1 - 1]]); + } + result = initDim(I_classLit, $intern_19, 0, numErrors, 7, 1); + e = 0; + for (i = 1; i < this$static.field.size_0 && e < numErrors; i++) { + if ($evaluateAt(errorLocator, i) == 0) { + result[e] = $inverse(this$static.field, i); + ++e; + } + } + if (e != numErrors) { + throw new ReedSolomonException('Error locator degree does not match number of roots'); + } + return result; +} + +function $findErrorMagnitudes(this$static, errorEvaluator, errorLocations){ + var denominator, i, j, result, s, term, termPlus1, xiInverse; + s = errorLocations.length; + result = initDim(I_classLit, $intern_19, 0, s, 7, 1); + for (i = 0; i < s; i++) { + xiInverse = $inverse(this$static.field, errorLocations[i]); + denominator = 1; + for (j = 0; j < s; j++) { + if (i != j) { + term = $multiply(this$static.field, errorLocations[j], xiInverse); + termPlus1 = (term & 1) == 0?term | 1:term & -2; + denominator = $multiply(this$static.field, denominator, termPlus1); + } + } + result[i] = $multiply(this$static.field, $evaluateAt(errorEvaluator, xiInverse), $inverse(this$static.field, denominator)); + this$static.field.generatorBase != 0 && (result[i] = $multiply(this$static.field, result[i], xiInverse)); + } + return result; +} + +function $runEuclideanAlgorithm(this$static, a, b, R){ + var degreeDiff, denominatorLeadingTerm, dltInverse, inverse, omega, q, r, rLast, rLastLast, scale, sigma, sigmaTildeAtZero, t, tLast, tLastLast, temp; + if (a.coefficients.length - 1 < b.coefficients.length - 1) { + temp = a; + a = b; + b = temp; + } + rLast = a; + r = b; + tLast = this$static.field.zero; + t = this$static.field.one; + while (r.coefficients.length - 1 >= ~~(R / 2)) { + rLastLast = rLast; + tLastLast = tLast; + rLast = r; + tLast = t; + if (r.coefficients[0] == 0) { + throw new ReedSolomonException('r_{i-1} was zero'); + } + r = rLastLast; + q = this$static.field.zero; + denominatorLeadingTerm = $getCoefficient(rLast, rLast.coefficients.length - 1); + dltInverse = $inverse(this$static.field, denominatorLeadingTerm); + while (r.coefficients.length - 1 >= rLast.coefficients.length - 1 && r.coefficients[0] != 0) { + degreeDiff = r.coefficients.length - 1 - (rLast.coefficients.length - 1); + scale = $multiply(this$static.field, $getCoefficient(r, r.coefficients.length - 1), dltInverse); + q = $addOrSubtract(q, $buildMonomial(this$static.field, degreeDiff, scale)); + r = $addOrSubtract(r, $multiplyByMonomial(rLast, degreeDiff, scale)); + } + t = $addOrSubtract($multiply_1(q, t), tLastLast); + if (r.coefficients.length - 1 >= rLast.coefficients.length - 1) { + throw new IllegalStateException_0('Division algorithm failed to reduce polynomial?'); + } + } + sigmaTildeAtZero = t.coefficients[t.coefficients.length - 1]; + if (sigmaTildeAtZero == 0) { + throw new ReedSolomonException('sigmaTilde(0) was zero'); + } + inverse = $inverse(this$static.field, sigmaTildeAtZero); + sigma = $multiply_0(t, inverse); + omega = $multiply_0(r, inverse); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit, 1), $intern_2, 26, 0, [sigma, omega]); +} + +function ReedSolomonDecoder(field){ + this.field = field; +} + +defineClass(123, 1, {}, ReedSolomonDecoder); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonDecoder_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonDecoder', 123); +function ReedSolomonException(message){ + Exception_0.call(this, message); +} + +defineClass(45, 10, {45:1, 3:1, 10:1, 8:1}, ReedSolomonException); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonException_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonException', 45); +function $decode_0(this$static, image){ + var byteSegments, decoderResult, detectorResult, ecLevel, points, result; + detectorResult = $detect(new Detector((!image.matrix && (image.matrix = $getBlackMatrix_0(image.binarizer)) , image.matrix))); + decoderResult = $decode_1(this$static.decoder, detectorResult.bits); + points = detectorResult.points; + !!decoderResult.other && $applyMirroredCorrection(decoderResult.other, points); + result = new Result(decoderResult.text_0); + byteSegments = decoderResult.byteSegments; + !!byteSegments && $putMetadata(result, ($clinit_ResultMetadataType() , BYTE_SEGMENTS), byteSegments); + ecLevel = decoderResult.ecLevel; + ecLevel != null && $putMetadata(result, ($clinit_ResultMetadataType() , ERROR_CORRECTION_LEVEL), ecLevel); + if (decoderResult.structuredAppendParity >= 0 && decoderResult.structuredAppendSequenceNumber >= 0) { + $putMetadata(result, ($clinit_ResultMetadataType() , STRUCTURED_APPEND_SEQUENCE), valueOf(decoderResult.structuredAppendSequenceNumber)); + $putMetadata(result, STRUCTURED_APPEND_PARITY, valueOf(decoderResult.structuredAppendParity)); + } + return result; +} + +function QRCodeReader(){ + this.decoder = new Decoder; +} + +defineClass(118, 1, {181:1}, QRCodeReader); +var Lcom_google_zxing_qrcode_QRCodeReader_2_classLit = createForClass('com.google.zxing.qrcode', 'QRCodeReader', 118); +function $copyBit(this$static, i, j, versionBits){ + var bit; + bit = this$static.mirror?$get(this$static.bitMatrix, j, i):$get(this$static.bitMatrix, i, j); + return bit?versionBits << 1 | 1:versionBits << 1; +} + +function $mirror(this$static){ + var x_0, y_0; + for (x_0 = 0; x_0 < this$static.bitMatrix.width_0; x_0++) { + for (y_0 = x_0 + 1; y_0 < this$static.bitMatrix.height_0; y_0++) { + if ($get(this$static.bitMatrix, x_0, y_0) != $get(this$static.bitMatrix, y_0, x_0)) { + $flip(this$static.bitMatrix, y_0, x_0); + $flip(this$static.bitMatrix, x_0, y_0); + } + } + } +} + +function $readCodewords(this$static){ + var bitsRead, col, count, currentByte, dataMask, dimension, formatInfo, functionPattern, i, j, readingUp, result, resultOffset, version; + formatInfo = $readFormatInformation(this$static); + version = $readVersion(this$static); + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_18, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[formatInfo.dataMask]; + dimension = this$static.bitMatrix.height_0; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); + functionPattern = $buildFunctionPattern(version); + readingUp = true; + result = initDim(B_classLit, $intern_17, 0, version.totalCodewords, 7, 1); + resultOffset = 0; + currentByte = 0; + bitsRead = 0; + for (j = dimension - 1; j > 0; j -= 2) { + j == 6 && --j; + for (count = 0; count < dimension; count++) { + i = readingUp?dimension - 1 - count:count; + for (col = 0; col < 2; col++) { + if (!$get(functionPattern, j - col, i)) { + ++bitsRead; + currentByte <<= 1; + $get(this$static.bitMatrix, j - col, i) && (currentByte |= 1); + if (bitsRead == 8) { + result[resultOffset++] = narrow_byte(currentByte); + bitsRead = 0; + currentByte = 0; + } + } + } + } + readingUp = readingUp ^ true; + } + if (resultOffset != version.totalCodewords) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return result; +} + +function $readFormatInformation(this$static){ + var dimension, formatInfoBits1, formatInfoBits2, i, i0, j, j0, jMin; + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + formatInfoBits1 = 0; + for (i0 = 0; i0 < 6; i0++) { + formatInfoBits1 = $copyBit(this$static, i0, 8, formatInfoBits1); + } + formatInfoBits1 = $copyBit(this$static, 7, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 7, formatInfoBits1); + for (j0 = 5; j0 >= 0; j0--) { + formatInfoBits1 = $copyBit(this$static, 8, j0, formatInfoBits1); + } + dimension = this$static.bitMatrix.height_0; + formatInfoBits2 = 0; + jMin = dimension - 7; + for (j = dimension - 1; j >= jMin; j--) { + formatInfoBits2 = $copyBit(this$static, 8, j, formatInfoBits2); + } + for (i = dimension - 8; i < dimension; i++) { + formatInfoBits2 = $copyBit(this$static, i, 8, formatInfoBits2); + } + this$static.parsedFormatInfo = decodeFormatInformation(formatInfoBits1, formatInfoBits2); + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $readVersion(this$static){ + var dimension, i, i0, ijMin, j, j0, provisionalVersion, theParsedVersion, versionBits; + if (this$static.parsedVersion) { + return this$static.parsedVersion; + } + dimension = this$static.bitMatrix.height_0; + provisionalVersion = ~~((dimension - 17) / 4); + if (provisionalVersion <= 6) { + return getVersionForNumber(provisionalVersion); + } + versionBits = 0; + ijMin = dimension - 11; + for (j0 = 5; j0 >= 0; j0--) { + for (i0 = dimension - 9; i0 >= ijMin; i0--) { + versionBits = $copyBit(this$static, i0, j0, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + versionBits = 0; + for (i = 5; i >= 0; i--) { + for (j = dimension - 9; j >= ijMin; j--) { + versionBits = $copyBit(this$static, i, j, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $remask(this$static){ + var dataMask, dimension; + if (!this$static.parsedFormatInfo) { + return; + } + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_18, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[this$static.parsedFormatInfo.dataMask]; + dimension = this$static.bitMatrix.height_0; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); +} + +function BitMatrixParser(bitMatrix){ + var dimension; + dimension = bitMatrix.height_0; + if (dimension < 21 || (dimension & 3) != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + this.bitMatrix = bitMatrix; +} + +defineClass(133, 1, {}, BitMatrixParser); +_.mirror = false; +var Lcom_google_zxing_qrcode_decoder_BitMatrixParser_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'BitMatrixParser', 133); +function DataBlock(numDataCodewords, codewords){ + this.numDataCodewords = numDataCodewords; + this.codewords = codewords; +} + +function getDataBlocks(rawCodewords, version, ecLevel){ + var ecBlock, ecBlock$index, ecBlock$index0, ecBlock$max, ecBlock$max0, ecBlockArray, ecBlocks, i, i0, i1, iOffset, j, j0, j1, longerBlocksStartAt, max_0, numBlockCodewords, numCodewords, numDataCodewords, numResultBlocks, rawCodewordsOffset, result, shorterBlocksNumDataCodewords, shorterBlocksTotalCodewords, totalBlocks; + if (rawCodewords.length != version.totalCodewords) { + throw new IllegalArgumentException; + } + ecBlocks = version.ecBlocks[ecLevel.ordinal]; + totalBlocks = 0; + ecBlockArray = ecBlocks.ecBlocks; + for (ecBlock$index0 = 0 , ecBlock$max0 = ecBlockArray.length; ecBlock$index0 < ecBlock$max0; ++ecBlock$index0) { + ecBlock = ecBlockArray[ecBlock$index0]; + totalBlocks += ecBlock.count; + } + result = initDim(Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit, $intern_2, 65, totalBlocks, 0, 1); + numResultBlocks = 0; + for (ecBlock$index = 0 , ecBlock$max = ecBlockArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecBlockArray[ecBlock$index]; + for (i0 = 0; i0 < ecBlock.count; i0++) { + numDataCodewords = ecBlock.dataCodewords; + numBlockCodewords = ecBlocks.ecCodewordsPerBlock + numDataCodewords; + result[numResultBlocks++] = new DataBlock(numDataCodewords, initDim(B_classLit, $intern_17, 0, numBlockCodewords, 7, 1)); + } + } + shorterBlocksTotalCodewords = result[0].codewords.length; + longerBlocksStartAt = result.length - 1; + while (longerBlocksStartAt >= 0) { + numCodewords = result[longerBlocksStartAt].codewords.length; + if (numCodewords == shorterBlocksTotalCodewords) { + break; + } + --longerBlocksStartAt; + } + ++longerBlocksStartAt; + shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.ecCodewordsPerBlock; + rawCodewordsOffset = 0; + for (i1 = 0; i1 < shorterBlocksNumDataCodewords; i1++) { + for (j0 = 0; j0 < numResultBlocks; j0++) { + result[j0].codewords[i1] = rawCodewords[rawCodewordsOffset++]; + } + } + for (j1 = longerBlocksStartAt; j1 < numResultBlocks; j1++) { + result[j1].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++]; + } + max_0 = result[0].codewords.length; + for (i = shorterBlocksNumDataCodewords; i < max_0; i++) { + for (j = 0; j < numResultBlocks; j++) { + iOffset = j < longerBlocksStartAt?i:i + 1; + result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++]; + } + } + return result; +} + +defineClass(65, 1, {65:1}, DataBlock); +_.numDataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'DataBlock', 65); +function $clinit_DataMask(){ + $clinit_DataMask = emptyMethod; + DATA_MASK_000 = new DataMask$1; + DATA_MASK_001 = new DataMask$2; + DATA_MASK_010 = new DataMask$3; + DATA_MASK_011 = new DataMask$4; + DATA_MASK_100 = new DataMask$5; + DATA_MASK_101 = new DataMask$6; + DATA_MASK_110 = new DataMask$7; + DATA_MASK_111 = new DataMask$8; +} + +function $unmaskBitMatrix(this$static, bits, dimension){ + var i, j; + for (i = 0; i < dimension; i++) { + for (j = 0; j < dimension; j++) { + this$static.isMasked(i, j) && $flip(bits, j, i); + } + } +} + +function DataMask(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_2(){ + $clinit_DataMask(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_18, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]); +} + +defineClass(14, 13, $intern_20); +var DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111; +var Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask', 14, values_2); +function DataMask$1(){ + DataMask.call(this, 'DATA_MASK_000', 0); +} + +defineClass(142, 14, $intern_20, DataMask$1); +_.isMasked = function isMasked(i, j){ + return (i + j & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$1_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/1', 142, null); +function DataMask$2(){ + DataMask.call(this, 'DATA_MASK_001', 1); +} + +defineClass(143, 14, $intern_20, DataMask$2); +_.isMasked = function isMasked_0(i, j){ + return (i & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$2_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/2', 143, null); +function DataMask$3(){ + DataMask.call(this, 'DATA_MASK_010', 2); +} + +defineClass(144, 14, $intern_20, DataMask$3); +_.isMasked = function isMasked_1(i, j){ + return j % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$3_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/3', 144, null); +function DataMask$4(){ + DataMask.call(this, 'DATA_MASK_011', 3); +} + +defineClass(145, 14, $intern_20, DataMask$4); +_.isMasked = function isMasked_2(i, j){ + return (i + j) % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$4_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/4', 145, null); +function DataMask$5(){ + DataMask.call(this, 'DATA_MASK_100', 4); +} + +defineClass(146, 14, $intern_20, DataMask$5); +_.isMasked = function isMasked_3(i, j){ + return (~~(i / 2) + ~~(j / 3) & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$5_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/5', 146, null); +function DataMask$6(){ + DataMask.call(this, 'DATA_MASK_101', 5); +} + +defineClass(147, 14, $intern_20, DataMask$6); +_.isMasked = function isMasked_4(i, j){ + var temp; + temp = i * j; + return (temp & 1) + temp % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$6_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/6', 147, null); +function DataMask$7(){ + DataMask.call(this, 'DATA_MASK_110', 6); +} + +defineClass(148, 14, $intern_20, DataMask$7); +_.isMasked = function isMasked_5(i, j){ + var temp; + temp = i * j; + return ((temp & 1) + temp % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$7_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/7', 148, null); +function DataMask$8(){ + DataMask.call(this, 'DATA_MASK_111', 7); +} + +defineClass(149, 14, $intern_20, DataMask$8); +_.isMasked = function isMasked_6(i, j){ + return ((i + j & 1) + i * j % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$8_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/8', 149, null); +function $clinit_DecodedBitStreamParser(){ + var charArr; + $clinit_DecodedBitStreamParser = emptyMethod; + ALPHANUMERIC_CHARS = (charArr = initDim(C_classLit, $intern_17, 0, 45, 7, 1) , $getChars(charArr, 0) , charArr); +} + +function decode(bytes, version, ecLevel){ + $clinit_DecodedBitStreamParser(); + var bits, byteSegments, count, countHanzi, currentCharacterSetECI, fc1InEffect, mode, parityData, result, subset, symbolSequence, value_0; + bits = new BitSource(bytes); + result = new StringBuilder; + byteSegments = new ArrayList_0(1); + symbolSequence = -1; + parityData = -1; + try { + currentCharacterSetECI = null; + fc1InEffect = false; + do { + 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4?(mode = ($clinit_Mode() , TERMINATOR)):(mode = forBits_0($readBits(bits, 4))); + if (mode != ($clinit_Mode() , TERMINATOR)) { + if (mode == FNC1_FIRST_POSITION || mode == FNC1_SECOND_POSITION) { + fc1InEffect = true; + } + else if (mode == STRUCTURED_APPEND) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 16) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + symbolSequence = $readBits(bits, 8); + parityData = $readBits(bits, 8); + } + else if (mode == ECI) { + value_0 = parseECIValue(bits); + currentCharacterSetECI = getCharacterSetECIByValue(value_0); + if (!currentCharacterSetECI) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + else { + if (mode == HANZI) { + subset = $readBits(bits, 4); + countHanzi = $readBits(bits, $getCharacterCountBits(mode, version)); + subset == 1 && decodeHanziSegment(bits, result, countHanzi); + } + else { + count = $readBits(bits, $getCharacterCountBits(mode, version)); + if (mode == NUMERIC) { + decodeNumericSegment(bits, result, count); + } + else if (mode == ALPHANUMERIC) { + decodeAlphanumericSegment(bits, result, count, fc1InEffect); + } + else if (mode == BYTE) { + decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments); + } + else if (mode == KANJI) { + decodeKanjiSegment(bits, result, count); + } + else { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + } + } + } + while (mode != ($clinit_Mode() , TERMINATOR)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + return new DecoderResult(result.string, byteSegments.array.length == 0?null:byteSegments, !ecLevel?null:ecLevel.name_0 != null?ecLevel.name_0:'' + ecLevel.ordinal, symbolSequence, parityData); +} + +function decodeAlphanumericSegment(bits, result, count, fc1InEffect){ + var i, nextTwoCharsBits, start_0; + start_0 = result.string.length; + while (count > 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 11) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + nextTwoCharsBits = $readBits(bits, 11); + $append(result, toAlphaNumericChar(~~(nextTwoCharsBits / 45))); + $append(result, toAlphaNumericChar(nextTwoCharsBits % 45)); + count -= 2; + } + if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 6) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar($readBits(bits, 6))); + } + if (fc1InEffect) { + for (i = start_0; i < result.string.length; i++) { + $charAt(result.string, i) == 37 && (i < result.string.length - 1 && $charAt(result.string, i + 1) == 37?(result.string = __substr(result.string, 0, i + 1) + '' + $substring(result.string, i + 1 + 1) , result):(result.string = __substr(result.string, 0, i) + '\35' + $substring(result.string, i + 1))); + } + } +} + +function decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments){ + var encoding, i, readBytes; + if (8 * count > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + readBytes = initDim(B_classLit, $intern_17, 0, count, 7, 1); + for (i = 0; i < count; i++) { + readBytes[i] = narrow_byte($readBits(bits, 8)); + } + !currentCharacterSetECI?(encoding = guessEncoding(readBytes)):(encoding = currentCharacterSetECI.name_0 != null?currentCharacterSetECI.name_0:'' + currentCharacterSetECI.ordinal); + try { + $append_2(result, _String(readBytes, readBytes.length, encoding)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + setCheck(byteSegments.array, byteSegments.array.length, readBytes); +} + +function decodeHanziSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_17, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 96) << 8 | twoBytes % 96; + assembledTwoBytes < 959?(assembledTwoBytes += 41377):(assembledTwoBytes += 42657); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8 & 255); + buffer[offset + 1] = narrow_byte(assembledTwoBytes & 255); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'GB2312')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeKanjiSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_17, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 192) << 8 | twoBytes % 192; + assembledTwoBytes < 7936?(assembledTwoBytes += 33088):(assembledTwoBytes += 49472); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8); + buffer[offset + 1] = narrow_byte(assembledTwoBytes); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'Shift_JIS')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeNumericSegment(bits, result, count){ + var digitBits, threeDigitsBits, twoDigitsBits; + while (count >= 3) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + threeDigitsBits = $readBits(bits, 10); + if (threeDigitsBits >= 1000) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 100))); + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 10) % 10)); + $append(result, toAlphaNumericChar(threeDigitsBits % 10)); + count -= 3; + } + if (count == 2) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 7) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + twoDigitsBits = $readBits(bits, 7); + if (twoDigitsBits >= 100) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(twoDigitsBits / 10))); + $append(result, toAlphaNumericChar(twoDigitsBits % 10)); + } + else if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + digitBits = $readBits(bits, 4); + if (digitBits >= 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(digitBits)); + } +} + +function parseECIValue(bits){ + var firstByte, secondByte, secondThirdBytes; + firstByte = $readBits(bits, 8); + if ((firstByte & 128) == 0) { + return firstByte & 127; + } + if ((firstByte & 192) == 128) { + secondByte = $readBits(bits, 8); + return (firstByte & 63) << 8 | secondByte; + } + if ((firstByte & 224) == 192) { + secondThirdBytes = $readBits(bits, 16); + return (firstByte & 31) << 16 | secondThirdBytes; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function toAlphaNumericChar(value_0){ + if (value_0 >= ALPHANUMERIC_CHARS.length) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return ALPHANUMERIC_CHARS[value_0]; +} + +var ALPHANUMERIC_CHARS; +function $correctErrors(this$static, codewordBytes, numDataCodewords){ + var codewordsInts, i, i0, numCodewords, numECCodewords; + numCodewords = codewordBytes.length; + codewordsInts = initDim(I_classLit, $intern_19, 0, numCodewords, 7, 1); + for (i0 = 0; i0 < numCodewords; i0++) { + codewordsInts[i0] = codewordBytes[i0] & 255; + } + numECCodewords = codewordBytes.length - numDataCodewords; + try { + $decode(this$static.rsDecoder, codewordsInts, numECCodewords); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 45)) { + throw $clinit_ChecksumException() , $clinit_ChecksumException() , INSTANCE_0; + } + else + throw unwrap($e0); + } + for (i = 0; i < numDataCodewords; i++) { + codewordBytes[i] = narrow_byte(codewordsInts[i]); + } +} + +function $decode_1(this$static, bits){ + var ce, e, fe, parser, result; + parser = new BitMatrixParser(bits); + fe = null; + ce = null; + try { + return $decode_2(this$static, parser); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 56)) { + e = $e0; + fe = e; + } + else if (instanceOf($e0, 55)) { + e = $e0; + ce = e; + } + else + throw unwrap($e0); + } + try { + $remask(parser); + parser.parsedVersion = null; + parser.parsedFormatInfo = null; + parser.mirror = true; + $readVersion(parser); + $readFormatInformation(parser); + $mirror(parser); + result = $decode_2(this$static, parser); + $setOther(result, new QRCodeDecoderMetaData); + return result; + } + catch ($e1) { + $e1 = wrap($e1); + if (instanceOf($e1, 56) || instanceOf($e1, 55)) { + e = $e1; + if (fe) { + throw fe; + } + if (ce) { + throw ce; + } + throw e; + } + else + throw unwrap($e1); + } +} + +function $decode_2(this$static, parser){ + var codewordBytes, codewords, dataBlock, dataBlock$index, dataBlock$index0, dataBlock$max, dataBlock$max0, dataBlocks, ecLevel, i, numDataCodewords, resultBytes, resultOffset, totalBytes, version; + version = $readVersion(parser); + ecLevel = $readFormatInformation(parser).errorCorrectionLevel; + codewords = $readCodewords(parser); + dataBlocks = getDataBlocks(codewords, version, ecLevel); + totalBytes = 0; + for (dataBlock$index0 = 0 , dataBlock$max0 = dataBlocks.length; dataBlock$index0 < dataBlock$max0; ++dataBlock$index0) { + dataBlock = dataBlocks[dataBlock$index0]; + totalBytes += dataBlock.numDataCodewords; + } + resultBytes = initDim(B_classLit, $intern_17, 0, totalBytes, 7, 1); + resultOffset = 0; + for (dataBlock$index = 0 , dataBlock$max = dataBlocks.length; dataBlock$index < dataBlock$max; ++dataBlock$index) { + dataBlock = dataBlocks[dataBlock$index]; + codewordBytes = dataBlock.codewords; + numDataCodewords = dataBlock.numDataCodewords; + $correctErrors(this$static, codewordBytes, numDataCodewords); + for (i = 0; i < numDataCodewords; i++) { + resultBytes[resultOffset++] = codewordBytes[i]; + } + } + return decode(resultBytes, version, ecLevel); +} + +function Decoder(){ + this.rsDecoder = new ReedSolomonDecoder(($clinit_GenericGF() , QR_CODE_FIELD_256)); +} + +defineClass(122, 1, {}, Decoder); +var Lcom_google_zxing_qrcode_decoder_Decoder_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Decoder', 122); +function $clinit_ErrorCorrectionLevel(){ + $clinit_ErrorCorrectionLevel = emptyMethod; + L = new ErrorCorrectionLevel('L', 0); + M = new ErrorCorrectionLevel('M', 1); + Q = new ErrorCorrectionLevel('Q', 2); + H = new ErrorCorrectionLevel('H', 3); + FOR_BITS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_18, 39, 0, [M, L, H, Q]); +} + +function ErrorCorrectionLevel(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function forBits(bits){ + $clinit_ErrorCorrectionLevel(); + if (bits < 0 || bits >= FOR_BITS.length) { + throw new IllegalArgumentException; + } + return FOR_BITS[bits]; +} + +function values_3(){ + $clinit_ErrorCorrectionLevel(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_18, 39, 0, [L, M, Q, H]); +} + +defineClass(39, 13, {39:1, 3:1, 19:1, 13:1}, ErrorCorrectionLevel); +var FOR_BITS, H, L, M, Q; +var Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'ErrorCorrectionLevel', 39, values_3); +function $clinit_FormatInformation(){ + $clinit_FormatInformation = emptyMethod; + FORMAT_INFO_DECODE_LOOKUP = initValues(getClassLiteralForArray(I_classLit, 2), $intern_2, 7, 0, [initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [21522, 0]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [20773, 1]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [24188, 2]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [23371, 3]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [17913, 4]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [16590, 5]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [20375, 6]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [19104, 7]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [30660, 8]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [29427, 9]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [32170, 10]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [30877, 11]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [26159, 12]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [25368, 13]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [27713, 14]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [26998, 15]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [5769, 16]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [5054, 17]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [7399, 18]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6608, 19]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [1890, 20]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [597, 21]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [3340, 22]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [2107, 23]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [13663, 24]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [12392, 25]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [16177, 26]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [14854, 27]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [9396, 28]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [8579, 29]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [11994, 30]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [11245, 31])]); +} + +function FormatInformation(formatInfo){ + this.errorCorrectionLevel = forBits(formatInfo >> 3 & 3); + this.dataMask = narrow_byte(formatInfo & 7); +} + +function decodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + $clinit_FormatInformation(); + var formatInfo; + formatInfo = doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2); + if (formatInfo) { + return formatInfo; + } + return doDecodeFormatInformation(maskedFormatInfo1 ^ 21522, maskedFormatInfo2 ^ 21522); +} + +function doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + var bestDifference, bestFormatInfo, bitsDifference, decodeInfo, decodeInfo$array, decodeInfo$index, decodeInfo$max, targetInfo; + bestDifference = $intern_0; + bestFormatInfo = 0; + for (decodeInfo$array = FORMAT_INFO_DECODE_LOOKUP , decodeInfo$index = 0 , decodeInfo$max = decodeInfo$array.length; decodeInfo$index < decodeInfo$max; ++decodeInfo$index) { + decodeInfo = decodeInfo$array[decodeInfo$index]; + targetInfo = decodeInfo[0]; + if (targetInfo == maskedFormatInfo1 || targetInfo == maskedFormatInfo2) { + return new FormatInformation(decodeInfo[1]); + } + bitsDifference = bitCount(maskedFormatInfo1 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + if (maskedFormatInfo1 != maskedFormatInfo2) { + bitsDifference = bitCount(maskedFormatInfo2 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + } + } + if (bestDifference <= 3) { + return new FormatInformation(bestFormatInfo); + } + return null; +} + +defineClass(49, 1, {49:1}, FormatInformation); +_.equals$ = function equals_3(o){ + var other; + if (!instanceOf(o, 49)) { + return false; + } + other = dynamicCast(o, 49); + return this.errorCorrectionLevel == other.errorCorrectionLevel && this.dataMask == other.dataMask; +} +; +_.hashCode$ = function hashCode_4(){ + return this.errorCorrectionLevel.ordinal << 3 | this.dataMask; +} +; +_.dataMask = 0; +var FORMAT_INFO_DECODE_LOOKUP; +var Lcom_google_zxing_qrcode_decoder_FormatInformation_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'FormatInformation', 49); +function $clinit_Mode(){ + $clinit_Mode = emptyMethod; + TERMINATOR = new Mode('TERMINATOR', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [0, 0, 0])); + NUMERIC = new Mode('NUMERIC', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [10, 12, 14])); + ALPHANUMERIC = new Mode('ALPHANUMERIC', 2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [9, 11, 13])); + STRUCTURED_APPEND = new Mode('STRUCTURED_APPEND', 3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [0, 0, 0])); + BYTE = new Mode('BYTE', 4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [8, 16, 16])); + ECI = new Mode('ECI', 5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [0, 0, 0])); + KANJI = new Mode('KANJI', 6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [8, 10, 12])); + FNC1_FIRST_POSITION = new Mode('FNC1_FIRST_POSITION', 7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [0, 0, 0])); + FNC1_SECOND_POSITION = new Mode('FNC1_SECOND_POSITION', 8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [0, 0, 0])); + HANZI = new Mode('HANZI', 9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [8, 10, 12])); +} + +function $getCharacterCountBits(this$static, version){ + var number, offset; + number = version.versionNumber; + number <= 9?(offset = 0):number <= 26?(offset = 1):(offset = 2); + return this$static.characterCountBitsForVersions[offset]; +} + +function Mode(enum$name, enum$ordinal, characterCountBitsForVersions){ + Enum.call(this, enum$name, enum$ordinal); + this.characterCountBitsForVersions = characterCountBitsForVersions; +} + +function forBits_0(bits){ + $clinit_Mode(); + switch (bits) { + case 0: + return TERMINATOR; + case 1: + return NUMERIC; + case 2: + return ALPHANUMERIC; + case 3: + return STRUCTURED_APPEND; + case 4: + return BYTE; + case 5: + return FNC1_FIRST_POSITION; + case 7: + return ECI; + case 8: + return KANJI; + case 9: + return FNC1_SECOND_POSITION; + case 13: + return HANZI; + default:throw new IllegalArgumentException; + } +} + +function values_4(){ + $clinit_Mode(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Mode_2_classLit, 1), $intern_18, 23, 0, [TERMINATOR, NUMERIC, ALPHANUMERIC, STRUCTURED_APPEND, BYTE, ECI, KANJI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI]); +} + +defineClass(23, 13, {23:1, 3:1, 19:1, 13:1}, Mode); +var ALPHANUMERIC, BYTE, ECI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI, KANJI, NUMERIC, STRUCTURED_APPEND, TERMINATOR; +var Lcom_google_zxing_qrcode_decoder_Mode_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'Mode', 23, values_4); +function $applyMirroredCorrection(this$static, points){ + var bottomLeft; + if (!this$static.mirrored || points == null || points.length < 3) { + return; + } + bottomLeft = points[0]; + setCheck(points, 0, points[2]); + setCheck(points, 2, bottomLeft); +} + +function QRCodeDecoderMetaData(){ + this.mirrored = true; +} + +defineClass(132, 1, {}, QRCodeDecoderMetaData); +_.mirrored = false; +var Lcom_google_zxing_qrcode_decoder_QRCodeDecoderMetaData_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'QRCodeDecoderMetaData', 132); +function $clinit_Version(){ + $clinit_Version = emptyMethod; + VERSION_DECODE_INFO = initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 68472, 70749, 76311, 79154, 84390, 87683, 92361, 96236, 102084, 102881, 110507, 110734, 117786, 119615, 126325, 127568, 133589, 136944, 141498, 145311, 150283, 152622, 158308, 161089, 167017]); + VERSIONS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version_2_classLit, 1), $intern_2, 9, 0, [new Version(1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, []), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(7, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 19)])), new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)])), new Version$ECBlocks(13, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 13)])), new Version$ECBlocks(17, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 9)]))])), new Version(2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 18]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 34)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 28)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)]))])), new Version(3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 22]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(15, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 55)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 44)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 17)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 13)]))])), new Version(4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 80)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 32)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 24)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 9)]))])), new Version(5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 108)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 43)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(2, 16)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 11), new Version$ECB(2, 12)]))])), new Version(6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 34]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 27)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 19)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 15)]))])), new Version(7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 22, 38]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 78)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 31)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(4, 15)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 13), new Version$ECB(1, 14)]))])), new Version(8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 24, 42]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 97)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 38), new Version$ECB(2, 39)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 18), new Version$ECB(2, 19)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 14), new Version$ECB(2, 15)]))])), new Version(9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26, 46]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 116)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 16), new Version$ECB(4, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 12), new Version$ECB(4, 13)]))])), new Version(10, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 28, 50]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68), new Version$ECB(2, 69)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 43), new Version$ECB(1, 44)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 15), new Version$ECB(2, 16)]))])), new Version(11, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 54]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 81)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 50), new Version$ECB(4, 51)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 22), new Version$ECB(4, 23)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 12), new Version$ECB(8, 13)]))])), new Version(12, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 32, 58]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 92), new Version$ECB(2, 93)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 20), new Version$ECB(6, 21)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 14), new Version$ECB(4, 15)]))])), new Version(13, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 34, 62]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 107)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 37), new Version$ECB(1, 38)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 20), new Version$ECB(4, 21)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 11), new Version$ECB(4, 12)]))])), new Version(14, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26, 46, 66]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 40), new Version$ECB(5, 41)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 16), new Version$ECB(5, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(5, 13)]))])), new Version(15, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26, 48, 70]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 87), new Version$ECB(1, 88)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 41), new Version$ECB(5, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(7, 13)]))])), new Version(16, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26, 50, 74]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 98), new Version$ECB(1, 99)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 15), new Version$ECB(13, 16)]))])), new Version(17, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 54, 78]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(1, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22), new Version$ECB(15, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(17, 15)]))])), new Version(18, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 56, 82]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 120), new Version$ECB(1, 121)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 43), new Version$ECB(4, 44)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(1, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(19, 15)]))])), new Version(19, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 58, 86]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 113), new Version$ECB(4, 114)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 44), new Version$ECB(11, 45)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 21), new Version$ECB(4, 22)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 13), new Version$ECB(16, 14)]))])), new Version(20, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 34, 62, 90]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 41), new Version$ECB(13, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(5, 25)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 15), new Version$ECB(10, 16)]))])), new Version(21, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 28, 50, 72, 94]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 116), new Version$ECB(4, 117)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 42)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 16), new Version$ECB(6, 17)]))])), new Version(22, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26, 50, 74, 98]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 111), new Version$ECB(7, 112)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 13)]))])), new Version(23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 54, 78, 102]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 121), new Version$ECB(5, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 47), new Version$ECB(14, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(16, 15), new Version$ECB(14, 16)]))])), new Version(24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 28, 54, 80, 106]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 45), new Version$ECB(14, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(30, 16), new Version$ECB(2, 17)]))])), new Version(25, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 32, 58, 84, 110]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 106), new Version$ECB(4, 107)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 47), new Version$ECB(13, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(13, 16)]))])), new Version(26, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 58, 86, 114]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 114), new Version$ECB(2, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 46), new Version$ECB(4, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(28, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(33, 16), new Version$ECB(4, 17)]))])), new Version(27, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 34, 62, 90, 118]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 23), new Version$ECB(26, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 15), new Version$ECB(28, 16)]))])), new Version(28, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26, 50, 74, 98, 122]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 117), new Version$ECB(10, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 45), new Version$ECB(23, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 24), new Version$ECB(31, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(31, 16)]))])), new Version(29, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 54, 78, 102, 126]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 116), new Version$ECB(7, 117)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(21, 45), new Version$ECB(7, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 23), new Version$ECB(37, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(26, 16)]))])), new Version(30, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26, 52, 78, 104, 130]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 115), new Version$ECB(10, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 47), new Version$ECB(10, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(25, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(25, 16)]))])), new Version(31, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 56, 82, 108, 134]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(3, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 46), new Version$ECB(29, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 24), new Version$ECB(1, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(28, 16)]))])), new Version(32, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 34, 60, 86, 112, 138]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 24), new Version$ECB(35, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(35, 16)]))])), new Version(33, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 58, 86, 114, 142]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(21, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 24), new Version$ECB(19, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(46, 16)]))])), new Version(34, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 34, 62, 90, 118, 146]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(6, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(44, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(59, 16), new Version$ECB(1, 17)]))])), new Version(35, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 54, 78, 102, 126, 150]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 121), new Version$ECB(7, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 47), new Version$ECB(26, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(39, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(41, 16)]))])), new Version(36, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 24, 50, 76, 102, 128, 154]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 121), new Version$ECB(14, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 47), new Version$ECB(34, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(46, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(64, 16)]))])), new Version(37, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 28, 54, 80, 106, 132, 158]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 46), new Version$ECB(14, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(49, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(24, 15), new Version$ECB(46, 16)]))])), new Version(38, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 32, 58, 84, 110, 136, 162]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 122), new Version$ECB(18, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 46), new Version$ECB(32, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(48, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 15), new Version$ECB(32, 16)]))])), new Version(39, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 26, 54, 82, 110, 138, 166]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(40, 47), new Version$ECB(7, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(43, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 15), new Version$ECB(67, 16)]))])), new Version(40, initValues(getClassLiteralForArray(I_classLit, 1), $intern_19, 0, 7, [6, 30, 58, 86, 114, 142, 170]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 118), new Version$ECB(6, 119)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(18, 47), new Version$ECB(31, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 24), new Version$ECB(34, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 15), new Version$ECB(61, 16)]))]))]); +} + +function $buildFunctionPattern(this$static){ + var bitMatrix, dimension, i, max_0, x_0, y_0; + dimension = 17 + 4 * this$static.versionNumber; + bitMatrix = new BitMatrix(dimension); + $setRegion(bitMatrix, 0, 0, 9, 9); + $setRegion(bitMatrix, dimension - 8, 0, 8, 9); + $setRegion(bitMatrix, 0, dimension - 8, 9, 8); + max_0 = this$static.alignmentPatternCenters.length; + for (x_0 = 0; x_0 < max_0; x_0++) { + i = this$static.alignmentPatternCenters[x_0] - 2; + for (y_0 = 0; y_0 < max_0; y_0++) { + if (x_0 == 0 && (y_0 == 0 || y_0 == max_0 - 1) || x_0 == max_0 - 1 && y_0 == 0) { + continue; + } + $setRegion(bitMatrix, this$static.alignmentPatternCenters[y_0] - 2, i, 5, 5); + } + } + $setRegion(bitMatrix, 6, 9, 1, dimension - 17); + $setRegion(bitMatrix, 9, 6, dimension - 17, 1); + if (this$static.versionNumber > 6) { + $setRegion(bitMatrix, dimension - 11, 0, 3, 6); + $setRegion(bitMatrix, 0, dimension - 11, 6, 3); + } + return bitMatrix; +} + +function Version(versionNumber, alignmentPatternCenters, ecBlocks){ + var ecBlock, ecBlock$index, ecBlock$max, ecCodewords, ecbArray, total; + this.versionNumber = versionNumber; + this.alignmentPatternCenters = alignmentPatternCenters; + this.ecBlocks = ecBlocks; + total = 0; + ecCodewords = ecBlocks[0].ecCodewordsPerBlock; + ecbArray = ecBlocks[0].ecBlocks; + for (ecBlock$index = 0 , ecBlock$max = ecbArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecbArray[ecBlock$index]; + total += ecBlock.count * (ecBlock.dataCodewords + ecCodewords); + } + this.totalCodewords = total; +} + +function decodeVersionInformation(versionBits){ + $clinit_Version(); + var bestDifference, bestVersion, bitsDifference, i, targetVersion; + bestDifference = $intern_0; + bestVersion = 0; + for (i = 0; i < VERSION_DECODE_INFO.length; i++) { + targetVersion = VERSION_DECODE_INFO[i]; + if (targetVersion == versionBits) { + return getVersionForNumber(i + 7); + } + bitsDifference = ($clinit_FormatInformation() , bitCount(versionBits ^ targetVersion)); + if (bitsDifference < bestDifference) { + bestVersion = i + 7; + bestDifference = bitsDifference; + } + } + if (bestDifference <= 3) { + return getVersionForNumber(bestVersion); + } + return null; +} + +function getProvisionalVersionForDimension(dimension){ + $clinit_Version(); + if (dimension % 4 != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + try { + return getVersionForNumber(~~((dimension - 17) / 4)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function getVersionForNumber(versionNumber){ + $clinit_Version(); + if (versionNumber < 1 || versionNumber > 40) { + throw new IllegalArgumentException; + } + return VERSIONS[versionNumber - 1]; +} + +defineClass(9, 1, {9:1}, Version); +_.toString$ = function toString_11(){ + return '' + this.versionNumber; +} +; +_.totalCodewords = 0; +_.versionNumber = 0; +var VERSIONS, VERSION_DECODE_INFO; +var Lcom_google_zxing_qrcode_decoder_Version_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version', 9); +function Version$ECB(count, dataCodewords){ + this.count = count; + this.dataCodewords = dataCodewords; +} + +defineClass(4, 1, {4:1}, Version$ECB); +_.count = 0; +_.dataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECB', 4); +function Version$ECBlocks(ecCodewordsPerBlock, ecBlocks){ + this.ecCodewordsPerBlock = ecCodewordsPerBlock; + this.ecBlocks = ecBlocks; +} + +defineClass(6, 1, {6:1}, Version$ECBlocks); +_.ecCodewordsPerBlock = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECBlocks', 6); +function $aboutEquals(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function AlignmentPattern(posX, posY, estimatedModuleSize){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; +} + +defineClass(50, 29, {29:1, 50:1}, AlignmentPattern); +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPattern', 50); +function $crossCheckVertical(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height_0; + stateCount = this$static.crossCheckStateCount; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + i = startI; + while (i >= 0 && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (i == maxI || stateCount[1] > maxCount) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[2] <= maxCount) { + ++stateCount[2]; + ++i; + } + if (stateCount[2] > maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return $foundPatternCross(this$static, stateCount)?i - stateCount[2] - stateCount[1] / 2:NaN; +} + +function $find(this$static){ + var confirmed, currentState, height, i, iGen, j, maxJ, middleI, startX, stateCount; + startX = this$static.startX; + height = this$static.height_0; + maxJ = startX + this$static.width_0; + middleI = this$static.startY + ~~(height / 2); + stateCount = initDim(I_classLit, $intern_19, 0, 3, 7, 1); + for (iGen = 0; iGen < height; iGen++) { + i = middleI + ((iGen & 1) == 0?~~((iGen + 1) / 2):-~~((iGen + 1) / 2)); + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + j = startX; + while (j < maxJ && !$get(this$static.image, j, i)) { + ++j; + } + currentState = 0; + while (j < maxJ) { + if ($get(this$static.image, j, i)) { + if (currentState == 1) { + ++stateCount[1]; + } + else { + if (currentState == 2) { + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, j); + if (confirmed) { + return confirmed; + } + } + stateCount[0] = stateCount[2]; + stateCount[1] = 1; + stateCount[2] = 0; + currentState = 1; + } + else { + ++stateCount[++currentState]; + } + } + } + else { + currentState == 1 && ++currentState; + ++stateCount[currentState]; + } + ++j; + } + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, maxJ); + if (confirmed) { + return confirmed; + } + } + } + if (this$static.possibleCenters.array.length != 0) { + return dynamicCast($get_1(this$static.possibleCenters, 0), 50); + } + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; +} + +function $foundPatternCross(this$static, stateCount){ + var i, maxVariance, moduleSize; + moduleSize = this$static.moduleSize; + maxVariance = moduleSize / 2; + for (i = 0; i < 3; i++) { + if (abs_0(moduleSize - stateCount[i]) >= maxVariance) { + return false; + } + } + return true; +} + +function $handlePossibleCenter(this$static, stateCount, i, j){ + var center, center$iterator, centerI, centerJ, estimatedModuleSize, point, stateCountTotal, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + centerJ = j - stateCount[2] - stateCount[1] / 2; + centerI = $crossCheckVertical(this$static, i, round_int(centerJ), 2 * stateCount[1], stateCountTotal); + if (!isNaN(centerI)) { + estimatedModuleSize = (stateCount[0] + stateCount[1] + stateCount[2]) / 3; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 50)); + if ($aboutEquals(center, estimatedModuleSize, centerI, centerJ)) { + return combinedX = (center.x_0 + centerJ) / 2 , combinedY = (center.y_0 + centerI) / 2 , combinedModuleSize = (center.estimatedModuleSize + estimatedModuleSize) / 2 , new AlignmentPattern(combinedX, combinedY, combinedModuleSize); + } + } + point = new AlignmentPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return null; +} + +function AlignmentPatternFinder(image, startX, startY, width_0, height, moduleSize){ + this.image = image; + this.possibleCenters = new ArrayList_0(5); + this.startX = startX; + this.startY = startY; + this.width_0 = width_0; + this.height_0 = height; + this.moduleSize = moduleSize; + this.crossCheckStateCount = initDim(I_classLit, $intern_19, 0, 3, 7, 1); +} + +defineClass(151, 1, {}, AlignmentPatternFinder); +_.height_0 = 0; +_.moduleSize = 0; +_.startX = 0; +_.startY = 0; +_.width_0 = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPatternFinder', 151); +function $calculateModuleSizeOneWay(this$static, pattern, otherPattern){ + var moduleSizeEst1, moduleSizeEst2; + moduleSizeEst1 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(pattern.x_0), round_int(pattern.y_0), round_int(otherPattern.x_0), round_int(otherPattern.y_0)); + moduleSizeEst2 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(otherPattern.x_0), round_int(otherPattern.y_0), round_int(pattern.x_0), round_int(pattern.y_0)); + if (isNaN(moduleSizeEst1)) { + return moduleSizeEst2 / 7; + } + if (isNaN(moduleSizeEst2)) { + return moduleSizeEst1 / 7; + } + return (moduleSizeEst1 + moduleSizeEst2) / 14; +} + +function $detect(this$static){ + var finder, info; + finder = new FinderPatternFinder(this$static.image); + info = $find_0(finder); + return $processFinderPatternInfo(this$static, info); +} + +function $findAlignmentInRegion(this$static, overallEstModuleSize, estAlignmentX, estAlignmentY, allowanceFactor){ + var alignmentAreaBottomY, alignmentAreaLeftX, alignmentAreaRightX, alignmentAreaTopY, alignmentFinder, allowance; + allowance = round_int(allowanceFactor * overallEstModuleSize); + alignmentAreaLeftX = 0 > estAlignmentX - allowance?0:estAlignmentX - allowance; + alignmentAreaRightX = min_1(this$static.image.width_0 - 1, estAlignmentX + allowance); + if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentAreaTopY = 0 > estAlignmentY - allowance?0:estAlignmentY - allowance; + alignmentAreaBottomY = min_1(this$static.image.height_0 - 1, estAlignmentY + allowance); + if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentFinder = new AlignmentPatternFinder(this$static.image, alignmentAreaLeftX, alignmentAreaTopY, alignmentAreaRightX - alignmentAreaLeftX, alignmentAreaBottomY - alignmentAreaTopY, overallEstModuleSize); + return $find(alignmentFinder); +} + +function $processFinderPatternInfo(this$static, info){ + var alignmentPattern, bits, bottomLeft, bottomRightX, bottomRightY, correctionToTopLeft, dimension, estAlignmentX, estAlignmentY, i, moduleSize, modulesBetweenFPCenters, points, provisionalVersion, topLeft, topRight, transform; + topLeft = info.topLeft; + topRight = info.topRight; + bottomLeft = info.bottomLeft; + moduleSize = ($calculateModuleSizeOneWay(this$static, topLeft, topRight) + $calculateModuleSizeOneWay(this$static, topLeft, bottomLeft)) / 2; + if (moduleSize < 1) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + dimension = computeDimension(topLeft, topRight, bottomLeft, moduleSize); + provisionalVersion = getProvisionalVersionForDimension(dimension); + modulesBetweenFPCenters = 17 + 4 * provisionalVersion.versionNumber - 7; + alignmentPattern = null; + if (provisionalVersion.alignmentPatternCenters.length > 0) { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + correctionToTopLeft = 1 - 3 / modulesBetweenFPCenters; + estAlignmentX = round_int(topLeft.x_0 + correctionToTopLeft * (bottomRightX - topLeft.x_0)); + estAlignmentY = round_int(topLeft.y_0 + correctionToTopLeft * (bottomRightY - topLeft.y_0)); + for (i = 4; i <= 16; i <<= 1) { + try { + alignmentPattern = $findAlignmentInRegion(this$static, moduleSize, estAlignmentX, estAlignmentY, i); + break; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 54)) + throw unwrap($e0); + } + } + } + transform = createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension); + bits = sampleGrid(this$static.image, transform, dimension); + !alignmentPattern?(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 29, 0, [bottomLeft, topLeft, topRight])):(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 29, 0, [bottomLeft, topLeft, topRight, alignmentPattern])); + return new DetectorResult(bits, points); +} + +function $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY){ + var dx, dy, error, realX, realY, state, steep, temp, x_0, xLimit, xstep, y_0, ystep; + steep = (toY - fromY < 0?-(toY - fromY):toY - fromY) > (toX - fromX < 0?-(toX - fromX):toX - fromX); + if (steep) { + temp = fromX; + fromX = fromY; + fromY = temp; + temp = toX; + toX = toY; + toY = temp; + } + dx = toX - fromX < 0?-(toX - fromX):toX - fromX; + dy = toY - fromY < 0?-(toY - fromY):toY - fromY; + error = ~~(-dx / 2); + xstep = fromX < toX?1:-1; + ystep = fromY < toY?1:-1; + state = 0; + xLimit = toX + xstep; + for (x_0 = fromX , y_0 = fromY; x_0 != xLimit; x_0 += xstep) { + realX = steep?y_0:x_0; + realY = steep?x_0:y_0; + if (state == 1 == $get(this$static.image, realX, realY)) { + if (state == 2) { + return distance_1(x_0, y_0, fromX, fromY); + } + ++state; + } + error += dy; + if (error > 0) { + if (y_0 == toY) { + break; + } + y_0 += ystep; + error -= dx; + } + } + if (state == 2) { + return distance_1(toX + xstep, toY, fromX, fromY); + } + return NaN; +} + +function $sizeOfBlackWhiteBlackRunBothWays(this$static, fromX, fromY, toX, toY){ + var otherToX, otherToY, result, scale; + result = $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY); + scale = 1; + otherToX = fromX - (toX - fromX); + if (otherToX < 0) { + scale = fromX / (fromX - otherToX); + otherToX = 0; + } + else if (otherToX >= this$static.image.width_0) { + scale = (this$static.image.width_0 - 1 - fromX) / (otherToX - fromX); + otherToX = this$static.image.width_0 - 1; + } + otherToY = round_int(fromY - (toY - fromY) * scale); + scale = 1; + if (otherToY < 0) { + scale = fromY / (fromY - otherToY); + otherToY = 0; + } + else if (otherToY >= this$static.image.height_0) { + scale = (this$static.image.height_0 - 1 - fromY) / (otherToY - fromY); + otherToY = this$static.image.height_0 - 1; + } + otherToX = round_int(fromX + (otherToX - fromX) * scale); + result += $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, otherToX, otherToY); + return result - 1; +} + +function Detector(image){ + this.image = image; +} + +function computeDimension(topLeft, topRight, bottomLeft, moduleSize){ + var dimension, tlblCentersDimension, tltrCentersDimension; + tltrCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0) / moduleSize); + tlblCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, bottomLeft.x_0, bottomLeft.y_0) / moduleSize); + dimension = ~~((tltrCentersDimension + tlblCentersDimension) / 2) + 7; + switch (dimension & 3) { + case 0: + ++dimension; + break; + case 2: + --dimension; + break; + case 3: + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + return dimension; +} + +function createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension){ + var bottomRightX, bottomRightY, dimMinusThree, sourceBottomRightX, sourceBottomRightY; + dimMinusThree = dimension - 3.5; + if (alignmentPattern) { + bottomRightX = alignmentPattern.x_0; + bottomRightY = alignmentPattern.y_0; + sourceBottomRightX = dimMinusThree - 3; + sourceBottomRightY = sourceBottomRightX; + } + else { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + sourceBottomRightX = dimMinusThree; + sourceBottomRightY = dimMinusThree; + } + return quadrilateralToQuadrilateral(dimMinusThree, sourceBottomRightX, sourceBottomRightY, dimMinusThree, topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0, bottomRightX, bottomRightY, bottomLeft.x_0, bottomLeft.y_0); +} + +function sampleGrid(image, transform, dimension){ + return $sampleGrid(image, dimension, dimension, transform); +} + +defineClass(131, 1, {}, Detector); +var Lcom_google_zxing_qrcode_detector_Detector_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'Detector', 131); +function $aboutEquals_0(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function FinderPattern(posX, posY, estimatedModuleSize){ + FinderPattern_0.call(this, posX, posY, estimatedModuleSize, 1); +} + +function FinderPattern_0(posX, posY, estimatedModuleSize, count){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; + this.count = count; +} + +defineClass(16, 29, {29:1, 16:1}, FinderPattern, FinderPattern_0); +_.count = 0; +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPattern', 16); +function $crossCheckDiagonal(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, maxI, maxJ, stateCount, stateCountTotal; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = 0; + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i)) { + ++stateCount[2]; + ++i; + } + if (startI < i || centerJ < i) { + return false; + } + while (startI >= i && centerJ >= i && !$get(this$static.image, centerJ - i, startI - i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (startI < i || centerJ < i || stateCount[1] > maxCount) { + return false; + } + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + ++i; + } + if (stateCount[0] > maxCount) { + return false; + } + maxI = this$static.image.height_0; + maxJ = this$static.image.width_0; + i = 1; + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i)) { + ++stateCount[2]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && !$get(this$static.image, centerJ + i, startI + i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ || stateCount[3] >= maxCount) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return false; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + return (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) < 2 * originalStateCountTotal && foundPatternCross(stateCount); +} + +function $crossCheckHorizontal(this$static, startJ, centerI, maxCount, originalStateCountTotal){ + var image, j, maxJ, stateCount, stateCountTotal; + image = this$static.image; + maxJ = image.width_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + j = startJ; + while (j >= 0 && $get(image, j, centerI)) { + ++stateCount[2]; + --j; + } + if (j < 0) { + return NaN; + } + while (j >= 0 && !$get(image, j, centerI) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --j; + } + if (j < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (j >= 0 && $get(image, j, centerI) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --j; + } + if (stateCount[0] > maxCount) { + return NaN; + } + j = startJ + 1; + while (j < maxJ && $get(image, j, centerI)) { + ++stateCount[2]; + ++j; + } + if (j == maxJ) { + return NaN; + } + while (j < maxJ && !$get(image, j, centerI) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++j; + } + if (j == maxJ || stateCount[3] >= maxCount) { + return NaN; + } + while (j < maxJ && $get(image, j, centerI) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++j; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?j - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $crossCheckVertical_0(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = startI; + while (i >= 0 && $get(image, centerJ, i)) { + ++stateCount[2]; + --i; + } + if (i < 0) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && $get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i)) { + ++stateCount[2]; + ++i; + } + if (i == maxI) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (i == maxI || stateCount[3] >= maxCount) { + return NaN; + } + while (i < maxI && $get(image, centerJ, i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?i - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $find_0(this$static){ + var confirmed, currentState, done, i, iSkip, j, maxI, maxJ, patternInfo, rowSkip, stateCount; + maxI = this$static.image.height_0; + maxJ = this$static.image.width_0; + iSkip = ~~(3 * maxI / 228); + iSkip < 3 && (iSkip = 3); + done = false; + stateCount = initDim(I_classLit, $intern_19, 0, 5, 7, 1); + for (i = iSkip - 1; i < maxI && !done; i += iSkip) { + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + currentState = 0; + for (j = 0; j < maxJ; j++) { + if ($get(this$static.image, j, i)) { + (currentState & 1) == 1 && ++currentState; + ++stateCount[currentState]; + } + else { + if ((currentState & 1) == 0) { + if (currentState == 4) { + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, j, false); + if (confirmed) { + iSkip = 2; + if (this$static.hasSkipped) { + done = $haveMultiplyConfirmedCenters(this$static); + } + else { + rowSkip = $findRowSkip(this$static); + if (rowSkip > stateCount[2]) { + i += rowSkip - stateCount[2] - 2; + j = maxJ - 1; + } + } + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + continue; + } + currentState = 0; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + } + } + else { + ++stateCount[++currentState]; + } + } + else { + ++stateCount[currentState]; + } + } + } + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, maxJ, false); + if (confirmed) { + iSkip = stateCount[0]; + this$static.hasSkipped && (done = $haveMultiplyConfirmedCenters(this$static)); + } + } + } + patternInfo = $selectBestPatterns(this$static); + orderBestPatterns(patternInfo); + return new FinderPatternInfo(patternInfo); +} + +function $findRowSkip(this$static){ + var center, center$iterator, firstConfirmedCenter, max_0; + max_0 = this$static.possibleCenters.array.length; + if (max_0 <= 1) { + return 0; + } + firstConfirmedCenter = null; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + if (center.count >= 2) { + if (!firstConfirmedCenter) { + firstConfirmedCenter = center; + } + else { + this$static.hasSkipped = true; + return ~~(round_int(abs_0(firstConfirmedCenter.x_0 - center.x_0) - abs_0(firstConfirmedCenter.y_0 - center.y_0)) / 2); + } + } + } + return 0; +} + +function $handlePossibleCenter_0(this$static, stateCount, i, j, pureBarcode){ + var center, centerI, centerJ, estimatedModuleSize, found, index_0, point, stateCountTotal, combinedCount, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + centerJ = j - stateCount[4] - stateCount[3] - stateCount[2] / 2; + centerI = $crossCheckVertical_0(this$static, i, round_int(centerJ), stateCount[2], stateCountTotal); + if (!isNaN(centerI)) { + centerJ = $crossCheckHorizontal(this$static, round_int(centerJ), round_int(centerI), stateCount[2], stateCountTotal); + if (!isNaN(centerJ) && (!pureBarcode || $crossCheckDiagonal(this$static, round_int(centerI), round_int(centerJ), stateCount[2], stateCountTotal))) { + estimatedModuleSize = stateCountTotal / 7; + found = false; + for (index_0 = 0; index_0 < this$static.possibleCenters.array.length; index_0++) { + center = dynamicCast($get_1(this$static.possibleCenters, index_0), 16); + if ($aboutEquals_0(center, estimatedModuleSize, centerI, centerJ)) { + $set_1(this$static.possibleCenters, index_0, (combinedCount = center.count + 1 , combinedX = (center.count * center.x_0 + centerJ) / combinedCount , combinedY = (center.count * center.y_0 + centerI) / combinedCount , combinedModuleSize = (center.count * center.estimatedModuleSize + estimatedModuleSize) / combinedCount , new FinderPattern_0(combinedX, combinedY, combinedModuleSize, combinedCount))); + found = true; + break; + } + } + if (!found) { + point = new FinderPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return true; + } + } + return false; +} + +function $haveMultiplyConfirmedCenters(this$static){ + var average, confirmedCount, max_0, pattern, pattern$iterator, pattern$iterator0, totalDeviation, totalModuleSize; + confirmedCount = 0; + totalModuleSize = 0; + max_0 = this$static.possibleCenters.array.length; + for (pattern$iterator0 = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator0.i < pattern$iterator0.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator0.i < pattern$iterator0.this$01.size_1()) , dynamicCast(pattern$iterator0.this$01.get_1(pattern$iterator0.last = pattern$iterator0.i++), 16)); + if (pattern.count >= 2) { + ++confirmedCount; + totalModuleSize += pattern.estimatedModuleSize; + } + } + if (confirmedCount < 3) { + return false; + } + average = totalModuleSize / max_0; + totalDeviation = 0; + for (pattern$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator.i < pattern$iterator.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator.i < pattern$iterator.this$01.size_1()) , dynamicCast(pattern$iterator.this$01.get_1(pattern$iterator.last = pattern$iterator.i++), 16)); + totalDeviation += abs_0(pattern.estimatedModuleSize - average); + } + return totalDeviation <= 0.05000000074505806 * totalModuleSize; +} + +function $selectBestPatterns(this$static){ + var average, center, center$iterator, i, limit, pattern, possibleCenter, possibleCenter$iterator, size_0, square, startSize, stdDev, totalModuleSize; + startSize = this$static.possibleCenters.array.length; + if (startSize < 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + if (startSize > 3) { + totalModuleSize = 0; + square = 0; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + size_0 = center.estimatedModuleSize; + totalModuleSize += size_0; + square += size_0 * size_0; + } + average = totalModuleSize / startSize; + stdDev = Math.sqrt(square / startSize - average * average); + sort_0(this$static.possibleCenters, new FinderPatternFinder$FurthestFromAverageComparator(average)); + limit = $intern_21 * average > stdDev?$intern_21 * average:stdDev; + for (i = 0; i < this$static.possibleCenters.array.length && this$static.possibleCenters.array.length > 3; i++) { + pattern = dynamicCast($get_1(this$static.possibleCenters, i), 16); + if (abs_0(pattern.estimatedModuleSize - average) > limit) { + this$static.possibleCenters.remove(i); + --i; + } + } + } + if (this$static.possibleCenters.array.length > 3) { + totalModuleSize = 0; + for (possibleCenter$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1();) { + possibleCenter = (checkCriticalElement(possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1()) , dynamicCast(possibleCenter$iterator.this$01.get_1(possibleCenter$iterator.last = possibleCenter$iterator.i++), 16)); + totalModuleSize += possibleCenter.estimatedModuleSize; + } + average = totalModuleSize / this$static.possibleCenters.array.length; + sort_0(this$static.possibleCenters, new FinderPatternFinder$CenterComparator(average)); + $clear(new AbstractList$SubList(this$static.possibleCenters, this$static.possibleCenters.array.length)); + } + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit, 1), $intern_2, 16, 0, [dynamicCast($get_1(this$static.possibleCenters, 0), 16), dynamicCast($get_1(this$static.possibleCenters, 1), 16), dynamicCast($get_1(this$static.possibleCenters, 2), 16)]); +} + +function FinderPatternFinder(image){ + this.image = image; + this.possibleCenters = new ArrayList; + this.crossCheckStateCount = initDim(I_classLit, $intern_19, 0, 5, 7, 1); +} + +function foundPatternCross(stateCount){ + var count, i, maxVariance, moduleSize, totalModuleSize; + totalModuleSize = 0; + for (i = 0; i < 5; i++) { + count = stateCount[i]; + if (count == 0) { + return false; + } + totalModuleSize += count; + } + if (totalModuleSize < 7) { + return false; + } + moduleSize = totalModuleSize / 7; + maxVariance = moduleSize / 2; + return abs_0(moduleSize - stateCount[0]) < maxVariance && abs_0(moduleSize - stateCount[1]) < maxVariance && abs_0(3 * moduleSize - stateCount[2]) < 3 * maxVariance && abs_0(moduleSize - stateCount[3]) < maxVariance && abs_0(moduleSize - stateCount[4]) < maxVariance; +} + +defineClass(134, 1, {}, FinderPatternFinder); +_.hasSkipped = false; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder', 134); +function $compare(this$static, center1, center2){ + var dA, dB; + if (center2.count == center1.count) { + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?1:dA == dB?0:-1; + } + else { + return center2.count - center1.count; + } +} + +function FinderPatternFinder$CenterComparator(f){ + this.average = f; +} + +defineClass(136, 1, $intern_17, FinderPatternFinder$CenterComparator); +_.compare = function compare(center1, center2){ + return $compare(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$CenterComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/CenterComparator', 136); +function $compare_0(this$static, center1, center2){ + var dA, dB; + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?-1:dA == dB?0:1; +} + +function FinderPatternFinder$FurthestFromAverageComparator(f){ + this.average = f; +} + +defineClass(135, 1, $intern_17, FinderPatternFinder$FurthestFromAverageComparator); +_.compare = function compare_0(center1, center2){ + return $compare_0(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$FurthestFromAverageComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/FurthestFromAverageComparator', 135); +function FinderPatternInfo(patternCenters){ + this.bottomLeft = patternCenters[0]; + this.topLeft = patternCenters[1]; + this.topRight = patternCenters[2]; +} + +defineClass(137, 1, {}, FinderPatternInfo); +var Lcom_google_zxing_qrcode_detector_FinderPatternInfo_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternInfo', 137); +function $getMatrix(this$static){ + var area, height, i, j, matrix, pixelByte, pixelInt, width_0; + width_0 = this$static.width_0; + height = this$static.height_0; + area = width_0 * height; + matrix = initDim(B_classLit, $intern_17, 0, area, 7, 1); + for (i = 0; i < width_0; i++) + for (j = 0; j < height; j++) { + pixelInt = $getColorAt(this$static.imagedata, this$static.left + i, this$static.top_0 + j, 0); + pixelByte = narrow_byte(pixelInt); + matrix[i + j * width_0] = pixelByte; + } + return matrix; +} + +function $getRow(this$static, y_0, row){ + var i, width_0, yoffset; + if (y_0 < 0 || y_0 >= this$static.height_0) { + throw new IllegalArgumentException_0('Requested row is outside the image: ' + y_0); + } + width_0 = this$static.width_0; + (row == null || row.length < width_0) && (row = initDim(B_classLit, $intern_17, 0, width_0, 7, 1)); + yoffset = this$static.top_0 + y_0; + for (i = 0; i < width_0; i++) { + row[i] = $getColorAt(this$static.imagedata, this$static.left + i, yoffset, 0) << 24 >> 24; + } + return row; +} + +function CanvasLuminanceSource(image){ + CanvasLuminanceSource_0.call(this, image, ($clinit_DOM() , image.element).width, image.element.height); +} + +function CanvasLuminanceSource_0(aImage, width_0, height){ + var avg, data_0, i, sourceHeight, sourceWidth; + this.width_0 = width_0; + this.height_0 = height; + sourceWidth = ($clinit_DOM() , aImage.element).width; + sourceHeight = aImage.element.height; + if (width_0 > sourceWidth || height > sourceHeight) { + throw new IllegalArgumentException_0('Crop rectangle does not fit within image data.'); + } + this.image = createIfSupported(); + $setPixelSize(this.image, sourceWidth, sourceHeight); + $setCoordinateSpaceHeight(this.image, sourceHeight); + $setCoordinateSpaceWidth(this.image, sourceWidth); + this.imagedata = $getImageData(aImage.element.getContext('2d'), 0, 0, width_0, height); + data_0 = this.imagedata.data; + for (i = 0; i < data_0.length; i += 4) { + if (((data_0[i + 3] || 0) & 255) == 0) { + $set(data_0, i, 255); + $set(data_0, i + 1, 255); + $set(data_0, i + 2, 255); + $set(data_0, i + 3, 255); + } + else { + avg = ~~(((data_0[i] || 0) + (data_0[i + 1] || 0) + (data_0[i + 2] || 0)) / 3); + $set(data_0, i, avg); + $set(data_0, i + 1, avg); + $set(data_0, i + 2, avg); + } + } + $putImageData($getContext2d(this.image), this.imagedata, 0, 0); + this.left = 0; + this.top_0 = 0; +} + +defineClass(78, 125, {}, CanvasLuminanceSource); +_.left = 0; +_.top_0 = 0; +var Lcom_google_zxing_web_CanvasLuminanceSource_2_classLit = createForClass('com.google.zxing.web', 'CanvasLuminanceSource', 78); +function $createSnapImage(this$static){ + var binarizer, h, lsource, snapImage, w; + w = $getVideoElement(this$static.video).videoWidth; + h = $getVideoElement(this$static.video).videoHeight; + if (w > 0 && h > 0) { + if (this$static.snapImageMaxSize > 0) { + if (w > h) { + if (this$static.snapImageMaxSize < w) { + h = ~~(h * this$static.snapImageMaxSize / w); + w = this$static.snapImageMaxSize; + } + } + else { + if (this$static.snapImageMaxSize < h) { + w = ~~(w * this$static.snapImageMaxSize / h); + h = this$static.snapImageMaxSize; + } + } + } + $setCoordinateSpaceWidth(this$static.canvas, w); + $setCoordinateSpaceHeight(this$static.canvas, h); + $drawImage($getCanvasElement(this$static.canvas).getContext('2d'), $getMediaElement(this$static.video), 0, 0, w, h); + lsource = new CanvasLuminanceSource(this$static.canvas); + binarizer = new HybridBinarizer(lsource); + snapImage = new BinaryBitmap(binarizer); + return snapImage; + } + return null; +} + +function $isScanning(this$static){ + return this$static.active && this$static.attached; +} + +function $onAttach_1(this$static){ + var t; + $onAttach(this$static); + $setSrc(this$static.video); + try { + $setWebcam(($clinit_DOM() , this$static.video.element), this$static); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + t = $e0; + $reportError(this$static, t.getMessage()); + } + else + throw unwrap($e0); + } +} + +function $reportError(this$static, msg){ + $onSuccess(this$static.callback, new Result(msg)); +} + +function $resumeScanning(this$static){ + this$static.active = true; + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); +} + +function $scan(this$static){ + var bitmap, reader, reader$iterator, result; + if (!(this$static.active && this$static.attached)) + return; + try { + bitmap = $createSnapImage(this$static); + if (bitmap) { + for (reader$iterator = new AbstractList$IteratorImpl(this$static.readers); reader$iterator.i < reader$iterator.this$01.size_1();) { + reader = (checkCriticalElement(reader$iterator.i < reader$iterator.this$01.size_1()) , dynamicCast(reader$iterator.this$01.get_1(reader$iterator.last = reader$iterator.i++), 181)); + try { + result = $decode_0(reader, bitmap); + $onSuccess(this$static.callback, result); + return; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 10)) + throw unwrap($e0); + } + } + } + } + finally { + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); + } +} + +function $setScanInterval(this$static, scanInterval){ + this$static.scanInterval = scanInterval; +} + +function $setSnapImageMaxSize(this$static, snapImageMaxSize){ + this$static.snapImageMaxSize = snapImageMaxSize; +} + +function $setWebcam(videoElement, scanner){ + function success(stream){ + scanner.videoStream = stream; + var v = videoElement; + function removeControls(){ + v.removeAttribute('controls'); + } + + try { + v.srcObject = stream; + v.setAttribute('playsinline', true); + v.setAttribute('controls', true); + setTimeout(removeControls); + } + catch (ex) { + v.src = $wnd.URL.createObjectURL(stream); + } + scanner.videoAttached(); + } + + function error(ex){ + var msg = ex.message; + scanner.reportError(msg); + } + + var vsp = scanner.videoStreamProvider; + if (vsp) { + vsp().then(success)['catch'](error); + return; + } + var n = $wnd.navigator; + if (n.mediaDevices && n.mediaDevices.getUserMedia) { + n.mediaDevices.getUserMedia({video:{facingMode:'environment'}, audio:false}).then(success)['catch'](error); + } + else { + var constraints = {audio:false, video:true}; + n.getUserMedia?n.getUserMedia(constraints, success, error):n.webkitGetUserMedia?n.webkitGetUserMedia(constraints, success, error):n.mozGetUserMedia && n.mozGetUserMedia(constraints, success, error); + } +} + +function $stopWebcam(scanner){ + if (scanner.videoStream) { + var stream = scanner.videoStream; + stream.stop?stream.stop():stream.getTracks && stream.getTracks().forEach(function(track){ + track.stop(); + } + ); + scanner.videoStream = null; + } +} + +function ScannerWidget(callback, videoStreamProvider){ + this.children = new WidgetCollection; + $setElement(this, ($clinit_DOM() , $doc.createElement('div'))); + this.video = createIfSupported_0(); + this.canvas = createIfSupported(); + this.qrReader = new QRCodeReader; + this.readers = new ArrayList; + this.scanInterval = 300; + this.snapImageMaxSize = -1; + this.active = true; + this.callback = callback; + this.videoStreamProvider = videoStreamProvider; + $add_2(this.readers, this.qrReader); + this.scanTimer = new ScannerWidget$1(this); + $add_0(this, this.video); + $setStyleName(this.video); + $setAutoplay(this.video); +} + +defineClass(104, 75, $intern_1); +_.onAttach = function onAttach_1(){ + $onAttach_1(this); +} +; +_.onDetach = function onDetach_0(){ + $onDetach(this); + $stopWebcam(this); +} +; +_.reportError = function reportError(msg){ + $reportError(this, msg); +} +; +_.videoAttached = function videoAttached(){ + this.active && this.attached && $schedule(this.scanTimer, this.scanInterval); +} +; +_.active = false; +_.scanInterval = 0; +_.snapImageMaxSize = 0; +var Lcom_google_zxing_web_ScannerWidget_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget', 104); +function ScannerWidget$1(this$0){ + this.this$01 = this$0; +} + +defineClass(108, 107, {}, ScannerWidget$1); +var Lcom_google_zxing_web_ScannerWidget$1_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget/1', 108); +defineClass(153, 10, $intern_4); +var Ljava_io_IOException_2_classLit = createForClass('java.io', 'IOException', 153); +function UnsupportedEncodingException(msg){ + Exception_0.call(this, msg); +} + +defineClass(51, 153, {3:1, 51:1, 10:1, 8:1}, UnsupportedEncodingException); +var Ljava_io_UnsupportedEncodingException_2_classLit = createForClass('java.io', 'UnsupportedEncodingException', 51); +function AbstractStringBuilder(string){ + this.string = string; +} + +defineClass(60, 1, {}); +_.toString$ = function toString_12(){ + return this.string; +} +; +var Ljava_lang_AbstractStringBuilder_2_classLit = createForClass('java.lang', 'AbstractStringBuilder', 60); +function ArithmeticException(){ + RuntimeException.call(this); +} + +defineClass(70, 15, $intern_4, ArithmeticException); +var Ljava_lang_ArithmeticException_2_classLit = createForClass('java.lang', 'ArithmeticException', 70); +function ArrayStoreException(){ + RuntimeException.call(this); +} + +function ArrayStoreException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(46, 15, $intern_4, ArrayStoreException, ArrayStoreException_0); +var Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang', 'ArrayStoreException', 46); +function toChars(codePoint, dst, dstIndex){ + checkCriticalArgument(codePoint >= 0 && codePoint <= 1114111); + if (codePoint >= $intern_11) { + dst[dstIndex++] = 55296 + (codePoint - $intern_11 >> 10 & 1023) & 65535; + dst[dstIndex] = 56320 + (codePoint - $intern_11 & 1023) & 65535; + return 2; + } + else { + dst[dstIndex] = codePoint & 65535; + return 1; + } +} + +function ClassCastException(){ + RuntimeException.call(this); +} + +defineClass(41, 15, $intern_4, ClassCastException); +var Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang', 'ClassCastException', 41); +defineClass(66, 1, {3:1, 66:1}); +var Ljava_lang_Number_2_classLit = createForClass('java.lang', 'Number', 66); +function $clinit_Double(){ + $clinit_Double = emptyMethod; + powers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_17, 0, 7, [1.3407807929942597E154, 1.157920892373162E77, 3.4028236692093846E38, 1.8446744073709552E19, 4294967296, $intern_11, 256, 16, 4, 2]); + invPowers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_17, 0, 7, [7.458340731200207E-155, 8.636168555094445E-78, 2.9387358770557188E-39, 5.421010862427522E-20, 2.3283064365386963E-10, 1.52587890625E-5, 0.00390625, 0.0625, 0.25, 0.5]); +} + +function doubleToLongBits(value_0){ + $clinit_Double(); + var bit, exp_0, i, ihi, ilo, negative; + if (isNaN_0(value_0)) { + return {l:0, m:0, h:524160}; + } + negative = false; + if (value_0 == 0) { + return 1 / value_0 == -Infinity?{l:0, m:0, h:$intern_10}:{l:0, m:0, h:0}; + } + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?{l:0, m:0, h:1048320}:{l:0, m:0, h:524032}; + } + exp_0 = 0; + if (value_0 < 1) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 < invPowers[i] && exp_0 - bit >= -1023) { + value_0 *= powers[i]; + exp_0 -= bit; + } + } + if (value_0 < 1 && exp_0 - 1 >= -1023) { + value_0 *= 2; + --exp_0; + } + } + else if (value_0 >= 2) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 >= powers[i]) { + value_0 *= invPowers[i]; + exp_0 += bit; + } + } + } + exp_0 > -1023?(value_0 -= 1):(value_0 *= 0.5); + ihi = fromDouble(value_0 * $intern_12); + value_0 -= toDouble(ihi) * 9.5367431640625E-7; + ilo = fromDouble(value_0 * 4503599627370496); + ihi = or(ihi, fromInt(exp_0 + 1023 << 20)); + negative && (ihi = or(ihi, {l:0, m:512, h:0})); + return or(shl(ihi, 32), ilo); +} + +function isNaN_0(x_0){ + $clinit_Double(); + return isNaN(x_0); +} + +var invPowers, powers; +function floatToIntBits(value_0){ + var bits, exp_0, l, mantissa, negative; + if (isNaN(value_0)) { + return 2143289344; + } + if (value_0 == 0) { + return 1 / value_0 == -Infinity?-2147483648:0; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?-8388608:2139095040; + } + l = doubleToLongBits(value_0); + exp_0 = toInt(sub_0(and(shr(l, 52), {l:2047, m:0, h:0}), {l:1023, m:0, h:0})); + mantissa = toInt(shr(and(l, {l:$intern_5, m:$intern_5, h:255}), 29)); + if (exp_0 <= -127) { + mantissa = ($intern_13 | mantissa) >> -127 - exp_0 + 1; + exp_0 = -127; + } + bits = negative?{l:0, m:512, h:0}:{l:0, m:0, h:0}; + bits = or(bits, fromInt(exp_0 + 127 << 23)); + bits = or(bits, fromInt(mantissa)); + return toInt(bits); +} + +function IllegalArgumentException(){ + RuntimeException.call(this); +} + +function IllegalArgumentException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(12, 15, {3:1, 10:1, 12:1, 8:1}, IllegalArgumentException, IllegalArgumentException_0); +var Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang', 'IllegalArgumentException', 12); +function IllegalStateException(){ + RuntimeException.call(this); +} + +function IllegalStateException_0(s){ + RuntimeException_0.call(this, s); +} + +defineClass(43, 15, $intern_4, IllegalStateException, IllegalStateException_0); +var Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang', 'IllegalStateException', 43); +function IndexOutOfBoundsException(){ + RuntimeException.call(this); +} + +function IndexOutOfBoundsException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(38, 15, $intern_4, IndexOutOfBoundsException, IndexOutOfBoundsException_0); +var Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang', 'IndexOutOfBoundsException', 38); +function $compareTo_0(this$static, b){ + return compare_1(this$static.value_0, b.value_0); +} + +function Integer(value_0){ + this.value_0 = value_0; +} + +function bitCount(x_0){ + x_0 -= x_0 >> 1 & 1431655765; + x_0 = (x_0 >> 2 & 858993459) + (x_0 & 858993459); + x_0 = (x_0 >> 4) + x_0 & 252645135; + x_0 += x_0 >> 8; + x_0 += x_0 >> 16; + return x_0 & 63; +} + +function compare_1(x_0, y_0){ + return x_0 < y_0?-1:x_0 > y_0?1:0; +} + +function toUnsignedRadixString(value_0, radix){ + return (value_0 >>> 0).toString(radix); +} + +function valueOf(i){ + var rebase, result; + if (i > -129 && i < 128) { + rebase = i + 128; + result = ($clinit_Integer$BoxedValues() , boxedValues_0)[rebase]; + !result && (result = boxedValues_0[rebase] = new Integer(i)); + return result; + } + return new Integer(i); +} + +defineClass(36, 66, {3:1, 19:1, 36:1, 66:1}, Integer); +_.compareTo = function compareTo_0(b){ + return $compareTo_0(this, dynamicCast(b, 36)); +} +; +_.equals$ = function equals_4(o){ + return instanceOf(o, 36) && dynamicCast(o, 36).value_0 == this.value_0; +} +; +_.hashCode$ = function hashCode_5(){ + return this.value_0; +} +; +_.toString$ = function toString_14(){ + return '' + this.value_0; +} +; +_.value_0 = 0; +var Ljava_lang_Integer_2_classLit = createForClass('java.lang', 'Integer', 36); +function $clinit_Integer$BoxedValues(){ + $clinit_Integer$BoxedValues = emptyMethod; + boxedValues_0 = initDim(Ljava_lang_Integer_2_classLit, $intern_2, 36, 256, 0, 1); +} + +var boxedValues_0; +function abs_0(x_0){ + return x_0 <= 0?0 - x_0:x_0; +} + +function min_1(x_0, y_0){ + return x_0 < y_0?x_0:y_0; +} + +function NullPointerException(){ + RuntimeException.call(this); +} + +function NullPointerException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(71, 15, $intern_4, NullPointerException, NullPointerException_0); +var Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang', 'NullPointerException', 71); +function $charAt(this$static, index_0){ + return this$static.charCodeAt(index_0); +} + +function $equals(this$static, other){ + return this$static === other; +} + +function $equalsIgnoreCase(this$static, other){ + if (other == null) { + return false; + } + if (this$static == other) { + return true; + } + return this$static.length == other.length && this$static.toLowerCase() == other.toLowerCase(); +} + +function $getChars(dst, dstBegin){ + var srcIdx; + for (srcIdx = 0; srcIdx < 45; ++srcIdx) { + dst[dstBegin++] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'.charCodeAt(srcIdx); + } +} + +function $split(this$static, regex, maxMatch){ + var compiled = new RegExp(regex, 'g'); + var out = []; + var count = 0; + var trail = this$static; + var lastTrail = null; + while (true) { + var matchObj = compiled.exec(trail); + if (matchObj == null || trail == '' || count == maxMatch - 1 && maxMatch > 0) { + out[count] = trail; + break; + } + else { + out[count] = trail.substring(0, matchObj.index); + trail = trail.substring(matchObj.index + matchObj[0].length, trail.length); + compiled.lastIndex = 0; + if (lastTrail == trail) { + out[count] = trail.substring(0, 1); + trail = trail.substring(1); + } + lastTrail = trail; + count++; + } + } + if (maxMatch == 0 && this$static.length > 0) { + var lastNonEmpty = out.length; + while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') { + --lastNonEmpty; + } + lastNonEmpty < out.length && out.splice(lastNonEmpty, out.length - lastNonEmpty); + } + var jr = __createArray(out.length); + for (var i = 0; i < out.length; ++i) { + jr[i] = out[i]; + } + return jr; +} + +function $substring(this$static, beginIndex){ + return __substr(this$static, beginIndex, this$static.length - beginIndex); +} + +function _String(bytes, len, charset){ + if ($equalsIgnoreCase('UTF-8', charset)) { + return utf8ToString(bytes, len); + } + else if ($equalsIgnoreCase('ISO-8859-1', charset) || $equalsIgnoreCase('ISO-LATIN-1', charset)) { + return latin1ToString(bytes, len); + } + else { + throw new UnsupportedEncodingException('Charset ' + charset + ' not supported'); + } +} + +function __createArray(numElements){ + return initDim(Ljava_lang_String_2_classLit, $intern_2, 2, numElements, 4, 1); +} + +function __substr(str, beginIndex, len){ + return str.substr(beginIndex, len); +} + +function __valueOf(x_0, start_0, end){ + var s = ''; + for (var batchStart = start_0; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd)); + batchStart = batchEnd; + } + return s; +} + +function compareTo_1(thisStr, otherStr){ + if (thisStr == otherStr) { + return 0; + } + return thisStr < otherStr?-1:1; +} + +function compareTo_Ljava_lang_Object__I__devirtual$(this$static, other){ + return isJavaString(this$static)?compareTo_1(this$static, dynamicCastToString(other)):this$static.compareTo(other); +} + +function latin1ToString(bytes, len){ + var chars, i; + chars = initDim(C_classLit, $intern_17, 0, len, 7, 1); + for (i = 0; i < len; ++i) { + chars[i] = bytes[i] & 255 & 65535; + } + return __valueOf(chars, 0, chars.length); +} + +function utf8ToString(bytes, len){ + var b, ch_0, charCount, chars, count, i, i0, outIdx; + charCount = 0; + for (i0 = 0; i0 < len;) { + ++charCount; + ch_0 = bytes[i0]; + if ((ch_0 & 192) == 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + else if ((ch_0 & 128) == 0) { + ++i0; + } + else if ((ch_0 & 224) == 192) { + i0 += 2; + } + else if ((ch_0 & 240) == 224) { + i0 += 3; + } + else if ((ch_0 & 248) == 240) { + i0 += 4; + } + else { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + if (i0 > len) { + throw new IndexOutOfBoundsException_0('Invalid UTF8 sequence'); + } + } + chars = initDim(C_classLit, $intern_17, 0, charCount, 7, 1); + outIdx = 0; + count = 0; + for (i = 0; i < len;) { + ch_0 = bytes[i++]; + if ((ch_0 & 128) == 0) { + count = 1; + ch_0 &= 127; + } + else if ((ch_0 & 224) == 192) { + count = 2; + ch_0 &= 31; + } + else if ((ch_0 & 240) == 224) { + count = 3; + ch_0 &= 15; + } + else if ((ch_0 & 248) == 240) { + count = 4; + ch_0 &= 7; + } + else if ((ch_0 & 252) == 248) { + count = 5; + ch_0 &= 3; + } + while (--count > 0) { + b = bytes[i++]; + if ((b & 192) != 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence at ' + (i - 1) + ', byte=' + toUnsignedRadixString(b, 16)); + } + ch_0 = ch_0 << 6 | b & 63; + } + outIdx += toChars(ch_0, chars, outIdx); + } + return __valueOf(chars, 0, chars.length); +} + +var Ljava_lang_String_2_classLit = createForClass('java.lang', 'String', 2); +function $clinit_String$HashCache(){ + $clinit_String$HashCache = emptyMethod; + back_0 = {}; + front = {}; +} + +function compute(str){ + var hashCode, i, n, nBatch; + hashCode = 0; + n = str.length; + nBatch = n - 4; + i = 0; + while (i < nBatch) { + hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))); + hashCode = ~~hashCode; + i += 4; + } + while (i < n) { + hashCode = hashCode * 31 + $charAt(str, i++); + } + hashCode = ~~hashCode; + return hashCode; +} + +function getHashCode_0(str){ + $clinit_String$HashCache(); + var key = ':' + str; + var result = front[key]; + if (result != null) { + return result; + } + result = back_0[key]; + result == null && (result = compute(str)); + increment(); + return front[key] = result; +} + +function increment(){ + if (count_0 == 256) { + back_0 = front; + front = {}; + count_0 = 0; + } + ++count_0; +} + +var back_0, count_0 = 0, front; +function $append(this$static, x_0){ + this$static.string += charToString(x_0); + return this$static; +} + +function $append_0(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_1(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_2(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function StringBuilder(){ + AbstractStringBuilder.call(this, ''); +} + +function StringBuilder_0(s){ + AbstractStringBuilder.call(this, s); +} + +defineClass(27, 60, {179:1}, StringBuilder, StringBuilder_0); +var Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang', 'StringBuilder', 27); +function arraycopy(src_0, srcOfs, dest, destOfs, len){ + var destArray, destComp, destEnd, destType, destlen, srcArray, srcComp, srcType, srclen; + checkNotNull_0(src_0, 'src'); + checkNotNull_0(dest, 'dest'); + srcType = getClass__Ljava_lang_Class___devirtual$(src_0); + destType = getClass__Ljava_lang_Class___devirtual$(dest); + checkArrayType((srcType.modifiers & 4) != 0, 'srcType is not an array'); + checkArrayType((destType.modifiers & 4) != 0, 'destType is not an array'); + srcComp = srcType.componentType; + destComp = destType.componentType; + checkArrayType((srcComp.modifiers & 1) != 0?srcComp == destComp:(destComp.modifiers & 1) == 0, "Array types don't match"); + srclen = src_0.length; + destlen = dest.length; + if (srcOfs < 0 || destOfs < 0 || len < 0 || srcOfs + len > srclen || destOfs + len > destlen) { + throw new IndexOutOfBoundsException; + } + if (((srcComp.modifiers & 1) == 0 || (srcComp.modifiers & 4) != 0) && srcType != destType) { + srcArray = dynamicCast(src_0, 5); + destArray = dynamicCast(dest, 5); + if (maskUndefined(src_0) === maskUndefined(dest) && srcOfs < destOfs) { + srcOfs += len; + for (destEnd = destOfs + len; destEnd-- > destOfs;) { + setCheck(destArray, destEnd, srcArray[--srcOfs]); + } + } + else { + for (destEnd = destOfs + len; destOfs < destEnd;) { + setCheck(destArray, destOfs++, srcArray[srcOfs++]); + } + } + } + else + len > 0 && nativeArraySplice(src_0, srcOfs, dest, destOfs, len, true); +} + +function UnsupportedOperationException(message){ + RuntimeException_0.call(this, message); +} + +defineClass(72, 15, $intern_4, UnsupportedOperationException); +var Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang', 'UnsupportedOperationException', 72); +function $advanceToFind(this$static, o){ + var e, iter; + for (iter = this$static.iterator(); iter.hasNext();) { + e = iter.next(); + if (maskUndefined(o) === maskUndefined(e) || o != null && equals_Ljava_lang_Object__Z__devirtual$(o, e)) { + return true; + } + } + return false; +} + +function $containsAll(this$static, c){ + var e, e$iterator; + checkNotNull(c); + for (e$iterator = c.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + if (!this$static.contains_0(e)) { + return false; + } + } + return true; +} + +function $toString_0(this$static){ + var comma, e, e$iterator, sb; + sb = new StringBuilder_0('['); + comma = false; + for (e$iterator = this$static.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + comma?(sb.string += ', ' , sb):(comma = true); + sb.string += e === this$static?'(this Collection)':'' + e; + } + sb.string += ']'; + return sb.string; +} + +defineClass(169, 1, {}); +_.contains_0 = function contains(o){ + return $advanceToFind(this, o); +} +; +_.toString$ = function toString_15(){ + return $toString_0(this); +} +; +var Ljava_util_AbstractCollection_2_classLit = createForClass('java.util', 'AbstractCollection', 169); +function $containsEntry(this$static, entry){ + var key, ourValue, value_0; + key = entry.getKey(); + value_0 = entry.getValue(); + ourValue = this$static.get_0(key); + if (!(maskUndefined(value_0) === maskUndefined(ourValue) || value_0 != null && equals_Ljava_lang_Object__Z__devirtual$(value_0, ourValue))) { + return false; + } + if (ourValue == null && !this$static.containsKey(key)) { + return false; + } + return true; +} + +function $implFindEntry(this$static, key){ + var entry, iter, k; + for (iter = this$static.entrySet().iterator(); iter.hasNext();) { + entry = dynamicCast(iter.next(), 17); + k = entry.getKey(); + if (maskUndefined(key) === maskUndefined(k) || key != null && equals_Ljava_lang_Object__Z__devirtual$(key, k)) { + return entry; + } + } + return null; +} + +function $toString_1(this$static, o){ + return o === this$static?'(this Map)':'' + o; +} + +function getEntryValueOrNull(entry){ + return !entry?null:entry.getValue(); +} + +defineClass(168, 1, {58:1}); +_.containsKey = function containsKey(key){ + return !!$implFindEntry(this, key); +} +; +_.equals$ = function equals_5(obj){ + var entry, entry$iterator, otherMap; + if (obj === this) { + return true; + } + if (!instanceOf(obj, 58)) { + return false; + } + otherMap = dynamicCast(obj, 58); + if (this.size_1() != otherMap.size_1()) { + return false; + } + for (entry$iterator = otherMap.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + if (!$containsEntry(this, entry)) { + return false; + } + } + return true; +} +; +_.get_0 = function get_0(key){ + return getEntryValueOrNull($implFindEntry(this, key)); +} +; +_.hashCode$ = function hashCode_6(){ + return hashCode_12(this.entrySet()); +} +; +_.size_1 = function size_1(){ + return this.entrySet().size_1(); +} +; +_.toString$ = function toString_16(){ + var comma, entry, entry$iterator, sb; + sb = new StringBuilder_0('{'); + comma = false; + for (entry$iterator = this.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + comma?(sb.string += ', ' , sb):(comma = true); + $append_2(sb, $toString_1(this, entry.getKey())); + sb.string += '='; + $append_2(sb, $toString_1(this, entry.getValue())); + } + sb.string += '}'; + return sb.string; +} +; +var Ljava_util_AbstractMap_2_classLit = createForClass('java.util', 'AbstractMap', 168); +function $containsKey(this$static, key){ + return isJavaString(key)?key == null?!!$getEntry(this$static.hashCodeMap, null):!(this$static.stringMap.get_2(key) === undefined):!!$getEntry(this$static.hashCodeMap, key); +} + +function $elementAdded(this$static){ + ++this$static.size_0; + structureChanged(this$static); +} + +function $elementRemoved(this$static){ + --this$static.size_0; + structureChanged(this$static); +} + +function $get_0(this$static, key){ + return isJavaString(key)?key == null?getEntryValueOrNull($getEntry(this$static.hashCodeMap, null)):this$static.stringMap.get_2(key):getEntryValueOrNull($getEntry(this$static.hashCodeMap, key)); +} + +function $put(this$static, key, value_0){ + return isJavaString(key)?$putStringValue(this$static, key, value_0):$put_2(this$static.hashCodeMap, key, value_0); +} + +function $putStringValue(this$static, key, value_0){ + return key == null?$put_2(this$static.hashCodeMap, null, value_0):this$static.stringMap.put(key, value_0); +} + +function $remove_2(this$static, key){ + return $remove_5(this$static.hashCodeMap, key); +} + +defineClass(84, 168, {58:1}); +_.containsKey = function containsKey_0(key){ + return $containsKey(this, key); +} +; +_.entrySet = function entrySet(){ + return new AbstractHashMap$EntrySet(this); +} +; +_.get_0 = function get_1(key){ + return $get_0(this, key); +} +; +_.size_1 = function size_2(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util', 'AbstractHashMap', 84); +defineClass(170, 169, $intern_22); +_.equals$ = function equals_6(o){ + var other; + if (o === this) { + return true; + } + if (!instanceOf(o, 40)) { + return false; + } + other = dynamicCast(o, 40); + if (other.size_1() != this.size_1()) { + return false; + } + return $containsAll(this, other); +} +; +_.hashCode$ = function hashCode_7(){ + return hashCode_12(this); +} +; +var Ljava_util_AbstractSet_2_classLit = createForClass('java.util', 'AbstractSet', 170); +function $contains(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function AbstractHashMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(68, 170, $intern_22, AbstractHashMap$EntrySet); +_.contains_0 = function contains_0(o){ + return $contains(this, o); +} +; +_.iterator = function iterator_2(){ + return new AbstractHashMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_3(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySet', 68); +function $hasNext(this$static){ + if (this$static.current.hasNext()) { + return true; + } + if (this$static.current != this$static.stringMapEntries) { + return false; + } + this$static.current = this$static.this$01.hashCodeMap.entries(); + return this$static.current.hasNext(); +} + +function $next_0(this$static){ + return checkStructuralChange(this$static.this$01, this$static) , checkCriticalElement($hasNext(this$static)) , dynamicCast(this$static.current.next(), 17); +} + +function AbstractHashMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.stringMapEntries = this.this$01.stringMap.entries(); + this.current = this.stringMapEntries; + setModCount(this, this$0._gwt_modCount); +} + +defineClass(69, 1, {}, AbstractHashMap$EntrySetIterator); +_.hasNext = function hasNext_0(){ + return $hasNext(this); +} +; +_.next = function next_0(){ + return $next_0(this); +} +; +var Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySetIterator', 69); +function $clear(this$static){ + $removeRange(this$static, this$static.size_0); +} + +function $removeRange(this$static, endIndex){ + var i, iter; + iter = new AbstractList$ListIteratorImpl(this$static); + for (i = 0; i < endIndex; ++i) { + checkCriticalElement(iter.i < iter.this$01.size_1()); + iter.this$01.get_1(iter.last = iter.i++); + checkState(iter.last != -1); + iter.this$01.remove(iter.last); + iter.i = iter.last; + iter.last = -1; + } +} + +defineClass(171, 169, {52:1}); +_.equals$ = function equals_7(o){ + var elem, elem$iterator, elemOther, iterOther, other; + if (o === this) { + return true; + } + if (!instanceOf(o, 52)) { + return false; + } + other = dynamicCast(o, 52); + if (this.size_1() != other.size_1()) { + return false; + } + iterOther = other.iterator(); + for (elem$iterator = new AbstractList$IteratorImpl(this); elem$iterator.i < elem$iterator.this$01.size_1();) { + elem = (checkCriticalElement(elem$iterator.i < elem$iterator.this$01.size_1()) , elem$iterator.this$01.get_1(elem$iterator.last = elem$iterator.i++)); + elemOther = (checkCriticalElement(iterOther.i < iterOther.this$01.size_1()) , iterOther.this$01.get_1(iterOther.last = iterOther.i++)); + if (!(maskUndefined(elem) === maskUndefined(elemOther) || elem != null && equals_Ljava_lang_Object__Z__devirtual$(elem, elemOther))) { + return false; + } + } + return true; +} +; +_.hashCode$ = function hashCode_8(){ + return hashCode_13(this); +} +; +_.iterator = function iterator_3(){ + return new AbstractList$IteratorImpl(this); +} +; +_.remove = function remove(index_0){ + throw new UnsupportedOperationException('Remove not supported on this list'); +} +; +var Ljava_util_AbstractList_2_classLit = createForClass('java.util', 'AbstractList', 171); +function AbstractList$IteratorImpl(this$0){ + this.this$01 = this$0; +} + +defineClass(24, 1, {}, AbstractList$IteratorImpl); +_.hasNext = function hasNext_1(){ + return this.i < this.this$01.size_1(); +} +; +_.next = function next_1(){ + return checkCriticalElement(this.i < this.this$01.size_1()) , this.this$01.get_1(this.last = this.i++); +} +; +_.i = 0; +_.last = -1; +var Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/IteratorImpl', 24); +function AbstractList$ListIteratorImpl(this$0){ + AbstractList$IteratorImpl.call(this, this$0); + checkPositionIndex(this$0.size_0); + this.i = 0; +} + +defineClass(88, 24, {}, AbstractList$ListIteratorImpl); +var Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/ListIteratorImpl', 88); +function AbstractList$SubList(wrapped, toIndex){ + checkCriticalPositionIndexes(toIndex, wrapped.array.length); + this.wrapped = wrapped; + this.fromIndex = 3; + this.size_0 = toIndex - 3; +} + +defineClass(89, 171, {52:1}, AbstractList$SubList); +_.get_1 = function get_2(index_0){ + checkElementIndex(index_0, this.size_0); + return $get_1(this.wrapped, this.fromIndex + index_0); +} +; +_.remove = function remove_0(index_0){ + var result; + checkElementIndex(index_0, this.size_0); + result = this.wrapped.remove(this.fromIndex + index_0); + --this.size_0; + return result; +} +; +_.size_1 = function size_4(){ + return this.size_0; +} +; +_.fromIndex = 0; +_.size_0 = 0; +var Ljava_util_AbstractList$SubList_2_classLit = createForClass('java.util', 'AbstractList/SubList', 89); +function $iterator(this$static){ + var outerIter; + outerIter = new AbstractHashMap$EntrySetIterator((new AbstractHashMap$EntrySet(this$static.this$01)).this$01); + return new AbstractMap$1$1(outerIter); +} + +function AbstractMap$1(this$0){ + this.this$01 = this$0; +} + +defineClass(53, 170, $intern_22, AbstractMap$1); +_.contains_0 = function contains_1(key){ + return $containsKey(this.this$01, key); +} +; +_.iterator = function iterator_4(){ + return $iterator(this); +} +; +_.size_1 = function size_5(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util', 'AbstractMap/1', 53); +function $next_1(this$static){ + var entry; + entry = $next_0(this$static.val$outerIter2); + return entry.getKey(); +} + +function AbstractMap$1$1(val$outerIter){ + this.val$outerIter2 = val$outerIter; +} + +defineClass(87, 1, {}, AbstractMap$1$1); +_.hasNext = function hasNext_2(){ + return $hasNext(this.val$outerIter2); +} +; +_.next = function next_2(){ + return $next_1(this); +} +; +var Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util', 'AbstractMap/1/1', 87); +defineClass(85, 1, $intern_23); +_.equals$ = function equals_8(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.key, entry.getKey()) && equals_11(this.value_0, entry.getValue()); +} +; +_.getKey = function getKey(){ + return this.key; +} +; +_.getValue = function getValue(){ + return this.value_0; +} +; +_.hashCode$ = function hashCode_9(){ + return hashCode_14(this.key) ^ hashCode_14(this.value_0); +} +; +_.setValue = function setValue(value_0){ + var oldValue; + oldValue = this.value_0; + this.value_0 = value_0; + return oldValue; +} +; +_.toString$ = function toString_17(){ + return this.key + '=' + this.value_0; +} +; +var Ljava_util_AbstractMap$AbstractEntry_2_classLit = createForClass('java.util', 'AbstractMap/AbstractEntry', 85); +function AbstractMap$SimpleEntry(key, value_0){ + this.key = key; + this.value_0 = value_0; +} + +defineClass(86, 85, $intern_23, AbstractMap$SimpleEntry); +var Ljava_util_AbstractMap$SimpleEntry_2_classLit = createForClass('java.util', 'AbstractMap/SimpleEntry', 86); +defineClass(172, 1, $intern_23); +_.equals$ = function equals_9(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.getKey(), entry.getKey()) && equals_11(this.getValue(), entry.getValue()); +} +; +_.hashCode$ = function hashCode_10(){ + return hashCode_14(this.getKey()) ^ hashCode_14(this.getValue()); +} +; +_.toString$ = function toString_18(){ + return this.getKey() + '=' + this.getValue(); +} +; +var Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util', 'AbstractMapEntry', 172); +function $$init(this$static){ + this$static.array = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, 0, 3, 1); +} + +function $add_2(this$static, o){ + setCheck(this$static.array, this$static.array.length, o); + return true; +} + +function $get_1(this$static, index_0){ + checkElementIndex(index_0, this$static.array.length); + return this$static.array[index_0]; +} + +function $indexOf_0(this$static, o, index_0){ + for (; index_0 < this$static.array.length; ++index_0) { + if (equals_11(o, this$static.array[index_0])) { + return index_0; + } + } + return -1; +} + +function $remove_3(this$static, index_0){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + splice(this$static.array, index_0, 1); + return previous; +} + +function $set_1(this$static, index_0, o){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + setCheck(this$static.array, index_0, o); + return previous; +} + +function ArrayList(){ + $$init(this); +} + +function ArrayList_0(initialCapacity){ + $$init(this); + checkCriticalArgument_0(initialCapacity >= 0, 'Initial capacity must not be negative'); +} + +function splice(array, index_0, deleteCount){ + array.splice(index_0, deleteCount); +} + +defineClass(42, 171, $intern_24, ArrayList, ArrayList_0); +_.add_0 = function add_0(o){ + return $add_2(this, o); +} +; +_.contains_0 = function contains_2(o){ + return $indexOf_0(this, o, 0) != -1; +} +; +_.get_1 = function get_3(index_0){ + return $get_1(this, index_0); +} +; +_.remove = function remove_1(index_0){ + return $remove_3(this, index_0); +} +; +_.size_1 = function size_6(){ + return this.array.length; +} +; +var Ljava_util_ArrayList_2_classLit = createForClass('java.util', 'ArrayList', 42); +function equals_10(array1, array2){ + var i; + if (maskUndefined(array1) === maskUndefined(array2)) { + return true; + } + if (array1 == null || array2 == null) { + return false; + } + if (array1.length != array2.length) { + return false; + } + for (i = 0; i < array1.length; ++i) { + if (array1[i] != array2[i]) { + return false; + } + } + return true; +} + +function hashCode_11(a){ + var e, e$index, e$max, hashCode; + if (a == null) { + return 0; + } + hashCode = 1; + for (e$index = 0 , e$max = a.length; e$index < e$max; ++e$index) { + e = a[e$index]; + hashCode = 31 * hashCode + e; + hashCode = ~~hashCode; + } + return hashCode; +} + +function insertionSort(array, low, high, comp){ + var i, j, t; + for (i = low + 1; i < high; ++i) { + for (j = i; j > low && comp.compare(array[j - 1], array[j]) > 0; --j) { + t = array[j]; + setCheck(array, j, array[j - 1]); + setCheck(array, j - 1, t); + } + } +} + +function merge(src_0, srcLow, srcMid, srcHigh, dest, destLow, destHigh, comp){ + var topIdx; + topIdx = srcMid; + while (destLow < destHigh) { + topIdx >= srcHigh || srcLow < srcMid && comp.compare(src_0[srcLow], src_0[topIdx]) <= 0?setCheck(dest, destLow++, src_0[srcLow++]):setCheck(dest, destLow++, src_0[topIdx++]); + } +} + +function mergeSort(x_0, fromIndex, toIndex, comp){ + var temp, newLength, length_0, copy; + !comp && (comp = ($clinit_Comparators() , $clinit_Comparators() , NATURAL)); + temp = (newLength = (length_0 = toIndex - fromIndex , checkCriticalArgument_1(length_0 >= 0, initValues(getClassLiteralForArray(Ljava_lang_Object_2_classLit, 1), $intern_2, 1, 3, [valueOf(fromIndex), valueOf(toIndex)])) , length_0) , copy = createFrom(x_0, newLength) , arraycopy(x_0, fromIndex, copy, 0, min_1(x_0.length - fromIndex, newLength)) , copy); + mergeSort_0(temp, x_0, fromIndex, toIndex, -fromIndex, comp); +} + +function mergeSort_0(temp, array, low, high, ofs, comp){ + var length_0, tempHigh, tempLow, tempMid; + length_0 = high - low; + if (length_0 < 7) { + insertionSort(array, low, high, comp); + return; + } + tempLow = low + ofs; + tempHigh = high + ofs; + tempMid = tempLow + (tempHigh - tempLow >> 1); + mergeSort_0(array, temp, tempLow, tempMid, -ofs, comp); + mergeSort_0(array, temp, tempMid, tempHigh, -ofs, comp); + if (comp.compare(temp[tempMid - 1], temp[tempMid]) <= 0) { + while (low < high) { + setCheck(array, low++, temp[tempLow++]); + } + return; + } + merge(temp, tempLow, tempMid, tempHigh, array, low, high, comp); +} + +function hashCode_12(collection){ + var e, e$iterator, hashCode; + hashCode = 0; + for (e$iterator = collection.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + hashCode = hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function hashCode_13(list){ + var e, e$iterator, hashCode; + hashCode = 1; + for (e$iterator = new AbstractList$IteratorImpl(list); e$iterator.i < e$iterator.this$01.size_1();) { + e = (checkCriticalElement(e$iterator.i < e$iterator.this$01.size_1()) , e$iterator.this$01.get_1(e$iterator.last = e$iterator.i++)); + hashCode = 31 * hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function replaceContents(target, x_0){ + var i, size_0; + size_0 = target.array.length; + for (i = 0; i < size_0; i++) { + $set_1(target, i, x_0[i]); + } +} + +function sort_0(target, c){ + var x_0; + x_0 = cloneSubrange(target.array, target.array.length); + mergeSort(x_0, 0, x_0.length, c); + replaceContents(target, x_0); +} + +function $clinit_Comparators(){ + $clinit_Comparators = emptyMethod; + NATURAL = new Comparators$1; +} + +var NATURAL; +function Comparators$1(){ +} + +defineClass(154, 1, {}, Comparators$1); +_.compare = function compare_2(o1, o2){ + checkNotNull(o1); + checkNotNull(o2); + return compareTo_Ljava_lang_Object__I__devirtual$(dynamicCast(o1, 19), o2); +} +; +var Ljava_util_Comparators$1_2_classLit = createForClass('java.util', 'Comparators/1', 154); +function checkStructuralChange(host, iterator){ + if (iterator._gwt_modCount != host._gwt_modCount) { + throw new ConcurrentModificationException; + } +} + +function setModCount(o, modCount){ + o._gwt_modCount = modCount; +} + +function structureChanged(map_0){ + var modCount; + modCount = map_0._gwt_modCount | 0; + setModCount(map_0, modCount + 1); +} + +function ConcurrentModificationException(){ + RuntimeException.call(this); +} + +defineClass(114, 15, $intern_4, ConcurrentModificationException); +var Ljava_util_ConcurrentModificationException_2_classLit = createForClass('java.util', 'ConcurrentModificationException', 114); +function $put_0(this$static, key, value_0){ + $add_3(this$static.keySet, key); + return $set_2(this$static, key.ordinal, value_0); +} + +function $put_1(this$static, key, value_0){ + return $put_0(this$static, dynamicCast(key, 13), value_0); +} + +function $set_2(this$static, ordinal, value_0){ + var was; + was = this$static.values[ordinal]; + setCheck(this$static.values, ordinal, value_0); + return was; +} + +function EnumMap(type_0){ + var all; + this.keySet = (all = dynamicCast(type_0.enumConstantsFunc && type_0.enumConstantsFunc(), 22) , new EnumSet$EnumSetImpl(all, dynamicCast(createFrom(all, all.length), 22))); + this.values = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, this.keySet.all.length, 3, 1); +} + +defineClass(138, 168, {58:1}, EnumMap); +_.containsKey = function containsKey_1(key){ + return $contains_1(this.keySet, key); +} +; +_.entrySet = function entrySet_0(){ + return new EnumMap$EntrySet(this); +} +; +_.get_0 = function get_4(k){ + return $contains_1(this.keySet, k)?this.values[dynamicCast(k, 13).ordinal]:null; +} +; +_.size_1 = function size_7(){ + return this.keySet.size_0; +} +; +var Ljava_util_EnumMap_2_classLit = createForClass('java.util', 'EnumMap', 138); +function $contains_0(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function EnumMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(139, 170, $intern_22, EnumMap$EntrySet); +_.contains_0 = function contains_3(o){ + return $contains_0(this, o); +} +; +_.iterator = function iterator_5(){ + return new EnumMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_8(){ + return this.this$01.keySet.size_0; +} +; +var Ljava_util_EnumMap$EntrySet_2_classLit = createForClass('java.util', 'EnumMap/EntrySet', 139); +function EnumMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.it = new EnumSet$EnumSetImpl$IteratorImpl(this.this$01.keySet); +} + +defineClass(140, 1, {}, EnumMap$EntrySetIterator); +_.hasNext = function hasNext_3(){ + return $hasNext_0(this.it); +} +; +_.next = function next_3(){ + return this.key = $next_2(this.it) , new EnumMap$MapEntry(this.this$01, this.key); +} +; +var Ljava_util_EnumMap$EntrySetIterator_2_classLit = createForClass('java.util', 'EnumMap/EntrySetIterator', 140); +function EnumMap$MapEntry(this$0, key){ + this.this$01 = this$0; + this.key = key; +} + +defineClass(141, 172, $intern_23, EnumMap$MapEntry); +_.getKey = function getKey_0(){ + return this.key; +} +; +_.getValue = function getValue_0(){ + return this.this$01.values[this.key.ordinal]; +} +; +_.setValue = function setValue_0(value_0){ + return $set_2(this.this$01, this.key.ordinal, value_0); +} +; +var Ljava_util_EnumMap$MapEntry_2_classLit = createForClass('java.util', 'EnumMap/MapEntry', 141); +defineClass(178, 170, $intern_22); +var Ljava_util_EnumSet_2_classLit = createForClass('java.util', 'EnumSet', 178); +function $add_3(this$static, e){ + var ordinal; + checkNotNull(e); + ordinal = e.ordinal; + if (!this$static.set_0[ordinal]) { + setCheck(this$static.set_0, ordinal, e); + ++this$static.size_0; + return true; + } + return false; +} + +function $contains_1(this$static, o){ + return instanceOf(o, 13) && $containsEnum(this$static, dynamicCast(o, 13)); +} + +function $containsEnum(this$static, e){ + return !!e && this$static.set_0[e.ordinal] == e; +} + +function EnumSet$EnumSetImpl(all, set_0){ + this.all = all; + this.set_0 = set_0; + this.size_0 = 0; +} + +defineClass(152, 178, $intern_22, EnumSet$EnumSetImpl); +_.contains_0 = function contains_4(o){ + return $contains_1(this, o); +} +; +_.iterator = function iterator_6(){ + return new EnumSet$EnumSetImpl$IteratorImpl(this); +} +; +_.size_1 = function size_9(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_EnumSet$EnumSetImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl', 152); +function $findNext(this$static){ + var c; + ++this$static.i; + for (c = this$static.this$11.all.length; this$static.i < c; ++this$static.i) { + if (this$static.this$11.set_0[this$static.i]) { + return; + } + } +} + +function $hasNext_0(this$static){ + return this$static.i < this$static.this$11.all.length; +} + +function $next_2(this$static){ + return checkCriticalElement(this$static.i < this$static.this$11.all.length) , this$static.last = this$static.i , $findNext(this$static) , this$static.this$11.set_0[this$static.last]; +} + +function EnumSet$EnumSetImpl$IteratorImpl(this$1){ + this.this$11 = this$1; + $findNext(this); +} + +defineClass(79, 1, {}, EnumSet$EnumSetImpl$IteratorImpl); +_.hasNext = function hasNext_4(){ + return $hasNext_0(this); +} +; +_.next = function next_4(){ + return $next_2(this); +} +; +_.i = -1; +_.last = -1; +var Ljava_util_EnumSet$EnumSetImpl$IteratorImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl/IteratorImpl', 79); +function $equals_0(value1, value2){ + return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals_Ljava_lang_Object__Z__devirtual$(value1, value2); +} + +function $getHashCode(key){ + var hashCode; + hashCode = hashCode__I__devirtual$(key); + return ~~hashCode; +} + +function HashMap(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(); + this.hashCodeMap = delegate.createJsHashCodeMap(); + this.hashCodeMap.host = this; + this.stringMap = delegate.createJsStringMap(); + this.stringMap.host = this; + this.size_0 = 0; + structureChanged(this); +} + +defineClass(28, 84, {3:1, 58:1}, HashMap); +var Ljava_util_HashMap_2_classLit = createForClass('java.util', 'HashMap', 28); +function $contains_2(this$static, o){ + return $containsKey(this$static.map_0, o); +} + +function $remove_4(this$static, o){ + return $remove_2(this$static.map_0, o) != null; +} + +function HashSet(){ + this.map_0 = new HashMap; +} + +defineClass(77, 170, {3:1, 40:1}, HashSet); +_.contains_0 = function contains_5(o){ + return $contains_2(this, o); +} +; +_.iterator = function iterator_7(){ + return $iterator(new AbstractMap$1(this.map_0)); +} +; +_.size_1 = function size_10(){ + return this.map_0.size_0; +} +; +_.toString$ = function toString_19(){ + return $toString_0(new AbstractMap$1(this.map_0)); +} +; +var Ljava_util_HashSet_2_classLit = createForClass('java.util', 'HashSet', 77); +function $ensureChain(this$static, hashCode){ + var map_0 = this$static.backingMap; + return map_0[hashCode] || (map_0[hashCode] = []); +} + +function $getChain(this$static, hashCode){ + return this$static.backingMap[hashCode]; +} + +function $getChainOrEmpty(this$static, hashCode){ + return this$static.backingMap[hashCode] || []; +} + +function $getEntry(this$static, key){ + var entry, entry$array, entry$index, entry$max; + for (entry$array = $getChainOrEmpty(this$static, key == null?'0':'' + $getHashCode(key)) , entry$index = 0 , entry$max = entry$array.length; entry$index < entry$max; ++entry$index) { + entry = entry$array[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry; + } + } + return null; +} + +function $keys(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_2(this$static, key, value_0){ + var chain, entry, entry$index, entry$max; + chain = $ensureChain(this$static, key == null?'0':'' + $getHashCode(key)); + for (entry$index = 0 , entry$max = chain.length; entry$index < entry$max; ++entry$index) { + entry = chain[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry.setValue(value_0); + } + } + setCheck(chain, chain.length, new AbstractMap$SimpleEntry(key, value_0)); + $elementAdded(this$static.host); + return null; +} + +function $remove_5(this$static, key){ + var chain, entry, hashCode, i; + hashCode = key == null?'0':'' + $getHashCode(key); + chain = $getChainOrEmpty(this$static, hashCode); + for (i = 0; i < chain.length; i++) { + entry = chain[i]; + if ($equals_0(key, entry.getKey())) { + chain.length == 1?(delete this$static.backingMap[hashCode] , undefined):(chain.splice(i, 1) , undefined); + $elementRemoved(this$static.host); + return entry.getValue(); + } + } + return null; +} + +function InternalJsHashCodeMap(){ + this.backingMap = this.createMap(); +} + +defineClass(74, 1, {}, InternalJsHashCodeMap); +_.createMap = function createMap(){ + return Object.create(null); +} +; +_.entries = function entries(){ + return new InternalJsHashCodeMap$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap', 74); +function $hasNext_1(this$static){ + if (this$static.itemIndex < this$static.chain.length) { + return true; + } + if (this$static.chainIndex < this$static.keys_0.length - 1) { + this$static.chain = $getChain(this$static.this$01, this$static.keys_0[++this$static.chainIndex]); + this$static.itemIndex = 0; + return true; + } + return false; +} + +function InternalJsHashCodeMap$1(this$0){ + this.this$01 = this$0; + this.keys_0 = $keys(this.this$01); + this.chain = initDim(Ljava_util_Map$Entry_2_classLit, $intern_2, 17, 0, 0, 1); +} + +defineClass(100, 1, {}, InternalJsHashCodeMap$1); +_.hasNext = function hasNext_5(){ + return $hasNext_1(this); +} +; +_.next = function next_5(){ + return checkCriticalElement($hasNext_1(this)) , this.lastEntry = this.chain[this.itemIndex++] , this.lastEntry; +} +; +_.chainIndex = -1; +_.itemIndex = 0; +_.lastEntry = null; +var Ljava_util_InternalJsHashCodeMap$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/1', 100); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy(){ + InternalJsHashCodeMap.call(this); +} + +defineClass(98, 74, {}, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy); +_.createMap = function createMap_0(){ + return {}; +} +; +_.entries = function entries_0(){ + var list = this.newEntryList(); + var map_0 = this.backingMap; + for (var hashCode in map_0) { + if (hashCode == parseInt(hashCode, 10)) { + var array = map_0[hashCode]; + for (var i = 0, c = array.length; i < c; ++i) { + list.add_0(array[i]); + } + } + } + return list.iterator(); +} +; +_.newEntryList = function newEntryList(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy', 98); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(99, 42, $intern_24, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1); +_.remove = function remove_2(index_0){ + var removed; + return removed = dynamicCast($remove_3(this, index_0), 17) , $remove_5(this.this$11, removed.getKey()) , removed; +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy/1', 99); +function InternalJsMapFactory(){ +} + +defineClass(95, 1, {}, InternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap(){ + return new InternalJsHashCodeMap; +} +; +_.createJsStringMap = function createJsStringMap(){ + return new InternalJsStringMap; +} +; +var Ljava_util_InternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory', 95); +function $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory = emptyMethod; + delegate = createFactory(); +} + +function canHandleProto(){ + var protoField = '__proto__'; + var map_0 = Object.create(null); + if (map_0[protoField] !== undefined) { + return false; + } + var keys_0 = Object.getOwnPropertyNames(map_0); + if (keys_0.length != 0) { + return false; + } + map_0[protoField] = 42; + if (map_0[protoField] !== 42) { + return false; + } + return true; +} + +function createFactory(){ + var map_0; + if (Object.create && Object.getOwnPropertyNames && canHandleProto()) { + return (map_0 = Object.create(null) , map_0['__proto__'] = 42 , Object.getOwnPropertyNames(map_0).length == 0)?new InternalJsMapFactory$KeysWorkaroundJsMapFactory:new InternalJsMapFactory; + } + return new InternalJsMapFactory$LegacyInternalJsMapFactory; +} + +var delegate; +function InternalJsMapFactory$KeysWorkaroundJsMapFactory(){ +} + +defineClass(97, 95, {}, InternalJsMapFactory$KeysWorkaroundJsMapFactory); +_.createJsStringMap = function createJsStringMap_0(){ + return new InternalJsStringMap$InternalJsStringMapWithKeysWorkaround; +} +; +var Ljava_util_InternalJsMapFactory$KeysWorkaroundJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/KeysWorkaroundJsMapFactory', 97); +function InternalJsMapFactory$LegacyInternalJsMapFactory(){ +} + +defineClass(96, 95, {}, InternalJsMapFactory$LegacyInternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap_0(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy; +} +; +_.createJsStringMap = function createJsStringMap_1(){ + return new InternalJsStringMap$InternalJsStringMapLegacy; +} +; +var Ljava_util_InternalJsMapFactory$LegacyInternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/LegacyInternalJsMapFactory', 96); +function $keys_0(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_3(this$static, key, value_0){ + var oldValue; + oldValue = this$static.backingMap[key]; + oldValue === undefined && $elementAdded(this$static.host); + $set_3(this$static, key, value_0 === undefined?null:value_0); + return oldValue; +} + +function $remove_6(this$static, key){ + var value_0; + value_0 = this$static.backingMap[key]; + if (!(value_0 === undefined)) { + delete this$static.backingMap[key]; + $elementRemoved(this$static.host); + } + return value_0; +} + +function $set_3(this$static, key, value_0){ + this$static.backingMap[key] = value_0; +} + +function InternalJsStringMap(){ + this.backingMap = this.createMap_0(); +} + +defineClass(61, 1, {}, InternalJsStringMap); +_.createMap_0 = function createMap_1(){ + return Object.create(null); +} +; +_.entries = function entries_1(){ + var keys_0; + keys_0 = this.keys_1(); + return new InternalJsStringMap$1(this, keys_0); +} +; +_.get_2 = function get_5(key){ + return this.backingMap[key]; +} +; +_.keys_1 = function keys_1(){ + return $keys_0(this); +} +; +_.newMapEntry = function newMapEntry(key){ + return new InternalJsStringMap$2(this, key); +} +; +_.put = function put(key, value_0){ + return $put_3(this, key, value_0); +} +; +var Ljava_util_InternalJsStringMap_2_classLit = createForClass('java.util', 'InternalJsStringMap', 61); +function InternalJsStringMap$1(this$0, val$keys){ + this.this$01 = this$0; + this.val$keys2 = val$keys; +} + +defineClass(93, 1, {}, InternalJsStringMap$1); +_.hasNext = function hasNext_6(){ + return this.i < this.val$keys2.length; +} +; +_.next = function next_6(){ + return checkCriticalElement(this.i < this.val$keys2.length) , new InternalJsStringMap$2(this.this$01, this.val$keys2[this.i++]); +} +; +_.i = 0; +var Ljava_util_InternalJsStringMap$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/1', 93); +function InternalJsStringMap$2(this$0, val$key){ + this.this$01 = this$0; + this.val$key2 = val$key; +} + +defineClass(73, 172, $intern_23, InternalJsStringMap$2); +_.getKey = function getKey_1(){ + return this.val$key2; +} +; +_.getValue = function getValue_1(){ + return this.this$01.get_2(this.val$key2); +} +; +_.setValue = function setValue_1(object){ + return this.this$01.put(this.val$key2, object); +} +; +var Ljava_util_InternalJsStringMap$2_2_classLit = createForClass('java.util', 'InternalJsStringMap/2', 73); +function InternalJsStringMap$InternalJsStringMapLegacy(){ + InternalJsStringMap.call(this); +} + +defineClass(90, 61, {}, InternalJsStringMap$InternalJsStringMapLegacy); +_.createMap_0 = function createMap_2(){ + return {}; +} +; +_.entries = function entries_2(){ + var list = this.newEntryList_0(); + for (var key in this.backingMap) { + if (key.charCodeAt(0) == 58) { + var entry = this.newMapEntry(key.substring(1)); + list.add_0(entry); + } + } + return list.iterator(); +} +; +_.get_2 = function get_6(key){ + return this.backingMap[':' + key]; +} +; +_.newEntryList_0 = function newEntryList_0(){ + return new InternalJsStringMap$InternalJsStringMapLegacy$1(this); +} +; +_.put = function put_0(key, value_0){ + return $put_3(this, ':' + key, value_0); +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy', 90); +function InternalJsStringMap$InternalJsStringMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(92, 42, $intern_24, InternalJsStringMap$InternalJsStringMapLegacy$1); +_.remove = function remove_3(index_0){ + var removed; + return removed = dynamicCast($remove_3(this, index_0), 17) , $remove_6(this.this$11, ':' + dynamicCastToString(removed.getKey())) , removed; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy/1', 92); +function InternalJsStringMap$InternalJsStringMapWithKeysWorkaround(){ + InternalJsStringMap.call(this); +} + +defineClass(91, 61, {}, InternalJsStringMap$InternalJsStringMapWithKeysWorkaround); +_.keys_1 = function keys_2(){ + var keys_0; + keys_0 = $keys_0(this); + !(this.backingMap['__proto__'] === undefined) && (keys_0[keys_0.length] = '__proto__'); + return keys_0; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapWithKeysWorkaround_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapWithKeysWorkaround', 91); +var Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'); +function NoSuchElementException(){ + RuntimeException.call(this); +} + +defineClass(62, 15, $intern_4, NoSuchElementException); +var Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util', 'NoSuchElementException', 62); +function equals_11(a, b){ + return maskUndefined(a) === maskUndefined(b) || a != null && equals_Ljava_lang_Object__Z__devirtual$(a, b); +} + +function hashCode_14(o){ + return o != null?hashCode__I__devirtual$(o):0; +} + +var Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'); +function $execute(this$static, a0){ + $invoke_execute(this$static.jso, a0); +} + +function $export(this$static){ + if (!exported) { + exported = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_AsyncQRCallback_2_classLit, this$static); + $export0(this$static); + } +} + +function $export0(this$static){ + var pkg = declarePackage('AsyncQRCallback'); + var __0, __ = this$static; + $wnd.AsyncQRCallback = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0]) && (g = a[0]); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.AsyncQRCallback.prototype = new Object; + __0.execute = $entry(function(a0){ + this.g.execute_1(a0); + } + ); + if (pkg) + for (p in pkg) + $wnd.AsyncQRCallback[p] === undefined && ($wnd.AsyncQRCallback[p] = pkg[p]); +} + +function $invoke_execute(closure, a0){ + closure.apply(null, [a0]); +} + +function AsyncQRCallback_ExporterImpl(){ + $export(this); +} + +function AsyncQRCallback_ExporterImpl_0(jso){ + $export(this); + this.jso = jso; +} + +defineClass(47, 1, {180:1, 47:1}, AsyncQRCallback_ExporterImpl, AsyncQRCallback_ExporterImpl_0); +_.equals$ = function equals_12(obj){ + return obj != null && instanceOf(obj, 47) && this.jso == dynamicCast(obj, 47).jso; +} +; +_.execute_1 = function execute_1(a0){ + $execute(this, a0); +} +; +_.isAssignable = function isAssignable(o){ + return o != null && instanceOf(o, 180); +} +; +var exported = false; +var Ljb_client_AsyncQRCallback_1ExporterImpl_2_classLit = createForClass('jb.client', 'AsyncQRCallback_ExporterImpl', 47); +function $appendTo(this$static, htmlElement){ + addTo(htmlElement, ($clinit_DOM() , this$static.element)); + $onAttach_1(this$static); +} + +function $removeFrom(this$static, htmlElement){ + removeFrom(htmlElement, ($clinit_DOM() , this$static.element)); + $onDetach(this$static); + $stopWebcam(this$static); +} + +function JSScannerWidget(onSuccess, provideVideoStream){ + ScannerWidget.call(this, new ScannerCallback(onSuccess), provideVideoStream); +} + +function addTo(htmlElement, scannerElement){ + htmlElement.appendChild(scannerElement); +} + +function removeFrom(htmlElement, scannerElement){ + htmlElement.removeChild(scannerElement); +} + +defineClass(105, 104, $intern_1, JSScannerWidget); +var Ljb_client_JSScannerWidget_2_classLit = createForClass('jb.client', 'JSScannerWidget', 105); +function JsQRScanner(onSuccess){ + JsQRScanner_0.call(this, onSuccess, null); +} + +function JsQRScanner_0(onSuccess, provideVideoStream){ + this.scanner = new JSScannerWidget(onSuccess, provideVideoStream); +} + +defineClass(48, 1, {48:1}, JsQRScanner, JsQRScanner_0); +_.appendTo_0 = function appendTo(htmlElement){ + $appendTo(this.scanner, htmlElement); +} +; +_.getScanInterval_0 = function getScanInterval(){ + return this.scanner.scanInterval; +} +; +_.getSnapImageMaxSize_0 = function getSnapImageMaxSize(){ + return this.scanner.snapImageMaxSize; +} +; +_.isActive_0 = function isActive(){ + return this.scanner.active; +} +; +_.isScanning_0 = function isScanning(){ + return $isScanning(this.scanner); +} +; +_.removeFrom_0 = function removeFrom_0(htmlElement){ + $removeFrom(this.scanner, htmlElement); +} +; +_.resumeScanning_0 = function resumeScanning(){ + $resumeScanning(this.scanner); +} +; +_.setScanInterval_0 = function setScanInterval(scanInterval){ + $setScanInterval(this.scanner, scanInterval); +} +; +_.setSnapImageMaxSize_0 = function setSnapImageMaxSize(snapImageMaxSize){ + $setSnapImageMaxSize(this.scanner, snapImageMaxSize); +} +; +_.stopScanning_0 = function stopScanning(){ + this.scanner.active = false; +} +; +var Ljb_client_JsQRScanner_2_classLit = createForClass('jb.client', 'JsQRScanner', 48); +function $export_0(this$static){ + if (!exported_0) { + exported_0 = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_JsQRScanner_2_classLit, this$static); + $export0_0(this$static); + } +} + +function $export0_0(this$static){ + var pkg = declarePackage('JsQRScanner'); + var __0, __ = this$static; + $wnd.JsQRScanner = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0])?(g = a[0]):a.length == 2?(g = ___create_0(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]), a[1])):a.length == 1 && (g = ___create(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]))); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.JsQRScanner.prototype = new Object; + __0.appendTo = $entry(function(a0){ + this.g.appendTo_0(a0); + } + ); + __0.getScanInterval = $entry(function(){ + return this.g.getScanInterval_0(); + } + ); + __0.getSnapImageMaxSize = $entry(function(){ + return this.g.getSnapImageMaxSize_0(); + } + ); + __0.isActive = $entry(function(){ + return this.g.isActive_0(); + } + ); + __0.isScanning = $entry(function(){ + return this.g.isScanning_0(); + } + ); + __0.removeFrom = $entry(function(a0){ + this.g.removeFrom_0(a0); + } + ); + __0.resumeScanning = $entry(function(){ + this.g.resumeScanning_0(); + } + ); + __0.setScanInterval = $entry(function(a0){ + this.g.setScanInterval_0(a0); + } + ); + __0.setSnapImageMaxSize = $entry(function(a0){ + this.g.setSnapImageMaxSize_0(a0); + } + ); + __0.stopScanning = $entry(function(){ + this.g.stopScanning_0(); + } + ); + if (pkg) + for (p in pkg) + $wnd.JsQRScanner[p] === undefined && ($wnd.JsQRScanner[p] = pkg[p]); +} + +function JsQRScanner_ExporterImpl(){ + $export_0(this); +} + +function ___create(a0){ + return new JsQRScanner(a0); +} + +function ___create_0(a0, a1){ + return new JsQRScanner_0(a0, a1); +} + +defineClass(102, 1, {}, JsQRScanner_ExporterImpl); +_.isAssignable = function isAssignable_0(o){ + return o != null && instanceOf(o, 48); +} +; +var exported_0 = false; +var Ljb_client_JsQRScanner_1ExporterImpl_2_classLit = createForClass('jb.client', 'JsQRScanner_ExporterImpl', 102); +function $onSuccess(this$static, result){ + $execute(this$static.qrCallback, result.text_0); +} + +function ScannerCallback(qrCallback){ + this.qrCallback = qrCallback; +} + +defineClass(106, 1, {}, ScannerCallback); +var Ljb_client_ScannerCallback_2_classLit = createForClass('jb.client', 'ScannerCallback', 106); +defineClass(173, 1, {}); +var Lorg_timepedia_exporter_client_ExporterBaseImpl_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseImpl', 173); +function $addExporter(this$static, c, o){ + $put(this$static.exporterMap, c, o); +} + +function $declarePackage(qualifiedExportName){ + var i, l, o, prefix, superPackages; + superPackages = $split(qualifiedExportName, '\\.', 0); + prefix = $wnd; + i = 0; + for (l = superPackages.length - 1; i < l; i++) { + if (!$equals(superPackages[i], 'client')) { + prefix[superPackages[i]] || (prefix[superPackages[i]] = {}); + prefix = getProp(prefix, superPackages[i]); + } + } + o = getProp(prefix, superPackages[i]); + return o; +} + +function ExporterBaseActual(){ + this.exporterMap = new HashMap; + new HashMap; + new HashMap; +} + +function getProp(jso, key){ + return jso != null?jso[key]:null; +} + +defineClass(94, 173, {}, ExporterBaseActual); +var Lorg_timepedia_exporter_client_ExporterBaseActual_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseActual', 94); +function $clinit_ExporterUtil(){ + $clinit_ExporterUtil = emptyMethod; + impl = new ExporterBaseActual; +} + +function declarePackage(qualifiedExportName){ + $clinit_ExporterUtil(); + return $declarePackage(qualifiedExportName); +} + +function setWrapper(instance, wrapper){ + $clinit_ExporterUtil(); + instance['__gwtex_wrap'] = wrapper; +} + +var impl; +var I_classLit = createForPrimitive('int', 'I'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang', 'StackTraceElement', null), Lcom_google_gwt_lang_CollapsedPropertyHolder_2_classLit = createForClass('com.google.gwt.lang', 'CollapsedPropertyHolder', 157), Lcom_google_gwt_lang_JavaClassHierarchySetupUtil_2_classLit = createForClass('com.google.gwt.lang', 'JavaClassHierarchySetupUtil', 159), Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass('com.google.gwt.lang', 'LongLibBase/LongEmul', null), Lcom_google_gwt_lang_ModuleUtils_2_classLit = createForClass('com.google.gwt.lang', 'ModuleUtils', 162), B_classLit = createForPrimitive('byte', 'B'), D_classLit = createForPrimitive('double', 'D'), F_classLit = createForPrimitive('float', 'F'), C_classLit = createForPrimitive('char', 'C'), Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'), Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'), Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var $entry = registerEntry(); +var gwtOnLoad = gwtOnLoad = gwtOnLoad_0; +addInitFunctions(init); +setGwtProperty('permProps', [[['locale', 'default'], ['user.agent', 'safari']]]); +$sendStats('moduleStartup', 'moduleEvalEnd'); +gwtOnLoad(__gwtModuleFunction.__errFn, __gwtModuleFunction.__moduleName, __gwtModuleFunction.__moduleBase, __gwtModuleFunction.__softPermutationId,__gwtModuleFunction.__computePropValue); +$sendStats('moduleStartup', 'end'); +$gwt && $gwt.permProps && __gwtModuleFunction.__moduleStartupDone($gwt.permProps); +//# sourceURL=jsqrscanner-0.js + diff --git a/flutter_barcode_reader_web/assets/85EFE2E37A204EA7850A307AF743069B.cache.js b/flutter_barcode_reader_web/assets/85EFE2E37A204EA7850A307AF743069B.cache.js deleted file mode 100644 index e2f42c14..00000000 --- a/flutter_barcode_reader_web/assets/85EFE2E37A204EA7850A307AF743069B.cache.js +++ /dev/null @@ -1,4 +0,0 @@ -jsqrscanner.onScriptDownloaded(["var $wnd = $wnd || window.parent;var __gwtModuleFunction = $wnd.jsqrscanner;var $sendStats = __gwtModuleFunction.__sendStats;$sendStats('moduleStartup', 'moduleEvalStart');var $gwt_version = \"2.7.0\";var $strongName = '85EFE2E37A204EA7850A307AF743069B';var $gwt = {};var $doc = $wnd.document;var $moduleName, $moduleBase;function __gwtStartLoadingFragment(frag) {var fragFile = 'deferredjs/' + $strongName + '/' + frag + '.cache.js';return __gwtModuleFunction.__startLoadingFragment(fragFile);}function __gwtInstallCode(code) {return __gwtModuleFunction.__installRunAsyncCode(code);}function __gwt_isKnownPropertyValue(propName, propValue) {return __gwtModuleFunction.__gwt_isKnownPropertyValue(propName, propValue);}function __gwt_getMetaProperty(name) {return __gwtModuleFunction.__gwt_getMetaProperty(name);}var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent && $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;function H(){}\nfunction xg(){}\nfunction tg(){}\nfunction kb(){}\nfunction $b(){}\nfunction fc(){}\nfunction Dc(){}\nfunction fh(){}\nfunction Xh(){}\nfunction Zh(){}\nfunction lr(){}\nfunction As(){}\nfunction Hs(){}\nfunction Js(){}\nfunction jc(){hc()}\nfunction Gh(a){ih()}\nfunction vb(){this.C()}\nfunction li(a){this.c=a}\nfunction si(a){this.a=a}\nfunction Wk(a){this.a=a}\nfunction $m(a){this.a=a}\nfunction rn(a){this.a=a}\nfunction un(a){this.a=a}\nfunction Qn(a){this.a=a}\nfunction Sn(a){this.a=a}\nfunction Go(a){this.a=a}\nfunction Zp(a){this.a=a}\nfunction vj(a){this.c=a}\nfunction mq(a){this.c=a}\nfunction vq(a){this.a=a}\nfunction Aq(a){this.a=a}\nfunction Ar(a){this.a=a}\nfunction Yt(a){this.a=a}\nfunction ut(){rt(this)}\nfunction Tt(){Rt(this)}\nfunction Tq(){Nq(this)}\nfunction gq(a){hq(a,a.b)}\nfunction P(a,b){a.t=b}\nfunction dk(a,b){a.c=b}\nfunction Hn(a,b){a.f=b}\nfunction In(a,b){a.j=b}\nfunction lb(c,a,b){c[a]=b}\nfunction qt(a,b){tt(a.a,b)}\nfunction Vg(){return Pb}\nfunction ih(){ih=tg;Ch()}\nfunction Hh(a){ih();return}\nfunction Bm(){this.a=true}\nfunction Zk(){this.a=new Wl}\nfunction Ai(){wi.call(this)}\nfunction Di(){wi.call(this)}\nfunction Hi(){wi.call(this)}\nfunction xb(){vb.call(this)}\nfunction Un(){xb.call(this)}\nfunction Vn(){xb.call(this)}\nfunction so(){xb.call(this)}\nfunction zo(){xb.call(this)}\nfunction Bo(){xb.call(this)}\nfunction Do(){xb.call(this)}\nfunction To(){xb.call(this)}\nfunction qr(){xb.call(this)}\nfunction us(){ns.call(this)}\nfunction ct(){Qs.call(this)}\nfunction kt(){Qs.call(this)}\nfunction mt(){xb.call(this)}\nfunction zc(b,a){b.width=a}\nfunction yc(b,a){b.height=a}\nfunction Ps(c,a,b){c.a[a]=b}\nfunction Xt(a,b){qt(a.a,b.b)}\nfunction di(a,b){fi(a,b,a.b)}\nfunction Eh(a,b){vh();Fh(a,b)}\nfunction Mp(a){++a.b;pr(a)}\nfunction Np(a){--a.b;pr(a)}\nfunction Es(){Es=tg;Ds=Gs()}\nfunction Bb(){Bb=tg;Ab=new H}\nfunction Xb(){Xb=tg;Wb=new $b}\nfunction kr(){kr=tg;jr=new lr}\nfunction cu(){cu=tg;bu=new _t}\nfunction bs(){this.a=new $r}\nfunction bh(a){return ih(),a.t}\nfunction eb(a){return ih(),a.t}\nfunction Zg(a){return ih(),a.t}\nfunction Cn(a){return a.a&&a.q}\nfunction Ek(a,b){return a.a[b]}\nfunction Wo(a,b){return a===b}\nfunction zb(a){rb.call(this,a)}\nfunction yb(a){wb.call(this,a)}\nfunction Xk(a){wb.call(this,a)}\nfunction Rn(a){wb.call(this,a)}\nfunction Wn(a){yb.call(this,a)}\nfunction Ao(a){yb.call(this,a)}\nfunction Co(a){yb.call(this,a)}\nfunction Eo(a){yb.call(this,a)}\nfunction Uo(a){yb.call(this,a)}\nfunction vp(a){yb.call(this,a)}\nfunction pi(a){rb.call(this,a)}\nfunction tp(a){Sn.call(this,a)}\nfunction sp(){Sn.call(this,'')}\nfunction ns(){this.a=this.gb()}\nfunction Qs(){this.a=this.lb()}\nfunction ib(a){P(this,(ih(),a))}\nfunction dh(a){P(this,(ih(),a))}\nfunction Ic(a,b){return io(a,b)}\nfunction So(a,b){return a>24}\nfunction Ut(a){return new Et(a)}\nfunction $n(a){Zn(a);return a.n}\nfunction dc(a,b){cc();bc.G(a,b)}\nfunction Zt(a,b,c){Pp(a.a,b,c)}\nfunction pj(a){qj.call(this,a,a)}\nfunction wi(){vi();vb.call(this)}\nfunction wb(a){this.e=a;this.C()}\nfunction rb(a){this.e=a;this.C()}\nfunction Vr(a){this.c=a;Sr(this)}\nfunction vt(a){rt(this);this.a=a}\nfunction _g(a){(ih(),a.t).src=''}\nfunction gb(a,b){yc((ih(),a.t),b)}\nfunction hb(a,b){zc((ih(),a.t),b)}\nfunction xh(a,b){a.__listener=b}\nfunction pp(a,b){a.a+=b;return a}\nfunction qp(a,b){a.a+=b;return a}\nfunction rp(a,b){a.a+=b;return a}\nfunction du(a){cu();return $t(a)}\nfunction Rp(a,b){return ms(a.a,b)}\nfunction _r(a,b){return Lp(a.a,b)}\nfunction Mg(a){return a.l|a.m<<22}\nfunction Ro(a){return a<=0?0-a:a}\nfunction $c(a){return Zc(a)&&Xg(a)}\nfunction Tg(){Rg==null&&(Rg=[])}\nfunction kp(){kp=tg;hp={};jp={}}\nfunction Vb(){Jb!=0&&(Jb=0);Mb=-1}\nfunction $q(a,b,c){a.splice(b,c)}\nfunction Ct(a,b){a.appendChild(b)}\nfunction Dt(a,b){a.removeChild(b)}\nfunction cj(a,b){Ni.call(this,a,b)}\nfunction rl(a,b){Ni.call(this,a,b)}\nfunction bm(a,b){Ni.call(this,a,b)}\nfunction Lm(a,b){this.a=a;this.b=b}\nfunction hk(a,b){this.a=a;this.b=b}\nfunction Jq(a,b){this.a=a;this.b=b}\nfunction $s(a,b){this.a=a;this.b=b}\nfunction Xs(a,b){this.b=a;this.c=b}\nfunction fl(a,b){this.b=a;this.a=b}\nfunction Mm(a,b){this.b=a;this.a=b}\nfunction Hr(a,b){this.b=a;this.a=b}\nfunction Ni(a,b){this.c=a;this.d=b}\nfunction ej(a,b){this.c=a;this.d=b}\nfunction or(a,b){a._gwt_modCount=b}\nfunction tt(a,b){a.apply(null,[b])}\nfunction En(a,b){Xt(a.b,new Ji(b))}\nfunction _h(a,b){Ph(a,b,(ih(),a.t))}\nfunction vh(){if(!th){Dh();th=true}}\nfunction lc(a){if(!a){throw new zo}}\nfunction uc(a){if(!a){throw new Bo}}\nfunction oc(a){if(!a){throw new mt}}\nfunction xo(a){vo();return isNaN(a)}\nfunction Fo(a,b){return Io(a.a,b.a)}\nfunction Vt(a,b){return new Ft(a,b)}\nfunction Ft(a,b){this.a=new Bt(a,b)}\nfunction Ki(a){this.b=a;this.a=null}\nfunction Et(a){Ft.call(this,a,null)}\nfunction Ub(a){$wnd.clearTimeout(a)}\nfunction ph(a){$wnd.clearTimeout(a)}\nfunction oh(a){$wnd.clearInterval(a)}\nfunction ot(a){return a!=null?N(a):0}\nfunction ad(a){return a==null?null:a}\nfunction Hp(a){return !a?null:a.db()}\nfunction Wc(a){return !Zc(a)&&Xg(a)}\nfunction Zc(a){return Array.isArray(a)}\nfunction Tr(a){return a.ab?1:0}\nfunction zg(a,b,c){return {l:a,m:b,h:c}}\nfunction Ag(a){return a.l+a.m*vu+a.h*wu}\nfunction Sb(a){return a.$H||(a.$H=++Kb)}\nfunction bi(){bi=tg;new $r;ai=new bs}\nfunction Uh(){Uh=tg;Sh=new Xh;Th=new Zh}\nfunction Wl(){this.a=new Wk((Ck(),Bk))}\nfunction ys(a){this.a=a;Tq.call(this)}\nfunction it(a){this.a=a;Tq.call(this)}\nfunction ii(){this.a=Jc(Qd,nu,20,4,0,1)}\nfunction Nq(a){a.b=Jc(hf,nu,1,0,3,1)}\nfunction ap(a){return Jc(mf,nu,2,a,4,1)}\nfunction as(a,b){return Rp(a.a,b)!=null}\nfunction bp(a,b,c){return a.substr(b,c)}\nfunction Xc(a,b){return a!=null&&Rc(a,b)}\nfunction wc(b,a){return b.appendChild(a)}\nfunction xc(b,a){return b.removeChild(a)}\nfunction Vo(b,a){return b.charCodeAt(a)}\nfunction Nr(a,b){return !!b&&a.b[b.d]==b}\nfunction zt(a,b){Ct(b,(ih(),a.t));Dn(a)}\nfunction op(a,b){a.a+=Sc(b);return a}\nfunction Zr(a){var b;b=N(a);return ~~b}\nfunction rg(a){var b=qg;return wg(b[a])}\nfunction Zn(a){if(a.n!=null){return}mo(a)}\nfunction Ih(a){a.preventDefault();Jh(a)}\nfunction Vh(a){zb.call(this,Fc(a),Ec(a))}\nfunction Ji(a){Ki.call(this,a,Eg(Ib()))}\nfunction dn(a,b,c){en.call(this,a,b,c,1)}\nfunction jk(){jk=tg;ik=Jc(ed,Ku,0,0,7,1)}\nfunction vi(){vi=tg;ui=Jc(kf,nu,182,0,0,1)}\nfunction zi(){zi=tg;vi();yi=new Ai;qb(ui)}\nfunction Ci(){Ci=tg;vi();Bi=new Di;qb(ui)}\nfunction Gi(){Gi=tg;vi();Fi=new Hi;qb(ui)}\nfunction _t(){this.a=new $r;new $r;new $r}\nfunction Bt(a,b){Ln.call(this,new Yt(a),b)}\nfunction kc(a,b){if(!a){throw new Wn(''+b)}}\nfunction mc(a,b){if(!a){throw new Ao(''+b)}}\nfunction eu(a,b){cu();a['__gwtex_wrap']=b}\nfunction au(a,b){return a!=null?a[b]:null}\nfunction Fb(a){return a==null?null:a.name}\nfunction Ak(a){return cd(a+(a<0?-0.5:0.5))}\nfunction fj(a,b){return yk(a.c,a.d,b.c,b.d)}\nfunction $o(a,b){return bp(a,b,a.length-b)}\nfunction Mk(a,b){return a.a[a.a.length-1-b]}\nfunction No(a,b){return (a>>>0).toString(b)}\nfunction sh(a,b){return $wnd.setTimeout(a,b)}\nfunction sr(a,b,c){return rr(a,Tc(b,13),c)}\nfunction Nb(a,b,c){return a.apply(b,c);var d}\nfunction _c(a){return typeof a==='string'}\nfunction Ac(a){return a.currentTarget||$wnd}\nfunction Eb(a){return a==null?null:a.message}\nfunction Yc(a){return a!=null&&!_c(a)&&!Xg(a)}\nfunction Sc(a){return String.fromCharCode(a)}\nfunction At(a,b){Dt(b,(ih(),a.t));U(a);Kn(a)}\nfunction Or(a,b){this.a=a;this.b=b;this.c=0}\nfunction zq(a){var b;b=cq(a.a);return b.cb()}\nfunction Qo(){Qo=tg;Po=Jc(ef,nu,36,256,0,1)}\nfunction hc(){hc=tg;Error.stackTraceLimit=64}\nfunction Bl(){rl.call(this,'DATA_MASK_100',4)}\nfunction tl(){rl.call(this,'DATA_MASK_000',0)}\nfunction vl(){rl.call(this,'DATA_MASK_001',1)}\nfunction zl(){rl.call(this,'DATA_MASK_011',3)}\nfunction xl(){rl.call(this,'DATA_MASK_010',2)}\nfunction Fl(){rl.call(this,'DATA_MASK_110',6)}\nfunction Hl(){rl.call(this,'DATA_MASK_111',7)}\nfunction Dl(){rl.call(this,'DATA_MASK_101',5)}\nfunction xm(a,b,c){Ni.call(this,a,b);this.a=c}\nfunction Om(a,b,c){ej.call(this,a,b);this.a=c}\nfunction pq(a){mq.call(this,a);tc(a.b);this.a=0}\nfunction Fn(a){a.a=true;a.a&&a.q&&nh(a.i,a.f)}\nfunction ci(a){bi();try{U(a)}finally{as(ai,a)}}\nfunction qh(a,b){return fu(function(){a.H(b)})}\nfunction Dp(a,b){return b===a?'(this Map)':''+b}\nfunction ep(a,b){return _c(a)?dp(a,Vc(b)):a.M(b)}\nfunction Mr(a,b){return Xc(b,13)&&Nr(a,Tc(b,13))}\nfunction fb(a){return (ih(),a.t).getContext('2d')}\nfunction ob(d,a,b,c){return d.putImageData(a,b,c)}\nfunction mb(f,a,b,c,d,e){f.drawImage(a,b,c,d,e)}\nfunction Kc(a,b,c,d,e,f){return Lc(a,b,c,d,e,0,f)}\nfunction rr(a,b,c){Lr(a.a,b);return tr(a,b.d,c)}\nfunction Pq(a,b){qc(b,a.b.length);return a.b[b]}\nfunction Oq(a,b){Pc(a.b,a.b.length,b);return true}\nfunction _b(a,b){!a&&(a=[]);a[a.length]=b;return a}\nfunction fo(a,b){var c;c=bo(a,b);c.f=2;return c}\nfunction rc(a){if(a==null){throw new To}return a}\nfunction dd(a){if(a!=null){throw new so}return null}\nfunction sc(a,b){if(a==null){throw new Uo(''+b)}}\nfunction dp(a,b){if(a==b){return 0}return a>3&3);this.a=bd(a&7)}\nfunction Er(a){this.c=a;this.a=new Vr(this.c.a)}\nfunction wn(a){this.a=a[0];this.b=a[1];this.c=a[2]}\nfunction Gk(a,b){if(b==0){throw new zo}return a.c[b]}\nfunction co(a,b,c){var d;d=bo(a,b);qo(c,d);return d}\nfunction bo(a,b){var c;c=new _n;c.i=a;c.d=b;return c}\nfunction Dg(a,b){return a.l==b.l&&a.m==b.m&&a.h==b.h}\nfunction Pp(a,b,c){return _c(b)?Qp(a,b,c):ls(a.a,b,c)}\nfunction Ii(a,b,c){!a.a&&(a.a=new ur($d));sr(a.a,b,c)}\nfunction nb(e,a,b,c,d){return e.getImageData(a,b,c,d)}\nfunction ks(a){return Object.getOwnPropertyNames(a.a)}\nfunction Ms(a){return Object.getOwnPropertyNames(a.a)}\nfunction ug(a){return a instanceof Array?a[0]:null}\nfunction L(a){return _c(a)?mf:Wc(a)?a.cZ:$c(a)?a.cZ:od}\nfunction Yr(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction nt(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction Rc(a,b){return _c(a)&&!!Qc[b]||a.cM&&!!a.cM[b]}\nfunction Cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction Hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction tr(a,b,c){var d;d=a.b[b];Pc(a.b,b,c);return d}\nfunction go(a,b){var c;c=bo('',a);c.k=b;c.f=1;return c}\nfunction Vc(a){if(a!=null&&!_c(a)){throw new so}return a}\nfunction nc(a,b){if(!a){throw new Ao(vc('%s > %s',b))}}\nfunction rt(a){if(!pt){pt=true;cu();Zt(bu,fg,a);st(a)}}\nfunction Rt(a){if(!Qt){Qt=true;cu();Zt(bu,ig,a);St(a)}}\nfunction tc(a){if(0>a){throw new Eo('Index: 0, Size: '+a)}}\nfunction R(a){(ih(),a.t).className='qrPreviewVideo'}\nfunction $g(a){(ih(),a.t).setAttribute('autoplay','')}\nfunction Tb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction Vm(a){var b,c;b=new on(a.a);c=jn(b);return Xm(a,c)}\nfunction cq(a){return nr(a.c,a),oc(bq(a)),Tc(a.a.L(),17)}\nfunction cd(a){return ~~Math.max(Math.min(a,hu),-2147483648)}\nfunction pb(d,a,b,c){return d.data[4*(a+b*d.width)+c]||0}\nfunction ak(a,b,c,d){Ni.call(this,a,b);this.b=c;this.a=d}\nfunction en(a,b,c,d){ej.call(this,a,b);this.b=c;this.a=d}\nfunction Db(a){Bb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction np(){if(ip==256){hp=jp;jp={};ip=0}++ip}\nfunction wg(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction Tc(a,b){if(a!=null&&!Rc(a,b)){throw new so}return a}\nfunction Jm(a){Em();if(a<1||a>40){throw new zo}return Cm[a-1]}\nfunction oi(){var a;a=ri();if(!Wo('ie9',a)){throw new qi(a)}}\nfunction Kl(){var a;Kl=tg;Jl=(a=Jc(fd,Ku,0,45,7,1),Yo(a,0),a)}\nfunction dm(){am();return Mc(Ic(Ae,1),Lu,39,0,[Zl,$l,_l,Yl])}\nfunction Qp(a,b,c){return b==null?ls(a.a,null,c):a.c.pb(b,c)}\nfunction Ph(a,b,c){V(b);di(a.p,b);ih();wc(c,kh(b.t));W(b,a)}\nfunction kj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction mj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction io(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.R(b))}\nfunction wh(a){var b=a.__listener;return !Yc(b)&&Xc(b,31)?b:null}\nfunction Fk(a,b){if(b==0){throw new Un}return a.a[a.f-a.c[b]-1]}\nfunction Sl(a){if(a>=Jl.length){throw Ci(),Ci(),Bi}return Jl[a]}\nfunction qq(a,b){pc(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction ok(a){jk();this.d=a;this.c=ik;this.b=Jc(jd,Mu,0,32,7,1)}\nfunction on(a){this.c=a;this.d=new Tq;this.a=Jc(jd,Mu,0,5,7,1)}\nfunction zn(a){An.call(this,a,(ih(),a.t).width,a.t.height)}\nfunction N(a){return _c(a)?mp(a):Wc(a)?a.hC():$c(a)?Sb(a):Sb(a)}\nfunction Bc(a){return a.tabIndex=Xl.length){throw new zo}return Xl[a]}\nfunction Ur(a){return oc(a.a>22&tu;d=a<0?uu:0;return zg(b,c,d)}\nfunction el(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Ci(),Ci(),Bi}this.a=a}\nfunction Rb(a){a&&Zb((Xb(),Wb));--Jb;if(a){if(Mb!=-1){Ub(Mb);Mb=-1}}}\nfunction mh(a){if(!a.d){return}++a.b;a.c?oh(a.d.a):ph(a.d.a);a.d=null}\nfunction Ib(){if(Date.now){return Date.now()}return (new Date).getTime()}\nfunction Uq(a){Nq(this);mc(a>=0,'Initial capacity must not be negative')}\nfunction nr(a,b){if(b._gwt_modCount!=a._gwt_modCount){throw new qr}}\nfunction ng(b,c){if(b&&typeof b==gu){try{b.__gwt$exception=c}catch(a){}}}\nfunction qc(a,b){if(a<0||a>=b){throw new Eo('Index: '+a+', Size: '+b)}}\nfunction ki(a){if(a.b>=a.c.b){throw new mt}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction Sq(a,b,c){var d;d=(qc(b,a.b.length),a.b[b]);Pc(a.b,b,c);return d}\nfunction $k(a,b,c,d){var e;e=a.b?lj(a.a,c,b):lj(a.a,b,c);return e?d<<1|1:d<<1}\nfunction tn(a,b,c){var d,e;d=Ro(c.b-a.a);e=Ro(b.b-a.a);return d>>(b&31)&1)!=0}\nfunction Hk(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction Op(a,b){return _c(b)?b==null?Hp(js(a.a,null)):a.c.mb(b):Hp(js(a.a,b))}\nfunction wm(a,b){var c,d;c=b.d;c<=9?(d=0):c<=26?(d=1):(d=2);return a.a[d]}\nfunction ei(a,b){var c;for(c=0;c=900){throw Ci(),Ci(),Bi}return Tc(Op(Yj,Oo(a)),11)}\nfunction bb(a){var b;T(a);b=Bc((ih(),a.t));-1==b&&(a.t.tabIndex=0,undefined)}\nfunction Sr(a){var b;++a.a;for(b=a.c.a.length;a.a>22);e=a.h-b.h+(d>>22);return {l:c&tu,m:d&tu,h:e&uu}}\nfunction Rm(a,b){var c,d,e;e=a.d;d=e/2;for(c=0;c<3;c++){if(Ro(e-b[c])>=d){return false}}return true}\nfunction fp(a,b){var c,d;c=Jc(fd,Ku,0,b,7,1);for(d=0;d=a.b){throw new Do}--a.b;for(c=b;c-129&&a<128){b=a+128;c=(Qo(),Po)[b];!c&&(c=Po[b]=new Go(a));return c}return new Go(a)}\nfunction wp(a,b){var c,d;for(d=a.I();d.K();){c=d.L();if(ad(b)===ad(c)||b!=null&&J(b,c)){return true}}return false}\nfunction og(a){var b;if(Xc(a,37)){b=Tc(a,37);if(ad(b.b)!==ad((Bb(),Ab))){return ad(b.b)===ad(Ab)?null:b.b}}return a}\nfunction oj(a){var b,c,d;b=new sp;for(d=0;d=d||bb&&d.O(a[f-1],a[f])>0;--f){g=a[f];Pc(a,f,a[f-1]);Pc(a,f-1,g)}}}\nfunction Dn(b){var c;T(b);_g(b.k);try{Jn((ih(),b.k.t),b)}catch(a){a=pg(a);if(Xc(a,8)){c=a;En(b,c.D())}else throw og(a)}}\nfunction qs(a){if(a.cb){throw new Eo('toIndex: '+a+' > size '+b)}if(3>a){throw new Ao('fromIndex: 3 > toIndex: '+a)}}\nfunction Q(a,b,c){b>=0&&((ih(),a.t).style['width']=b+'px',undefined);c>=0&&((ih(),a.t).style['height']=c+'px',undefined)}\nfunction Ho(a){a-=a>>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction am(){am=tg;Zl=new bm('L',0);$l=new bm('M',1);_l=new bm('Q',2);Yl=new bm('H',3);Xl=Mc(Ic(Ae,1),Lu,39,0,[$l,Zl,Yl,_l])}\nfunction Ck(){Ck=tg;new Ik(4201,4096,1);new Ik(1033,1024,1);new Ik(67,64,1);new Ik(19,16,1);Bk=new Ik(285,256,0);new Ik(301,256,1)}\nfunction hq(a,b){var c,d;d=new pq(a);for(c=0;c2000){Lb=a;Mb=$wnd.setTimeout(Vb,10)}}if(Jb++==0){Yb((Xb(),Wb));return true}return false}\nfunction Fg(a){var b,c;if(a>-129&&a<128){b=a+128;Bg==null&&(Bg=Jc(zd,nu,184,256,0,1));c=Bg[b];!c&&(c=Bg[b]=yg(a));return c}return yg(a)}\nfunction Xn(a,b,c){lc(a>=0&&a<=1114111);if(a>=Bu){b[c++]=55296+(a-Bu>>10&1023)&ru;b[c]=56320+(a-Bu&1023)&ru;return 2}else{b[c]=a&ru;return 1}}\nfunction Im(b){Em();if(b%4!=1){throw Ci(),Ci(),Bi}try{return Jm(~~((b-17)/4))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction V(a){if(!a.s){bi();_r(ai,a)&&ci(a)}else if(a.s){Qh(a.s,a)}else if(a.s){throw new Co(\"This widget's parent does not implement HasWidgets\")}}\nfunction _o(a,b,c){if(Xo(Qu,c)){return gp(a,b)}else if(Xo(Ou,c)||Xo('ISO-LATIN-1',c)){return fp(a,b)}else{throw new Rn('Charset '+c+' not supported')}}\nfunction Bp(a,b){var c,d,e;c=b.cb();e=b.db();d=a._(c);if(!(ad(e)===ad(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.Z(c)){return false}return true}\nfunction qj(a,b){if(a<1||b<1){throw new Ao('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=Jc(jd,Mu,0,this.c*b,7,1)}\nfunction xn(a){var b,c,d,e,f,g,h,i;i=a.f;c=a.e;b=i*c;f=Jc(ed,Ku,0,b,7,1);for(d=0;d=0,Mc(Ic(hf,1),nu,1,3,[Oo(b),Oo(c)])),g),h=Hc(a,f),up(a,b,h,0,So(a.length-b,f)),h);er(e,a,b,c,-b,d)}\nfunction Nc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);er(b,a,i,j,-e,f);er(b,a,j,h,-e,f);if(f.O(a[j-1],a[j])<=0){while(ca.b){throw new Do}if(a.b==a.a.length){f=Jc(Qd,nu,20,a.a.length*2,0,1);for(e=0;ec;--d){Pc(a.a,d,a.a[d-1])}Pc(a.a,c,b)}\nfunction sg(a,b,c){var d=qg;var e=rg;var f=ug;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=xg)}for(var i=3;ic-k?0:c-k;h=So(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=So(a.a.b-1,d+k);if(f-i=a.e){throw new Ao('Requested row is outside the image: '+b)}e=a.f;(c==null||c.length>24}return c}\nfunction nk(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.f;c=f.e;if(i>=40&&c>=40){d=xn(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=pk(d,h,g,i,c);e=new qj(i,c);qk(d,h,g,i,c,b,e);a.a=e}else{a.a=kk(a)}return a.a}\nfunction Fc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new tp(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=uq(new vq(a.a));bq(f.a);){e=Tc(zq(f),8);d?(d=false):(b.a+='; ',b);rp(b,e.D())}return b.a}\nfunction Tl(b,c,d){var e,f,g,h,i;h=c.length;e=Jc(jd,Mu,0,h,7,1);for(g=0;g0&&(a.r==-1?Eh(a.t,b|(a.t.__eventBits||0)):(a.r|=b));a.u()}\nfunction ym(a){vm();switch(a){case 0:return um;case 1:return sm;case 2:return lm;case 3:return tm;case 4:return mm;case 5:return om;case 7:return nm;case 8:return rm;case 9:return pm;case 13:return qm;default:throw new zo;}}\nfunction kn(a){var b,c,d,e;e=a.d.b.length;if(e<=1){return 0}d=null;for(c=new mq(a.d);c.a=2){if(!d){d=b}else{a.b=true;return ~~(cd(Ro(d.c-b.c)-Ro(d.d-b.d))/2)}}}return 0}\nfunction im(a,b){var c,d,e,f,g,h,i,j;c=hu;d=0;for(g=em,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?uu:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?uu:0;f=d?tu:0;e=c>>b-44}return {l:e&tu,m:f&tu,h:g&uu}}\nfunction mo(a){if(a.V()){var b=a.c;b.W()?(a.n='['+b.k):!b.V()?(a.n='[L'+b.T()+';'):(a.n='['+b.T());a.b=b.S()+'[]';a.j=b.U()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=po('.',[c,po('$',d)]);a.b=po('.',[c,po('.',d)]);a.j=d[d.length-1]}\nfunction Ln(a,b){this.p=new ii;P(this,(ih(),$doc.createElement('div')));this.k=eh();this.c=jb();this.d=new Zk;this.e=new Tq;this.f=300;this.j=-1;this.a=true;this.b=a;this.o=b;Oq(this.e,this.d);this.i=new Qn(this);_h(this,this.k);R(this.k);$g(this.k)}\nfunction wk(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,q,r;n=a-c+e-g;r=b-d+f-h;if(n==0&&r==0){return new uk(c-a,e-c,a,d-b,f-d,b,0,0,1)}else{l=c-e;m=g-e;o=d-f;q=h-f;k=l*q-m*o;i=(n*q-m*r)/k;j=(l*r-n*o)/k;return new uk(c-a+i*c,g-a+j*g,a,d-b+i*d,h-b+j*h,b,i,j,1)}}\nfunction Gn(b){var c,d,e,f;if(!(b.a&&b.q))return;try{c=Bn(b);if(c){for(e=new mq(b.e);e.a=0&&d.e>=0){Ii(h,(bj(),$i),Oo(d.e));Ii(h,Zi,Oo(d.d))}return h}\nfunction Uk(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=Jc(jd,Mu,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=cd(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=cd(b+(f-b)*i);h+=Ym(a,b,c,f,g);return h-1}\nfunction Tk(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return Mc(Ic(jd,1),Mu,0,7,[b.a[b.a.length-1-1]])}f=Jc(jd,Mu,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);rk(a,q,s,h,d,g)}}}\nfunction gk(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Gi(),Gi(),Fi}e=new qj(b,c);h=Jc(hd,Ku,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}Pc(a,0,c);a[1]=d;Pc(a,2,e)}\nfunction Kk(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Ao(Su)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=Jc(jd,Mu,0,d.length,7,1);e=d.length-f.length;up(d,0,g,0,e);for(c=e;c>3]}}b=mk(d);e=xn(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}i=Jc(ed,Ku,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d0&&c>0){if(a.j>0){if(f>c){if(a.j=0;h--){c=$k(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=$k(a,8,g,d)}for(e=b-8;e8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=bd(e>>8);f[g+1]=bd(e);g+=2;--d}try{rp(c,_o(f,f.length,Pu))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction Ol(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=bd(e>>8&255);f[g+1]=bd(e&255);g+=2;--d}try{rp(c,_o(f,f.length,'GB2312'))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction mn(a){var b,c,d,e,f,g,h,i;c=0;i=0;d=a.d.b.length;for(g=new mq(a.d);g.a=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new mq(a.d);f.a32||b>8*(a.c.length-a.b)-a.a){throw new Ao(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Fm(a){var b,c,d,e,f,g;c=17+4*a.d;b=new pj(c);nj(b,0,0,9,9);nj(b,c-8,0,8,9);nj(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){nj(b,c-11,0,3,6);nj(b,0,c-11,6,3)}return b}\nfunction nj(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Ao('Left and top must be nonnegative')}if(e<1||d<1){throw new Ao('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Ao('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=$k(a,d,g,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=$k(a,c,f,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Ci(),Ci(),Bi}\nfunction mk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Gi(),Gi(),Fi}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction vk(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=sk(wk(3.5,3.5,a,3.5,b,c,3.5,d));n=wk(e,f,g,h,i,j,k,l);return new uk(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction vo(){vo=tg;uo=Mc(Ic(gd,1),Ku,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Bu,256,16,4,2]);to=Mc(Ic(gd,1),Ku,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction Eg(a){var b,c,d,e,f,g,h,i;if(xo(a)){return Qg(),Pg}if(a=9223372036854775807){return Qg(),Ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=wu){d=cd(a/wu);a-=d*wu}c=0;if(a>=vu){c=cd(a/vu);a-=c*vu}b=cd(a);f=zg(b,c,d);e&&(g=~f.l+1&tu,h=~f.m+(g==0?1:0)&tu,i=~f.h+(g==0&&h==0?1:0)&uu,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction Ul(b,c){var d,e,f,g,h;g=new el(c);f=null;d=null;try{return Vl(b,g)}catch(a){a=pg(a);if(Xc(a,56)){e=a;f=e}else if(Xc(a,55)){e=a;d=e}else throw og(a)}try{dl(g);g.d=null;g.c=null;g.b=true;cl(g);bl(g);_k(g);h=Vl(b,g);dk(h,new Bm);return h}catch(a){a=pg(a);if(Xc(a,56)||Xc(a,55)){e=a;if(f){throw f}if(d){throw d}throw e}else throw og(a)}}\nfunction Sk(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Qk(a.a,b);q=Jc(jd,Mu,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return zk(d+q,e,b,c)}return NaN}\nfunction bj(){bj=tg;Wi=new cj('OTHER',0);Vi=new cj('ORIENTATION',1);Si=new cj('BYTE_SEGMENTS',2);Ti=new cj('ERROR_CORRECTION_LEVEL',3);Ui=new cj('ISSUE_NUMBER',4);_i=new cj('SUGGESTED_PRICE',5);Yi=new cj('POSSIBLE_COUNTRY',6);aj=new cj('UPC_EAN_EXTENSION',7);Xi=new cj('PDF417_EXTRA_METADATA',8);$i=new cj('STRUCTURED_APPEND_SEQUENCE',9);Zi=new cj('STRUCTURED_APPEND_PARITY',10)}\nfunction Ml(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Ci(),Ci(),Bi}f=uj(a,11);op(b,Sl(~~(f/45)));op(b,Sl(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Ci(),Ci(),Bi}op(b,Sl(uj(a,6)))}if(d){for(e=g;e0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=Hg(b,Fg(c+127<<23));b=Hg(b,Fg(e));return Mg(b)}\nfunction Ql(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Ci(),Ci(),Bi}e=uj(a,10);if(e>=1000){throw Ci(),Ci(),Bi}op(b,Sl(~~(e/100)));op(b,Sl(~~(e/10)%10));op(b,Sl(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Ci(),Ci(),Bi}f=uj(a,7);if(f>=100){throw Ci(),Ci(),Bi}op(b,Sl(~~(f/10)));op(b,Sl(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Ci(),Ci(),Bi}d=uj(a,4);if(d>=10){throw Ci(),Ci(),Bi}op(b,Sl(d))}}\nfunction ln(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=hn(a,c,cd(h),b[2],m);if(!isNaN(g)){h=gn(a,cd(h),cd(g),b[2],m);if(!isNaN(h)&&(!e||fn(a,cd(g),cd(h),b[2],m))){i=m/7;j=false;for(k=0;k=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return 'gecko1_8';return 'unknown'}\nfunction Pm(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=a.a;i[0]=0;i[1]=0;i[2]=0;f=b;while(f>=0&&lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Rm(a,i)?f-i[2]-i[1]/2:NaN}\nfunction Zo(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=cd(s.c+i*(g-s.c));l=cd(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=Wm(b,n,k,l,m);break}catch(a){a=pg(a);if(!Xc(a,54))throw og(a)}}}u=an(s,t,f,d,j);e=bn(b.a,u,j);!d?(q=Mc(Ic(_d,1),nu,29,0,[f,s,t])):(q=Mc(Ic(_d,1),nu,29,0,[f,s,t,d]));return new hk(e,q)}\nfunction Qm(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=Jc(jd,Mu,0,3,7,1);for(f=0;fn||d+e>j){throw new Do}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=Tc(a,5);f=Tc(c,5);if(ad(a)===ad(c)&&bd;){Pc(f,h,k[--b])}}else{for(h=d+e;d0&&Oc(a,b,c,d,e,true)}\nfunction An(a,b,c){var d,e,f,g,h;this.f=b;this.e=c;h=(ih(),a.t).width;g=a.t.height;if(b>h||c>g){throw new Ao('Crop rectangle does not fit within image data.')}this.a=jb();Q(this.a,h,g);gb(this.a,g);hb(this.a,h);this.b=nb(a.t.getContext('2d'),0,0,b,c);e=this.b.data;for(f=0;fg||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=cd(b[e]);i=cd(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction gl(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new zo}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=uo[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=uo[d]){a*=to[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=Eg(a*Cu);a-=Lg(e)*9.5367431640625E-7;f=Eg(a*4503599627370496);e=Hg(e,Fg(c+1023<<20));g&&(e=Hg(e,{l:0,m:512,h:0}));return Hg(Ig(e,32),f)}\nfunction gn(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&lj(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!lj(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&lj(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return pn(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction hn(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&lj(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return pn(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction nn(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Gi(),Gi(),Fi}if(l>3){n=0;k=0;for(d=new mq(a.d);d.am?Wu*b:m;for(e=0;e3;e++){g=Tc(Pq(a.d,e),16);if(Ro(g.b-b)>f){a.d.bb(e);--e}}}if(a.d.b.length>3){n=0;for(i=new mq(a.d);i.ab){throw new Eo(Yu)}}f=Jc(fd,Ku,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Ao('Invalid UTF8 sequence at '+(h-1)+', byte='+No(c,16))}d=d<<6|c&63}j+=Xn(d,f,j)}return cp(f,0,f.length)}\nfunction jn(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=Jc(jd,Mu,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(pn(l)){b=ln(a,l,e,i,false);if(b){f=l[0];a.b&&(d=mn(a))}}}j=nn(a);ij(j);return new wn(j)}\nfunction Vk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new Xk('r_{i-1} was zero')}k=m;j=a.a.i;f=Mk(l,l.a.length-1);g=Fk(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Hk(a.a,Mk(k,k.a.length-1),g);j=Kk(j,Dk(a.a,e,n));k=Kk(k,Pk(l,e,n))}r=Kk(Ok(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Co('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new Xk('sigmaTilde(0) was zero')}h=Fk(a.a,q);o=Nk(r,h);i=Nk(k,h);return Mc(Ic(je,1),nu,26,0,[o,i])}\nfunction Jn(e,f){function g(b){f.n=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.Q()}\nfunction h(a){var b=a.message;f.P(b)}\nvar i=f.o;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\n", -"function fn(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&lj(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!lj(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&lj(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&pn(i)}\nfunction Ll(b,c,d){Kl();var e,f,g,h,i,j,k,l,m,n,o,q;e=new vj(b);m=new sp;f=new Uq(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(vm(),um)):(k=ym(uj(e,4)));if(k!=(vm(),um)){if(k==om||k==pm){j=true}else if(k==tm){if(8*(e.c.length-e.b)-e.a<16){throw Ci(),Ci(),Bi}o=uj(e,8);l=uj(e,8)}else if(k==nm){q=Rl(e);i=bk(q);if(!i){throw Ci(),Ci(),Bi}}else{if(k==qm){n=uj(e,4);h=uj(e,wm(k,c));n==1&&Ol(e,m,h)}else{g=uj(e,wm(k,c));if(k==sm){Ql(e,m,g)}else if(k==lm){Ml(e,m,g,j)}else if(k==mm){Nl(e,m,g,i,f)}else if(k==rm){Pl(e,m,g)}else{throw Ci(),Ci(),Bi}}}}}while(k!=(vm(),um))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}return new ek(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction uh(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Bu;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return yu;case 'touchstart':return Cu;case 'touchmove':return 2097152;case 'touchend':return vu;case 'touchcancel':return Du;case 'gesturestart':return Eu;case 'gesturechange':return Fu;case 'gestureend':return Gu;default:return -1;}}\nfunction xk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Qu}if(c&&(m>=3||l>=3)){return Pu}if(b&&c){return m==2&&k==2||f*10>=g?Pu:Ou}if(b){return Ou}if(c){return Pu}if(d){return Qu}return Qu}\nfunction St(g){var d=du(ev);var e,f=g;$wnd.JsQRScanner=fu(function(){var a,b=this,c=arguments;c.length==1&&f.sb(c[0])?(a=c[0]):c.length==2?(a=Vt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0]),c[1])):c.length==1&&(a=Ut(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0])));b.g=a;eu(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=fu(function(a){this.g.tb(a)});e.getScanInterval=fu(function(){return this.g.ub()});e.getSnapImageMaxSize=fu(function(){return this.g.vb()});e.isActive=fu(function(){return this.g.wb()});e.isScanning=fu(function(){return this.g.xb()});e.removeFrom=fu(function(a){this.g.yb(a)});e.resumeScanning=fu(function(){this.g.zb()});e.setScanInterval=fu(function(a){this.g.Ab(a)});e.setSnapImageMaxSize=fu(function(a){this.g.Bb(a)});e.stopScanning=fu(function(){this.g.Cb()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction lh(){var a,b,c;b=$doc.compatMode;a=Mc(Ic(mf,1),nu,2,4,[Au]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction fm(){fm=tg;em=Mc(Ic(jd,2),nu,7,0,[Mc(Ic(jd,1),Mu,0,7,[21522,0]),Mc(Ic(jd,1),Mu,0,7,[20773,1]),Mc(Ic(jd,1),Mu,0,7,[24188,2]),Mc(Ic(jd,1),Mu,0,7,[23371,3]),Mc(Ic(jd,1),Mu,0,7,[17913,4]),Mc(Ic(jd,1),Mu,0,7,[16590,5]),Mc(Ic(jd,1),Mu,0,7,[20375,6]),Mc(Ic(jd,1),Mu,0,7,[19104,7]),Mc(Ic(jd,1),Mu,0,7,[30660,8]),Mc(Ic(jd,1),Mu,0,7,[29427,9]),Mc(Ic(jd,1),Mu,0,7,[32170,10]),Mc(Ic(jd,1),Mu,0,7,[30877,11]),Mc(Ic(jd,1),Mu,0,7,[26159,12]),Mc(Ic(jd,1),Mu,0,7,[25368,13]),Mc(Ic(jd,1),Mu,0,7,[27713,14]),Mc(Ic(jd,1),Mu,0,7,[26998,15]),Mc(Ic(jd,1),Mu,0,7,[5769,16]),Mc(Ic(jd,1),Mu,0,7,[5054,17]),Mc(Ic(jd,1),Mu,0,7,[7399,18]),Mc(Ic(jd,1),Mu,0,7,[6608,19]),Mc(Ic(jd,1),Mu,0,7,[1890,20]),Mc(Ic(jd,1),Mu,0,7,[597,21]),Mc(Ic(jd,1),Mu,0,7,[3340,22]),Mc(Ic(jd,1),Mu,0,7,[2107,23]),Mc(Ic(jd,1),Mu,0,7,[13663,24]),Mc(Ic(jd,1),Mu,0,7,[12392,25]),Mc(Ic(jd,1),Mu,0,7,[16177,26]),Mc(Ic(jd,1),Mu,0,7,[14854,27]),Mc(Ic(jd,1),Mu,0,7,[9396,28]),Mc(Ic(jd,1),Mu,0,7,[8579,29]),Mc(Ic(jd,1),Mu,0,7,[11994,30]),Mc(Ic(jd,1),Mu,0,7,[11245,31])])}\nfunction Fh(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Ah:null);c&2&&(a.ondblclick=b&2?Ah:null);c&4&&(a.onmousedown=b&4?Ah:null);c&8&&(a.onmouseup=b&8?Ah:null);c&16&&(a.onmouseover=b&16?Ah:null);c&32&&(a.onmouseout=b&32?Ah:null);c&64&&(a.onmousemove=b&64?Ah:null);c&128&&(a.onkeydown=b&128?Ah:null);c&256&&(a.onkeypress=b&256?Ah:null);c&512&&(a.onkeyup=b&512?Ah:null);c&1024&&(a.onchange=b&1024?Ah:null);c&2048&&(a.onfocus=b&2048?Ah:null);c&4096&&(a.onblur=b&4096?Ah:null);c&8192&&(a.onlosecapture=b&8192?Ah:null);c&16384&&(a.onscroll=b&16384?Ah:null);c&32768&&(a.onload=b&32768?Bh:null);c&Bu&&(a.onerror=b&Bu?Ah:null);c&131072&&(a.onmousewheel=b&131072?Ah:null);c&262144&&(a.oncontextmenu=b&262144?Ah:null);c&yu&&(a.onpaste=b&yu?Ah:null);c&Cu&&(a.ontouchstart=b&Cu?Ah:null);c&2097152&&(a.ontouchmove=b&2097152?Ah:null);c&vu&&(a.ontouchend=b&vu?Ah:null);c&Du&&(a.ontouchcancel=b&Du?Ah:null);c&Eu&&(a.ongesturestart=b&Eu?Ah:null);c&Fu&&(a.ongesturechange=b&Fu?Ah:null);c&Gu&&(a.ongestureend=b&Gu?Ah:null)}\nfunction Zj(){Zj=tg;var a,b,c,d,e,f,g,h,i,j,k,l;Cj=new ak('Cp437',0,Mc(Ic(jd,1),Mu,0,7,[0,2]),Mc(Ic(mf,1),nu,2,4,[]));Fj=new ak('ISO8859_1',1,Mc(Ic(jd,1),Mu,0,7,[1,3]),Mc(Ic(mf,1),nu,2,4,[Ou]));Mj=new _j('ISO8859_2',2,4,Mc(Ic(mf,1),nu,2,4,['ISO-8859-2']));Nj=new _j('ISO8859_3',3,5,Mc(Ic(mf,1),nu,2,4,['ISO-8859-3']));Oj=new _j('ISO8859_4',4,6,Mc(Ic(mf,1),nu,2,4,['ISO-8859-4']));Pj=new _j('ISO8859_5',5,7,Mc(Ic(mf,1),nu,2,4,['ISO-8859-5']));Qj=new _j('ISO8859_6',6,8,Mc(Ic(mf,1),nu,2,4,['ISO-8859-6']));Rj=new _j('ISO8859_7',7,9,Mc(Ic(mf,1),nu,2,4,['ISO-8859-7']));Sj=new _j('ISO8859_8',8,10,Mc(Ic(mf,1),nu,2,4,['ISO-8859-8']));Tj=new _j('ISO8859_9',9,11,Mc(Ic(mf,1),nu,2,4,['ISO-8859-9']));Gj=new _j('ISO8859_10',10,12,Mc(Ic(mf,1),nu,2,4,['ISO-8859-10']));Hj=new _j('ISO8859_11',11,13,Mc(Ic(mf,1),nu,2,4,['ISO-8859-11']));Ij=new _j('ISO8859_13',12,15,Mc(Ic(mf,1),nu,2,4,['ISO-8859-13']));Jj=new _j('ISO8859_14',13,16,Mc(Ic(mf,1),nu,2,4,['ISO-8859-14']));Kj=new _j('ISO8859_15',14,17,Mc(Ic(mf,1),nu,2,4,['ISO-8859-15']));Lj=new _j('ISO8859_16',15,18,Mc(Ic(mf,1),nu,2,4,['ISO-8859-16']));Vj=new _j('SJIS',16,20,Mc(Ic(mf,1),nu,2,4,[Pu]));yj=new _j('Cp1250',17,21,Mc(Ic(mf,1),nu,2,4,['windows-1250']));zj=new _j('Cp1251',18,22,Mc(Ic(mf,1),nu,2,4,['windows-1251']));Aj=new _j('Cp1252',19,23,Mc(Ic(mf,1),nu,2,4,['windows-1252']));Bj=new _j('Cp1256',20,24,Mc(Ic(mf,1),nu,2,4,['windows-1256']));Xj=new _j('UnicodeBigUnmarked',21,25,Mc(Ic(mf,1),nu,2,4,['UTF-16BE','UnicodeBig']));Wj=new _j('UTF8',22,26,Mc(Ic(mf,1),nu,2,4,[Qu]));wj=new ak('ASCII',23,Mc(Ic(jd,1),Mu,0,7,[27,170]),Mc(Ic(mf,1),nu,2,4,['US-ASCII']));xj=new $j;Ej=new _j('GB18030',25,29,Mc(Ic(mf,1),nu,2,4,['GB2312','EUC_CN','GBK']));Dj=new _j('EUC_KR',26,30,Mc(Ic(mf,1),nu,2,4,['EUC-KR']));Yj=new $r;Uj=new $r;for(b=ck(),c=0,d=b.length;c1?(b.c=io(this,a-1)):(b.c=this);return b};_.S=function ho(){Zn(this);return this.b};_.T=function jo(){return $n(this)};_.U=function lo(){Zn(this);return this.j};_.V=function no(){return (this.f&4)!=0};_.W=function oo(){return (this.f&1)!=0};_.tS=function ro(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(Zn(this),this.n)};_.f=0;var Yn=1;var hf=co(iu,'Object',1),od=co(ju,'JavaScriptObject$',0),Ze=co(iu,'Class',67);sg(25,1,{30:1,25:1});_.tS=function S(){if(!this.t){return '(null handle)'}return (ih(),this.t).outerHTML};var Nd=co(ku,'UIObject',25);sg(20,25,lu);_.u=function X(){};_.v=function Y(){};_.w=function Z(){T(this)};_.A=function $(a){var b;switch(ih(),uh(a.type)){case 16:case 32:b=a.relatedTarget;if(!!b&&Cc(this.t,b)){return}}Dc(ih())};_.B=function ab(){U(this)};_.q=false;_.r=0;var Qd=co(ku,'Widget',20);sg(175,20,lu);_.w=function cb(){bb(this)};var Ld=co(ku,'FocusWidget',175);sg(120,175,lu,ib);var db;var md=co(mu,'Canvas',120);sg(177,1,{});var ld=co(mu,'Canvas/CanvasElementSupportDetector',177);sg(121,177,{},kb);var kd=co(mu,'Canvas/CanvasElementSupportDetectedMaybe',121);sg(8,1,ou);_.C=function sb(){dc(this,this.e);return this};_.D=function tb(){return this.e};_.tS=function ub(){var a,b;a=$n(this.cZ);b=this.D();return b!=null?a+': '+b:a};var nf=co(iu,'Throwable',8);sg(10,8,pu);var af=co(iu,'Exception',10);sg(15,10,pu);var jf=co(iu,'RuntimeException',15);sg(81,15,pu);var qd=co(qu,'JavaScriptExceptionBase',81);sg(37,81,{37:1,3:1,10:1,8:1},Db);_.D=function Gb(){Cb(this);return this.c};_.F=function Hb(){return ad(this.b)===ad(Ab)?null:this.b};var Ab;var nd=co(ju,'JavaScriptException',37);sg(155,1,{});var pd=co(ju,'Scheduler',155);var Jb=0,Kb=0,Lb=0,Mb=-1;sg(101,155,{},$b);var Wb;var rd=co(qu,'SchedulerImpl',101);var bc;sg(166,1,{});var vd=co(qu,'StackTraceCreator/Collector',166);sg(82,166,{},fc);_.G=function gc(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(cc(),d.name||(d.name=ec(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Gk(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var je=co(Ru,'GenericGFPoly',26);sg(123,1,{},Wk);var le=co(Ru,'ReedSolomonDecoder',123);sg(45,10,{45:1,3:1,10:1,8:1},Xk);var me=co(Ru,'ReedSolomonException',45);sg(118,1,{181:1},Zk);var ne=co('com.google.zxing.qrcode','QRCodeReader',118);sg(133,1,{},el);_.b=false;\n", -"var oe=co(Tu,'BitMatrixParser',133);sg(65,1,{65:1},fl);_.b=0;var pe=co(Tu,'DataBlock',65);sg(14,13,Uu);var hl,il,jl,kl,ll,ml,nl,ol;var ye=eo(Tu,'DataMask',14,sl);sg(142,14,Uu,tl);_.N=function ul(a,b){return (a+b&1)==0};var qe=eo(Tu,'DataMask/1',142,null);sg(143,14,Uu,vl);_.N=function wl(a,b){return (a&1)==0};var re=eo(Tu,'DataMask/2',143,null);sg(144,14,Uu,xl);_.N=function yl(a,b){return b%3==0};var se=eo(Tu,'DataMask/3',144,null);sg(145,14,Uu,zl);_.N=function Al(a,b){return (a+b)%3==0};var te=eo(Tu,'DataMask/4',145,null);sg(146,14,Uu,Bl);_.N=function Cl(a,b){return (~~(a/2)+~~(b/3)&1)==0};var ue=eo(Tu,'DataMask/5',146,null);sg(147,14,Uu,Dl);_.N=function El(a,b){var c;c=a*b;return (c&1)+c%3==0};var ve=eo(Tu,'DataMask/6',147,null);sg(148,14,Uu,Fl);_.N=function Gl(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var we=eo(Tu,'DataMask/7',148,null);sg(149,14,Uu,Hl);_.N=function Il(a,b){return ((a+b&1)+a*b%3&1)==0};var xe=eo(Tu,'DataMask/8',149,null);var Jl;sg(122,1,{},Wl);var ze=co(Tu,'Decoder',122);sg(39,13,{39:1,3:1,19:1,13:1},bm);var Xl,Yl,Zl,$l,_l;var Ae=eo(Tu,'ErrorCorrectionLevel',39,dm);sg(49,1,{49:1},gm);_.eQ=function jm(a){var b;if(!Xc(a,49)){return false}b=Tc(a,49);return this.b==b.b&&this.a==b.a};_.hC=function km(){return this.b.d<<3|this.a};_.a=0;var em;var Be=co(Tu,'FormatInformation',49);sg(23,13,{23:1,3:1,19:1,13:1},xm);var lm,mm,nm,om,pm,qm,rm,sm,tm,um;var Ce=eo(Tu,'Mode',23,zm);sg(132,1,{},Bm);_.a=false;var De=co(Tu,'QRCodeDecoderMetaData',132);sg(9,1,{9:1},Gm);_.tS=function Km(){return ''+this.d};_.c=0;_.d=0;var Cm,Dm;var Ge=co(Tu,'Version',9);sg(4,1,{4:1},Lm);_.a=0;_.b=0;var Ee=co(Tu,'Version/ECB',4);sg(6,1,{6:1},Mm);_.b=0;var Fe=co(Tu,'Version/ECBlocks',6);sg(50,29,{29:1,50:1},Om);_.a=0;var Ie=co(Vu,'AlignmentPattern',50);sg(151,1,{},Tm);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var He=co(Vu,'AlignmentPatternFinder',151);sg(131,1,{},$m);var Je=co(Vu,'Detector',131);sg(16,29,{29:1,16:1},dn,en);_.a=0;_.b=0;var Oe=co(Vu,'FinderPattern',16);sg(134,1,{},on);_.b=false;var Me=co(Vu,'FinderPatternFinder',134);sg(136,1,Ku,rn);_.O=function sn(a,b){return qn(this,Tc(a,16),Tc(b,16))};_.a=0;var Ke=co(Vu,'FinderPatternFinder/CenterComparator',136);sg(135,1,Ku,un);_.O=function vn(a,b){return tn(this,Tc(a,16),Tc(b,16))};_.a=0;var Le=co(Vu,'FinderPatternFinder/FurthestFromAverageComparator',135);sg(137,1,{},wn);var Ne=co(Vu,'FinderPatternInfo',137);sg(78,125,{},zn);_.c=0;_.d=0;var Pe=co(Xu,'CanvasLuminanceSource',78);sg(104,75,lu);_.w=function Mn(){Dn(this)};_.B=function Nn(){U(this);Kn(this)};_.P=function On(a){En(this,a)};_.Q=function Pn(){this.a&&this.q&&nh(this.i,this.f)};_.a=false;_.f=0;_.j=0;var Re=co(Xu,'ScannerWidget',104);sg(108,107,{},Qn);var Qe=co(Xu,'ScannerWidget/1',108);sg(153,10,pu);var Se=co('java.io','IOException',153);sg(51,153,{3:1,51:1,10:1,8:1},Rn);var Te=co('java.io','UnsupportedEncodingException',51);sg(60,1,{});_.tS=function Tn(){return this.a};var Ue=co(iu,'AbstractStringBuilder',60);sg(70,15,pu,Un);var Ve=co(iu,'ArithmeticException',70);sg(46,15,pu,Vn,Wn);var We=co(iu,'ArrayStoreException',46);sg(41,15,pu,so);var Ye=co(iu,'ClassCastException',41);sg(66,1,{3:1,66:1});var gf=co(iu,'Number',66);var to,uo;sg(12,15,{3:1,10:1,12:1,8:1},zo,Ao);var bf=co(iu,'IllegalArgumentException',12);sg(43,15,pu,Bo,Co);var cf=co(iu,'IllegalStateException',43);sg(38,15,pu,Do,Eo);var df=co(iu,'IndexOutOfBoundsException',38);sg(36,66,{3:1,19:1,36:1,66:1},Go);_.M=function Jo(a){return Fo(this,Tc(a,36))};_.eQ=function Ko(a){return Xc(a,36)&&Tc(a,36).a==this.a};_.hC=function Lo(){return this.a};_.tS=function Mo(){return ''+this.a};_.a=0;var ef=co(iu,'Integer',36);var Po;sg(71,15,pu,To,Uo);var ff=co(iu,'NullPointerException',71);var mf=co(iu,'String',2);var hp,ip=0,jp;sg(27,60,{179:1},sp,tp);var lf=co(iu,'StringBuilder',27);sg(72,15,pu,vp);var of=co(iu,'UnsupportedOperationException',72);sg(169,1,{});_.X=function zp(a){return wp(this,a)};_.tS=function Ap(){return yp(this)};var pf=co(Zu,'AbstractCollection',169);sg(168,1,{58:1});_.Z=function Ep(a){return !!Cp(this,a)};_.eQ=function Fp(a){var b,c,d;if(a===this){return true}if(!Xc(a,58)){return false}d=Tc(a,58);if(this.Y()!=d.Y()){return false}for(c=d.$().I();c.K();){b=Tc(c.L(),17);if(!Bp(this,b)){return false}}return true};_._=function Gp(a){return Hp(Cp(this,a))};_.hC=function Ip(){return fr(this.$())};_.Y=function Jp(){return this.$().Y()};_.tS=function Kp(){var a,b,c,d;d=new tp('{');a=false;for(c=this.$().I();c.K();){b=Tc(c.L(),17);a?(d.a+=', ',d):(a=true);rp(d,Dp(this,b.cb()));d.a+='=';rp(d,Dp(this,b.db()))}d.a+='}';return d.a};var Cf=co(Zu,'AbstractMap',168);sg(84,168,{58:1});_.Z=function Sp(a){return Lp(this,a)};_.$=function Tp(){return new Zp(this)};_._=function Up(a){return Op(this,a)};_.Y=function Vp(){return this.b};_.b=0;var sf=co(Zu,'AbstractHashMap',84);sg(170,169,$u);_.eQ=function Wp(a){var b;if(a===this){return true}if(!Xc(a,40)){return false}b=Tc(a,40);if(b.Y()!=this.Y()){return false}return xp(this,b)};_.hC=function Xp(){return fr(this)};var Df=co(Zu,'AbstractSet',170);sg(68,170,$u,Zp);_.X=function $p(a){return Yp(this,a)};_.I=function _p(){return new dq(this.a)};_.Y=function aq(){return this.a.b};var rf=co(Zu,'AbstractHashMap/EntrySet',68);sg(69,1,{},dq);_.K=function eq(){return bq(this)};_.L=function fq(){return cq(this)};var qf=co(Zu,'AbstractHashMap/EntrySetIterator',69);sg(171,169,{52:1});_.eQ=function iq(a){var b,c,d,e,f;if(a===this){return true}if(!Xc(a,52)){return false}f=Tc(a,52);if(this.Y()!=f.Y()){return false}e=f.I();for(c=new mq(this);c.a> 24; +} + +function round_int(x_0){ + return ~~Math.max(Math.min(x_0, $intern_0), -2147483648); +} + +function throwClassCastExceptionUnlessNull(o){ + if (o != null) { + throw new ClassCastException; + } + return null; +} + +var stringCastMap; +function $ensureNamesAreInitialized(this$static){ + if (this$static.typeName != null) { + return; + } + initializeNames(this$static); +} + +function $getName(this$static){ + $ensureNamesAreInitialized(this$static); + return this$static.typeName; +} + +function Class(){ + ++nextSequentialId; + this.typeName = null; + this.simpleName = null; + this.packageName = null; + this.compoundName = null; + this.canonicalName = null; + this.typeId = null; + this.arrayLiterals = null; +} + +function createClassObject(packageName, compoundClassName){ + var clazz; + clazz = new Class; + clazz.packageName = packageName; + clazz.compoundName = compoundClassName; + return clazz; +} + +function createForClass(packageName, compoundClassName, typeId){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + return clazz; +} + +function createForEnum(packageName, compoundClassName, typeId, enumConstantsFunc){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + clazz.modifiers = enumConstantsFunc?8:0; + clazz.enumConstantsFunc = enumConstantsFunc; + return clazz; +} + +function createForInterface(packageName, compoundClassName){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + clazz.modifiers = 2; + return clazz; +} + +function createForPrimitive(className, primitiveTypeId){ + var clazz; + clazz = createClassObject('', className); + clazz.typeId = primitiveTypeId; + clazz.modifiers = 1; + return clazz; +} + +function getClassLiteralForArray_0(leafClass, dimensions){ + var arrayLiterals = leafClass.arrayLiterals = leafClass.arrayLiterals || []; + return arrayLiterals[dimensions] || (arrayLiterals[dimensions] = leafClass.createClassLiteralForArray(dimensions)); +} + +function getPrototypeForClass(clazz){ + if (clazz.isPrimitive()) { + return null; + } + var typeId = clazz.typeId; + var prototype_0 = prototypesByTypeId_0[typeId]; + return prototype_0; +} + +function initializeNames(clazz){ + if (clazz.isArray_0()) { + var componentType = clazz.componentType; + componentType.isPrimitive()?(clazz.typeName = '[' + componentType.typeId):!componentType.isArray_0()?(clazz.typeName = '[L' + componentType.getName() + ';'):(clazz.typeName = '[' + componentType.getName()); + clazz.canonicalName = componentType.getCanonicalName() + '[]'; + clazz.simpleName = componentType.getSimpleName() + '[]'; + return; + } + var packageName = clazz.packageName; + var compoundName = clazz.compoundName; + compoundName = compoundName.split('/'); + clazz.typeName = join_0('.', [packageName, join_0('$', compoundName)]); + clazz.canonicalName = join_0('.', [packageName, join_0('.', compoundName)]); + clazz.simpleName = compoundName[compoundName.length - 1]; +} + +function join_0(separator, strings){ + var i = 0; + while (!strings[i] || strings[i] == '') { + i++; + } + var result = strings[i++]; + for (; i < strings.length; i++) { + if (!strings[i] || strings[i] == '') { + continue; + } + result += separator + strings[i]; + } + return result; +} + +function maybeSetClassLiteral(typeId, clazz){ + var proto; + if (!typeId) { + return; + } + clazz.typeId = typeId; + var prototype_0 = getPrototypeForClass(clazz); + if (!prototype_0) { + prototypesByTypeId_0[typeId] = [clazz]; + return; + } + prototype_0.___clazz$ = clazz; +} + +defineClass(67, 1, {}, Class); +_.createClassLiteralForArray = function createClassLiteralForArray(dimensions){ + var clazz; + clazz = new Class; + clazz.modifiers = 4; + dimensions > 1?(clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1)):(clazz.componentType = this); + return clazz; +} +; +_.getCanonicalName = function getCanonicalName(){ + $ensureNamesAreInitialized(this); + return this.canonicalName; +} +; +_.getName = function getName(){ + return $getName(this); +} +; +_.getSimpleName = function getSimpleName(){ + $ensureNamesAreInitialized(this); + return this.simpleName; +} +; +_.isArray_0 = function isArray(){ + return (this.modifiers & 4) != 0; +} +; +_.isPrimitive = function isPrimitive(){ + return (this.modifiers & 1) != 0; +} +; +_.toString$ = function toString_13(){ + return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + ($ensureNamesAreInitialized(this) , this.typeName); +} +; +_.modifiers = 0; +var nextSequentialId = 1; +var Ljava_lang_Object_2_classLit = createForClass('java.lang', 'Object', 1), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptObject$', 0), Ljava_lang_Class_2_classLit = createForClass('java.lang', 'Class', 67); +function $setElement(this$static, elem){ + this$static.element = elem; +} + +function $setPixelSize(this$static, width_0, height){ + width_0 >= 0 && (($clinit_DOM() , this$static.element).style['width'] = width_0 + 'px' , undefined); + height >= 0 && (($clinit_DOM() , this$static.element).style['height'] = height + 'px' , undefined); +} + +function $setStyleName(this$static){ + ($clinit_DOM() , this$static.element).className = 'qrPreviewVideo'; +} + +defineClass(25, 1, {30:1, 25:1}); +_.toString$ = function toString_1(){ + if (!this.element) { + return '(null handle)'; + } + return $toString(($clinit_DOM() , this.element)); +} +; +var Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui', 'UIObject', 25); +function $onAttach(this$static){ + var bitsToAdd; + if (this$static.attached) { + throw new IllegalStateException_0("Should only call onAttach when the widget is detached from the browser's document"); + } + this$static.attached = true; + $clinit_DOM(); + setEventListener(this$static.element, this$static); + bitsToAdd = this$static.eventsToSink; + this$static.eventsToSink = -1; + bitsToAdd > 0 && (this$static.eventsToSink == -1?$sinkEvents(this$static.element, bitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= bitsToAdd)); + this$static.doAttachChildren(); +} + +function $onDetach(this$static){ + if (!this$static.attached) { + throw new IllegalStateException_0("Should only call onDetach when the widget is attached to the browser's document"); + } + try { + this$static.doDetachChildren(); + } + finally { + $clinit_DOM(); + setEventListener(this$static.element, null); + this$static.attached = false; + } +} + +function $removeFromParent(this$static){ + if (!this$static.parent_0) { + $clinit_RootPanel(); + $contains_2(widgetsToDetach, this$static) && detachNow(this$static); + } + else if (this$static.parent_0) { + $remove(this$static.parent_0, this$static); + } + else if (this$static.parent_0) { + throw new IllegalStateException_0("This widget's parent does not implement HasWidgets"); + } +} + +function $setParent(this$static, parent_0){ + var oldParent; + oldParent = this$static.parent_0; + if (!parent_0) { + try { + !!oldParent && oldParent.attached && $onDetach(this$static); + } + finally { + this$static.parent_0 = null; + } + } + else { + if (oldParent) { + throw new IllegalStateException_0('Cannot set a new parent without first clearing the old parent'); + } + this$static.parent_0 = parent_0; + parent_0.attached && $onAttach_0(this$static); + } +} + +defineClass(20, 25, $intern_1); +_.doAttachChildren = function doAttachChildren(){ +} +; +_.doDetachChildren = function doDetachChildren(){ +} +; +_.onAttach = function onAttach(){ + $onAttach(this); +} +; +_.onBrowserEvent = function onBrowserEvent(event_0){ + var related; + switch ($clinit_DOM() , $eventGetTypeInt(event_0.type)) { + case 16: + case 32: + related = $eventGetRelatedTarget(event_0); + if (!!related && $isOrHasChild(this.element, related)) { + return; + } + + } + fireNativeEvent($clinit_DOM()); +} +; +_.onDetach = function onDetach(){ + $onDetach(this); +} +; +_.attached = false; +_.eventsToSink = 0; +var Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Widget', 20); +function $onAttach_0(this$static){ + var tabIndex; + $onAttach(this$static); + tabIndex = ($clinit_DOM() , this$static.element).tabIndex; + -1 == tabIndex && (this$static.element.tabIndex = 0 , undefined); +} + +defineClass(175, 20, $intern_1); +_.onAttach = function onAttach_0(){ + $onAttach_0(this); +} +; +var Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FocusWidget', 175); +function $getCanvasElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function $getContext2d(this$static){ + return ($clinit_DOM() , this$static.element).getContext('2d'); +} + +function $setCoordinateSpaceHeight(this$static, height){ + $setHeight(($clinit_DOM() , this$static.element), height); +} + +function $setCoordinateSpaceWidth(this$static, width_0){ + $setWidth(($clinit_DOM() , this$static.element), width_0); +} + +function Canvas_0(element){ + $setElement(this, ($clinit_DOM() , element)); +} + +function createIfSupported(){ + var element; + !detector && (detector = new Canvas$CanvasElementSupportDetectedMaybe); + element = $doc.createElement('canvas'); + if (!element.getContext) { + return null; + } + return new Canvas_0(element); +} + +defineClass(120, 175, $intern_1, Canvas_0); +var detector; +var Lcom_google_gwt_canvas_client_Canvas_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas', 120); +defineClass(177, 1, {}); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetector_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetector', 177); +function Canvas$CanvasElementSupportDetectedMaybe(){ +} + +defineClass(121, 177, {}, Canvas$CanvasElementSupportDetectedMaybe); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetectedMaybe_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetectedMaybe', 121); +function $set(this$static, i, value_0){ + this$static[i] = value_0; +} + +function $drawImage(this$static, image, dx, dy, dw, dh){ + this$static.drawImage(image, dx, dy, dw, dh); +} + +function $getImageData(this$static, sx, sy, sw, sh){ + return this$static.getImageData(sx, sy, sw, sh); +} + +function $putImageData(this$static, imagedata, x_0, y_0){ + return this$static.putImageData(imagedata, x_0, y_0); +} + +function $getColorAt(this$static, x_0, y_0, offset){ + return this$static.data[4 * (x_0 + y_0 * this$static.width) + offset] || 0; +} + +function $setStackTrace(stackTrace){ + var copy, i, length_0; + length_0 = stackTrace.length; + copy = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 182, length_0, 0, 1); + for (i = 0; i < length_0; ++i) { + copy[i] = throwClassCastExceptionUnlessNull(checkNotNull(stackTrace[i])); + } +} + +function Throwable(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(8, 1, $intern_3); +_.fillInStackTrace = function fillInStackTrace(){ + captureStackTrace(this, this.detailMessage); + return this; +} +; +_.getMessage = function getMessage(){ + return this.detailMessage; +} +; +_.toString$ = function toString_2(){ + var className, msg; + className = $getName(this.___clazz$); + msg = this.getMessage(); + return msg != null?className + ': ' + msg:className; +} +; +var Ljava_lang_Throwable_2_classLit = createForClass('java.lang', 'Throwable', 8); +function Exception(){ + this.fillInStackTrace(); +} + +function Exception_0(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(10, 8, $intern_4); +var Ljava_lang_Exception_2_classLit = createForClass('java.lang', 'Exception', 10); +function RuntimeException(){ + Exception.call(this); +} + +function RuntimeException_0(message){ + Exception_0.call(this, message); +} + +function RuntimeException_1(message){ + Throwable.call(this, message); +} + +defineClass(15, 10, $intern_4); +var Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang', 'RuntimeException', 15); +defineClass(81, 15, $intern_4); +var Lcom_google_gwt_core_client_impl_JavaScriptExceptionBase_2_classLit = createForClass('com.google.gwt.core.client.impl', 'JavaScriptExceptionBase', 81); +function $clinit_JavaScriptException(){ + $clinit_JavaScriptException = emptyMethod; + NOT_SET = new Object_0; +} + +function $ensureInit(this$static){ + var exception; + if (this$static.message_0 == null) { + exception = maskUndefined(this$static.e) === maskUndefined(NOT_SET)?null:this$static.e; + this$static.name_0 = exception == null?'null':instanceOfJso(exception)?getExceptionName0(dynamicCastJso(exception)):isJavaString(exception)?'String':$getName(getClass__Ljava_lang_Class___devirtual$(exception)); + this$static.description = this$static.description + ': ' + (instanceOfJso(exception)?getExceptionDescription0(dynamicCastJso(exception)):exception + ''); + this$static.message_0 = '(' + this$static.name_0 + ') ' + this$static.description; + } +} + +function JavaScriptException(e){ + $clinit_JavaScriptException(); + this.detailMessage = null; + this.description = ''; + this.e = e; + this.description = ''; +} + +function getExceptionDescription0(e){ + return e == null?null:e.message; +} + +function getExceptionName0(e){ + return e == null?null:e.name; +} + +defineClass(37, 81, {37:1, 3:1, 10:1, 8:1}, JavaScriptException); +_.getMessage = function getMessage_0(){ + $ensureInit(this); + return this.message_0; +} +; +_.getThrown = function getThrown(){ + return maskUndefined(this.e) === maskUndefined(NOT_SET)?null:this.e; +} +; +var NOT_SET; +var Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptException', 37); +function now_1(){ + if (Date.now) { + return Date.now(); + } + return (new Date).getTime(); +} + +defineClass(155, 1, {}); +var Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client', 'Scheduler', 155); +function apply_0(jsFunction, thisObj, args){ + return jsFunction.apply(thisObj, args); + var __0; +} + +function enter(){ + var now_0; + if (entryDepth != 0) { + now_0 = now_1(); + if (now_0 - watchdogEntryDepthLastScheduled > 2000) { + watchdogEntryDepthLastScheduled = now_0; + watchdogEntryDepthTimerId = $wnd.setTimeout(watchdogEntryDepthRun, 10); + } + } + if (entryDepth++ == 0) { + $flushEntryCommands(($clinit_SchedulerImpl() , INSTANCE)); + return true; + } + return false; +} + +function entry_0(jsFunction){ + return function(){ + return entry0(jsFunction, this, arguments); + var __0; + } + ; +} + +function entry0(jsFunction, thisObj, args){ + var initialEntry; + initialEntry = enter(); + try { + return apply_0(jsFunction, thisObj, args); + } + finally { + exit(initialEntry); + } +} + +function exit(initialEntry){ + initialEntry && $flushFinallyCommands(($clinit_SchedulerImpl() , INSTANCE)); + --entryDepth; + if (initialEntry) { + if (watchdogEntryDepthTimerId != -1) { + watchdogEntryDepthCancel(watchdogEntryDepthTimerId); + watchdogEntryDepthTimerId = -1; + } + } +} + +function getHashCode(o){ + return o.$H || (o.$H = ++sNextHashId); +} + +function reportToBrowser(e){ + $wnd.setTimeout(function(){ + throw e; + } + , 0); +} + +function watchdogEntryDepthCancel(timerId){ + $wnd.clearTimeout(timerId); +} + +function watchdogEntryDepthRun(){ + entryDepth != 0 && (entryDepth = 0); + watchdogEntryDepthTimerId = -1; +} + +var entryDepth = 0, sNextHashId = 0, watchdogEntryDepthLastScheduled = 0, watchdogEntryDepthTimerId = -1; +function $clinit_SchedulerImpl(){ + $clinit_SchedulerImpl = emptyMethod; + INSTANCE = new SchedulerImpl; +} + +function $flushEntryCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.entryCommands) { + rescheduled = null; + do { + oldQueue = this$static.entryCommands; + this$static.entryCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.entryCommands); + this$static.entryCommands = rescheduled; + } +} + +function $flushFinallyCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.finallyCommands) { + rescheduled = null; + do { + oldQueue = this$static.finallyCommands; + this$static.finallyCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.finallyCommands); + this$static.finallyCommands = rescheduled; + } +} + +function SchedulerImpl(){ +} + +function push_0(queue, task){ + !queue && (queue = []); + queue[queue.length] = task; + return queue; +} + +function runScheduledTasks(tasks, rescheduled){ + var e, i, j, t; + for (i = 0 , j = tasks.length; i < j; i++) { + t = tasks[i]; + try { + t[1]?t[0].nullMethod() && (rescheduled = push_0(rescheduled, t)):t[0].nullMethod(); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + reportToBrowser(instanceOf(e, 37)?dynamicCast(e, 37).getThrown():e); + } + else + throw unwrap($e0); + } + } + return rescheduled; +} + +defineClass(101, 155, {}, SchedulerImpl); +var INSTANCE; +var Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl', 'SchedulerImpl', 101); +function $clinit_StackTraceCreator(){ + $clinit_StackTraceCreator = emptyMethod; + var c, enforceLegacy; + enforceLegacy = !(!!Error.stackTraceLimit || 'stack' in new Error); + c = new StackTraceCreator$CollectorModernNoSourceMap; + collector = enforceLegacy?new StackTraceCreator$CollectorLegacy:c; +} + +function captureStackTrace(throwable, reference){ + $clinit_StackTraceCreator(); + collector.collect(throwable, reference); +} + +function extractFunctionName(fnName){ + var fnRE = /function(?:\s+([\w$]+))?\s*\(/; + var match_0 = fnRE.exec(fnName); + return match_0 && match_0[1] || 'anonymous'; +} + +var collector; +defineClass(166, 1, {}); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/Collector', 166); +function StackTraceCreator$CollectorLegacy(){ +} + +defineClass(82, 166, {}, StackTraceCreator$CollectorLegacy); +_.collect = function collect(t, thrownIgnored){ + var seen = {}, name_1; + t.fnStack = []; + var callee = arguments.callee.caller; + while (callee) { + var name_0 = ($clinit_StackTraceCreator() , callee.name || (callee.name = extractFunctionName(callee.toString()))); + t.fnStack.push(name_0); + var keyName = ':' + name_0; + var withThisName = seen[keyName]; + if (withThisName) { + var i, j; + for (i = 0 , j = withThisName.length; i < j; i++) { + if (withThisName[i] === callee) { + return; + } + } + } + (withThisName || (seen[keyName] = [])).push(callee); + callee = callee.caller; + } +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorLegacy_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorLegacy', 82); +function $clinit_StackTraceCreator$CollectorModern(){ + $clinit_StackTraceCreator$CollectorModern = emptyMethod; + Error.stackTraceLimit = 64; +} + +defineClass(167, 166, {}); +_.collect = function collect_0(t, jsThrown){ + function fixIE(e){ + if (!('stack' in e)) { + try { + throw e; + } + catch (ignored) { + } + } + return e; + } + + var backingJsError; + typeof jsThrown == 'string'?(backingJsError = fixIE(new Error(jsThrown))):jsThrown instanceof Object && 'stack' in jsThrown?(backingJsError = jsThrown):(backingJsError = fixIE(new Error)); + t.__gwt$backingJsError = backingJsError; +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModern_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModern', 167); +function StackTraceCreator$CollectorModernNoSourceMap(){ + $clinit_StackTraceCreator$CollectorModern(); +} + +defineClass(83, 167, {}, StackTraceCreator$CollectorModernNoSourceMap); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModernNoSourceMap_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModernNoSourceMap', 83); +function checkArrayType(expression, errorMessage){ + if (!expression) { + throw new ArrayStoreException_0('' + errorMessage); + } +} + +function checkCriticalArgument(expression){ + if (!expression) { + throw new IllegalArgumentException; + } +} + +function checkCriticalArgument_0(expression, errorMessage){ + if (!expression) { + throw new IllegalArgumentException_0('' + errorMessage); + } +} + +function checkCriticalArgument_1(expression, errorMessageArgs){ + if (!expression) { + throw new IllegalArgumentException_0(format('%s > %s', errorMessageArgs)); + } +} + +function checkCriticalElement(expression){ + if (!expression) { + throw new NoSuchElementException; + } +} + +function checkCriticalPositionIndexes(end, size_0){ + if (end > size_0) { + throw new IndexOutOfBoundsException_0('toIndex: ' + end + ' > size ' + size_0); + } + if (3 > end) { + throw new IllegalArgumentException_0('fromIndex: 3 > toIndex: ' + end); + } +} + +function checkElementIndex(index_0, size_0){ + if (index_0 < 0 || index_0 >= size_0) { + throw new IndexOutOfBoundsException_0('Index: ' + index_0 + ', Size: ' + size_0); + } +} + +function checkNotNull(reference){ + if (reference == null) { + throw new NullPointerException; + } + return reference; +} + +function checkNotNull_0(reference, errorMessage){ + if (reference == null) { + throw new NullPointerException_0('' + errorMessage); + } +} + +function checkPositionIndex(size_0){ + if (0 > size_0) { + throw new IndexOutOfBoundsException_0('Index: 0, Size: ' + size_0); + } +} + +function checkState(expression){ + if (!expression) { + throw new IllegalStateException; + } +} + +function format(template, args){ + var builder, i, placeholderStart, templateStart; + template = '' + template; + builder = new StringBuilder(template.length + 16 * args.length); + templateStart = 0; + i = 0; + while (i < args.length) { + placeholderStart = template.indexOf('%s', templateStart); + if (placeholderStart == -1) { + break; + } + $append_2(builder, template.substr(templateStart, placeholderStart - templateStart)); + $append_1(builder, args[i++]); + templateStart = placeholderStart + 2; + } + $append_2(builder, __substr(template, templateStart, template.length - templateStart)); + if (i < args.length) { + builder.string += ' ['; + $append_1(builder, args[i++]); + while (i < args.length) { + builder.string += ', '; + $append_1(builder, args[i++]); + } + builder.string += ']'; + } + return builder.string; +} + +function $appendChild(this$static, newChild){ + return this$static.appendChild(newChild); +} + +function $removeChild(this$static, oldChild){ + return this$static.removeChild(oldChild); +} + +function $setHeight(this$static, height){ + this$static.height = height; +} + +function $setWidth(this$static, width_0){ + this$static.width = width_0; +} + +function $eventGetRelatedTarget(evt){ + var relatedTarget = evt.relatedTarget; + if (!relatedTarget) { + return null; + } + try { + var nodeName = relatedTarget.nodeName; + return relatedTarget; + } + catch (e) { + return null; + } +} + +function $isOrHasChild(parent_0, child){ + return parent_0 === child || !!(parent_0.compareDocumentPosition(child) & 16); +} + +function $toString(elem){ + var doc = elem.ownerDocument; + var temp = elem.cloneNode(true); + var tempDiv = doc.createElement('DIV'); + tempDiv.appendChild(temp); + outer = tempDiv.innerHTML; + temp.innerHTML = ''; + return outer; +} + +function fireNativeEvent(){ +} + +function makeCause(causes){ + var iterator; + iterator = $iterator(new AbstractMap$1(causes.map_0)); + if (!$hasNext(iterator.val$outerIter2)) { + return null; + } + return dynamicCast($next_1(iterator), 8); +} + +function makeMessage(causes){ + var b, count, first, t, t$iterator; + count = causes.map_0.size_0; + if (count == 0) { + return null; + } + b = new StringBuilder_0(count == 1?'Exception caught: ':count + ' exceptions caught: '); + first = true; + for (t$iterator = $iterator(new AbstractMap$1(causes.map_0)); $hasNext(t$iterator.val$outerIter2);) { + t = dynamicCast($next_1(t$iterator), 8); + first?(first = false):(b.string += '; ' , b); + $append_2(b, t.getMessage()); + } + return b.string; +} + +defineClass(109, 15, $intern_4); +var Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit = createForClass('com.google.web.bindery.event.shared', 'UmbrellaException', 109); +defineClass(110, 109, $intern_4); +var Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared', 'UmbrellaException', 110); +function cloneSubrange(array, toIndex){ + var result; + result = array.slice(0, toIndex); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function createFrom(array, length_0){ + var result; + result = initializeArrayElementsWithDefaults(0, length_0); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function getClassLiteralForArray(clazz, dimensions){ + return getClassLiteralForArray_0(clazz, dimensions); +} + +function initDim(leafClassLiteral, castableTypeMap, elementTypeId, length_0, elementTypeCategory, dimensions){ + var result; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, dimensions), castableTypeMap, elementTypeId, elementTypeCategory, result); + return result; +} + +function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, count){ + return initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, 0, count); +} + +function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count){ + var elementTypeCategory, i, isLastDim, length_0, result; + length_0 = dimExprs[index_0]; + isLastDim = index_0 == count - 1; + elementTypeCategory = isLastDim?leafElementTypeCategory:0; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, count - index_0), castableTypeMapExprs[index_0], elementTypeIds[index_0], elementTypeCategory, result); + if (!isLastDim) { + ++index_0; + for (i = 0; i < length_0; ++i) { + result[i] = initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count); + } + } + return result; +} + +function initValues(arrayClass, castableTypeMap, elementTypeId, elementTypeCategory, array){ + array.___clazz$ = arrayClass; + array.castableTypeMap$ = castableTypeMap; + array.typeMarker$ = typeMarkerFn; + array.__elementTypeId$ = elementTypeId; + array.__elementTypeCategory$ = elementTypeCategory; + return array; +} + +function initializeArrayElementsWithDefaults(elementTypeCategory, length_0){ + var array = new Array(length_0); + var initValue; + switch (elementTypeCategory) { + case 6: + initValue = {l:0, m:0, h:0}; + break; + case 7: + initValue = 0; + break; + case 8: + initValue = false; + break; + default:return array; + } + for (var i = 0; i < length_0; ++i) { + array[i] = initValue; + } + return array; +} + +function nativeArraySplice(src_0, srcOfs, dest, destOfs, len, overwrite){ + if (src_0 === dest) { + src_0 = src_0.slice(srcOfs, srcOfs + len); + srcOfs = 0; + } + for (var batchStart = srcOfs, end = srcOfs + len; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + len = batchEnd - batchStart; + Array.prototype.splice.apply(dest, [destOfs, overwrite?len:0].concat(src_0.slice(batchStart, batchEnd))); + batchStart = batchEnd; + destOfs += len; + } +} + +function setCheck(array, index_0, value_0){ + var elementTypeId; + if (value_0 != null) { + switch (array.__elementTypeCategory$) { + case 4: + if (!isJavaString(value_0)) { + throw new ArrayStoreException; + } + + break; + case 0: + { + elementTypeId = array.__elementTypeId$; + if (!canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + case 2: + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0))) { + throw new ArrayStoreException; + } + + break; + case 1: + { + elementTypeId = array.__elementTypeId$; + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0)) && !canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + } + } + return array[index_0] = value_0; +} + +function cacheJavaScriptException(e, jse){ + if (e && typeof e == 'object') { + try { + e.__gwt$exception = jse; + } + catch (ignored) { + } + } +} + +function unwrap(e){ + var jse; + if (instanceOf(e, 37)) { + jse = dynamicCast(e, 37); + if (maskUndefined(jse.e) !== maskUndefined(($clinit_JavaScriptException() , NOT_SET))) { + return maskUndefined(jse.e) === maskUndefined(NOT_SET)?null:jse.e; + } + } + return e; +} + +function wrap(e){ + var jse; + if (instanceOf(e, 8)) { + return e; + } + jse = e && e.__gwt$exception; + if (!jse) { + jse = new JavaScriptException(e); + captureStackTrace(jse, e); + cacheJavaScriptException(e, jse); + } + return jse; +} + +function create(value_0){ + var a0, a1, a2; + a0 = value_0 & $intern_5; + a1 = value_0 >> 22 & $intern_5; + a2 = value_0 < 0?$intern_6:0; + return create0(a0, a1, a2); +} + +function create0(l, m, h){ + return {l:l, m:m, h:h}; +} + +function toDoubleHelper(a){ + return a.l + a.m * $intern_7 + a.h * $intern_8; +} + +function and(a, b){ + return {l:a.l & b.l, m:a.m & b.m, h:a.h & b.h}; +} + +function eq(a, b){ + return a.l == b.l && a.m == b.m && a.h == b.h; +} + +function fromDouble(value_0){ + var a0, a1, a2, negative, result, neg0, neg1, neg2; + if (isNaN_0(value_0)) { + return $clinit_LongLib$Const() , ZERO; + } + if (value_0 < $intern_9) { + return $clinit_LongLib$Const() , MIN_VALUE; + } + if (value_0 >= 9223372036854775807) { + return $clinit_LongLib$Const() , MAX_VALUE; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + a2 = 0; + if (value_0 >= $intern_8) { + a2 = round_int(value_0 / $intern_8); + value_0 -= a2 * $intern_8; + } + a1 = 0; + if (value_0 >= $intern_7) { + a1 = round_int(value_0 / $intern_7); + value_0 -= a1 * $intern_7; + } + a0 = round_int(value_0); + result = create0(a0, a1, a2); + negative && (neg0 = ~result.l + 1 & $intern_5 , neg1 = ~result.m + (neg0 == 0?1:0) & $intern_5 , neg2 = ~result.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_6 , result.l = neg0 , result.m = neg1 , result.h = neg2 , undefined); + return result; +} + +function fromInt(value_0){ + var rebase, result; + if (value_0 > -129 && value_0 < 128) { + rebase = value_0 + 128; + boxedValues == null && (boxedValues = initDim(Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, $intern_2, 184, 256, 0, 1)); + result = boxedValues[rebase]; + !result && (result = boxedValues[rebase] = create(value_0)); + return result; + } + return create(value_0); +} + +function gte(a, b){ + var signa, signb; + signa = a.h >> 19; + signb = b.h >> 19; + return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l); +} + +function or(a, b){ + return {l:a.l | b.l, m:a.m | b.m, h:a.h | b.h}; +} + +function shl(a, n){ + var res0, res1, res2; + n &= 63; + if (n < 22) { + res0 = a.l << n; + res1 = a.m << n | a.l >> 22 - n; + res2 = a.h << n | a.m >> 22 - n; + } + else if (n < 44) { + res0 = 0; + res1 = a.l << n - 22; + res2 = a.m << n - 22 | a.l >> 44 - n; + } + else { + res0 = 0; + res1 = 0; + res2 = a.l << n - 44; + } + return {l:res0 & $intern_5, m:res1 & $intern_5, h:res2 & $intern_6}; +} + +function shr(a, n){ + var a2, negative, res0, res1, res2; + n &= 63; + a2 = a.h; + negative = (a2 & $intern_10) != 0; + negative && (a2 |= -1048576); + if (n < 22) { + res2 = a2 >> n; + res1 = a.m >> n | a2 << 22 - n; + res0 = a.l >> n | a.m << 22 - n; + } + else if (n < 44) { + res2 = negative?$intern_6:0; + res1 = a2 >> n - 22; + res0 = a.m >> n - 22 | a2 << 44 - n; + } + else { + res2 = negative?$intern_6:0; + res1 = negative?$intern_5:0; + res0 = a2 >> n - 44; + } + return {l:res0 & $intern_5, m:res1 & $intern_5, h:res2 & $intern_6}; +} + +function sub_0(a, b){ + var sum0, sum1, sum2; + sum0 = a.l - b.l; + sum1 = a.m - b.m + (sum0 >> 22); + sum2 = a.h - b.h + (sum1 >> 22); + return {l:sum0 & $intern_5, m:sum1 & $intern_5, h:sum2 & $intern_6}; +} + +function toDouble(a){ + var neg0, neg1, neg2; + if (eq(a, ($clinit_LongLib$Const() , MIN_VALUE))) { + return $intern_9; + } + if (!gte(a, ZERO)) { + return -toDoubleHelper((neg0 = ~a.l + 1 & $intern_5 , neg1 = ~a.m + (neg0 == 0?1:0) & $intern_5 , neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_6 , create0(neg0, neg1, neg2))); + } + return a.l + a.m * $intern_7 + a.h * $intern_8; +} + +function toInt(a){ + return a.l | a.m << 22; +} + +var boxedValues; +function $clinit_LongLib$Const(){ + $clinit_LongLib$Const = emptyMethod; + MAX_VALUE = create0($intern_5, $intern_5, 524287); + MIN_VALUE = create0(0, 0, $intern_10); + fromInt(1); + fromInt(2); + ZERO = fromInt(0); +} + +var MAX_VALUE, MIN_VALUE, ZERO; +function hasTypeMarker(o){ + return o.typeMarker$ === typeMarkerFn; +} + +function init(){ + $wnd.setTimeout($entry(assertCompileTimeUserAgent)); + $onModuleLoad(); + $clinit_ExporterUtil(); + new AsyncQRCallback_ExporterImpl; + new JsQRScanner_ExporterImpl; + $wnd.JsQRScannerReady && $wnd.JsQRScannerReady(); +} + +function $getMediaElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function $setAutoplay(this$static){ + ($clinit_DOM() , this$static.element).setAttribute('autoplay', ''); +} + +function $setSrc(this$static){ + ($clinit_DOM() , this$static.element).src = ''; +} + +defineClass(115, 175, $intern_1); +var Lcom_google_gwt_media_client_MediaBase_2_classLit = createForClass('com.google.gwt.media.client', 'MediaBase', 115); +function $getVideoElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function Video(element){ + $setElement(this, ($clinit_DOM() , element)); +} + +function createIfSupported_0(){ + var element; + !detector_0 && (detector_0 = new Video$VideoElementSupportDetectedMaybe); + element = $doc.createElement('video'); + if (!element.canPlayType) { + return null; + } + return new Video(element); +} + +defineClass(116, 115, $intern_1, Video); +var detector_0; +var Lcom_google_gwt_media_client_Video_2_classLit = createForClass('com.google.gwt.media.client', 'Video', 116); +defineClass(176, 1, {}); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetector_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetector', 176); +function Video$VideoElementSupportDetectedMaybe(){ +} + +defineClass(117, 176, {}, Video$VideoElementSupportDetectedMaybe); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetectedMaybe_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetectedMaybe', 117); +function $clinit_DOM(){ + $clinit_DOM = emptyMethod; + $clinit_DOMImplMozilla(); +} + +function dispatchEvent_0(evt, elem, listener){ + $clinit_DOM(); + var prevCurrentEvent; + prevCurrentEvent = currentEvent; + currentEvent = evt; + elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null); + listener.onBrowserEvent(evt); + currentEvent = prevCurrentEvent; +} + +function resolve(maybePotential){ + $clinit_DOM(); + return maybePotential.__gwt_resolve?maybePotential.__gwt_resolve():maybePotential; +} + +var currentEvent = null, sCaptureElem; +function $onModuleLoad(){ + var allowedModes, currentMode, i; + currentMode = $doc.compatMode; + allowedModes = initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['CSS1Compat']); + for (i = 0; i < allowedModes.length; i++) { + if ($equals(allowedModes[i], currentMode)) { + return; + } + } + allowedModes.length == 1 && $equals('CSS1Compat', allowedModes[0]) && $equals('BackCompat', currentMode)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').
Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\"document.compatMode\" value=\"" + currentMode + '"/>':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' " + currentMode + "').
Modify your application's host HTML page doctype, or update your custom " + "'document.compatMode' configuration property settings."; +} + +function $cancel(this$static){ + if (!this$static.timerId) { + return; + } + ++this$static.cancelCounter; + this$static.isRepeating?clearInterval_0(this$static.timerId.value_0):clearTimeout_0(this$static.timerId.value_0); + this$static.timerId = null; +} + +function $schedule(this$static, delayMillis){ + if (delayMillis < 0) { + throw new IllegalArgumentException_0('must be non-negative'); + } + !!this$static.timerId && $cancel(this$static); + this$static.isRepeating = false; + this$static.timerId = valueOf(setTimeout_0(createCallback(this$static, this$static.cancelCounter), delayMillis)); +} + +function clearInterval_0(timerId){ + $wnd.clearInterval(timerId); +} + +function clearTimeout_0(timerId){ + $wnd.clearTimeout(timerId); +} + +function createCallback(timer, cancelCounter){ + return $entry(function(){ + timer.fire(cancelCounter); + } + ); +} + +function setTimeout_0(func, time){ + return $wnd.setTimeout(func, time); +} + +defineClass(107, 1, {}); +_.fire = function fire(scheduleCancelCounter){ + if (scheduleCancelCounter != this.cancelCounter) { + return; + } + this.isRepeating || (this.timerId = null); + $scan(this.this$01); +} +; +_.cancelCounter = 0; +_.isRepeating = false; +_.timerId = null; +var Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client', 'Timer', 107); +function $eventGetTypeInt(eventType){ + switch (eventType) { + case 'blur': + return 4096; + case 'change': + return 1024; + case 'click': + return 1; + case 'dblclick': + return 2; + case 'focus': + return 2048; + case 'keydown': + return 128; + case 'keypress': + return 256; + case 'keyup': + return 512; + case 'load': + return 32768; + case 'losecapture': + return 8192; + case 'mousedown': + return 4; + case 'mousemove': + return 64; + case 'mouseout': + return 32; + case 'mouseover': + return 16; + case 'mouseup': + return 8; + case 'scroll': + return 16384; + case 'error': + return $intern_11; + case 'DOMMouseScroll': + case 'mousewheel': + return $intern_12; + case 'contextmenu': + return 262144; + case 'paste': + return $intern_10; + case 'touchstart': + return $intern_13; + case 'touchmove': + return 2097152; + case 'touchend': + return $intern_7; + case 'touchcancel': + return $intern_14; + case 'gesturestart': + return $intern_15; + case 'gesturechange': + return $intern_16; + case 'gestureend': + return $intern_17; + default:return -1; + } +} + +function $maybeInitializeEventSystem(){ + if (!eventSystemIsInitialized) { + $initEventSystem(); + $initSyntheticMouseUpEvents(); + eventSystemIsInitialized = true; + } +} + +function getEventListener(elem){ + var maybeListener = elem.__listener; + return !instanceOfJso(maybeListener) && instanceOf(maybeListener, 31)?maybeListener:null; +} + +function setEventListener(elem, listener){ + elem.__listener = listener; +} + +var eventSystemIsInitialized = false; +function $clinit_DOMImplStandard(){ + $clinit_DOMImplStandard = emptyMethod; + bitlessEventDispatchers = {_default_:dispatchEvent_2, dragenter:dispatchDragEvent, dragover:dispatchDragEvent}; + captureEventDispatchers = {click:dispatchCapturedMouseEvent, dblclick:dispatchCapturedMouseEvent, mousedown:dispatchCapturedMouseEvent, mouseup:dispatchCapturedMouseEvent, mousemove:dispatchCapturedMouseEvent, mouseover:dispatchCapturedMouseEvent, mouseout:dispatchCapturedMouseEvent, mousewheel:dispatchCapturedMouseEvent, keydown:dispatchCapturedEvent, keyup:dispatchCapturedEvent, keypress:dispatchCapturedEvent, touchstart:dispatchCapturedMouseEvent, touchend:dispatchCapturedMouseEvent, touchmove:dispatchCapturedMouseEvent, touchcancel:dispatchCapturedMouseEvent, gesturestart:dispatchCapturedMouseEvent, gestureend:dispatchCapturedMouseEvent, gesturechange:dispatchCapturedMouseEvent}; +} + +function $initEventSystem(){ + dispatchEvent_1 = $entry(dispatchEvent_2); + dispatchUnhandledEvent = $entry(dispatchUnhandledEvent_0); + var foreach = foreach_0; + var bitlessEvents = bitlessEventDispatchers; + foreach(bitlessEvents, function(e, fn){ + bitlessEvents[e] = $entry(fn); + } + ); + var captureEvents_0 = captureEventDispatchers; + foreach(captureEvents_0, function(e, fn){ + captureEvents_0[e] = $entry(fn); + } + ); + foreach(captureEvents_0, function(e, fn){ + $wnd.addEventListener(e, fn, true); + } + ); +} + +function $sinkEventsImpl(elem, bits){ + var chMask = (elem.__eventBits || 0) ^ bits; + elem.__eventBits = bits; + if (!chMask) + return; + chMask & 1 && (elem.onclick = bits & 1?dispatchEvent_1:null); + chMask & 2 && (elem.ondblclick = bits & 2?dispatchEvent_1:null); + chMask & 4 && (elem.onmousedown = bits & 4?dispatchEvent_1:null); + chMask & 8 && (elem.onmouseup = bits & 8?dispatchEvent_1:null); + chMask & 16 && (elem.onmouseover = bits & 16?dispatchEvent_1:null); + chMask & 32 && (elem.onmouseout = bits & 32?dispatchEvent_1:null); + chMask & 64 && (elem.onmousemove = bits & 64?dispatchEvent_1:null); + chMask & 128 && (elem.onkeydown = bits & 128?dispatchEvent_1:null); + chMask & 256 && (elem.onkeypress = bits & 256?dispatchEvent_1:null); + chMask & 512 && (elem.onkeyup = bits & 512?dispatchEvent_1:null); + chMask & 1024 && (elem.onchange = bits & 1024?dispatchEvent_1:null); + chMask & 2048 && (elem.onfocus = bits & 2048?dispatchEvent_1:null); + chMask & 4096 && (elem.onblur = bits & 4096?dispatchEvent_1:null); + chMask & 8192 && (elem.onlosecapture = bits & 8192?dispatchEvent_1:null); + chMask & 16384 && (elem.onscroll = bits & 16384?dispatchEvent_1:null); + chMask & 32768 && (elem.onload = bits & 32768?dispatchUnhandledEvent:null); + chMask & $intern_11 && (elem.onerror = bits & $intern_11?dispatchEvent_1:null); + chMask & $intern_12 && (elem.onmousewheel = bits & $intern_12?dispatchEvent_1:null); + chMask & 262144 && (elem.oncontextmenu = bits & 262144?dispatchEvent_1:null); + chMask & $intern_10 && (elem.onpaste = bits & $intern_10?dispatchEvent_1:null); + chMask & $intern_13 && (elem.ontouchstart = bits & $intern_13?dispatchEvent_1:null); + chMask & 2097152 && (elem.ontouchmove = bits & 2097152?dispatchEvent_1:null); + chMask & $intern_7 && (elem.ontouchend = bits & $intern_7?dispatchEvent_1:null); + chMask & $intern_14 && (elem.ontouchcancel = bits & $intern_14?dispatchEvent_1:null); + chMask & $intern_15 && (elem.ongesturestart = bits & $intern_15?dispatchEvent_1:null); + chMask & $intern_16 && (elem.ongesturechange = bits & $intern_16?dispatchEvent_1:null); + chMask & $intern_17 && (elem.ongestureend = bits & $intern_17?dispatchEvent_1:null); +} + +function dispatchCapturedEvent(evt){ + $clinit_DOM(); +} + +function dispatchCapturedMouseEvent(evt){ + $clinit_DOMImplStandard(); + $clinit_DOM(); + return; +} + +function dispatchDragEvent(evt){ + evt.preventDefault(); + dispatchEvent_2(evt); +} + +function dispatchEvent_2(evt){ + var element; + element = getFirstAncestorWithListener(evt); + if (!element) { + return; + } + dispatchEvent_0(evt, element.nodeType != 1?null:element, getEventListener(element)); +} + +function dispatchUnhandledEvent_0(evt){ + var element; + element = evt.currentTarget; + element['__gwtLastUnhandledEvent'] = evt.type; + dispatchEvent_2(evt); +} + +function getFirstAncestorWithListener(evt){ + var curElem; + curElem = evt.currentTarget; + while (!!curElem && !getEventListener(curElem)) { + curElem = curElem.parentNode; + } + return curElem; +} + +var bitlessEventDispatchers, captureElem, captureEventDispatchers, dispatchEvent_1, dispatchUnhandledEvent; +function $clinit_DOMImplMozilla(){ + $clinit_DOMImplMozilla = emptyMethod; + $clinit_DOMImplStandard(); + captureEventDispatchers['DOMMouseScroll'] = dispatchCapturedMouseEvent; +} + +function $initSyntheticMouseUpEvents(){ + $wnd.addEventListener('mouseout', $entry(function(evt){ + var cap = ($clinit_DOMImplStandard() , captureElem); + if (cap && !evt.relatedTarget) { + if ('html' == evt.target.tagName.toLowerCase()) { + var muEvent = $doc.createEvent('MouseEvents'); + muEvent.initMouseEvent('mouseup', true, true, $wnd, 0, evt.screenX, evt.screenY, evt.clientX, evt.clientY, evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, evt.button, null); + cap.dispatchEvent(muEvent); + } + } + } + ), true); +} + +function $sinkEvents(elem, bits){ + $maybeInitializeEventSystem(); + $sinkEventsImpl(elem, bits); + bits & $intern_12 && elem.addEventListener('DOMMouseScroll', ($clinit_DOMImplStandard() , dispatchEvent_1), false); +} + +function foreach_0(map_0, fn){ + for (var e in map_0) { + map_0.hasOwnProperty(e) && fn(e, map_0[e]); + } +} + +defineClass(174, 20, $intern_1); +_.doAttachChildren = function doAttachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , attachCommand)); +} +; +_.doDetachChildren = function doDetachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , detachCommand)); +} +; +var Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Panel', 174); +function $add(this$static, child, container){ + $removeFromParent(child); + $add_1(this$static.children, child); + $clinit_DOM(); + $appendChild(container, resolve(child.element)); + $setParent(child, this$static); +} + +function $remove(this$static, w){ + var elem, parent_0; + if (w.parent_0 != this$static) { + return false; + } + try { + $setParent(w, null); + } + finally { + elem = ($clinit_DOM() , w.element); + $removeChild((null , parent_0 = elem.parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0), elem); + $remove_1(this$static.children, w); + } + return true; +} + +defineClass(103, 174, $intern_1); +_.iterator = function iterator_0(){ + return new WidgetCollection$WidgetIterator(this.children); +} +; +var Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'ComplexPanel', 103); +function $clinit_AttachDetachException(){ + $clinit_AttachDetachException = emptyMethod; + attachCommand = new AttachDetachException$1; + detachCommand = new AttachDetachException$2; +} + +function AttachDetachException(causes){ + RuntimeException_1.call(this, makeMessage(causes), makeCause(causes)); +} + +function tryCommand(hasWidgets, c){ + var old; + $clinit_AttachDetachException(); + var caught, e, w, w$iterator; + caught = null; + for (w$iterator = hasWidgets.iterator(); w$iterator.hasNext();) { + w = dynamicCast(w$iterator.next(), 20); + try { + c.execute_0(w); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + !caught && (caught = new HashSet); + old = $put(caught.map_0, e, caught); + } + else + throw unwrap($e0); + } + } + if (caught) { + throw new AttachDetachException(caught); + } +} + +defineClass(111, 110, $intern_4, AttachDetachException); +var attachCommand, detachCommand; +var Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException', 111); +function AttachDetachException$1(){ +} + +defineClass(112, 1, {}, AttachDetachException$1); +_.execute_0 = function execute(w){ + w.onAttach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/1', 112); +function AttachDetachException$2(){ +} + +defineClass(113, 1, {}, AttachDetachException$2); +_.execute_0 = function execute_0(w){ + w.onDetach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/2', 113); +function $add_0(this$static, w){ + $add(this$static, w, ($clinit_DOM() , this$static.element)); +} + +defineClass(75, 103, $intern_1); +var Lcom_google_gwt_user_client_ui_FlowPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FlowPanel', 75); +function $clinit_RootPanel(){ + $clinit_RootPanel = emptyMethod; + new HashMap; + widgetsToDetach = new HashSet; +} + +function detachNow(widget){ + $clinit_RootPanel(); + try { + $onDetach(widget); + } + finally { + $remove_4(widgetsToDetach, widget); + } +} + +var widgetsToDetach; +function $add_1(this$static, w){ + $insert(this$static, w, this$static.size_0); +} + +function $indexOf(this$static, w){ + var i; + for (i = 0; i < this$static.size_0; ++i) { + if (this$static.array[i] == w) { + return i; + } + } + return -1; +} + +function $insert(this$static, w, beforeIndex){ + var i, i0, newArray; + if (beforeIndex < 0 || beforeIndex > this$static.size_0) { + throw new IndexOutOfBoundsException; + } + if (this$static.size_0 == this$static.array.length) { + newArray = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 20, this$static.array.length * 2, 0, 1); + for (i0 = 0; i0 < this$static.array.length; ++i0) { + setCheck(newArray, i0, this$static.array[i0]); + } + this$static.array = newArray; + } + ++this$static.size_0; + for (i = this$static.size_0 - 1; i > beforeIndex; --i) { + setCheck(this$static.array, i, this$static.array[i - 1]); + } + setCheck(this$static.array, beforeIndex, w); +} + +function $remove_0(this$static, index_0){ + var i; + if (index_0 < 0 || index_0 >= this$static.size_0) { + throw new IndexOutOfBoundsException; + } + --this$static.size_0; + for (i = index_0; i < this$static.size_0; ++i) { + setCheck(this$static.array, i, this$static.array[i + 1]); + } + setCheck(this$static.array, this$static.size_0, null); +} + +function $remove_1(this$static, w){ + var index_0; + index_0 = $indexOf(this$static, w); + if (index_0 == -1) { + throw new NoSuchElementException; + } + $remove_0(this$static, index_0); +} + +function WidgetCollection(){ + this.array = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 20, 4, 0, 1); +} + +defineClass(119, 1, {}, WidgetCollection); +_.iterator = function iterator_1(){ + return new WidgetCollection$WidgetIterator(this); +} +; +_.size_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection', 119); +function $next(this$static){ + if (this$static.index_0 >= this$static.this$01.size_0) { + throw new NoSuchElementException; + } + this$static.currentWidget = this$static.this$01.array[this$static.index_0]; + ++this$static.index_0; + return this$static.currentWidget; +} + +function WidgetCollection$WidgetIterator(this$0){ + this.this$01 = this$0; +} + +defineClass(76, 1, {}, WidgetCollection$WidgetIterator); +_.hasNext = function hasNext(){ + return this.index_0 < this.this$01.size_0; +} +; +_.next = function next(){ + return $next(this); +} +; +_.index_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection/WidgetIterator', 76); +function assertCompileTimeUserAgent(){ + var runtimeValue; + runtimeValue = $getRuntimeValue(); + if (!$equals('gecko1_8', runtimeValue)) { + throw new UserAgentAsserter$UserAgentAssertionError(runtimeValue); + } +} + +function Error_0(message){ + Throwable.call(this, message); +} + +defineClass(59, 8, $intern_3); +var Ljava_lang_Error_2_classLit = createForClass('java.lang', 'Error', 59); +defineClass(18, 59, $intern_3); +var Ljava_lang_AssertionError_2_classLit = createForClass('java.lang', 'AssertionError', 18); +function UserAgentAsserter$UserAgentAssertionError(runtimeValue){ + Error_0.call(this, '' + ('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (gecko1_8) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.'), instanceOf('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (gecko1_8) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8)?dynamicCast('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (gecko1_8) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8):null); +} + +defineClass(80, 18, $intern_3, UserAgentAsserter$UserAgentAssertionError); +var Lcom_google_gwt_useragent_client_UserAgentAsserter$UserAgentAssertionError_2_classLit = createForClass('com.google.gwt.useragent.client', 'UserAgentAsserter/UserAgentAssertionError', 80); +function $getRuntimeValue(){ + var ua = navigator.userAgent.toLowerCase(); + var docMode = $doc.documentMode; + if (function(){ + return ua.indexOf('webkit') != -1; + } + ()) + return 'safari'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 10 && docMode < 11; + } + ()) + return 'ie10'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 9 && docMode < 11; + } + ()) + return 'ie9'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 8 && docMode < 11; + } + ()) + return 'ie8'; + if (function(){ + return ua.indexOf('gecko') != -1 || docMode >= 11; + } + ()) + return 'gecko1_8'; + return 'unknown'; +} + +defineClass(126, 1, {}); +var Lcom_google_zxing_Binarizer_2_classLit = createForClass('com.google.zxing', 'Binarizer', 126); +function BinaryBitmap(binarizer){ + this.binarizer = binarizer; +} + +defineClass(124, 1, {}, BinaryBitmap); +_.toString$ = function toString_3(){ + try { + return $toString_0((!this.matrix && (this.matrix = $getBlackMatrix_0(this.binarizer)) , this.matrix)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 54)) { + return ''; + } + else + throw unwrap($e0); + } +} +; +var Lcom_google_zxing_BinaryBitmap_2_classLit = createForClass('com.google.zxing', 'BinaryBitmap', 124); +function $clinit_ReaderException(){ + $clinit_ReaderException = emptyMethod; + NO_TRACE = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 182, 0, 0, 1); +} + +function ReaderException(){ + $clinit_ReaderException(); + Exception.call(this); +} + +defineClass(64, 10, $intern_4); +_.fillInStackTrace = function fillInStackTrace_0(){ + return null; +} +; +var NO_TRACE; +var Lcom_google_zxing_ReaderException_2_classLit = createForClass('com.google.zxing', 'ReaderException', 64); +function $clinit_ChecksumException(){ + $clinit_ChecksumException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_0 = new ChecksumException; + $setStackTrace(NO_TRACE); +} + +function ChecksumException(){ + ReaderException.call(this); +} + +defineClass(55, 64, {55:1, 3:1, 10:1, 8:1}, ChecksumException); +var INSTANCE_0; +var Lcom_google_zxing_ChecksumException_2_classLit = createForClass('com.google.zxing', 'ChecksumException', 55); +function $clinit_FormatException(){ + $clinit_FormatException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_1 = new FormatException; + $setStackTrace(NO_TRACE); +} + +function FormatException(){ + ReaderException.call(this); +} + +defineClass(56, 64, {56:1, 3:1, 10:1, 8:1}, FormatException); +var INSTANCE_1; +var Lcom_google_zxing_FormatException_2_classLit = createForClass('com.google.zxing', 'FormatException', 56); +defineClass(125, 1, {}); +_.toString$ = function toString_4(){ + var c, luminance, result, row, x_0, y_0; + row = initDim(B_classLit, $intern_18, 0, this.width_0, 7, 1); + result = new StringBuilder; + for (y_0 = 0; y_0 < this.height_0; y_0++) { + row = $getRow(this, y_0, row); + for (x_0 = 0; x_0 < this.width_0; x_0++) { + luminance = row[x_0] & 255; + luminance < 64?(c = 35):luminance < 128?(c = 43):luminance < 192?(c = 46):(c = 32); + result.string += charToString(c); + } + result.string += '\n'; + } + return result.string; +} +; +_.height_0 = 0; +_.width_0 = 0; +var Lcom_google_zxing_LuminanceSource_2_classLit = createForClass('com.google.zxing', 'LuminanceSource', 125); +function $clinit_NotFoundException(){ + $clinit_NotFoundException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_2 = new NotFoundException; + $setStackTrace(NO_TRACE); +} + +function NotFoundException(){ + ReaderException.call(this); +} + +defineClass(54, 64, {54:1, 3:1, 10:1, 8:1}, NotFoundException); +var INSTANCE_2; +var Lcom_google_zxing_NotFoundException_2_classLit = createForClass('com.google.zxing', 'NotFoundException', 54); +function $putMetadata(this$static, type_0, value_0){ + !this$static.resultMetadata && (this$static.resultMetadata = new EnumMap(Lcom_google_zxing_ResultMetadataType_2_classLit)); + $put_1(this$static.resultMetadata, type_0, value_0); +} + +function Result(text_0){ + Result_0.call(this, text_0, fromDouble(now_1())); +} + +function Result_0(text_0){ + this.text_0 = text_0; + this.resultMetadata = null; +} + +defineClass(63, 1, {}, Result); +_.toString$ = function toString_5(){ + return this.text_0; +} +; +var Lcom_google_zxing_Result_2_classLit = createForClass('com.google.zxing', 'Result', 63); +function $compareTo(this$static, other){ + return this$static.ordinal - other.ordinal; +} + +function Enum(name_0, ordinal){ + this.name_0 = name_0; + this.ordinal = ordinal; +} + +defineClass(13, 1, {3:1, 19:1, 13:1}); +_.compareTo = function compareTo(other){ + return $compareTo(this, dynamicCast(other, 13)); +} +; +_.equals$ = function equals_0(other){ + return this === other; +} +; +_.hashCode$ = function hashCode_1(){ + return getHashCode(this); +} +; +_.toString$ = function toString_6(){ + return this.name_0 != null?this.name_0:'' + this.ordinal; +} +; +_.ordinal = 0; +var Ljava_lang_Enum_2_classLit = createForClass('java.lang', 'Enum', 13); +function $clinit_ResultMetadataType(){ + $clinit_ResultMetadataType = emptyMethod; + OTHER = new ResultMetadataType('OTHER', 0); + ORIENTATION = new ResultMetadataType('ORIENTATION', 1); + BYTE_SEGMENTS = new ResultMetadataType('BYTE_SEGMENTS', 2); + ERROR_CORRECTION_LEVEL = new ResultMetadataType('ERROR_CORRECTION_LEVEL', 3); + ISSUE_NUMBER = new ResultMetadataType('ISSUE_NUMBER', 4); + SUGGESTED_PRICE = new ResultMetadataType('SUGGESTED_PRICE', 5); + POSSIBLE_COUNTRY = new ResultMetadataType('POSSIBLE_COUNTRY', 6); + UPC_EAN_EXTENSION = new ResultMetadataType('UPC_EAN_EXTENSION', 7); + PDF417_EXTRA_METADATA = new ResultMetadataType('PDF417_EXTRA_METADATA', 8); + STRUCTURED_APPEND_SEQUENCE = new ResultMetadataType('STRUCTURED_APPEND_SEQUENCE', 9); + STRUCTURED_APPEND_PARITY = new ResultMetadataType('STRUCTURED_APPEND_PARITY', 10); +} + +function ResultMetadataType(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_0(){ + $clinit_ResultMetadataType(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_ResultMetadataType_2_classLit, 1), $intern_19, 21, 0, [OTHER, ORIENTATION, BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, SUGGESTED_PRICE, POSSIBLE_COUNTRY, UPC_EAN_EXTENSION, PDF417_EXTRA_METADATA, STRUCTURED_APPEND_SEQUENCE, STRUCTURED_APPEND_PARITY]); +} + +defineClass(21, 13, {21:1, 3:1, 19:1, 13:1}, ResultMetadataType); +var BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, ORIENTATION, OTHER, PDF417_EXTRA_METADATA, POSSIBLE_COUNTRY, STRUCTURED_APPEND_PARITY, STRUCTURED_APPEND_SEQUENCE, SUGGESTED_PRICE, UPC_EAN_EXTENSION; +var Lcom_google_zxing_ResultMetadataType_2_classLit = createForEnum('com.google.zxing', 'ResultMetadataType', 21, values_0); +function ResultPoint(x_0, y_0){ + this.x_0 = x_0; + this.y_0 = y_0; +} + +function distance(pattern1, pattern2){ + return distance_0(pattern1.x_0, pattern1.y_0, pattern2.x_0, pattern2.y_0); +} + +function orderBestPatterns(patterns){ + var oneTwoDistance, pointA, pointB, pointC, temp, zeroOneDistance, zeroTwoDistance, bX, bY; + zeroOneDistance = distance(patterns[0], patterns[1]); + oneTwoDistance = distance(patterns[1], patterns[2]); + zeroTwoDistance = distance(patterns[0], patterns[2]); + if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) { + pointB = patterns[0]; + pointA = patterns[1]; + pointC = patterns[2]; + } + else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) { + pointB = patterns[1]; + pointA = patterns[0]; + pointC = patterns[2]; + } + else { + pointB = patterns[2]; + pointA = patterns[0]; + pointC = patterns[1]; + } + if ((bX = pointB.x_0 , bY = pointB.y_0 , (pointC.x_0 - bX) * (pointA.y_0 - bY) - (pointC.y_0 - bY) * (pointA.x_0 - bX)) < 0) { + temp = pointA; + pointA = pointC; + pointC = temp; + } + setCheck(patterns, 0, pointA); + patterns[1] = pointB; + setCheck(patterns, 2, pointC); +} + +defineClass(29, 1, {29:1}); +_.equals$ = function equals_1(other){ + var otherPoint; + if (instanceOf(other, 29)) { + otherPoint = dynamicCast(other, 29); + return this.x_0 == otherPoint.x_0 && this.y_0 == otherPoint.y_0; + } + return false; +} +; +_.hashCode$ = function hashCode_2(){ + return 31 * floatToIntBits(this.x_0) + floatToIntBits(this.y_0); +} +; +_.toString$ = function toString_7(){ + var result; + result = new StringBuilder; + result.string += '('; + $append_0(result, this.x_0); + result.string += ','; + $append_0(result, this.y_0); + result.string += ')'; + return result.string; +} +; +_.x_0 = 0; +_.y_0 = 0; +var Lcom_google_zxing_ResultPoint_2_classLit = createForClass('com.google.zxing', 'ResultPoint', 29); +function $flip(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] ^= 1 << (x_0 & 31); +} + +function $get(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + return (this$static.bits[offset] >>> (x_0 & 31) & 1) != 0; +} + +function $set_0(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] |= 1 << (x_0 & 31); +} + +function $setRegion(this$static, left, top_0, width_0, height){ + var bottom, offset, right, x_0, y_0; + if (top_0 < 0 || left < 0) { + throw new IllegalArgumentException_0('Left and top must be nonnegative'); + } + if (height < 1 || width_0 < 1) { + throw new IllegalArgumentException_0('Height and width must be at least 1'); + } + right = left + width_0; + bottom = top_0 + height; + if (bottom > this$static.height_0 || right > this$static.width_0) { + throw new IllegalArgumentException_0('The region must fit inside the matrix'); + } + for (y_0 = top_0; y_0 < bottom; y_0++) { + offset = y_0 * this$static.rowSize; + for (x_0 = left; x_0 < right; x_0++) { + this$static.bits[offset + ~~(x_0 / 32)] |= 1 << (x_0 & 31); + } + } +} + +function $toString_0(this$static){ + var result, x_0, y_0; + result = new StringBuilder; + for (y_0 = 0; y_0 < this$static.height_0; y_0++) { + for (x_0 = 0; x_0 < this$static.width_0; x_0++) { + $append_2(result, $get(this$static, x_0, y_0)?'X ':' '); + } + result.string += '\n'; + } + return result.string; +} + +function BitMatrix(dimension){ + BitMatrix_0.call(this, dimension, dimension); +} + +function BitMatrix_0(width_0, height){ + if (width_0 < 1 || height < 1) { + throw new IllegalArgumentException_0('Both dimensions must be greater than 0'); + } + this.width_0 = width_0; + this.height_0 = height; + this.rowSize = ~~((width_0 + 31) / 32); + this.bits = initDim(I_classLit, $intern_20, 0, this.rowSize * height, 7, 1); +} + +defineClass(32, 1, {32:1}, BitMatrix, BitMatrix_0); +_.equals$ = function equals_2(o){ + var other; + if (!instanceOf(o, 32)) { + return false; + } + other = dynamicCast(o, 32); + return this.width_0 == other.width_0 && this.height_0 == other.height_0 && this.rowSize == other.rowSize && equals_10(this.bits, other.bits); +} +; +_.hashCode$ = function hashCode_3(){ + var hash; + hash = this.width_0; + hash = 31 * hash + this.width_0; + hash = 31 * hash + this.height_0; + hash = 31 * hash + this.rowSize; + hash = 31 * hash + hashCode_11(this.bits); + return hash; +} +; +_.toString$ = function toString_8(){ + return $toString_0(this); +} +; +_.height_0 = 0; +_.rowSize = 0; +_.width_0 = 0; +var Lcom_google_zxing_common_BitMatrix_2_classLit = createForClass('com.google.zxing.common', 'BitMatrix', 32); +function $readBits(this$static, numBits){ + var bitsLeft, bitsToNotRead, mask, result, toRead; + if (numBits < 1 || numBits > 32 || numBits > 8 * (this$static.bytes.length - this$static.byteOffset) - this$static.bitOffset) { + throw new IllegalArgumentException_0('' + numBits); + } + result = 0; + if (this$static.bitOffset > 0) { + bitsLeft = 8 - this$static.bitOffset; + toRead = numBits < bitsLeft?numBits:bitsLeft; + bitsToNotRead = bitsLeft - toRead; + mask = 255 >> 8 - toRead << bitsToNotRead; + result = (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + numBits -= toRead; + this$static.bitOffset += toRead; + if (this$static.bitOffset == 8) { + this$static.bitOffset = 0; + ++this$static.byteOffset; + } + } + if (numBits > 0) { + while (numBits >= 8) { + result = result << 8 | this$static.bytes[this$static.byteOffset] & 255; + ++this$static.byteOffset; + numBits -= 8; + } + if (numBits > 0) { + bitsToNotRead = 8 - numBits; + mask = 255 >> bitsToNotRead << bitsToNotRead; + result = result << numBits | (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + this$static.bitOffset += numBits; + } + } + return result; +} + +function BitSource(bytes){ + this.bytes = bytes; +} + +defineClass(150, 1, {}, BitSource); +_.bitOffset = 0; +_.byteOffset = 0; +var Lcom_google_zxing_common_BitSource_2_classLit = createForClass('com.google.zxing.common', 'BitSource', 150); +function $clinit_CharacterSetECI(){ + $clinit_CharacterSetECI = emptyMethod; + var eci, eci$array, eci$index, eci$max, name_0, name$array, name$index, name$max, value_0, value$array, value$index, value$max; + Cp437 = new CharacterSetECI_1('Cp437', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 2]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); + ISO8859_1 = new CharacterSetECI_1('ISO8859_1', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1, 3]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-1'])); + ISO8859_2 = new CharacterSetECI_0('ISO8859_2', 2, 4, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-2'])); + ISO8859_3 = new CharacterSetECI_0('ISO8859_3', 3, 5, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-3'])); + ISO8859_4 = new CharacterSetECI_0('ISO8859_4', 4, 6, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-4'])); + ISO8859_5 = new CharacterSetECI_0('ISO8859_5', 5, 7, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-5'])); + ISO8859_6 = new CharacterSetECI_0('ISO8859_6', 6, 8, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-6'])); + ISO8859_7 = new CharacterSetECI_0('ISO8859_7', 7, 9, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-7'])); + ISO8859_8 = new CharacterSetECI_0('ISO8859_8', 8, 10, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-8'])); + ISO8859_9 = new CharacterSetECI_0('ISO8859_9', 9, 11, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-9'])); + ISO8859_10 = new CharacterSetECI_0('ISO8859_10', 10, 12, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-10'])); + ISO8859_11 = new CharacterSetECI_0('ISO8859_11', 11, 13, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-11'])); + ISO8859_13 = new CharacterSetECI_0('ISO8859_13', 12, 15, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-13'])); + ISO8859_14 = new CharacterSetECI_0('ISO8859_14', 13, 16, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-14'])); + ISO8859_15 = new CharacterSetECI_0('ISO8859_15', 14, 17, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-15'])); + ISO8859_16 = new CharacterSetECI_0('ISO8859_16', 15, 18, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-16'])); + SJIS = new CharacterSetECI_0('SJIS', 16, 20, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['Shift_JIS'])); + Cp1250 = new CharacterSetECI_0('Cp1250', 17, 21, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1250'])); + Cp1251 = new CharacterSetECI_0('Cp1251', 18, 22, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1251'])); + Cp1252 = new CharacterSetECI_0('Cp1252', 19, 23, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1252'])); + Cp1256 = new CharacterSetECI_0('Cp1256', 20, 24, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1256'])); + UnicodeBigUnmarked = new CharacterSetECI_0('UnicodeBigUnmarked', 21, 25, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-16BE', 'UnicodeBig'])); + UTF8 = new CharacterSetECI_0('UTF8', 22, 26, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-8'])); + ASCII = new CharacterSetECI_1('ASCII', 23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [27, 170]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['US-ASCII'])); + Big5 = new CharacterSetECI; + GB18030 = new CharacterSetECI_0('GB18030', 25, 29, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['GB2312', 'EUC_CN', 'GBK'])); + EUC_KR = new CharacterSetECI_0('EUC_KR', 26, 30, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['EUC-KR'])); + VALUE_TO_ECI = new HashMap; + NAME_TO_ECI = new HashMap; + for (eci$array = values_1() , eci$index = 0 , eci$max = eci$array.length; eci$index < eci$max; ++eci$index) { + eci = eci$array[eci$index]; + for (value$array = eci.values , value$index = 0 , value$max = value$array.length; value$index < value$max; ++value$index) { + value_0 = value$array[value$index]; + $put(VALUE_TO_ECI, valueOf(value_0), eci); + } + $putStringValue(NAME_TO_ECI, eci.name_0 != null?eci.name_0:'' + eci.ordinal, eci); + for (name$array = eci.otherEncodingNames , name$index = 0 , name$max = name$array.length; name$index < name$max; ++name$index) { + name_0 = name$array[name$index]; + $putStringValue(NAME_TO_ECI, name_0, eci); + } + } +} + +function CharacterSetECI(){ + CharacterSetECI_1.call(this, 'Big5', 24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [28]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); +} + +function CharacterSetECI_0(enum$name, enum$ordinal, value_0, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [value_0]); + this.otherEncodingNames = otherEncodingNames; +} + +function CharacterSetECI_1(enum$name, enum$ordinal, values, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = values; + this.otherEncodingNames = otherEncodingNames; +} + +function getCharacterSetECIByValue(value_0){ + $clinit_CharacterSetECI(); + if (value_0 < 0 || value_0 >= 900) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return dynamicCast($get_0(VALUE_TO_ECI, valueOf(value_0)), 11); +} + +function values_1(){ + $clinit_CharacterSetECI(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_CharacterSetECI_2_classLit, 1), $intern_19, 11, 0, [Cp437, ISO8859_1, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, SJIS, Cp1250, Cp1251, Cp1252, Cp1256, UnicodeBigUnmarked, UTF8, ASCII, Big5, GB18030, EUC_KR]); +} + +defineClass(11, 13, {11:1, 3:1, 19:1, 13:1}, CharacterSetECI, CharacterSetECI_0, CharacterSetECI_1); +var ASCII, Big5, Cp1250, Cp1251, Cp1252, Cp1256, Cp437, EUC_KR, GB18030, ISO8859_1, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, NAME_TO_ECI, SJIS, UTF8, UnicodeBigUnmarked, VALUE_TO_ECI; +var Lcom_google_zxing_common_CharacterSetECI_2_classLit = createForEnum('com.google.zxing.common', 'CharacterSetECI', 11, values_1); +function $setOther(this$static, other){ + this$static.other = other; +} + +function DecoderResult(text_0, byteSegments, ecLevel, saSequence, saParity){ + this.text_0 = text_0; + this.byteSegments = byteSegments; + this.ecLevel = ecLevel; + this.structuredAppendParity = saParity; + this.structuredAppendSequenceNumber = saSequence; +} + +defineClass(129, 1, {}, DecoderResult); +_.structuredAppendParity = 0; +_.structuredAppendSequenceNumber = 0; +var Lcom_google_zxing_common_DecoderResult_2_classLit = createForClass('com.google.zxing.common', 'DecoderResult', 129); +function checkAndNudgePoints(image, points){ + var height, nudged, offset, offset0, width_0, x_0, y_0; + width_0 = image.width_0; + height = image.height_0; + nudged = true; + for (offset0 = 0; offset0 < points.length && nudged; offset0 += 2) { + x_0 = round_int(points[offset0]); + y_0 = round_int(points[offset0 + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset0] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset0] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset0 + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset0 + 1] = height - 1; + nudged = true; + } + } + nudged = true; + for (offset = points.length - 2; offset >= 0 && nudged; offset -= 2) { + x_0 = round_int(points[offset]); + y_0 = round_int(points[offset + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset + 1] = height - 1; + nudged = true; + } + } +} + +function $sampleGrid(image, dimensionX, dimensionY, transform){ + var bits, iValue, max_0, points, x_0, x0, y_0; + if (dimensionX <= 0 || dimensionY <= 0) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bits = new BitMatrix_0(dimensionX, dimensionY); + points = initDim(F_classLit, $intern_18, 0, 2 * dimensionX, 7, 1); + for (y_0 = 0; y_0 < dimensionY; y_0++) { + max_0 = points.length; + iValue = y_0 + 0.5; + for (x0 = 0; x0 < max_0; x0 += 2) { + points[x0] = ~~(x0 / 2) + 0.5; + points[x0 + 1] = iValue; + } + $transformPoints(transform, points); + checkAndNudgePoints(image, points); + for (x_0 = 0; x_0 < max_0; x_0 += 2) { + $get(image, round_int(points[x_0]), round_int(points[x_0 + 1])) && $set_0(bits, ~~(x_0 / 2), y_0); + } + } + return bits; +} + +function DetectorResult(bits, points){ + this.bits = bits; + this.points = points; +} + +defineClass(130, 1, {}, DetectorResult); +var Lcom_google_zxing_common_DetectorResult_2_classLit = createForClass('com.google.zxing.common', 'DetectorResult', 130); +function $clinit_GlobalHistogramBinarizer(){ + $clinit_GlobalHistogramBinarizer = emptyMethod; + EMPTY = initDim(B_classLit, $intern_18, 0, 0, 7, 1); +} + +function $getBlackMatrix(this$static){ + var blackPoint, height, localBuckets, localLuminances, localLuminances0, matrix, offset, pixel, right, row, source, width_0, x_0, y_0, y0; + source = this$static.source; + width_0 = source.width_0; + height = source.height_0; + matrix = new BitMatrix_0(width_0, height); + $initArrays(this$static, width_0); + localBuckets = this$static.buckets; + for (y0 = 1; y0 < 5; y0++) { + row = ~~(height * y0 / 5); + localLuminances0 = $getRow(source, row, this$static.luminances); + right = ~~(width_0 * 4 / 5); + for (x_0 = ~~(width_0 / 5); x_0 < right; x_0++) { + pixel = localLuminances0[x_0] & 255; + ++localBuckets[pixel >> 3]; + } + } + blackPoint = estimateBlackPoint(localBuckets); + localLuminances = $getMatrix(source); + for (y_0 = 0; y_0 < height; y_0++) { + offset = y_0 * width_0; + for (x_0 = 0; x_0 < width_0; x_0++) { + pixel = localLuminances[offset + x_0] & 255; + pixel < blackPoint && $set_0(matrix, x_0, y_0); + } + } + return matrix; +} + +function $initArrays(this$static, luminanceSize){ + var x_0; + this$static.luminances.length < luminanceSize && (this$static.luminances = initDim(B_classLit, $intern_18, 0, luminanceSize, 7, 1)); + for (x_0 = 0; x_0 < 32; x_0++) { + this$static.buckets[x_0] = 0; + } +} + +function estimateBlackPoint(buckets){ + var bestValley, bestValleyScore, distanceToBiggest, firstPeak, firstPeakSize, fromFirst, maxBucketCount, numBuckets, score, secondPeak, secondPeakScore, temp, x_0, x0, x1; + numBuckets = buckets.length; + maxBucketCount = 0; + firstPeak = 0; + firstPeakSize = 0; + for (x0 = 0; x0 < numBuckets; x0++) { + if (buckets[x0] > firstPeakSize) { + firstPeak = x0; + firstPeakSize = buckets[x0]; + } + buckets[x0] > maxBucketCount && (maxBucketCount = buckets[x0]); + } + secondPeak = 0; + secondPeakScore = 0; + for (x1 = 0; x1 < numBuckets; x1++) { + distanceToBiggest = x1 - firstPeak; + score = buckets[x1] * distanceToBiggest * distanceToBiggest; + if (score > secondPeakScore) { + secondPeak = x1; + secondPeakScore = score; + } + } + if (firstPeak > secondPeak) { + temp = firstPeak; + firstPeak = secondPeak; + secondPeak = temp; + } + if (secondPeak - firstPeak <= ~~(numBuckets / 16)) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bestValley = secondPeak - 1; + bestValleyScore = -1; + for (x_0 = secondPeak - 1; x_0 > firstPeak; x_0--) { + fromFirst = x_0 - firstPeak; + score = fromFirst * fromFirst * (secondPeak - x_0) * (maxBucketCount - buckets[x_0]); + if (score > bestValleyScore) { + bestValley = x_0; + bestValleyScore = score; + } + } + return bestValley << 3; +} + +defineClass(127, 126, {}); +var EMPTY; +var Lcom_google_zxing_common_GlobalHistogramBinarizer_2_classLit = createForClass('com.google.zxing.common', 'GlobalHistogramBinarizer', 127); +function $getBlackMatrix_0(this$static){ + var blackPoints, height, luminances, newMatrix, source, subHeight, subWidth, width_0; + if (this$static.matrix) { + return this$static.matrix; + } + source = this$static.source; + width_0 = source.width_0; + height = source.height_0; + if (width_0 >= 40 && height >= 40) { + luminances = $getMatrix(source); + subWidth = width_0 >> 3; + (width_0 & 7) != 0 && ++subWidth; + subHeight = height >> 3; + (height & 7) != 0 && ++subHeight; + blackPoints = calculateBlackPoints(luminances, subWidth, subHeight, width_0, height); + newMatrix = new BitMatrix_0(width_0, height); + calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, newMatrix); + this$static.matrix = newMatrix; + } + else { + this$static.matrix = $getBlackMatrix(this$static); + } + return this$static.matrix; +} + +function HybridBinarizer(source){ + $clinit_GlobalHistogramBinarizer(); + this.source = source; + this.luminances = EMPTY; + this.buckets = initDim(I_classLit, $intern_20, 0, 32, 7, 1); +} + +function calculateBlackPoints(luminances, subWidth, subHeight, width_0, height){ + var average, averageNeighborBlackPoint, blackPoints, max_0, maxXOffset, maxYOffset, min_0, offset, pixel, sum, x_0, xoffset, xx, xx0, y_0, yoffset, yy; + blackPoints = initDims(I_classLit, [$intern_2, $intern_20], [7, 0], 7, [subHeight, subWidth], 2); + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + sum = 0; + min_0 = 255; + max_0 = 0; + for (yy = 0 , offset = yoffset * width_0 + xoffset; yy < 8; ++yy , offset += width_0) { + for (xx0 = 0; xx0 < 8; xx0++) { + pixel = luminances[offset + xx0] & 255; + sum += pixel; + pixel < min_0 && (min_0 = pixel); + pixel > max_0 && (max_0 = pixel); + } + if (max_0 - min_0 > 24) { + for (++yy , offset += width_0; yy < 8; ++yy , offset += width_0) { + for (xx = 0; xx < 8; xx++) { + sum += luminances[offset + xx] & 255; + } + } + } + } + average = sum >> 6; + if (max_0 - min_0 <= 24) { + average = ~~(min_0 / 2); + if (y_0 > 0 && x_0 > 0) { + averageNeighborBlackPoint = ~~((blackPoints[y_0 - 1][x_0] + 2 * blackPoints[y_0][x_0 - 1] + blackPoints[y_0 - 1][x_0 - 1]) / 4); + min_0 < averageNeighborBlackPoint && (average = averageNeighborBlackPoint); + } + } + blackPoints[y_0][x_0] = average; + } + } + return blackPoints; +} + +function calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, matrix){ + var average, blackRow, left, maxXOffset, maxYOffset, sum, top_0, x_0, xoffset, y_0, yoffset, z_0; + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + left = x_0 < 2?2:x_0 > subWidth - 3?subWidth - 3:x_0; + top_0 = y_0 < 2?2:y_0 > subHeight - 3?subHeight - 3:y_0; + sum = 0; + for (z_0 = -2; z_0 <= 2; z_0++) { + blackRow = blackPoints[top_0 + z_0]; + sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2]; + } + average = ~~(sum / 25); + thresholdBlock(luminances, xoffset, yoffset, average, width_0, matrix); + } + } +} + +function thresholdBlock(luminances, xoffset, yoffset, threshold, stride, matrix){ + var offset, x_0, y_0; + for (y_0 = 0 , offset = yoffset * stride + xoffset; y_0 < 8; ++y_0 , offset += stride) { + for (x_0 = 0; x_0 < 8; x_0++) { + (luminances[offset + x_0] & 255) <= threshold && $set_0(matrix, xoffset + x_0, yoffset + y_0); + } + } +} + +defineClass(128, 127, {}, HybridBinarizer); +var Lcom_google_zxing_common_HybridBinarizer_2_classLit = createForClass('com.google.zxing.common', 'HybridBinarizer', 128); +function $buildAdjoint(this$static){ + return new PerspectiveTransform(this$static.a22 * this$static.a33 - this$static.a23 * this$static.a32, this$static.a23 * this$static.a31 - this$static.a21 * this$static.a33, this$static.a21 * this$static.a32 - this$static.a22 * this$static.a31, this$static.a13 * this$static.a32 - this$static.a12 * this$static.a33, this$static.a11 * this$static.a33 - this$static.a13 * this$static.a31, this$static.a12 * this$static.a31 - this$static.a11 * this$static.a32, this$static.a12 * this$static.a23 - this$static.a13 * this$static.a22, this$static.a13 * this$static.a21 - this$static.a11 * this$static.a23, this$static.a11 * this$static.a22 - this$static.a12 * this$static.a21); +} + +function $transformPoints(this$static, points){ + var a11, a12, a13, a21, a22, a23, a31, a32, a33, denominator, i, max_0, x_0, y_0; + max_0 = points.length; + a11 = this$static.a11; + a12 = this$static.a12; + a13 = this$static.a13; + a21 = this$static.a21; + a22 = this$static.a22; + a23 = this$static.a23; + a31 = this$static.a31; + a32 = this$static.a32; + a33 = this$static.a33; + for (i = 0; i < max_0; i += 2) { + x_0 = points[i]; + y_0 = points[i + 1]; + denominator = a13 * x_0 + a23 * y_0 + a33; + points[i] = (a11 * x_0 + a21 * y_0 + a31) / denominator; + points[i + 1] = (a12 * x_0 + a22 * y_0 + a32) / denominator; + } +} + +function PerspectiveTransform(a11, a21, a31, a12, a22, a32, a13, a23, a33){ + this.a11 = a11; + this.a12 = a12; + this.a13 = a13; + this.a21 = a21; + this.a22 = a22; + this.a23 = a23; + this.a31 = a31; + this.a32 = a32; + this.a33 = a33; +} + +function quadrilateralToQuadrilateral(x1, x2, y2, y3, x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p){ + var qToS, sToQ; + qToS = $buildAdjoint(squareToQuadrilateral(3.5, 3.5, x1, 3.5, x2, y2, 3.5, y3)); + sToQ = squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p); + return new PerspectiveTransform(sToQ.a11 * qToS.a11 + sToQ.a21 * qToS.a12 + sToQ.a31 * qToS.a13, sToQ.a11 * qToS.a21 + sToQ.a21 * qToS.a22 + sToQ.a31 * qToS.a23, sToQ.a11 * qToS.a31 + sToQ.a21 * qToS.a32 + sToQ.a31 * qToS.a33, sToQ.a12 * qToS.a11 + sToQ.a22 * qToS.a12 + sToQ.a32 * qToS.a13, sToQ.a12 * qToS.a21 + sToQ.a22 * qToS.a22 + sToQ.a32 * qToS.a23, sToQ.a12 * qToS.a31 + sToQ.a22 * qToS.a32 + sToQ.a32 * qToS.a33, sToQ.a13 * qToS.a11 + sToQ.a23 * qToS.a12 + sToQ.a33 * qToS.a13, sToQ.a13 * qToS.a21 + sToQ.a23 * qToS.a22 + sToQ.a33 * qToS.a23, sToQ.a13 * qToS.a31 + sToQ.a23 * qToS.a32 + sToQ.a33 * qToS.a33); +} + +function squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3){ + var a13, a23, denominator, dx1, dx2, dx3, dy1, dy2, dy3; + dx3 = x0 - x1 + x2 - x3; + dy3 = y0 - y1 + y2 - y3; + if (dx3 == 0 && dy3 == 0) { + return new PerspectiveTransform(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0, 0, 1); + } + else { + dx1 = x1 - x2; + dx2 = x3 - x2; + dy1 = y1 - y2; + dy2 = y3 - y2; + denominator = dx1 * dy2 - dx2 * dy1; + a13 = (dx3 * dy2 - dx2 * dy3) / denominator; + a23 = (dx1 * dy3 - dx3 * dy1) / denominator; + return new PerspectiveTransform(x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0, y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0, a13, a23, 1); + } +} + +defineClass(57, 1, {}, PerspectiveTransform); +_.a11 = 0; +_.a12 = 0; +_.a13 = 0; +_.a21 = 0; +_.a22 = 0; +_.a23 = 0; +_.a31 = 0; +_.a32 = 0; +_.a33 = 0; +var Lcom_google_zxing_common_PerspectiveTransform_2_classLit = createForClass('com.google.zxing.common', 'PerspectiveTransform', 57); +function guessEncoding(bytes){ + var canBeISO88591, canBeShiftJIS, canBeUTF8, i, isoHighOther, length_0, sjisBytesLeft, sjisCurDoubleBytesWordLength, sjisCurKatakanaWordLength, sjisKatakanaChars, sjisMaxDoubleBytesWordLength, sjisMaxKatakanaWordLength, utf2BytesChars, utf3BytesChars, utf4BytesChars, utf8BytesLeft, utf8bom, value_0; + length_0 = bytes.length; + canBeISO88591 = true; + canBeShiftJIS = true; + canBeUTF8 = true; + utf8BytesLeft = 0; + utf2BytesChars = 0; + utf3BytesChars = 0; + utf4BytesChars = 0; + sjisBytesLeft = 0; + sjisKatakanaChars = 0; + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + sjisMaxKatakanaWordLength = 0; + sjisMaxDoubleBytesWordLength = 0; + isoHighOther = 0; + utf8bom = bytes.length > 3 && bytes[0] == -17 && bytes[1] == -69 && bytes[2] == -65; + for (i = 0; i < length_0 && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) { + value_0 = bytes[i] & 255; + if (canBeUTF8) { + if (utf8BytesLeft > 0) { + (value_0 & 128) == 0?(canBeUTF8 = false):--utf8BytesLeft; + } + else if ((value_0 & 128) != 0) { + if ((value_0 & 64) == 0) { + canBeUTF8 = false; + } + else { + ++utf8BytesLeft; + if ((value_0 & 32) == 0) { + ++utf2BytesChars; + } + else { + ++utf8BytesLeft; + if ((value_0 & 16) == 0) { + ++utf3BytesChars; + } + else { + ++utf8BytesLeft; + (value_0 & 8) == 0?++utf4BytesChars:(canBeUTF8 = false); + } + } + } + } + } + canBeISO88591 && (value_0 > 127 && value_0 < 160?(canBeISO88591 = false):value_0 > 159 && (value_0 < 192 || value_0 == 215 || value_0 == 247) && ++isoHighOther); + if (canBeShiftJIS) { + if (sjisBytesLeft > 0) { + value_0 < 64 || value_0 == 127 || value_0 > 252?(canBeShiftJIS = false):--sjisBytesLeft; + } + else if (value_0 == 128 || value_0 == 160 || value_0 > 239) { + canBeShiftJIS = false; + } + else if (value_0 > 160 && value_0 < 224) { + ++sjisKatakanaChars; + sjisCurDoubleBytesWordLength = 0; + ++sjisCurKatakanaWordLength; + sjisCurKatakanaWordLength > sjisMaxKatakanaWordLength && (sjisMaxKatakanaWordLength = sjisCurKatakanaWordLength); + } + else if (value_0 > 127) { + ++sjisBytesLeft; + sjisCurKatakanaWordLength = 0; + ++sjisCurDoubleBytesWordLength; + sjisCurDoubleBytesWordLength > sjisMaxDoubleBytesWordLength && (sjisMaxDoubleBytesWordLength = sjisCurDoubleBytesWordLength); + } + else { + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + } + } + } + canBeUTF8 && utf8BytesLeft > 0 && (canBeUTF8 = false); + canBeShiftJIS && sjisBytesLeft > 0 && (canBeShiftJIS = false); + if (canBeUTF8 && (utf8bom || utf2BytesChars + utf3BytesChars + utf4BytesChars > 0)) { + return 'UTF-8'; + } + if (canBeShiftJIS && (sjisMaxKatakanaWordLength >= 3 || sjisMaxDoubleBytesWordLength >= 3)) { + return 'Shift_JIS'; + } + if (canBeISO88591 && canBeShiftJIS) { + return sjisMaxKatakanaWordLength == 2 && sjisKatakanaChars == 2 || isoHighOther * 10 >= length_0?'Shift_JIS':'ISO-8859-1'; + } + if (canBeISO88591) { + return 'ISO-8859-1'; + } + if (canBeShiftJIS) { + return 'Shift_JIS'; + } + if (canBeUTF8) { + return 'UTF-8'; + } + return 'UTF-8'; +} + +function distance_0(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function distance_1(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function round_0(d){ + return round_int(d + (d < 0?-0.5:0.5)); +} + +function $clinit_GenericGF(){ + $clinit_GenericGF = emptyMethod; + new GenericGF(4201, 4096, 1); + new GenericGF(1033, 1024, 1); + new GenericGF(67, 64, 1); + new GenericGF(19, 16, 1); + QR_CODE_FIELD_256 = new GenericGF(285, 256, 0); + new GenericGF(301, 256, 1); +} + +function $buildMonomial(this$static, degree, coefficient){ + var coefficients; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.zero; + } + coefficients = initDim(I_classLit, $intern_20, 0, degree + 1, 7, 1); + coefficients[0] = coefficient; + return new GenericGFPoly(this$static, coefficients); +} + +function $exp(this$static, a){ + return this$static.expTable[a]; +} + +function $inverse(this$static, a){ + if (a == 0) { + throw new ArithmeticException; + } + return this$static.expTable[this$static.size_0 - this$static.logTable[a] - 1]; +} + +function $log(this$static, a){ + if (a == 0) { + throw new IllegalArgumentException; + } + return this$static.logTable[a]; +} + +function $multiply(this$static, a, b){ + if (a == 0 || b == 0) { + return 0; + } + return this$static.expTable[(this$static.logTable[a] + this$static.logTable[b]) % (this$static.size_0 - 1)]; +} + +function GenericGF(primitive, size_0, b){ + var i, i0, x_0; + this.primitive = primitive; + this.size_0 = size_0; + this.generatorBase = b; + this.expTable = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + this.logTable = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + x_0 = 1; + for (i0 = 0; i0 < size_0; i0++) { + this.expTable[i0] = x_0; + x_0 *= 2; + if (x_0 >= size_0) { + x_0 ^= primitive; + x_0 &= size_0 - 1; + } + } + for (i = 0; i < size_0 - 1; i++) { + this.logTable[this.expTable[i]] = i; + } + this.zero = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0])); + this.one = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1])); +} + +defineClass(44, 1, {}, GenericGF); +_.toString$ = function toString_9(){ + return 'GF(0x' + toUnsignedRadixString(this.primitive, 16) + ',' + this.size_0 + ')'; +} +; +_.generatorBase = 0; +_.primitive = 0; +_.size_0 = 0; +var QR_CODE_FIELD_256; +var Lcom_google_zxing_common_reedsolomon_GenericGF_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGF', 44); +function $addOrSubtract(this$static, other){ + var i, largerCoefficients, lengthDiff, smallerCoefficients, sumDiff, temp; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0) { + return other; + } + if (other.coefficients[0] == 0) { + return this$static; + } + smallerCoefficients = this$static.coefficients; + largerCoefficients = other.coefficients; + if (smallerCoefficients.length > largerCoefficients.length) { + temp = smallerCoefficients; + smallerCoefficients = largerCoefficients; + largerCoefficients = temp; + } + sumDiff = initDim(I_classLit, $intern_20, 0, largerCoefficients.length, 7, 1); + lengthDiff = largerCoefficients.length - smallerCoefficients.length; + arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff); + for (i = lengthDiff; i < largerCoefficients.length; i++) { + sumDiff[i] = ($clinit_GenericGF() , smallerCoefficients[i - lengthDiff] ^ largerCoefficients[i]); + } + return new GenericGFPoly(this$static.field, sumDiff); +} + +function $evaluateAt(this$static, a){ + var coefficient, coefficient$array, coefficient$index, coefficient$max, i, result, result0, size_0; + if (a == 0) { + return this$static.coefficients[this$static.coefficients.length - 1]; + } + size_0 = this$static.coefficients.length; + if (a == 1) { + result0 = 0; + for (coefficient$array = this$static.coefficients , coefficient$index = 0 , coefficient$max = coefficient$array.length; coefficient$index < coefficient$max; ++coefficient$index) { + coefficient = coefficient$array[coefficient$index]; + result0 = ($clinit_GenericGF() , result0 ^ coefficient); + } + return result0; + } + result = this$static.coefficients[0]; + for (i = 1; i < size_0; i++) { + result = ($clinit_GenericGF() , $multiply(this$static.field, a, result) ^ this$static.coefficients[i]); + } + return result; +} + +function $getCoefficient(this$static, degree){ + return this$static.coefficients[this$static.coefficients.length - 1 - degree]; +} + +function $multiply_0(this$static, scalar){ + var i, product, size_0; + if (scalar == 0) { + return this$static.field.zero; + } + if (scalar == 1) { + return this$static; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], scalar); + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiply_1(this$static, other){ + var aCoeff, aCoefficients, aLength, bCoefficients, bLength, i, j, product; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0 || other.coefficients[0] == 0) { + return this$static.field.zero; + } + aCoefficients = this$static.coefficients; + aLength = aCoefficients.length; + bCoefficients = other.coefficients; + bLength = bCoefficients.length; + product = initDim(I_classLit, $intern_20, 0, aLength + bLength - 1, 7, 1); + for (i = 0; i < aLength; i++) { + aCoeff = aCoefficients[i]; + for (j = 0; j < bLength; j++) { + product[i + j] = ($clinit_GenericGF() , product[i + j] ^ $multiply(this$static.field, aCoeff, bCoefficients[j])); + } + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiplyByMonomial(this$static, degree, coefficient){ + var i, product, size_0; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.field.zero; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_20, 0, size_0 + degree, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], coefficient); + } + return new GenericGFPoly(this$static.field, product); +} + +function GenericGFPoly(field, coefficients){ + var coefficientsLength, firstNonZero; + if (coefficients.length == 0) { + throw new IllegalArgumentException; + } + this.field = field; + coefficientsLength = coefficients.length; + if (coefficientsLength > 1 && coefficients[0] == 0) { + firstNonZero = 1; + while (firstNonZero < coefficientsLength && coefficients[firstNonZero] == 0) { + ++firstNonZero; + } + if (firstNonZero == coefficientsLength) { + this.coefficients = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0]); + } + else { + this.coefficients = initDim(I_classLit, $intern_20, 0, coefficientsLength - firstNonZero, 7, 1); + arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length); + } + } + else { + this.coefficients = coefficients; + } +} + +defineClass(26, 1, {26:1}, GenericGFPoly); +_.toString$ = function toString_10(){ + var alphaPower, coefficient, degree, result; + result = new StringBuilder; + for (degree = this.coefficients.length - 1; degree >= 0; degree--) { + coefficient = this.coefficients[this.coefficients.length - 1 - degree]; + if (coefficient != 0) { + if (coefficient < 0) { + result.string += ' - '; + coefficient = -coefficient; + } + else { + result.string.length > 0 && (result.string += ' + ' , result); + } + if (degree == 0 || coefficient != 1) { + alphaPower = $log(this.field, coefficient); + if (alphaPower == 0) { + result.string += '1'; + } + else if (alphaPower == 1) { + result.string += 'a'; + } + else { + result.string += 'a^'; + result.string += alphaPower; + } + } + if (degree != 0) { + if (degree == 1) { + result.string += 'x'; + } + else { + result.string += 'x^'; + result.string += degree; + } + } + } + } + return result.string; +} +; +var Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGFPoly', 26); +function $decode(this$static, received, twoS){ + var errorLocations, errorMagnitudes, eval_0, i, i0, noError, omega, poly, position, sigma, sigmaOmega, syndrome, syndromeCoefficients; + poly = new GenericGFPoly(this$static.field, received); + syndromeCoefficients = initDim(I_classLit, $intern_20, 0, twoS, 7, 1); + noError = true; + for (i0 = 0; i0 < twoS; i0++) { + eval_0 = $evaluateAt(poly, $exp(this$static.field, i0 + this$static.field.generatorBase)); + syndromeCoefficients[syndromeCoefficients.length - 1 - i0] = eval_0; + eval_0 != 0 && (noError = false); + } + if (noError) { + return; + } + syndrome = new GenericGFPoly(this$static.field, syndromeCoefficients); + sigmaOmega = $runEuclideanAlgorithm(this$static, $buildMonomial(this$static.field, twoS, 1), syndrome, twoS); + sigma = sigmaOmega[0]; + omega = sigmaOmega[1]; + errorLocations = $findErrorLocations(this$static, sigma); + errorMagnitudes = $findErrorMagnitudes(this$static, omega, errorLocations); + for (i = 0; i < errorLocations.length; i++) { + position = received.length - 1 - $log(this$static.field, errorLocations[i]); + if (position < 0) { + throw new ReedSolomonException('Bad error location'); + } + received[position] = ($clinit_GenericGF() , received[position] ^ errorMagnitudes[i]); + } +} + +function $findErrorLocations(this$static, errorLocator){ + var e, i, numErrors, result; + numErrors = errorLocator.coefficients.length - 1; + if (numErrors == 1) { + return initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [errorLocator.coefficients[errorLocator.coefficients.length - 1 - 1]]); + } + result = initDim(I_classLit, $intern_20, 0, numErrors, 7, 1); + e = 0; + for (i = 1; i < this$static.field.size_0 && e < numErrors; i++) { + if ($evaluateAt(errorLocator, i) == 0) { + result[e] = $inverse(this$static.field, i); + ++e; + } + } + if (e != numErrors) { + throw new ReedSolomonException('Error locator degree does not match number of roots'); + } + return result; +} + +function $findErrorMagnitudes(this$static, errorEvaluator, errorLocations){ + var denominator, i, j, result, s, term, termPlus1, xiInverse; + s = errorLocations.length; + result = initDim(I_classLit, $intern_20, 0, s, 7, 1); + for (i = 0; i < s; i++) { + xiInverse = $inverse(this$static.field, errorLocations[i]); + denominator = 1; + for (j = 0; j < s; j++) { + if (i != j) { + term = $multiply(this$static.field, errorLocations[j], xiInverse); + termPlus1 = (term & 1) == 0?term | 1:term & -2; + denominator = $multiply(this$static.field, denominator, termPlus1); + } + } + result[i] = $multiply(this$static.field, $evaluateAt(errorEvaluator, xiInverse), $inverse(this$static.field, denominator)); + this$static.field.generatorBase != 0 && (result[i] = $multiply(this$static.field, result[i], xiInverse)); + } + return result; +} + +function $runEuclideanAlgorithm(this$static, a, b, R){ + var degreeDiff, denominatorLeadingTerm, dltInverse, inverse, omega, q, r, rLast, rLastLast, scale, sigma, sigmaTildeAtZero, t, tLast, tLastLast, temp; + if (a.coefficients.length - 1 < b.coefficients.length - 1) { + temp = a; + a = b; + b = temp; + } + rLast = a; + r = b; + tLast = this$static.field.zero; + t = this$static.field.one; + while (r.coefficients.length - 1 >= ~~(R / 2)) { + rLastLast = rLast; + tLastLast = tLast; + rLast = r; + tLast = t; + if (r.coefficients[0] == 0) { + throw new ReedSolomonException('r_{i-1} was zero'); + } + r = rLastLast; + q = this$static.field.zero; + denominatorLeadingTerm = $getCoefficient(rLast, rLast.coefficients.length - 1); + dltInverse = $inverse(this$static.field, denominatorLeadingTerm); + while (r.coefficients.length - 1 >= rLast.coefficients.length - 1 && r.coefficients[0] != 0) { + degreeDiff = r.coefficients.length - 1 - (rLast.coefficients.length - 1); + scale = $multiply(this$static.field, $getCoefficient(r, r.coefficients.length - 1), dltInverse); + q = $addOrSubtract(q, $buildMonomial(this$static.field, degreeDiff, scale)); + r = $addOrSubtract(r, $multiplyByMonomial(rLast, degreeDiff, scale)); + } + t = $addOrSubtract($multiply_1(q, t), tLastLast); + if (r.coefficients.length - 1 >= rLast.coefficients.length - 1) { + throw new IllegalStateException_0('Division algorithm failed to reduce polynomial?'); + } + } + sigmaTildeAtZero = t.coefficients[t.coefficients.length - 1]; + if (sigmaTildeAtZero == 0) { + throw new ReedSolomonException('sigmaTilde(0) was zero'); + } + inverse = $inverse(this$static.field, sigmaTildeAtZero); + sigma = $multiply_0(t, inverse); + omega = $multiply_0(r, inverse); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit, 1), $intern_2, 26, 0, [sigma, omega]); +} + +function ReedSolomonDecoder(field){ + this.field = field; +} + +defineClass(123, 1, {}, ReedSolomonDecoder); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonDecoder_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonDecoder', 123); +function ReedSolomonException(message){ + Exception_0.call(this, message); +} + +defineClass(45, 10, {45:1, 3:1, 10:1, 8:1}, ReedSolomonException); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonException_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonException', 45); +function $decode_0(this$static, image){ + var byteSegments, decoderResult, detectorResult, ecLevel, points, result; + detectorResult = $detect(new Detector((!image.matrix && (image.matrix = $getBlackMatrix_0(image.binarizer)) , image.matrix))); + decoderResult = $decode_1(this$static.decoder, detectorResult.bits); + points = detectorResult.points; + !!decoderResult.other && $applyMirroredCorrection(decoderResult.other, points); + result = new Result(decoderResult.text_0); + byteSegments = decoderResult.byteSegments; + !!byteSegments && $putMetadata(result, ($clinit_ResultMetadataType() , BYTE_SEGMENTS), byteSegments); + ecLevel = decoderResult.ecLevel; + ecLevel != null && $putMetadata(result, ($clinit_ResultMetadataType() , ERROR_CORRECTION_LEVEL), ecLevel); + if (decoderResult.structuredAppendParity >= 0 && decoderResult.structuredAppendSequenceNumber >= 0) { + $putMetadata(result, ($clinit_ResultMetadataType() , STRUCTURED_APPEND_SEQUENCE), valueOf(decoderResult.structuredAppendSequenceNumber)); + $putMetadata(result, STRUCTURED_APPEND_PARITY, valueOf(decoderResult.structuredAppendParity)); + } + return result; +} + +function QRCodeReader(){ + this.decoder = new Decoder; +} + +defineClass(118, 1, {181:1}, QRCodeReader); +var Lcom_google_zxing_qrcode_QRCodeReader_2_classLit = createForClass('com.google.zxing.qrcode', 'QRCodeReader', 118); +function $copyBit(this$static, i, j, versionBits){ + var bit; + bit = this$static.mirror?$get(this$static.bitMatrix, j, i):$get(this$static.bitMatrix, i, j); + return bit?versionBits << 1 | 1:versionBits << 1; +} + +function $mirror(this$static){ + var x_0, y_0; + for (x_0 = 0; x_0 < this$static.bitMatrix.width_0; x_0++) { + for (y_0 = x_0 + 1; y_0 < this$static.bitMatrix.height_0; y_0++) { + if ($get(this$static.bitMatrix, x_0, y_0) != $get(this$static.bitMatrix, y_0, x_0)) { + $flip(this$static.bitMatrix, y_0, x_0); + $flip(this$static.bitMatrix, x_0, y_0); + } + } + } +} + +function $readCodewords(this$static){ + var bitsRead, col, count, currentByte, dataMask, dimension, formatInfo, functionPattern, i, j, readingUp, result, resultOffset, version; + formatInfo = $readFormatInformation(this$static); + version = $readVersion(this$static); + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[formatInfo.dataMask]; + dimension = this$static.bitMatrix.height_0; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); + functionPattern = $buildFunctionPattern(version); + readingUp = true; + result = initDim(B_classLit, $intern_18, 0, version.totalCodewords, 7, 1); + resultOffset = 0; + currentByte = 0; + bitsRead = 0; + for (j = dimension - 1; j > 0; j -= 2) { + j == 6 && --j; + for (count = 0; count < dimension; count++) { + i = readingUp?dimension - 1 - count:count; + for (col = 0; col < 2; col++) { + if (!$get(functionPattern, j - col, i)) { + ++bitsRead; + currentByte <<= 1; + $get(this$static.bitMatrix, j - col, i) && (currentByte |= 1); + if (bitsRead == 8) { + result[resultOffset++] = narrow_byte(currentByte); + bitsRead = 0; + currentByte = 0; + } + } + } + } + readingUp = readingUp ^ true; + } + if (resultOffset != version.totalCodewords) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return result; +} + +function $readFormatInformation(this$static){ + var dimension, formatInfoBits1, formatInfoBits2, i, i0, j, j0, jMin; + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + formatInfoBits1 = 0; + for (i0 = 0; i0 < 6; i0++) { + formatInfoBits1 = $copyBit(this$static, i0, 8, formatInfoBits1); + } + formatInfoBits1 = $copyBit(this$static, 7, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 7, formatInfoBits1); + for (j0 = 5; j0 >= 0; j0--) { + formatInfoBits1 = $copyBit(this$static, 8, j0, formatInfoBits1); + } + dimension = this$static.bitMatrix.height_0; + formatInfoBits2 = 0; + jMin = dimension - 7; + for (j = dimension - 1; j >= jMin; j--) { + formatInfoBits2 = $copyBit(this$static, 8, j, formatInfoBits2); + } + for (i = dimension - 8; i < dimension; i++) { + formatInfoBits2 = $copyBit(this$static, i, 8, formatInfoBits2); + } + this$static.parsedFormatInfo = decodeFormatInformation(formatInfoBits1, formatInfoBits2); + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $readVersion(this$static){ + var dimension, i, i0, ijMin, j, j0, provisionalVersion, theParsedVersion, versionBits; + if (this$static.parsedVersion) { + return this$static.parsedVersion; + } + dimension = this$static.bitMatrix.height_0; + provisionalVersion = ~~((dimension - 17) / 4); + if (provisionalVersion <= 6) { + return getVersionForNumber(provisionalVersion); + } + versionBits = 0; + ijMin = dimension - 11; + for (j0 = 5; j0 >= 0; j0--) { + for (i0 = dimension - 9; i0 >= ijMin; i0--) { + versionBits = $copyBit(this$static, i0, j0, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + versionBits = 0; + for (i = 5; i >= 0; i--) { + for (j = dimension - 9; j >= ijMin; j--) { + versionBits = $copyBit(this$static, i, j, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $remask(this$static){ + var dataMask, dimension; + if (!this$static.parsedFormatInfo) { + return; + } + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[this$static.parsedFormatInfo.dataMask]; + dimension = this$static.bitMatrix.height_0; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); +} + +function BitMatrixParser(bitMatrix){ + var dimension; + dimension = bitMatrix.height_0; + if (dimension < 21 || (dimension & 3) != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + this.bitMatrix = bitMatrix; +} + +defineClass(133, 1, {}, BitMatrixParser); +_.mirror = false; +var Lcom_google_zxing_qrcode_decoder_BitMatrixParser_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'BitMatrixParser', 133); +function DataBlock(numDataCodewords, codewords){ + this.numDataCodewords = numDataCodewords; + this.codewords = codewords; +} + +function getDataBlocks(rawCodewords, version, ecLevel){ + var ecBlock, ecBlock$index, ecBlock$index0, ecBlock$max, ecBlock$max0, ecBlockArray, ecBlocks, i, i0, i1, iOffset, j, j0, j1, longerBlocksStartAt, max_0, numBlockCodewords, numCodewords, numDataCodewords, numResultBlocks, rawCodewordsOffset, result, shorterBlocksNumDataCodewords, shorterBlocksTotalCodewords, totalBlocks; + if (rawCodewords.length != version.totalCodewords) { + throw new IllegalArgumentException; + } + ecBlocks = version.ecBlocks[ecLevel.ordinal]; + totalBlocks = 0; + ecBlockArray = ecBlocks.ecBlocks; + for (ecBlock$index0 = 0 , ecBlock$max0 = ecBlockArray.length; ecBlock$index0 < ecBlock$max0; ++ecBlock$index0) { + ecBlock = ecBlockArray[ecBlock$index0]; + totalBlocks += ecBlock.count; + } + result = initDim(Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit, $intern_2, 65, totalBlocks, 0, 1); + numResultBlocks = 0; + for (ecBlock$index = 0 , ecBlock$max = ecBlockArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecBlockArray[ecBlock$index]; + for (i0 = 0; i0 < ecBlock.count; i0++) { + numDataCodewords = ecBlock.dataCodewords; + numBlockCodewords = ecBlocks.ecCodewordsPerBlock + numDataCodewords; + result[numResultBlocks++] = new DataBlock(numDataCodewords, initDim(B_classLit, $intern_18, 0, numBlockCodewords, 7, 1)); + } + } + shorterBlocksTotalCodewords = result[0].codewords.length; + longerBlocksStartAt = result.length - 1; + while (longerBlocksStartAt >= 0) { + numCodewords = result[longerBlocksStartAt].codewords.length; + if (numCodewords == shorterBlocksTotalCodewords) { + break; + } + --longerBlocksStartAt; + } + ++longerBlocksStartAt; + shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.ecCodewordsPerBlock; + rawCodewordsOffset = 0; + for (i1 = 0; i1 < shorterBlocksNumDataCodewords; i1++) { + for (j0 = 0; j0 < numResultBlocks; j0++) { + result[j0].codewords[i1] = rawCodewords[rawCodewordsOffset++]; + } + } + for (j1 = longerBlocksStartAt; j1 < numResultBlocks; j1++) { + result[j1].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++]; + } + max_0 = result[0].codewords.length; + for (i = shorterBlocksNumDataCodewords; i < max_0; i++) { + for (j = 0; j < numResultBlocks; j++) { + iOffset = j < longerBlocksStartAt?i:i + 1; + result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++]; + } + } + return result; +} + +defineClass(65, 1, {65:1}, DataBlock); +_.numDataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'DataBlock', 65); +function $clinit_DataMask(){ + $clinit_DataMask = emptyMethod; + DATA_MASK_000 = new DataMask$1; + DATA_MASK_001 = new DataMask$2; + DATA_MASK_010 = new DataMask$3; + DATA_MASK_011 = new DataMask$4; + DATA_MASK_100 = new DataMask$5; + DATA_MASK_101 = new DataMask$6; + DATA_MASK_110 = new DataMask$7; + DATA_MASK_111 = new DataMask$8; +} + +function $unmaskBitMatrix(this$static, bits, dimension){ + var i, j; + for (i = 0; i < dimension; i++) { + for (j = 0; j < dimension; j++) { + this$static.isMasked(i, j) && $flip(bits, j, i); + } + } +} + +function DataMask(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_2(){ + $clinit_DataMask(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]); +} + +defineClass(14, 13, $intern_21); +var DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111; +var Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask', 14, values_2); +function DataMask$1(){ + DataMask.call(this, 'DATA_MASK_000', 0); +} + +defineClass(142, 14, $intern_21, DataMask$1); +_.isMasked = function isMasked(i, j){ + return (i + j & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$1_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/1', 142, null); +function DataMask$2(){ + DataMask.call(this, 'DATA_MASK_001', 1); +} + +defineClass(143, 14, $intern_21, DataMask$2); +_.isMasked = function isMasked_0(i, j){ + return (i & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$2_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/2', 143, null); +function DataMask$3(){ + DataMask.call(this, 'DATA_MASK_010', 2); +} + +defineClass(144, 14, $intern_21, DataMask$3); +_.isMasked = function isMasked_1(i, j){ + return j % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$3_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/3', 144, null); +function DataMask$4(){ + DataMask.call(this, 'DATA_MASK_011', 3); +} + +defineClass(145, 14, $intern_21, DataMask$4); +_.isMasked = function isMasked_2(i, j){ + return (i + j) % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$4_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/4', 145, null); +function DataMask$5(){ + DataMask.call(this, 'DATA_MASK_100', 4); +} + +defineClass(146, 14, $intern_21, DataMask$5); +_.isMasked = function isMasked_3(i, j){ + return (~~(i / 2) + ~~(j / 3) & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$5_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/5', 146, null); +function DataMask$6(){ + DataMask.call(this, 'DATA_MASK_101', 5); +} + +defineClass(147, 14, $intern_21, DataMask$6); +_.isMasked = function isMasked_4(i, j){ + var temp; + temp = i * j; + return (temp & 1) + temp % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$6_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/6', 147, null); +function DataMask$7(){ + DataMask.call(this, 'DATA_MASK_110', 6); +} + +defineClass(148, 14, $intern_21, DataMask$7); +_.isMasked = function isMasked_5(i, j){ + var temp; + temp = i * j; + return ((temp & 1) + temp % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$7_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/7', 148, null); +function DataMask$8(){ + DataMask.call(this, 'DATA_MASK_111', 7); +} + +defineClass(149, 14, $intern_21, DataMask$8); +_.isMasked = function isMasked_6(i, j){ + return ((i + j & 1) + i * j % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$8_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/8', 149, null); +function $clinit_DecodedBitStreamParser(){ + var charArr; + $clinit_DecodedBitStreamParser = emptyMethod; + ALPHANUMERIC_CHARS = (charArr = initDim(C_classLit, $intern_18, 0, 45, 7, 1) , $getChars(charArr, 0) , charArr); +} + +function decode(bytes, version, ecLevel){ + $clinit_DecodedBitStreamParser(); + var bits, byteSegments, count, countHanzi, currentCharacterSetECI, fc1InEffect, mode, parityData, result, subset, symbolSequence, value_0; + bits = new BitSource(bytes); + result = new StringBuilder; + byteSegments = new ArrayList_0(1); + symbolSequence = -1; + parityData = -1; + try { + currentCharacterSetECI = null; + fc1InEffect = false; + do { + 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4?(mode = ($clinit_Mode() , TERMINATOR)):(mode = forBits_0($readBits(bits, 4))); + if (mode != ($clinit_Mode() , TERMINATOR)) { + if (mode == FNC1_FIRST_POSITION || mode == FNC1_SECOND_POSITION) { + fc1InEffect = true; + } + else if (mode == STRUCTURED_APPEND) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 16) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + symbolSequence = $readBits(bits, 8); + parityData = $readBits(bits, 8); + } + else if (mode == ECI) { + value_0 = parseECIValue(bits); + currentCharacterSetECI = getCharacterSetECIByValue(value_0); + if (!currentCharacterSetECI) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + else { + if (mode == HANZI) { + subset = $readBits(bits, 4); + countHanzi = $readBits(bits, $getCharacterCountBits(mode, version)); + subset == 1 && decodeHanziSegment(bits, result, countHanzi); + } + else { + count = $readBits(bits, $getCharacterCountBits(mode, version)); + if (mode == NUMERIC) { + decodeNumericSegment(bits, result, count); + } + else if (mode == ALPHANUMERIC) { + decodeAlphanumericSegment(bits, result, count, fc1InEffect); + } + else if (mode == BYTE) { + decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments); + } + else if (mode == KANJI) { + decodeKanjiSegment(bits, result, count); + } + else { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + } + } + } + while (mode != ($clinit_Mode() , TERMINATOR)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + return new DecoderResult(result.string, byteSegments.array.length == 0?null:byteSegments, !ecLevel?null:ecLevel.name_0 != null?ecLevel.name_0:'' + ecLevel.ordinal, symbolSequence, parityData); +} + +function decodeAlphanumericSegment(bits, result, count, fc1InEffect){ + var i, nextTwoCharsBits, start_0; + start_0 = result.string.length; + while (count > 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 11) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + nextTwoCharsBits = $readBits(bits, 11); + $append(result, toAlphaNumericChar(~~(nextTwoCharsBits / 45))); + $append(result, toAlphaNumericChar(nextTwoCharsBits % 45)); + count -= 2; + } + if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 6) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar($readBits(bits, 6))); + } + if (fc1InEffect) { + for (i = start_0; i < result.string.length; i++) { + $charAt(result.string, i) == 37 && (i < result.string.length - 1 && $charAt(result.string, i + 1) == 37?(result.string = __substr(result.string, 0, i + 1) + '' + $substring(result.string, i + 1 + 1) , result):(result.string = __substr(result.string, 0, i) + '\35' + $substring(result.string, i + 1))); + } + } +} + +function decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments){ + var encoding, i, readBytes; + if (8 * count > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + readBytes = initDim(B_classLit, $intern_18, 0, count, 7, 1); + for (i = 0; i < count; i++) { + readBytes[i] = narrow_byte($readBits(bits, 8)); + } + !currentCharacterSetECI?(encoding = guessEncoding(readBytes)):(encoding = currentCharacterSetECI.name_0 != null?currentCharacterSetECI.name_0:'' + currentCharacterSetECI.ordinal); + try { + $append_2(result, _String(readBytes, readBytes.length, encoding)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + setCheck(byteSegments.array, byteSegments.array.length, readBytes); +} + +function decodeHanziSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_18, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 96) << 8 | twoBytes % 96; + assembledTwoBytes < 959?(assembledTwoBytes += 41377):(assembledTwoBytes += 42657); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8 & 255); + buffer[offset + 1] = narrow_byte(assembledTwoBytes & 255); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'GB2312')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeKanjiSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_18, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 192) << 8 | twoBytes % 192; + assembledTwoBytes < 7936?(assembledTwoBytes += 33088):(assembledTwoBytes += 49472); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8); + buffer[offset + 1] = narrow_byte(assembledTwoBytes); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'Shift_JIS')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeNumericSegment(bits, result, count){ + var digitBits, threeDigitsBits, twoDigitsBits; + while (count >= 3) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + threeDigitsBits = $readBits(bits, 10); + if (threeDigitsBits >= 1000) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 100))); + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 10) % 10)); + $append(result, toAlphaNumericChar(threeDigitsBits % 10)); + count -= 3; + } + if (count == 2) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 7) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + twoDigitsBits = $readBits(bits, 7); + if (twoDigitsBits >= 100) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(twoDigitsBits / 10))); + $append(result, toAlphaNumericChar(twoDigitsBits % 10)); + } + else if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + digitBits = $readBits(bits, 4); + if (digitBits >= 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(digitBits)); + } +} + +function parseECIValue(bits){ + var firstByte, secondByte, secondThirdBytes; + firstByte = $readBits(bits, 8); + if ((firstByte & 128) == 0) { + return firstByte & 127; + } + if ((firstByte & 192) == 128) { + secondByte = $readBits(bits, 8); + return (firstByte & 63) << 8 | secondByte; + } + if ((firstByte & 224) == 192) { + secondThirdBytes = $readBits(bits, 16); + return (firstByte & 31) << 16 | secondThirdBytes; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function toAlphaNumericChar(value_0){ + if (value_0 >= ALPHANUMERIC_CHARS.length) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return ALPHANUMERIC_CHARS[value_0]; +} + +var ALPHANUMERIC_CHARS; +function $correctErrors(this$static, codewordBytes, numDataCodewords){ + var codewordsInts, i, i0, numCodewords, numECCodewords; + numCodewords = codewordBytes.length; + codewordsInts = initDim(I_classLit, $intern_20, 0, numCodewords, 7, 1); + for (i0 = 0; i0 < numCodewords; i0++) { + codewordsInts[i0] = codewordBytes[i0] & 255; + } + numECCodewords = codewordBytes.length - numDataCodewords; + try { + $decode(this$static.rsDecoder, codewordsInts, numECCodewords); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 45)) { + throw $clinit_ChecksumException() , $clinit_ChecksumException() , INSTANCE_0; + } + else + throw unwrap($e0); + } + for (i = 0; i < numDataCodewords; i++) { + codewordBytes[i] = narrow_byte(codewordsInts[i]); + } +} + +function $decode_1(this$static, bits){ + var ce, e, fe, parser, result; + parser = new BitMatrixParser(bits); + fe = null; + ce = null; + try { + return $decode_2(this$static, parser); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 56)) { + e = $e0; + fe = e; + } + else if (instanceOf($e0, 55)) { + e = $e0; + ce = e; + } + else + throw unwrap($e0); + } + try { + $remask(parser); + parser.parsedVersion = null; + parser.parsedFormatInfo = null; + parser.mirror = true; + $readVersion(parser); + $readFormatInformation(parser); + $mirror(parser); + result = $decode_2(this$static, parser); + $setOther(result, new QRCodeDecoderMetaData); + return result; + } + catch ($e1) { + $e1 = wrap($e1); + if (instanceOf($e1, 56) || instanceOf($e1, 55)) { + e = $e1; + if (fe) { + throw fe; + } + if (ce) { + throw ce; + } + throw e; + } + else + throw unwrap($e1); + } +} + +function $decode_2(this$static, parser){ + var codewordBytes, codewords, dataBlock, dataBlock$index, dataBlock$index0, dataBlock$max, dataBlock$max0, dataBlocks, ecLevel, i, numDataCodewords, resultBytes, resultOffset, totalBytes, version; + version = $readVersion(parser); + ecLevel = $readFormatInformation(parser).errorCorrectionLevel; + codewords = $readCodewords(parser); + dataBlocks = getDataBlocks(codewords, version, ecLevel); + totalBytes = 0; + for (dataBlock$index0 = 0 , dataBlock$max0 = dataBlocks.length; dataBlock$index0 < dataBlock$max0; ++dataBlock$index0) { + dataBlock = dataBlocks[dataBlock$index0]; + totalBytes += dataBlock.numDataCodewords; + } + resultBytes = initDim(B_classLit, $intern_18, 0, totalBytes, 7, 1); + resultOffset = 0; + for (dataBlock$index = 0 , dataBlock$max = dataBlocks.length; dataBlock$index < dataBlock$max; ++dataBlock$index) { + dataBlock = dataBlocks[dataBlock$index]; + codewordBytes = dataBlock.codewords; + numDataCodewords = dataBlock.numDataCodewords; + $correctErrors(this$static, codewordBytes, numDataCodewords); + for (i = 0; i < numDataCodewords; i++) { + resultBytes[resultOffset++] = codewordBytes[i]; + } + } + return decode(resultBytes, version, ecLevel); +} + +function Decoder(){ + this.rsDecoder = new ReedSolomonDecoder(($clinit_GenericGF() , QR_CODE_FIELD_256)); +} + +defineClass(122, 1, {}, Decoder); +var Lcom_google_zxing_qrcode_decoder_Decoder_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Decoder', 122); +function $clinit_ErrorCorrectionLevel(){ + $clinit_ErrorCorrectionLevel = emptyMethod; + L = new ErrorCorrectionLevel('L', 0); + M = new ErrorCorrectionLevel('M', 1); + Q = new ErrorCorrectionLevel('Q', 2); + H = new ErrorCorrectionLevel('H', 3); + FOR_BITS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_19, 39, 0, [M, L, H, Q]); +} + +function ErrorCorrectionLevel(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function forBits(bits){ + $clinit_ErrorCorrectionLevel(); + if (bits < 0 || bits >= FOR_BITS.length) { + throw new IllegalArgumentException; + } + return FOR_BITS[bits]; +} + +function values_3(){ + $clinit_ErrorCorrectionLevel(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_19, 39, 0, [L, M, Q, H]); +} + +defineClass(39, 13, {39:1, 3:1, 19:1, 13:1}, ErrorCorrectionLevel); +var FOR_BITS, H, L, M, Q; +var Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'ErrorCorrectionLevel', 39, values_3); +function $clinit_FormatInformation(){ + $clinit_FormatInformation = emptyMethod; + FORMAT_INFO_DECODE_LOOKUP = initValues(getClassLiteralForArray(I_classLit, 2), $intern_2, 7, 0, [initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [21522, 0]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [20773, 1]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [24188, 2]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [23371, 3]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [17913, 4]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [16590, 5]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [20375, 6]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [19104, 7]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [30660, 8]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [29427, 9]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [32170, 10]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [30877, 11]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [26159, 12]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [25368, 13]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [27713, 14]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [26998, 15]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [5769, 16]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [5054, 17]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [7399, 18]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6608, 19]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1890, 20]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [597, 21]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [3340, 22]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [2107, 23]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [13663, 24]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [12392, 25]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [16177, 26]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [14854, 27]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [9396, 28]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8579, 29]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [11994, 30]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [11245, 31])]); +} + +function FormatInformation(formatInfo){ + this.errorCorrectionLevel = forBits(formatInfo >> 3 & 3); + this.dataMask = narrow_byte(formatInfo & 7); +} + +function decodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + $clinit_FormatInformation(); + var formatInfo; + formatInfo = doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2); + if (formatInfo) { + return formatInfo; + } + return doDecodeFormatInformation(maskedFormatInfo1 ^ 21522, maskedFormatInfo2 ^ 21522); +} + +function doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + var bestDifference, bestFormatInfo, bitsDifference, decodeInfo, decodeInfo$array, decodeInfo$index, decodeInfo$max, targetInfo; + bestDifference = $intern_0; + bestFormatInfo = 0; + for (decodeInfo$array = FORMAT_INFO_DECODE_LOOKUP , decodeInfo$index = 0 , decodeInfo$max = decodeInfo$array.length; decodeInfo$index < decodeInfo$max; ++decodeInfo$index) { + decodeInfo = decodeInfo$array[decodeInfo$index]; + targetInfo = decodeInfo[0]; + if (targetInfo == maskedFormatInfo1 || targetInfo == maskedFormatInfo2) { + return new FormatInformation(decodeInfo[1]); + } + bitsDifference = bitCount(maskedFormatInfo1 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + if (maskedFormatInfo1 != maskedFormatInfo2) { + bitsDifference = bitCount(maskedFormatInfo2 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + } + } + if (bestDifference <= 3) { + return new FormatInformation(bestFormatInfo); + } + return null; +} + +defineClass(49, 1, {49:1}, FormatInformation); +_.equals$ = function equals_3(o){ + var other; + if (!instanceOf(o, 49)) { + return false; + } + other = dynamicCast(o, 49); + return this.errorCorrectionLevel == other.errorCorrectionLevel && this.dataMask == other.dataMask; +} +; +_.hashCode$ = function hashCode_4(){ + return this.errorCorrectionLevel.ordinal << 3 | this.dataMask; +} +; +_.dataMask = 0; +var FORMAT_INFO_DECODE_LOOKUP; +var Lcom_google_zxing_qrcode_decoder_FormatInformation_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'FormatInformation', 49); +function $clinit_Mode(){ + $clinit_Mode = emptyMethod; + TERMINATOR = new Mode('TERMINATOR', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + NUMERIC = new Mode('NUMERIC', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [10, 12, 14])); + ALPHANUMERIC = new Mode('ALPHANUMERIC', 2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [9, 11, 13])); + STRUCTURED_APPEND = new Mode('STRUCTURED_APPEND', 3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + BYTE = new Mode('BYTE', 4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 16, 16])); + ECI = new Mode('ECI', 5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + KANJI = new Mode('KANJI', 6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 10, 12])); + FNC1_FIRST_POSITION = new Mode('FNC1_FIRST_POSITION', 7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + FNC1_SECOND_POSITION = new Mode('FNC1_SECOND_POSITION', 8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + HANZI = new Mode('HANZI', 9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 10, 12])); +} + +function $getCharacterCountBits(this$static, version){ + var number, offset; + number = version.versionNumber; + number <= 9?(offset = 0):number <= 26?(offset = 1):(offset = 2); + return this$static.characterCountBitsForVersions[offset]; +} + +function Mode(enum$name, enum$ordinal, characterCountBitsForVersions){ + Enum.call(this, enum$name, enum$ordinal); + this.characterCountBitsForVersions = characterCountBitsForVersions; +} + +function forBits_0(bits){ + $clinit_Mode(); + switch (bits) { + case 0: + return TERMINATOR; + case 1: + return NUMERIC; + case 2: + return ALPHANUMERIC; + case 3: + return STRUCTURED_APPEND; + case 4: + return BYTE; + case 5: + return FNC1_FIRST_POSITION; + case 7: + return ECI; + case 8: + return KANJI; + case 9: + return FNC1_SECOND_POSITION; + case 13: + return HANZI; + default:throw new IllegalArgumentException; + } +} + +function values_4(){ + $clinit_Mode(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Mode_2_classLit, 1), $intern_19, 23, 0, [TERMINATOR, NUMERIC, ALPHANUMERIC, STRUCTURED_APPEND, BYTE, ECI, KANJI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI]); +} + +defineClass(23, 13, {23:1, 3:1, 19:1, 13:1}, Mode); +var ALPHANUMERIC, BYTE, ECI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI, KANJI, NUMERIC, STRUCTURED_APPEND, TERMINATOR; +var Lcom_google_zxing_qrcode_decoder_Mode_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'Mode', 23, values_4); +function $applyMirroredCorrection(this$static, points){ + var bottomLeft; + if (!this$static.mirrored || points == null || points.length < 3) { + return; + } + bottomLeft = points[0]; + setCheck(points, 0, points[2]); + setCheck(points, 2, bottomLeft); +} + +function QRCodeDecoderMetaData(){ + this.mirrored = true; +} + +defineClass(132, 1, {}, QRCodeDecoderMetaData); +_.mirrored = false; +var Lcom_google_zxing_qrcode_decoder_QRCodeDecoderMetaData_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'QRCodeDecoderMetaData', 132); +function $clinit_Version(){ + $clinit_Version = emptyMethod; + VERSION_DECODE_INFO = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 68472, 70749, 76311, 79154, 84390, 87683, 92361, 96236, 102084, 102881, 110507, 110734, 117786, 119615, 126325, 127568, 133589, 136944, 141498, 145311, 150283, 152622, 158308, 161089, 167017]); + VERSIONS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version_2_classLit, 1), $intern_2, 9, 0, [new Version(1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, []), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(7, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 19)])), new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)])), new Version$ECBlocks(13, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 13)])), new Version$ECBlocks(17, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 9)]))])), new Version(2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 18]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 34)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 28)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)]))])), new Version(3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 22]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(15, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 55)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 44)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 17)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 13)]))])), new Version(4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 80)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 32)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 24)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 9)]))])), new Version(5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 108)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 43)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(2, 16)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 11), new Version$ECB(2, 12)]))])), new Version(6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 27)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 19)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 15)]))])), new Version(7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 22, 38]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 78)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 31)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(4, 15)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 13), new Version$ECB(1, 14)]))])), new Version(8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 24, 42]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 97)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 38), new Version$ECB(2, 39)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 18), new Version$ECB(2, 19)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 14), new Version$ECB(2, 15)]))])), new Version(9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 46]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 116)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 16), new Version$ECB(4, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 12), new Version$ECB(4, 13)]))])), new Version(10, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 50]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68), new Version$ECB(2, 69)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 43), new Version$ECB(1, 44)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 15), new Version$ECB(2, 16)]))])), new Version(11, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 81)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 50), new Version$ECB(4, 51)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 22), new Version$ECB(4, 23)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 12), new Version$ECB(8, 13)]))])), new Version(12, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 92), new Version$ECB(2, 93)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 20), new Version$ECB(6, 21)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 14), new Version$ECB(4, 15)]))])), new Version(13, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 107)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 37), new Version$ECB(1, 38)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 20), new Version$ECB(4, 21)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 11), new Version$ECB(4, 12)]))])), new Version(14, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 46, 66]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 40), new Version$ECB(5, 41)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 16), new Version$ECB(5, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(5, 13)]))])), new Version(15, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 48, 70]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 87), new Version$ECB(1, 88)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 41), new Version$ECB(5, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(7, 13)]))])), new Version(16, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 98), new Version$ECB(1, 99)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 15), new Version$ECB(13, 16)]))])), new Version(17, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(1, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22), new Version$ECB(15, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(17, 15)]))])), new Version(18, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 56, 82]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 120), new Version$ECB(1, 121)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 43), new Version$ECB(4, 44)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(1, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(19, 15)]))])), new Version(19, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 113), new Version$ECB(4, 114)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 44), new Version$ECB(11, 45)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 21), new Version$ECB(4, 22)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 13), new Version$ECB(16, 14)]))])), new Version(20, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 41), new Version$ECB(13, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(5, 25)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 15), new Version$ECB(10, 16)]))])), new Version(21, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 50, 72, 94]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 116), new Version$ECB(4, 117)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 42)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 16), new Version$ECB(6, 17)]))])), new Version(22, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74, 98]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 111), new Version$ECB(7, 112)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 13)]))])), new Version(23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 121), new Version$ECB(5, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 47), new Version$ECB(14, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(16, 15), new Version$ECB(14, 16)]))])), new Version(24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 54, 80, 106]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 45), new Version$ECB(14, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(30, 16), new Version$ECB(2, 17)]))])), new Version(25, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58, 84, 110]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 106), new Version$ECB(4, 107)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 47), new Version$ECB(13, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(13, 16)]))])), new Version(26, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 114), new Version$ECB(2, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 46), new Version$ECB(4, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(28, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(33, 16), new Version$ECB(4, 17)]))])), new Version(27, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90, 118]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 23), new Version$ECB(26, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 15), new Version$ECB(28, 16)]))])), new Version(28, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74, 98, 122]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 117), new Version$ECB(10, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 45), new Version$ECB(23, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 24), new Version$ECB(31, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(31, 16)]))])), new Version(29, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102, 126]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 116), new Version$ECB(7, 117)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(21, 45), new Version$ECB(7, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 23), new Version$ECB(37, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(26, 16)]))])), new Version(30, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 52, 78, 104, 130]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 115), new Version$ECB(10, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 47), new Version$ECB(10, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(25, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(25, 16)]))])), new Version(31, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 56, 82, 108, 134]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(3, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 46), new Version$ECB(29, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 24), new Version$ECB(1, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(28, 16)]))])), new Version(32, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 60, 86, 112, 138]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 24), new Version$ECB(35, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(35, 16)]))])), new Version(33, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114, 142]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(21, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 24), new Version$ECB(19, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(46, 16)]))])), new Version(34, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90, 118, 146]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(6, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(44, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(59, 16), new Version$ECB(1, 17)]))])), new Version(35, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102, 126, 150]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 121), new Version$ECB(7, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 47), new Version$ECB(26, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(39, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(41, 16)]))])), new Version(36, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 24, 50, 76, 102, 128, 154]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 121), new Version$ECB(14, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 47), new Version$ECB(34, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(46, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(64, 16)]))])), new Version(37, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 54, 80, 106, 132, 158]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 46), new Version$ECB(14, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(49, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(24, 15), new Version$ECB(46, 16)]))])), new Version(38, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58, 84, 110, 136, 162]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 122), new Version$ECB(18, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 46), new Version$ECB(32, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(48, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 15), new Version$ECB(32, 16)]))])), new Version(39, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 54, 82, 110, 138, 166]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(40, 47), new Version$ECB(7, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(43, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 15), new Version$ECB(67, 16)]))])), new Version(40, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114, 142, 170]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 118), new Version$ECB(6, 119)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(18, 47), new Version$ECB(31, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 24), new Version$ECB(34, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 15), new Version$ECB(61, 16)]))]))]); +} + +function $buildFunctionPattern(this$static){ + var bitMatrix, dimension, i, max_0, x_0, y_0; + dimension = 17 + 4 * this$static.versionNumber; + bitMatrix = new BitMatrix(dimension); + $setRegion(bitMatrix, 0, 0, 9, 9); + $setRegion(bitMatrix, dimension - 8, 0, 8, 9); + $setRegion(bitMatrix, 0, dimension - 8, 9, 8); + max_0 = this$static.alignmentPatternCenters.length; + for (x_0 = 0; x_0 < max_0; x_0++) { + i = this$static.alignmentPatternCenters[x_0] - 2; + for (y_0 = 0; y_0 < max_0; y_0++) { + if (x_0 == 0 && (y_0 == 0 || y_0 == max_0 - 1) || x_0 == max_0 - 1 && y_0 == 0) { + continue; + } + $setRegion(bitMatrix, this$static.alignmentPatternCenters[y_0] - 2, i, 5, 5); + } + } + $setRegion(bitMatrix, 6, 9, 1, dimension - 17); + $setRegion(bitMatrix, 9, 6, dimension - 17, 1); + if (this$static.versionNumber > 6) { + $setRegion(bitMatrix, dimension - 11, 0, 3, 6); + $setRegion(bitMatrix, 0, dimension - 11, 6, 3); + } + return bitMatrix; +} + +function Version(versionNumber, alignmentPatternCenters, ecBlocks){ + var ecBlock, ecBlock$index, ecBlock$max, ecCodewords, ecbArray, total; + this.versionNumber = versionNumber; + this.alignmentPatternCenters = alignmentPatternCenters; + this.ecBlocks = ecBlocks; + total = 0; + ecCodewords = ecBlocks[0].ecCodewordsPerBlock; + ecbArray = ecBlocks[0].ecBlocks; + for (ecBlock$index = 0 , ecBlock$max = ecbArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecbArray[ecBlock$index]; + total += ecBlock.count * (ecBlock.dataCodewords + ecCodewords); + } + this.totalCodewords = total; +} + +function decodeVersionInformation(versionBits){ + $clinit_Version(); + var bestDifference, bestVersion, bitsDifference, i, targetVersion; + bestDifference = $intern_0; + bestVersion = 0; + for (i = 0; i < VERSION_DECODE_INFO.length; i++) { + targetVersion = VERSION_DECODE_INFO[i]; + if (targetVersion == versionBits) { + return getVersionForNumber(i + 7); + } + bitsDifference = ($clinit_FormatInformation() , bitCount(versionBits ^ targetVersion)); + if (bitsDifference < bestDifference) { + bestVersion = i + 7; + bestDifference = bitsDifference; + } + } + if (bestDifference <= 3) { + return getVersionForNumber(bestVersion); + } + return null; +} + +function getProvisionalVersionForDimension(dimension){ + $clinit_Version(); + if (dimension % 4 != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + try { + return getVersionForNumber(~~((dimension - 17) / 4)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function getVersionForNumber(versionNumber){ + $clinit_Version(); + if (versionNumber < 1 || versionNumber > 40) { + throw new IllegalArgumentException; + } + return VERSIONS[versionNumber - 1]; +} + +defineClass(9, 1, {9:1}, Version); +_.toString$ = function toString_11(){ + return '' + this.versionNumber; +} +; +_.totalCodewords = 0; +_.versionNumber = 0; +var VERSIONS, VERSION_DECODE_INFO; +var Lcom_google_zxing_qrcode_decoder_Version_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version', 9); +function Version$ECB(count, dataCodewords){ + this.count = count; + this.dataCodewords = dataCodewords; +} + +defineClass(4, 1, {4:1}, Version$ECB); +_.count = 0; +_.dataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECB', 4); +function Version$ECBlocks(ecCodewordsPerBlock, ecBlocks){ + this.ecCodewordsPerBlock = ecCodewordsPerBlock; + this.ecBlocks = ecBlocks; +} + +defineClass(6, 1, {6:1}, Version$ECBlocks); +_.ecCodewordsPerBlock = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECBlocks', 6); +function $aboutEquals(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function AlignmentPattern(posX, posY, estimatedModuleSize){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; +} + +defineClass(50, 29, {29:1, 50:1}, AlignmentPattern); +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPattern', 50); +function $crossCheckVertical(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height_0; + stateCount = this$static.crossCheckStateCount; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + i = startI; + while (i >= 0 && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (i == maxI || stateCount[1] > maxCount) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[2] <= maxCount) { + ++stateCount[2]; + ++i; + } + if (stateCount[2] > maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return $foundPatternCross(this$static, stateCount)?i - stateCount[2] - stateCount[1] / 2:NaN; +} + +function $find(this$static){ + var confirmed, currentState, height, i, iGen, j, maxJ, middleI, startX, stateCount; + startX = this$static.startX; + height = this$static.height_0; + maxJ = startX + this$static.width_0; + middleI = this$static.startY + ~~(height / 2); + stateCount = initDim(I_classLit, $intern_20, 0, 3, 7, 1); + for (iGen = 0; iGen < height; iGen++) { + i = middleI + ((iGen & 1) == 0?~~((iGen + 1) / 2):-~~((iGen + 1) / 2)); + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + j = startX; + while (j < maxJ && !$get(this$static.image, j, i)) { + ++j; + } + currentState = 0; + while (j < maxJ) { + if ($get(this$static.image, j, i)) { + if (currentState == 1) { + ++stateCount[1]; + } + else { + if (currentState == 2) { + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, j); + if (confirmed) { + return confirmed; + } + } + stateCount[0] = stateCount[2]; + stateCount[1] = 1; + stateCount[2] = 0; + currentState = 1; + } + else { + ++stateCount[++currentState]; + } + } + } + else { + currentState == 1 && ++currentState; + ++stateCount[currentState]; + } + ++j; + } + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, maxJ); + if (confirmed) { + return confirmed; + } + } + } + if (this$static.possibleCenters.array.length != 0) { + return dynamicCast($get_1(this$static.possibleCenters, 0), 50); + } + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; +} + +function $foundPatternCross(this$static, stateCount){ + var i, maxVariance, moduleSize; + moduleSize = this$static.moduleSize; + maxVariance = moduleSize / 2; + for (i = 0; i < 3; i++) { + if (abs_0(moduleSize - stateCount[i]) >= maxVariance) { + return false; + } + } + return true; +} + +function $handlePossibleCenter(this$static, stateCount, i, j){ + var center, center$iterator, centerI, centerJ, estimatedModuleSize, point, stateCountTotal, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + centerJ = j - stateCount[2] - stateCount[1] / 2; + centerI = $crossCheckVertical(this$static, i, round_int(centerJ), 2 * stateCount[1], stateCountTotal); + if (!isNaN(centerI)) { + estimatedModuleSize = (stateCount[0] + stateCount[1] + stateCount[2]) / 3; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 50)); + if ($aboutEquals(center, estimatedModuleSize, centerI, centerJ)) { + return combinedX = (center.x_0 + centerJ) / 2 , combinedY = (center.y_0 + centerI) / 2 , combinedModuleSize = (center.estimatedModuleSize + estimatedModuleSize) / 2 , new AlignmentPattern(combinedX, combinedY, combinedModuleSize); + } + } + point = new AlignmentPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return null; +} + +function AlignmentPatternFinder(image, startX, startY, width_0, height, moduleSize){ + this.image = image; + this.possibleCenters = new ArrayList_0(5); + this.startX = startX; + this.startY = startY; + this.width_0 = width_0; + this.height_0 = height; + this.moduleSize = moduleSize; + this.crossCheckStateCount = initDim(I_classLit, $intern_20, 0, 3, 7, 1); +} + +defineClass(151, 1, {}, AlignmentPatternFinder); +_.height_0 = 0; +_.moduleSize = 0; +_.startX = 0; +_.startY = 0; +_.width_0 = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPatternFinder', 151); +function $calculateModuleSizeOneWay(this$static, pattern, otherPattern){ + var moduleSizeEst1, moduleSizeEst2; + moduleSizeEst1 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(pattern.x_0), round_int(pattern.y_0), round_int(otherPattern.x_0), round_int(otherPattern.y_0)); + moduleSizeEst2 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(otherPattern.x_0), round_int(otherPattern.y_0), round_int(pattern.x_0), round_int(pattern.y_0)); + if (isNaN(moduleSizeEst1)) { + return moduleSizeEst2 / 7; + } + if (isNaN(moduleSizeEst2)) { + return moduleSizeEst1 / 7; + } + return (moduleSizeEst1 + moduleSizeEst2) / 14; +} + +function $detect(this$static){ + var finder, info; + finder = new FinderPatternFinder(this$static.image); + info = $find_0(finder); + return $processFinderPatternInfo(this$static, info); +} + +function $findAlignmentInRegion(this$static, overallEstModuleSize, estAlignmentX, estAlignmentY, allowanceFactor){ + var alignmentAreaBottomY, alignmentAreaLeftX, alignmentAreaRightX, alignmentAreaTopY, alignmentFinder, allowance; + allowance = round_int(allowanceFactor * overallEstModuleSize); + alignmentAreaLeftX = 0 > estAlignmentX - allowance?0:estAlignmentX - allowance; + alignmentAreaRightX = min_1(this$static.image.width_0 - 1, estAlignmentX + allowance); + if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentAreaTopY = 0 > estAlignmentY - allowance?0:estAlignmentY - allowance; + alignmentAreaBottomY = min_1(this$static.image.height_0 - 1, estAlignmentY + allowance); + if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentFinder = new AlignmentPatternFinder(this$static.image, alignmentAreaLeftX, alignmentAreaTopY, alignmentAreaRightX - alignmentAreaLeftX, alignmentAreaBottomY - alignmentAreaTopY, overallEstModuleSize); + return $find(alignmentFinder); +} + +function $processFinderPatternInfo(this$static, info){ + var alignmentPattern, bits, bottomLeft, bottomRightX, bottomRightY, correctionToTopLeft, dimension, estAlignmentX, estAlignmentY, i, moduleSize, modulesBetweenFPCenters, points, provisionalVersion, topLeft, topRight, transform; + topLeft = info.topLeft; + topRight = info.topRight; + bottomLeft = info.bottomLeft; + moduleSize = ($calculateModuleSizeOneWay(this$static, topLeft, topRight) + $calculateModuleSizeOneWay(this$static, topLeft, bottomLeft)) / 2; + if (moduleSize < 1) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + dimension = computeDimension(topLeft, topRight, bottomLeft, moduleSize); + provisionalVersion = getProvisionalVersionForDimension(dimension); + modulesBetweenFPCenters = 17 + 4 * provisionalVersion.versionNumber - 7; + alignmentPattern = null; + if (provisionalVersion.alignmentPatternCenters.length > 0) { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + correctionToTopLeft = 1 - 3 / modulesBetweenFPCenters; + estAlignmentX = round_int(topLeft.x_0 + correctionToTopLeft * (bottomRightX - topLeft.x_0)); + estAlignmentY = round_int(topLeft.y_0 + correctionToTopLeft * (bottomRightY - topLeft.y_0)); + for (i = 4; i <= 16; i <<= 1) { + try { + alignmentPattern = $findAlignmentInRegion(this$static, moduleSize, estAlignmentX, estAlignmentY, i); + break; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 54)) + throw unwrap($e0); + } + } + } + transform = createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension); + bits = sampleGrid(this$static.image, transform, dimension); + !alignmentPattern?(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 29, 0, [bottomLeft, topLeft, topRight])):(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 29, 0, [bottomLeft, topLeft, topRight, alignmentPattern])); + return new DetectorResult(bits, points); +} + +function $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY){ + var dx, dy, error, realX, realY, state, steep, temp, x_0, xLimit, xstep, y_0, ystep; + steep = (toY - fromY < 0?-(toY - fromY):toY - fromY) > (toX - fromX < 0?-(toX - fromX):toX - fromX); + if (steep) { + temp = fromX; + fromX = fromY; + fromY = temp; + temp = toX; + toX = toY; + toY = temp; + } + dx = toX - fromX < 0?-(toX - fromX):toX - fromX; + dy = toY - fromY < 0?-(toY - fromY):toY - fromY; + error = ~~(-dx / 2); + xstep = fromX < toX?1:-1; + ystep = fromY < toY?1:-1; + state = 0; + xLimit = toX + xstep; + for (x_0 = fromX , y_0 = fromY; x_0 != xLimit; x_0 += xstep) { + realX = steep?y_0:x_0; + realY = steep?x_0:y_0; + if (state == 1 == $get(this$static.image, realX, realY)) { + if (state == 2) { + return distance_1(x_0, y_0, fromX, fromY); + } + ++state; + } + error += dy; + if (error > 0) { + if (y_0 == toY) { + break; + } + y_0 += ystep; + error -= dx; + } + } + if (state == 2) { + return distance_1(toX + xstep, toY, fromX, fromY); + } + return NaN; +} + +function $sizeOfBlackWhiteBlackRunBothWays(this$static, fromX, fromY, toX, toY){ + var otherToX, otherToY, result, scale; + result = $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY); + scale = 1; + otherToX = fromX - (toX - fromX); + if (otherToX < 0) { + scale = fromX / (fromX - otherToX); + otherToX = 0; + } + else if (otherToX >= this$static.image.width_0) { + scale = (this$static.image.width_0 - 1 - fromX) / (otherToX - fromX); + otherToX = this$static.image.width_0 - 1; + } + otherToY = round_int(fromY - (toY - fromY) * scale); + scale = 1; + if (otherToY < 0) { + scale = fromY / (fromY - otherToY); + otherToY = 0; + } + else if (otherToY >= this$static.image.height_0) { + scale = (this$static.image.height_0 - 1 - fromY) / (otherToY - fromY); + otherToY = this$static.image.height_0 - 1; + } + otherToX = round_int(fromX + (otherToX - fromX) * scale); + result += $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, otherToX, otherToY); + return result - 1; +} + +function Detector(image){ + this.image = image; +} + +function computeDimension(topLeft, topRight, bottomLeft, moduleSize){ + var dimension, tlblCentersDimension, tltrCentersDimension; + tltrCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0) / moduleSize); + tlblCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, bottomLeft.x_0, bottomLeft.y_0) / moduleSize); + dimension = ~~((tltrCentersDimension + tlblCentersDimension) / 2) + 7; + switch (dimension & 3) { + case 0: + ++dimension; + break; + case 2: + --dimension; + break; + case 3: + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + return dimension; +} + +function createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension){ + var bottomRightX, bottomRightY, dimMinusThree, sourceBottomRightX, sourceBottomRightY; + dimMinusThree = dimension - 3.5; + if (alignmentPattern) { + bottomRightX = alignmentPattern.x_0; + bottomRightY = alignmentPattern.y_0; + sourceBottomRightX = dimMinusThree - 3; + sourceBottomRightY = sourceBottomRightX; + } + else { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + sourceBottomRightX = dimMinusThree; + sourceBottomRightY = dimMinusThree; + } + return quadrilateralToQuadrilateral(dimMinusThree, sourceBottomRightX, sourceBottomRightY, dimMinusThree, topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0, bottomRightX, bottomRightY, bottomLeft.x_0, bottomLeft.y_0); +} + +function sampleGrid(image, transform, dimension){ + return $sampleGrid(image, dimension, dimension, transform); +} + +defineClass(131, 1, {}, Detector); +var Lcom_google_zxing_qrcode_detector_Detector_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'Detector', 131); +function $aboutEquals_0(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function FinderPattern(posX, posY, estimatedModuleSize){ + FinderPattern_0.call(this, posX, posY, estimatedModuleSize, 1); +} + +function FinderPattern_0(posX, posY, estimatedModuleSize, count){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; + this.count = count; +} + +defineClass(16, 29, {29:1, 16:1}, FinderPattern, FinderPattern_0); +_.count = 0; +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPattern', 16); +function $crossCheckDiagonal(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, maxI, maxJ, stateCount, stateCountTotal; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = 0; + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i)) { + ++stateCount[2]; + ++i; + } + if (startI < i || centerJ < i) { + return false; + } + while (startI >= i && centerJ >= i && !$get(this$static.image, centerJ - i, startI - i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (startI < i || centerJ < i || stateCount[1] > maxCount) { + return false; + } + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + ++i; + } + if (stateCount[0] > maxCount) { + return false; + } + maxI = this$static.image.height_0; + maxJ = this$static.image.width_0; + i = 1; + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i)) { + ++stateCount[2]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && !$get(this$static.image, centerJ + i, startI + i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ || stateCount[3] >= maxCount) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return false; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + return (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) < 2 * originalStateCountTotal && foundPatternCross(stateCount); +} + +function $crossCheckHorizontal(this$static, startJ, centerI, maxCount, originalStateCountTotal){ + var image, j, maxJ, stateCount, stateCountTotal; + image = this$static.image; + maxJ = image.width_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + j = startJ; + while (j >= 0 && $get(image, j, centerI)) { + ++stateCount[2]; + --j; + } + if (j < 0) { + return NaN; + } + while (j >= 0 && !$get(image, j, centerI) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --j; + } + if (j < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (j >= 0 && $get(image, j, centerI) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --j; + } + if (stateCount[0] > maxCount) { + return NaN; + } + j = startJ + 1; + while (j < maxJ && $get(image, j, centerI)) { + ++stateCount[2]; + ++j; + } + if (j == maxJ) { + return NaN; + } + while (j < maxJ && !$get(image, j, centerI) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++j; + } + if (j == maxJ || stateCount[3] >= maxCount) { + return NaN; + } + while (j < maxJ && $get(image, j, centerI) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++j; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?j - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $crossCheckVertical_0(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = startI; + while (i >= 0 && $get(image, centerJ, i)) { + ++stateCount[2]; + --i; + } + if (i < 0) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && $get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i)) { + ++stateCount[2]; + ++i; + } + if (i == maxI) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (i == maxI || stateCount[3] >= maxCount) { + return NaN; + } + while (i < maxI && $get(image, centerJ, i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?i - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $find_0(this$static){ + var confirmed, currentState, done, i, iSkip, j, maxI, maxJ, patternInfo, rowSkip, stateCount; + maxI = this$static.image.height_0; + maxJ = this$static.image.width_0; + iSkip = ~~(3 * maxI / 228); + iSkip < 3 && (iSkip = 3); + done = false; + stateCount = initDim(I_classLit, $intern_20, 0, 5, 7, 1); + for (i = iSkip - 1; i < maxI && !done; i += iSkip) { + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + currentState = 0; + for (j = 0; j < maxJ; j++) { + if ($get(this$static.image, j, i)) { + (currentState & 1) == 1 && ++currentState; + ++stateCount[currentState]; + } + else { + if ((currentState & 1) == 0) { + if (currentState == 4) { + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, j, false); + if (confirmed) { + iSkip = 2; + if (this$static.hasSkipped) { + done = $haveMultiplyConfirmedCenters(this$static); + } + else { + rowSkip = $findRowSkip(this$static); + if (rowSkip > stateCount[2]) { + i += rowSkip - stateCount[2] - 2; + j = maxJ - 1; + } + } + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + continue; + } + currentState = 0; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + } + } + else { + ++stateCount[++currentState]; + } + } + else { + ++stateCount[currentState]; + } + } + } + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, maxJ, false); + if (confirmed) { + iSkip = stateCount[0]; + this$static.hasSkipped && (done = $haveMultiplyConfirmedCenters(this$static)); + } + } + } + patternInfo = $selectBestPatterns(this$static); + orderBestPatterns(patternInfo); + return new FinderPatternInfo(patternInfo); +} + +function $findRowSkip(this$static){ + var center, center$iterator, firstConfirmedCenter, max_0; + max_0 = this$static.possibleCenters.array.length; + if (max_0 <= 1) { + return 0; + } + firstConfirmedCenter = null; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + if (center.count >= 2) { + if (!firstConfirmedCenter) { + firstConfirmedCenter = center; + } + else { + this$static.hasSkipped = true; + return ~~(round_int(abs_0(firstConfirmedCenter.x_0 - center.x_0) - abs_0(firstConfirmedCenter.y_0 - center.y_0)) / 2); + } + } + } + return 0; +} + +function $handlePossibleCenter_0(this$static, stateCount, i, j, pureBarcode){ + var center, centerI, centerJ, estimatedModuleSize, found, index_0, point, stateCountTotal, combinedCount, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + centerJ = j - stateCount[4] - stateCount[3] - stateCount[2] / 2; + centerI = $crossCheckVertical_0(this$static, i, round_int(centerJ), stateCount[2], stateCountTotal); + if (!isNaN(centerI)) { + centerJ = $crossCheckHorizontal(this$static, round_int(centerJ), round_int(centerI), stateCount[2], stateCountTotal); + if (!isNaN(centerJ) && (!pureBarcode || $crossCheckDiagonal(this$static, round_int(centerI), round_int(centerJ), stateCount[2], stateCountTotal))) { + estimatedModuleSize = stateCountTotal / 7; + found = false; + for (index_0 = 0; index_0 < this$static.possibleCenters.array.length; index_0++) { + center = dynamicCast($get_1(this$static.possibleCenters, index_0), 16); + if ($aboutEquals_0(center, estimatedModuleSize, centerI, centerJ)) { + $set_1(this$static.possibleCenters, index_0, (combinedCount = center.count + 1 , combinedX = (center.count * center.x_0 + centerJ) / combinedCount , combinedY = (center.count * center.y_0 + centerI) / combinedCount , combinedModuleSize = (center.count * center.estimatedModuleSize + estimatedModuleSize) / combinedCount , new FinderPattern_0(combinedX, combinedY, combinedModuleSize, combinedCount))); + found = true; + break; + } + } + if (!found) { + point = new FinderPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return true; + } + } + return false; +} + +function $haveMultiplyConfirmedCenters(this$static){ + var average, confirmedCount, max_0, pattern, pattern$iterator, pattern$iterator0, totalDeviation, totalModuleSize; + confirmedCount = 0; + totalModuleSize = 0; + max_0 = this$static.possibleCenters.array.length; + for (pattern$iterator0 = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator0.i < pattern$iterator0.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator0.i < pattern$iterator0.this$01.size_1()) , dynamicCast(pattern$iterator0.this$01.get_1(pattern$iterator0.last = pattern$iterator0.i++), 16)); + if (pattern.count >= 2) { + ++confirmedCount; + totalModuleSize += pattern.estimatedModuleSize; + } + } + if (confirmedCount < 3) { + return false; + } + average = totalModuleSize / max_0; + totalDeviation = 0; + for (pattern$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator.i < pattern$iterator.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator.i < pattern$iterator.this$01.size_1()) , dynamicCast(pattern$iterator.this$01.get_1(pattern$iterator.last = pattern$iterator.i++), 16)); + totalDeviation += abs_0(pattern.estimatedModuleSize - average); + } + return totalDeviation <= 0.05000000074505806 * totalModuleSize; +} + +function $selectBestPatterns(this$static){ + var average, center, center$iterator, i, limit, pattern, possibleCenter, possibleCenter$iterator, size_0, square, startSize, stdDev, totalModuleSize; + startSize = this$static.possibleCenters.array.length; + if (startSize < 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + if (startSize > 3) { + totalModuleSize = 0; + square = 0; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + size_0 = center.estimatedModuleSize; + totalModuleSize += size_0; + square += size_0 * size_0; + } + average = totalModuleSize / startSize; + stdDev = Math.sqrt(square / startSize - average * average); + sort_0(this$static.possibleCenters, new FinderPatternFinder$FurthestFromAverageComparator(average)); + limit = $intern_22 * average > stdDev?$intern_22 * average:stdDev; + for (i = 0; i < this$static.possibleCenters.array.length && this$static.possibleCenters.array.length > 3; i++) { + pattern = dynamicCast($get_1(this$static.possibleCenters, i), 16); + if (abs_0(pattern.estimatedModuleSize - average) > limit) { + this$static.possibleCenters.remove(i); + --i; + } + } + } + if (this$static.possibleCenters.array.length > 3) { + totalModuleSize = 0; + for (possibleCenter$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1();) { + possibleCenter = (checkCriticalElement(possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1()) , dynamicCast(possibleCenter$iterator.this$01.get_1(possibleCenter$iterator.last = possibleCenter$iterator.i++), 16)); + totalModuleSize += possibleCenter.estimatedModuleSize; + } + average = totalModuleSize / this$static.possibleCenters.array.length; + sort_0(this$static.possibleCenters, new FinderPatternFinder$CenterComparator(average)); + $clear(new AbstractList$SubList(this$static.possibleCenters, this$static.possibleCenters.array.length)); + } + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit, 1), $intern_2, 16, 0, [dynamicCast($get_1(this$static.possibleCenters, 0), 16), dynamicCast($get_1(this$static.possibleCenters, 1), 16), dynamicCast($get_1(this$static.possibleCenters, 2), 16)]); +} + +function FinderPatternFinder(image){ + this.image = image; + this.possibleCenters = new ArrayList; + this.crossCheckStateCount = initDim(I_classLit, $intern_20, 0, 5, 7, 1); +} + +function foundPatternCross(stateCount){ + var count, i, maxVariance, moduleSize, totalModuleSize; + totalModuleSize = 0; + for (i = 0; i < 5; i++) { + count = stateCount[i]; + if (count == 0) { + return false; + } + totalModuleSize += count; + } + if (totalModuleSize < 7) { + return false; + } + moduleSize = totalModuleSize / 7; + maxVariance = moduleSize / 2; + return abs_0(moduleSize - stateCount[0]) < maxVariance && abs_0(moduleSize - stateCount[1]) < maxVariance && abs_0(3 * moduleSize - stateCount[2]) < 3 * maxVariance && abs_0(moduleSize - stateCount[3]) < maxVariance && abs_0(moduleSize - stateCount[4]) < maxVariance; +} + +defineClass(134, 1, {}, FinderPatternFinder); +_.hasSkipped = false; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder', 134); +function $compare(this$static, center1, center2){ + var dA, dB; + if (center2.count == center1.count) { + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?1:dA == dB?0:-1; + } + else { + return center2.count - center1.count; + } +} + +function FinderPatternFinder$CenterComparator(f){ + this.average = f; +} + +defineClass(136, 1, $intern_18, FinderPatternFinder$CenterComparator); +_.compare = function compare(center1, center2){ + return $compare(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$CenterComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/CenterComparator', 136); +function $compare_0(this$static, center1, center2){ + var dA, dB; + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?-1:dA == dB?0:1; +} + +function FinderPatternFinder$FurthestFromAverageComparator(f){ + this.average = f; +} + +defineClass(135, 1, $intern_18, FinderPatternFinder$FurthestFromAverageComparator); +_.compare = function compare_0(center1, center2){ + return $compare_0(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$FurthestFromAverageComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/FurthestFromAverageComparator', 135); +function FinderPatternInfo(patternCenters){ + this.bottomLeft = patternCenters[0]; + this.topLeft = patternCenters[1]; + this.topRight = patternCenters[2]; +} + +defineClass(137, 1, {}, FinderPatternInfo); +var Lcom_google_zxing_qrcode_detector_FinderPatternInfo_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternInfo', 137); +function $getMatrix(this$static){ + var area, height, i, j, matrix, pixelByte, pixelInt, width_0; + width_0 = this$static.width_0; + height = this$static.height_0; + area = width_0 * height; + matrix = initDim(B_classLit, $intern_18, 0, area, 7, 1); + for (i = 0; i < width_0; i++) + for (j = 0; j < height; j++) { + pixelInt = $getColorAt(this$static.imagedata, this$static.left + i, this$static.top_0 + j, 0); + pixelByte = narrow_byte(pixelInt); + matrix[i + j * width_0] = pixelByte; + } + return matrix; +} + +function $getRow(this$static, y_0, row){ + var i, width_0, yoffset; + if (y_0 < 0 || y_0 >= this$static.height_0) { + throw new IllegalArgumentException_0('Requested row is outside the image: ' + y_0); + } + width_0 = this$static.width_0; + (row == null || row.length < width_0) && (row = initDim(B_classLit, $intern_18, 0, width_0, 7, 1)); + yoffset = this$static.top_0 + y_0; + for (i = 0; i < width_0; i++) { + row[i] = $getColorAt(this$static.imagedata, this$static.left + i, yoffset, 0) << 24 >> 24; + } + return row; +} + +function CanvasLuminanceSource(image){ + CanvasLuminanceSource_0.call(this, image, ($clinit_DOM() , image.element).width, image.element.height); +} + +function CanvasLuminanceSource_0(aImage, width_0, height){ + var avg, data_0, i, sourceHeight, sourceWidth; + this.width_0 = width_0; + this.height_0 = height; + sourceWidth = ($clinit_DOM() , aImage.element).width; + sourceHeight = aImage.element.height; + if (width_0 > sourceWidth || height > sourceHeight) { + throw new IllegalArgumentException_0('Crop rectangle does not fit within image data.'); + } + this.image = createIfSupported(); + $setPixelSize(this.image, sourceWidth, sourceHeight); + $setCoordinateSpaceHeight(this.image, sourceHeight); + $setCoordinateSpaceWidth(this.image, sourceWidth); + this.imagedata = $getImageData(aImage.element.getContext('2d'), 0, 0, width_0, height); + data_0 = this.imagedata.data; + for (i = 0; i < data_0.length; i += 4) { + if (((data_0[i + 3] || 0) & 255) == 0) { + $set(data_0, i, 255); + $set(data_0, i + 1, 255); + $set(data_0, i + 2, 255); + $set(data_0, i + 3, 255); + } + else { + avg = ~~(((data_0[i] || 0) + (data_0[i + 1] || 0) + (data_0[i + 2] || 0)) / 3); + $set(data_0, i, avg); + $set(data_0, i + 1, avg); + $set(data_0, i + 2, avg); + } + } + $putImageData($getContext2d(this.image), this.imagedata, 0, 0); + this.left = 0; + this.top_0 = 0; +} + +defineClass(78, 125, {}, CanvasLuminanceSource); +_.left = 0; +_.top_0 = 0; +var Lcom_google_zxing_web_CanvasLuminanceSource_2_classLit = createForClass('com.google.zxing.web', 'CanvasLuminanceSource', 78); +function $createSnapImage(this$static){ + var binarizer, h, lsource, snapImage, w; + w = $getVideoElement(this$static.video).videoWidth; + h = $getVideoElement(this$static.video).videoHeight; + if (w > 0 && h > 0) { + if (this$static.snapImageMaxSize > 0) { + if (w > h) { + if (this$static.snapImageMaxSize < w) { + h = ~~(h * this$static.snapImageMaxSize / w); + w = this$static.snapImageMaxSize; + } + } + else { + if (this$static.snapImageMaxSize < h) { + w = ~~(w * this$static.snapImageMaxSize / h); + h = this$static.snapImageMaxSize; + } + } + } + $setCoordinateSpaceWidth(this$static.canvas, w); + $setCoordinateSpaceHeight(this$static.canvas, h); + $drawImage($getCanvasElement(this$static.canvas).getContext('2d'), $getMediaElement(this$static.video), 0, 0, w, h); + lsource = new CanvasLuminanceSource(this$static.canvas); + binarizer = new HybridBinarizer(lsource); + snapImage = new BinaryBitmap(binarizer); + return snapImage; + } + return null; +} + +function $isScanning(this$static){ + return this$static.active && this$static.attached; +} + +function $onAttach_1(this$static){ + var t; + $onAttach(this$static); + $setSrc(this$static.video); + try { + $setWebcam(($clinit_DOM() , this$static.video.element), this$static); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + t = $e0; + $reportError(this$static, t.getMessage()); + } + else + throw unwrap($e0); + } +} + +function $reportError(this$static, msg){ + $onSuccess(this$static.callback, new Result(msg)); +} + +function $resumeScanning(this$static){ + this$static.active = true; + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); +} + +function $scan(this$static){ + var bitmap, reader, reader$iterator, result; + if (!(this$static.active && this$static.attached)) + return; + try { + bitmap = $createSnapImage(this$static); + if (bitmap) { + for (reader$iterator = new AbstractList$IteratorImpl(this$static.readers); reader$iterator.i < reader$iterator.this$01.size_1();) { + reader = (checkCriticalElement(reader$iterator.i < reader$iterator.this$01.size_1()) , dynamicCast(reader$iterator.this$01.get_1(reader$iterator.last = reader$iterator.i++), 181)); + try { + result = $decode_0(reader, bitmap); + $onSuccess(this$static.callback, result); + return; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 10)) + throw unwrap($e0); + } + } + } + } + finally { + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); + } +} + +function $setScanInterval(this$static, scanInterval){ + this$static.scanInterval = scanInterval; +} + +function $setSnapImageMaxSize(this$static, snapImageMaxSize){ + this$static.snapImageMaxSize = snapImageMaxSize; +} + +function $setWebcam(videoElement, scanner){ + function success(stream){ + scanner.videoStream = stream; + var v = videoElement; + function removeControls(){ + v.removeAttribute('controls'); + } + + try { + v.srcObject = stream; + v.setAttribute('playsinline', true); + v.setAttribute('controls', true); + setTimeout(removeControls); + } + catch (ex) { + v.src = $wnd.URL.createObjectURL(stream); + } + scanner.videoAttached(); + } + + function error(ex){ + var msg = ex.message; + scanner.reportError(msg); + } + + var vsp = scanner.videoStreamProvider; + if (vsp) { + vsp().then(success)['catch'](error); + return; + } + var n = $wnd.navigator; + if (n.mediaDevices && n.mediaDevices.getUserMedia) { + n.mediaDevices.getUserMedia({video:{facingMode:'environment'}, audio:false}).then(success)['catch'](error); + } + else { + var constraints = {audio:false, video:true}; + n.getUserMedia?n.getUserMedia(constraints, success, error):n.webkitGetUserMedia?n.webkitGetUserMedia(constraints, success, error):n.mozGetUserMedia && n.mozGetUserMedia(constraints, success, error); + } +} + +function $stopWebcam(scanner){ + if (scanner.videoStream) { + var stream = scanner.videoStream; + stream.stop?stream.stop():stream.getTracks && stream.getTracks().forEach(function(track){ + track.stop(); + } + ); + scanner.videoStream = null; + } +} + +function ScannerWidget(callback, videoStreamProvider){ + this.children = new WidgetCollection; + $setElement(this, ($clinit_DOM() , $doc.createElement('div'))); + this.video = createIfSupported_0(); + this.canvas = createIfSupported(); + this.qrReader = new QRCodeReader; + this.readers = new ArrayList; + this.scanInterval = 300; + this.snapImageMaxSize = -1; + this.active = true; + this.callback = callback; + this.videoStreamProvider = videoStreamProvider; + $add_2(this.readers, this.qrReader); + this.scanTimer = new ScannerWidget$1(this); + $add_0(this, this.video); + $setStyleName(this.video); + $setAutoplay(this.video); +} + +defineClass(104, 75, $intern_1); +_.onAttach = function onAttach_1(){ + $onAttach_1(this); +} +; +_.onDetach = function onDetach_0(){ + $onDetach(this); + $stopWebcam(this); +} +; +_.reportError = function reportError(msg){ + $reportError(this, msg); +} +; +_.videoAttached = function videoAttached(){ + this.active && this.attached && $schedule(this.scanTimer, this.scanInterval); +} +; +_.active = false; +_.scanInterval = 0; +_.snapImageMaxSize = 0; +var Lcom_google_zxing_web_ScannerWidget_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget', 104); +function ScannerWidget$1(this$0){ + this.this$01 = this$0; +} + +defineClass(108, 107, {}, ScannerWidget$1); +var Lcom_google_zxing_web_ScannerWidget$1_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget/1', 108); +defineClass(153, 10, $intern_4); +var Ljava_io_IOException_2_classLit = createForClass('java.io', 'IOException', 153); +function UnsupportedEncodingException(msg){ + Exception_0.call(this, msg); +} + +defineClass(51, 153, {3:1, 51:1, 10:1, 8:1}, UnsupportedEncodingException); +var Ljava_io_UnsupportedEncodingException_2_classLit = createForClass('java.io', 'UnsupportedEncodingException', 51); +function AbstractStringBuilder(string){ + this.string = string; +} + +defineClass(60, 1, {}); +_.toString$ = function toString_12(){ + return this.string; +} +; +var Ljava_lang_AbstractStringBuilder_2_classLit = createForClass('java.lang', 'AbstractStringBuilder', 60); +function ArithmeticException(){ + RuntimeException.call(this); +} + +defineClass(70, 15, $intern_4, ArithmeticException); +var Ljava_lang_ArithmeticException_2_classLit = createForClass('java.lang', 'ArithmeticException', 70); +function ArrayStoreException(){ + RuntimeException.call(this); +} + +function ArrayStoreException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(46, 15, $intern_4, ArrayStoreException, ArrayStoreException_0); +var Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang', 'ArrayStoreException', 46); +function toChars(codePoint, dst, dstIndex){ + checkCriticalArgument(codePoint >= 0 && codePoint <= 1114111); + if (codePoint >= $intern_11) { + dst[dstIndex++] = 55296 + (codePoint - $intern_11 >> 10 & 1023) & 65535; + dst[dstIndex] = 56320 + (codePoint - $intern_11 & 1023) & 65535; + return 2; + } + else { + dst[dstIndex] = codePoint & 65535; + return 1; + } +} + +function ClassCastException(){ + RuntimeException.call(this); +} + +defineClass(41, 15, $intern_4, ClassCastException); +var Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang', 'ClassCastException', 41); +defineClass(66, 1, {3:1, 66:1}); +var Ljava_lang_Number_2_classLit = createForClass('java.lang', 'Number', 66); +function $clinit_Double(){ + $clinit_Double = emptyMethod; + powers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_18, 0, 7, [1.3407807929942597E154, 1.157920892373162E77, 3.4028236692093846E38, 1.8446744073709552E19, 4294967296, $intern_11, 256, 16, 4, 2]); + invPowers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_18, 0, 7, [7.458340731200207E-155, 8.636168555094445E-78, 2.9387358770557188E-39, 5.421010862427522E-20, 2.3283064365386963E-10, 1.52587890625E-5, 0.00390625, 0.0625, 0.25, 0.5]); +} + +function doubleToLongBits(value_0){ + $clinit_Double(); + var bit, exp_0, i, ihi, ilo, negative; + if (isNaN_0(value_0)) { + return {l:0, m:0, h:524160}; + } + negative = false; + if (value_0 == 0) { + return 1 / value_0 == -Infinity?{l:0, m:0, h:$intern_10}:{l:0, m:0, h:0}; + } + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?{l:0, m:0, h:1048320}:{l:0, m:0, h:524032}; + } + exp_0 = 0; + if (value_0 < 1) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 < invPowers[i] && exp_0 - bit >= -1023) { + value_0 *= powers[i]; + exp_0 -= bit; + } + } + if (value_0 < 1 && exp_0 - 1 >= -1023) { + value_0 *= 2; + --exp_0; + } + } + else if (value_0 >= 2) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 >= powers[i]) { + value_0 *= invPowers[i]; + exp_0 += bit; + } + } + } + exp_0 > -1023?(value_0 -= 1):(value_0 *= 0.5); + ihi = fromDouble(value_0 * $intern_13); + value_0 -= toDouble(ihi) * 9.5367431640625E-7; + ilo = fromDouble(value_0 * 4503599627370496); + ihi = or(ihi, fromInt(exp_0 + 1023 << 20)); + negative && (ihi = or(ihi, {l:0, m:512, h:0})); + return or(shl(ihi, 32), ilo); +} + +function isNaN_0(x_0){ + $clinit_Double(); + return isNaN(x_0); +} + +var invPowers, powers; +function floatToIntBits(value_0){ + var bits, exp_0, l, mantissa, negative; + if (isNaN(value_0)) { + return 2143289344; + } + if (value_0 == 0) { + return 1 / value_0 == -Infinity?-2147483648:0; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?-8388608:2139095040; + } + l = doubleToLongBits(value_0); + exp_0 = toInt(sub_0(and(shr(l, 52), {l:2047, m:0, h:0}), {l:1023, m:0, h:0})); + mantissa = toInt(shr(and(l, {l:$intern_5, m:$intern_5, h:255}), 29)); + if (exp_0 <= -127) { + mantissa = ($intern_14 | mantissa) >> -127 - exp_0 + 1; + exp_0 = -127; + } + bits = negative?{l:0, m:512, h:0}:{l:0, m:0, h:0}; + bits = or(bits, fromInt(exp_0 + 127 << 23)); + bits = or(bits, fromInt(mantissa)); + return toInt(bits); +} + +function IllegalArgumentException(){ + RuntimeException.call(this); +} + +function IllegalArgumentException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(12, 15, {3:1, 10:1, 12:1, 8:1}, IllegalArgumentException, IllegalArgumentException_0); +var Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang', 'IllegalArgumentException', 12); +function IllegalStateException(){ + RuntimeException.call(this); +} + +function IllegalStateException_0(s){ + RuntimeException_0.call(this, s); +} + +defineClass(43, 15, $intern_4, IllegalStateException, IllegalStateException_0); +var Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang', 'IllegalStateException', 43); +function IndexOutOfBoundsException(){ + RuntimeException.call(this); +} + +function IndexOutOfBoundsException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(38, 15, $intern_4, IndexOutOfBoundsException, IndexOutOfBoundsException_0); +var Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang', 'IndexOutOfBoundsException', 38); +function $compareTo_0(this$static, b){ + return compare_1(this$static.value_0, b.value_0); +} + +function Integer(value_0){ + this.value_0 = value_0; +} + +function bitCount(x_0){ + x_0 -= x_0 >> 1 & 1431655765; + x_0 = (x_0 >> 2 & 858993459) + (x_0 & 858993459); + x_0 = (x_0 >> 4) + x_0 & 252645135; + x_0 += x_0 >> 8; + x_0 += x_0 >> 16; + return x_0 & 63; +} + +function compare_1(x_0, y_0){ + return x_0 < y_0?-1:x_0 > y_0?1:0; +} + +function toUnsignedRadixString(value_0, radix){ + return (value_0 >>> 0).toString(radix); +} + +function valueOf(i){ + var rebase, result; + if (i > -129 && i < 128) { + rebase = i + 128; + result = ($clinit_Integer$BoxedValues() , boxedValues_0)[rebase]; + !result && (result = boxedValues_0[rebase] = new Integer(i)); + return result; + } + return new Integer(i); +} + +defineClass(36, 66, {3:1, 19:1, 36:1, 66:1}, Integer); +_.compareTo = function compareTo_0(b){ + return $compareTo_0(this, dynamicCast(b, 36)); +} +; +_.equals$ = function equals_4(o){ + return instanceOf(o, 36) && dynamicCast(o, 36).value_0 == this.value_0; +} +; +_.hashCode$ = function hashCode_5(){ + return this.value_0; +} +; +_.toString$ = function toString_14(){ + return '' + this.value_0; +} +; +_.value_0 = 0; +var Ljava_lang_Integer_2_classLit = createForClass('java.lang', 'Integer', 36); +function $clinit_Integer$BoxedValues(){ + $clinit_Integer$BoxedValues = emptyMethod; + boxedValues_0 = initDim(Ljava_lang_Integer_2_classLit, $intern_2, 36, 256, 0, 1); +} + +var boxedValues_0; +function abs_0(x_0){ + return x_0 <= 0?0 - x_0:x_0; +} + +function min_1(x_0, y_0){ + return x_0 < y_0?x_0:y_0; +} + +function NullPointerException(){ + RuntimeException.call(this); +} + +function NullPointerException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(71, 15, $intern_4, NullPointerException, NullPointerException_0); +var Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang', 'NullPointerException', 71); +function $charAt(this$static, index_0){ + return this$static.charCodeAt(index_0); +} + +function $equals(this$static, other){ + return this$static === other; +} + +function $equalsIgnoreCase(this$static, other){ + if (other == null) { + return false; + } + if (this$static == other) { + return true; + } + return this$static.length == other.length && this$static.toLowerCase() == other.toLowerCase(); +} + +function $getChars(dst, dstBegin){ + var srcIdx; + for (srcIdx = 0; srcIdx < 45; ++srcIdx) { + dst[dstBegin++] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'.charCodeAt(srcIdx); + } +} + +function $split(this$static, regex, maxMatch){ + var compiled = new RegExp(regex, 'g'); + var out = []; + var count = 0; + var trail = this$static; + var lastTrail = null; + while (true) { + var matchObj = compiled.exec(trail); + if (matchObj == null || trail == '' || count == maxMatch - 1 && maxMatch > 0) { + out[count] = trail; + break; + } + else { + out[count] = trail.substring(0, matchObj.index); + trail = trail.substring(matchObj.index + matchObj[0].length, trail.length); + compiled.lastIndex = 0; + if (lastTrail == trail) { + out[count] = trail.substring(0, 1); + trail = trail.substring(1); + } + lastTrail = trail; + count++; + } + } + if (maxMatch == 0 && this$static.length > 0) { + var lastNonEmpty = out.length; + while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') { + --lastNonEmpty; + } + lastNonEmpty < out.length && out.splice(lastNonEmpty, out.length - lastNonEmpty); + } + var jr = __createArray(out.length); + for (var i = 0; i < out.length; ++i) { + jr[i] = out[i]; + } + return jr; +} + +function $substring(this$static, beginIndex){ + return __substr(this$static, beginIndex, this$static.length - beginIndex); +} + +function _String(bytes, len, charset){ + if ($equalsIgnoreCase('UTF-8', charset)) { + return utf8ToString(bytes, len); + } + else if ($equalsIgnoreCase('ISO-8859-1', charset) || $equalsIgnoreCase('ISO-LATIN-1', charset)) { + return latin1ToString(bytes, len); + } + else { + throw new UnsupportedEncodingException('Charset ' + charset + ' not supported'); + } +} + +function __createArray(numElements){ + return initDim(Ljava_lang_String_2_classLit, $intern_2, 2, numElements, 4, 1); +} + +function __substr(str, beginIndex, len){ + return str.substr(beginIndex, len); +} + +function __valueOf(x_0, start_0, end){ + var s = ''; + for (var batchStart = start_0; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd)); + batchStart = batchEnd; + } + return s; +} + +function compareTo_1(thisStr, otherStr){ + if (thisStr == otherStr) { + return 0; + } + return thisStr < otherStr?-1:1; +} + +function compareTo_Ljava_lang_Object__I__devirtual$(this$static, other){ + return isJavaString(this$static)?compareTo_1(this$static, dynamicCastToString(other)):this$static.compareTo(other); +} + +function latin1ToString(bytes, len){ + var chars, i; + chars = initDim(C_classLit, $intern_18, 0, len, 7, 1); + for (i = 0; i < len; ++i) { + chars[i] = bytes[i] & 255 & 65535; + } + return __valueOf(chars, 0, chars.length); +} + +function utf8ToString(bytes, len){ + var b, ch_0, charCount, chars, count, i, i0, outIdx; + charCount = 0; + for (i0 = 0; i0 < len;) { + ++charCount; + ch_0 = bytes[i0]; + if ((ch_0 & 192) == 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + else if ((ch_0 & 128) == 0) { + ++i0; + } + else if ((ch_0 & 224) == 192) { + i0 += 2; + } + else if ((ch_0 & 240) == 224) { + i0 += 3; + } + else if ((ch_0 & 248) == 240) { + i0 += 4; + } + else { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + if (i0 > len) { + throw new IndexOutOfBoundsException_0('Invalid UTF8 sequence'); + } + } + chars = initDim(C_classLit, $intern_18, 0, charCount, 7, 1); + outIdx = 0; + count = 0; + for (i = 0; i < len;) { + ch_0 = bytes[i++]; + if ((ch_0 & 128) == 0) { + count = 1; + ch_0 &= 127; + } + else if ((ch_0 & 224) == 192) { + count = 2; + ch_0 &= 31; + } + else if ((ch_0 & 240) == 224) { + count = 3; + ch_0 &= 15; + } + else if ((ch_0 & 248) == 240) { + count = 4; + ch_0 &= 7; + } + else if ((ch_0 & 252) == 248) { + count = 5; + ch_0 &= 3; + } + while (--count > 0) { + b = bytes[i++]; + if ((b & 192) != 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence at ' + (i - 1) + ', byte=' + toUnsignedRadixString(b, 16)); + } + ch_0 = ch_0 << 6 | b & 63; + } + outIdx += toChars(ch_0, chars, outIdx); + } + return __valueOf(chars, 0, chars.length); +} + +var Ljava_lang_String_2_classLit = createForClass('java.lang', 'String', 2); +function $clinit_String$HashCache(){ + $clinit_String$HashCache = emptyMethod; + back_0 = {}; + front = {}; +} + +function compute(str){ + var hashCode, i, n, nBatch; + hashCode = 0; + n = str.length; + nBatch = n - 4; + i = 0; + while (i < nBatch) { + hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))); + hashCode = ~~hashCode; + i += 4; + } + while (i < n) { + hashCode = hashCode * 31 + $charAt(str, i++); + } + hashCode = ~~hashCode; + return hashCode; +} + +function getHashCode_0(str){ + $clinit_String$HashCache(); + var key = ':' + str; + var result = front[key]; + if (result != null) { + return result; + } + result = back_0[key]; + result == null && (result = compute(str)); + increment(); + return front[key] = result; +} + +function increment(){ + if (count_0 == 256) { + back_0 = front; + front = {}; + count_0 = 0; + } + ++count_0; +} + +var back_0, count_0 = 0, front; +function $append(this$static, x_0){ + this$static.string += charToString(x_0); + return this$static; +} + +function $append_0(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_1(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_2(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function StringBuilder(){ + AbstractStringBuilder.call(this, ''); +} + +function StringBuilder_0(s){ + AbstractStringBuilder.call(this, s); +} + +defineClass(27, 60, {179:1}, StringBuilder, StringBuilder_0); +var Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang', 'StringBuilder', 27); +function arraycopy(src_0, srcOfs, dest, destOfs, len){ + var destArray, destComp, destEnd, destType, destlen, srcArray, srcComp, srcType, srclen; + checkNotNull_0(src_0, 'src'); + checkNotNull_0(dest, 'dest'); + srcType = getClass__Ljava_lang_Class___devirtual$(src_0); + destType = getClass__Ljava_lang_Class___devirtual$(dest); + checkArrayType((srcType.modifiers & 4) != 0, 'srcType is not an array'); + checkArrayType((destType.modifiers & 4) != 0, 'destType is not an array'); + srcComp = srcType.componentType; + destComp = destType.componentType; + checkArrayType((srcComp.modifiers & 1) != 0?srcComp == destComp:(destComp.modifiers & 1) == 0, "Array types don't match"); + srclen = src_0.length; + destlen = dest.length; + if (srcOfs < 0 || destOfs < 0 || len < 0 || srcOfs + len > srclen || destOfs + len > destlen) { + throw new IndexOutOfBoundsException; + } + if (((srcComp.modifiers & 1) == 0 || (srcComp.modifiers & 4) != 0) && srcType != destType) { + srcArray = dynamicCast(src_0, 5); + destArray = dynamicCast(dest, 5); + if (maskUndefined(src_0) === maskUndefined(dest) && srcOfs < destOfs) { + srcOfs += len; + for (destEnd = destOfs + len; destEnd-- > destOfs;) { + setCheck(destArray, destEnd, srcArray[--srcOfs]); + } + } + else { + for (destEnd = destOfs + len; destOfs < destEnd;) { + setCheck(destArray, destOfs++, srcArray[srcOfs++]); + } + } + } + else + len > 0 && nativeArraySplice(src_0, srcOfs, dest, destOfs, len, true); +} + +function UnsupportedOperationException(message){ + RuntimeException_0.call(this, message); +} + +defineClass(72, 15, $intern_4, UnsupportedOperationException); +var Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang', 'UnsupportedOperationException', 72); +function $advanceToFind(this$static, o){ + var e, iter; + for (iter = this$static.iterator(); iter.hasNext();) { + e = iter.next(); + if (maskUndefined(o) === maskUndefined(e) || o != null && equals_Ljava_lang_Object__Z__devirtual$(o, e)) { + return true; + } + } + return false; +} + +function $containsAll(this$static, c){ + var e, e$iterator; + checkNotNull(c); + for (e$iterator = c.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + if (!this$static.contains(e)) { + return false; + } + } + return true; +} + +function $toString_1(this$static){ + var comma, e, e$iterator, sb; + sb = new StringBuilder_0('['); + comma = false; + for (e$iterator = this$static.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + comma?(sb.string += ', ' , sb):(comma = true); + sb.string += e === this$static?'(this Collection)':'' + e; + } + sb.string += ']'; + return sb.string; +} + +defineClass(169, 1, {}); +_.contains = function contains(o){ + return $advanceToFind(this, o); +} +; +_.toString$ = function toString_15(){ + return $toString_1(this); +} +; +var Ljava_util_AbstractCollection_2_classLit = createForClass('java.util', 'AbstractCollection', 169); +function $containsEntry(this$static, entry){ + var key, ourValue, value_0; + key = entry.getKey(); + value_0 = entry.getValue(); + ourValue = this$static.get_0(key); + if (!(maskUndefined(value_0) === maskUndefined(ourValue) || value_0 != null && equals_Ljava_lang_Object__Z__devirtual$(value_0, ourValue))) { + return false; + } + if (ourValue == null && !this$static.containsKey(key)) { + return false; + } + return true; +} + +function $implFindEntry(this$static, key){ + var entry, iter, k; + for (iter = this$static.entrySet().iterator(); iter.hasNext();) { + entry = dynamicCast(iter.next(), 17); + k = entry.getKey(); + if (maskUndefined(key) === maskUndefined(k) || key != null && equals_Ljava_lang_Object__Z__devirtual$(key, k)) { + return entry; + } + } + return null; +} + +function $toString_2(this$static, o){ + return o === this$static?'(this Map)':'' + o; +} + +function getEntryValueOrNull(entry){ + return !entry?null:entry.getValue(); +} + +defineClass(168, 1, {58:1}); +_.containsKey = function containsKey(key){ + return !!$implFindEntry(this, key); +} +; +_.equals$ = function equals_5(obj){ + var entry, entry$iterator, otherMap; + if (obj === this) { + return true; + } + if (!instanceOf(obj, 58)) { + return false; + } + otherMap = dynamicCast(obj, 58); + if (this.size_1() != otherMap.size_1()) { + return false; + } + for (entry$iterator = otherMap.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + if (!$containsEntry(this, entry)) { + return false; + } + } + return true; +} +; +_.get_0 = function get_0(key){ + return getEntryValueOrNull($implFindEntry(this, key)); +} +; +_.hashCode$ = function hashCode_6(){ + return hashCode_12(this.entrySet()); +} +; +_.size_1 = function size_1(){ + return this.entrySet().size_1(); +} +; +_.toString$ = function toString_16(){ + var comma, entry, entry$iterator, sb; + sb = new StringBuilder_0('{'); + comma = false; + for (entry$iterator = this.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + comma?(sb.string += ', ' , sb):(comma = true); + $append_2(sb, $toString_2(this, entry.getKey())); + sb.string += '='; + $append_2(sb, $toString_2(this, entry.getValue())); + } + sb.string += '}'; + return sb.string; +} +; +var Ljava_util_AbstractMap_2_classLit = createForClass('java.util', 'AbstractMap', 168); +function $containsKey(this$static, key){ + return isJavaString(key)?key == null?!!$getEntry(this$static.hashCodeMap, null):!(this$static.stringMap.get_2(key) === undefined):!!$getEntry(this$static.hashCodeMap, key); +} + +function $elementAdded(this$static){ + ++this$static.size_0; + structureChanged(this$static); +} + +function $elementRemoved(this$static){ + --this$static.size_0; + structureChanged(this$static); +} + +function $get_0(this$static, key){ + return isJavaString(key)?key == null?getEntryValueOrNull($getEntry(this$static.hashCodeMap, null)):this$static.stringMap.get_2(key):getEntryValueOrNull($getEntry(this$static.hashCodeMap, key)); +} + +function $put(this$static, key, value_0){ + return isJavaString(key)?$putStringValue(this$static, key, value_0):$put_2(this$static.hashCodeMap, key, value_0); +} + +function $putStringValue(this$static, key, value_0){ + return key == null?$put_2(this$static.hashCodeMap, null, value_0):this$static.stringMap.put(key, value_0); +} + +function $remove_2(this$static, key){ + return $remove_5(this$static.hashCodeMap, key); +} + +defineClass(84, 168, {58:1}); +_.containsKey = function containsKey_0(key){ + return $containsKey(this, key); +} +; +_.entrySet = function entrySet(){ + return new AbstractHashMap$EntrySet(this); +} +; +_.get_0 = function get_1(key){ + return $get_0(this, key); +} +; +_.size_1 = function size_2(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util', 'AbstractHashMap', 84); +defineClass(170, 169, $intern_23); +_.equals$ = function equals_6(o){ + var other; + if (o === this) { + return true; + } + if (!instanceOf(o, 40)) { + return false; + } + other = dynamicCast(o, 40); + if (other.size_1() != this.size_1()) { + return false; + } + return $containsAll(this, other); +} +; +_.hashCode$ = function hashCode_7(){ + return hashCode_12(this); +} +; +var Ljava_util_AbstractSet_2_classLit = createForClass('java.util', 'AbstractSet', 170); +function $contains(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function AbstractHashMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(68, 170, $intern_23, AbstractHashMap$EntrySet); +_.contains = function contains_0(o){ + return $contains(this, o); +} +; +_.iterator = function iterator_2(){ + return new AbstractHashMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_3(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySet', 68); +function $hasNext(this$static){ + if (this$static.current.hasNext()) { + return true; + } + if (this$static.current != this$static.stringMapEntries) { + return false; + } + this$static.current = this$static.this$01.hashCodeMap.entries(); + return this$static.current.hasNext(); +} + +function $next_0(this$static){ + return checkStructuralChange(this$static.this$01, this$static) , checkCriticalElement($hasNext(this$static)) , dynamicCast(this$static.current.next(), 17); +} + +function AbstractHashMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.stringMapEntries = this.this$01.stringMap.entries(); + this.current = this.stringMapEntries; + setModCount(this, this$0._gwt_modCount); +} + +defineClass(69, 1, {}, AbstractHashMap$EntrySetIterator); +_.hasNext = function hasNext_0(){ + return $hasNext(this); +} +; +_.next = function next_0(){ + return $next_0(this); +} +; +var Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySetIterator', 69); +function $clear(this$static){ + $removeRange(this$static, this$static.size_0); +} + +function $removeRange(this$static, endIndex){ + var i, iter; + iter = new AbstractList$ListIteratorImpl(this$static); + for (i = 0; i < endIndex; ++i) { + checkCriticalElement(iter.i < iter.this$01.size_1()); + iter.this$01.get_1(iter.last = iter.i++); + checkState(iter.last != -1); + iter.this$01.remove(iter.last); + iter.i = iter.last; + iter.last = -1; + } +} + +defineClass(171, 169, {52:1}); +_.equals$ = function equals_7(o){ + var elem, elem$iterator, elemOther, iterOther, other; + if (o === this) { + return true; + } + if (!instanceOf(o, 52)) { + return false; + } + other = dynamicCast(o, 52); + if (this.size_1() != other.size_1()) { + return false; + } + iterOther = other.iterator(); + for (elem$iterator = new AbstractList$IteratorImpl(this); elem$iterator.i < elem$iterator.this$01.size_1();) { + elem = (checkCriticalElement(elem$iterator.i < elem$iterator.this$01.size_1()) , elem$iterator.this$01.get_1(elem$iterator.last = elem$iterator.i++)); + elemOther = (checkCriticalElement(iterOther.i < iterOther.this$01.size_1()) , iterOther.this$01.get_1(iterOther.last = iterOther.i++)); + if (!(maskUndefined(elem) === maskUndefined(elemOther) || elem != null && equals_Ljava_lang_Object__Z__devirtual$(elem, elemOther))) { + return false; + } + } + return true; +} +; +_.hashCode$ = function hashCode_8(){ + return hashCode_13(this); +} +; +_.iterator = function iterator_3(){ + return new AbstractList$IteratorImpl(this); +} +; +_.remove = function remove(index_0){ + throw new UnsupportedOperationException('Remove not supported on this list'); +} +; +var Ljava_util_AbstractList_2_classLit = createForClass('java.util', 'AbstractList', 171); +function AbstractList$IteratorImpl(this$0){ + this.this$01 = this$0; +} + +defineClass(24, 1, {}, AbstractList$IteratorImpl); +_.hasNext = function hasNext_1(){ + return this.i < this.this$01.size_1(); +} +; +_.next = function next_1(){ + return checkCriticalElement(this.i < this.this$01.size_1()) , this.this$01.get_1(this.last = this.i++); +} +; +_.i = 0; +_.last = -1; +var Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/IteratorImpl', 24); +function AbstractList$ListIteratorImpl(this$0){ + AbstractList$IteratorImpl.call(this, this$0); + checkPositionIndex(this$0.size_0); + this.i = 0; +} + +defineClass(88, 24, {}, AbstractList$ListIteratorImpl); +var Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/ListIteratorImpl', 88); +function AbstractList$SubList(wrapped, toIndex){ + checkCriticalPositionIndexes(toIndex, wrapped.array.length); + this.wrapped = wrapped; + this.fromIndex = 3; + this.size_0 = toIndex - 3; +} + +defineClass(89, 171, {52:1}, AbstractList$SubList); +_.get_1 = function get_2(index_0){ + checkElementIndex(index_0, this.size_0); + return $get_1(this.wrapped, this.fromIndex + index_0); +} +; +_.remove = function remove_0(index_0){ + var result; + checkElementIndex(index_0, this.size_0); + result = this.wrapped.remove(this.fromIndex + index_0); + --this.size_0; + return result; +} +; +_.size_1 = function size_4(){ + return this.size_0; +} +; +_.fromIndex = 0; +_.size_0 = 0; +var Ljava_util_AbstractList$SubList_2_classLit = createForClass('java.util', 'AbstractList/SubList', 89); +function $iterator(this$static){ + var outerIter; + outerIter = new AbstractHashMap$EntrySetIterator((new AbstractHashMap$EntrySet(this$static.this$01)).this$01); + return new AbstractMap$1$1(outerIter); +} + +function AbstractMap$1(this$0){ + this.this$01 = this$0; +} + +defineClass(53, 170, $intern_23, AbstractMap$1); +_.contains = function contains_1(key){ + return $containsKey(this.this$01, key); +} +; +_.iterator = function iterator_4(){ + return $iterator(this); +} +; +_.size_1 = function size_5(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util', 'AbstractMap/1', 53); +function $next_1(this$static){ + var entry; + entry = $next_0(this$static.val$outerIter2); + return entry.getKey(); +} + +function AbstractMap$1$1(val$outerIter){ + this.val$outerIter2 = val$outerIter; +} + +defineClass(87, 1, {}, AbstractMap$1$1); +_.hasNext = function hasNext_2(){ + return $hasNext(this.val$outerIter2); +} +; +_.next = function next_2(){ + return $next_1(this); +} +; +var Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util', 'AbstractMap/1/1', 87); +defineClass(85, 1, $intern_24); +_.equals$ = function equals_8(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.key, entry.getKey()) && equals_11(this.value_0, entry.getValue()); +} +; +_.getKey = function getKey(){ + return this.key; +} +; +_.getValue = function getValue(){ + return this.value_0; +} +; +_.hashCode$ = function hashCode_9(){ + return hashCode_14(this.key) ^ hashCode_14(this.value_0); +} +; +_.setValue = function setValue(value_0){ + var oldValue; + oldValue = this.value_0; + this.value_0 = value_0; + return oldValue; +} +; +_.toString$ = function toString_17(){ + return this.key + '=' + this.value_0; +} +; +var Ljava_util_AbstractMap$AbstractEntry_2_classLit = createForClass('java.util', 'AbstractMap/AbstractEntry', 85); +function AbstractMap$SimpleEntry(key, value_0){ + this.key = key; + this.value_0 = value_0; +} + +defineClass(86, 85, $intern_24, AbstractMap$SimpleEntry); +var Ljava_util_AbstractMap$SimpleEntry_2_classLit = createForClass('java.util', 'AbstractMap/SimpleEntry', 86); +defineClass(172, 1, $intern_24); +_.equals$ = function equals_9(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.getKey(), entry.getKey()) && equals_11(this.getValue(), entry.getValue()); +} +; +_.hashCode$ = function hashCode_10(){ + return hashCode_14(this.getKey()) ^ hashCode_14(this.getValue()); +} +; +_.toString$ = function toString_18(){ + return this.getKey() + '=' + this.getValue(); +} +; +var Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util', 'AbstractMapEntry', 172); +function $$init(this$static){ + this$static.array = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, 0, 3, 1); +} + +function $add_2(this$static, o){ + setCheck(this$static.array, this$static.array.length, o); + return true; +} + +function $get_1(this$static, index_0){ + checkElementIndex(index_0, this$static.array.length); + return this$static.array[index_0]; +} + +function $indexOf_0(this$static, o, index_0){ + for (; index_0 < this$static.array.length; ++index_0) { + if (equals_11(o, this$static.array[index_0])) { + return index_0; + } + } + return -1; +} + +function $remove_3(this$static, index_0){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + splice(this$static.array, index_0, 1); + return previous; +} + +function $set_1(this$static, index_0, o){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + setCheck(this$static.array, index_0, o); + return previous; +} + +function ArrayList(){ + $$init(this); +} + +function ArrayList_0(initialCapacity){ + $$init(this); + checkCriticalArgument_0(initialCapacity >= 0, 'Initial capacity must not be negative'); +} + +function splice(array, index_0, deleteCount){ + array.splice(index_0, deleteCount); +} + +defineClass(42, 171, $intern_25, ArrayList, ArrayList_0); +_.add_0 = function add_0(o){ + return $add_2(this, o); +} +; +_.contains = function contains_2(o){ + return $indexOf_0(this, o, 0) != -1; +} +; +_.get_1 = function get_3(index_0){ + return $get_1(this, index_0); +} +; +_.remove = function remove_1(index_0){ + return $remove_3(this, index_0); +} +; +_.size_1 = function size_6(){ + return this.array.length; +} +; +var Ljava_util_ArrayList_2_classLit = createForClass('java.util', 'ArrayList', 42); +function equals_10(array1, array2){ + var i; + if (maskUndefined(array1) === maskUndefined(array2)) { + return true; + } + if (array1 == null || array2 == null) { + return false; + } + if (array1.length != array2.length) { + return false; + } + for (i = 0; i < array1.length; ++i) { + if (array1[i] != array2[i]) { + return false; + } + } + return true; +} + +function hashCode_11(a){ + var e, e$index, e$max, hashCode; + if (a == null) { + return 0; + } + hashCode = 1; + for (e$index = 0 , e$max = a.length; e$index < e$max; ++e$index) { + e = a[e$index]; + hashCode = 31 * hashCode + e; + hashCode = ~~hashCode; + } + return hashCode; +} + +function insertionSort(array, low, high, comp){ + var i, j, t; + for (i = low + 1; i < high; ++i) { + for (j = i; j > low && comp.compare(array[j - 1], array[j]) > 0; --j) { + t = array[j]; + setCheck(array, j, array[j - 1]); + setCheck(array, j - 1, t); + } + } +} + +function merge(src_0, srcLow, srcMid, srcHigh, dest, destLow, destHigh, comp){ + var topIdx; + topIdx = srcMid; + while (destLow < destHigh) { + topIdx >= srcHigh || srcLow < srcMid && comp.compare(src_0[srcLow], src_0[topIdx]) <= 0?setCheck(dest, destLow++, src_0[srcLow++]):setCheck(dest, destLow++, src_0[topIdx++]); + } +} + +function mergeSort(x_0, fromIndex, toIndex, comp){ + var temp, newLength, length_0, copy; + !comp && (comp = ($clinit_Comparators() , $clinit_Comparators() , NATURAL)); + temp = (newLength = (length_0 = toIndex - fromIndex , checkCriticalArgument_1(length_0 >= 0, initValues(getClassLiteralForArray(Ljava_lang_Object_2_classLit, 1), $intern_2, 1, 3, [valueOf(fromIndex), valueOf(toIndex)])) , length_0) , copy = createFrom(x_0, newLength) , arraycopy(x_0, fromIndex, copy, 0, min_1(x_0.length - fromIndex, newLength)) , copy); + mergeSort_0(temp, x_0, fromIndex, toIndex, -fromIndex, comp); +} + +function mergeSort_0(temp, array, low, high, ofs, comp){ + var length_0, tempHigh, tempLow, tempMid; + length_0 = high - low; + if (length_0 < 7) { + insertionSort(array, low, high, comp); + return; + } + tempLow = low + ofs; + tempHigh = high + ofs; + tempMid = tempLow + (tempHigh - tempLow >> 1); + mergeSort_0(array, temp, tempLow, tempMid, -ofs, comp); + mergeSort_0(array, temp, tempMid, tempHigh, -ofs, comp); + if (comp.compare(temp[tempMid - 1], temp[tempMid]) <= 0) { + while (low < high) { + setCheck(array, low++, temp[tempLow++]); + } + return; + } + merge(temp, tempLow, tempMid, tempHigh, array, low, high, comp); +} + +function hashCode_12(collection){ + var e, e$iterator, hashCode; + hashCode = 0; + for (e$iterator = collection.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + hashCode = hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function hashCode_13(list){ + var e, e$iterator, hashCode; + hashCode = 1; + for (e$iterator = new AbstractList$IteratorImpl(list); e$iterator.i < e$iterator.this$01.size_1();) { + e = (checkCriticalElement(e$iterator.i < e$iterator.this$01.size_1()) , e$iterator.this$01.get_1(e$iterator.last = e$iterator.i++)); + hashCode = 31 * hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function replaceContents(target, x_0){ + var i, size_0; + size_0 = target.array.length; + for (i = 0; i < size_0; i++) { + $set_1(target, i, x_0[i]); + } +} + +function sort_0(target, c){ + var x_0; + x_0 = cloneSubrange(target.array, target.array.length); + mergeSort(x_0, 0, x_0.length, c); + replaceContents(target, x_0); +} + +function $clinit_Comparators(){ + $clinit_Comparators = emptyMethod; + NATURAL = new Comparators$1; +} + +var NATURAL; +function Comparators$1(){ +} + +defineClass(154, 1, {}, Comparators$1); +_.compare = function compare_2(o1, o2){ + checkNotNull(o1); + checkNotNull(o2); + return compareTo_Ljava_lang_Object__I__devirtual$(dynamicCast(o1, 19), o2); +} +; +var Ljava_util_Comparators$1_2_classLit = createForClass('java.util', 'Comparators/1', 154); +function checkStructuralChange(host, iterator){ + if (iterator._gwt_modCount != host._gwt_modCount) { + throw new ConcurrentModificationException; + } +} + +function setModCount(o, modCount){ + o._gwt_modCount = modCount; +} + +function structureChanged(map_0){ + var modCount; + modCount = map_0._gwt_modCount | 0; + setModCount(map_0, modCount + 1); +} + +function ConcurrentModificationException(){ + RuntimeException.call(this); +} + +defineClass(114, 15, $intern_4, ConcurrentModificationException); +var Ljava_util_ConcurrentModificationException_2_classLit = createForClass('java.util', 'ConcurrentModificationException', 114); +function $put_0(this$static, key, value_0){ + $add_3(this$static.keySet, key); + return $set_2(this$static, key.ordinal, value_0); +} + +function $put_1(this$static, key, value_0){ + return $put_0(this$static, dynamicCast(key, 13), value_0); +} + +function $set_2(this$static, ordinal, value_0){ + var was; + was = this$static.values[ordinal]; + setCheck(this$static.values, ordinal, value_0); + return was; +} + +function EnumMap(type_0){ + var all; + this.keySet = (all = dynamicCast(type_0.enumConstantsFunc && type_0.enumConstantsFunc(), 22) , new EnumSet$EnumSetImpl(all, dynamicCast(createFrom(all, all.length), 22))); + this.values = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, this.keySet.all.length, 3, 1); +} + +defineClass(138, 168, {58:1}, EnumMap); +_.containsKey = function containsKey_1(key){ + return $contains_1(this.keySet, key); +} +; +_.entrySet = function entrySet_0(){ + return new EnumMap$EntrySet(this); +} +; +_.get_0 = function get_4(k){ + return $contains_1(this.keySet, k)?this.values[dynamicCast(k, 13).ordinal]:null; +} +; +_.size_1 = function size_7(){ + return this.keySet.size_0; +} +; +var Ljava_util_EnumMap_2_classLit = createForClass('java.util', 'EnumMap', 138); +function $contains_0(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function EnumMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(139, 170, $intern_23, EnumMap$EntrySet); +_.contains = function contains_3(o){ + return $contains_0(this, o); +} +; +_.iterator = function iterator_5(){ + return new EnumMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_8(){ + return this.this$01.keySet.size_0; +} +; +var Ljava_util_EnumMap$EntrySet_2_classLit = createForClass('java.util', 'EnumMap/EntrySet', 139); +function EnumMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.it = new EnumSet$EnumSetImpl$IteratorImpl(this.this$01.keySet); +} + +defineClass(140, 1, {}, EnumMap$EntrySetIterator); +_.hasNext = function hasNext_3(){ + return $hasNext_0(this.it); +} +; +_.next = function next_3(){ + return this.key = $next_2(this.it) , new EnumMap$MapEntry(this.this$01, this.key); +} +; +var Ljava_util_EnumMap$EntrySetIterator_2_classLit = createForClass('java.util', 'EnumMap/EntrySetIterator', 140); +function EnumMap$MapEntry(this$0, key){ + this.this$01 = this$0; + this.key = key; +} + +defineClass(141, 172, $intern_24, EnumMap$MapEntry); +_.getKey = function getKey_0(){ + return this.key; +} +; +_.getValue = function getValue_0(){ + return this.this$01.values[this.key.ordinal]; +} +; +_.setValue = function setValue_0(value_0){ + return $set_2(this.this$01, this.key.ordinal, value_0); +} +; +var Ljava_util_EnumMap$MapEntry_2_classLit = createForClass('java.util', 'EnumMap/MapEntry', 141); +defineClass(178, 170, $intern_23); +var Ljava_util_EnumSet_2_classLit = createForClass('java.util', 'EnumSet', 178); +function $add_3(this$static, e){ + var ordinal; + checkNotNull(e); + ordinal = e.ordinal; + if (!this$static.set_0[ordinal]) { + setCheck(this$static.set_0, ordinal, e); + ++this$static.size_0; + return true; + } + return false; +} + +function $contains_1(this$static, o){ + return instanceOf(o, 13) && $containsEnum(this$static, dynamicCast(o, 13)); +} + +function $containsEnum(this$static, e){ + return !!e && this$static.set_0[e.ordinal] == e; +} + +function EnumSet$EnumSetImpl(all, set_0){ + this.all = all; + this.set_0 = set_0; + this.size_0 = 0; +} + +defineClass(152, 178, $intern_23, EnumSet$EnumSetImpl); +_.contains = function contains_4(o){ + return $contains_1(this, o); +} +; +_.iterator = function iterator_6(){ + return new EnumSet$EnumSetImpl$IteratorImpl(this); +} +; +_.size_1 = function size_9(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_EnumSet$EnumSetImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl', 152); +function $findNext(this$static){ + var c; + ++this$static.i; + for (c = this$static.this$11.all.length; this$static.i < c; ++this$static.i) { + if (this$static.this$11.set_0[this$static.i]) { + return; + } + } +} + +function $hasNext_0(this$static){ + return this$static.i < this$static.this$11.all.length; +} + +function $next_2(this$static){ + return checkCriticalElement(this$static.i < this$static.this$11.all.length) , this$static.last = this$static.i , $findNext(this$static) , this$static.this$11.set_0[this$static.last]; +} + +function EnumSet$EnumSetImpl$IteratorImpl(this$1){ + this.this$11 = this$1; + $findNext(this); +} + +defineClass(79, 1, {}, EnumSet$EnumSetImpl$IteratorImpl); +_.hasNext = function hasNext_4(){ + return $hasNext_0(this); +} +; +_.next = function next_4(){ + return $next_2(this); +} +; +_.i = -1; +_.last = -1; +var Ljava_util_EnumSet$EnumSetImpl$IteratorImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl/IteratorImpl', 79); +function $equals_0(value1, value2){ + return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals_Ljava_lang_Object__Z__devirtual$(value1, value2); +} + +function $getHashCode(key){ + var hashCode; + hashCode = hashCode__I__devirtual$(key); + return ~~hashCode; +} + +function HashMap(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(); + this.hashCodeMap = delegate.createJsHashCodeMap(); + this.hashCodeMap.host = this; + this.stringMap = delegate.createJsStringMap(); + this.stringMap.host = this; + this.size_0 = 0; + structureChanged(this); +} + +defineClass(28, 84, {3:1, 58:1}, HashMap); +var Ljava_util_HashMap_2_classLit = createForClass('java.util', 'HashMap', 28); +function $contains_2(this$static, o){ + return $containsKey(this$static.map_0, o); +} + +function $remove_4(this$static, o){ + return $remove_2(this$static.map_0, o) != null; +} + +function HashSet(){ + this.map_0 = new HashMap; +} + +defineClass(77, 170, {3:1, 40:1}, HashSet); +_.contains = function contains_5(o){ + return $contains_2(this, o); +} +; +_.iterator = function iterator_7(){ + return $iterator(new AbstractMap$1(this.map_0)); +} +; +_.size_1 = function size_10(){ + return this.map_0.size_0; +} +; +_.toString$ = function toString_19(){ + return $toString_1(new AbstractMap$1(this.map_0)); +} +; +var Ljava_util_HashSet_2_classLit = createForClass('java.util', 'HashSet', 77); +function $ensureChain(this$static, hashCode){ + var map_0 = this$static.backingMap; + return map_0[hashCode] || (map_0[hashCode] = []); +} + +function $getChain(this$static, hashCode){ + return this$static.backingMap[hashCode]; +} + +function $getChainOrEmpty(this$static, hashCode){ + return this$static.backingMap[hashCode] || []; +} + +function $getEntry(this$static, key){ + var entry, entry$array, entry$index, entry$max; + for (entry$array = $getChainOrEmpty(this$static, key == null?'0':'' + $getHashCode(key)) , entry$index = 0 , entry$max = entry$array.length; entry$index < entry$max; ++entry$index) { + entry = entry$array[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry; + } + } + return null; +} + +function $keys(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_2(this$static, key, value_0){ + var chain, entry, entry$index, entry$max; + chain = $ensureChain(this$static, key == null?'0':'' + $getHashCode(key)); + for (entry$index = 0 , entry$max = chain.length; entry$index < entry$max; ++entry$index) { + entry = chain[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry.setValue(value_0); + } + } + setCheck(chain, chain.length, new AbstractMap$SimpleEntry(key, value_0)); + $elementAdded(this$static.host); + return null; +} + +function $remove_5(this$static, key){ + var chain, entry, hashCode, i; + hashCode = key == null?'0':'' + $getHashCode(key); + chain = $getChainOrEmpty(this$static, hashCode); + for (i = 0; i < chain.length; i++) { + entry = chain[i]; + if ($equals_0(key, entry.getKey())) { + chain.length == 1?(delete this$static.backingMap[hashCode] , undefined):(chain.splice(i, 1) , undefined); + $elementRemoved(this$static.host); + return entry.getValue(); + } + } + return null; +} + +function InternalJsHashCodeMap(){ + this.backingMap = this.createMap(); +} + +defineClass(74, 1, {}, InternalJsHashCodeMap); +_.createMap = function createMap(){ + return Object.create(null); +} +; +_.entries = function entries(){ + return new InternalJsHashCodeMap$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap', 74); +function $hasNext_1(this$static){ + if (this$static.itemIndex < this$static.chain.length) { + return true; + } + if (this$static.chainIndex < this$static.keys_0.length - 1) { + this$static.chain = $getChain(this$static.this$01, this$static.keys_0[++this$static.chainIndex]); + this$static.itemIndex = 0; + return true; + } + return false; +} + +function InternalJsHashCodeMap$1(this$0){ + this.this$01 = this$0; + this.keys_0 = $keys(this.this$01); + this.chain = initDim(Ljava_util_Map$Entry_2_classLit, $intern_2, 17, 0, 0, 1); +} + +defineClass(100, 1, {}, InternalJsHashCodeMap$1); +_.hasNext = function hasNext_5(){ + return $hasNext_1(this); +} +; +_.next = function next_5(){ + return checkCriticalElement($hasNext_1(this)) , this.lastEntry = this.chain[this.itemIndex++] , this.lastEntry; +} +; +_.chainIndex = -1; +_.itemIndex = 0; +_.lastEntry = null; +var Ljava_util_InternalJsHashCodeMap$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/1', 100); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy(){ + InternalJsHashCodeMap.call(this); +} + +defineClass(98, 74, {}, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy); +_.createMap = function createMap_0(){ + return {}; +} +; +_.entries = function entries_0(){ + var list = this.newEntryList(); + var map_0 = this.backingMap; + for (var hashCode in map_0) { + if (hashCode == parseInt(hashCode, 10)) { + var array = map_0[hashCode]; + for (var i = 0, c = array.length; i < c; ++i) { + list.add_0(array[i]); + } + } + } + return list.iterator(); +} +; +_.newEntryList = function newEntryList(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy', 98); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(99, 42, $intern_25, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1); +_.remove = function remove_2(index_0){ + var removed; + return removed = dynamicCast($remove_3(this, index_0), 17) , $remove_5(this.this$11, removed.getKey()) , removed; +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy/1', 99); +function InternalJsMapFactory(){ +} + +defineClass(95, 1, {}, InternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap(){ + return new InternalJsHashCodeMap; +} +; +_.createJsStringMap = function createJsStringMap(){ + return new InternalJsStringMap; +} +; +var Ljava_util_InternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory', 95); +function $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory = emptyMethod; + delegate = createFactory(); +} + +function canHandleProto(){ + var protoField = '__proto__'; + var map_0 = Object.create(null); + if (map_0[protoField] !== undefined) { + return false; + } + var keys_0 = Object.getOwnPropertyNames(map_0); + if (keys_0.length != 0) { + return false; + } + map_0[protoField] = 42; + if (map_0[protoField] !== 42) { + return false; + } + return true; +} + +function createFactory(){ + var map_0; + if (Object.create && Object.getOwnPropertyNames && canHandleProto()) { + return (map_0 = Object.create(null) , map_0['__proto__'] = 42 , Object.getOwnPropertyNames(map_0).length == 0)?new InternalJsMapFactory$KeysWorkaroundJsMapFactory:new InternalJsMapFactory; + } + return new InternalJsMapFactory$LegacyInternalJsMapFactory; +} + +var delegate; +function InternalJsMapFactory$KeysWorkaroundJsMapFactory(){ +} + +defineClass(97, 95, {}, InternalJsMapFactory$KeysWorkaroundJsMapFactory); +_.createJsStringMap = function createJsStringMap_0(){ + return new InternalJsStringMap$InternalJsStringMapWithKeysWorkaround; +} +; +var Ljava_util_InternalJsMapFactory$KeysWorkaroundJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/KeysWorkaroundJsMapFactory', 97); +function InternalJsMapFactory$LegacyInternalJsMapFactory(){ +} + +defineClass(96, 95, {}, InternalJsMapFactory$LegacyInternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap_0(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy; +} +; +_.createJsStringMap = function createJsStringMap_1(){ + return new InternalJsStringMap$InternalJsStringMapLegacy; +} +; +var Ljava_util_InternalJsMapFactory$LegacyInternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/LegacyInternalJsMapFactory', 96); +function $keys_0(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_3(this$static, key, value_0){ + var oldValue; + oldValue = this$static.backingMap[key]; + oldValue === undefined && $elementAdded(this$static.host); + $set_3(this$static, key, value_0 === undefined?null:value_0); + return oldValue; +} + +function $remove_6(this$static, key){ + var value_0; + value_0 = this$static.backingMap[key]; + if (!(value_0 === undefined)) { + delete this$static.backingMap[key]; + $elementRemoved(this$static.host); + } + return value_0; +} + +function $set_3(this$static, key, value_0){ + this$static.backingMap[key] = value_0; +} + +function InternalJsStringMap(){ + this.backingMap = this.createMap_0(); +} + +defineClass(61, 1, {}, InternalJsStringMap); +_.createMap_0 = function createMap_1(){ + return Object.create(null); +} +; +_.entries = function entries_1(){ + var keys_0; + keys_0 = this.keys_1(); + return new InternalJsStringMap$1(this, keys_0); +} +; +_.get_2 = function get_5(key){ + return this.backingMap[key]; +} +; +_.keys_1 = function keys_1(){ + return $keys_0(this); +} +; +_.newMapEntry = function newMapEntry(key){ + return new InternalJsStringMap$2(this, key); +} +; +_.put = function put(key, value_0){ + return $put_3(this, key, value_0); +} +; +var Ljava_util_InternalJsStringMap_2_classLit = createForClass('java.util', 'InternalJsStringMap', 61); +function InternalJsStringMap$1(this$0, val$keys){ + this.this$01 = this$0; + this.val$keys2 = val$keys; +} + +defineClass(93, 1, {}, InternalJsStringMap$1); +_.hasNext = function hasNext_6(){ + return this.i < this.val$keys2.length; +} +; +_.next = function next_6(){ + return checkCriticalElement(this.i < this.val$keys2.length) , new InternalJsStringMap$2(this.this$01, this.val$keys2[this.i++]); +} +; +_.i = 0; +var Ljava_util_InternalJsStringMap$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/1', 93); +function InternalJsStringMap$2(this$0, val$key){ + this.this$01 = this$0; + this.val$key2 = val$key; +} + +defineClass(73, 172, $intern_24, InternalJsStringMap$2); +_.getKey = function getKey_1(){ + return this.val$key2; +} +; +_.getValue = function getValue_1(){ + return this.this$01.get_2(this.val$key2); +} +; +_.setValue = function setValue_1(object){ + return this.this$01.put(this.val$key2, object); +} +; +var Ljava_util_InternalJsStringMap$2_2_classLit = createForClass('java.util', 'InternalJsStringMap/2', 73); +function InternalJsStringMap$InternalJsStringMapLegacy(){ + InternalJsStringMap.call(this); +} + +defineClass(90, 61, {}, InternalJsStringMap$InternalJsStringMapLegacy); +_.createMap_0 = function createMap_2(){ + return {}; +} +; +_.entries = function entries_2(){ + var list = this.newEntryList_0(); + for (var key in this.backingMap) { + if (key.charCodeAt(0) == 58) { + var entry = this.newMapEntry(key.substring(1)); + list.add_0(entry); + } + } + return list.iterator(); +} +; +_.get_2 = function get_6(key){ + return this.backingMap[':' + key]; +} +; +_.newEntryList_0 = function newEntryList_0(){ + return new InternalJsStringMap$InternalJsStringMapLegacy$1(this); +} +; +_.put = function put_0(key, value_0){ + return $put_3(this, ':' + key, value_0); +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy', 90); +function InternalJsStringMap$InternalJsStringMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(92, 42, $intern_25, InternalJsStringMap$InternalJsStringMapLegacy$1); +_.remove = function remove_3(index_0){ + var removed; + return removed = dynamicCast($remove_3(this, index_0), 17) , $remove_6(this.this$11, ':' + dynamicCastToString(removed.getKey())) , removed; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy/1', 92); +function InternalJsStringMap$InternalJsStringMapWithKeysWorkaround(){ + InternalJsStringMap.call(this); +} + +defineClass(91, 61, {}, InternalJsStringMap$InternalJsStringMapWithKeysWorkaround); +_.keys_1 = function keys_2(){ + var keys_0; + keys_0 = $keys_0(this); + !(this.backingMap['__proto__'] === undefined) && (keys_0[keys_0.length] = '__proto__'); + return keys_0; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapWithKeysWorkaround_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapWithKeysWorkaround', 91); +var Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'); +function NoSuchElementException(){ + RuntimeException.call(this); +} + +defineClass(62, 15, $intern_4, NoSuchElementException); +var Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util', 'NoSuchElementException', 62); +function equals_11(a, b){ + return maskUndefined(a) === maskUndefined(b) || a != null && equals_Ljava_lang_Object__Z__devirtual$(a, b); +} + +function hashCode_14(o){ + return o != null?hashCode__I__devirtual$(o):0; +} + +var Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'); +function $execute(this$static, a0){ + $invoke_execute(this$static.jso, a0); +} + +function $export(this$static){ + if (!exported) { + exported = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_AsyncQRCallback_2_classLit, this$static); + $export0(this$static); + } +} + +function $export0(this$static){ + var pkg = declarePackage('AsyncQRCallback'); + var __0, __ = this$static; + $wnd.AsyncQRCallback = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0]) && (g = a[0]); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.AsyncQRCallback.prototype = new Object; + __0.execute = $entry(function(a0){ + this.g.execute_1(a0); + } + ); + if (pkg) + for (p in pkg) + $wnd.AsyncQRCallback[p] === undefined && ($wnd.AsyncQRCallback[p] = pkg[p]); +} + +function $invoke_execute(closure, a0){ + closure.apply(null, [a0]); +} + +function AsyncQRCallback_ExporterImpl(){ + $export(this); +} + +function AsyncQRCallback_ExporterImpl_0(jso){ + $export(this); + this.jso = jso; +} + +defineClass(47, 1, {180:1, 47:1}, AsyncQRCallback_ExporterImpl, AsyncQRCallback_ExporterImpl_0); +_.equals$ = function equals_12(obj){ + return obj != null && instanceOf(obj, 47) && this.jso == dynamicCast(obj, 47).jso; +} +; +_.execute_1 = function execute_1(a0){ + $execute(this, a0); +} +; +_.isAssignable = function isAssignable(o){ + return o != null && instanceOf(o, 180); +} +; +var exported = false; +var Ljb_client_AsyncQRCallback_1ExporterImpl_2_classLit = createForClass('jb.client', 'AsyncQRCallback_ExporterImpl', 47); +function $appendTo(this$static, htmlElement){ + addTo(htmlElement, ($clinit_DOM() , this$static.element)); + $onAttach_1(this$static); +} + +function $removeFrom(this$static, htmlElement){ + removeFrom(htmlElement, ($clinit_DOM() , this$static.element)); + $onDetach(this$static); + $stopWebcam(this$static); +} + +function JSScannerWidget(onSuccess, provideVideoStream){ + ScannerWidget.call(this, new ScannerCallback(onSuccess), provideVideoStream); +} + +function addTo(htmlElement, scannerElement){ + htmlElement.appendChild(scannerElement); +} + +function removeFrom(htmlElement, scannerElement){ + htmlElement.removeChild(scannerElement); +} + +defineClass(105, 104, $intern_1, JSScannerWidget); +var Ljb_client_JSScannerWidget_2_classLit = createForClass('jb.client', 'JSScannerWidget', 105); +function JsQRScanner(onSuccess){ + JsQRScanner_0.call(this, onSuccess, null); +} + +function JsQRScanner_0(onSuccess, provideVideoStream){ + this.scanner = new JSScannerWidget(onSuccess, provideVideoStream); +} + +defineClass(48, 1, {48:1}, JsQRScanner, JsQRScanner_0); +_.appendTo_0 = function appendTo(htmlElement){ + $appendTo(this.scanner, htmlElement); +} +; +_.getScanInterval_0 = function getScanInterval(){ + return this.scanner.scanInterval; +} +; +_.getSnapImageMaxSize_0 = function getSnapImageMaxSize(){ + return this.scanner.snapImageMaxSize; +} +; +_.isActive_0 = function isActive(){ + return this.scanner.active; +} +; +_.isScanning_0 = function isScanning(){ + return $isScanning(this.scanner); +} +; +_.removeFrom_0 = function removeFrom_0(htmlElement){ + $removeFrom(this.scanner, htmlElement); +} +; +_.resumeScanning_0 = function resumeScanning(){ + $resumeScanning(this.scanner); +} +; +_.setScanInterval_0 = function setScanInterval(scanInterval){ + $setScanInterval(this.scanner, scanInterval); +} +; +_.setSnapImageMaxSize_0 = function setSnapImageMaxSize(snapImageMaxSize){ + $setSnapImageMaxSize(this.scanner, snapImageMaxSize); +} +; +_.stopScanning_0 = function stopScanning(){ + this.scanner.active = false; +} +; +var Ljb_client_JsQRScanner_2_classLit = createForClass('jb.client', 'JsQRScanner', 48); +function $export_0(this$static){ + if (!exported_0) { + exported_0 = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_JsQRScanner_2_classLit, this$static); + $export0_0(this$static); + } +} + +function $export0_0(this$static){ + var pkg = declarePackage('JsQRScanner'); + var __0, __ = this$static; + $wnd.JsQRScanner = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0])?(g = a[0]):a.length == 2?(g = ___create_0(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]), a[1])):a.length == 1 && (g = ___create(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]))); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.JsQRScanner.prototype = new Object; + __0.appendTo = $entry(function(a0){ + this.g.appendTo_0(a0); + } + ); + __0.getScanInterval = $entry(function(){ + return this.g.getScanInterval_0(); + } + ); + __0.getSnapImageMaxSize = $entry(function(){ + return this.g.getSnapImageMaxSize_0(); + } + ); + __0.isActive = $entry(function(){ + return this.g.isActive_0(); + } + ); + __0.isScanning = $entry(function(){ + return this.g.isScanning_0(); + } + ); + __0.removeFrom = $entry(function(a0){ + this.g.removeFrom_0(a0); + } + ); + __0.resumeScanning = $entry(function(){ + this.g.resumeScanning_0(); + } + ); + __0.setScanInterval = $entry(function(a0){ + this.g.setScanInterval_0(a0); + } + ); + __0.setSnapImageMaxSize = $entry(function(a0){ + this.g.setSnapImageMaxSize_0(a0); + } + ); + __0.stopScanning = $entry(function(){ + this.g.stopScanning_0(); + } + ); + if (pkg) + for (p in pkg) + $wnd.JsQRScanner[p] === undefined && ($wnd.JsQRScanner[p] = pkg[p]); +} + +function JsQRScanner_ExporterImpl(){ + $export_0(this); +} + +function ___create(a0){ + return new JsQRScanner(a0); +} + +function ___create_0(a0, a1){ + return new JsQRScanner_0(a0, a1); +} + +defineClass(102, 1, {}, JsQRScanner_ExporterImpl); +_.isAssignable = function isAssignable_0(o){ + return o != null && instanceOf(o, 48); +} +; +var exported_0 = false; +var Ljb_client_JsQRScanner_1ExporterImpl_2_classLit = createForClass('jb.client', 'JsQRScanner_ExporterImpl', 102); +function $onSuccess(this$static, result){ + $execute(this$static.qrCallback, result.text_0); +} + +function ScannerCallback(qrCallback){ + this.qrCallback = qrCallback; +} + +defineClass(106, 1, {}, ScannerCallback); +var Ljb_client_ScannerCallback_2_classLit = createForClass('jb.client', 'ScannerCallback', 106); +defineClass(173, 1, {}); +var Lorg_timepedia_exporter_client_ExporterBaseImpl_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseImpl', 173); +function $addExporter(this$static, c, o){ + $put(this$static.exporterMap, c, o); +} + +function $declarePackage(qualifiedExportName){ + var i, l, o, prefix, superPackages; + superPackages = $split(qualifiedExportName, '\\.', 0); + prefix = $wnd; + i = 0; + for (l = superPackages.length - 1; i < l; i++) { + if (!$equals(superPackages[i], 'client')) { + prefix[superPackages[i]] || (prefix[superPackages[i]] = {}); + prefix = getProp(prefix, superPackages[i]); + } + } + o = getProp(prefix, superPackages[i]); + return o; +} + +function ExporterBaseActual(){ + this.exporterMap = new HashMap; + new HashMap; + new HashMap; +} + +function getProp(jso, key){ + return jso != null?jso[key]:null; +} + +defineClass(94, 173, {}, ExporterBaseActual); +var Lorg_timepedia_exporter_client_ExporterBaseActual_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseActual', 94); +function $clinit_ExporterUtil(){ + $clinit_ExporterUtil = emptyMethod; + impl = new ExporterBaseActual; +} + +function declarePackage(qualifiedExportName){ + $clinit_ExporterUtil(); + return $declarePackage(qualifiedExportName); +} + +function setWrapper(instance, wrapper){ + $clinit_ExporterUtil(); + instance['__gwtex_wrap'] = wrapper; +} + +var impl; +var I_classLit = createForPrimitive('int', 'I'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang', 'StackTraceElement', null), Lcom_google_gwt_lang_CollapsedPropertyHolder_2_classLit = createForClass('com.google.gwt.lang', 'CollapsedPropertyHolder', 157), Lcom_google_gwt_lang_JavaClassHierarchySetupUtil_2_classLit = createForClass('com.google.gwt.lang', 'JavaClassHierarchySetupUtil', 159), Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass('com.google.gwt.lang', 'LongLibBase/LongEmul', null), Lcom_google_gwt_lang_ModuleUtils_2_classLit = createForClass('com.google.gwt.lang', 'ModuleUtils', 162), B_classLit = createForPrimitive('byte', 'B'), D_classLit = createForPrimitive('double', 'D'), F_classLit = createForPrimitive('float', 'F'), C_classLit = createForPrimitive('char', 'C'), Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'), Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'), Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var $entry = registerEntry(); +var gwtOnLoad = gwtOnLoad = gwtOnLoad_0; +addInitFunctions(init); +setGwtProperty('permProps', [[['locale', 'default'], ['user.agent', 'gecko1_8']]]); +$sendStats('moduleStartup', 'moduleEvalEnd'); +gwtOnLoad(__gwtModuleFunction.__errFn, __gwtModuleFunction.__moduleName, __gwtModuleFunction.__moduleBase, __gwtModuleFunction.__softPermutationId,__gwtModuleFunction.__computePropValue); +$sendStats('moduleStartup', 'end'); +$gwt && $gwt.permProps && __gwtModuleFunction.__moduleStartupDone($gwt.permProps); +//# sourceURL=jsqrscanner-0.js + diff --git a/flutter_barcode_reader_web/assets/B740E7E455C035DF151FA9FBFC08D197.cache.js b/flutter_barcode_reader_web/assets/B740E7E455C035DF151FA9FBFC08D197.cache.js new file mode 100644 index 00000000..e12203a4 --- /dev/null +++ b/flutter_barcode_reader_web/assets/B740E7E455C035DF151FA9FBFC08D197.cache.js @@ -0,0 +1,7280 @@ +var $wnd = $wnd || window.parent; +var __gwtModuleFunction = $wnd.jsqrscanner; +var $sendStats = __gwtModuleFunction.__sendStats; +$sendStats('moduleStartup', 'moduleEvalStart'); +var $gwt_version = "2.7.0"; +var $strongName = 'B740E7E455C035DF151FA9FBFC08D197'; +var $gwt = {}; +var $doc = $wnd.document; +var $moduleName, $moduleBase; +function __gwtStartLoadingFragment(frag) { +var fragFile = 'deferredjs/' + $strongName + '/' + frag + '.cache.js'; +return __gwtModuleFunction.__startLoadingFragment(fragFile); +} +function __gwtInstallCode(code) {return __gwtModuleFunction.__installRunAsyncCode(code);} +function __gwt_isKnownPropertyValue(propName, propValue) { +return __gwtModuleFunction.__gwt_isKnownPropertyValue(propName, propValue); +} +function __gwt_getMetaProperty(name) { +return __gwtModuleFunction.__gwt_getMetaProperty(name); +} +var $stats = $wnd.__gwtStatsEvent ? function(a) { +return $wnd.__gwtStatsEvent && $wnd.__gwtStatsEvent(a); +} : null; +var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; +var $intern_0 = 2147483647, $intern_1 = {56:1, 57:1, 48:1, 47:1, 58:1, 32:1, 26:1}, $intern_2 = {3:1, 5:1}, $intern_3 = {3:1, 8:1}, $intern_4 = {3:1, 10:1, 8:1}, $intern_5 = 4194303, $intern_6 = 1048575, $intern_7 = 4194304, $intern_8 = 17592186044416, $intern_9 = -9223372036854775808, $intern_10 = 524288, $intern_11 = 65536, $intern_12 = {3:1}, $intern_13 = {3:1, 21:1, 5:1}, $intern_14 = {7:1, 3:1}, $intern_15 = {14:1, 3:1, 19:1, 13:1}, $intern_16 = 0.20000000298023224, $intern_17 = {34:1}, $intern_18 = {17:1}, $intern_19 = {3:1, 46:1}; +var _, initFnList_0, prototypesByTypeId_0 = {}, permutationId = -1; +function typeMarkerFn(){ +} + +function portableObjCreate(obj){ + function F(){ + } + + ; + F.prototype = obj || {}; + return new F; +} + +function modernizeBrowser(){ + !Array.isArray && (Array.isArray = function(vArg){ + return Object.prototype.toString.call(vArg) === '[object Array]'; + } + ); +} + +function maybeGetClassLiteralFromPlaceHolder_0(entry){ + return entry instanceof Array?entry[0]:null; +} + +function emptyMethod(){ +} + +function defineClass(typeId, superTypeId, castableTypeMap){ + var prototypesByTypeId = prototypesByTypeId_0; + var createSubclassPrototype = createSubclassPrototype_0; + var maybeGetClassLiteralFromPlaceHolder = maybeGetClassLiteralFromPlaceHolder_0; + var prototype_0 = prototypesByTypeId[typeId]; + var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0); + if (prototype_0 && !clazz) { + _ = prototype_0; + } + else { + _ = prototypesByTypeId[typeId] = !superTypeId?{}:createSubclassPrototype(superTypeId); + _.castableTypeMap$ = castableTypeMap; + _.constructor = _; + !superTypeId && (_.typeMarker$ = typeMarkerFn); + } + for (var i = 3; i < arguments.length; ++i) { + arguments[i].prototype = _; + } + clazz && (_.___clazz$ = clazz); +} + +function createSubclassPrototype_0(superTypeId){ + var prototypesByTypeId = prototypesByTypeId_0; + return portableObjCreate(prototypesByTypeId[superTypeId]); +} + +function setGwtProperty(propertyName, propertyValue){ + typeof window === 'object' && typeof window['$gwt'] === 'object' && (window['$gwt'][propertyName] = propertyValue); +} + +function registerEntry(){ + return entry_0; +} + +function gwtOnLoad_0(errFn, modName, modBase, softPermutationId){ + ensureModuleInit(); + var initFnList = initFnList_0; + $moduleName = modName; + $moduleBase = modBase; + permutationId = softPermutationId; + function initializeModules(){ + for (var i = 0; i < initFnList.length; i++) { + initFnList[i](); + } + } + + if (errFn) { + try { + $entry(initializeModules)(); + } + catch (e) { + errFn(modName, e); + } + } + else { + $entry(initializeModules)(); + } +} + +function ensureModuleInit(){ + initFnList_0 == null && (initFnList_0 = []); +} + +function addInitFunctions(){ + ensureModuleInit(); + var initFnList = initFnList_0; + for (var i = 0; i < arguments.length; i++) { + initFnList.push(arguments[i]); + } +} + +function Object_0(){ +} + +function equals_Ljava_lang_Object__Z__devirtual$(this$static, other){ + return isJavaString(this$static)?$equals(this$static, other):hasJavaObjectVirtualDispatch(this$static)?this$static.equals$(other):isJavaArray(this$static)?this$static === other:this$static === other; +} + +function getClass__Ljava_lang_Class___devirtual$(this$static){ + return isJavaString(this$static)?Ljava_lang_String_2_classLit:hasJavaObjectVirtualDispatch(this$static)?this$static.___clazz$:isJavaArray(this$static)?this$static.___clazz$:Lcom_google_gwt_core_client_JavaScriptObject_2_classLit; +} + +function hashCode__I__devirtual$(this$static){ + return isJavaString(this$static)?getHashCode_0(this$static):hasJavaObjectVirtualDispatch(this$static)?this$static.hashCode$():isJavaArray(this$static)?getHashCode(this$static):getHashCode(this$static); +} + +defineClass(1, null, {}, Object_0); +_.equals$ = function equals(other){ + return this === other; +} +; +_.getClass$ = function getClass_0(){ + return this.___clazz$; +} +; +_.hashCode$ = function hashCode_0(){ + return getHashCode(this); +} +; +_.toString$ = function toString_0(){ + return $getName(getClass__Ljava_lang_Class___devirtual$(this)) + '@' + toUnsignedRadixString(hashCode__I__devirtual$(this), 16); +} +; +_.toString = function(){ + return this.toString$(); +} +; +stringCastMap = {3:1, 175:1, 19:1, 2:1}; +modernizeBrowser(); +function canCast(src_0, dstId){ + return isJavaString(src_0) && !!stringCastMap[dstId] || src_0.castableTypeMap$ && !!src_0.castableTypeMap$[dstId]; +} + +function charToString(x_0){ + return String.fromCharCode(x_0); +} + +function dynamicCast(src_0, dstId){ + if (src_0 != null && !canCast(src_0, dstId)) { + throw new ClassCastException; + } + return src_0; +} + +function dynamicCastJso(src_0){ + if (src_0 != null && !(!isJavaString(src_0) && !hasTypeMarker(src_0))) { + throw new ClassCastException; + } + return src_0; +} + +function dynamicCastToString(src_0){ + if (src_0 != null && !isJavaString(src_0)) { + throw new ClassCastException; + } + return src_0; +} + +function hasJavaObjectVirtualDispatch(src_0){ + return !instanceofArray(src_0) && hasTypeMarker(src_0); +} + +function instanceOf(src_0, dstId){ + return src_0 != null && canCast(src_0, dstId); +} + +function instanceOfJso(src_0){ + return src_0 != null && !isJavaString(src_0) && !hasTypeMarker(src_0); +} + +function instanceofArray(src_0){ + return Array.isArray(src_0); +} + +function isJavaArray(src_0){ + return instanceofArray(src_0) && hasTypeMarker(src_0); +} + +function isJavaString(src_0){ + return typeof src_0 === 'string'; +} + +function maskUndefined(src_0){ + return src_0 == null?null:src_0; +} + +function narrow_byte(x_0){ + return x_0 << 24 >> 24; +} + +function round_int(x_0){ + return ~~Math.max(Math.min(x_0, $intern_0), -2147483648); +} + +function throwClassCastExceptionUnlessNull(o){ + if (o != null) { + throw new ClassCastException; + } + return null; +} + +var stringCastMap; +function $ensureNamesAreInitialized(this$static){ + if (this$static.typeName != null) { + return; + } + initializeNames(this$static); +} + +function $getName(this$static){ + $ensureNamesAreInitialized(this$static); + return this$static.typeName; +} + +function Class(){ + ++nextSequentialId; + this.typeName = null; + this.simpleName = null; + this.packageName = null; + this.compoundName = null; + this.canonicalName = null; + this.typeId = null; + this.arrayLiterals = null; +} + +function createClassObject(packageName, compoundClassName){ + var clazz; + clazz = new Class; + clazz.packageName = packageName; + clazz.compoundName = compoundClassName; + return clazz; +} + +function createForClass(packageName, compoundClassName, typeId){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + return clazz; +} + +function createForEnum(packageName, compoundClassName, typeId, enumConstantsFunc){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + clazz.modifiers = enumConstantsFunc?8:0; + clazz.enumConstantsFunc = enumConstantsFunc; + return clazz; +} + +function createForInterface(packageName, compoundClassName){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + clazz.modifiers = 2; + return clazz; +} + +function createForPrimitive(className, primitiveTypeId){ + var clazz; + clazz = createClassObject('', className); + clazz.typeId = primitiveTypeId; + clazz.modifiers = 1; + return clazz; +} + +function getClassLiteralForArray_0(leafClass, dimensions){ + var arrayLiterals = leafClass.arrayLiterals = leafClass.arrayLiterals || []; + return arrayLiterals[dimensions] || (arrayLiterals[dimensions] = leafClass.createClassLiteralForArray(dimensions)); +} + +function getPrototypeForClass(clazz){ + if (clazz.isPrimitive()) { + return null; + } + var typeId = clazz.typeId; + var prototype_0 = prototypesByTypeId_0[typeId]; + return prototype_0; +} + +function initializeNames(clazz){ + if (clazz.isArray_0()) { + var componentType = clazz.componentType; + componentType.isPrimitive()?(clazz.typeName = '[' + componentType.typeId):!componentType.isArray_0()?(clazz.typeName = '[L' + componentType.getName() + ';'):(clazz.typeName = '[' + componentType.getName()); + clazz.canonicalName = componentType.getCanonicalName() + '[]'; + clazz.simpleName = componentType.getSimpleName() + '[]'; + return; + } + var packageName = clazz.packageName; + var compoundName = clazz.compoundName; + compoundName = compoundName.split('/'); + clazz.typeName = join_0('.', [packageName, join_0('$', compoundName)]); + clazz.canonicalName = join_0('.', [packageName, join_0('.', compoundName)]); + clazz.simpleName = compoundName[compoundName.length - 1]; +} + +function join_0(separator, strings){ + var i = 0; + while (!strings[i] || strings[i] == '') { + i++; + } + var result = strings[i++]; + for (; i < strings.length; i++) { + if (!strings[i] || strings[i] == '') { + continue; + } + result += separator + strings[i]; + } + return result; +} + +function maybeSetClassLiteral(typeId, clazz){ + var proto; + if (!typeId) { + return; + } + clazz.typeId = typeId; + var prototype_0 = getPrototypeForClass(clazz); + if (!prototype_0) { + prototypesByTypeId_0[typeId] = [clazz]; + return; + } + prototype_0.___clazz$ = clazz; +} + +defineClass(66, 1, {}, Class); +_.createClassLiteralForArray = function createClassLiteralForArray(dimensions){ + var clazz; + clazz = new Class; + clazz.modifiers = 4; + dimensions > 1?(clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1)):(clazz.componentType = this); + return clazz; +} +; +_.getCanonicalName = function getCanonicalName(){ + $ensureNamesAreInitialized(this); + return this.canonicalName; +} +; +_.getName = function getName(){ + return $getName(this); +} +; +_.getSimpleName = function getSimpleName(){ + $ensureNamesAreInitialized(this); + return this.simpleName; +} +; +_.isArray_0 = function isArray(){ + return (this.modifiers & 4) != 0; +} +; +_.isPrimitive = function isPrimitive(){ + return (this.modifiers & 1) != 0; +} +; +_.toString$ = function toString_13(){ + return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + ($ensureNamesAreInitialized(this) , this.typeName); +} +; +_.modifiers = 0; +var nextSequentialId = 1; +var Ljava_lang_Object_2_classLit = createForClass('java.lang', 'Object', 1), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptObject$', 0), Ljava_lang_Class_2_classLit = createForClass('java.lang', 'Class', 66); +function $setElement(this$static, elem){ + this$static.element = elem; +} + +defineClass(32, 1, {47:1, 32:1}); +_.toString$ = function toString_1(){ + if (!this.element) { + return '(null handle)'; + } + return this.element.outerHTML; +} +; +var Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui', 'UIObject', 32); +function $onAttach(this$static){ + var bitsToAdd; + if (this$static.attached) { + throw new IllegalStateException_0("Should only call onAttach when the widget is detached from the browser's document"); + } + this$static.attached = true; + setEventListener(this$static.element, this$static); + bitsToAdd = this$static.eventsToSink; + this$static.eventsToSink = -1; + bitsToAdd > 0 && (this$static.eventsToSink == -1?$sinkEvents(this$static.element, bitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= bitsToAdd)); + this$static.doAttachChildren(); +} + +function $onDetach(this$static){ + if (!this$static.attached) { + throw new IllegalStateException_0("Should only call onDetach when the widget is attached to the browser's document"); + } + try { + this$static.doDetachChildren(); + } + finally { + setEventListener(this$static.element, null); + this$static.attached = false; + } +} + +defineClass(26, 32, $intern_1); +_.doAttachChildren = function doAttachChildren(){ +} +; +_.doDetachChildren = function doDetachChildren(){ +} +; +_.onAttach = function onAttach(){ + $onAttach(this); +} +; +_.onBrowserEvent = function onBrowserEvent(event_0){ + var related; + switch ($eventGetTypeInt(event_0.type)) { + case 16: + case 32: + related = event_0.relatedTarget || (event_0.type == 'mouseout'?event_0.toElement:event_0.fromElement); + if (!!related && isOrHasChildImpl(this.element, related)) { + return; + } + + } +} +; +_.onDetach = function onDetach(){ + $onDetach(this); +} +; +_.attached = false; +_.eventsToSink = 0; +var Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Widget', 26); +var detector; +defineClass(173, 1, {}); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetector_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetector', 173); +function Canvas$CanvasElementSupportDetectedNo(){ +} + +defineClass(77, 173, {}, Canvas$CanvasElementSupportDetectedNo); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetectedNo_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetectedNo', 77); +function $setStackTrace(stackTrace){ + var copy, i, length_0; + length_0 = stackTrace.length; + copy = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 178, length_0, 0, 1); + for (i = 0; i < length_0; ++i) { + copy[i] = throwClassCastExceptionUnlessNull(checkNotNull(stackTrace[i])); + } +} + +function Throwable(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(8, 1, $intern_3); +_.fillInStackTrace = function fillInStackTrace(){ + captureStackTrace(this, this.detailMessage); + return this; +} +; +_.getMessage = function getMessage(){ + return this.detailMessage; +} +; +_.toString$ = function toString_2(){ + var className, msg; + className = $getName(this.___clazz$); + msg = this.getMessage(); + return msg != null?className + ': ' + msg:className; +} +; +var Ljava_lang_Throwable_2_classLit = createForClass('java.lang', 'Throwable', 8); +function Exception(){ + this.fillInStackTrace(); +} + +function Exception_0(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(10, 8, $intern_4); +var Ljava_lang_Exception_2_classLit = createForClass('java.lang', 'Exception', 10); +function RuntimeException(){ + Exception.call(this); +} + +function RuntimeException_0(message){ + Exception_0.call(this, message); +} + +function RuntimeException_1(message){ + Throwable.call(this, message); +} + +defineClass(15, 10, $intern_4); +var Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang', 'RuntimeException', 15); +defineClass(81, 15, $intern_4); +var Lcom_google_gwt_core_client_impl_JavaScriptExceptionBase_2_classLit = createForClass('com.google.gwt.core.client.impl', 'JavaScriptExceptionBase', 81); +function $clinit_JavaScriptException(){ + $clinit_JavaScriptException = emptyMethod; + NOT_SET = new Object_0; +} + +function $ensureInit(this$static){ + var exception; + if (this$static.message_0 == null) { + exception = maskUndefined(this$static.e) === maskUndefined(NOT_SET)?null:this$static.e; + this$static.name_0 = exception == null?'null':instanceOfJso(exception)?getExceptionName0(dynamicCastJso(exception)):isJavaString(exception)?'String':$getName(getClass__Ljava_lang_Class___devirtual$(exception)); + this$static.description = this$static.description + ': ' + (instanceOfJso(exception)?getExceptionDescription0(dynamicCastJso(exception)):exception + ''); + this$static.message_0 = '(' + this$static.name_0 + ') ' + this$static.description; + } +} + +function JavaScriptException(e){ + $clinit_JavaScriptException(); + this.detailMessage = null; + this.description = ''; + this.e = e; + this.description = ''; +} + +function getExceptionDescription0(e){ + return e == null?null:e.message; +} + +function getExceptionName0(e){ + return e == null?null:e.name; +} + +defineClass(31, 81, {31:1, 3:1, 10:1, 8:1}, JavaScriptException); +_.getMessage = function getMessage_0(){ + $ensureInit(this); + return this.message_0; +} +; +_.getThrown = function getThrown(){ + return maskUndefined(this.e) === maskUndefined(NOT_SET)?null:this.e; +} +; +var NOT_SET; +var Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptException', 31); +function now_1(){ + if (Date.now) { + return Date.now(); + } + return (new Date).getTime(); +} + +defineClass(152, 1, {}); +var Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client', 'Scheduler', 152); +function apply_0(jsFunction, thisObj, args){ + return jsFunction.apply(thisObj, args); + var __0; +} + +function enter(){ + var now_0; + if (entryDepth != 0) { + now_0 = now_1(); + if (now_0 - watchdogEntryDepthLastScheduled > 2000) { + watchdogEntryDepthLastScheduled = now_0; + watchdogEntryDepthTimerId = $wnd.setTimeout(watchdogEntryDepthRun, 10); + } + } + if (entryDepth++ == 0) { + $flushEntryCommands(($clinit_SchedulerImpl() , INSTANCE)); + return true; + } + return false; +} + +function entry_0(jsFunction){ + return function(){ + return entry0(jsFunction, this, arguments); + var __0; + } + ; +} + +function entry0(jsFunction, thisObj, args){ + var initialEntry; + initialEntry = enter(); + try { + return apply_0(jsFunction, thisObj, args); + } + finally { + exit(initialEntry); + } +} + +function exit(initialEntry){ + initialEntry && $flushFinallyCommands(($clinit_SchedulerImpl() , INSTANCE)); + --entryDepth; + if (initialEntry) { + if (watchdogEntryDepthTimerId != -1) { + watchdogEntryDepthCancel(watchdogEntryDepthTimerId); + watchdogEntryDepthTimerId = -1; + } + } +} + +function getHashCode(o){ + return o.$H || (o.$H = ++sNextHashId); +} + +function reportToBrowser(e){ + $wnd.setTimeout(function(){ + throw e; + } + , 0); +} + +function watchdogEntryDepthCancel(timerId){ + $wnd.clearTimeout(timerId); +} + +function watchdogEntryDepthRun(){ + entryDepth != 0 && (entryDepth = 0); + watchdogEntryDepthTimerId = -1; +} + +var entryDepth = 0, sNextHashId = 0, watchdogEntryDepthLastScheduled = 0, watchdogEntryDepthTimerId = -1; +function $clinit_SchedulerImpl(){ + $clinit_SchedulerImpl = emptyMethod; + INSTANCE = new SchedulerImpl; +} + +function $flushEntryCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.entryCommands) { + rescheduled = null; + do { + oldQueue = this$static.entryCommands; + this$static.entryCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.entryCommands); + this$static.entryCommands = rescheduled; + } +} + +function $flushFinallyCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.finallyCommands) { + rescheduled = null; + do { + oldQueue = this$static.finallyCommands; + this$static.finallyCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.finallyCommands); + this$static.finallyCommands = rescheduled; + } +} + +function SchedulerImpl(){ +} + +function push_0(queue, task){ + !queue && (queue = []); + queue[queue.length] = task; + return queue; +} + +function runScheduledTasks(tasks, rescheduled){ + var e, i, j, t; + for (i = 0 , j = tasks.length; i < j; i++) { + t = tasks[i]; + try { + t[1]?t[0].nullMethod() && (rescheduled = push_0(rescheduled, t)):t[0].nullMethod(); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + reportToBrowser(instanceOf(e, 31)?dynamicCast(e, 31).getThrown():e); + } + else + throw unwrap($e0); + } + } + return rescheduled; +} + +defineClass(101, 152, {}, SchedulerImpl); +var INSTANCE; +var Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl', 'SchedulerImpl', 101); +function $clinit_StackTraceCreator(){ + $clinit_StackTraceCreator = emptyMethod; + var c, enforceLegacy; + enforceLegacy = !(!!Error.stackTraceLimit || 'stack' in new Error); + c = new StackTraceCreator$CollectorModernNoSourceMap; + collector = enforceLegacy?new StackTraceCreator$CollectorLegacy:c; +} + +function captureStackTrace(throwable, reference){ + $clinit_StackTraceCreator(); + collector.collect(throwable, reference); +} + +function extractFunctionName(fnName){ + var fnRE = /function(?:\s+([\w$]+))?\s*\(/; + var match_0 = fnRE.exec(fnName); + return match_0 && match_0[1] || 'anonymous'; +} + +var collector; +defineClass(163, 1, {}); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/Collector', 163); +function StackTraceCreator$CollectorLegacy(){ +} + +defineClass(82, 163, {}, StackTraceCreator$CollectorLegacy); +_.collect = function collect(t, thrownIgnored){ + var seen = {}, name_1; + t.fnStack = []; + var callee = arguments.callee.caller; + while (callee) { + var name_0 = ($clinit_StackTraceCreator() , callee.name || (callee.name = extractFunctionName(callee.toString()))); + t.fnStack.push(name_0); + var keyName = ':' + name_0; + var withThisName = seen[keyName]; + if (withThisName) { + var i, j; + for (i = 0 , j = withThisName.length; i < j; i++) { + if (withThisName[i] === callee) { + return; + } + } + } + (withThisName || (seen[keyName] = [])).push(callee); + callee = callee.caller; + } +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorLegacy_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorLegacy', 82); +function $clinit_StackTraceCreator$CollectorModern(){ + $clinit_StackTraceCreator$CollectorModern = emptyMethod; + Error.stackTraceLimit = 64; +} + +defineClass(164, 163, {}); +_.collect = function collect_0(t, jsThrown){ + function fixIE(e){ + if (!('stack' in e)) { + try { + throw e; + } + catch (ignored) { + } + } + return e; + } + + var backingJsError; + typeof jsThrown == 'string'?(backingJsError = fixIE(new Error(jsThrown))):jsThrown instanceof Object && 'stack' in jsThrown?(backingJsError = jsThrown):(backingJsError = fixIE(new Error)); + t.__gwt$backingJsError = backingJsError; +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModern_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModern', 164); +function StackTraceCreator$CollectorModernNoSourceMap(){ + $clinit_StackTraceCreator$CollectorModern(); +} + +defineClass(83, 164, {}, StackTraceCreator$CollectorModernNoSourceMap); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModernNoSourceMap_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModernNoSourceMap', 83); +function checkArrayType(expression, errorMessage){ + if (!expression) { + throw new ArrayStoreException_0('' + errorMessage); + } +} + +function checkCriticalArgument(expression){ + if (!expression) { + throw new IllegalArgumentException; + } +} + +function checkCriticalArgument_0(expression, errorMessage){ + if (!expression) { + throw new IllegalArgumentException_0('' + errorMessage); + } +} + +function checkCriticalArgument_1(expression, errorMessageArgs){ + if (!expression) { + throw new IllegalArgumentException_0(format('%s > %s', errorMessageArgs)); + } +} + +function checkCriticalElement(expression){ + if (!expression) { + throw new NoSuchElementException; + } +} + +function checkCriticalPositionIndexes(end, size_0){ + if (end > size_0) { + throw new IndexOutOfBoundsException_0('toIndex: ' + end + ' > size ' + size_0); + } + if (3 > end) { + throw new IllegalArgumentException_0('fromIndex: 3 > toIndex: ' + end); + } +} + +function checkElementIndex(index_0, size_0){ + if (index_0 < 0 || index_0 >= size_0) { + throw new IndexOutOfBoundsException_0('Index: ' + index_0 + ', Size: ' + size_0); + } +} + +function checkNotNull(reference){ + if (reference == null) { + throw new NullPointerException; + } + return reference; +} + +function checkNotNull_0(reference, errorMessage){ + if (reference == null) { + throw new NullPointerException_0('' + errorMessage); + } +} + +function checkPositionIndex(size_0){ + if (0 > size_0) { + throw new IndexOutOfBoundsException_0('Index: 0, Size: ' + size_0); + } +} + +function checkState(expression){ + if (!expression) { + throw new IllegalStateException; + } +} + +function format(template, args){ + var builder, i, placeholderStart, templateStart; + template = '' + template; + builder = new StringBuilder(template.length + 16 * args.length); + templateStart = 0; + i = 0; + while (i < args.length) { + placeholderStart = template.indexOf('%s', templateStart); + if (placeholderStart == -1) { + break; + } + $append_2(builder, template.substr(templateStart, placeholderStart - templateStart)); + $append_1(builder, args[i++]); + templateStart = placeholderStart + 2; + } + $append_2(builder, __substr(template, templateStart, template.length - templateStart)); + if (i < args.length) { + builder.string += ' ['; + $append_1(builder, args[i++]); + while (i < args.length) { + builder.string += ', '; + $append_1(builder, args[i++]); + } + builder.string += ']'; + } + return builder.string; +} + +function isOrHasChildImpl(parent_0, child){ + if (parent_0.nodeType != 1 && parent_0.nodeType != 9) { + return parent_0 == child; + } + if (child.nodeType != 1) { + child = child.parentNode; + if (!child) { + return false; + } + } + if (parent_0.nodeType == 9) { + return parent_0 === child || parent_0.body && parent_0.body.contains(child); + } + else { + return parent_0 === child || parent_0.contains(child); + } +} + +var currentEventTarget; +function $appendChild(this$static, newChild){ + return this$static.appendChild(newChild); +} + +function makeCause(causes){ + var iterator; + iterator = $iterator(new AbstractMap$1(causes.map_0)); + if (!$hasNext(iterator.val$outerIter2)) { + return null; + } + return dynamicCast($next_1(iterator), 8); +} + +function makeMessage(causes){ + var b, count, first, t, t$iterator; + count = causes.map_0.size_0; + if (count == 0) { + return null; + } + b = new StringBuilder_0(count == 1?'Exception caught: ':count + ' exceptions caught: '); + first = true; + for (t$iterator = $iterator(new AbstractMap$1(causes.map_0)); $hasNext(t$iterator.val$outerIter2);) { + t = dynamicCast($next_1(t$iterator), 8); + first?(first = false):(b.string += '; ' , b); + $append_2(b, t.getMessage()); + } + return b.string; +} + +defineClass(109, 15, $intern_4); +var Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit = createForClass('com.google.web.bindery.event.shared', 'UmbrellaException', 109); +defineClass(110, 109, $intern_4); +var Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared', 'UmbrellaException', 110); +function cloneSubrange(array, toIndex){ + var result; + result = array.slice(0, toIndex); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function createFrom(array, length_0){ + var result; + result = initializeArrayElementsWithDefaults(0, length_0); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function getClassLiteralForArray(clazz, dimensions){ + return getClassLiteralForArray_0(clazz, dimensions); +} + +function initDim(leafClassLiteral, castableTypeMap, elementTypeId, length_0, elementTypeCategory, dimensions){ + var result; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, dimensions), castableTypeMap, elementTypeId, elementTypeCategory, result); + return result; +} + +function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, count){ + return initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, 0, count); +} + +function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count){ + var elementTypeCategory, i, isLastDim, length_0, result; + length_0 = dimExprs[index_0]; + isLastDim = index_0 == count - 1; + elementTypeCategory = isLastDim?leafElementTypeCategory:0; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, count - index_0), castableTypeMapExprs[index_0], elementTypeIds[index_0], elementTypeCategory, result); + if (!isLastDim) { + ++index_0; + for (i = 0; i < length_0; ++i) { + result[i] = initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count); + } + } + return result; +} + +function initValues(arrayClass, castableTypeMap, elementTypeId, elementTypeCategory, array){ + array.___clazz$ = arrayClass; + array.castableTypeMap$ = castableTypeMap; + array.typeMarker$ = typeMarkerFn; + array.__elementTypeId$ = elementTypeId; + array.__elementTypeCategory$ = elementTypeCategory; + return array; +} + +function initializeArrayElementsWithDefaults(elementTypeCategory, length_0){ + var array = new Array(length_0); + var initValue; + switch (elementTypeCategory) { + case 6: + initValue = {l:0, m:0, h:0}; + break; + case 7: + initValue = 0; + break; + case 8: + initValue = false; + break; + default:return array; + } + for (var i = 0; i < length_0; ++i) { + array[i] = initValue; + } + return array; +} + +function nativeArraySplice(src_0, srcOfs, dest, destOfs, len, overwrite){ + if (src_0 === dest) { + src_0 = src_0.slice(srcOfs, srcOfs + len); + srcOfs = 0; + } + for (var batchStart = srcOfs, end = srcOfs + len; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + len = batchEnd - batchStart; + Array.prototype.splice.apply(dest, [destOfs, overwrite?len:0].concat(src_0.slice(batchStart, batchEnd))); + batchStart = batchEnd; + destOfs += len; + } +} + +function setCheck(array, index_0, value_0){ + var elementTypeId; + if (value_0 != null) { + switch (array.__elementTypeCategory$) { + case 4: + if (!isJavaString(value_0)) { + throw new ArrayStoreException; + } + + break; + case 0: + { + elementTypeId = array.__elementTypeId$; + if (!canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + case 2: + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0))) { + throw new ArrayStoreException; + } + + break; + case 1: + { + elementTypeId = array.__elementTypeId$; + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0)) && !canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + } + } + return array[index_0] = value_0; +} + +function cacheJavaScriptException(e, jse){ + if (e && typeof e == 'object') { + try { + e.__gwt$exception = jse; + } + catch (ignored) { + } + } +} + +function unwrap(e){ + var jse; + if (instanceOf(e, 31)) { + jse = dynamicCast(e, 31); + if (maskUndefined(jse.e) !== maskUndefined(($clinit_JavaScriptException() , NOT_SET))) { + return maskUndefined(jse.e) === maskUndefined(NOT_SET)?null:jse.e; + } + } + return e; +} + +function wrap(e){ + var jse; + if (instanceOf(e, 8)) { + return e; + } + jse = e && e.__gwt$exception; + if (!jse) { + jse = new JavaScriptException(e); + captureStackTrace(jse, e); + cacheJavaScriptException(e, jse); + } + return jse; +} + +function create(value_0){ + var a0, a1, a2; + a0 = value_0 & $intern_5; + a1 = value_0 >> 22 & $intern_5; + a2 = value_0 < 0?$intern_6:0; + return create0(a0, a1, a2); +} + +function create0(l, m, h){ + return {l:l, m:m, h:h}; +} + +function toDoubleHelper(a){ + return a.l + a.m * $intern_7 + a.h * $intern_8; +} + +function and(a, b){ + return {l:a.l & b.l, m:a.m & b.m, h:a.h & b.h}; +} + +function eq(a, b){ + return a.l == b.l && a.m == b.m && a.h == b.h; +} + +function fromDouble(value_0){ + var a0, a1, a2, negative, result, neg0, neg1, neg2; + if (isNaN_0(value_0)) { + return $clinit_LongLib$Const() , ZERO; + } + if (value_0 < $intern_9) { + return $clinit_LongLib$Const() , MIN_VALUE; + } + if (value_0 >= 9223372036854775807) { + return $clinit_LongLib$Const() , MAX_VALUE; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + a2 = 0; + if (value_0 >= $intern_8) { + a2 = round_int(value_0 / $intern_8); + value_0 -= a2 * $intern_8; + } + a1 = 0; + if (value_0 >= $intern_7) { + a1 = round_int(value_0 / $intern_7); + value_0 -= a1 * $intern_7; + } + a0 = round_int(value_0); + result = create0(a0, a1, a2); + negative && (neg0 = ~result.l + 1 & $intern_5 , neg1 = ~result.m + (neg0 == 0?1:0) & $intern_5 , neg2 = ~result.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_6 , result.l = neg0 , result.m = neg1 , result.h = neg2 , undefined); + return result; +} + +function fromInt(value_0){ + var rebase, result; + if (value_0 > -129 && value_0 < 128) { + rebase = value_0 + 128; + boxedValues == null && (boxedValues = initDim(Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, $intern_2, 180, 256, 0, 1)); + result = boxedValues[rebase]; + !result && (result = boxedValues[rebase] = create(value_0)); + return result; + } + return create(value_0); +} + +function gte(a, b){ + var signa, signb; + signa = a.h >> 19; + signb = b.h >> 19; + return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l); +} + +function or(a, b){ + return {l:a.l | b.l, m:a.m | b.m, h:a.h | b.h}; +} + +function shl(a, n){ + var res0, res1, res2; + n &= 63; + if (n < 22) { + res0 = a.l << n; + res1 = a.m << n | a.l >> 22 - n; + res2 = a.h << n | a.m >> 22 - n; + } + else if (n < 44) { + res0 = 0; + res1 = a.l << n - 22; + res2 = a.m << n - 22 | a.l >> 44 - n; + } + else { + res0 = 0; + res1 = 0; + res2 = a.l << n - 44; + } + return {l:res0 & $intern_5, m:res1 & $intern_5, h:res2 & $intern_6}; +} + +function shr(a, n){ + var a2, negative, res0, res1, res2; + n &= 63; + a2 = a.h; + negative = (a2 & $intern_10) != 0; + negative && (a2 |= -1048576); + if (n < 22) { + res2 = a2 >> n; + res1 = a.m >> n | a2 << 22 - n; + res0 = a.l >> n | a.m << 22 - n; + } + else if (n < 44) { + res2 = negative?$intern_6:0; + res1 = a2 >> n - 22; + res0 = a.m >> n - 22 | a2 << 44 - n; + } + else { + res2 = negative?$intern_6:0; + res1 = negative?$intern_5:0; + res0 = a2 >> n - 44; + } + return {l:res0 & $intern_5, m:res1 & $intern_5, h:res2 & $intern_6}; +} + +function sub_0(a, b){ + var sum0, sum1, sum2; + sum0 = a.l - b.l; + sum1 = a.m - b.m + (sum0 >> 22); + sum2 = a.h - b.h + (sum1 >> 22); + return {l:sum0 & $intern_5, m:sum1 & $intern_5, h:sum2 & $intern_6}; +} + +function toDouble(a){ + var neg0, neg1, neg2; + if (eq(a, ($clinit_LongLib$Const() , MIN_VALUE))) { + return $intern_9; + } + if (!gte(a, ZERO)) { + return -toDoubleHelper((neg0 = ~a.l + 1 & $intern_5 , neg1 = ~a.m + (neg0 == 0?1:0) & $intern_5 , neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_6 , create0(neg0, neg1, neg2))); + } + return a.l + a.m * $intern_7 + a.h * $intern_8; +} + +function toInt(a){ + return a.l | a.m << 22; +} + +var boxedValues; +function $clinit_LongLib$Const(){ + $clinit_LongLib$Const = emptyMethod; + MAX_VALUE = create0($intern_5, $intern_5, 524287); + MIN_VALUE = create0(0, 0, $intern_10); + fromInt(1); + fromInt(2); + ZERO = fromInt(0); +} + +var MAX_VALUE, MIN_VALUE, ZERO; +function hasTypeMarker(o){ + return o.typeMarker$ === typeMarkerFn; +} + +function init(){ + $wnd.setTimeout($entry(assertCompileTimeUserAgent)); + $onModuleLoad(); + $clinit_ExporterUtil(); + new AsyncQRCallback_ExporterImpl; + new JsQRScanner_ExporterImpl; + $wnd.JsQRScannerReady && $wnd.JsQRScannerReady(); +} + +var detector_0; +defineClass(172, 1, {}); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetector_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetector', 172); +function Video$VideoElementSupportDetectedNo(){ +} + +defineClass(115, 172, {}, Video$VideoElementSupportDetectedNo); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetectedNo_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetectedNo', 115); +function dispatchEvent_1(evt, elem, listener){ + var prevCurrentEvent; + prevCurrentEvent = currentEvent; + currentEvent = evt; + elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null); + listener.onBrowserEvent(evt); + currentEvent = prevCurrentEvent; +} + +function previewEvent(evt){ + return true; +} + +function resolve(maybePotential){ + return maybePotential.__gwt_resolve?maybePotential.__gwt_resolve():maybePotential; +} + +var currentEvent = null, sCaptureElem; +function $onModuleLoad(){ + var allowedModes, currentMode, i; + currentMode = $doc.compatMode; + allowedModes = initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['CSS1Compat']); + for (i = 0; i < allowedModes.length; i++) { + if ($equals(allowedModes[i], currentMode)) { + return; + } + } + allowedModes.length == 1 && $equals('CSS1Compat', allowedModes[0]) && $equals('BackCompat', currentMode)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').
Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\"document.compatMode\" value=\"" + currentMode + '"/>':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' " + currentMode + "').
Modify your application's host HTML page doctype, or update your custom " + "'document.compatMode' configuration property settings."; +} + +function $cancel(this$static){ + if (!this$static.timerId) { + return; + } + ++this$static.cancelCounter; + this$static.isRepeating?clearInterval_0(this$static.timerId.value_0):clearTimeout_0(this$static.timerId.value_0); + this$static.timerId = null; +} + +function $schedule(this$static, delayMillis){ + if (delayMillis < 0) { + throw new IllegalArgumentException_0('must be non-negative'); + } + !!this$static.timerId && $cancel(this$static); + this$static.isRepeating = false; + this$static.timerId = valueOf(setTimeout_0(createCallback(this$static, this$static.cancelCounter), delayMillis)); +} + +function clearInterval_0(timerId){ + $wnd.clearInterval(timerId); +} + +function clearTimeout_0(timerId){ + $wnd.clearTimeout(timerId); +} + +function createCallback(timer, cancelCounter){ + return $entry(function(){ + timer.fire(cancelCounter); + } + ); +} + +function setTimeout_0(func, time){ + return $wnd.setTimeout(func, time); +} + +defineClass(107, 1, {}); +_.fire = function fire(scheduleCancelCounter){ + if (scheduleCancelCounter != this.cancelCounter) { + return; + } + this.isRepeating || (this.timerId = null); + $scan(this.this$01); +} +; +_.cancelCounter = 0; +_.isRepeating = false; +_.timerId = null; +var Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client', 'Timer', 107); +function $eventGetTypeInt(eventType){ + switch (eventType) { + case 'blur': + return 4096; + case 'change': + return 1024; + case 'click': + return 1; + case 'dblclick': + return 2; + case 'focus': + return 2048; + case 'keydown': + return 128; + case 'keypress': + return 256; + case 'keyup': + return 512; + case 'load': + return 32768; + case 'losecapture': + return 8192; + case 'mousedown': + return 4; + case 'mousemove': + return 64; + case 'mouseout': + return 32; + case 'mouseover': + return 16; + case 'mouseup': + return 8; + case 'scroll': + return 16384; + case 'error': + return $intern_11; + case 'DOMMouseScroll': + case 'mousewheel': + return 131072; + case 'contextmenu': + return 262144; + case 'paste': + return $intern_10; + case 'touchstart': + return 1048576; + case 'touchmove': + return 2097152; + case 'touchend': + return $intern_7; + case 'touchcancel': + return 8388608; + case 'gesturestart': + return 16777216; + case 'gesturechange': + return 33554432; + case 'gestureend': + return 67108864; + default:return -1; + } +} + +function $maybeInitializeEventSystem(){ + if (!eventSystemIsInitialized) { + $initEventSystem(); + eventSystemIsInitialized = true; + } +} + +function getEventListener_0(elem){ + var maybeListener = elem.__listener; + return !instanceOfJso(maybeListener) && instanceOf(maybeListener, 48)?maybeListener:null; +} + +function setEventListener(elem, listener){ + elem.__listener = listener; +} + +var eventSystemIsInitialized = false; +function $initEventSystem(){ + $wnd.__gwt_globalEventArray == null && ($wnd.__gwt_globalEventArray = new Array); + $wnd.__gwt_globalEventArray[$wnd.__gwt_globalEventArray.length] = $entry(function(){ + return previewEvent($wnd.event); + } + ); + var dispatchEvent_0 = $entry(function(){ + var oldEventTarget = currentEventTarget; + currentEventTarget = this; + if ($wnd.event.returnValue == null) { + $wnd.event.returnValue = true; + if (!previewEventImpl()) { + currentEventTarget = oldEventTarget; + return; + } + } + var getEventListener = getEventListener_0; + var listener, curElem = this; + while (curElem && !(listener = getEventListener(curElem))) { + curElem = curElem.parentElement; + } + listener && dispatchEvent_1($wnd.event, curElem, listener); + currentEventTarget = oldEventTarget; + } + ); + var dispatchDblClickEvent = $entry(function(){ + var newEvent = $doc.createEventObject(); + $wnd.event.returnValue == null && $wnd.event.srcElement.fireEvent && $wnd.event.srcElement.fireEvent('onclick', newEvent); + if (this.__eventBits & 2) { + dispatchEvent_0.call(this); + } + else if ($wnd.event.returnValue == null) { + $wnd.event.returnValue = true; + previewEventImpl(); + } + } + ); + var dispatchUnhandledEvent = $entry(function(){ + this.__gwtLastUnhandledEvent = $wnd.event.type; + dispatchEvent_0.call(this); + } + ); + var moduleName = $moduleName.replace(/\./g, '_'); + $wnd['__gwt_dispatchEvent_' + moduleName] = dispatchEvent_0; + callDispatchEvent = (new Function('w', 'return function() { w.__gwt_dispatchEvent_' + moduleName + '.call(this) }'))($wnd); + $wnd['__gwt_dispatchDblClickEvent_' + moduleName] = dispatchDblClickEvent; + callDispatchDblClickEvent = (new Function('w', 'return function() { w.__gwt_dispatchDblClickEvent_' + moduleName + '.call(this)}'))($wnd); + $wnd['__gwt_dispatchUnhandledEvent_' + moduleName] = dispatchUnhandledEvent; + callDispatchUnhandledEvent = (new Function('w', 'return function() { w.__gwt_dispatchUnhandledEvent_' + moduleName + '.call(this)}'))($wnd); + callDispatchOnLoadEvent = (new Function('w', 'return function() { w.__gwt_dispatchUnhandledEvent_' + moduleName + '.call(w.event.srcElement)}'))($wnd); + var bodyDispatcher = $entry(function(){ + dispatchEvent_0.call($doc.body); + } + ); + var bodyDblClickDispatcher = $entry(function(){ + dispatchDblClickEvent.call($doc.body); + } + ); + $doc.body.attachEvent('onclick', bodyDispatcher); + $doc.body.attachEvent('onmousedown', bodyDispatcher); + $doc.body.attachEvent('onmouseup', bodyDispatcher); + $doc.body.attachEvent('onmousemove', bodyDispatcher); + $doc.body.attachEvent('onmousewheel', bodyDispatcher); + $doc.body.attachEvent('onkeydown', bodyDispatcher); + $doc.body.attachEvent('onkeypress', bodyDispatcher); + $doc.body.attachEvent('onkeyup', bodyDispatcher); + $doc.body.attachEvent('onfocus', bodyDispatcher); + $doc.body.attachEvent('onblur', bodyDispatcher); + $doc.body.attachEvent('ondblclick', bodyDblClickDispatcher); + $doc.body.attachEvent('oncontextmenu', bodyDispatcher); +} + +function $sinkEvents(elem, bits){ + $maybeInitializeEventSystem(); + $sinkEventsImpl(elem, bits); +} + +function $sinkEventsImpl(elem, bits){ + var chMask = (elem.__eventBits || 0) ^ bits; + elem.__eventBits = bits; + if (!chMask) + return; + chMask & 1 && (elem.onclick = bits & 1?callDispatchEvent:null); + chMask & 3 && (elem.ondblclick = bits & 3?callDispatchDblClickEvent:null); + chMask & 4 && (elem.onmousedown = bits & 4?callDispatchEvent:null); + chMask & 8 && (elem.onmouseup = bits & 8?callDispatchEvent:null); + chMask & 16 && (elem.onmouseover = bits & 16?callDispatchEvent:null); + chMask & 32 && (elem.onmouseout = bits & 32?callDispatchEvent:null); + chMask & 64 && (elem.onmousemove = bits & 64?callDispatchEvent:null); + chMask & 128 && (elem.onkeydown = bits & 128?callDispatchEvent:null); + chMask & 256 && (elem.onkeypress = bits & 256?callDispatchEvent:null); + chMask & 512 && (elem.onkeyup = bits & 512?callDispatchEvent:null); + chMask & 1024 && (elem.onchange = bits & 1024?callDispatchEvent:null); + chMask & 2048 && (elem.onfocus = bits & 2048?callDispatchEvent:null); + chMask & 4096 && (elem.onblur = bits & 4096?callDispatchEvent:null); + chMask & 8192 && (elem.onlosecapture = bits & 8192?callDispatchEvent:null); + chMask & 16384 && (elem.onscroll = bits & 16384?callDispatchEvent:null); + chMask & 32768 && (elem.nodeName == 'IFRAME'?bits & 32768?elem.attachEvent('onload', callDispatchOnLoadEvent):elem.detachEvent('onload', callDispatchOnLoadEvent):(elem.onload = bits & 32768?callDispatchUnhandledEvent:null)); + chMask & $intern_11 && (elem.onerror = bits & $intern_11?callDispatchEvent:null); + chMask & 131072 && (elem.onmousewheel = bits & 131072?callDispatchEvent:null); + chMask & 262144 && (elem.oncontextmenu = bits & 262144?callDispatchEvent:null); + chMask & $intern_10 && (elem.onpaste = bits & $intern_10?callDispatchEvent:null); +} + +function previewEventImpl(){ + var isCancelled = false; + for (var i = 0; i < $wnd.__gwt_globalEventArray.length; i++) { + !$wnd.__gwt_globalEventArray[i]() && (isCancelled = true); + } + return !isCancelled; +} + +var callDispatchDblClickEvent, callDispatchEvent, callDispatchOnLoadEvent, callDispatchUnhandledEvent; +function $clinit_AttachDetachException(){ + $clinit_AttachDetachException = emptyMethod; + attachCommand = new AttachDetachException$1; + detachCommand = new AttachDetachException$2; +} + +function AttachDetachException(causes){ + RuntimeException_1.call(this, makeMessage(causes), makeCause(causes)); +} + +function tryCommand(hasWidgets, c){ + var old; + $clinit_AttachDetachException(); + var caught, e, w, w$iterator; + caught = null; + for (w$iterator = hasWidgets.iterator(); w$iterator.hasNext();) { + w = dynamicCast(w$iterator.next(), 26); + try { + c.execute_0(w); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + !caught && (caught = new HashSet); + old = $put(caught.map_0, e, caught); + } + else + throw unwrap($e0); + } + } + if (caught) { + throw new AttachDetachException(caught); + } +} + +defineClass(111, 110, $intern_4, AttachDetachException); +var attachCommand, detachCommand; +var Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException', 111); +function AttachDetachException$1(){ +} + +defineClass(112, 1, {}, AttachDetachException$1); +_.execute_0 = function execute(w){ + w.onAttach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/1', 112); +function AttachDetachException$2(){ +} + +defineClass(113, 1, {}, AttachDetachException$2); +_.execute_0 = function execute_0(w){ + w.onDetach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/2', 113); +defineClass(171, 26, $intern_1); +_.doAttachChildren = function doAttachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , attachCommand)); +} +; +_.doDetachChildren = function doDetachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , detachCommand)); +} +; +var Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Panel', 171); +function $add(this$static, child, container){ + null.nullMethod(); + $add_1(this$static.children, child); + $appendChild(container, resolve(null.nullField)); + null.nullMethod(); +} + +defineClass(103, 171, $intern_1); +_.iterator = function iterator_0(){ + return new WidgetCollection$WidgetIterator(this.children); +} +; +var Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'ComplexPanel', 103); +function $add_0(this$static, w){ + $add(this$static, w, this$static.element); +} + +defineClass(74, 103, $intern_1); +var Lcom_google_gwt_user_client_ui_FlowPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FlowPanel', 74); +function $add_1(this$static, w){ + $insert(this$static, w, this$static.size_0); +} + +function $insert(this$static, w, beforeIndex){ + var i, i0, newArray; + if (beforeIndex < 0 || beforeIndex > this$static.size_0) { + throw new IndexOutOfBoundsException; + } + if (this$static.size_0 == this$static.array.length) { + newArray = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 26, this$static.array.length * 2, 0, 1); + for (i0 = 0; i0 < this$static.array.length; ++i0) { + setCheck(newArray, i0, this$static.array[i0]); + } + this$static.array = newArray; + } + ++this$static.size_0; + for (i = this$static.size_0 - 1; i > beforeIndex; --i) { + setCheck(this$static.array, i, this$static.array[i - 1]); + } + setCheck(this$static.array, beforeIndex, w); +} + +function WidgetCollection(){ + this.array = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 26, 4, 0, 1); +} + +defineClass(117, 1, {}, WidgetCollection); +_.iterator = function iterator_1(){ + return new WidgetCollection$WidgetIterator(this); +} +; +_.size_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection', 117); +function $next(this$static){ + if (this$static.index_0 >= this$static.this$01.size_0) { + throw new NoSuchElementException; + } + this$static.currentWidget = this$static.this$01.array[this$static.index_0]; + ++this$static.index_0; + return this$static.currentWidget; +} + +function WidgetCollection$WidgetIterator(this$0){ + this.this$01 = this$0; +} + +defineClass(76, 1, {}, WidgetCollection$WidgetIterator); +_.hasNext = function hasNext(){ + return this.index_0 < this.this$01.size_0; +} +; +_.next = function next(){ + return $next(this); +} +; +_.index_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection/WidgetIterator', 76); +function assertCompileTimeUserAgent(){ + var runtimeValue; + runtimeValue = $getRuntimeValue(); + if (!$equals('ie8', runtimeValue)) { + throw new UserAgentAsserter$UserAgentAssertionError(runtimeValue); + } +} + +function Error_0(message){ + Throwable.call(this, message); +} + +defineClass(59, 8, $intern_3); +var Ljava_lang_Error_2_classLit = createForClass('java.lang', 'Error', 59); +defineClass(18, 59, $intern_3); +var Ljava_lang_AssertionError_2_classLit = createForClass('java.lang', 'AssertionError', 18); +function UserAgentAsserter$UserAgentAssertionError(runtimeValue){ + Error_0.call(this, '' + ('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie8) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.'), instanceOf('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie8) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8)?dynamicCast('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie8) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8):null); +} + +defineClass(80, 18, $intern_3, UserAgentAsserter$UserAgentAssertionError); +var Lcom_google_gwt_useragent_client_UserAgentAsserter$UserAgentAssertionError_2_classLit = createForClass('com.google.gwt.useragent.client', 'UserAgentAsserter/UserAgentAssertionError', 80); +function $getRuntimeValue(){ + var ua = navigator.userAgent.toLowerCase(); + var docMode = $doc.documentMode; + if (function(){ + return ua.indexOf('webkit') != -1; + } + ()) + return 'safari'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 10 && docMode < 11; + } + ()) + return 'ie10'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 9 && docMode < 11; + } + ()) + return 'ie9'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 8 && docMode < 11; + } + ()) + return 'ie8'; + if (function(){ + return ua.indexOf('gecko') != -1 || docMode >= 11; + } + ()) + return 'gecko1_8'; + return 'unknown'; +} + +defineClass(123, 1, {}); +var Lcom_google_zxing_Binarizer_2_classLit = createForClass('com.google.zxing', 'Binarizer', 123); +function BinaryBitmap(binarizer){ + this.binarizer = binarizer; +} + +defineClass(121, 1, {}, BinaryBitmap); +_.toString$ = function toString_3(){ + try { + return $toString((!this.matrix && (this.matrix = $getBlackMatrix_0(this.binarizer)) , this.matrix)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + return ''; + } + else + throw unwrap($e0); + } +} +; +var Lcom_google_zxing_BinaryBitmap_2_classLit = createForClass('com.google.zxing', 'BinaryBitmap', 121); +function $clinit_ReaderException(){ + $clinit_ReaderException = emptyMethod; + NO_TRACE = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 178, 0, 0, 1); +} + +function ReaderException(){ + $clinit_ReaderException(); + Exception.call(this); +} + +defineClass(63, 10, $intern_4); +_.fillInStackTrace = function fillInStackTrace_0(){ + return null; +} +; +var NO_TRACE; +var Lcom_google_zxing_ReaderException_2_classLit = createForClass('com.google.zxing', 'ReaderException', 63); +function $clinit_ChecksumException(){ + $clinit_ChecksumException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_0 = new ChecksumException; + $setStackTrace(NO_TRACE); +} + +function ChecksumException(){ + ReaderException.call(this); +} + +defineClass(52, 63, {52:1, 3:1, 10:1, 8:1}, ChecksumException); +var INSTANCE_0; +var Lcom_google_zxing_ChecksumException_2_classLit = createForClass('com.google.zxing', 'ChecksumException', 52); +function $clinit_FormatException(){ + $clinit_FormatException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_1 = new FormatException; + $setStackTrace(NO_TRACE); +} + +function FormatException(){ + ReaderException.call(this); +} + +defineClass(53, 63, {53:1, 3:1, 10:1, 8:1}, FormatException); +var INSTANCE_1; +var Lcom_google_zxing_FormatException_2_classLit = createForClass('com.google.zxing', 'FormatException', 53); +defineClass(122, 1, {}); +_.toString$ = function toString_4(){ + var c, luminance, result, row, x_0, y_0; + row = initDim(B_classLit, $intern_12, 0, this.width_0, 7, 1); + result = new StringBuilder; + for (y_0 = 0; y_0 < this.height; y_0++) { + row = $getRow(this, y_0, row); + for (x_0 = 0; x_0 < this.width_0; x_0++) { + luminance = row[x_0] & 255; + luminance < 64?(c = 35):luminance < 128?(c = 43):luminance < 192?(c = 46):(c = 32); + result.string += charToString(c); + } + result.string += '\n'; + } + return result.string; +} +; +_.height = 0; +_.width_0 = 0; +var Lcom_google_zxing_LuminanceSource_2_classLit = createForClass('com.google.zxing', 'LuminanceSource', 122); +function $clinit_NotFoundException(){ + $clinit_NotFoundException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_2 = new NotFoundException; + $setStackTrace(NO_TRACE); +} + +function NotFoundException(){ + ReaderException.call(this); +} + +defineClass(51, 63, {51:1, 3:1, 10:1, 8:1}, NotFoundException); +var INSTANCE_2; +var Lcom_google_zxing_NotFoundException_2_classLit = createForClass('com.google.zxing', 'NotFoundException', 51); +function $putMetadata(this$static, type_0, value_0){ + !this$static.resultMetadata && (this$static.resultMetadata = new EnumMap(Lcom_google_zxing_ResultMetadataType_2_classLit)); + $put_1(this$static.resultMetadata, type_0, value_0); +} + +function Result(text_0){ + Result_0.call(this, text_0, fromDouble(now_1())); +} + +function Result_0(text_0){ + this.text_0 = text_0; + this.resultMetadata = null; +} + +defineClass(62, 1, {}, Result); +_.toString$ = function toString_5(){ + return this.text_0; +} +; +var Lcom_google_zxing_Result_2_classLit = createForClass('com.google.zxing', 'Result', 62); +function $compareTo(this$static, other){ + return this$static.ordinal - other.ordinal; +} + +function Enum(name_0, ordinal){ + this.name_0 = name_0; + this.ordinal = ordinal; +} + +defineClass(13, 1, {3:1, 19:1, 13:1}); +_.compareTo = function compareTo(other){ + return $compareTo(this, dynamicCast(other, 13)); +} +; +_.equals$ = function equals_0(other){ + return this === other; +} +; +_.hashCode$ = function hashCode_1(){ + return getHashCode(this); +} +; +_.toString$ = function toString_6(){ + return this.name_0 != null?this.name_0:'' + this.ordinal; +} +; +_.ordinal = 0; +var Ljava_lang_Enum_2_classLit = createForClass('java.lang', 'Enum', 13); +function $clinit_ResultMetadataType(){ + $clinit_ResultMetadataType = emptyMethod; + OTHER = new ResultMetadataType('OTHER', 0); + ORIENTATION = new ResultMetadataType('ORIENTATION', 1); + BYTE_SEGMENTS = new ResultMetadataType('BYTE_SEGMENTS', 2); + ERROR_CORRECTION_LEVEL = new ResultMetadataType('ERROR_CORRECTION_LEVEL', 3); + ISSUE_NUMBER = new ResultMetadataType('ISSUE_NUMBER', 4); + SUGGESTED_PRICE = new ResultMetadataType('SUGGESTED_PRICE', 5); + POSSIBLE_COUNTRY = new ResultMetadataType('POSSIBLE_COUNTRY', 6); + UPC_EAN_EXTENSION = new ResultMetadataType('UPC_EAN_EXTENSION', 7); + PDF417_EXTRA_METADATA = new ResultMetadataType('PDF417_EXTRA_METADATA', 8); + STRUCTURED_APPEND_SEQUENCE = new ResultMetadataType('STRUCTURED_APPEND_SEQUENCE', 9); + STRUCTURED_APPEND_PARITY = new ResultMetadataType('STRUCTURED_APPEND_PARITY', 10); +} + +function ResultMetadataType(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_0(){ + $clinit_ResultMetadataType(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_ResultMetadataType_2_classLit, 1), $intern_13, 20, 0, [OTHER, ORIENTATION, BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, SUGGESTED_PRICE, POSSIBLE_COUNTRY, UPC_EAN_EXTENSION, PDF417_EXTRA_METADATA, STRUCTURED_APPEND_SEQUENCE, STRUCTURED_APPEND_PARITY]); +} + +defineClass(20, 13, {20:1, 3:1, 19:1, 13:1}, ResultMetadataType); +var BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, ORIENTATION, OTHER, PDF417_EXTRA_METADATA, POSSIBLE_COUNTRY, STRUCTURED_APPEND_PARITY, STRUCTURED_APPEND_SEQUENCE, SUGGESTED_PRICE, UPC_EAN_EXTENSION; +var Lcom_google_zxing_ResultMetadataType_2_classLit = createForEnum('com.google.zxing', 'ResultMetadataType', 20, values_0); +function ResultPoint(x_0, y_0){ + this.x_0 = x_0; + this.y_0 = y_0; +} + +function distance(pattern1, pattern2){ + return distance_0(pattern1.x_0, pattern1.y_0, pattern2.x_0, pattern2.y_0); +} + +function orderBestPatterns(patterns){ + var oneTwoDistance, pointA, pointB, pointC, temp, zeroOneDistance, zeroTwoDistance, bX, bY; + zeroOneDistance = distance(patterns[0], patterns[1]); + oneTwoDistance = distance(patterns[1], patterns[2]); + zeroTwoDistance = distance(patterns[0], patterns[2]); + if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) { + pointB = patterns[0]; + pointA = patterns[1]; + pointC = patterns[2]; + } + else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) { + pointB = patterns[1]; + pointA = patterns[0]; + pointC = patterns[2]; + } + else { + pointB = patterns[2]; + pointA = patterns[0]; + pointC = patterns[1]; + } + if ((bX = pointB.x_0 , bY = pointB.y_0 , (pointC.x_0 - bX) * (pointA.y_0 - bY) - (pointC.y_0 - bY) * (pointA.x_0 - bX)) < 0) { + temp = pointA; + pointA = pointC; + pointC = temp; + } + setCheck(patterns, 0, pointA); + patterns[1] = pointB; + setCheck(patterns, 2, pointC); +} + +defineClass(27, 1, {27:1}); +_.equals$ = function equals_1(other){ + var otherPoint; + if (instanceOf(other, 27)) { + otherPoint = dynamicCast(other, 27); + return this.x_0 == otherPoint.x_0 && this.y_0 == otherPoint.y_0; + } + return false; +} +; +_.hashCode$ = function hashCode_2(){ + return 31 * floatToIntBits(this.x_0) + floatToIntBits(this.y_0); +} +; +_.toString$ = function toString_7(){ + var result; + result = new StringBuilder; + result.string += '('; + $append_0(result, this.x_0); + result.string += ','; + $append_0(result, this.y_0); + result.string += ')'; + return result.string; +} +; +_.x_0 = 0; +_.y_0 = 0; +var Lcom_google_zxing_ResultPoint_2_classLit = createForClass('com.google.zxing', 'ResultPoint', 27); +function $flip(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] ^= 1 << (x_0 & 31); +} + +function $get(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + return (this$static.bits[offset] >>> (x_0 & 31) & 1) != 0; +} + +function $set(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] |= 1 << (x_0 & 31); +} + +function $setRegion(this$static, left, top_0, width_0, height){ + var bottom, offset, right, x_0, y_0; + if (top_0 < 0 || left < 0) { + throw new IllegalArgumentException_0('Left and top must be nonnegative'); + } + if (height < 1 || width_0 < 1) { + throw new IllegalArgumentException_0('Height and width must be at least 1'); + } + right = left + width_0; + bottom = top_0 + height; + if (bottom > this$static.height || right > this$static.width_0) { + throw new IllegalArgumentException_0('The region must fit inside the matrix'); + } + for (y_0 = top_0; y_0 < bottom; y_0++) { + offset = y_0 * this$static.rowSize; + for (x_0 = left; x_0 < right; x_0++) { + this$static.bits[offset + ~~(x_0 / 32)] |= 1 << (x_0 & 31); + } + } +} + +function $toString(this$static){ + var result, x_0, y_0; + result = new StringBuilder; + for (y_0 = 0; y_0 < this$static.height; y_0++) { + for (x_0 = 0; x_0 < this$static.width_0; x_0++) { + $append_2(result, $get(this$static, x_0, y_0)?'X ':' '); + } + result.string += '\n'; + } + return result.string; +} + +function BitMatrix(dimension){ + BitMatrix_0.call(this, dimension, dimension); +} + +function BitMatrix_0(width_0, height){ + if (width_0 < 1 || height < 1) { + throw new IllegalArgumentException_0('Both dimensions must be greater than 0'); + } + this.width_0 = width_0; + this.height = height; + this.rowSize = ~~((width_0 + 31) / 32); + this.bits = initDim(I_classLit, $intern_14, 0, this.rowSize * height, 7, 1); +} + +defineClass(29, 1, {29:1}, BitMatrix, BitMatrix_0); +_.equals$ = function equals_2(o){ + var other; + if (!instanceOf(o, 29)) { + return false; + } + other = dynamicCast(o, 29); + return this.width_0 == other.width_0 && this.height == other.height && this.rowSize == other.rowSize && equals_10(this.bits, other.bits); +} +; +_.hashCode$ = function hashCode_3(){ + var hash; + hash = this.width_0; + hash = 31 * hash + this.width_0; + hash = 31 * hash + this.height; + hash = 31 * hash + this.rowSize; + hash = 31 * hash + hashCode_11(this.bits); + return hash; +} +; +_.toString$ = function toString_8(){ + return $toString(this); +} +; +_.height = 0; +_.rowSize = 0; +_.width_0 = 0; +var Lcom_google_zxing_common_BitMatrix_2_classLit = createForClass('com.google.zxing.common', 'BitMatrix', 29); +function $readBits(this$static, numBits){ + var bitsLeft, bitsToNotRead, mask, result, toRead; + if (numBits < 1 || numBits > 32 || numBits > 8 * (this$static.bytes.length - this$static.byteOffset) - this$static.bitOffset) { + throw new IllegalArgumentException_0('' + numBits); + } + result = 0; + if (this$static.bitOffset > 0) { + bitsLeft = 8 - this$static.bitOffset; + toRead = numBits < bitsLeft?numBits:bitsLeft; + bitsToNotRead = bitsLeft - toRead; + mask = 255 >> 8 - toRead << bitsToNotRead; + result = (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + numBits -= toRead; + this$static.bitOffset += toRead; + if (this$static.bitOffset == 8) { + this$static.bitOffset = 0; + ++this$static.byteOffset; + } + } + if (numBits > 0) { + while (numBits >= 8) { + result = result << 8 | this$static.bytes[this$static.byteOffset] & 255; + ++this$static.byteOffset; + numBits -= 8; + } + if (numBits > 0) { + bitsToNotRead = 8 - numBits; + mask = 255 >> bitsToNotRead << bitsToNotRead; + result = result << numBits | (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + this$static.bitOffset += numBits; + } + } + return result; +} + +function BitSource(bytes){ + this.bytes = bytes; +} + +defineClass(147, 1, {}, BitSource); +_.bitOffset = 0; +_.byteOffset = 0; +var Lcom_google_zxing_common_BitSource_2_classLit = createForClass('com.google.zxing.common', 'BitSource', 147); +function $clinit_CharacterSetECI(){ + $clinit_CharacterSetECI = emptyMethod; + var eci, eci$array, eci$index, eci$max, name_0, name$array, name$index, name$max, value_0, value$array, value$index, value$max; + Cp437 = new CharacterSetECI_1('Cp437', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [0, 2]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); + ISO8859_1 = new CharacterSetECI_1('ISO8859_1', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [1, 3]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-1'])); + ISO8859_2 = new CharacterSetECI_0('ISO8859_2', 2, 4, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-2'])); + ISO8859_3 = new CharacterSetECI_0('ISO8859_3', 3, 5, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-3'])); + ISO8859_4 = new CharacterSetECI_0('ISO8859_4', 4, 6, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-4'])); + ISO8859_5 = new CharacterSetECI_0('ISO8859_5', 5, 7, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-5'])); + ISO8859_6 = new CharacterSetECI_0('ISO8859_6', 6, 8, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-6'])); + ISO8859_7 = new CharacterSetECI_0('ISO8859_7', 7, 9, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-7'])); + ISO8859_8 = new CharacterSetECI_0('ISO8859_8', 8, 10, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-8'])); + ISO8859_9 = new CharacterSetECI_0('ISO8859_9', 9, 11, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-9'])); + ISO8859_10 = new CharacterSetECI_0('ISO8859_10', 10, 12, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-10'])); + ISO8859_11 = new CharacterSetECI_0('ISO8859_11', 11, 13, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-11'])); + ISO8859_13 = new CharacterSetECI_0('ISO8859_13', 12, 15, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-13'])); + ISO8859_14 = new CharacterSetECI_0('ISO8859_14', 13, 16, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-14'])); + ISO8859_15 = new CharacterSetECI_0('ISO8859_15', 14, 17, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-15'])); + ISO8859_16 = new CharacterSetECI_0('ISO8859_16', 15, 18, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-16'])); + SJIS = new CharacterSetECI_0('SJIS', 16, 20, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['Shift_JIS'])); + Cp1250 = new CharacterSetECI_0('Cp1250', 17, 21, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1250'])); + Cp1251 = new CharacterSetECI_0('Cp1251', 18, 22, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1251'])); + Cp1252 = new CharacterSetECI_0('Cp1252', 19, 23, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1252'])); + Cp1256 = new CharacterSetECI_0('Cp1256', 20, 24, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1256'])); + UnicodeBigUnmarked = new CharacterSetECI_0('UnicodeBigUnmarked', 21, 25, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-16BE', 'UnicodeBig'])); + UTF8 = new CharacterSetECI_0('UTF8', 22, 26, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-8'])); + ASCII = new CharacterSetECI_1('ASCII', 23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [27, 170]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['US-ASCII'])); + Big5 = new CharacterSetECI; + GB18030 = new CharacterSetECI_0('GB18030', 25, 29, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['GB2312', 'EUC_CN', 'GBK'])); + EUC_KR = new CharacterSetECI_0('EUC_KR', 26, 30, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['EUC-KR'])); + VALUE_TO_ECI = new HashMap; + NAME_TO_ECI = new HashMap; + for (eci$array = values_1() , eci$index = 0 , eci$max = eci$array.length; eci$index < eci$max; ++eci$index) { + eci = eci$array[eci$index]; + for (value$array = eci.values , value$index = 0 , value$max = value$array.length; value$index < value$max; ++value$index) { + value_0 = value$array[value$index]; + $put(VALUE_TO_ECI, valueOf(value_0), eci); + } + $putStringValue(NAME_TO_ECI, eci.name_0 != null?eci.name_0:'' + eci.ordinal, eci); + for (name$array = eci.otherEncodingNames , name$index = 0 , name$max = name$array.length; name$index < name$max; ++name$index) { + name_0 = name$array[name$index]; + $putStringValue(NAME_TO_ECI, name_0, eci); + } + } +} + +function CharacterSetECI(){ + CharacterSetECI_1.call(this, 'Big5', 24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [28]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); +} + +function CharacterSetECI_0(enum$name, enum$ordinal, value_0, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [value_0]); + this.otherEncodingNames = otherEncodingNames; +} + +function CharacterSetECI_1(enum$name, enum$ordinal, values, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = values; + this.otherEncodingNames = otherEncodingNames; +} + +function getCharacterSetECIByValue(value_0){ + $clinit_CharacterSetECI(); + if (value_0 < 0 || value_0 >= 900) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return dynamicCast($get_0(VALUE_TO_ECI, valueOf(value_0)), 11); +} + +function values_1(){ + $clinit_CharacterSetECI(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_CharacterSetECI_2_classLit, 1), $intern_13, 11, 0, [Cp437, ISO8859_1, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, SJIS, Cp1250, Cp1251, Cp1252, Cp1256, UnicodeBigUnmarked, UTF8, ASCII, Big5, GB18030, EUC_KR]); +} + +defineClass(11, 13, {11:1, 3:1, 19:1, 13:1}, CharacterSetECI, CharacterSetECI_0, CharacterSetECI_1); +var ASCII, Big5, Cp1250, Cp1251, Cp1252, Cp1256, Cp437, EUC_KR, GB18030, ISO8859_1, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, NAME_TO_ECI, SJIS, UTF8, UnicodeBigUnmarked, VALUE_TO_ECI; +var Lcom_google_zxing_common_CharacterSetECI_2_classLit = createForEnum('com.google.zxing.common', 'CharacterSetECI', 11, values_1); +function $setOther(this$static, other){ + this$static.other = other; +} + +function DecoderResult(text_0, byteSegments, ecLevel, saSequence, saParity){ + this.text_0 = text_0; + this.byteSegments = byteSegments; + this.ecLevel = ecLevel; + this.structuredAppendParity = saParity; + this.structuredAppendSequenceNumber = saSequence; +} + +defineClass(126, 1, {}, DecoderResult); +_.structuredAppendParity = 0; +_.structuredAppendSequenceNumber = 0; +var Lcom_google_zxing_common_DecoderResult_2_classLit = createForClass('com.google.zxing.common', 'DecoderResult', 126); +function checkAndNudgePoints(image, points){ + var height, nudged, offset, offset0, width_0, x_0, y_0; + width_0 = image.width_0; + height = image.height; + nudged = true; + for (offset0 = 0; offset0 < points.length && nudged; offset0 += 2) { + x_0 = round_int(points[offset0]); + y_0 = round_int(points[offset0 + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset0] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset0] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset0 + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset0 + 1] = height - 1; + nudged = true; + } + } + nudged = true; + for (offset = points.length - 2; offset >= 0 && nudged; offset -= 2) { + x_0 = round_int(points[offset]); + y_0 = round_int(points[offset + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset + 1] = height - 1; + nudged = true; + } + } +} + +function $sampleGrid(image, dimensionX, dimensionY, transform){ + var bits, iValue, max_0, points, x_0, x0, y_0; + if (dimensionX <= 0 || dimensionY <= 0) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bits = new BitMatrix_0(dimensionX, dimensionY); + points = initDim(F_classLit, $intern_12, 0, 2 * dimensionX, 7, 1); + for (y_0 = 0; y_0 < dimensionY; y_0++) { + max_0 = points.length; + iValue = y_0 + 0.5; + for (x0 = 0; x0 < max_0; x0 += 2) { + points[x0] = ~~(x0 / 2) + 0.5; + points[x0 + 1] = iValue; + } + $transformPoints(transform, points); + checkAndNudgePoints(image, points); + for (x_0 = 0; x_0 < max_0; x_0 += 2) { + $get(image, round_int(points[x_0]), round_int(points[x_0 + 1])) && $set(bits, ~~(x_0 / 2), y_0); + } + } + return bits; +} + +function DetectorResult(bits, points){ + this.bits = bits; + this.points = points; +} + +defineClass(127, 1, {}, DetectorResult); +var Lcom_google_zxing_common_DetectorResult_2_classLit = createForClass('com.google.zxing.common', 'DetectorResult', 127); +function $clinit_GlobalHistogramBinarizer(){ + $clinit_GlobalHistogramBinarizer = emptyMethod; + EMPTY = initDim(B_classLit, $intern_12, 0, 0, 7, 1); +} + +function $getBlackMatrix(this$static){ + var blackPoint, height, localBuckets, localLuminances, localLuminances0, matrix, offset, pixel, right, row, source, width_0, x_0, y_0, y0; + source = this$static.source; + width_0 = source.width_0; + height = source.height; + matrix = new BitMatrix_0(width_0, height); + $initArrays(this$static, width_0); + localBuckets = this$static.buckets; + for (y0 = 1; y0 < 5; y0++) { + row = ~~(height * y0 / 5); + localLuminances0 = $getRow(source, row, this$static.luminances); + right = ~~(width_0 * 4 / 5); + for (x_0 = ~~(width_0 / 5); x_0 < right; x_0++) { + pixel = localLuminances0[x_0] & 255; + ++localBuckets[pixel >> 3]; + } + } + blackPoint = estimateBlackPoint(localBuckets); + localLuminances = $getMatrix(source); + for (y_0 = 0; y_0 < height; y_0++) { + offset = y_0 * width_0; + for (x_0 = 0; x_0 < width_0; x_0++) { + pixel = localLuminances[offset + x_0] & 255; + pixel < blackPoint && $set(matrix, x_0, y_0); + } + } + return matrix; +} + +function $initArrays(this$static, luminanceSize){ + var x_0; + this$static.luminances.length < luminanceSize && (this$static.luminances = initDim(B_classLit, $intern_12, 0, luminanceSize, 7, 1)); + for (x_0 = 0; x_0 < 32; x_0++) { + this$static.buckets[x_0] = 0; + } +} + +function estimateBlackPoint(buckets){ + var bestValley, bestValleyScore, distanceToBiggest, firstPeak, firstPeakSize, fromFirst, maxBucketCount, numBuckets, score, secondPeak, secondPeakScore, temp, x_0, x0, x1; + numBuckets = buckets.length; + maxBucketCount = 0; + firstPeak = 0; + firstPeakSize = 0; + for (x0 = 0; x0 < numBuckets; x0++) { + if (buckets[x0] > firstPeakSize) { + firstPeak = x0; + firstPeakSize = buckets[x0]; + } + buckets[x0] > maxBucketCount && (maxBucketCount = buckets[x0]); + } + secondPeak = 0; + secondPeakScore = 0; + for (x1 = 0; x1 < numBuckets; x1++) { + distanceToBiggest = x1 - firstPeak; + score = buckets[x1] * distanceToBiggest * distanceToBiggest; + if (score > secondPeakScore) { + secondPeak = x1; + secondPeakScore = score; + } + } + if (firstPeak > secondPeak) { + temp = firstPeak; + firstPeak = secondPeak; + secondPeak = temp; + } + if (secondPeak - firstPeak <= ~~(numBuckets / 16)) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bestValley = secondPeak - 1; + bestValleyScore = -1; + for (x_0 = secondPeak - 1; x_0 > firstPeak; x_0--) { + fromFirst = x_0 - firstPeak; + score = fromFirst * fromFirst * (secondPeak - x_0) * (maxBucketCount - buckets[x_0]); + if (score > bestValleyScore) { + bestValley = x_0; + bestValleyScore = score; + } + } + return bestValley << 3; +} + +defineClass(124, 123, {}); +var EMPTY; +var Lcom_google_zxing_common_GlobalHistogramBinarizer_2_classLit = createForClass('com.google.zxing.common', 'GlobalHistogramBinarizer', 124); +function $getBlackMatrix_0(this$static){ + var blackPoints, height, luminances, newMatrix, source, subHeight, subWidth, width_0; + if (this$static.matrix) { + return this$static.matrix; + } + source = this$static.source; + width_0 = source.width_0; + height = source.height; + if (width_0 >= 40 && height >= 40) { + luminances = $getMatrix(source); + subWidth = width_0 >> 3; + (width_0 & 7) != 0 && ++subWidth; + subHeight = height >> 3; + (height & 7) != 0 && ++subHeight; + blackPoints = calculateBlackPoints(luminances, subWidth, subHeight, width_0, height); + newMatrix = new BitMatrix_0(width_0, height); + calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, newMatrix); + this$static.matrix = newMatrix; + } + else { + this$static.matrix = $getBlackMatrix(this$static); + } + return this$static.matrix; +} + +function HybridBinarizer(source){ + $clinit_GlobalHistogramBinarizer(); + this.source = source; + this.luminances = EMPTY; + this.buckets = initDim(I_classLit, $intern_14, 0, 32, 7, 1); +} + +function calculateBlackPoints(luminances, subWidth, subHeight, width_0, height){ + var average, averageNeighborBlackPoint, blackPoints, max_0, maxXOffset, maxYOffset, min_0, offset, pixel, sum, x_0, xoffset, xx, xx0, y_0, yoffset, yy; + blackPoints = initDims(I_classLit, [$intern_2, $intern_14], [7, 0], 7, [subHeight, subWidth], 2); + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + sum = 0; + min_0 = 255; + max_0 = 0; + for (yy = 0 , offset = yoffset * width_0 + xoffset; yy < 8; ++yy , offset += width_0) { + for (xx0 = 0; xx0 < 8; xx0++) { + pixel = luminances[offset + xx0] & 255; + sum += pixel; + pixel < min_0 && (min_0 = pixel); + pixel > max_0 && (max_0 = pixel); + } + if (max_0 - min_0 > 24) { + for (++yy , offset += width_0; yy < 8; ++yy , offset += width_0) { + for (xx = 0; xx < 8; xx++) { + sum += luminances[offset + xx] & 255; + } + } + } + } + average = sum >> 6; + if (max_0 - min_0 <= 24) { + average = ~~(min_0 / 2); + if (y_0 > 0 && x_0 > 0) { + averageNeighborBlackPoint = ~~((blackPoints[y_0 - 1][x_0] + 2 * blackPoints[y_0][x_0 - 1] + blackPoints[y_0 - 1][x_0 - 1]) / 4); + min_0 < averageNeighborBlackPoint && (average = averageNeighborBlackPoint); + } + } + blackPoints[y_0][x_0] = average; + } + } + return blackPoints; +} + +function calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, matrix){ + var average, blackRow, left, maxXOffset, maxYOffset, sum, top_0, x_0, xoffset, y_0, yoffset, z_0; + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + left = x_0 < 2?2:x_0 > subWidth - 3?subWidth - 3:x_0; + top_0 = y_0 < 2?2:y_0 > subHeight - 3?subHeight - 3:y_0; + sum = 0; + for (z_0 = -2; z_0 <= 2; z_0++) { + blackRow = blackPoints[top_0 + z_0]; + sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2]; + } + average = ~~(sum / 25); + thresholdBlock(luminances, xoffset, yoffset, average, width_0, matrix); + } + } +} + +function thresholdBlock(luminances, xoffset, yoffset, threshold, stride, matrix){ + var offset, x_0, y_0; + for (y_0 = 0 , offset = yoffset * stride + xoffset; y_0 < 8; ++y_0 , offset += stride) { + for (x_0 = 0; x_0 < 8; x_0++) { + (luminances[offset + x_0] & 255) <= threshold && $set(matrix, xoffset + x_0, yoffset + y_0); + } + } +} + +defineClass(125, 124, {}, HybridBinarizer); +var Lcom_google_zxing_common_HybridBinarizer_2_classLit = createForClass('com.google.zxing.common', 'HybridBinarizer', 125); +function $buildAdjoint(this$static){ + return new PerspectiveTransform(this$static.a22 * this$static.a33 - this$static.a23 * this$static.a32, this$static.a23 * this$static.a31 - this$static.a21 * this$static.a33, this$static.a21 * this$static.a32 - this$static.a22 * this$static.a31, this$static.a13 * this$static.a32 - this$static.a12 * this$static.a33, this$static.a11 * this$static.a33 - this$static.a13 * this$static.a31, this$static.a12 * this$static.a31 - this$static.a11 * this$static.a32, this$static.a12 * this$static.a23 - this$static.a13 * this$static.a22, this$static.a13 * this$static.a21 - this$static.a11 * this$static.a23, this$static.a11 * this$static.a22 - this$static.a12 * this$static.a21); +} + +function $transformPoints(this$static, points){ + var a11, a12, a13, a21, a22, a23, a31, a32, a33, denominator, i, max_0, x_0, y_0; + max_0 = points.length; + a11 = this$static.a11; + a12 = this$static.a12; + a13 = this$static.a13; + a21 = this$static.a21; + a22 = this$static.a22; + a23 = this$static.a23; + a31 = this$static.a31; + a32 = this$static.a32; + a33 = this$static.a33; + for (i = 0; i < max_0; i += 2) { + x_0 = points[i]; + y_0 = points[i + 1]; + denominator = a13 * x_0 + a23 * y_0 + a33; + points[i] = (a11 * x_0 + a21 * y_0 + a31) / denominator; + points[i + 1] = (a12 * x_0 + a22 * y_0 + a32) / denominator; + } +} + +function PerspectiveTransform(a11, a21, a31, a12, a22, a32, a13, a23, a33){ + this.a11 = a11; + this.a12 = a12; + this.a13 = a13; + this.a21 = a21; + this.a22 = a22; + this.a23 = a23; + this.a31 = a31; + this.a32 = a32; + this.a33 = a33; +} + +function quadrilateralToQuadrilateral(x1, x2, y2, y3, x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p){ + var qToS, sToQ; + qToS = $buildAdjoint(squareToQuadrilateral(3.5, 3.5, x1, 3.5, x2, y2, 3.5, y3)); + sToQ = squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p); + return new PerspectiveTransform(sToQ.a11 * qToS.a11 + sToQ.a21 * qToS.a12 + sToQ.a31 * qToS.a13, sToQ.a11 * qToS.a21 + sToQ.a21 * qToS.a22 + sToQ.a31 * qToS.a23, sToQ.a11 * qToS.a31 + sToQ.a21 * qToS.a32 + sToQ.a31 * qToS.a33, sToQ.a12 * qToS.a11 + sToQ.a22 * qToS.a12 + sToQ.a32 * qToS.a13, sToQ.a12 * qToS.a21 + sToQ.a22 * qToS.a22 + sToQ.a32 * qToS.a23, sToQ.a12 * qToS.a31 + sToQ.a22 * qToS.a32 + sToQ.a32 * qToS.a33, sToQ.a13 * qToS.a11 + sToQ.a23 * qToS.a12 + sToQ.a33 * qToS.a13, sToQ.a13 * qToS.a21 + sToQ.a23 * qToS.a22 + sToQ.a33 * qToS.a23, sToQ.a13 * qToS.a31 + sToQ.a23 * qToS.a32 + sToQ.a33 * qToS.a33); +} + +function squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3){ + var a13, a23, denominator, dx1, dx2, dx3, dy1, dy2, dy3; + dx3 = x0 - x1 + x2 - x3; + dy3 = y0 - y1 + y2 - y3; + if (dx3 == 0 && dy3 == 0) { + return new PerspectiveTransform(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0, 0, 1); + } + else { + dx1 = x1 - x2; + dx2 = x3 - x2; + dy1 = y1 - y2; + dy2 = y3 - y2; + denominator = dx1 * dy2 - dx2 * dy1; + a13 = (dx3 * dy2 - dx2 * dy3) / denominator; + a23 = (dx1 * dy3 - dx3 * dy1) / denominator; + return new PerspectiveTransform(x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0, y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0, a13, a23, 1); + } +} + +defineClass(54, 1, {}, PerspectiveTransform); +_.a11 = 0; +_.a12 = 0; +_.a13 = 0; +_.a21 = 0; +_.a22 = 0; +_.a23 = 0; +_.a31 = 0; +_.a32 = 0; +_.a33 = 0; +var Lcom_google_zxing_common_PerspectiveTransform_2_classLit = createForClass('com.google.zxing.common', 'PerspectiveTransform', 54); +function guessEncoding(bytes){ + var canBeISO88591, canBeShiftJIS, canBeUTF8, i, isoHighOther, length_0, sjisBytesLeft, sjisCurDoubleBytesWordLength, sjisCurKatakanaWordLength, sjisKatakanaChars, sjisMaxDoubleBytesWordLength, sjisMaxKatakanaWordLength, utf2BytesChars, utf3BytesChars, utf4BytesChars, utf8BytesLeft, utf8bom, value_0; + length_0 = bytes.length; + canBeISO88591 = true; + canBeShiftJIS = true; + canBeUTF8 = true; + utf8BytesLeft = 0; + utf2BytesChars = 0; + utf3BytesChars = 0; + utf4BytesChars = 0; + sjisBytesLeft = 0; + sjisKatakanaChars = 0; + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + sjisMaxKatakanaWordLength = 0; + sjisMaxDoubleBytesWordLength = 0; + isoHighOther = 0; + utf8bom = bytes.length > 3 && bytes[0] == -17 && bytes[1] == -69 && bytes[2] == -65; + for (i = 0; i < length_0 && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) { + value_0 = bytes[i] & 255; + if (canBeUTF8) { + if (utf8BytesLeft > 0) { + (value_0 & 128) == 0?(canBeUTF8 = false):--utf8BytesLeft; + } + else if ((value_0 & 128) != 0) { + if ((value_0 & 64) == 0) { + canBeUTF8 = false; + } + else { + ++utf8BytesLeft; + if ((value_0 & 32) == 0) { + ++utf2BytesChars; + } + else { + ++utf8BytesLeft; + if ((value_0 & 16) == 0) { + ++utf3BytesChars; + } + else { + ++utf8BytesLeft; + (value_0 & 8) == 0?++utf4BytesChars:(canBeUTF8 = false); + } + } + } + } + } + canBeISO88591 && (value_0 > 127 && value_0 < 160?(canBeISO88591 = false):value_0 > 159 && (value_0 < 192 || value_0 == 215 || value_0 == 247) && ++isoHighOther); + if (canBeShiftJIS) { + if (sjisBytesLeft > 0) { + value_0 < 64 || value_0 == 127 || value_0 > 252?(canBeShiftJIS = false):--sjisBytesLeft; + } + else if (value_0 == 128 || value_0 == 160 || value_0 > 239) { + canBeShiftJIS = false; + } + else if (value_0 > 160 && value_0 < 224) { + ++sjisKatakanaChars; + sjisCurDoubleBytesWordLength = 0; + ++sjisCurKatakanaWordLength; + sjisCurKatakanaWordLength > sjisMaxKatakanaWordLength && (sjisMaxKatakanaWordLength = sjisCurKatakanaWordLength); + } + else if (value_0 > 127) { + ++sjisBytesLeft; + sjisCurKatakanaWordLength = 0; + ++sjisCurDoubleBytesWordLength; + sjisCurDoubleBytesWordLength > sjisMaxDoubleBytesWordLength && (sjisMaxDoubleBytesWordLength = sjisCurDoubleBytesWordLength); + } + else { + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + } + } + } + canBeUTF8 && utf8BytesLeft > 0 && (canBeUTF8 = false); + canBeShiftJIS && sjisBytesLeft > 0 && (canBeShiftJIS = false); + if (canBeUTF8 && (utf8bom || utf2BytesChars + utf3BytesChars + utf4BytesChars > 0)) { + return 'UTF-8'; + } + if (canBeShiftJIS && (sjisMaxKatakanaWordLength >= 3 || sjisMaxDoubleBytesWordLength >= 3)) { + return 'Shift_JIS'; + } + if (canBeISO88591 && canBeShiftJIS) { + return sjisMaxKatakanaWordLength == 2 && sjisKatakanaChars == 2 || isoHighOther * 10 >= length_0?'Shift_JIS':'ISO-8859-1'; + } + if (canBeISO88591) { + return 'ISO-8859-1'; + } + if (canBeShiftJIS) { + return 'Shift_JIS'; + } + if (canBeUTF8) { + return 'UTF-8'; + } + return 'UTF-8'; +} + +function distance_0(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function distance_1(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function round_0(d){ + return round_int(d + (d < 0?-0.5:0.5)); +} + +function $clinit_GenericGF(){ + $clinit_GenericGF = emptyMethod; + new GenericGF(4201, 4096, 1); + new GenericGF(1033, 1024, 1); + new GenericGF(67, 64, 1); + new GenericGF(19, 16, 1); + QR_CODE_FIELD_256 = new GenericGF(285, 256, 0); + new GenericGF(301, 256, 1); +} + +function $buildMonomial(this$static, degree, coefficient){ + var coefficients; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.zero; + } + coefficients = initDim(I_classLit, $intern_14, 0, degree + 1, 7, 1); + coefficients[0] = coefficient; + return new GenericGFPoly(this$static, coefficients); +} + +function $exp(this$static, a){ + return this$static.expTable[a]; +} + +function $inverse(this$static, a){ + if (a == 0) { + throw new ArithmeticException; + } + return this$static.expTable[this$static.size_0 - this$static.logTable[a] - 1]; +} + +function $log(this$static, a){ + if (a == 0) { + throw new IllegalArgumentException; + } + return this$static.logTable[a]; +} + +function $multiply(this$static, a, b){ + if (a == 0 || b == 0) { + return 0; + } + return this$static.expTable[(this$static.logTable[a] + this$static.logTable[b]) % (this$static.size_0 - 1)]; +} + +function GenericGF(primitive, size_0, b){ + var i, i0, x_0; + this.primitive = primitive; + this.size_0 = size_0; + this.generatorBase = b; + this.expTable = initDim(I_classLit, $intern_14, 0, size_0, 7, 1); + this.logTable = initDim(I_classLit, $intern_14, 0, size_0, 7, 1); + x_0 = 1; + for (i0 = 0; i0 < size_0; i0++) { + this.expTable[i0] = x_0; + x_0 *= 2; + if (x_0 >= size_0) { + x_0 ^= primitive; + x_0 &= size_0 - 1; + } + } + for (i = 0; i < size_0 - 1; i++) { + this.logTable[this.expTable[i]] = i; + } + this.zero = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [0])); + this.one = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [1])); +} + +defineClass(38, 1, {}, GenericGF); +_.toString$ = function toString_9(){ + return 'GF(0x' + toUnsignedRadixString(this.primitive, 16) + ',' + this.size_0 + ')'; +} +; +_.generatorBase = 0; +_.primitive = 0; +_.size_0 = 0; +var QR_CODE_FIELD_256; +var Lcom_google_zxing_common_reedsolomon_GenericGF_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGF', 38); +function $addOrSubtract(this$static, other){ + var i, largerCoefficients, lengthDiff, smallerCoefficients, sumDiff, temp; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0) { + return other; + } + if (other.coefficients[0] == 0) { + return this$static; + } + smallerCoefficients = this$static.coefficients; + largerCoefficients = other.coefficients; + if (smallerCoefficients.length > largerCoefficients.length) { + temp = smallerCoefficients; + smallerCoefficients = largerCoefficients; + largerCoefficients = temp; + } + sumDiff = initDim(I_classLit, $intern_14, 0, largerCoefficients.length, 7, 1); + lengthDiff = largerCoefficients.length - smallerCoefficients.length; + arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff); + for (i = lengthDiff; i < largerCoefficients.length; i++) { + sumDiff[i] = ($clinit_GenericGF() , smallerCoefficients[i - lengthDiff] ^ largerCoefficients[i]); + } + return new GenericGFPoly(this$static.field, sumDiff); +} + +function $evaluateAt(this$static, a){ + var coefficient, coefficient$array, coefficient$index, coefficient$max, i, result, result0, size_0; + if (a == 0) { + return this$static.coefficients[this$static.coefficients.length - 1]; + } + size_0 = this$static.coefficients.length; + if (a == 1) { + result0 = 0; + for (coefficient$array = this$static.coefficients , coefficient$index = 0 , coefficient$max = coefficient$array.length; coefficient$index < coefficient$max; ++coefficient$index) { + coefficient = coefficient$array[coefficient$index]; + result0 = ($clinit_GenericGF() , result0 ^ coefficient); + } + return result0; + } + result = this$static.coefficients[0]; + for (i = 1; i < size_0; i++) { + result = ($clinit_GenericGF() , $multiply(this$static.field, a, result) ^ this$static.coefficients[i]); + } + return result; +} + +function $getCoefficient(this$static, degree){ + return this$static.coefficients[this$static.coefficients.length - 1 - degree]; +} + +function $multiply_0(this$static, scalar){ + var i, product, size_0; + if (scalar == 0) { + return this$static.field.zero; + } + if (scalar == 1) { + return this$static; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_14, 0, size_0, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], scalar); + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiply_1(this$static, other){ + var aCoeff, aCoefficients, aLength, bCoefficients, bLength, i, j, product; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0 || other.coefficients[0] == 0) { + return this$static.field.zero; + } + aCoefficients = this$static.coefficients; + aLength = aCoefficients.length; + bCoefficients = other.coefficients; + bLength = bCoefficients.length; + product = initDim(I_classLit, $intern_14, 0, aLength + bLength - 1, 7, 1); + for (i = 0; i < aLength; i++) { + aCoeff = aCoefficients[i]; + for (j = 0; j < bLength; j++) { + product[i + j] = ($clinit_GenericGF() , product[i + j] ^ $multiply(this$static.field, aCoeff, bCoefficients[j])); + } + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiplyByMonomial(this$static, degree, coefficient){ + var i, product, size_0; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.field.zero; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_14, 0, size_0 + degree, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], coefficient); + } + return new GenericGFPoly(this$static.field, product); +} + +function GenericGFPoly(field, coefficients){ + var coefficientsLength, firstNonZero; + if (coefficients.length == 0) { + throw new IllegalArgumentException; + } + this.field = field; + coefficientsLength = coefficients.length; + if (coefficientsLength > 1 && coefficients[0] == 0) { + firstNonZero = 1; + while (firstNonZero < coefficientsLength && coefficients[firstNonZero] == 0) { + ++firstNonZero; + } + if (firstNonZero == coefficientsLength) { + this.coefficients = initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [0]); + } + else { + this.coefficients = initDim(I_classLit, $intern_14, 0, coefficientsLength - firstNonZero, 7, 1); + arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length); + } + } + else { + this.coefficients = coefficients; + } +} + +defineClass(24, 1, {24:1}, GenericGFPoly); +_.toString$ = function toString_10(){ + var alphaPower, coefficient, degree, result; + result = new StringBuilder; + for (degree = this.coefficients.length - 1; degree >= 0; degree--) { + coefficient = this.coefficients[this.coefficients.length - 1 - degree]; + if (coefficient != 0) { + if (coefficient < 0) { + result.string += ' - '; + coefficient = -coefficient; + } + else { + result.string.length > 0 && (result.string += ' + ' , result); + } + if (degree == 0 || coefficient != 1) { + alphaPower = $log(this.field, coefficient); + if (alphaPower == 0) { + result.string += '1'; + } + else if (alphaPower == 1) { + result.string += 'a'; + } + else { + result.string += 'a^'; + result.string += alphaPower; + } + } + if (degree != 0) { + if (degree == 1) { + result.string += 'x'; + } + else { + result.string += 'x^'; + result.string += degree; + } + } + } + } + return result.string; +} +; +var Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGFPoly', 24); +function $decode(this$static, received, twoS){ + var errorLocations, errorMagnitudes, eval_0, i, i0, noError, omega, poly, position, sigma, sigmaOmega, syndrome, syndromeCoefficients; + poly = new GenericGFPoly(this$static.field, received); + syndromeCoefficients = initDim(I_classLit, $intern_14, 0, twoS, 7, 1); + noError = true; + for (i0 = 0; i0 < twoS; i0++) { + eval_0 = $evaluateAt(poly, $exp(this$static.field, i0 + this$static.field.generatorBase)); + syndromeCoefficients[syndromeCoefficients.length - 1 - i0] = eval_0; + eval_0 != 0 && (noError = false); + } + if (noError) { + return; + } + syndrome = new GenericGFPoly(this$static.field, syndromeCoefficients); + sigmaOmega = $runEuclideanAlgorithm(this$static, $buildMonomial(this$static.field, twoS, 1), syndrome, twoS); + sigma = sigmaOmega[0]; + omega = sigmaOmega[1]; + errorLocations = $findErrorLocations(this$static, sigma); + errorMagnitudes = $findErrorMagnitudes(this$static, omega, errorLocations); + for (i = 0; i < errorLocations.length; i++) { + position = received.length - 1 - $log(this$static.field, errorLocations[i]); + if (position < 0) { + throw new ReedSolomonException('Bad error location'); + } + received[position] = ($clinit_GenericGF() , received[position] ^ errorMagnitudes[i]); + } +} + +function $findErrorLocations(this$static, errorLocator){ + var e, i, numErrors, result; + numErrors = errorLocator.coefficients.length - 1; + if (numErrors == 1) { + return initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [errorLocator.coefficients[errorLocator.coefficients.length - 1 - 1]]); + } + result = initDim(I_classLit, $intern_14, 0, numErrors, 7, 1); + e = 0; + for (i = 1; i < this$static.field.size_0 && e < numErrors; i++) { + if ($evaluateAt(errorLocator, i) == 0) { + result[e] = $inverse(this$static.field, i); + ++e; + } + } + if (e != numErrors) { + throw new ReedSolomonException('Error locator degree does not match number of roots'); + } + return result; +} + +function $findErrorMagnitudes(this$static, errorEvaluator, errorLocations){ + var denominator, i, j, result, s, term, termPlus1, xiInverse; + s = errorLocations.length; + result = initDim(I_classLit, $intern_14, 0, s, 7, 1); + for (i = 0; i < s; i++) { + xiInverse = $inverse(this$static.field, errorLocations[i]); + denominator = 1; + for (j = 0; j < s; j++) { + if (i != j) { + term = $multiply(this$static.field, errorLocations[j], xiInverse); + termPlus1 = (term & 1) == 0?term | 1:term & -2; + denominator = $multiply(this$static.field, denominator, termPlus1); + } + } + result[i] = $multiply(this$static.field, $evaluateAt(errorEvaluator, xiInverse), $inverse(this$static.field, denominator)); + this$static.field.generatorBase != 0 && (result[i] = $multiply(this$static.field, result[i], xiInverse)); + } + return result; +} + +function $runEuclideanAlgorithm(this$static, a, b, R){ + var degreeDiff, denominatorLeadingTerm, dltInverse, inverse, omega, q, r, rLast, rLastLast, scale, sigma, sigmaTildeAtZero, t, tLast, tLastLast, temp; + if (a.coefficients.length - 1 < b.coefficients.length - 1) { + temp = a; + a = b; + b = temp; + } + rLast = a; + r = b; + tLast = this$static.field.zero; + t = this$static.field.one; + while (r.coefficients.length - 1 >= ~~(R / 2)) { + rLastLast = rLast; + tLastLast = tLast; + rLast = r; + tLast = t; + if (r.coefficients[0] == 0) { + throw new ReedSolomonException('r_{i-1} was zero'); + } + r = rLastLast; + q = this$static.field.zero; + denominatorLeadingTerm = $getCoefficient(rLast, rLast.coefficients.length - 1); + dltInverse = $inverse(this$static.field, denominatorLeadingTerm); + while (r.coefficients.length - 1 >= rLast.coefficients.length - 1 && r.coefficients[0] != 0) { + degreeDiff = r.coefficients.length - 1 - (rLast.coefficients.length - 1); + scale = $multiply(this$static.field, $getCoefficient(r, r.coefficients.length - 1), dltInverse); + q = $addOrSubtract(q, $buildMonomial(this$static.field, degreeDiff, scale)); + r = $addOrSubtract(r, $multiplyByMonomial(rLast, degreeDiff, scale)); + } + t = $addOrSubtract($multiply_1(q, t), tLastLast); + if (r.coefficients.length - 1 >= rLast.coefficients.length - 1) { + throw new IllegalStateException_0('Division algorithm failed to reduce polynomial?'); + } + } + sigmaTildeAtZero = t.coefficients[t.coefficients.length - 1]; + if (sigmaTildeAtZero == 0) { + throw new ReedSolomonException('sigmaTilde(0) was zero'); + } + inverse = $inverse(this$static.field, sigmaTildeAtZero); + sigma = $multiply_0(t, inverse); + omega = $multiply_0(r, inverse); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit, 1), $intern_2, 24, 0, [sigma, omega]); +} + +function ReedSolomonDecoder(field){ + this.field = field; +} + +defineClass(120, 1, {}, ReedSolomonDecoder); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonDecoder_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonDecoder', 120); +function ReedSolomonException(message){ + Exception_0.call(this, message); +} + +defineClass(39, 10, {39:1, 3:1, 10:1, 8:1}, ReedSolomonException); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonException_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonException', 39); +function $decode_0(this$static, image){ + var byteSegments, decoderResult, detectorResult, ecLevel, points, result; + detectorResult = $detect(new Detector((!image.matrix && (image.matrix = $getBlackMatrix_0(image.binarizer)) , image.matrix))); + decoderResult = $decode_1(this$static.decoder, detectorResult.bits); + points = detectorResult.points; + !!decoderResult.other && $applyMirroredCorrection(decoderResult.other, points); + result = new Result(decoderResult.text_0); + byteSegments = decoderResult.byteSegments; + !!byteSegments && $putMetadata(result, ($clinit_ResultMetadataType() , BYTE_SEGMENTS), byteSegments); + ecLevel = decoderResult.ecLevel; + ecLevel != null && $putMetadata(result, ($clinit_ResultMetadataType() , ERROR_CORRECTION_LEVEL), ecLevel); + if (decoderResult.structuredAppendParity >= 0 && decoderResult.structuredAppendSequenceNumber >= 0) { + $putMetadata(result, ($clinit_ResultMetadataType() , STRUCTURED_APPEND_SEQUENCE), valueOf(decoderResult.structuredAppendSequenceNumber)); + $putMetadata(result, STRUCTURED_APPEND_PARITY, valueOf(decoderResult.structuredAppendParity)); + } + return result; +} + +function QRCodeReader(){ + this.decoder = new Decoder; +} + +defineClass(116, 1, {177:1}, QRCodeReader); +var Lcom_google_zxing_qrcode_QRCodeReader_2_classLit = createForClass('com.google.zxing.qrcode', 'QRCodeReader', 116); +function $copyBit(this$static, i, j, versionBits){ + var bit; + bit = this$static.mirror?$get(this$static.bitMatrix, j, i):$get(this$static.bitMatrix, i, j); + return bit?versionBits << 1 | 1:versionBits << 1; +} + +function $mirror(this$static){ + var x_0, y_0; + for (x_0 = 0; x_0 < this$static.bitMatrix.width_0; x_0++) { + for (y_0 = x_0 + 1; y_0 < this$static.bitMatrix.height; y_0++) { + if ($get(this$static.bitMatrix, x_0, y_0) != $get(this$static.bitMatrix, y_0, x_0)) { + $flip(this$static.bitMatrix, y_0, x_0); + $flip(this$static.bitMatrix, x_0, y_0); + } + } + } +} + +function $readCodewords(this$static){ + var bitsRead, col, count, currentByte, dataMask, dimension, formatInfo, functionPattern, i, j, readingUp, result, resultOffset, version; + formatInfo = $readFormatInformation(this$static); + version = $readVersion(this$static); + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_13, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[formatInfo.dataMask]; + dimension = this$static.bitMatrix.height; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); + functionPattern = $buildFunctionPattern(version); + readingUp = true; + result = initDim(B_classLit, $intern_12, 0, version.totalCodewords, 7, 1); + resultOffset = 0; + currentByte = 0; + bitsRead = 0; + for (j = dimension - 1; j > 0; j -= 2) { + j == 6 && --j; + for (count = 0; count < dimension; count++) { + i = readingUp?dimension - 1 - count:count; + for (col = 0; col < 2; col++) { + if (!$get(functionPattern, j - col, i)) { + ++bitsRead; + currentByte <<= 1; + $get(this$static.bitMatrix, j - col, i) && (currentByte |= 1); + if (bitsRead == 8) { + result[resultOffset++] = narrow_byte(currentByte); + bitsRead = 0; + currentByte = 0; + } + } + } + } + readingUp = readingUp ^ true; + } + if (resultOffset != version.totalCodewords) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return result; +} + +function $readFormatInformation(this$static){ + var dimension, formatInfoBits1, formatInfoBits2, i, i0, j, j0, jMin; + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + formatInfoBits1 = 0; + for (i0 = 0; i0 < 6; i0++) { + formatInfoBits1 = $copyBit(this$static, i0, 8, formatInfoBits1); + } + formatInfoBits1 = $copyBit(this$static, 7, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 7, formatInfoBits1); + for (j0 = 5; j0 >= 0; j0--) { + formatInfoBits1 = $copyBit(this$static, 8, j0, formatInfoBits1); + } + dimension = this$static.bitMatrix.height; + formatInfoBits2 = 0; + jMin = dimension - 7; + for (j = dimension - 1; j >= jMin; j--) { + formatInfoBits2 = $copyBit(this$static, 8, j, formatInfoBits2); + } + for (i = dimension - 8; i < dimension; i++) { + formatInfoBits2 = $copyBit(this$static, i, 8, formatInfoBits2); + } + this$static.parsedFormatInfo = decodeFormatInformation(formatInfoBits1, formatInfoBits2); + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $readVersion(this$static){ + var dimension, i, i0, ijMin, j, j0, provisionalVersion, theParsedVersion, versionBits; + if (this$static.parsedVersion) { + return this$static.parsedVersion; + } + dimension = this$static.bitMatrix.height; + provisionalVersion = ~~((dimension - 17) / 4); + if (provisionalVersion <= 6) { + return getVersionForNumber(provisionalVersion); + } + versionBits = 0; + ijMin = dimension - 11; + for (j0 = 5; j0 >= 0; j0--) { + for (i0 = dimension - 9; i0 >= ijMin; i0--) { + versionBits = $copyBit(this$static, i0, j0, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + versionBits = 0; + for (i = 5; i >= 0; i--) { + for (j = dimension - 9; j >= ijMin; j--) { + versionBits = $copyBit(this$static, i, j, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $remask(this$static){ + var dataMask, dimension; + if (!this$static.parsedFormatInfo) { + return; + } + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_13, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[this$static.parsedFormatInfo.dataMask]; + dimension = this$static.bitMatrix.height; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); +} + +function BitMatrixParser(bitMatrix){ + var dimension; + dimension = bitMatrix.height; + if (dimension < 21 || (dimension & 3) != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + this.bitMatrix = bitMatrix; +} + +defineClass(130, 1, {}, BitMatrixParser); +_.mirror = false; +var Lcom_google_zxing_qrcode_decoder_BitMatrixParser_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'BitMatrixParser', 130); +function DataBlock(numDataCodewords, codewords){ + this.numDataCodewords = numDataCodewords; + this.codewords = codewords; +} + +function getDataBlocks(rawCodewords, version, ecLevel){ + var ecBlock, ecBlock$index, ecBlock$index0, ecBlock$max, ecBlock$max0, ecBlockArray, ecBlocks, i, i0, i1, iOffset, j, j0, j1, longerBlocksStartAt, max_0, numBlockCodewords, numCodewords, numDataCodewords, numResultBlocks, rawCodewordsOffset, result, shorterBlocksNumDataCodewords, shorterBlocksTotalCodewords, totalBlocks; + if (rawCodewords.length != version.totalCodewords) { + throw new IllegalArgumentException; + } + ecBlocks = version.ecBlocks[ecLevel.ordinal]; + totalBlocks = 0; + ecBlockArray = ecBlocks.ecBlocks; + for (ecBlock$index0 = 0 , ecBlock$max0 = ecBlockArray.length; ecBlock$index0 < ecBlock$max0; ++ecBlock$index0) { + ecBlock = ecBlockArray[ecBlock$index0]; + totalBlocks += ecBlock.count; + } + result = initDim(Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit, $intern_2, 64, totalBlocks, 0, 1); + numResultBlocks = 0; + for (ecBlock$index = 0 , ecBlock$max = ecBlockArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecBlockArray[ecBlock$index]; + for (i0 = 0; i0 < ecBlock.count; i0++) { + numDataCodewords = ecBlock.dataCodewords; + numBlockCodewords = ecBlocks.ecCodewordsPerBlock + numDataCodewords; + result[numResultBlocks++] = new DataBlock(numDataCodewords, initDim(B_classLit, $intern_12, 0, numBlockCodewords, 7, 1)); + } + } + shorterBlocksTotalCodewords = result[0].codewords.length; + longerBlocksStartAt = result.length - 1; + while (longerBlocksStartAt >= 0) { + numCodewords = result[longerBlocksStartAt].codewords.length; + if (numCodewords == shorterBlocksTotalCodewords) { + break; + } + --longerBlocksStartAt; + } + ++longerBlocksStartAt; + shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.ecCodewordsPerBlock; + rawCodewordsOffset = 0; + for (i1 = 0; i1 < shorterBlocksNumDataCodewords; i1++) { + for (j0 = 0; j0 < numResultBlocks; j0++) { + result[j0].codewords[i1] = rawCodewords[rawCodewordsOffset++]; + } + } + for (j1 = longerBlocksStartAt; j1 < numResultBlocks; j1++) { + result[j1].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++]; + } + max_0 = result[0].codewords.length; + for (i = shorterBlocksNumDataCodewords; i < max_0; i++) { + for (j = 0; j < numResultBlocks; j++) { + iOffset = j < longerBlocksStartAt?i:i + 1; + result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++]; + } + } + return result; +} + +defineClass(64, 1, {64:1}, DataBlock); +_.numDataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'DataBlock', 64); +function $clinit_DataMask(){ + $clinit_DataMask = emptyMethod; + DATA_MASK_000 = new DataMask$1; + DATA_MASK_001 = new DataMask$2; + DATA_MASK_010 = new DataMask$3; + DATA_MASK_011 = new DataMask$4; + DATA_MASK_100 = new DataMask$5; + DATA_MASK_101 = new DataMask$6; + DATA_MASK_110 = new DataMask$7; + DATA_MASK_111 = new DataMask$8; +} + +function $unmaskBitMatrix(this$static, bits, dimension){ + var i, j; + for (i = 0; i < dimension; i++) { + for (j = 0; j < dimension; j++) { + this$static.isMasked(i, j) && $flip(bits, j, i); + } + } +} + +function DataMask(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_2(){ + $clinit_DataMask(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_13, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]); +} + +defineClass(14, 13, $intern_15); +var DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111; +var Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask', 14, values_2); +function DataMask$1(){ + DataMask.call(this, 'DATA_MASK_000', 0); +} + +defineClass(139, 14, $intern_15, DataMask$1); +_.isMasked = function isMasked(i, j){ + return (i + j & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$1_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/1', 139, null); +function DataMask$2(){ + DataMask.call(this, 'DATA_MASK_001', 1); +} + +defineClass(140, 14, $intern_15, DataMask$2); +_.isMasked = function isMasked_0(i, j){ + return (i & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$2_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/2', 140, null); +function DataMask$3(){ + DataMask.call(this, 'DATA_MASK_010', 2); +} + +defineClass(141, 14, $intern_15, DataMask$3); +_.isMasked = function isMasked_1(i, j){ + return j % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$3_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/3', 141, null); +function DataMask$4(){ + DataMask.call(this, 'DATA_MASK_011', 3); +} + +defineClass(142, 14, $intern_15, DataMask$4); +_.isMasked = function isMasked_2(i, j){ + return (i + j) % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$4_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/4', 142, null); +function DataMask$5(){ + DataMask.call(this, 'DATA_MASK_100', 4); +} + +defineClass(143, 14, $intern_15, DataMask$5); +_.isMasked = function isMasked_3(i, j){ + return (~~(i / 2) + ~~(j / 3) & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$5_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/5', 143, null); +function DataMask$6(){ + DataMask.call(this, 'DATA_MASK_101', 5); +} + +defineClass(144, 14, $intern_15, DataMask$6); +_.isMasked = function isMasked_4(i, j){ + var temp; + temp = i * j; + return (temp & 1) + temp % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$6_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/6', 144, null); +function DataMask$7(){ + DataMask.call(this, 'DATA_MASK_110', 6); +} + +defineClass(145, 14, $intern_15, DataMask$7); +_.isMasked = function isMasked_5(i, j){ + var temp; + temp = i * j; + return ((temp & 1) + temp % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$7_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/7', 145, null); +function DataMask$8(){ + DataMask.call(this, 'DATA_MASK_111', 7); +} + +defineClass(146, 14, $intern_15, DataMask$8); +_.isMasked = function isMasked_6(i, j){ + return ((i + j & 1) + i * j % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$8_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/8', 146, null); +function $clinit_DecodedBitStreamParser(){ + var charArr; + $clinit_DecodedBitStreamParser = emptyMethod; + ALPHANUMERIC_CHARS = (charArr = initDim(C_classLit, $intern_12, 0, 45, 7, 1) , $getChars(charArr, 0) , charArr); +} + +function decode(bytes, version, ecLevel){ + $clinit_DecodedBitStreamParser(); + var bits, byteSegments, count, countHanzi, currentCharacterSetECI, fc1InEffect, mode, parityData, result, subset, symbolSequence, value_0; + bits = new BitSource(bytes); + result = new StringBuilder; + byteSegments = new ArrayList_0(1); + symbolSequence = -1; + parityData = -1; + try { + currentCharacterSetECI = null; + fc1InEffect = false; + do { + 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4?(mode = ($clinit_Mode() , TERMINATOR)):(mode = forBits_0($readBits(bits, 4))); + if (mode != ($clinit_Mode() , TERMINATOR)) { + if (mode == FNC1_FIRST_POSITION || mode == FNC1_SECOND_POSITION) { + fc1InEffect = true; + } + else if (mode == STRUCTURED_APPEND) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 16) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + symbolSequence = $readBits(bits, 8); + parityData = $readBits(bits, 8); + } + else if (mode == ECI) { + value_0 = parseECIValue(bits); + currentCharacterSetECI = getCharacterSetECIByValue(value_0); + if (!currentCharacterSetECI) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + else { + if (mode == HANZI) { + subset = $readBits(bits, 4); + countHanzi = $readBits(bits, $getCharacterCountBits(mode, version)); + subset == 1 && decodeHanziSegment(bits, result, countHanzi); + } + else { + count = $readBits(bits, $getCharacterCountBits(mode, version)); + if (mode == NUMERIC) { + decodeNumericSegment(bits, result, count); + } + else if (mode == ALPHANUMERIC) { + decodeAlphanumericSegment(bits, result, count, fc1InEffect); + } + else if (mode == BYTE) { + decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments); + } + else if (mode == KANJI) { + decodeKanjiSegment(bits, result, count); + } + else { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + } + } + } + while (mode != ($clinit_Mode() , TERMINATOR)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + return new DecoderResult(result.string, byteSegments.array.length == 0?null:byteSegments, !ecLevel?null:ecLevel.name_0 != null?ecLevel.name_0:'' + ecLevel.ordinal, symbolSequence, parityData); +} + +function decodeAlphanumericSegment(bits, result, count, fc1InEffect){ + var i, nextTwoCharsBits, start_0; + start_0 = result.string.length; + while (count > 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 11) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + nextTwoCharsBits = $readBits(bits, 11); + $append(result, toAlphaNumericChar(~~(nextTwoCharsBits / 45))); + $append(result, toAlphaNumericChar(nextTwoCharsBits % 45)); + count -= 2; + } + if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 6) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar($readBits(bits, 6))); + } + if (fc1InEffect) { + for (i = start_0; i < result.string.length; i++) { + $charAt(result.string, i) == 37 && (i < result.string.length - 1 && $charAt(result.string, i + 1) == 37?(result.string = __substr(result.string, 0, i + 1) + '' + $substring(result.string, i + 1 + 1) , result):(result.string = __substr(result.string, 0, i) + '\35' + $substring(result.string, i + 1))); + } + } +} + +function decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments){ + var encoding, i, readBytes; + if (8 * count > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + readBytes = initDim(B_classLit, $intern_12, 0, count, 7, 1); + for (i = 0; i < count; i++) { + readBytes[i] = narrow_byte($readBits(bits, 8)); + } + !currentCharacterSetECI?(encoding = guessEncoding(readBytes)):(encoding = currentCharacterSetECI.name_0 != null?currentCharacterSetECI.name_0:'' + currentCharacterSetECI.ordinal); + try { + $append_2(result, _String(readBytes, readBytes.length, encoding)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 45)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + setCheck(byteSegments.array, byteSegments.array.length, readBytes); +} + +function decodeHanziSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_12, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 96) << 8 | twoBytes % 96; + assembledTwoBytes < 959?(assembledTwoBytes += 41377):(assembledTwoBytes += 42657); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8 & 255); + buffer[offset + 1] = narrow_byte(assembledTwoBytes & 255); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'GB2312')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 45)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeKanjiSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_12, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 192) << 8 | twoBytes % 192; + assembledTwoBytes < 7936?(assembledTwoBytes += 33088):(assembledTwoBytes += 49472); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8); + buffer[offset + 1] = narrow_byte(assembledTwoBytes); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'Shift_JIS')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 45)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeNumericSegment(bits, result, count){ + var digitBits, threeDigitsBits, twoDigitsBits; + while (count >= 3) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + threeDigitsBits = $readBits(bits, 10); + if (threeDigitsBits >= 1000) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 100))); + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 10) % 10)); + $append(result, toAlphaNumericChar(threeDigitsBits % 10)); + count -= 3; + } + if (count == 2) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 7) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + twoDigitsBits = $readBits(bits, 7); + if (twoDigitsBits >= 100) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(twoDigitsBits / 10))); + $append(result, toAlphaNumericChar(twoDigitsBits % 10)); + } + else if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + digitBits = $readBits(bits, 4); + if (digitBits >= 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(digitBits)); + } +} + +function parseECIValue(bits){ + var firstByte, secondByte, secondThirdBytes; + firstByte = $readBits(bits, 8); + if ((firstByte & 128) == 0) { + return firstByte & 127; + } + if ((firstByte & 192) == 128) { + secondByte = $readBits(bits, 8); + return (firstByte & 63) << 8 | secondByte; + } + if ((firstByte & 224) == 192) { + secondThirdBytes = $readBits(bits, 16); + return (firstByte & 31) << 16 | secondThirdBytes; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function toAlphaNumericChar(value_0){ + if (value_0 >= ALPHANUMERIC_CHARS.length) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return ALPHANUMERIC_CHARS[value_0]; +} + +var ALPHANUMERIC_CHARS; +function $correctErrors(this$static, codewordBytes, numDataCodewords){ + var codewordsInts, i, i0, numCodewords, numECCodewords; + numCodewords = codewordBytes.length; + codewordsInts = initDim(I_classLit, $intern_14, 0, numCodewords, 7, 1); + for (i0 = 0; i0 < numCodewords; i0++) { + codewordsInts[i0] = codewordBytes[i0] & 255; + } + numECCodewords = codewordBytes.length - numDataCodewords; + try { + $decode(this$static.rsDecoder, codewordsInts, numECCodewords); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 39)) { + throw $clinit_ChecksumException() , $clinit_ChecksumException() , INSTANCE_0; + } + else + throw unwrap($e0); + } + for (i = 0; i < numDataCodewords; i++) { + codewordBytes[i] = narrow_byte(codewordsInts[i]); + } +} + +function $decode_1(this$static, bits){ + var ce, e, fe, parser, result; + parser = new BitMatrixParser(bits); + fe = null; + ce = null; + try { + return $decode_2(this$static, parser); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 53)) { + e = $e0; + fe = e; + } + else if (instanceOf($e0, 52)) { + e = $e0; + ce = e; + } + else + throw unwrap($e0); + } + try { + $remask(parser); + parser.parsedVersion = null; + parser.parsedFormatInfo = null; + parser.mirror = true; + $readVersion(parser); + $readFormatInformation(parser); + $mirror(parser); + result = $decode_2(this$static, parser); + $setOther(result, new QRCodeDecoderMetaData); + return result; + } + catch ($e1) { + $e1 = wrap($e1); + if (instanceOf($e1, 53) || instanceOf($e1, 52)) { + e = $e1; + if (fe) { + throw fe; + } + if (ce) { + throw ce; + } + throw e; + } + else + throw unwrap($e1); + } +} + +function $decode_2(this$static, parser){ + var codewordBytes, codewords, dataBlock, dataBlock$index, dataBlock$index0, dataBlock$max, dataBlock$max0, dataBlocks, ecLevel, i, numDataCodewords, resultBytes, resultOffset, totalBytes, version; + version = $readVersion(parser); + ecLevel = $readFormatInformation(parser).errorCorrectionLevel; + codewords = $readCodewords(parser); + dataBlocks = getDataBlocks(codewords, version, ecLevel); + totalBytes = 0; + for (dataBlock$index0 = 0 , dataBlock$max0 = dataBlocks.length; dataBlock$index0 < dataBlock$max0; ++dataBlock$index0) { + dataBlock = dataBlocks[dataBlock$index0]; + totalBytes += dataBlock.numDataCodewords; + } + resultBytes = initDim(B_classLit, $intern_12, 0, totalBytes, 7, 1); + resultOffset = 0; + for (dataBlock$index = 0 , dataBlock$max = dataBlocks.length; dataBlock$index < dataBlock$max; ++dataBlock$index) { + dataBlock = dataBlocks[dataBlock$index]; + codewordBytes = dataBlock.codewords; + numDataCodewords = dataBlock.numDataCodewords; + $correctErrors(this$static, codewordBytes, numDataCodewords); + for (i = 0; i < numDataCodewords; i++) { + resultBytes[resultOffset++] = codewordBytes[i]; + } + } + return decode(resultBytes, version, ecLevel); +} + +function Decoder(){ + this.rsDecoder = new ReedSolomonDecoder(($clinit_GenericGF() , QR_CODE_FIELD_256)); +} + +defineClass(119, 1, {}, Decoder); +var Lcom_google_zxing_qrcode_decoder_Decoder_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Decoder', 119); +function $clinit_ErrorCorrectionLevel(){ + $clinit_ErrorCorrectionLevel = emptyMethod; + L = new ErrorCorrectionLevel('L', 0); + M = new ErrorCorrectionLevel('M', 1); + Q = new ErrorCorrectionLevel('Q', 2); + H = new ErrorCorrectionLevel('H', 3); + FOR_BITS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_13, 33, 0, [M, L, H, Q]); +} + +function ErrorCorrectionLevel(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function forBits(bits){ + $clinit_ErrorCorrectionLevel(); + if (bits < 0 || bits >= FOR_BITS.length) { + throw new IllegalArgumentException; + } + return FOR_BITS[bits]; +} + +function values_3(){ + $clinit_ErrorCorrectionLevel(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_13, 33, 0, [L, M, Q, H]); +} + +defineClass(33, 13, {33:1, 3:1, 19:1, 13:1}, ErrorCorrectionLevel); +var FOR_BITS, H, L, M, Q; +var Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'ErrorCorrectionLevel', 33, values_3); +function $clinit_FormatInformation(){ + $clinit_FormatInformation = emptyMethod; + FORMAT_INFO_DECODE_LOOKUP = initValues(getClassLiteralForArray(I_classLit, 2), $intern_2, 7, 0, [initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [21522, 0]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [20773, 1]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [24188, 2]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [23371, 3]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [17913, 4]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [16590, 5]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [20375, 6]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [19104, 7]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [30660, 8]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [29427, 9]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [32170, 10]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [30877, 11]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [26159, 12]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [25368, 13]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [27713, 14]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [26998, 15]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [5769, 16]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [5054, 17]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [7399, 18]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6608, 19]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [1890, 20]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [597, 21]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [3340, 22]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [2107, 23]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [13663, 24]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [12392, 25]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [16177, 26]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [14854, 27]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [9396, 28]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [8579, 29]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [11994, 30]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [11245, 31])]); +} + +function FormatInformation(formatInfo){ + this.errorCorrectionLevel = forBits(formatInfo >> 3 & 3); + this.dataMask = narrow_byte(formatInfo & 7); +} + +function decodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + $clinit_FormatInformation(); + var formatInfo; + formatInfo = doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2); + if (formatInfo) { + return formatInfo; + } + return doDecodeFormatInformation(maskedFormatInfo1 ^ 21522, maskedFormatInfo2 ^ 21522); +} + +function doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + var bestDifference, bestFormatInfo, bitsDifference, decodeInfo, decodeInfo$array, decodeInfo$index, decodeInfo$max, targetInfo; + bestDifference = $intern_0; + bestFormatInfo = 0; + for (decodeInfo$array = FORMAT_INFO_DECODE_LOOKUP , decodeInfo$index = 0 , decodeInfo$max = decodeInfo$array.length; decodeInfo$index < decodeInfo$max; ++decodeInfo$index) { + decodeInfo = decodeInfo$array[decodeInfo$index]; + targetInfo = decodeInfo[0]; + if (targetInfo == maskedFormatInfo1 || targetInfo == maskedFormatInfo2) { + return new FormatInformation(decodeInfo[1]); + } + bitsDifference = bitCount(maskedFormatInfo1 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + if (maskedFormatInfo1 != maskedFormatInfo2) { + bitsDifference = bitCount(maskedFormatInfo2 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + } + } + if (bestDifference <= 3) { + return new FormatInformation(bestFormatInfo); + } + return null; +} + +defineClass(43, 1, {43:1}, FormatInformation); +_.equals$ = function equals_3(o){ + var other; + if (!instanceOf(o, 43)) { + return false; + } + other = dynamicCast(o, 43); + return this.errorCorrectionLevel == other.errorCorrectionLevel && this.dataMask == other.dataMask; +} +; +_.hashCode$ = function hashCode_4(){ + return this.errorCorrectionLevel.ordinal << 3 | this.dataMask; +} +; +_.dataMask = 0; +var FORMAT_INFO_DECODE_LOOKUP; +var Lcom_google_zxing_qrcode_decoder_FormatInformation_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'FormatInformation', 43); +function $clinit_Mode(){ + $clinit_Mode = emptyMethod; + TERMINATOR = new Mode('TERMINATOR', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [0, 0, 0])); + NUMERIC = new Mode('NUMERIC', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [10, 12, 14])); + ALPHANUMERIC = new Mode('ALPHANUMERIC', 2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [9, 11, 13])); + STRUCTURED_APPEND = new Mode('STRUCTURED_APPEND', 3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [0, 0, 0])); + BYTE = new Mode('BYTE', 4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [8, 16, 16])); + ECI = new Mode('ECI', 5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [0, 0, 0])); + KANJI = new Mode('KANJI', 6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [8, 10, 12])); + FNC1_FIRST_POSITION = new Mode('FNC1_FIRST_POSITION', 7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [0, 0, 0])); + FNC1_SECOND_POSITION = new Mode('FNC1_SECOND_POSITION', 8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [0, 0, 0])); + HANZI = new Mode('HANZI', 9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [8, 10, 12])); +} + +function $getCharacterCountBits(this$static, version){ + var number, offset; + number = version.versionNumber; + number <= 9?(offset = 0):number <= 26?(offset = 1):(offset = 2); + return this$static.characterCountBitsForVersions[offset]; +} + +function Mode(enum$name, enum$ordinal, characterCountBitsForVersions){ + Enum.call(this, enum$name, enum$ordinal); + this.characterCountBitsForVersions = characterCountBitsForVersions; +} + +function forBits_0(bits){ + $clinit_Mode(); + switch (bits) { + case 0: + return TERMINATOR; + case 1: + return NUMERIC; + case 2: + return ALPHANUMERIC; + case 3: + return STRUCTURED_APPEND; + case 4: + return BYTE; + case 5: + return FNC1_FIRST_POSITION; + case 7: + return ECI; + case 8: + return KANJI; + case 9: + return FNC1_SECOND_POSITION; + case 13: + return HANZI; + default:throw new IllegalArgumentException; + } +} + +function values_4(){ + $clinit_Mode(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Mode_2_classLit, 1), $intern_13, 22, 0, [TERMINATOR, NUMERIC, ALPHANUMERIC, STRUCTURED_APPEND, BYTE, ECI, KANJI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI]); +} + +defineClass(22, 13, {22:1, 3:1, 19:1, 13:1}, Mode); +var ALPHANUMERIC, BYTE, ECI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI, KANJI, NUMERIC, STRUCTURED_APPEND, TERMINATOR; +var Lcom_google_zxing_qrcode_decoder_Mode_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'Mode', 22, values_4); +function $applyMirroredCorrection(this$static, points){ + var bottomLeft; + if (!this$static.mirrored || points == null || points.length < 3) { + return; + } + bottomLeft = points[0]; + setCheck(points, 0, points[2]); + setCheck(points, 2, bottomLeft); +} + +function QRCodeDecoderMetaData(){ + this.mirrored = true; +} + +defineClass(129, 1, {}, QRCodeDecoderMetaData); +_.mirrored = false; +var Lcom_google_zxing_qrcode_decoder_QRCodeDecoderMetaData_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'QRCodeDecoderMetaData', 129); +function $clinit_Version(){ + $clinit_Version = emptyMethod; + VERSION_DECODE_INFO = initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 68472, 70749, 76311, 79154, 84390, 87683, 92361, 96236, 102084, 102881, 110507, 110734, 117786, 119615, 126325, 127568, 133589, 136944, 141498, 145311, 150283, 152622, 158308, 161089, 167017]); + VERSIONS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version_2_classLit, 1), $intern_2, 9, 0, [new Version(1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, []), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(7, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 19)])), new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)])), new Version$ECBlocks(13, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 13)])), new Version$ECBlocks(17, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 9)]))])), new Version(2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 18]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 34)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 28)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)]))])), new Version(3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 22]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(15, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 55)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 44)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 17)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 13)]))])), new Version(4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 80)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 32)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 24)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 9)]))])), new Version(5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 108)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 43)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(2, 16)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 11), new Version$ECB(2, 12)]))])), new Version(6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 34]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 27)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 19)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 15)]))])), new Version(7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 22, 38]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 78)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 31)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(4, 15)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 13), new Version$ECB(1, 14)]))])), new Version(8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 24, 42]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 97)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 38), new Version$ECB(2, 39)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 18), new Version$ECB(2, 19)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 14), new Version$ECB(2, 15)]))])), new Version(9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26, 46]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 116)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 16), new Version$ECB(4, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 12), new Version$ECB(4, 13)]))])), new Version(10, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 28, 50]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68), new Version$ECB(2, 69)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 43), new Version$ECB(1, 44)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 15), new Version$ECB(2, 16)]))])), new Version(11, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 54]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 81)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 50), new Version$ECB(4, 51)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 22), new Version$ECB(4, 23)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 12), new Version$ECB(8, 13)]))])), new Version(12, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 32, 58]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 92), new Version$ECB(2, 93)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 20), new Version$ECB(6, 21)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 14), new Version$ECB(4, 15)]))])), new Version(13, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 34, 62]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 107)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 37), new Version$ECB(1, 38)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 20), new Version$ECB(4, 21)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 11), new Version$ECB(4, 12)]))])), new Version(14, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26, 46, 66]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 40), new Version$ECB(5, 41)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 16), new Version$ECB(5, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(5, 13)]))])), new Version(15, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26, 48, 70]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 87), new Version$ECB(1, 88)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 41), new Version$ECB(5, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(7, 13)]))])), new Version(16, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26, 50, 74]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 98), new Version$ECB(1, 99)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 15), new Version$ECB(13, 16)]))])), new Version(17, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 54, 78]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(1, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22), new Version$ECB(15, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(17, 15)]))])), new Version(18, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 56, 82]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 120), new Version$ECB(1, 121)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 43), new Version$ECB(4, 44)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(1, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(19, 15)]))])), new Version(19, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 58, 86]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 113), new Version$ECB(4, 114)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 44), new Version$ECB(11, 45)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 21), new Version$ECB(4, 22)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 13), new Version$ECB(16, 14)]))])), new Version(20, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 34, 62, 90]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 41), new Version$ECB(13, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(5, 25)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 15), new Version$ECB(10, 16)]))])), new Version(21, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 28, 50, 72, 94]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 116), new Version$ECB(4, 117)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 42)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 16), new Version$ECB(6, 17)]))])), new Version(22, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26, 50, 74, 98]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 111), new Version$ECB(7, 112)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 13)]))])), new Version(23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 54, 78, 102]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 121), new Version$ECB(5, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 47), new Version$ECB(14, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(16, 15), new Version$ECB(14, 16)]))])), new Version(24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 28, 54, 80, 106]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 45), new Version$ECB(14, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(30, 16), new Version$ECB(2, 17)]))])), new Version(25, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 32, 58, 84, 110]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 106), new Version$ECB(4, 107)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 47), new Version$ECB(13, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(13, 16)]))])), new Version(26, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 58, 86, 114]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 114), new Version$ECB(2, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 46), new Version$ECB(4, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(28, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(33, 16), new Version$ECB(4, 17)]))])), new Version(27, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 34, 62, 90, 118]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 23), new Version$ECB(26, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 15), new Version$ECB(28, 16)]))])), new Version(28, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26, 50, 74, 98, 122]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 117), new Version$ECB(10, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 45), new Version$ECB(23, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 24), new Version$ECB(31, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(31, 16)]))])), new Version(29, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 54, 78, 102, 126]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 116), new Version$ECB(7, 117)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(21, 45), new Version$ECB(7, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 23), new Version$ECB(37, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(26, 16)]))])), new Version(30, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26, 52, 78, 104, 130]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 115), new Version$ECB(10, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 47), new Version$ECB(10, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(25, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(25, 16)]))])), new Version(31, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 56, 82, 108, 134]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(3, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 46), new Version$ECB(29, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 24), new Version$ECB(1, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(28, 16)]))])), new Version(32, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 34, 60, 86, 112, 138]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 24), new Version$ECB(35, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(35, 16)]))])), new Version(33, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 58, 86, 114, 142]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(21, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 24), new Version$ECB(19, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(46, 16)]))])), new Version(34, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 34, 62, 90, 118, 146]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(6, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(44, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(59, 16), new Version$ECB(1, 17)]))])), new Version(35, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 54, 78, 102, 126, 150]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 121), new Version$ECB(7, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 47), new Version$ECB(26, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(39, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(41, 16)]))])), new Version(36, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 24, 50, 76, 102, 128, 154]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 121), new Version$ECB(14, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 47), new Version$ECB(34, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(46, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(64, 16)]))])), new Version(37, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 28, 54, 80, 106, 132, 158]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 46), new Version$ECB(14, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(49, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(24, 15), new Version$ECB(46, 16)]))])), new Version(38, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 32, 58, 84, 110, 136, 162]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 122), new Version$ECB(18, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 46), new Version$ECB(32, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(48, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 15), new Version$ECB(32, 16)]))])), new Version(39, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 26, 54, 82, 110, 138, 166]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(40, 47), new Version$ECB(7, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(43, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 15), new Version$ECB(67, 16)]))])), new Version(40, initValues(getClassLiteralForArray(I_classLit, 1), $intern_14, 0, 7, [6, 30, 58, 86, 114, 142, 170]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 118), new Version$ECB(6, 119)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(18, 47), new Version$ECB(31, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 24), new Version$ECB(34, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 15), new Version$ECB(61, 16)]))]))]); +} + +function $buildFunctionPattern(this$static){ + var bitMatrix, dimension, i, max_0, x_0, y_0; + dimension = 17 + 4 * this$static.versionNumber; + bitMatrix = new BitMatrix(dimension); + $setRegion(bitMatrix, 0, 0, 9, 9); + $setRegion(bitMatrix, dimension - 8, 0, 8, 9); + $setRegion(bitMatrix, 0, dimension - 8, 9, 8); + max_0 = this$static.alignmentPatternCenters.length; + for (x_0 = 0; x_0 < max_0; x_0++) { + i = this$static.alignmentPatternCenters[x_0] - 2; + for (y_0 = 0; y_0 < max_0; y_0++) { + if (x_0 == 0 && (y_0 == 0 || y_0 == max_0 - 1) || x_0 == max_0 - 1 && y_0 == 0) { + continue; + } + $setRegion(bitMatrix, this$static.alignmentPatternCenters[y_0] - 2, i, 5, 5); + } + } + $setRegion(bitMatrix, 6, 9, 1, dimension - 17); + $setRegion(bitMatrix, 9, 6, dimension - 17, 1); + if (this$static.versionNumber > 6) { + $setRegion(bitMatrix, dimension - 11, 0, 3, 6); + $setRegion(bitMatrix, 0, dimension - 11, 6, 3); + } + return bitMatrix; +} + +function Version(versionNumber, alignmentPatternCenters, ecBlocks){ + var ecBlock, ecBlock$index, ecBlock$max, ecCodewords, ecbArray, total; + this.versionNumber = versionNumber; + this.alignmentPatternCenters = alignmentPatternCenters; + this.ecBlocks = ecBlocks; + total = 0; + ecCodewords = ecBlocks[0].ecCodewordsPerBlock; + ecbArray = ecBlocks[0].ecBlocks; + for (ecBlock$index = 0 , ecBlock$max = ecbArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecbArray[ecBlock$index]; + total += ecBlock.count * (ecBlock.dataCodewords + ecCodewords); + } + this.totalCodewords = total; +} + +function decodeVersionInformation(versionBits){ + $clinit_Version(); + var bestDifference, bestVersion, bitsDifference, i, targetVersion; + bestDifference = $intern_0; + bestVersion = 0; + for (i = 0; i < VERSION_DECODE_INFO.length; i++) { + targetVersion = VERSION_DECODE_INFO[i]; + if (targetVersion == versionBits) { + return getVersionForNumber(i + 7); + } + bitsDifference = ($clinit_FormatInformation() , bitCount(versionBits ^ targetVersion)); + if (bitsDifference < bestDifference) { + bestVersion = i + 7; + bestDifference = bitsDifference; + } + } + if (bestDifference <= 3) { + return getVersionForNumber(bestVersion); + } + return null; +} + +function getProvisionalVersionForDimension(dimension){ + $clinit_Version(); + if (dimension % 4 != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + try { + return getVersionForNumber(~~((dimension - 17) / 4)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function getVersionForNumber(versionNumber){ + $clinit_Version(); + if (versionNumber < 1 || versionNumber > 40) { + throw new IllegalArgumentException; + } + return VERSIONS[versionNumber - 1]; +} + +defineClass(9, 1, {9:1}, Version); +_.toString$ = function toString_11(){ + return '' + this.versionNumber; +} +; +_.totalCodewords = 0; +_.versionNumber = 0; +var VERSIONS, VERSION_DECODE_INFO; +var Lcom_google_zxing_qrcode_decoder_Version_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version', 9); +function Version$ECB(count, dataCodewords){ + this.count = count; + this.dataCodewords = dataCodewords; +} + +defineClass(4, 1, {4:1}, Version$ECB); +_.count = 0; +_.dataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECB', 4); +function Version$ECBlocks(ecCodewordsPerBlock, ecBlocks){ + this.ecCodewordsPerBlock = ecCodewordsPerBlock; + this.ecBlocks = ecBlocks; +} + +defineClass(6, 1, {6:1}, Version$ECBlocks); +_.ecCodewordsPerBlock = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECBlocks', 6); +function $aboutEquals(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function AlignmentPattern(posX, posY, estimatedModuleSize){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; +} + +defineClass(44, 27, {27:1, 44:1}, AlignmentPattern); +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPattern', 44); +function $crossCheckVertical(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height; + stateCount = this$static.crossCheckStateCount; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + i = startI; + while (i >= 0 && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (i == maxI || stateCount[1] > maxCount) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[2] <= maxCount) { + ++stateCount[2]; + ++i; + } + if (stateCount[2] > maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return $foundPatternCross(this$static, stateCount)?i - stateCount[2] - stateCount[1] / 2:NaN; +} + +function $find(this$static){ + var confirmed, currentState, height, i, iGen, j, maxJ, middleI, startX, stateCount; + startX = this$static.startX; + height = this$static.height; + maxJ = startX + this$static.width_0; + middleI = this$static.startY + ~~(height / 2); + stateCount = initDim(I_classLit, $intern_14, 0, 3, 7, 1); + for (iGen = 0; iGen < height; iGen++) { + i = middleI + ((iGen & 1) == 0?~~((iGen + 1) / 2):-~~((iGen + 1) / 2)); + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + j = startX; + while (j < maxJ && !$get(this$static.image, j, i)) { + ++j; + } + currentState = 0; + while (j < maxJ) { + if ($get(this$static.image, j, i)) { + if (currentState == 1) { + ++stateCount[1]; + } + else { + if (currentState == 2) { + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, j); + if (confirmed) { + return confirmed; + } + } + stateCount[0] = stateCount[2]; + stateCount[1] = 1; + stateCount[2] = 0; + currentState = 1; + } + else { + ++stateCount[++currentState]; + } + } + } + else { + currentState == 1 && ++currentState; + ++stateCount[currentState]; + } + ++j; + } + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, maxJ); + if (confirmed) { + return confirmed; + } + } + } + if (this$static.possibleCenters.array.length != 0) { + return dynamicCast($get_1(this$static.possibleCenters, 0), 44); + } + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; +} + +function $foundPatternCross(this$static, stateCount){ + var i, maxVariance, moduleSize; + moduleSize = this$static.moduleSize; + maxVariance = moduleSize / 2; + for (i = 0; i < 3; i++) { + if (abs_0(moduleSize - stateCount[i]) >= maxVariance) { + return false; + } + } + return true; +} + +function $handlePossibleCenter(this$static, stateCount, i, j){ + var center, center$iterator, centerI, centerJ, estimatedModuleSize, point, stateCountTotal, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + centerJ = j - stateCount[2] - stateCount[1] / 2; + centerI = $crossCheckVertical(this$static, i, round_int(centerJ), 2 * stateCount[1], stateCountTotal); + if (!isNaN(centerI)) { + estimatedModuleSize = (stateCount[0] + stateCount[1] + stateCount[2]) / 3; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 44)); + if ($aboutEquals(center, estimatedModuleSize, centerI, centerJ)) { + return combinedX = (center.x_0 + centerJ) / 2 , combinedY = (center.y_0 + centerI) / 2 , combinedModuleSize = (center.estimatedModuleSize + estimatedModuleSize) / 2 , new AlignmentPattern(combinedX, combinedY, combinedModuleSize); + } + } + point = new AlignmentPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return null; +} + +function AlignmentPatternFinder(image, startX, startY, width_0, height, moduleSize){ + this.image = image; + this.possibleCenters = new ArrayList_0(5); + this.startX = startX; + this.startY = startY; + this.width_0 = width_0; + this.height = height; + this.moduleSize = moduleSize; + this.crossCheckStateCount = initDim(I_classLit, $intern_14, 0, 3, 7, 1); +} + +defineClass(148, 1, {}, AlignmentPatternFinder); +_.height = 0; +_.moduleSize = 0; +_.startX = 0; +_.startY = 0; +_.width_0 = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPatternFinder', 148); +function $calculateModuleSizeOneWay(this$static, pattern, otherPattern){ + var moduleSizeEst1, moduleSizeEst2; + moduleSizeEst1 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(pattern.x_0), round_int(pattern.y_0), round_int(otherPattern.x_0), round_int(otherPattern.y_0)); + moduleSizeEst2 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(otherPattern.x_0), round_int(otherPattern.y_0), round_int(pattern.x_0), round_int(pattern.y_0)); + if (isNaN(moduleSizeEst1)) { + return moduleSizeEst2 / 7; + } + if (isNaN(moduleSizeEst2)) { + return moduleSizeEst1 / 7; + } + return (moduleSizeEst1 + moduleSizeEst2) / 14; +} + +function $detect(this$static){ + var finder, info; + finder = new FinderPatternFinder(this$static.image); + info = $find_0(finder); + return $processFinderPatternInfo(this$static, info); +} + +function $findAlignmentInRegion(this$static, overallEstModuleSize, estAlignmentX, estAlignmentY, allowanceFactor){ + var alignmentAreaBottomY, alignmentAreaLeftX, alignmentAreaRightX, alignmentAreaTopY, alignmentFinder, allowance; + allowance = round_int(allowanceFactor * overallEstModuleSize); + alignmentAreaLeftX = 0 > estAlignmentX - allowance?0:estAlignmentX - allowance; + alignmentAreaRightX = min_1(this$static.image.width_0 - 1, estAlignmentX + allowance); + if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentAreaTopY = 0 > estAlignmentY - allowance?0:estAlignmentY - allowance; + alignmentAreaBottomY = min_1(this$static.image.height - 1, estAlignmentY + allowance); + if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentFinder = new AlignmentPatternFinder(this$static.image, alignmentAreaLeftX, alignmentAreaTopY, alignmentAreaRightX - alignmentAreaLeftX, alignmentAreaBottomY - alignmentAreaTopY, overallEstModuleSize); + return $find(alignmentFinder); +} + +function $processFinderPatternInfo(this$static, info){ + var alignmentPattern, bits, bottomLeft, bottomRightX, bottomRightY, correctionToTopLeft, dimension, estAlignmentX, estAlignmentY, i, moduleSize, modulesBetweenFPCenters, points, provisionalVersion, topLeft, topRight, transform; + topLeft = info.topLeft; + topRight = info.topRight; + bottomLeft = info.bottomLeft; + moduleSize = ($calculateModuleSizeOneWay(this$static, topLeft, topRight) + $calculateModuleSizeOneWay(this$static, topLeft, bottomLeft)) / 2; + if (moduleSize < 1) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + dimension = computeDimension(topLeft, topRight, bottomLeft, moduleSize); + provisionalVersion = getProvisionalVersionForDimension(dimension); + modulesBetweenFPCenters = 17 + 4 * provisionalVersion.versionNumber - 7; + alignmentPattern = null; + if (provisionalVersion.alignmentPatternCenters.length > 0) { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + correctionToTopLeft = 1 - 3 / modulesBetweenFPCenters; + estAlignmentX = round_int(topLeft.x_0 + correctionToTopLeft * (bottomRightX - topLeft.x_0)); + estAlignmentY = round_int(topLeft.y_0 + correctionToTopLeft * (bottomRightY - topLeft.y_0)); + for (i = 4; i <= 16; i <<= 1) { + try { + alignmentPattern = $findAlignmentInRegion(this$static, moduleSize, estAlignmentX, estAlignmentY, i); + break; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 51)) + throw unwrap($e0); + } + } + } + transform = createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension); + bits = sampleGrid(this$static.image, transform, dimension); + !alignmentPattern?(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 27, 0, [bottomLeft, topLeft, topRight])):(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 27, 0, [bottomLeft, topLeft, topRight, alignmentPattern])); + return new DetectorResult(bits, points); +} + +function $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY){ + var dx, dy, error, realX, realY, state, steep, temp, x_0, xLimit, xstep, y_0, ystep; + steep = (toY - fromY < 0?-(toY - fromY):toY - fromY) > (toX - fromX < 0?-(toX - fromX):toX - fromX); + if (steep) { + temp = fromX; + fromX = fromY; + fromY = temp; + temp = toX; + toX = toY; + toY = temp; + } + dx = toX - fromX < 0?-(toX - fromX):toX - fromX; + dy = toY - fromY < 0?-(toY - fromY):toY - fromY; + error = ~~(-dx / 2); + xstep = fromX < toX?1:-1; + ystep = fromY < toY?1:-1; + state = 0; + xLimit = toX + xstep; + for (x_0 = fromX , y_0 = fromY; x_0 != xLimit; x_0 += xstep) { + realX = steep?y_0:x_0; + realY = steep?x_0:y_0; + if (state == 1 == $get(this$static.image, realX, realY)) { + if (state == 2) { + return distance_1(x_0, y_0, fromX, fromY); + } + ++state; + } + error += dy; + if (error > 0) { + if (y_0 == toY) { + break; + } + y_0 += ystep; + error -= dx; + } + } + if (state == 2) { + return distance_1(toX + xstep, toY, fromX, fromY); + } + return NaN; +} + +function $sizeOfBlackWhiteBlackRunBothWays(this$static, fromX, fromY, toX, toY){ + var otherToX, otherToY, result, scale; + result = $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY); + scale = 1; + otherToX = fromX - (toX - fromX); + if (otherToX < 0) { + scale = fromX / (fromX - otherToX); + otherToX = 0; + } + else if (otherToX >= this$static.image.width_0) { + scale = (this$static.image.width_0 - 1 - fromX) / (otherToX - fromX); + otherToX = this$static.image.width_0 - 1; + } + otherToY = round_int(fromY - (toY - fromY) * scale); + scale = 1; + if (otherToY < 0) { + scale = fromY / (fromY - otherToY); + otherToY = 0; + } + else if (otherToY >= this$static.image.height) { + scale = (this$static.image.height - 1 - fromY) / (otherToY - fromY); + otherToY = this$static.image.height - 1; + } + otherToX = round_int(fromX + (otherToX - fromX) * scale); + result += $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, otherToX, otherToY); + return result - 1; +} + +function Detector(image){ + this.image = image; +} + +function computeDimension(topLeft, topRight, bottomLeft, moduleSize){ + var dimension, tlblCentersDimension, tltrCentersDimension; + tltrCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0) / moduleSize); + tlblCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, bottomLeft.x_0, bottomLeft.y_0) / moduleSize); + dimension = ~~((tltrCentersDimension + tlblCentersDimension) / 2) + 7; + switch (dimension & 3) { + case 0: + ++dimension; + break; + case 2: + --dimension; + break; + case 3: + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + return dimension; +} + +function createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension){ + var bottomRightX, bottomRightY, dimMinusThree, sourceBottomRightX, sourceBottomRightY; + dimMinusThree = dimension - 3.5; + if (alignmentPattern) { + bottomRightX = alignmentPattern.x_0; + bottomRightY = alignmentPattern.y_0; + sourceBottomRightX = dimMinusThree - 3; + sourceBottomRightY = sourceBottomRightX; + } + else { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + sourceBottomRightX = dimMinusThree; + sourceBottomRightY = dimMinusThree; + } + return quadrilateralToQuadrilateral(dimMinusThree, sourceBottomRightX, sourceBottomRightY, dimMinusThree, topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0, bottomRightX, bottomRightY, bottomLeft.x_0, bottomLeft.y_0); +} + +function sampleGrid(image, transform, dimension){ + return $sampleGrid(image, dimension, dimension, transform); +} + +defineClass(128, 1, {}, Detector); +var Lcom_google_zxing_qrcode_detector_Detector_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'Detector', 128); +function $aboutEquals_0(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function FinderPattern(posX, posY, estimatedModuleSize){ + FinderPattern_0.call(this, posX, posY, estimatedModuleSize, 1); +} + +function FinderPattern_0(posX, posY, estimatedModuleSize, count){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; + this.count = count; +} + +defineClass(16, 27, {27:1, 16:1}, FinderPattern, FinderPattern_0); +_.count = 0; +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPattern', 16); +function $crossCheckDiagonal(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, maxI, maxJ, stateCount, stateCountTotal; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = 0; + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i)) { + ++stateCount[2]; + ++i; + } + if (startI < i || centerJ < i) { + return false; + } + while (startI >= i && centerJ >= i && !$get(this$static.image, centerJ - i, startI - i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (startI < i || centerJ < i || stateCount[1] > maxCount) { + return false; + } + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + ++i; + } + if (stateCount[0] > maxCount) { + return false; + } + maxI = this$static.image.height; + maxJ = this$static.image.width_0; + i = 1; + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i)) { + ++stateCount[2]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && !$get(this$static.image, centerJ + i, startI + i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ || stateCount[3] >= maxCount) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return false; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + return (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) < 2 * originalStateCountTotal && foundPatternCross(stateCount); +} + +function $crossCheckHorizontal(this$static, startJ, centerI, maxCount, originalStateCountTotal){ + var image, j, maxJ, stateCount, stateCountTotal; + image = this$static.image; + maxJ = image.width_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + j = startJ; + while (j >= 0 && $get(image, j, centerI)) { + ++stateCount[2]; + --j; + } + if (j < 0) { + return NaN; + } + while (j >= 0 && !$get(image, j, centerI) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --j; + } + if (j < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (j >= 0 && $get(image, j, centerI) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --j; + } + if (stateCount[0] > maxCount) { + return NaN; + } + j = startJ + 1; + while (j < maxJ && $get(image, j, centerI)) { + ++stateCount[2]; + ++j; + } + if (j == maxJ) { + return NaN; + } + while (j < maxJ && !$get(image, j, centerI) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++j; + } + if (j == maxJ || stateCount[3] >= maxCount) { + return NaN; + } + while (j < maxJ && $get(image, j, centerI) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++j; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?j - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $crossCheckVertical_0(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = startI; + while (i >= 0 && $get(image, centerJ, i)) { + ++stateCount[2]; + --i; + } + if (i < 0) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && $get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i)) { + ++stateCount[2]; + ++i; + } + if (i == maxI) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (i == maxI || stateCount[3] >= maxCount) { + return NaN; + } + while (i < maxI && $get(image, centerJ, i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?i - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $find_0(this$static){ + var confirmed, currentState, done, i, iSkip, j, maxI, maxJ, patternInfo, rowSkip, stateCount; + maxI = this$static.image.height; + maxJ = this$static.image.width_0; + iSkip = ~~(3 * maxI / 228); + iSkip < 3 && (iSkip = 3); + done = false; + stateCount = initDim(I_classLit, $intern_14, 0, 5, 7, 1); + for (i = iSkip - 1; i < maxI && !done; i += iSkip) { + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + currentState = 0; + for (j = 0; j < maxJ; j++) { + if ($get(this$static.image, j, i)) { + (currentState & 1) == 1 && ++currentState; + ++stateCount[currentState]; + } + else { + if ((currentState & 1) == 0) { + if (currentState == 4) { + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, j, false); + if (confirmed) { + iSkip = 2; + if (this$static.hasSkipped) { + done = $haveMultiplyConfirmedCenters(this$static); + } + else { + rowSkip = $findRowSkip(this$static); + if (rowSkip > stateCount[2]) { + i += rowSkip - stateCount[2] - 2; + j = maxJ - 1; + } + } + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + continue; + } + currentState = 0; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + } + } + else { + ++stateCount[++currentState]; + } + } + else { + ++stateCount[currentState]; + } + } + } + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, maxJ, false); + if (confirmed) { + iSkip = stateCount[0]; + this$static.hasSkipped && (done = $haveMultiplyConfirmedCenters(this$static)); + } + } + } + patternInfo = $selectBestPatterns(this$static); + orderBestPatterns(patternInfo); + return new FinderPatternInfo(patternInfo); +} + +function $findRowSkip(this$static){ + var center, center$iterator, firstConfirmedCenter, max_0; + max_0 = this$static.possibleCenters.array.length; + if (max_0 <= 1) { + return 0; + } + firstConfirmedCenter = null; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + if (center.count >= 2) { + if (!firstConfirmedCenter) { + firstConfirmedCenter = center; + } + else { + this$static.hasSkipped = true; + return ~~(round_int(abs_0(firstConfirmedCenter.x_0 - center.x_0) - abs_0(firstConfirmedCenter.y_0 - center.y_0)) / 2); + } + } + } + return 0; +} + +function $handlePossibleCenter_0(this$static, stateCount, i, j, pureBarcode){ + var center, centerI, centerJ, estimatedModuleSize, found, index_0, point, stateCountTotal, combinedCount, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + centerJ = j - stateCount[4] - stateCount[3] - stateCount[2] / 2; + centerI = $crossCheckVertical_0(this$static, i, round_int(centerJ), stateCount[2], stateCountTotal); + if (!isNaN(centerI)) { + centerJ = $crossCheckHorizontal(this$static, round_int(centerJ), round_int(centerI), stateCount[2], stateCountTotal); + if (!isNaN(centerJ) && (!pureBarcode || $crossCheckDiagonal(this$static, round_int(centerI), round_int(centerJ), stateCount[2], stateCountTotal))) { + estimatedModuleSize = stateCountTotal / 7; + found = false; + for (index_0 = 0; index_0 < this$static.possibleCenters.array.length; index_0++) { + center = dynamicCast($get_1(this$static.possibleCenters, index_0), 16); + if ($aboutEquals_0(center, estimatedModuleSize, centerI, centerJ)) { + $set_0(this$static.possibleCenters, index_0, (combinedCount = center.count + 1 , combinedX = (center.count * center.x_0 + centerJ) / combinedCount , combinedY = (center.count * center.y_0 + centerI) / combinedCount , combinedModuleSize = (center.count * center.estimatedModuleSize + estimatedModuleSize) / combinedCount , new FinderPattern_0(combinedX, combinedY, combinedModuleSize, combinedCount))); + found = true; + break; + } + } + if (!found) { + point = new FinderPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return true; + } + } + return false; +} + +function $haveMultiplyConfirmedCenters(this$static){ + var average, confirmedCount, max_0, pattern, pattern$iterator, pattern$iterator0, totalDeviation, totalModuleSize; + confirmedCount = 0; + totalModuleSize = 0; + max_0 = this$static.possibleCenters.array.length; + for (pattern$iterator0 = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator0.i < pattern$iterator0.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator0.i < pattern$iterator0.this$01.size_1()) , dynamicCast(pattern$iterator0.this$01.get_1(pattern$iterator0.last = pattern$iterator0.i++), 16)); + if (pattern.count >= 2) { + ++confirmedCount; + totalModuleSize += pattern.estimatedModuleSize; + } + } + if (confirmedCount < 3) { + return false; + } + average = totalModuleSize / max_0; + totalDeviation = 0; + for (pattern$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator.i < pattern$iterator.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator.i < pattern$iterator.this$01.size_1()) , dynamicCast(pattern$iterator.this$01.get_1(pattern$iterator.last = pattern$iterator.i++), 16)); + totalDeviation += abs_0(pattern.estimatedModuleSize - average); + } + return totalDeviation <= 0.05000000074505806 * totalModuleSize; +} + +function $selectBestPatterns(this$static){ + var average, center, center$iterator, i, limit, pattern, possibleCenter, possibleCenter$iterator, size_0, square, startSize, stdDev, totalModuleSize; + startSize = this$static.possibleCenters.array.length; + if (startSize < 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + if (startSize > 3) { + totalModuleSize = 0; + square = 0; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + size_0 = center.estimatedModuleSize; + totalModuleSize += size_0; + square += size_0 * size_0; + } + average = totalModuleSize / startSize; + stdDev = Math.sqrt(square / startSize - average * average); + sort_0(this$static.possibleCenters, new FinderPatternFinder$FurthestFromAverageComparator(average)); + limit = $intern_16 * average > stdDev?$intern_16 * average:stdDev; + for (i = 0; i < this$static.possibleCenters.array.length && this$static.possibleCenters.array.length > 3; i++) { + pattern = dynamicCast($get_1(this$static.possibleCenters, i), 16); + if (abs_0(pattern.estimatedModuleSize - average) > limit) { + this$static.possibleCenters.remove(i); + --i; + } + } + } + if (this$static.possibleCenters.array.length > 3) { + totalModuleSize = 0; + for (possibleCenter$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1();) { + possibleCenter = (checkCriticalElement(possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1()) , dynamicCast(possibleCenter$iterator.this$01.get_1(possibleCenter$iterator.last = possibleCenter$iterator.i++), 16)); + totalModuleSize += possibleCenter.estimatedModuleSize; + } + average = totalModuleSize / this$static.possibleCenters.array.length; + sort_0(this$static.possibleCenters, new FinderPatternFinder$CenterComparator(average)); + $clear(new AbstractList$SubList(this$static.possibleCenters, this$static.possibleCenters.array.length)); + } + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit, 1), $intern_2, 16, 0, [dynamicCast($get_1(this$static.possibleCenters, 0), 16), dynamicCast($get_1(this$static.possibleCenters, 1), 16), dynamicCast($get_1(this$static.possibleCenters, 2), 16)]); +} + +function FinderPatternFinder(image){ + this.image = image; + this.possibleCenters = new ArrayList; + this.crossCheckStateCount = initDim(I_classLit, $intern_14, 0, 5, 7, 1); +} + +function foundPatternCross(stateCount){ + var count, i, maxVariance, moduleSize, totalModuleSize; + totalModuleSize = 0; + for (i = 0; i < 5; i++) { + count = stateCount[i]; + if (count == 0) { + return false; + } + totalModuleSize += count; + } + if (totalModuleSize < 7) { + return false; + } + moduleSize = totalModuleSize / 7; + maxVariance = moduleSize / 2; + return abs_0(moduleSize - stateCount[0]) < maxVariance && abs_0(moduleSize - stateCount[1]) < maxVariance && abs_0(3 * moduleSize - stateCount[2]) < 3 * maxVariance && abs_0(moduleSize - stateCount[3]) < maxVariance && abs_0(moduleSize - stateCount[4]) < maxVariance; +} + +defineClass(131, 1, {}, FinderPatternFinder); +_.hasSkipped = false; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder', 131); +function $compare(this$static, center1, center2){ + var dA, dB; + if (center2.count == center1.count) { + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?1:dA == dB?0:-1; + } + else { + return center2.count - center1.count; + } +} + +function FinderPatternFinder$CenterComparator(f){ + this.average = f; +} + +defineClass(133, 1, $intern_12, FinderPatternFinder$CenterComparator); +_.compare = function compare(center1, center2){ + return $compare(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$CenterComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/CenterComparator', 133); +function $compare_0(this$static, center1, center2){ + var dA, dB; + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?-1:dA == dB?0:1; +} + +function FinderPatternFinder$FurthestFromAverageComparator(f){ + this.average = f; +} + +defineClass(132, 1, $intern_12, FinderPatternFinder$FurthestFromAverageComparator); +_.compare = function compare_0(center1, center2){ + return $compare_0(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$FurthestFromAverageComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/FurthestFromAverageComparator', 132); +function FinderPatternInfo(patternCenters){ + this.bottomLeft = patternCenters[0]; + this.topLeft = patternCenters[1]; + this.topRight = patternCenters[2]; +} + +defineClass(134, 1, {}, FinderPatternInfo); +var Lcom_google_zxing_qrcode_detector_FinderPatternInfo_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternInfo', 134); +function $getMatrix(this$static){ + var area, height, i, j, matrix, pixelByte, pixelInt, width_0; + width_0 = this$static.width_0; + height = this$static.height; + area = width_0 * height; + matrix = initDim(B_classLit, $intern_12, 0, area, 7, 1); + for (i = 0; i < width_0; i++) + for (j = 0; j < height; j++) { + pixelInt = null.nullMethod(); + pixelByte = narrow_byte(pixelInt); + matrix[i + j * width_0] = pixelByte; + } + return matrix; +} + +function $getRow(this$static, y_0, row){ + var i, width_0; + if (y_0 < 0 || y_0 >= this$static.height) { + throw new IllegalArgumentException_0('Requested row is outside the image: ' + y_0); + } + width_0 = this$static.width_0; + (row == null || row.length < width_0) && (row = initDim(B_classLit, $intern_12, 0, width_0, 7, 1)); + for (i = 0; i < width_0; i++) { + row[i] = narrow_byte(null.nullMethod()); + } + return row; +} + +function CanvasLuminanceSource(){ + CanvasLuminanceSource_0.call(this, null.nullMethod(), null.nullMethod()); +} + +function CanvasLuminanceSource_0(width_0, height){ + var i, sourceHeight, sourceWidth; + this.width_0 = width_0; + this.height = height; + sourceWidth = null.nullMethod(); + sourceHeight = null.nullMethod(); + if (width_0 > sourceWidth || height > sourceHeight) { + throw new IllegalArgumentException_0('Crop rectangle does not fit within image data.'); + } + !detector && (detector = new Canvas$CanvasElementSupportDetectedNo); + null.nullMethod(); + null.nullMethod(); + null.nullMethod(); + null.nullMethod().nullMethod(); + null.nullMethod(); + for (i = 0; i < null.nullMethod(); i += 4) { + if ((null.nullMethod() & 255) == 0) { + null.nullMethod(); + null.nullMethod(); + null.nullMethod(); + null.nullMethod(); + } + else { + ~~((null.nullMethod() + null.nullMethod() + null.nullMethod()) / 3); + null.nullMethod(); + null.nullMethod(); + null.nullMethod(); + } + } + null.nullMethod().nullMethod(); +} + +defineClass(78, 122, {}, CanvasLuminanceSource); +var Lcom_google_zxing_web_CanvasLuminanceSource_2_classLit = createForClass('com.google.zxing.web', 'CanvasLuminanceSource', 78); +function $createSnapImage(){ + var binarizer, h, lsource, snapImage, w; + w = null.nullMethod().nullMethod(); + h = null.nullMethod().nullMethod(); + if (w > 0 && h > 0) { + null.nullMethod(); + null.nullMethod(); + null.nullMethod().nullMethod().nullMethod(null.nullMethod()); + lsource = new CanvasLuminanceSource; + binarizer = new HybridBinarizer(lsource); + snapImage = new BinaryBitmap(binarizer); + return snapImage; + } + return null; +} + +function $isScanning(this$static){ + return this$static.active && this$static.attached; +} + +function $onAttach_0(this$static){ + var t; + $onAttach(this$static); + null.nullMethod(); + try { + $setWebcam(null.nullField, this$static); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + t = $e0; + $reportError(this$static, t.getMessage()); + } + else + throw unwrap($e0); + } +} + +function $reportError(this$static, msg){ + $onSuccess(this$static.callback, new Result(msg)); +} + +function $resumeScanning(this$static){ + this$static.active = true; + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); +} + +function $scan(this$static){ + var bitmap, reader, reader$iterator, result; + if (!(this$static.active && this$static.attached)) + return; + try { + bitmap = $createSnapImage(); + if (bitmap) { + for (reader$iterator = new AbstractList$IteratorImpl(this$static.readers); reader$iterator.i < reader$iterator.this$01.size_1();) { + reader = (checkCriticalElement(reader$iterator.i < reader$iterator.this$01.size_1()) , dynamicCast(reader$iterator.this$01.get_1(reader$iterator.last = reader$iterator.i++), 177)); + try { + result = $decode_0(reader, bitmap); + $onSuccess(this$static.callback, result); + return; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 10)) + throw unwrap($e0); + } + } + } + } + finally { + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); + } +} + +function $setScanInterval(this$static, scanInterval){ + this$static.scanInterval = scanInterval; +} + +function $setSnapImageMaxSize(this$static, snapImageMaxSize){ + this$static.snapImageMaxSize = snapImageMaxSize; +} + +function $setWebcam(videoElement, scanner){ + function success(stream){ + scanner.videoStream = stream; + var v = videoElement; + function removeControls(){ + v.removeAttribute('controls'); + } + + try { + v.srcObject = stream; + v.setAttribute('playsinline', true); + v.setAttribute('controls', true); + setTimeout(removeControls); + } + catch (ex) { + v.src = $wnd.URL.createObjectURL(stream); + } + scanner.videoAttached(); + } + + function error(ex){ + var msg = ex.message; + scanner.reportError(msg); + } + + var vsp = scanner.videoStreamProvider; + if (vsp) { + vsp().then(success)['catch'](error); + return; + } + var n = $wnd.navigator; + if (n.mediaDevices && n.mediaDevices.getUserMedia) { + n.mediaDevices.getUserMedia({video:{facingMode:'environment'}, audio:false}).then(success)['catch'](error); + } + else { + var constraints = {audio:false, video:true}; + n.getUserMedia?n.getUserMedia(constraints, success, error):n.webkitGetUserMedia?n.webkitGetUserMedia(constraints, success, error):n.mozGetUserMedia && n.mozGetUserMedia(constraints, success, error); + } +} + +function $stopWebcam(scanner){ + if (scanner.videoStream) { + var stream = scanner.videoStream; + stream.stop?stream.stop():stream.getTracks && stream.getTracks().forEach(function(track){ + track.stop(); + } + ); + scanner.videoStream = null; + } +} + +function ScannerWidget(callback, videoStreamProvider){ + this.children = new WidgetCollection; + $setElement(this, $doc.createElement('div')); + this.video = (!detector_0 && (detector_0 = new Video$VideoElementSupportDetectedNo) , null); + !detector && (detector = new Canvas$CanvasElementSupportDetectedNo); + this.qrReader = new QRCodeReader; + this.readers = new ArrayList; + this.scanInterval = 300; + this.snapImageMaxSize = -1; + this.active = true; + this.callback = callback; + this.videoStreamProvider = videoStreamProvider; + $add_2(this.readers, this.qrReader); + this.scanTimer = new ScannerWidget$1(this); + $add_0(this, this.video); + null.nullMethod(); + null.nullMethod(); +} + +defineClass(104, 74, $intern_1); +_.onAttach = function onAttach_0(){ + $onAttach_0(this); +} +; +_.onDetach = function onDetach_0(){ + $onDetach(this); + $stopWebcam(this); +} +; +_.reportError = function reportError(msg){ + $reportError(this, msg); +} +; +_.videoAttached = function videoAttached(){ + this.active && this.attached && $schedule(this.scanTimer, this.scanInterval); +} +; +_.active = false; +_.scanInterval = 0; +_.snapImageMaxSize = 0; +var Lcom_google_zxing_web_ScannerWidget_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget', 104); +function ScannerWidget$1(this$0){ + this.this$01 = this$0; +} + +defineClass(108, 107, {}, ScannerWidget$1); +var Lcom_google_zxing_web_ScannerWidget$1_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget/1', 108); +defineClass(150, 10, $intern_4); +var Ljava_io_IOException_2_classLit = createForClass('java.io', 'IOException', 150); +function UnsupportedEncodingException(msg){ + Exception_0.call(this, msg); +} + +defineClass(45, 150, {3:1, 45:1, 10:1, 8:1}, UnsupportedEncodingException); +var Ljava_io_UnsupportedEncodingException_2_classLit = createForClass('java.io', 'UnsupportedEncodingException', 45); +function AbstractStringBuilder(string){ + this.string = string; +} + +defineClass(60, 1, {}); +_.toString$ = function toString_12(){ + return this.string; +} +; +var Ljava_lang_AbstractStringBuilder_2_classLit = createForClass('java.lang', 'AbstractStringBuilder', 60); +function ArithmeticException(){ + RuntimeException.call(this); +} + +defineClass(69, 15, $intern_4, ArithmeticException); +var Ljava_lang_ArithmeticException_2_classLit = createForClass('java.lang', 'ArithmeticException', 69); +function ArrayStoreException(){ + RuntimeException.call(this); +} + +function ArrayStoreException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(40, 15, $intern_4, ArrayStoreException, ArrayStoreException_0); +var Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang', 'ArrayStoreException', 40); +function toChars(codePoint, dst, dstIndex){ + checkCriticalArgument(codePoint >= 0 && codePoint <= 1114111); + if (codePoint >= $intern_11) { + dst[dstIndex++] = 55296 + (codePoint - $intern_11 >> 10 & 1023) & 65535; + dst[dstIndex] = 56320 + (codePoint - $intern_11 & 1023) & 65535; + return 2; + } + else { + dst[dstIndex] = codePoint & 65535; + return 1; + } +} + +function ClassCastException(){ + RuntimeException.call(this); +} + +defineClass(35, 15, $intern_4, ClassCastException); +var Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang', 'ClassCastException', 35); +defineClass(65, 1, {3:1, 65:1}); +var Ljava_lang_Number_2_classLit = createForClass('java.lang', 'Number', 65); +function $clinit_Double(){ + $clinit_Double = emptyMethod; + powers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_12, 0, 7, [1.3407807929942597E154, 1.157920892373162E77, 3.4028236692093846E38, 1.8446744073709552E19, 4294967296, $intern_11, 256, 16, 4, 2]); + invPowers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_12, 0, 7, [7.458340731200207E-155, 8.636168555094445E-78, 2.9387358770557188E-39, 5.421010862427522E-20, 2.3283064365386963E-10, 1.52587890625E-5, 0.00390625, 0.0625, 0.25, 0.5]); +} + +function doubleToLongBits(value_0){ + $clinit_Double(); + var bit, exp_0, i, ihi, ilo, negative; + if (isNaN_0(value_0)) { + return {l:0, m:0, h:524160}; + } + negative = false; + if (value_0 == 0) { + return 1 / value_0 == -Infinity?{l:0, m:0, h:$intern_10}:{l:0, m:0, h:0}; + } + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?{l:0, m:0, h:1048320}:{l:0, m:0, h:524032}; + } + exp_0 = 0; + if (value_0 < 1) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 < invPowers[i] && exp_0 - bit >= -1023) { + value_0 *= powers[i]; + exp_0 -= bit; + } + } + if (value_0 < 1 && exp_0 - 1 >= -1023) { + value_0 *= 2; + --exp_0; + } + } + else if (value_0 >= 2) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 >= powers[i]) { + value_0 *= invPowers[i]; + exp_0 += bit; + } + } + } + exp_0 > -1023?(value_0 -= 1):(value_0 *= 0.5); + ihi = fromDouble(value_0 * 1048576); + value_0 -= toDouble(ihi) * 9.5367431640625E-7; + ilo = fromDouble(value_0 * 4503599627370496); + ihi = or(ihi, fromInt(exp_0 + 1023 << 20)); + negative && (ihi = or(ihi, {l:0, m:512, h:0})); + return or(shl(ihi, 32), ilo); +} + +function isNaN_0(x_0){ + $clinit_Double(); + return isNaN(x_0); +} + +var invPowers, powers; +function floatToIntBits(value_0){ + var bits, exp_0, l, mantissa, negative; + if (isNaN(value_0)) { + return 2143289344; + } + if (value_0 == 0) { + return 1 / value_0 == -Infinity?-2147483648:0; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?-8388608:2139095040; + } + l = doubleToLongBits(value_0); + exp_0 = toInt(sub_0(and(shr(l, 52), {l:2047, m:0, h:0}), {l:1023, m:0, h:0})); + mantissa = toInt(shr(and(l, {l:$intern_5, m:$intern_5, h:255}), 29)); + if (exp_0 <= -127) { + mantissa = (8388608 | mantissa) >> -127 - exp_0 + 1; + exp_0 = -127; + } + bits = negative?{l:0, m:512, h:0}:{l:0, m:0, h:0}; + bits = or(bits, fromInt(exp_0 + 127 << 23)); + bits = or(bits, fromInt(mantissa)); + return toInt(bits); +} + +function IllegalArgumentException(){ + RuntimeException.call(this); +} + +function IllegalArgumentException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(12, 15, {3:1, 10:1, 12:1, 8:1}, IllegalArgumentException, IllegalArgumentException_0); +var Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang', 'IllegalArgumentException', 12); +function IllegalStateException(){ + RuntimeException.call(this); +} + +function IllegalStateException_0(s){ + RuntimeException_0.call(this, s); +} + +defineClass(50, 15, $intern_4, IllegalStateException, IllegalStateException_0); +var Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang', 'IllegalStateException', 50); +function IndexOutOfBoundsException(){ + RuntimeException.call(this); +} + +function IndexOutOfBoundsException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(37, 15, $intern_4, IndexOutOfBoundsException, IndexOutOfBoundsException_0); +var Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang', 'IndexOutOfBoundsException', 37); +function $compareTo_0(this$static, b){ + return compare_1(this$static.value_0, b.value_0); +} + +function Integer(value_0){ + this.value_0 = value_0; +} + +function bitCount(x_0){ + x_0 -= x_0 >> 1 & 1431655765; + x_0 = (x_0 >> 2 & 858993459) + (x_0 & 858993459); + x_0 = (x_0 >> 4) + x_0 & 252645135; + x_0 += x_0 >> 8; + x_0 += x_0 >> 16; + return x_0 & 63; +} + +function compare_1(x_0, y_0){ + return x_0 < y_0?-1:x_0 > y_0?1:0; +} + +function toUnsignedRadixString(value_0, radix){ + return (value_0 >>> 0).toString(radix); +} + +function valueOf(i){ + var rebase, result; + if (i > -129 && i < 128) { + rebase = i + 128; + result = ($clinit_Integer$BoxedValues() , boxedValues_0)[rebase]; + !result && (result = boxedValues_0[rebase] = new Integer(i)); + return result; + } + return new Integer(i); +} + +defineClass(30, 65, {3:1, 19:1, 30:1, 65:1}, Integer); +_.compareTo = function compareTo_0(b){ + return $compareTo_0(this, dynamicCast(b, 30)); +} +; +_.equals$ = function equals_4(o){ + return instanceOf(o, 30) && dynamicCast(o, 30).value_0 == this.value_0; +} +; +_.hashCode$ = function hashCode_5(){ + return this.value_0; +} +; +_.toString$ = function toString_14(){ + return '' + this.value_0; +} +; +_.value_0 = 0; +var Ljava_lang_Integer_2_classLit = createForClass('java.lang', 'Integer', 30); +function $clinit_Integer$BoxedValues(){ + $clinit_Integer$BoxedValues = emptyMethod; + boxedValues_0 = initDim(Ljava_lang_Integer_2_classLit, $intern_2, 30, 256, 0, 1); +} + +var boxedValues_0; +function abs_0(x_0){ + return x_0 <= 0?0 - x_0:x_0; +} + +function min_1(x_0, y_0){ + return x_0 < y_0?x_0:y_0; +} + +function NullPointerException(){ + RuntimeException.call(this); +} + +function NullPointerException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(70, 15, $intern_4, NullPointerException, NullPointerException_0); +var Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang', 'NullPointerException', 70); +function $charAt(this$static, index_0){ + return this$static.charCodeAt(index_0); +} + +function $equals(this$static, other){ + return this$static === other; +} + +function $equalsIgnoreCase(this$static, other){ + if (other == null) { + return false; + } + if (this$static == other) { + return true; + } + return this$static.length == other.length && this$static.toLowerCase() == other.toLowerCase(); +} + +function $getChars(dst, dstBegin){ + var srcIdx; + for (srcIdx = 0; srcIdx < 45; ++srcIdx) { + dst[dstBegin++] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'.charCodeAt(srcIdx); + } +} + +function $split(this$static, regex, maxMatch){ + var compiled = new RegExp(regex, 'g'); + var out = []; + var count = 0; + var trail = this$static; + var lastTrail = null; + while (true) { + var matchObj = compiled.exec(trail); + if (matchObj == null || trail == '' || count == maxMatch - 1 && maxMatch > 0) { + out[count] = trail; + break; + } + else { + out[count] = trail.substring(0, matchObj.index); + trail = trail.substring(matchObj.index + matchObj[0].length, trail.length); + compiled.lastIndex = 0; + if (lastTrail == trail) { + out[count] = trail.substring(0, 1); + trail = trail.substring(1); + } + lastTrail = trail; + count++; + } + } + if (maxMatch == 0 && this$static.length > 0) { + var lastNonEmpty = out.length; + while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') { + --lastNonEmpty; + } + lastNonEmpty < out.length && out.splice(lastNonEmpty, out.length - lastNonEmpty); + } + var jr = __createArray(out.length); + for (var i = 0; i < out.length; ++i) { + jr[i] = out[i]; + } + return jr; +} + +function $substring(this$static, beginIndex){ + return __substr(this$static, beginIndex, this$static.length - beginIndex); +} + +function _String(bytes, len, charset){ + if ($equalsIgnoreCase('UTF-8', charset)) { + return utf8ToString(bytes, len); + } + else if ($equalsIgnoreCase('ISO-8859-1', charset) || $equalsIgnoreCase('ISO-LATIN-1', charset)) { + return latin1ToString(bytes, len); + } + else { + throw new UnsupportedEncodingException('Charset ' + charset + ' not supported'); + } +} + +function __createArray(numElements){ + return initDim(Ljava_lang_String_2_classLit, $intern_2, 2, numElements, 4, 1); +} + +function __substr(str, beginIndex, len){ + return str.substr(beginIndex, len); +} + +function __valueOf(x_0, start_0, end){ + var s = ''; + for (var batchStart = start_0; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd)); + batchStart = batchEnd; + } + return s; +} + +function compareTo_1(thisStr, otherStr){ + if (thisStr == otherStr) { + return 0; + } + return thisStr < otherStr?-1:1; +} + +function compareTo_Ljava_lang_Object__I__devirtual$(this$static, other){ + return isJavaString(this$static)?compareTo_1(this$static, dynamicCastToString(other)):this$static.compareTo(other); +} + +function latin1ToString(bytes, len){ + var chars, i; + chars = initDim(C_classLit, $intern_12, 0, len, 7, 1); + for (i = 0; i < len; ++i) { + chars[i] = bytes[i] & 255 & 65535; + } + return __valueOf(chars, 0, chars.length); +} + +function utf8ToString(bytes, len){ + var b, ch_0, charCount, chars, count, i, i0, outIdx; + charCount = 0; + for (i0 = 0; i0 < len;) { + ++charCount; + ch_0 = bytes[i0]; + if ((ch_0 & 192) == 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + else if ((ch_0 & 128) == 0) { + ++i0; + } + else if ((ch_0 & 224) == 192) { + i0 += 2; + } + else if ((ch_0 & 240) == 224) { + i0 += 3; + } + else if ((ch_0 & 248) == 240) { + i0 += 4; + } + else { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + if (i0 > len) { + throw new IndexOutOfBoundsException_0('Invalid UTF8 sequence'); + } + } + chars = initDim(C_classLit, $intern_12, 0, charCount, 7, 1); + outIdx = 0; + count = 0; + for (i = 0; i < len;) { + ch_0 = bytes[i++]; + if ((ch_0 & 128) == 0) { + count = 1; + ch_0 &= 127; + } + else if ((ch_0 & 224) == 192) { + count = 2; + ch_0 &= 31; + } + else if ((ch_0 & 240) == 224) { + count = 3; + ch_0 &= 15; + } + else if ((ch_0 & 248) == 240) { + count = 4; + ch_0 &= 7; + } + else if ((ch_0 & 252) == 248) { + count = 5; + ch_0 &= 3; + } + while (--count > 0) { + b = bytes[i++]; + if ((b & 192) != 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence at ' + (i - 1) + ', byte=' + toUnsignedRadixString(b, 16)); + } + ch_0 = ch_0 << 6 | b & 63; + } + outIdx += toChars(ch_0, chars, outIdx); + } + return __valueOf(chars, 0, chars.length); +} + +var Ljava_lang_String_2_classLit = createForClass('java.lang', 'String', 2); +function $clinit_String$HashCache(){ + $clinit_String$HashCache = emptyMethod; + back_0 = {}; + front = {}; +} + +function compute(str){ + var hashCode, i, n, nBatch; + hashCode = 0; + n = str.length; + nBatch = n - 4; + i = 0; + while (i < nBatch) { + hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))); + hashCode = ~~hashCode; + i += 4; + } + while (i < n) { + hashCode = hashCode * 31 + $charAt(str, i++); + } + hashCode = ~~hashCode; + return hashCode; +} + +function getHashCode_0(str){ + $clinit_String$HashCache(); + var key = ':' + str; + var result = front[key]; + if (result != null) { + return result; + } + result = back_0[key]; + result == null && (result = compute(str)); + increment(); + return front[key] = result; +} + +function increment(){ + if (count_0 == 256) { + back_0 = front; + front = {}; + count_0 = 0; + } + ++count_0; +} + +var back_0, count_0 = 0, front; +function $append(this$static, x_0){ + this$static.string += charToString(x_0); + return this$static; +} + +function $append_0(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_1(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_2(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function StringBuilder(){ + AbstractStringBuilder.call(this, ''); +} + +function StringBuilder_0(s){ + AbstractStringBuilder.call(this, s); +} + +defineClass(25, 60, {175:1}, StringBuilder, StringBuilder_0); +var Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang', 'StringBuilder', 25); +function arraycopy(src_0, srcOfs, dest, destOfs, len){ + var destArray, destComp, destEnd, destType, destlen, srcArray, srcComp, srcType, srclen; + checkNotNull_0(src_0, 'src'); + checkNotNull_0(dest, 'dest'); + srcType = getClass__Ljava_lang_Class___devirtual$(src_0); + destType = getClass__Ljava_lang_Class___devirtual$(dest); + checkArrayType((srcType.modifiers & 4) != 0, 'srcType is not an array'); + checkArrayType((destType.modifiers & 4) != 0, 'destType is not an array'); + srcComp = srcType.componentType; + destComp = destType.componentType; + checkArrayType((srcComp.modifiers & 1) != 0?srcComp == destComp:(destComp.modifiers & 1) == 0, "Array types don't match"); + srclen = src_0.length; + destlen = dest.length; + if (srcOfs < 0 || destOfs < 0 || len < 0 || srcOfs + len > srclen || destOfs + len > destlen) { + throw new IndexOutOfBoundsException; + } + if (((srcComp.modifiers & 1) == 0 || (srcComp.modifiers & 4) != 0) && srcType != destType) { + srcArray = dynamicCast(src_0, 5); + destArray = dynamicCast(dest, 5); + if (maskUndefined(src_0) === maskUndefined(dest) && srcOfs < destOfs) { + srcOfs += len; + for (destEnd = destOfs + len; destEnd-- > destOfs;) { + setCheck(destArray, destEnd, srcArray[--srcOfs]); + } + } + else { + for (destEnd = destOfs + len; destOfs < destEnd;) { + setCheck(destArray, destOfs++, srcArray[srcOfs++]); + } + } + } + else + len > 0 && nativeArraySplice(src_0, srcOfs, dest, destOfs, len, true); +} + +function UnsupportedOperationException(message){ + RuntimeException_0.call(this, message); +} + +defineClass(71, 15, $intern_4, UnsupportedOperationException); +var Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang', 'UnsupportedOperationException', 71); +function $advanceToFind(this$static, o){ + var e, iter; + for (iter = this$static.iterator(); iter.hasNext();) { + e = iter.next(); + if (maskUndefined(o) === maskUndefined(e) || o != null && equals_Ljava_lang_Object__Z__devirtual$(o, e)) { + return true; + } + } + return false; +} + +function $containsAll(this$static, c){ + var e, e$iterator; + checkNotNull(c); + for (e$iterator = c.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + if (!this$static.contains_0(e)) { + return false; + } + } + return true; +} + +function $toString_0(this$static){ + var comma, e, e$iterator, sb; + sb = new StringBuilder_0('['); + comma = false; + for (e$iterator = this$static.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + comma?(sb.string += ', ' , sb):(comma = true); + sb.string += e === this$static?'(this Collection)':'' + e; + } + sb.string += ']'; + return sb.string; +} + +defineClass(166, 1, {}); +_.contains_0 = function contains(o){ + return $advanceToFind(this, o); +} +; +_.toString$ = function toString_15(){ + return $toString_0(this); +} +; +var Ljava_util_AbstractCollection_2_classLit = createForClass('java.util', 'AbstractCollection', 166); +function $containsEntry(this$static, entry){ + var key, ourValue, value_0; + key = entry.getKey(); + value_0 = entry.getValue(); + ourValue = this$static.get_0(key); + if (!(maskUndefined(value_0) === maskUndefined(ourValue) || value_0 != null && equals_Ljava_lang_Object__Z__devirtual$(value_0, ourValue))) { + return false; + } + if (ourValue == null && !this$static.containsKey(key)) { + return false; + } + return true; +} + +function $implFindEntry(this$static, key){ + var entry, iter, k; + for (iter = this$static.entrySet().iterator(); iter.hasNext();) { + entry = dynamicCast(iter.next(), 17); + k = entry.getKey(); + if (maskUndefined(key) === maskUndefined(k) || key != null && equals_Ljava_lang_Object__Z__devirtual$(key, k)) { + return entry; + } + } + return null; +} + +function $toString_1(this$static, o){ + return o === this$static?'(this Map)':'' + o; +} + +function getEntryValueOrNull(entry){ + return !entry?null:entry.getValue(); +} + +defineClass(165, 1, {55:1}); +_.containsKey = function containsKey(key){ + return !!$implFindEntry(this, key); +} +; +_.equals$ = function equals_5(obj){ + var entry, entry$iterator, otherMap; + if (obj === this) { + return true; + } + if (!instanceOf(obj, 55)) { + return false; + } + otherMap = dynamicCast(obj, 55); + if (this.size_1() != otherMap.size_1()) { + return false; + } + for (entry$iterator = otherMap.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + if (!$containsEntry(this, entry)) { + return false; + } + } + return true; +} +; +_.get_0 = function get_0(key){ + return getEntryValueOrNull($implFindEntry(this, key)); +} +; +_.hashCode$ = function hashCode_6(){ + return hashCode_12(this.entrySet()); +} +; +_.size_1 = function size_1(){ + return this.entrySet().size_1(); +} +; +_.toString$ = function toString_16(){ + var comma, entry, entry$iterator, sb; + sb = new StringBuilder_0('{'); + comma = false; + for (entry$iterator = this.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + comma?(sb.string += ', ' , sb):(comma = true); + $append_2(sb, $toString_1(this, entry.getKey())); + sb.string += '='; + $append_2(sb, $toString_1(this, entry.getValue())); + } + sb.string += '}'; + return sb.string; +} +; +var Ljava_util_AbstractMap_2_classLit = createForClass('java.util', 'AbstractMap', 165); +function $containsKey(this$static, key){ + return isJavaString(key)?key == null?!!$getEntry(this$static.hashCodeMap, null):!(this$static.stringMap.get_2(key) === undefined):!!$getEntry(this$static.hashCodeMap, key); +} + +function $elementAdded(this$static){ + ++this$static.size_0; + structureChanged(this$static); +} + +function $elementRemoved(this$static){ + --this$static.size_0; + structureChanged(this$static); +} + +function $get_0(this$static, key){ + return isJavaString(key)?key == null?getEntryValueOrNull($getEntry(this$static.hashCodeMap, null)):this$static.stringMap.get_2(key):getEntryValueOrNull($getEntry(this$static.hashCodeMap, key)); +} + +function $put(this$static, key, value_0){ + return isJavaString(key)?$putStringValue(this$static, key, value_0):$put_2(this$static.hashCodeMap, key, value_0); +} + +function $putStringValue(this$static, key, value_0){ + return key == null?$put_2(this$static.hashCodeMap, null, value_0):this$static.stringMap.put(key, value_0); +} + +defineClass(84, 165, {55:1}); +_.containsKey = function containsKey_0(key){ + return $containsKey(this, key); +} +; +_.entrySet = function entrySet(){ + return new AbstractHashMap$EntrySet(this); +} +; +_.get_0 = function get_1(key){ + return $get_0(this, key); +} +; +_.size_1 = function size_2(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util', 'AbstractHashMap', 84); +defineClass(167, 166, $intern_17); +_.equals$ = function equals_6(o){ + var other; + if (o === this) { + return true; + } + if (!instanceOf(o, 34)) { + return false; + } + other = dynamicCast(o, 34); + if (other.size_1() != this.size_1()) { + return false; + } + return $containsAll(this, other); +} +; +_.hashCode$ = function hashCode_7(){ + return hashCode_12(this); +} +; +var Ljava_util_AbstractSet_2_classLit = createForClass('java.util', 'AbstractSet', 167); +function $contains(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function AbstractHashMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(67, 167, $intern_17, AbstractHashMap$EntrySet); +_.contains_0 = function contains_0(o){ + return $contains(this, o); +} +; +_.iterator = function iterator_2(){ + return new AbstractHashMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_3(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySet', 67); +function $hasNext(this$static){ + if (this$static.current.hasNext()) { + return true; + } + if (this$static.current != this$static.stringMapEntries) { + return false; + } + this$static.current = this$static.this$01.hashCodeMap.entries(); + return this$static.current.hasNext(); +} + +function $next_0(this$static){ + return checkStructuralChange(this$static.this$01, this$static) , checkCriticalElement($hasNext(this$static)) , dynamicCast(this$static.current.next(), 17); +} + +function AbstractHashMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.stringMapEntries = this.this$01.stringMap.entries(); + this.current = this.stringMapEntries; + setModCount(this, this$0._gwt_modCount); +} + +defineClass(68, 1, {}, AbstractHashMap$EntrySetIterator); +_.hasNext = function hasNext_0(){ + return $hasNext(this); +} +; +_.next = function next_0(){ + return $next_0(this); +} +; +var Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySetIterator', 68); +function $clear(this$static){ + $removeRange(this$static, this$static.size_0); +} + +function $removeRange(this$static, endIndex){ + var i, iter; + iter = new AbstractList$ListIteratorImpl(this$static); + for (i = 0; i < endIndex; ++i) { + checkCriticalElement(iter.i < iter.this$01.size_1()); + iter.this$01.get_1(iter.last = iter.i++); + checkState(iter.last != -1); + iter.this$01.remove(iter.last); + iter.i = iter.last; + iter.last = -1; + } +} + +defineClass(168, 166, {46:1}); +_.equals$ = function equals_7(o){ + var elem, elem$iterator, elemOther, iterOther, other; + if (o === this) { + return true; + } + if (!instanceOf(o, 46)) { + return false; + } + other = dynamicCast(o, 46); + if (this.size_1() != other.size_1()) { + return false; + } + iterOther = other.iterator(); + for (elem$iterator = new AbstractList$IteratorImpl(this); elem$iterator.i < elem$iterator.this$01.size_1();) { + elem = (checkCriticalElement(elem$iterator.i < elem$iterator.this$01.size_1()) , elem$iterator.this$01.get_1(elem$iterator.last = elem$iterator.i++)); + elemOther = (checkCriticalElement(iterOther.i < iterOther.this$01.size_1()) , iterOther.this$01.get_1(iterOther.last = iterOther.i++)); + if (!(maskUndefined(elem) === maskUndefined(elemOther) || elem != null && equals_Ljava_lang_Object__Z__devirtual$(elem, elemOther))) { + return false; + } + } + return true; +} +; +_.hashCode$ = function hashCode_8(){ + return hashCode_13(this); +} +; +_.iterator = function iterator_3(){ + return new AbstractList$IteratorImpl(this); +} +; +_.remove = function remove(index_0){ + throw new UnsupportedOperationException('Remove not supported on this list'); +} +; +var Ljava_util_AbstractList_2_classLit = createForClass('java.util', 'AbstractList', 168); +function AbstractList$IteratorImpl(this$0){ + this.this$01 = this$0; +} + +defineClass(23, 1, {}, AbstractList$IteratorImpl); +_.hasNext = function hasNext_1(){ + return this.i < this.this$01.size_1(); +} +; +_.next = function next_1(){ + return checkCriticalElement(this.i < this.this$01.size_1()) , this.this$01.get_1(this.last = this.i++); +} +; +_.i = 0; +_.last = -1; +var Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/IteratorImpl', 23); +function AbstractList$ListIteratorImpl(this$0){ + AbstractList$IteratorImpl.call(this, this$0); + checkPositionIndex(this$0.size_0); + this.i = 0; +} + +defineClass(88, 23, {}, AbstractList$ListIteratorImpl); +var Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/ListIteratorImpl', 88); +function AbstractList$SubList(wrapped, toIndex){ + checkCriticalPositionIndexes(toIndex, wrapped.array.length); + this.wrapped = wrapped; + this.fromIndex = 3; + this.size_0 = toIndex - 3; +} + +defineClass(89, 168, {46:1}, AbstractList$SubList); +_.get_1 = function get_2(index_0){ + checkElementIndex(index_0, this.size_0); + return $get_1(this.wrapped, this.fromIndex + index_0); +} +; +_.remove = function remove_0(index_0){ + var result; + checkElementIndex(index_0, this.size_0); + result = this.wrapped.remove(this.fromIndex + index_0); + --this.size_0; + return result; +} +; +_.size_1 = function size_4(){ + return this.size_0; +} +; +_.fromIndex = 0; +_.size_0 = 0; +var Ljava_util_AbstractList$SubList_2_classLit = createForClass('java.util', 'AbstractList/SubList', 89); +function $iterator(this$static){ + var outerIter; + outerIter = new AbstractHashMap$EntrySetIterator((new AbstractHashMap$EntrySet(this$static.this$01)).this$01); + return new AbstractMap$1$1(outerIter); +} + +function AbstractMap$1(this$0){ + this.this$01 = this$0; +} + +defineClass(49, 167, $intern_17, AbstractMap$1); +_.contains_0 = function contains_1(key){ + return $containsKey(this.this$01, key); +} +; +_.iterator = function iterator_4(){ + return $iterator(this); +} +; +_.size_1 = function size_5(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util', 'AbstractMap/1', 49); +function $next_1(this$static){ + var entry; + entry = $next_0(this$static.val$outerIter2); + return entry.getKey(); +} + +function AbstractMap$1$1(val$outerIter){ + this.val$outerIter2 = val$outerIter; +} + +defineClass(87, 1, {}, AbstractMap$1$1); +_.hasNext = function hasNext_2(){ + return $hasNext(this.val$outerIter2); +} +; +_.next = function next_2(){ + return $next_1(this); +} +; +var Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util', 'AbstractMap/1/1', 87); +defineClass(85, 1, $intern_18); +_.equals$ = function equals_8(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.key, entry.getKey()) && equals_11(this.value_0, entry.getValue()); +} +; +_.getKey = function getKey(){ + return this.key; +} +; +_.getValue = function getValue(){ + return this.value_0; +} +; +_.hashCode$ = function hashCode_9(){ + return hashCode_14(this.key) ^ hashCode_14(this.value_0); +} +; +_.setValue = function setValue(value_0){ + var oldValue; + oldValue = this.value_0; + this.value_0 = value_0; + return oldValue; +} +; +_.toString$ = function toString_17(){ + return this.key + '=' + this.value_0; +} +; +var Ljava_util_AbstractMap$AbstractEntry_2_classLit = createForClass('java.util', 'AbstractMap/AbstractEntry', 85); +function AbstractMap$SimpleEntry(key, value_0){ + this.key = key; + this.value_0 = value_0; +} + +defineClass(86, 85, $intern_18, AbstractMap$SimpleEntry); +var Ljava_util_AbstractMap$SimpleEntry_2_classLit = createForClass('java.util', 'AbstractMap/SimpleEntry', 86); +defineClass(169, 1, $intern_18); +_.equals$ = function equals_9(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.getKey(), entry.getKey()) && equals_11(this.getValue(), entry.getValue()); +} +; +_.hashCode$ = function hashCode_10(){ + return hashCode_14(this.getKey()) ^ hashCode_14(this.getValue()); +} +; +_.toString$ = function toString_18(){ + return this.getKey() + '=' + this.getValue(); +} +; +var Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util', 'AbstractMapEntry', 169); +function $$init(this$static){ + this$static.array = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, 0, 3, 1); +} + +function $add_2(this$static, o){ + setCheck(this$static.array, this$static.array.length, o); + return true; +} + +function $get_1(this$static, index_0){ + checkElementIndex(index_0, this$static.array.length); + return this$static.array[index_0]; +} + +function $indexOf(this$static, o, index_0){ + for (; index_0 < this$static.array.length; ++index_0) { + if (equals_11(o, this$static.array[index_0])) { + return index_0; + } + } + return -1; +} + +function $remove(this$static, index_0){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + splice(this$static.array, index_0, 1); + return previous; +} + +function $set_0(this$static, index_0, o){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + setCheck(this$static.array, index_0, o); + return previous; +} + +function ArrayList(){ + $$init(this); +} + +function ArrayList_0(initialCapacity){ + $$init(this); + checkCriticalArgument_0(initialCapacity >= 0, 'Initial capacity must not be negative'); +} + +function splice(array, index_0, deleteCount){ + array.splice(index_0, deleteCount); +} + +defineClass(36, 168, $intern_19, ArrayList, ArrayList_0); +_.add_0 = function add_0(o){ + return $add_2(this, o); +} +; +_.contains_0 = function contains_2(o){ + return $indexOf(this, o, 0) != -1; +} +; +_.get_1 = function get_3(index_0){ + return $get_1(this, index_0); +} +; +_.remove = function remove_1(index_0){ + return $remove(this, index_0); +} +; +_.size_1 = function size_6(){ + return this.array.length; +} +; +var Ljava_util_ArrayList_2_classLit = createForClass('java.util', 'ArrayList', 36); +function equals_10(array1, array2){ + var i; + if (maskUndefined(array1) === maskUndefined(array2)) { + return true; + } + if (array1 == null || array2 == null) { + return false; + } + if (array1.length != array2.length) { + return false; + } + for (i = 0; i < array1.length; ++i) { + if (array1[i] != array2[i]) { + return false; + } + } + return true; +} + +function hashCode_11(a){ + var e, e$index, e$max, hashCode; + if (a == null) { + return 0; + } + hashCode = 1; + for (e$index = 0 , e$max = a.length; e$index < e$max; ++e$index) { + e = a[e$index]; + hashCode = 31 * hashCode + e; + hashCode = ~~hashCode; + } + return hashCode; +} + +function insertionSort(array, low, high, comp){ + var i, j, t; + for (i = low + 1; i < high; ++i) { + for (j = i; j > low && comp.compare(array[j - 1], array[j]) > 0; --j) { + t = array[j]; + setCheck(array, j, array[j - 1]); + setCheck(array, j - 1, t); + } + } +} + +function merge(src_0, srcLow, srcMid, srcHigh, dest, destLow, destHigh, comp){ + var topIdx; + topIdx = srcMid; + while (destLow < destHigh) { + topIdx >= srcHigh || srcLow < srcMid && comp.compare(src_0[srcLow], src_0[topIdx]) <= 0?setCheck(dest, destLow++, src_0[srcLow++]):setCheck(dest, destLow++, src_0[topIdx++]); + } +} + +function mergeSort(x_0, fromIndex, toIndex, comp){ + var temp, newLength, length_0, copy; + !comp && (comp = ($clinit_Comparators() , $clinit_Comparators() , NATURAL)); + temp = (newLength = (length_0 = toIndex - fromIndex , checkCriticalArgument_1(length_0 >= 0, initValues(getClassLiteralForArray(Ljava_lang_Object_2_classLit, 1), $intern_2, 1, 3, [valueOf(fromIndex), valueOf(toIndex)])) , length_0) , copy = createFrom(x_0, newLength) , arraycopy(x_0, fromIndex, copy, 0, min_1(x_0.length - fromIndex, newLength)) , copy); + mergeSort_0(temp, x_0, fromIndex, toIndex, -fromIndex, comp); +} + +function mergeSort_0(temp, array, low, high, ofs, comp){ + var length_0, tempHigh, tempLow, tempMid; + length_0 = high - low; + if (length_0 < 7) { + insertionSort(array, low, high, comp); + return; + } + tempLow = low + ofs; + tempHigh = high + ofs; + tempMid = tempLow + (tempHigh - tempLow >> 1); + mergeSort_0(array, temp, tempLow, tempMid, -ofs, comp); + mergeSort_0(array, temp, tempMid, tempHigh, -ofs, comp); + if (comp.compare(temp[tempMid - 1], temp[tempMid]) <= 0) { + while (low < high) { + setCheck(array, low++, temp[tempLow++]); + } + return; + } + merge(temp, tempLow, tempMid, tempHigh, array, low, high, comp); +} + +function hashCode_12(collection){ + var e, e$iterator, hashCode; + hashCode = 0; + for (e$iterator = collection.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + hashCode = hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function hashCode_13(list){ + var e, e$iterator, hashCode; + hashCode = 1; + for (e$iterator = new AbstractList$IteratorImpl(list); e$iterator.i < e$iterator.this$01.size_1();) { + e = (checkCriticalElement(e$iterator.i < e$iterator.this$01.size_1()) , e$iterator.this$01.get_1(e$iterator.last = e$iterator.i++)); + hashCode = 31 * hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function replaceContents(target, x_0){ + var i, size_0; + size_0 = target.array.length; + for (i = 0; i < size_0; i++) { + $set_0(target, i, x_0[i]); + } +} + +function sort_0(target, c){ + var x_0; + x_0 = cloneSubrange(target.array, target.array.length); + mergeSort(x_0, 0, x_0.length, c); + replaceContents(target, x_0); +} + +function $clinit_Comparators(){ + $clinit_Comparators = emptyMethod; + NATURAL = new Comparators$1; +} + +var NATURAL; +function Comparators$1(){ +} + +defineClass(151, 1, {}, Comparators$1); +_.compare = function compare_2(o1, o2){ + checkNotNull(o1); + checkNotNull(o2); + return compareTo_Ljava_lang_Object__I__devirtual$(dynamicCast(o1, 19), o2); +} +; +var Ljava_util_Comparators$1_2_classLit = createForClass('java.util', 'Comparators/1', 151); +function checkStructuralChange(host, iterator){ + if (iterator._gwt_modCount != host._gwt_modCount) { + throw new ConcurrentModificationException; + } +} + +function setModCount(o, modCount){ + o._gwt_modCount = modCount; +} + +function structureChanged(map_0){ + var modCount; + modCount = map_0._gwt_modCount | 0; + setModCount(map_0, modCount + 1); +} + +function ConcurrentModificationException(){ + RuntimeException.call(this); +} + +defineClass(114, 15, $intern_4, ConcurrentModificationException); +var Ljava_util_ConcurrentModificationException_2_classLit = createForClass('java.util', 'ConcurrentModificationException', 114); +function $put_0(this$static, key, value_0){ + $add_3(this$static.keySet, key); + return $set_1(this$static, key.ordinal, value_0); +} + +function $put_1(this$static, key, value_0){ + return $put_0(this$static, dynamicCast(key, 13), value_0); +} + +function $set_1(this$static, ordinal, value_0){ + var was; + was = this$static.values[ordinal]; + setCheck(this$static.values, ordinal, value_0); + return was; +} + +function EnumMap(type_0){ + var all; + this.keySet = (all = dynamicCast(type_0.enumConstantsFunc && type_0.enumConstantsFunc(), 21) , new EnumSet$EnumSetImpl(all, dynamicCast(createFrom(all, all.length), 21))); + this.values = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, this.keySet.all.length, 3, 1); +} + +defineClass(135, 165, {55:1}, EnumMap); +_.containsKey = function containsKey_1(key){ + return $contains_1(this.keySet, key); +} +; +_.entrySet = function entrySet_0(){ + return new EnumMap$EntrySet(this); +} +; +_.get_0 = function get_4(k){ + return $contains_1(this.keySet, k)?this.values[dynamicCast(k, 13).ordinal]:null; +} +; +_.size_1 = function size_7(){ + return this.keySet.size_0; +} +; +var Ljava_util_EnumMap_2_classLit = createForClass('java.util', 'EnumMap', 135); +function $contains_0(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function EnumMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(136, 167, $intern_17, EnumMap$EntrySet); +_.contains_0 = function contains_3(o){ + return $contains_0(this, o); +} +; +_.iterator = function iterator_5(){ + return new EnumMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_8(){ + return this.this$01.keySet.size_0; +} +; +var Ljava_util_EnumMap$EntrySet_2_classLit = createForClass('java.util', 'EnumMap/EntrySet', 136); +function EnumMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.it = new EnumSet$EnumSetImpl$IteratorImpl(this.this$01.keySet); +} + +defineClass(137, 1, {}, EnumMap$EntrySetIterator); +_.hasNext = function hasNext_3(){ + return $hasNext_0(this.it); +} +; +_.next = function next_3(){ + return this.key = $next_2(this.it) , new EnumMap$MapEntry(this.this$01, this.key); +} +; +var Ljava_util_EnumMap$EntrySetIterator_2_classLit = createForClass('java.util', 'EnumMap/EntrySetIterator', 137); +function EnumMap$MapEntry(this$0, key){ + this.this$01 = this$0; + this.key = key; +} + +defineClass(138, 169, $intern_18, EnumMap$MapEntry); +_.getKey = function getKey_0(){ + return this.key; +} +; +_.getValue = function getValue_0(){ + return this.this$01.values[this.key.ordinal]; +} +; +_.setValue = function setValue_0(value_0){ + return $set_1(this.this$01, this.key.ordinal, value_0); +} +; +var Ljava_util_EnumMap$MapEntry_2_classLit = createForClass('java.util', 'EnumMap/MapEntry', 138); +defineClass(174, 167, $intern_17); +var Ljava_util_EnumSet_2_classLit = createForClass('java.util', 'EnumSet', 174); +function $add_3(this$static, e){ + var ordinal; + checkNotNull(e); + ordinal = e.ordinal; + if (!this$static.set_0[ordinal]) { + setCheck(this$static.set_0, ordinal, e); + ++this$static.size_0; + return true; + } + return false; +} + +function $contains_1(this$static, o){ + return instanceOf(o, 13) && $containsEnum(this$static, dynamicCast(o, 13)); +} + +function $containsEnum(this$static, e){ + return !!e && this$static.set_0[e.ordinal] == e; +} + +function EnumSet$EnumSetImpl(all, set_0){ + this.all = all; + this.set_0 = set_0; + this.size_0 = 0; +} + +defineClass(149, 174, $intern_17, EnumSet$EnumSetImpl); +_.contains_0 = function contains_4(o){ + return $contains_1(this, o); +} +; +_.iterator = function iterator_6(){ + return new EnumSet$EnumSetImpl$IteratorImpl(this); +} +; +_.size_1 = function size_9(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_EnumSet$EnumSetImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl', 149); +function $findNext(this$static){ + var c; + ++this$static.i; + for (c = this$static.this$11.all.length; this$static.i < c; ++this$static.i) { + if (this$static.this$11.set_0[this$static.i]) { + return; + } + } +} + +function $hasNext_0(this$static){ + return this$static.i < this$static.this$11.all.length; +} + +function $next_2(this$static){ + return checkCriticalElement(this$static.i < this$static.this$11.all.length) , this$static.last = this$static.i , $findNext(this$static) , this$static.this$11.set_0[this$static.last]; +} + +function EnumSet$EnumSetImpl$IteratorImpl(this$1){ + this.this$11 = this$1; + $findNext(this); +} + +defineClass(79, 1, {}, EnumSet$EnumSetImpl$IteratorImpl); +_.hasNext = function hasNext_4(){ + return $hasNext_0(this); +} +; +_.next = function next_4(){ + return $next_2(this); +} +; +_.i = -1; +_.last = -1; +var Ljava_util_EnumSet$EnumSetImpl$IteratorImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl/IteratorImpl', 79); +function $equals_0(value1, value2){ + return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals_Ljava_lang_Object__Z__devirtual$(value1, value2); +} + +function $getHashCode(key){ + var hashCode; + hashCode = hashCode__I__devirtual$(key); + return ~~hashCode; +} + +function HashMap(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(); + this.hashCodeMap = delegate.createJsHashCodeMap(); + this.hashCodeMap.host = this; + this.stringMap = delegate.createJsStringMap(); + this.stringMap.host = this; + this.size_0 = 0; + structureChanged(this); +} + +defineClass(28, 84, {3:1, 55:1}, HashMap); +var Ljava_util_HashMap_2_classLit = createForClass('java.util', 'HashMap', 28); +function HashSet(){ + this.map_0 = new HashMap; +} + +defineClass(118, 167, {3:1, 34:1}, HashSet); +_.contains_0 = function contains_5(o){ + return $containsKey(this.map_0, o); +} +; +_.iterator = function iterator_7(){ + return $iterator(new AbstractMap$1(this.map_0)); +} +; +_.size_1 = function size_10(){ + return this.map_0.size_0; +} +; +_.toString$ = function toString_19(){ + return $toString_0(new AbstractMap$1(this.map_0)); +} +; +var Ljava_util_HashSet_2_classLit = createForClass('java.util', 'HashSet', 118); +function $ensureChain(this$static, hashCode){ + var map_0 = this$static.backingMap; + return map_0[hashCode] || (map_0[hashCode] = []); +} + +function $getChain(this$static, hashCode){ + return this$static.backingMap[hashCode]; +} + +function $getChainOrEmpty(this$static, hashCode){ + return this$static.backingMap[hashCode] || []; +} + +function $getEntry(this$static, key){ + var entry, entry$array, entry$index, entry$max; + for (entry$array = $getChainOrEmpty(this$static, key == null?'0':'' + $getHashCode(key)) , entry$index = 0 , entry$max = entry$array.length; entry$index < entry$max; ++entry$index) { + entry = entry$array[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry; + } + } + return null; +} + +function $keys(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_2(this$static, key, value_0){ + var chain, entry, entry$index, entry$max; + chain = $ensureChain(this$static, key == null?'0':'' + $getHashCode(key)); + for (entry$index = 0 , entry$max = chain.length; entry$index < entry$max; ++entry$index) { + entry = chain[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry.setValue(value_0); + } + } + setCheck(chain, chain.length, new AbstractMap$SimpleEntry(key, value_0)); + $elementAdded(this$static.host); + return null; +} + +function $remove_0(this$static, key){ + var chain, entry, hashCode, i; + hashCode = key == null?'0':'' + $getHashCode(key); + chain = $getChainOrEmpty(this$static, hashCode); + for (i = 0; i < chain.length; i++) { + entry = chain[i]; + if ($equals_0(key, entry.getKey())) { + chain.length == 1?(delete this$static.backingMap[hashCode] , undefined):(chain.splice(i, 1) , undefined); + $elementRemoved(this$static.host); + return entry.getValue(); + } + } + return null; +} + +function InternalJsHashCodeMap(){ + this.backingMap = this.createMap(); +} + +defineClass(73, 1, {}, InternalJsHashCodeMap); +_.createMap = function createMap(){ + return Object.create(null); +} +; +_.entries = function entries(){ + return new InternalJsHashCodeMap$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap', 73); +function $hasNext_1(this$static){ + if (this$static.itemIndex < this$static.chain.length) { + return true; + } + if (this$static.chainIndex < this$static.keys_0.length - 1) { + this$static.chain = $getChain(this$static.this$01, this$static.keys_0[++this$static.chainIndex]); + this$static.itemIndex = 0; + return true; + } + return false; +} + +function InternalJsHashCodeMap$1(this$0){ + this.this$01 = this$0; + this.keys_0 = $keys(this.this$01); + this.chain = initDim(Ljava_util_Map$Entry_2_classLit, $intern_2, 17, 0, 0, 1); +} + +defineClass(100, 1, {}, InternalJsHashCodeMap$1); +_.hasNext = function hasNext_5(){ + return $hasNext_1(this); +} +; +_.next = function next_5(){ + return checkCriticalElement($hasNext_1(this)) , this.lastEntry = this.chain[this.itemIndex++] , this.lastEntry; +} +; +_.chainIndex = -1; +_.itemIndex = 0; +_.lastEntry = null; +var Ljava_util_InternalJsHashCodeMap$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/1', 100); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy(){ + InternalJsHashCodeMap.call(this); +} + +defineClass(98, 73, {}, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy); +_.createMap = function createMap_0(){ + return {}; +} +; +_.entries = function entries_0(){ + var list = this.newEntryList(); + var map_0 = this.backingMap; + for (var hashCode in map_0) { + if (hashCode == parseInt(hashCode, 10)) { + var array = map_0[hashCode]; + for (var i = 0, c = array.length; i < c; ++i) { + list.add_0(array[i]); + } + } + } + return list.iterator(); +} +; +_.newEntryList = function newEntryList(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy', 98); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(99, 36, $intern_19, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1); +_.remove = function remove_2(index_0){ + var removed; + return removed = dynamicCast($remove(this, index_0), 17) , $remove_0(this.this$11, removed.getKey()) , removed; +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy/1', 99); +function InternalJsMapFactory(){ +} + +defineClass(95, 1, {}, InternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap(){ + return new InternalJsHashCodeMap; +} +; +_.createJsStringMap = function createJsStringMap(){ + return new InternalJsStringMap; +} +; +var Ljava_util_InternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory', 95); +function $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory = emptyMethod; + delegate = createFactory(); +} + +function canHandleProto(){ + var protoField = '__proto__'; + var map_0 = Object.create(null); + if (map_0[protoField] !== undefined) { + return false; + } + var keys_0 = Object.getOwnPropertyNames(map_0); + if (keys_0.length != 0) { + return false; + } + map_0[protoField] = 42; + if (map_0[protoField] !== 42) { + return false; + } + return true; +} + +function createFactory(){ + var map_0; + if (Object.create && Object.getOwnPropertyNames && canHandleProto()) { + return (map_0 = Object.create(null) , map_0['__proto__'] = 42 , Object.getOwnPropertyNames(map_0).length == 0)?new InternalJsMapFactory$KeysWorkaroundJsMapFactory:new InternalJsMapFactory; + } + return new InternalJsMapFactory$LegacyInternalJsMapFactory; +} + +var delegate; +function InternalJsMapFactory$KeysWorkaroundJsMapFactory(){ +} + +defineClass(97, 95, {}, InternalJsMapFactory$KeysWorkaroundJsMapFactory); +_.createJsStringMap = function createJsStringMap_0(){ + return new InternalJsStringMap$InternalJsStringMapWithKeysWorkaround; +} +; +var Ljava_util_InternalJsMapFactory$KeysWorkaroundJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/KeysWorkaroundJsMapFactory', 97); +function InternalJsMapFactory$LegacyInternalJsMapFactory(){ +} + +defineClass(96, 95, {}, InternalJsMapFactory$LegacyInternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap_0(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy; +} +; +_.createJsStringMap = function createJsStringMap_1(){ + return new InternalJsStringMap$InternalJsStringMapLegacy; +} +; +var Ljava_util_InternalJsMapFactory$LegacyInternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/LegacyInternalJsMapFactory', 96); +function $keys_0(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_3(this$static, key, value_0){ + var oldValue; + oldValue = this$static.backingMap[key]; + oldValue === undefined && $elementAdded(this$static.host); + $set_2(this$static, key, value_0 === undefined?null:value_0); + return oldValue; +} + +function $remove_1(this$static, key){ + var value_0; + value_0 = this$static.backingMap[key]; + if (!(value_0 === undefined)) { + delete this$static.backingMap[key]; + $elementRemoved(this$static.host); + } + return value_0; +} + +function $set_2(this$static, key, value_0){ + this$static.backingMap[key] = value_0; +} + +function InternalJsStringMap(){ + this.backingMap = this.createMap_0(); +} + +defineClass(61, 1, {}, InternalJsStringMap); +_.createMap_0 = function createMap_1(){ + return Object.create(null); +} +; +_.entries = function entries_1(){ + var keys_0; + keys_0 = this.keys_1(); + return new InternalJsStringMap$1(this, keys_0); +} +; +_.get_2 = function get_5(key){ + return this.backingMap[key]; +} +; +_.keys_1 = function keys_1(){ + return $keys_0(this); +} +; +_.newMapEntry = function newMapEntry(key){ + return new InternalJsStringMap$2(this, key); +} +; +_.put = function put(key, value_0){ + return $put_3(this, key, value_0); +} +; +var Ljava_util_InternalJsStringMap_2_classLit = createForClass('java.util', 'InternalJsStringMap', 61); +function InternalJsStringMap$1(this$0, val$keys){ + this.this$01 = this$0; + this.val$keys2 = val$keys; +} + +defineClass(93, 1, {}, InternalJsStringMap$1); +_.hasNext = function hasNext_6(){ + return this.i < this.val$keys2.length; +} +; +_.next = function next_6(){ + return checkCriticalElement(this.i < this.val$keys2.length) , new InternalJsStringMap$2(this.this$01, this.val$keys2[this.i++]); +} +; +_.i = 0; +var Ljava_util_InternalJsStringMap$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/1', 93); +function InternalJsStringMap$2(this$0, val$key){ + this.this$01 = this$0; + this.val$key2 = val$key; +} + +defineClass(72, 169, $intern_18, InternalJsStringMap$2); +_.getKey = function getKey_1(){ + return this.val$key2; +} +; +_.getValue = function getValue_1(){ + return this.this$01.get_2(this.val$key2); +} +; +_.setValue = function setValue_1(object){ + return this.this$01.put(this.val$key2, object); +} +; +var Ljava_util_InternalJsStringMap$2_2_classLit = createForClass('java.util', 'InternalJsStringMap/2', 72); +function InternalJsStringMap$InternalJsStringMapLegacy(){ + InternalJsStringMap.call(this); +} + +defineClass(90, 61, {}, InternalJsStringMap$InternalJsStringMapLegacy); +_.createMap_0 = function createMap_2(){ + return {}; +} +; +_.entries = function entries_2(){ + var list = this.newEntryList_0(); + for (var key in this.backingMap) { + if (key.charCodeAt(0) == 58) { + var entry = this.newMapEntry(key.substring(1)); + list.add_0(entry); + } + } + return list.iterator(); +} +; +_.get_2 = function get_6(key){ + return this.backingMap[':' + key]; +} +; +_.newEntryList_0 = function newEntryList_0(){ + return new InternalJsStringMap$InternalJsStringMapLegacy$1(this); +} +; +_.put = function put_0(key, value_0){ + return $put_3(this, ':' + key, value_0); +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy', 90); +function InternalJsStringMap$InternalJsStringMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(92, 36, $intern_19, InternalJsStringMap$InternalJsStringMapLegacy$1); +_.remove = function remove_3(index_0){ + var removed; + return removed = dynamicCast($remove(this, index_0), 17) , $remove_1(this.this$11, ':' + dynamicCastToString(removed.getKey())) , removed; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy/1', 92); +function InternalJsStringMap$InternalJsStringMapWithKeysWorkaround(){ + InternalJsStringMap.call(this); +} + +defineClass(91, 61, {}, InternalJsStringMap$InternalJsStringMapWithKeysWorkaround); +_.keys_1 = function keys_2(){ + var keys_0; + keys_0 = $keys_0(this); + !(this.backingMap['__proto__'] === undefined) && (keys_0[keys_0.length] = '__proto__'); + return keys_0; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapWithKeysWorkaround_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapWithKeysWorkaround', 91); +var Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'); +function NoSuchElementException(){ + RuntimeException.call(this); +} + +defineClass(75, 15, $intern_4, NoSuchElementException); +var Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util', 'NoSuchElementException', 75); +function equals_11(a, b){ + return maskUndefined(a) === maskUndefined(b) || a != null && equals_Ljava_lang_Object__Z__devirtual$(a, b); +} + +function hashCode_14(o){ + return o != null?hashCode__I__devirtual$(o):0; +} + +var Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'); +function $execute(this$static, a0){ + $invoke_execute(this$static.jso, a0); +} + +function $export(this$static){ + if (!exported) { + exported = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_AsyncQRCallback_2_classLit, this$static); + $export0(this$static); + } +} + +function $export0(this$static){ + var pkg = declarePackage('AsyncQRCallback'); + var __0, __ = this$static; + $wnd.AsyncQRCallback = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0]) && (g = a[0]); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.AsyncQRCallback.prototype = new Object; + __0.execute = $entry(function(a0){ + this.g.execute_1(a0); + } + ); + if (pkg) + for (p in pkg) + $wnd.AsyncQRCallback[p] === undefined && ($wnd.AsyncQRCallback[p] = pkg[p]); +} + +function $invoke_execute(closure, a0){ + closure.apply(null, [a0]); +} + +function AsyncQRCallback_ExporterImpl(){ + $export(this); +} + +function AsyncQRCallback_ExporterImpl_0(jso){ + $export(this); + this.jso = jso; +} + +defineClass(41, 1, {176:1, 41:1}, AsyncQRCallback_ExporterImpl, AsyncQRCallback_ExporterImpl_0); +_.equals$ = function equals_12(obj){ + return obj != null && instanceOf(obj, 41) && this.jso == dynamicCast(obj, 41).jso; +} +; +_.execute_1 = function execute_1(a0){ + $execute(this, a0); +} +; +_.isAssignable = function isAssignable(o){ + return o != null && instanceOf(o, 176); +} +; +var exported = false; +var Ljb_client_AsyncQRCallback_1ExporterImpl_2_classLit = createForClass('jb.client', 'AsyncQRCallback_ExporterImpl', 41); +function $appendTo(this$static, htmlElement){ + addTo(htmlElement, this$static.element); + $onAttach_0(this$static); +} + +function $removeFrom(this$static, htmlElement){ + removeFrom(htmlElement, this$static.element); + $onDetach(this$static); + $stopWebcam(this$static); +} + +function JSScannerWidget(onSuccess, provideVideoStream){ + ScannerWidget.call(this, new ScannerCallback(onSuccess), provideVideoStream); +} + +function addTo(htmlElement, scannerElement){ + htmlElement.appendChild(scannerElement); +} + +function removeFrom(htmlElement, scannerElement){ + htmlElement.removeChild(scannerElement); +} + +defineClass(105, 104, $intern_1, JSScannerWidget); +var Ljb_client_JSScannerWidget_2_classLit = createForClass('jb.client', 'JSScannerWidget', 105); +function JsQRScanner(onSuccess){ + JsQRScanner_0.call(this, onSuccess, null); +} + +function JsQRScanner_0(onSuccess, provideVideoStream){ + this.scanner = new JSScannerWidget(onSuccess, provideVideoStream); +} + +defineClass(42, 1, {42:1}, JsQRScanner, JsQRScanner_0); +_.appendTo_0 = function appendTo(htmlElement){ + $appendTo(this.scanner, htmlElement); +} +; +_.getScanInterval_0 = function getScanInterval(){ + return this.scanner.scanInterval; +} +; +_.getSnapImageMaxSize_0 = function getSnapImageMaxSize(){ + return this.scanner.snapImageMaxSize; +} +; +_.isActive_0 = function isActive(){ + return this.scanner.active; +} +; +_.isScanning_0 = function isScanning(){ + return $isScanning(this.scanner); +} +; +_.removeFrom_0 = function removeFrom_0(htmlElement){ + $removeFrom(this.scanner, htmlElement); +} +; +_.resumeScanning_0 = function resumeScanning(){ + $resumeScanning(this.scanner); +} +; +_.setScanInterval_0 = function setScanInterval(scanInterval){ + $setScanInterval(this.scanner, scanInterval); +} +; +_.setSnapImageMaxSize_0 = function setSnapImageMaxSize(snapImageMaxSize){ + $setSnapImageMaxSize(this.scanner, snapImageMaxSize); +} +; +_.stopScanning_0 = function stopScanning(){ + this.scanner.active = false; +} +; +var Ljb_client_JsQRScanner_2_classLit = createForClass('jb.client', 'JsQRScanner', 42); +function $export_0(this$static){ + if (!exported_0) { + exported_0 = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_JsQRScanner_2_classLit, this$static); + $export0_0(this$static); + } +} + +function $export0_0(this$static){ + var pkg = declarePackage('JsQRScanner'); + var __0, __ = this$static; + $wnd.JsQRScanner = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0])?(g = a[0]):a.length == 2?(g = ___create_0(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]), a[1])):a.length == 1 && (g = ___create(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]))); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.JsQRScanner.prototype = new Object; + __0.appendTo = $entry(function(a0){ + this.g.appendTo_0(a0); + } + ); + __0.getScanInterval = $entry(function(){ + return this.g.getScanInterval_0(); + } + ); + __0.getSnapImageMaxSize = $entry(function(){ + return this.g.getSnapImageMaxSize_0(); + } + ); + __0.isActive = $entry(function(){ + return this.g.isActive_0(); + } + ); + __0.isScanning = $entry(function(){ + return this.g.isScanning_0(); + } + ); + __0.removeFrom = $entry(function(a0){ + this.g.removeFrom_0(a0); + } + ); + __0.resumeScanning = $entry(function(){ + this.g.resumeScanning_0(); + } + ); + __0.setScanInterval = $entry(function(a0){ + this.g.setScanInterval_0(a0); + } + ); + __0.setSnapImageMaxSize = $entry(function(a0){ + this.g.setSnapImageMaxSize_0(a0); + } + ); + __0.stopScanning = $entry(function(){ + this.g.stopScanning_0(); + } + ); + if (pkg) + for (p in pkg) + $wnd.JsQRScanner[p] === undefined && ($wnd.JsQRScanner[p] = pkg[p]); +} + +function JsQRScanner_ExporterImpl(){ + $export_0(this); +} + +function ___create(a0){ + return new JsQRScanner(a0); +} + +function ___create_0(a0, a1){ + return new JsQRScanner_0(a0, a1); +} + +defineClass(102, 1, {}, JsQRScanner_ExporterImpl); +_.isAssignable = function isAssignable_0(o){ + return o != null && instanceOf(o, 42); +} +; +var exported_0 = false; +var Ljb_client_JsQRScanner_1ExporterImpl_2_classLit = createForClass('jb.client', 'JsQRScanner_ExporterImpl', 102); +function $onSuccess(this$static, result){ + $execute(this$static.qrCallback, result.text_0); +} + +function ScannerCallback(qrCallback){ + this.qrCallback = qrCallback; +} + +defineClass(106, 1, {}, ScannerCallback); +var Ljb_client_ScannerCallback_2_classLit = createForClass('jb.client', 'ScannerCallback', 106); +defineClass(170, 1, {}); +var Lorg_timepedia_exporter_client_ExporterBaseImpl_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseImpl', 170); +function $addExporter(this$static, c, o){ + $put(this$static.exporterMap, c, o); +} + +function $declarePackage(qualifiedExportName){ + var i, l, o, prefix, superPackages; + superPackages = $split(qualifiedExportName, '\\.', 0); + prefix = $wnd; + i = 0; + for (l = superPackages.length - 1; i < l; i++) { + if (!$equals(superPackages[i], 'client')) { + prefix[superPackages[i]] || (prefix[superPackages[i]] = {}); + prefix = getProp(prefix, superPackages[i]); + } + } + o = getProp(prefix, superPackages[i]); + return o; +} + +function ExporterBaseActual(){ + this.exporterMap = new HashMap; + new HashMap; + new HashMap; +} + +function getProp(jso, key){ + return jso != null?jso[key]:null; +} + +defineClass(94, 170, {}, ExporterBaseActual); +var Lorg_timepedia_exporter_client_ExporterBaseActual_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseActual', 94); +function $clinit_ExporterUtil(){ + $clinit_ExporterUtil = emptyMethod; + impl = new ExporterBaseActual; +} + +function declarePackage(qualifiedExportName){ + $clinit_ExporterUtil(); + return $declarePackage(qualifiedExportName); +} + +function setWrapper(instance, wrapper){ + $clinit_ExporterUtil(); + instance['__gwtex_wrap'] = wrapper; +} + +var impl; +var I_classLit = createForPrimitive('int', 'I'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang', 'StackTraceElement', null), Lcom_google_gwt_lang_CollapsedPropertyHolder_2_classLit = createForClass('com.google.gwt.lang', 'CollapsedPropertyHolder', 154), Lcom_google_gwt_lang_JavaClassHierarchySetupUtil_2_classLit = createForClass('com.google.gwt.lang', 'JavaClassHierarchySetupUtil', 156), Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass('com.google.gwt.lang', 'LongLibBase/LongEmul', null), Lcom_google_gwt_lang_ModuleUtils_2_classLit = createForClass('com.google.gwt.lang', 'ModuleUtils', 159), B_classLit = createForPrimitive('byte', 'B'), D_classLit = createForPrimitive('double', 'D'), F_classLit = createForPrimitive('float', 'F'), C_classLit = createForPrimitive('char', 'C'), Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'), Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'), Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var $entry = registerEntry(); +var gwtOnLoad = gwtOnLoad = gwtOnLoad_0; +addInitFunctions(init); +setGwtProperty('permProps', [[['locale', 'default'], ['user.agent', 'ie8']]]); +$sendStats('moduleStartup', 'moduleEvalEnd'); +gwtOnLoad(__gwtModuleFunction.__errFn, __gwtModuleFunction.__moduleName, __gwtModuleFunction.__moduleBase, __gwtModuleFunction.__softPermutationId,__gwtModuleFunction.__computePropValue); +$sendStats('moduleStartup', 'end'); +$gwt && $gwt.permProps && __gwtModuleFunction.__moduleStartupDone($gwt.permProps); +//# sourceURL=jsqrscanner-0.js + diff --git a/flutter_barcode_reader_web/assets/E2DE619934E7B85CBFB9935ADFC149FD.cache.js b/flutter_barcode_reader_web/assets/E2DE619934E7B85CBFB9935ADFC149FD.cache.js new file mode 100644 index 00000000..8d390dc9 --- /dev/null +++ b/flutter_barcode_reader_web/assets/E2DE619934E7B85CBFB9935ADFC149FD.cache.js @@ -0,0 +1,7543 @@ +var $wnd = $wnd || window.parent; +var __gwtModuleFunction = $wnd.jsqrscanner; +var $sendStats = __gwtModuleFunction.__sendStats; +$sendStats('moduleStartup', 'moduleEvalStart'); +var $gwt_version = "2.7.0"; +var $strongName = 'E2DE619934E7B85CBFB9935ADFC149FD'; +var $gwt = {}; +var $doc = $wnd.document; +var $moduleName, $moduleBase; +function __gwtStartLoadingFragment(frag) { +var fragFile = 'deferredjs/' + $strongName + '/' + frag + '.cache.js'; +return __gwtModuleFunction.__startLoadingFragment(fragFile); +} +function __gwtInstallCode(code) {return __gwtModuleFunction.__installRunAsyncCode(code);} +function __gwt_isKnownPropertyValue(propName, propValue) { +return __gwtModuleFunction.__gwt_isKnownPropertyValue(propName, propValue); +} +function __gwt_getMetaProperty(name) { +return __gwtModuleFunction.__gwt_getMetaProperty(name); +} +var $stats = $wnd.__gwtStatsEvent ? function(a) { +return $wnd.__gwtStatsEvent && $wnd.__gwtStatsEvent(a); +} : null; +var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; +var $intern_0 = 2147483647, $intern_1 = {33:1, 34:1, 31:1, 30:1, 35:1, 25:1, 20:1}, $intern_2 = {3:1, 5:1}, $intern_3 = {3:1, 8:1}, $intern_4 = {3:1, 10:1, 8:1}, $intern_5 = 65535, $intern_6 = 4194303, $intern_7 = 1048575, $intern_8 = 4194304, $intern_9 = 17592186044416, $intern_10 = -9223372036854775808, $intern_11 = 524288, $intern_12 = 65536, $intern_13 = 1048576, $intern_14 = 8388608, $intern_15 = 16777216, $intern_16 = 33554432, $intern_17 = 67108864, $intern_18 = {3:1}, $intern_19 = {3:1, 22:1, 5:1}, $intern_20 = {7:1, 3:1}, $intern_21 = {14:1, 3:1, 19:1, 13:1}, $intern_22 = 0.20000000298023224, $intern_23 = {40:1}, $intern_24 = {17:1}, $intern_25 = {3:1, 52:1}; +var _, initFnList_0, prototypesByTypeId_0 = {}, permutationId = -1; +function typeMarkerFn(){ +} + +function portableObjCreate(obj){ + function F(){ + } + + ; + F.prototype = obj || {}; + return new F; +} + +function modernizeBrowser(){ + !Array.isArray && (Array.isArray = function(vArg){ + return Object.prototype.toString.call(vArg) === '[object Array]'; + } + ); +} + +function maybeGetClassLiteralFromPlaceHolder_0(entry){ + return entry instanceof Array?entry[0]:null; +} + +function emptyMethod(){ +} + +function defineClass(typeId, superTypeId, castableTypeMap){ + var prototypesByTypeId = prototypesByTypeId_0; + var createSubclassPrototype = createSubclassPrototype_0; + var maybeGetClassLiteralFromPlaceHolder = maybeGetClassLiteralFromPlaceHolder_0; + var prototype_0 = prototypesByTypeId[typeId]; + var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0); + if (prototype_0 && !clazz) { + _ = prototype_0; + } + else { + _ = prototypesByTypeId[typeId] = !superTypeId?{}:createSubclassPrototype(superTypeId); + _.castableTypeMap$ = castableTypeMap; + _.constructor = _; + !superTypeId && (_.typeMarker$ = typeMarkerFn); + } + for (var i = 3; i < arguments.length; ++i) { + arguments[i].prototype = _; + } + clazz && (_.___clazz$ = clazz); +} + +function createSubclassPrototype_0(superTypeId){ + var prototypesByTypeId = prototypesByTypeId_0; + return portableObjCreate(prototypesByTypeId[superTypeId]); +} + +function setGwtProperty(propertyName, propertyValue){ + typeof window === 'object' && typeof window['$gwt'] === 'object' && (window['$gwt'][propertyName] = propertyValue); +} + +function registerEntry(){ + return entry_0; +} + +function gwtOnLoad_0(errFn, modName, modBase, softPermutationId){ + ensureModuleInit(); + var initFnList = initFnList_0; + $moduleName = modName; + $moduleBase = modBase; + permutationId = softPermutationId; + function initializeModules(){ + for (var i = 0; i < initFnList.length; i++) { + initFnList[i](); + } + } + + if (errFn) { + try { + $entry(initializeModules)(); + } + catch (e) { + errFn(modName, e); + } + } + else { + $entry(initializeModules)(); + } +} + +function ensureModuleInit(){ + initFnList_0 == null && (initFnList_0 = []); +} + +function addInitFunctions(){ + ensureModuleInit(); + var initFnList = initFnList_0; + for (var i = 0; i < arguments.length; i++) { + initFnList.push(arguments[i]); + } +} + +function Object_0(){ +} + +function equals_Ljava_lang_Object__Z__devirtual$(this$static, other){ + return isJavaString(this$static)?$equals(this$static, other):hasJavaObjectVirtualDispatch(this$static)?this$static.equals$(other):isJavaArray(this$static)?this$static === other:this$static === other; +} + +function getClass__Ljava_lang_Class___devirtual$(this$static){ + return isJavaString(this$static)?Ljava_lang_String_2_classLit:hasJavaObjectVirtualDispatch(this$static)?this$static.___clazz$:isJavaArray(this$static)?this$static.___clazz$:Lcom_google_gwt_core_client_JavaScriptObject_2_classLit; +} + +function hashCode__I__devirtual$(this$static){ + return isJavaString(this$static)?getHashCode_0(this$static):hasJavaObjectVirtualDispatch(this$static)?this$static.hashCode$():isJavaArray(this$static)?getHashCode(this$static):getHashCode(this$static); +} + +defineClass(1, null, {}, Object_0); +_.equals$ = function equals(other){ + return this === other; +} +; +_.getClass$ = function getClass_0(){ + return this.___clazz$; +} +; +_.hashCode$ = function hashCode_0(){ + return getHashCode(this); +} +; +_.toString$ = function toString_0(){ + return $getName(getClass__Ljava_lang_Class___devirtual$(this)) + '@' + toUnsignedRadixString(hashCode__I__devirtual$(this), 16); +} +; +_.toString = function(){ + return this.toString$(); +} +; +stringCastMap = {3:1, 179:1, 19:1, 2:1}; +modernizeBrowser(); +function canCast(src_0, dstId){ + return isJavaString(src_0) && !!stringCastMap[dstId] || src_0.castableTypeMap$ && !!src_0.castableTypeMap$[dstId]; +} + +function charToString(x_0){ + return String.fromCharCode(x_0); +} + +function dynamicCast(src_0, dstId){ + if (src_0 != null && !canCast(src_0, dstId)) { + throw new ClassCastException; + } + return src_0; +} + +function dynamicCastJso(src_0){ + if (src_0 != null && !(!isJavaString(src_0) && !hasTypeMarker(src_0))) { + throw new ClassCastException; + } + return src_0; +} + +function dynamicCastToString(src_0){ + if (src_0 != null && !isJavaString(src_0)) { + throw new ClassCastException; + } + return src_0; +} + +function hasJavaObjectVirtualDispatch(src_0){ + return !instanceofArray(src_0) && hasTypeMarker(src_0); +} + +function instanceOf(src_0, dstId){ + return src_0 != null && canCast(src_0, dstId); +} + +function instanceOfJso(src_0){ + return src_0 != null && !isJavaString(src_0) && !hasTypeMarker(src_0); +} + +function instanceofArray(src_0){ + return Array.isArray(src_0); +} + +function isJavaArray(src_0){ + return instanceofArray(src_0) && hasTypeMarker(src_0); +} + +function isJavaString(src_0){ + return typeof src_0 === 'string'; +} + +function maskUndefined(src_0){ + return src_0 == null?null:src_0; +} + +function narrow_byte(x_0){ + return x_0 << 24 >> 24; +} + +function round_int(x_0){ + return ~~Math.max(Math.min(x_0, $intern_0), -2147483648); +} + +function throwClassCastExceptionUnlessNull(o){ + if (o != null) { + throw new ClassCastException; + } + return null; +} + +var stringCastMap; +function $ensureNamesAreInitialized(this$static){ + if (this$static.typeName != null) { + return; + } + initializeNames(this$static); +} + +function $getName(this$static){ + $ensureNamesAreInitialized(this$static); + return this$static.typeName; +} + +function Class(){ + ++nextSequentialId; + this.typeName = null; + this.simpleName = null; + this.packageName = null; + this.compoundName = null; + this.canonicalName = null; + this.typeId = null; + this.arrayLiterals = null; +} + +function createClassObject(packageName, compoundClassName){ + var clazz; + clazz = new Class; + clazz.packageName = packageName; + clazz.compoundName = compoundClassName; + return clazz; +} + +function createForClass(packageName, compoundClassName, typeId){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + return clazz; +} + +function createForEnum(packageName, compoundClassName, typeId, enumConstantsFunc){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + maybeSetClassLiteral(typeId, clazz); + clazz.modifiers = enumConstantsFunc?8:0; + clazz.enumConstantsFunc = enumConstantsFunc; + return clazz; +} + +function createForInterface(packageName, compoundClassName){ + var clazz; + clazz = createClassObject(packageName, compoundClassName); + clazz.modifiers = 2; + return clazz; +} + +function createForPrimitive(className, primitiveTypeId){ + var clazz; + clazz = createClassObject('', className); + clazz.typeId = primitiveTypeId; + clazz.modifiers = 1; + return clazz; +} + +function getClassLiteralForArray_0(leafClass, dimensions){ + var arrayLiterals = leafClass.arrayLiterals = leafClass.arrayLiterals || []; + return arrayLiterals[dimensions] || (arrayLiterals[dimensions] = leafClass.createClassLiteralForArray(dimensions)); +} + +function getPrototypeForClass(clazz){ + if (clazz.isPrimitive()) { + return null; + } + var typeId = clazz.typeId; + var prototype_0 = prototypesByTypeId_0[typeId]; + return prototype_0; +} + +function initializeNames(clazz){ + if (clazz.isArray_0()) { + var componentType = clazz.componentType; + componentType.isPrimitive()?(clazz.typeName = '[' + componentType.typeId):!componentType.isArray_0()?(clazz.typeName = '[L' + componentType.getName() + ';'):(clazz.typeName = '[' + componentType.getName()); + clazz.canonicalName = componentType.getCanonicalName() + '[]'; + clazz.simpleName = componentType.getSimpleName() + '[]'; + return; + } + var packageName = clazz.packageName; + var compoundName = clazz.compoundName; + compoundName = compoundName.split('/'); + clazz.typeName = join_0('.', [packageName, join_0('$', compoundName)]); + clazz.canonicalName = join_0('.', [packageName, join_0('.', compoundName)]); + clazz.simpleName = compoundName[compoundName.length - 1]; +} + +function join_0(separator, strings){ + var i = 0; + while (!strings[i] || strings[i] == '') { + i++; + } + var result = strings[i++]; + for (; i < strings.length; i++) { + if (!strings[i] || strings[i] == '') { + continue; + } + result += separator + strings[i]; + } + return result; +} + +function maybeSetClassLiteral(typeId, clazz){ + var proto; + if (!typeId) { + return; + } + clazz.typeId = typeId; + var prototype_0 = getPrototypeForClass(clazz); + if (!prototype_0) { + prototypesByTypeId_0[typeId] = [clazz]; + return; + } + prototype_0.___clazz$ = clazz; +} + +defineClass(67, 1, {}, Class); +_.createClassLiteralForArray = function createClassLiteralForArray(dimensions){ + var clazz; + clazz = new Class; + clazz.modifiers = 4; + dimensions > 1?(clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1)):(clazz.componentType = this); + return clazz; +} +; +_.getCanonicalName = function getCanonicalName(){ + $ensureNamesAreInitialized(this); + return this.canonicalName; +} +; +_.getName = function getName(){ + return $getName(this); +} +; +_.getSimpleName = function getSimpleName(){ + $ensureNamesAreInitialized(this); + return this.simpleName; +} +; +_.isArray_0 = function isArray(){ + return (this.modifiers & 4) != 0; +} +; +_.isPrimitive = function isPrimitive(){ + return (this.modifiers & 1) != 0; +} +; +_.toString$ = function toString_13(){ + return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + ($ensureNamesAreInitialized(this) , this.typeName); +} +; +_.modifiers = 0; +var nextSequentialId = 1; +var Ljava_lang_Object_2_classLit = createForClass('java.lang', 'Object', 1), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptObject$', 0), Ljava_lang_Class_2_classLit = createForClass('java.lang', 'Class', 67); +function $setElement(this$static, elem){ + this$static.element = elem; +} + +function $setPixelSize(this$static, width_0, height){ + width_0 >= 0 && (($clinit_DOM() , this$static.element).style['width'] = width_0 + 'px' , undefined); + height >= 0 && (($clinit_DOM() , this$static.element).style['height'] = height + 'px' , undefined); +} + +function $setStyleName(this$static){ + ($clinit_DOM() , this$static.element).className = 'qrPreviewVideo'; +} + +defineClass(25, 1, {30:1, 25:1}); +_.toString$ = function toString_1(){ + if (!this.element) { + return '(null handle)'; + } + return ($clinit_DOM() , this.element).outerHTML; +} +; +var Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui', 'UIObject', 25); +function $onAttach(this$static){ + var bitsToAdd; + if (this$static.attached) { + throw new IllegalStateException_0("Should only call onAttach when the widget is detached from the browser's document"); + } + this$static.attached = true; + $clinit_DOM(); + setEventListener(this$static.element, this$static); + bitsToAdd = this$static.eventsToSink; + this$static.eventsToSink = -1; + bitsToAdd > 0 && (this$static.eventsToSink == -1?$sinkEvents(this$static.element, bitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= bitsToAdd)); + this$static.doAttachChildren(); +} + +function $onDetach(this$static){ + if (!this$static.attached) { + throw new IllegalStateException_0("Should only call onDetach when the widget is attached to the browser's document"); + } + try { + this$static.doDetachChildren(); + } + finally { + $clinit_DOM(); + setEventListener(this$static.element, null); + this$static.attached = false; + } +} + +function $removeFromParent(this$static){ + if (!this$static.parent_0) { + $clinit_RootPanel(); + $contains_2(widgetsToDetach, this$static) && detachNow(this$static); + } + else if (this$static.parent_0) { + $remove(this$static.parent_0, this$static); + } + else if (this$static.parent_0) { + throw new IllegalStateException_0("This widget's parent does not implement HasWidgets"); + } +} + +function $setParent(this$static, parent_0){ + var oldParent; + oldParent = this$static.parent_0; + if (!parent_0) { + try { + !!oldParent && oldParent.attached && $onDetach(this$static); + } + finally { + this$static.parent_0 = null; + } + } + else { + if (oldParent) { + throw new IllegalStateException_0('Cannot set a new parent without first clearing the old parent'); + } + this$static.parent_0 = parent_0; + parent_0.attached && $onAttach_0(this$static); + } +} + +defineClass(20, 25, $intern_1); +_.doAttachChildren = function doAttachChildren(){ +} +; +_.doDetachChildren = function doDetachChildren(){ +} +; +_.onAttach = function onAttach(){ + $onAttach(this); +} +; +_.onBrowserEvent = function onBrowserEvent(event_0){ + var related; + switch ($clinit_DOM() , $eventGetTypeInt(event_0.type)) { + case 16: + case 32: + related = event_0.relatedTarget; + if (!!related && isOrHasChildImpl(this.element, related)) { + return; + } + + } + fireNativeEvent($clinit_DOM()); +} +; +_.onDetach = function onDetach(){ + $onDetach(this); +} +; +_.attached = false; +_.eventsToSink = 0; +var Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Widget', 20); +function $onAttach_0(this$static){ + var tabIndex; + $onAttach(this$static); + tabIndex = $getTabIndex(($clinit_DOM() , this$static.element)); + -1 == tabIndex && (this$static.element.tabIndex = 0 , undefined); +} + +defineClass(175, 20, $intern_1); +_.onAttach = function onAttach_0(){ + $onAttach_0(this); +} +; +var Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FocusWidget', 175); +function $getCanvasElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function $getContext2d(this$static){ + return ($clinit_DOM() , this$static.element).getContext('2d'); +} + +function $setCoordinateSpaceHeight(this$static, height){ + $setHeight(($clinit_DOM() , this$static.element), height); +} + +function $setCoordinateSpaceWidth(this$static, width_0){ + $setWidth(($clinit_DOM() , this$static.element), width_0); +} + +function Canvas_0(element){ + $setElement(this, ($clinit_DOM() , element)); +} + +function createIfSupported(){ + var element; + !detector && (detector = new Canvas$CanvasElementSupportDetectedMaybe); + element = $doc.createElement('canvas'); + if (!element.getContext) { + return null; + } + return new Canvas_0(element); +} + +defineClass(120, 175, $intern_1, Canvas_0); +var detector; +var Lcom_google_gwt_canvas_client_Canvas_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas', 120); +defineClass(177, 1, {}); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetector_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetector', 177); +function Canvas$CanvasElementSupportDetectedMaybe(){ +} + +defineClass(121, 177, {}, Canvas$CanvasElementSupportDetectedMaybe); +var Lcom_google_gwt_canvas_client_Canvas$CanvasElementSupportDetectedMaybe_2_classLit = createForClass('com.google.gwt.canvas.client', 'Canvas/CanvasElementSupportDetectedMaybe', 121); +function $set(this$static, i, value_0){ + this$static[i] = value_0; +} + +function $drawImage(this$static, image, dx, dy, dw, dh){ + this$static.drawImage(image, dx, dy, dw, dh); +} + +function $getImageData(this$static, sx, sy, sw, sh){ + return this$static.getImageData(sx, sy, sw, sh); +} + +function $putImageData(this$static, imagedata, x_0, y_0){ + return this$static.putImageData(imagedata, x_0, y_0); +} + +function $getColorAt(this$static, x_0, y_0, offset){ + return this$static.data[4 * (x_0 + y_0 * this$static.width) + offset] || 0; +} + +function $setStackTrace(stackTrace){ + var copy, i, length_0; + length_0 = stackTrace.length; + copy = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 182, length_0, 0, 1); + for (i = 0; i < length_0; ++i) { + copy[i] = throwClassCastExceptionUnlessNull(checkNotNull(stackTrace[i])); + } +} + +function Throwable(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(8, 1, $intern_3); +_.fillInStackTrace = function fillInStackTrace(){ + captureStackTrace(this, this.detailMessage); + return this; +} +; +_.getMessage = function getMessage(){ + return this.detailMessage; +} +; +_.toString$ = function toString_2(){ + var className, msg; + className = $getName(this.___clazz$); + msg = this.getMessage(); + return msg != null?className + ': ' + msg:className; +} +; +var Ljava_lang_Throwable_2_classLit = createForClass('java.lang', 'Throwable', 8); +function Exception(){ + this.fillInStackTrace(); +} + +function Exception_0(message){ + this.detailMessage = message; + this.fillInStackTrace(); +} + +defineClass(10, 8, $intern_4); +var Ljava_lang_Exception_2_classLit = createForClass('java.lang', 'Exception', 10); +function RuntimeException(){ + Exception.call(this); +} + +function RuntimeException_0(message){ + Exception_0.call(this, message); +} + +function RuntimeException_1(message){ + Throwable.call(this, message); +} + +defineClass(15, 10, $intern_4); +var Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang', 'RuntimeException', 15); +defineClass(81, 15, $intern_4); +var Lcom_google_gwt_core_client_impl_JavaScriptExceptionBase_2_classLit = createForClass('com.google.gwt.core.client.impl', 'JavaScriptExceptionBase', 81); +function $clinit_JavaScriptException(){ + $clinit_JavaScriptException = emptyMethod; + NOT_SET = new Object_0; +} + +function $ensureInit(this$static){ + var exception; + if (this$static.message_0 == null) { + exception = maskUndefined(this$static.e) === maskUndefined(NOT_SET)?null:this$static.e; + this$static.name_0 = exception == null?'null':instanceOfJso(exception)?getExceptionName0(dynamicCastJso(exception)):isJavaString(exception)?'String':$getName(getClass__Ljava_lang_Class___devirtual$(exception)); + this$static.description = this$static.description + ': ' + (instanceOfJso(exception)?getExceptionDescription0(dynamicCastJso(exception)):exception + ''); + this$static.message_0 = '(' + this$static.name_0 + ') ' + this$static.description; + } +} + +function JavaScriptException(e){ + $clinit_JavaScriptException(); + this.detailMessage = null; + this.description = ''; + this.e = e; + this.description = ''; +} + +function getExceptionDescription0(e){ + return e == null?null:e.message; +} + +function getExceptionName0(e){ + return e == null?null:e.name; +} + +defineClass(37, 81, {37:1, 3:1, 10:1, 8:1}, JavaScriptException); +_.getMessage = function getMessage_0(){ + $ensureInit(this); + return this.message_0; +} +; +_.getThrown = function getThrown(){ + return maskUndefined(this.e) === maskUndefined(NOT_SET)?null:this.e; +} +; +var NOT_SET; +var Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client', 'JavaScriptException', 37); +function now_1(){ + if (Date.now) { + return Date.now(); + } + return (new Date).getTime(); +} + +defineClass(155, 1, {}); +var Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client', 'Scheduler', 155); +function apply_0(jsFunction, thisObj, args){ + return jsFunction.apply(thisObj, args); + var __0; +} + +function enter(){ + var now_0; + if (entryDepth != 0) { + now_0 = now_1(); + if (now_0 - watchdogEntryDepthLastScheduled > 2000) { + watchdogEntryDepthLastScheduled = now_0; + watchdogEntryDepthTimerId = $wnd.setTimeout(watchdogEntryDepthRun, 10); + } + } + if (entryDepth++ == 0) { + $flushEntryCommands(($clinit_SchedulerImpl() , INSTANCE)); + return true; + } + return false; +} + +function entry_0(jsFunction){ + return function(){ + return entry0(jsFunction, this, arguments); + var __0; + } + ; +} + +function entry0(jsFunction, thisObj, args){ + var initialEntry; + initialEntry = enter(); + try { + return apply_0(jsFunction, thisObj, args); + } + finally { + exit(initialEntry); + } +} + +function exit(initialEntry){ + initialEntry && $flushFinallyCommands(($clinit_SchedulerImpl() , INSTANCE)); + --entryDepth; + if (initialEntry) { + if (watchdogEntryDepthTimerId != -1) { + watchdogEntryDepthCancel(watchdogEntryDepthTimerId); + watchdogEntryDepthTimerId = -1; + } + } +} + +function getHashCode(o){ + return o.$H || (o.$H = ++sNextHashId); +} + +function reportToBrowser(e){ + $wnd.setTimeout(function(){ + throw e; + } + , 0); +} + +function watchdogEntryDepthCancel(timerId){ + $wnd.clearTimeout(timerId); +} + +function watchdogEntryDepthRun(){ + entryDepth != 0 && (entryDepth = 0); + watchdogEntryDepthTimerId = -1; +} + +var entryDepth = 0, sNextHashId = 0, watchdogEntryDepthLastScheduled = 0, watchdogEntryDepthTimerId = -1; +function $clinit_SchedulerImpl(){ + $clinit_SchedulerImpl = emptyMethod; + INSTANCE = new SchedulerImpl; +} + +function $flushEntryCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.entryCommands) { + rescheduled = null; + do { + oldQueue = this$static.entryCommands; + this$static.entryCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.entryCommands); + this$static.entryCommands = rescheduled; + } +} + +function $flushFinallyCommands(this$static){ + var oldQueue, rescheduled; + if (this$static.finallyCommands) { + rescheduled = null; + do { + oldQueue = this$static.finallyCommands; + this$static.finallyCommands = null; + rescheduled = runScheduledTasks(oldQueue, rescheduled); + } + while (this$static.finallyCommands); + this$static.finallyCommands = rescheduled; + } +} + +function SchedulerImpl(){ +} + +function push_0(queue, task){ + !queue && (queue = []); + queue[queue.length] = task; + return queue; +} + +function runScheduledTasks(tasks, rescheduled){ + var e, i, j, t; + for (i = 0 , j = tasks.length; i < j; i++) { + t = tasks[i]; + try { + t[1]?t[0].nullMethod() && (rescheduled = push_0(rescheduled, t)):t[0].nullMethod(); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + reportToBrowser(instanceOf(e, 37)?dynamicCast(e, 37).getThrown():e); + } + else + throw unwrap($e0); + } + } + return rescheduled; +} + +defineClass(101, 155, {}, SchedulerImpl); +var INSTANCE; +var Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl', 'SchedulerImpl', 101); +function $clinit_StackTraceCreator(){ + $clinit_StackTraceCreator = emptyMethod; + var c, enforceLegacy; + enforceLegacy = !(!!Error.stackTraceLimit || 'stack' in new Error); + c = new StackTraceCreator$CollectorModernNoSourceMap; + collector = enforceLegacy?new StackTraceCreator$CollectorLegacy:c; +} + +function captureStackTrace(throwable, reference){ + $clinit_StackTraceCreator(); + collector.collect(throwable, reference); +} + +function extractFunctionName(fnName){ + var fnRE = /function(?:\s+([\w$]+))?\s*\(/; + var match_0 = fnRE.exec(fnName); + return match_0 && match_0[1] || 'anonymous'; +} + +var collector; +defineClass(166, 1, {}); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/Collector', 166); +function StackTraceCreator$CollectorLegacy(){ +} + +defineClass(82, 166, {}, StackTraceCreator$CollectorLegacy); +_.collect = function collect(t, thrownIgnored){ + var seen = {}, name_1; + t.fnStack = []; + var callee = arguments.callee.caller; + while (callee) { + var name_0 = ($clinit_StackTraceCreator() , callee.name || (callee.name = extractFunctionName(callee.toString()))); + t.fnStack.push(name_0); + var keyName = ':' + name_0; + var withThisName = seen[keyName]; + if (withThisName) { + var i, j; + for (i = 0 , j = withThisName.length; i < j; i++) { + if (withThisName[i] === callee) { + return; + } + } + } + (withThisName || (seen[keyName] = [])).push(callee); + callee = callee.caller; + } +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorLegacy_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorLegacy', 82); +function $clinit_StackTraceCreator$CollectorModern(){ + $clinit_StackTraceCreator$CollectorModern = emptyMethod; + Error.stackTraceLimit = 64; +} + +defineClass(167, 166, {}); +_.collect = function collect_0(t, jsThrown){ + function fixIE(e){ + if (!('stack' in e)) { + try { + throw e; + } + catch (ignored) { + } + } + return e; + } + + var backingJsError; + typeof jsThrown == 'string'?(backingJsError = fixIE(new Error(jsThrown))):jsThrown instanceof Object && 'stack' in jsThrown?(backingJsError = jsThrown):(backingJsError = fixIE(new Error)); + t.__gwt$backingJsError = backingJsError; +} +; +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModern_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModern', 167); +function StackTraceCreator$CollectorModernNoSourceMap(){ + $clinit_StackTraceCreator$CollectorModern(); +} + +defineClass(83, 167, {}, StackTraceCreator$CollectorModernNoSourceMap); +var Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorModernNoSourceMap_2_classLit = createForClass('com.google.gwt.core.client.impl', 'StackTraceCreator/CollectorModernNoSourceMap', 83); +function checkArrayType(expression, errorMessage){ + if (!expression) { + throw new ArrayStoreException_0('' + errorMessage); + } +} + +function checkCriticalArgument(expression){ + if (!expression) { + throw new IllegalArgumentException; + } +} + +function checkCriticalArgument_0(expression, errorMessage){ + if (!expression) { + throw new IllegalArgumentException_0('' + errorMessage); + } +} + +function checkCriticalArgument_1(expression, errorMessageArgs){ + if (!expression) { + throw new IllegalArgumentException_0(format('%s > %s', errorMessageArgs)); + } +} + +function checkCriticalElement(expression){ + if (!expression) { + throw new NoSuchElementException; + } +} + +function checkCriticalPositionIndexes(end, size_0){ + if (end > size_0) { + throw new IndexOutOfBoundsException_0('toIndex: ' + end + ' > size ' + size_0); + } + if (3 > end) { + throw new IllegalArgumentException_0('fromIndex: 3 > toIndex: ' + end); + } +} + +function checkElementIndex(index_0, size_0){ + if (index_0 < 0 || index_0 >= size_0) { + throw new IndexOutOfBoundsException_0('Index: ' + index_0 + ', Size: ' + size_0); + } +} + +function checkNotNull(reference){ + if (reference == null) { + throw new NullPointerException; + } + return reference; +} + +function checkNotNull_0(reference, errorMessage){ + if (reference == null) { + throw new NullPointerException_0('' + errorMessage); + } +} + +function checkPositionIndex(size_0){ + if (0 > size_0) { + throw new IndexOutOfBoundsException_0('Index: 0, Size: ' + size_0); + } +} + +function checkState(expression){ + if (!expression) { + throw new IllegalStateException; + } +} + +function format(template, args){ + var builder, i, placeholderStart, templateStart; + template = '' + template; + builder = new StringBuilder(template.length + 16 * args.length); + templateStart = 0; + i = 0; + while (i < args.length) { + placeholderStart = template.indexOf('%s', templateStart); + if (placeholderStart == -1) { + break; + } + $append_2(builder, template.substr(templateStart, placeholderStart - templateStart)); + $append_1(builder, args[i++]); + templateStart = placeholderStart + 2; + } + $append_2(builder, __substr(template, templateStart, template.length - templateStart)); + if (i < args.length) { + builder.string += ' ['; + $append_1(builder, args[i++]); + while (i < args.length) { + builder.string += ', '; + $append_1(builder, args[i++]); + } + builder.string += ']'; + } + return builder.string; +} + +function $appendChild(this$static, newChild){ + return this$static.appendChild(newChild); +} + +function $removeChild(this$static, oldChild){ + return this$static.removeChild(oldChild); +} + +function $setHeight(this$static, height){ + this$static.height = height; +} + +function $setWidth(this$static, width_0){ + this$static.width = width_0; +} + +function $eventGetCurrentTarget(event_0){ + return event_0.currentTarget || $wnd; +} + +function $getTabIndex(elem){ + return elem.tabIndex < $intern_5?elem.tabIndex:-(elem.tabIndex % $intern_5) - 1; +} + +function isOrHasChildImpl(parent_0, child){ + if (parent_0.nodeType != 1 && parent_0.nodeType != 9) { + return parent_0 == child; + } + if (child.nodeType != 1) { + child = child.parentNode; + if (!child) { + return false; + } + } + if (parent_0.nodeType == 9) { + return parent_0 === child || parent_0.body && parent_0.body.contains(child); + } + else { + return parent_0 === child || parent_0.contains(child); + } +} + +function fireNativeEvent(){ +} + +function makeCause(causes){ + var iterator; + iterator = $iterator(new AbstractMap$1(causes.map_0)); + if (!$hasNext(iterator.val$outerIter2)) { + return null; + } + return dynamicCast($next_1(iterator), 8); +} + +function makeMessage(causes){ + var b, count, first, t, t$iterator; + count = causes.map_0.size_0; + if (count == 0) { + return null; + } + b = new StringBuilder_0(count == 1?'Exception caught: ':count + ' exceptions caught: '); + first = true; + for (t$iterator = $iterator(new AbstractMap$1(causes.map_0)); $hasNext(t$iterator.val$outerIter2);) { + t = dynamicCast($next_1(t$iterator), 8); + first?(first = false):(b.string += '; ' , b); + $append_2(b, t.getMessage()); + } + return b.string; +} + +defineClass(109, 15, $intern_4); +var Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit = createForClass('com.google.web.bindery.event.shared', 'UmbrellaException', 109); +defineClass(110, 109, $intern_4); +var Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared', 'UmbrellaException', 110); +function cloneSubrange(array, toIndex){ + var result; + result = array.slice(0, toIndex); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function createFrom(array, length_0){ + var result; + result = initializeArrayElementsWithDefaults(0, length_0); + initValues(getClass__Ljava_lang_Class___devirtual$(array), array.castableTypeMap$, array.__elementTypeId$, array.__elementTypeCategory$, result); + return result; +} + +function getClassLiteralForArray(clazz, dimensions){ + return getClassLiteralForArray_0(clazz, dimensions); +} + +function initDim(leafClassLiteral, castableTypeMap, elementTypeId, length_0, elementTypeCategory, dimensions){ + var result; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, dimensions), castableTypeMap, elementTypeId, elementTypeCategory, result); + return result; +} + +function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, count){ + return initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, 0, count); +} + +function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count){ + var elementTypeCategory, i, isLastDim, length_0, result; + length_0 = dimExprs[index_0]; + isLastDim = index_0 == count - 1; + elementTypeCategory = isLastDim?leafElementTypeCategory:0; + result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0); + initValues(getClassLiteralForArray(leafClassLiteral, count - index_0), castableTypeMapExprs[index_0], elementTypeIds[index_0], elementTypeCategory, result); + if (!isLastDim) { + ++index_0; + for (i = 0; i < length_0; ++i) { + result[i] = initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count); + } + } + return result; +} + +function initValues(arrayClass, castableTypeMap, elementTypeId, elementTypeCategory, array){ + array.___clazz$ = arrayClass; + array.castableTypeMap$ = castableTypeMap; + array.typeMarker$ = typeMarkerFn; + array.__elementTypeId$ = elementTypeId; + array.__elementTypeCategory$ = elementTypeCategory; + return array; +} + +function initializeArrayElementsWithDefaults(elementTypeCategory, length_0){ + var array = new Array(length_0); + var initValue; + switch (elementTypeCategory) { + case 6: + initValue = {l:0, m:0, h:0}; + break; + case 7: + initValue = 0; + break; + case 8: + initValue = false; + break; + default:return array; + } + for (var i = 0; i < length_0; ++i) { + array[i] = initValue; + } + return array; +} + +function nativeArraySplice(src_0, srcOfs, dest, destOfs, len, overwrite){ + if (src_0 === dest) { + src_0 = src_0.slice(srcOfs, srcOfs + len); + srcOfs = 0; + } + for (var batchStart = srcOfs, end = srcOfs + len; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + len = batchEnd - batchStart; + Array.prototype.splice.apply(dest, [destOfs, overwrite?len:0].concat(src_0.slice(batchStart, batchEnd))); + batchStart = batchEnd; + destOfs += len; + } +} + +function setCheck(array, index_0, value_0){ + var elementTypeId; + if (value_0 != null) { + switch (array.__elementTypeCategory$) { + case 4: + if (!isJavaString(value_0)) { + throw new ArrayStoreException; + } + + break; + case 0: + { + elementTypeId = array.__elementTypeId$; + if (!canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + case 2: + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0))) { + throw new ArrayStoreException; + } + + break; + case 1: + { + elementTypeId = array.__elementTypeId$; + if (!(!isJavaString(value_0) && !hasTypeMarker(value_0)) && !canCast(value_0, elementTypeId)) { + throw new ArrayStoreException; + } + break; + } + + } + } + return array[index_0] = value_0; +} + +function cacheJavaScriptException(e, jse){ + if (e && typeof e == 'object') { + try { + e.__gwt$exception = jse; + } + catch (ignored) { + } + } +} + +function unwrap(e){ + var jse; + if (instanceOf(e, 37)) { + jse = dynamicCast(e, 37); + if (maskUndefined(jse.e) !== maskUndefined(($clinit_JavaScriptException() , NOT_SET))) { + return maskUndefined(jse.e) === maskUndefined(NOT_SET)?null:jse.e; + } + } + return e; +} + +function wrap(e){ + var jse; + if (instanceOf(e, 8)) { + return e; + } + jse = e && e.__gwt$exception; + if (!jse) { + jse = new JavaScriptException(e); + captureStackTrace(jse, e); + cacheJavaScriptException(e, jse); + } + return jse; +} + +function create(value_0){ + var a0, a1, a2; + a0 = value_0 & $intern_6; + a1 = value_0 >> 22 & $intern_6; + a2 = value_0 < 0?$intern_7:0; + return create0(a0, a1, a2); +} + +function create0(l, m, h){ + return {l:l, m:m, h:h}; +} + +function toDoubleHelper(a){ + return a.l + a.m * $intern_8 + a.h * $intern_9; +} + +function and(a, b){ + return {l:a.l & b.l, m:a.m & b.m, h:a.h & b.h}; +} + +function eq(a, b){ + return a.l == b.l && a.m == b.m && a.h == b.h; +} + +function fromDouble(value_0){ + var a0, a1, a2, negative, result, neg0, neg1, neg2; + if (isNaN_0(value_0)) { + return $clinit_LongLib$Const() , ZERO; + } + if (value_0 < $intern_10) { + return $clinit_LongLib$Const() , MIN_VALUE; + } + if (value_0 >= 9223372036854775807) { + return $clinit_LongLib$Const() , MAX_VALUE; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + a2 = 0; + if (value_0 >= $intern_9) { + a2 = round_int(value_0 / $intern_9); + value_0 -= a2 * $intern_9; + } + a1 = 0; + if (value_0 >= $intern_8) { + a1 = round_int(value_0 / $intern_8); + value_0 -= a1 * $intern_8; + } + a0 = round_int(value_0); + result = create0(a0, a1, a2); + negative && (neg0 = ~result.l + 1 & $intern_6 , neg1 = ~result.m + (neg0 == 0?1:0) & $intern_6 , neg2 = ~result.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_7 , result.l = neg0 , result.m = neg1 , result.h = neg2 , undefined); + return result; +} + +function fromInt(value_0){ + var rebase, result; + if (value_0 > -129 && value_0 < 128) { + rebase = value_0 + 128; + boxedValues == null && (boxedValues = initDim(Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, $intern_2, 184, 256, 0, 1)); + result = boxedValues[rebase]; + !result && (result = boxedValues[rebase] = create(value_0)); + return result; + } + return create(value_0); +} + +function gte(a, b){ + var signa, signb; + signa = a.h >> 19; + signb = b.h >> 19; + return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l); +} + +function or(a, b){ + return {l:a.l | b.l, m:a.m | b.m, h:a.h | b.h}; +} + +function shl(a, n){ + var res0, res1, res2; + n &= 63; + if (n < 22) { + res0 = a.l << n; + res1 = a.m << n | a.l >> 22 - n; + res2 = a.h << n | a.m >> 22 - n; + } + else if (n < 44) { + res0 = 0; + res1 = a.l << n - 22; + res2 = a.m << n - 22 | a.l >> 44 - n; + } + else { + res0 = 0; + res1 = 0; + res2 = a.l << n - 44; + } + return {l:res0 & $intern_6, m:res1 & $intern_6, h:res2 & $intern_7}; +} + +function shr(a, n){ + var a2, negative, res0, res1, res2; + n &= 63; + a2 = a.h; + negative = (a2 & $intern_11) != 0; + negative && (a2 |= -1048576); + if (n < 22) { + res2 = a2 >> n; + res1 = a.m >> n | a2 << 22 - n; + res0 = a.l >> n | a.m << 22 - n; + } + else if (n < 44) { + res2 = negative?$intern_7:0; + res1 = a2 >> n - 22; + res0 = a.m >> n - 22 | a2 << 44 - n; + } + else { + res2 = negative?$intern_7:0; + res1 = negative?$intern_6:0; + res0 = a2 >> n - 44; + } + return {l:res0 & $intern_6, m:res1 & $intern_6, h:res2 & $intern_7}; +} + +function sub_0(a, b){ + var sum0, sum1, sum2; + sum0 = a.l - b.l; + sum1 = a.m - b.m + (sum0 >> 22); + sum2 = a.h - b.h + (sum1 >> 22); + return {l:sum0 & $intern_6, m:sum1 & $intern_6, h:sum2 & $intern_7}; +} + +function toDouble(a){ + var neg0, neg1, neg2; + if (eq(a, ($clinit_LongLib$Const() , MIN_VALUE))) { + return $intern_10; + } + if (!gte(a, ZERO)) { + return -toDoubleHelper((neg0 = ~a.l + 1 & $intern_6 , neg1 = ~a.m + (neg0 == 0?1:0) & $intern_6 , neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & $intern_7 , create0(neg0, neg1, neg2))); + } + return a.l + a.m * $intern_8 + a.h * $intern_9; +} + +function toInt(a){ + return a.l | a.m << 22; +} + +var boxedValues; +function $clinit_LongLib$Const(){ + $clinit_LongLib$Const = emptyMethod; + MAX_VALUE = create0($intern_6, $intern_6, 524287); + MIN_VALUE = create0(0, 0, $intern_11); + fromInt(1); + fromInt(2); + ZERO = fromInt(0); +} + +var MAX_VALUE, MIN_VALUE, ZERO; +function hasTypeMarker(o){ + return o.typeMarker$ === typeMarkerFn; +} + +function init(){ + $wnd.setTimeout($entry(assertCompileTimeUserAgent)); + $onModuleLoad(); + $clinit_ExporterUtil(); + new AsyncQRCallback_ExporterImpl; + new JsQRScanner_ExporterImpl; + $wnd.JsQRScannerReady && $wnd.JsQRScannerReady(); +} + +function $getMediaElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function $setAutoplay(this$static){ + ($clinit_DOM() , this$static.element).setAttribute('autoplay', ''); +} + +function $setSrc(this$static){ + ($clinit_DOM() , this$static.element).src = ''; +} + +defineClass(115, 175, $intern_1); +var Lcom_google_gwt_media_client_MediaBase_2_classLit = createForClass('com.google.gwt.media.client', 'MediaBase', 115); +function $getVideoElement(this$static){ + return $clinit_DOM() , this$static.element; +} + +function Video(element){ + $setElement(this, ($clinit_DOM() , element)); +} + +function createIfSupported_0(){ + var element; + !detector_0 && (detector_0 = new Video$VideoElementSupportDetectedMaybe); + element = $doc.createElement('video'); + if (!element.canPlayType) { + return null; + } + return new Video(element); +} + +defineClass(116, 115, $intern_1, Video); +var detector_0; +var Lcom_google_gwt_media_client_Video_2_classLit = createForClass('com.google.gwt.media.client', 'Video', 116); +defineClass(176, 1, {}); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetector_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetector', 176); +function Video$VideoElementSupportDetectedMaybe(){ +} + +defineClass(117, 176, {}, Video$VideoElementSupportDetectedMaybe); +var Lcom_google_gwt_media_client_Video$VideoElementSupportDetectedMaybe_2_classLit = createForClass('com.google.gwt.media.client', 'Video/VideoElementSupportDetectedMaybe', 117); +function $clinit_DOM(){ + $clinit_DOM = emptyMethod; + $clinit_DOMImplStandard(); +} + +function dispatchEvent_0(evt, elem, listener){ + $clinit_DOM(); + var prevCurrentEvent; + prevCurrentEvent = currentEvent; + currentEvent = evt; + elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null); + listener.onBrowserEvent(evt); + currentEvent = prevCurrentEvent; +} + +function resolve(maybePotential){ + $clinit_DOM(); + return maybePotential.__gwt_resolve?maybePotential.__gwt_resolve():maybePotential; +} + +var currentEvent = null, sCaptureElem; +function $onModuleLoad(){ + var allowedModes, currentMode, i; + currentMode = $doc.compatMode; + allowedModes = initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['CSS1Compat']); + for (i = 0; i < allowedModes.length; i++) { + if ($equals(allowedModes[i], currentMode)) { + return; + } + } + allowedModes.length == 1 && $equals('CSS1Compat', allowedModes[0]) && $equals('BackCompat', currentMode)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').
Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\"document.compatMode\" value=\"" + currentMode + '"/>':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' " + currentMode + "').
Modify your application's host HTML page doctype, or update your custom " + "'document.compatMode' configuration property settings."; +} + +function $cancel(this$static){ + if (!this$static.timerId) { + return; + } + ++this$static.cancelCounter; + this$static.isRepeating?clearInterval_0(this$static.timerId.value_0):clearTimeout_0(this$static.timerId.value_0); + this$static.timerId = null; +} + +function $schedule(this$static, delayMillis){ + if (delayMillis < 0) { + throw new IllegalArgumentException_0('must be non-negative'); + } + !!this$static.timerId && $cancel(this$static); + this$static.isRepeating = false; + this$static.timerId = valueOf(setTimeout_0(createCallback(this$static, this$static.cancelCounter), delayMillis)); +} + +function clearInterval_0(timerId){ + $wnd.clearInterval(timerId); +} + +function clearTimeout_0(timerId){ + $wnd.clearTimeout(timerId); +} + +function createCallback(timer, cancelCounter){ + return $entry(function(){ + timer.fire(cancelCounter); + } + ); +} + +function setTimeout_0(func, time){ + return $wnd.setTimeout(func, time); +} + +defineClass(107, 1, {}); +_.fire = function fire(scheduleCancelCounter){ + if (scheduleCancelCounter != this.cancelCounter) { + return; + } + this.isRepeating || (this.timerId = null); + $scan(this.this$01); +} +; +_.cancelCounter = 0; +_.isRepeating = false; +_.timerId = null; +var Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client', 'Timer', 107); +function $eventGetTypeInt(eventType){ + switch (eventType) { + case 'blur': + return 4096; + case 'change': + return 1024; + case 'click': + return 1; + case 'dblclick': + return 2; + case 'focus': + return 2048; + case 'keydown': + return 128; + case 'keypress': + return 256; + case 'keyup': + return 512; + case 'load': + return 32768; + case 'losecapture': + return 8192; + case 'mousedown': + return 4; + case 'mousemove': + return 64; + case 'mouseout': + return 32; + case 'mouseover': + return 16; + case 'mouseup': + return 8; + case 'scroll': + return 16384; + case 'error': + return $intern_12; + case 'DOMMouseScroll': + case 'mousewheel': + return 131072; + case 'contextmenu': + return 262144; + case 'paste': + return $intern_11; + case 'touchstart': + return $intern_13; + case 'touchmove': + return 2097152; + case 'touchend': + return $intern_8; + case 'touchcancel': + return $intern_14; + case 'gesturestart': + return $intern_15; + case 'gesturechange': + return $intern_16; + case 'gestureend': + return $intern_17; + default:return -1; + } +} + +function $maybeInitializeEventSystem(){ + if (!eventSystemIsInitialized) { + $initEventSystem(); + eventSystemIsInitialized = true; + } +} + +function getEventListener(elem){ + var maybeListener = elem.__listener; + return !instanceOfJso(maybeListener) && instanceOf(maybeListener, 31)?maybeListener:null; +} + +function setEventListener(elem, listener){ + elem.__listener = listener; +} + +var eventSystemIsInitialized = false; +function $clinit_DOMImplStandard(){ + $clinit_DOMImplStandard = emptyMethod; + bitlessEventDispatchers = {_default_:dispatchEvent_2, dragenter:dispatchDragEvent, dragover:dispatchDragEvent}; + captureEventDispatchers = {click:dispatchCapturedMouseEvent, dblclick:dispatchCapturedMouseEvent, mousedown:dispatchCapturedMouseEvent, mouseup:dispatchCapturedMouseEvent, mousemove:dispatchCapturedMouseEvent, mouseover:dispatchCapturedMouseEvent, mouseout:dispatchCapturedMouseEvent, mousewheel:dispatchCapturedMouseEvent, keydown:dispatchCapturedEvent, keyup:dispatchCapturedEvent, keypress:dispatchCapturedEvent, touchstart:dispatchCapturedMouseEvent, touchend:dispatchCapturedMouseEvent, touchmove:dispatchCapturedMouseEvent, touchcancel:dispatchCapturedMouseEvent, gesturestart:dispatchCapturedMouseEvent, gestureend:dispatchCapturedMouseEvent, gesturechange:dispatchCapturedMouseEvent}; +} + +function $initEventSystem(){ + dispatchEvent_1 = $entry(dispatchEvent_2); + dispatchUnhandledEvent = $entry(dispatchUnhandledEvent_0); + var foreach = foreach_0; + var bitlessEvents = bitlessEventDispatchers; + foreach(bitlessEvents, function(e, fn){ + bitlessEvents[e] = $entry(fn); + } + ); + var captureEvents_0 = captureEventDispatchers; + foreach(captureEvents_0, function(e, fn){ + captureEvents_0[e] = $entry(fn); + } + ); + foreach(captureEvents_0, function(e, fn){ + $wnd.addEventListener(e, fn, true); + } + ); +} + +function $sinkEvents(elem, bits){ + $maybeInitializeEventSystem(); + $sinkEventsImpl(elem, bits); +} + +function $sinkEventsImpl(elem, bits){ + var chMask = (elem.__eventBits || 0) ^ bits; + elem.__eventBits = bits; + if (!chMask) + return; + chMask & 1 && (elem.onclick = bits & 1?dispatchEvent_1:null); + chMask & 2 && (elem.ondblclick = bits & 2?dispatchEvent_1:null); + chMask & 4 && (elem.onmousedown = bits & 4?dispatchEvent_1:null); + chMask & 8 && (elem.onmouseup = bits & 8?dispatchEvent_1:null); + chMask & 16 && (elem.onmouseover = bits & 16?dispatchEvent_1:null); + chMask & 32 && (elem.onmouseout = bits & 32?dispatchEvent_1:null); + chMask & 64 && (elem.onmousemove = bits & 64?dispatchEvent_1:null); + chMask & 128 && (elem.onkeydown = bits & 128?dispatchEvent_1:null); + chMask & 256 && (elem.onkeypress = bits & 256?dispatchEvent_1:null); + chMask & 512 && (elem.onkeyup = bits & 512?dispatchEvent_1:null); + chMask & 1024 && (elem.onchange = bits & 1024?dispatchEvent_1:null); + chMask & 2048 && (elem.onfocus = bits & 2048?dispatchEvent_1:null); + chMask & 4096 && (elem.onblur = bits & 4096?dispatchEvent_1:null); + chMask & 8192 && (elem.onlosecapture = bits & 8192?dispatchEvent_1:null); + chMask & 16384 && (elem.onscroll = bits & 16384?dispatchEvent_1:null); + chMask & 32768 && (elem.onload = bits & 32768?dispatchUnhandledEvent:null); + chMask & $intern_12 && (elem.onerror = bits & $intern_12?dispatchEvent_1:null); + chMask & 131072 && (elem.onmousewheel = bits & 131072?dispatchEvent_1:null); + chMask & 262144 && (elem.oncontextmenu = bits & 262144?dispatchEvent_1:null); + chMask & $intern_11 && (elem.onpaste = bits & $intern_11?dispatchEvent_1:null); + chMask & $intern_13 && (elem.ontouchstart = bits & $intern_13?dispatchEvent_1:null); + chMask & 2097152 && (elem.ontouchmove = bits & 2097152?dispatchEvent_1:null); + chMask & $intern_8 && (elem.ontouchend = bits & $intern_8?dispatchEvent_1:null); + chMask & $intern_14 && (elem.ontouchcancel = bits & $intern_14?dispatchEvent_1:null); + chMask & $intern_15 && (elem.ongesturestart = bits & $intern_15?dispatchEvent_1:null); + chMask & $intern_16 && (elem.ongesturechange = bits & $intern_16?dispatchEvent_1:null); + chMask & $intern_17 && (elem.ongestureend = bits & $intern_17?dispatchEvent_1:null); +} + +function dispatchCapturedEvent(evt){ + $clinit_DOM(); +} + +function dispatchCapturedMouseEvent(evt){ + $clinit_DOM(); + return; +} + +function dispatchDragEvent(evt){ + evt.preventDefault(); + dispatchEvent_2(evt); +} + +function dispatchEvent_2(evt){ + var element; + element = getFirstAncestorWithListener(evt); + if (!element) { + return; + } + dispatchEvent_0(evt, element.nodeType != 1?null:element, getEventListener(element)); +} + +function dispatchUnhandledEvent_0(evt){ + var element; + element = $eventGetCurrentTarget(evt); + element['__gwtLastUnhandledEvent'] = evt.type; + dispatchEvent_2(evt); +} + +function getFirstAncestorWithListener(evt){ + var curElem; + curElem = $eventGetCurrentTarget(evt); + while (!!curElem && !getEventListener(curElem)) { + curElem = curElem.parentNode; + } + return curElem; +} + +var bitlessEventDispatchers, captureEventDispatchers, dispatchEvent_1, dispatchUnhandledEvent; +function foreach_0(map_0, fn){ + for (var e in map_0) { + map_0.hasOwnProperty(e) && fn(e, map_0[e]); + } +} + +defineClass(174, 20, $intern_1); +_.doAttachChildren = function doAttachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , attachCommand)); +} +; +_.doDetachChildren = function doDetachChildren_0(){ + tryCommand(this, ($clinit_AttachDetachException() , detachCommand)); +} +; +var Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'Panel', 174); +function $add(this$static, child, container){ + $removeFromParent(child); + $add_1(this$static.children, child); + $clinit_DOM(); + $appendChild(container, resolve(child.element)); + $setParent(child, this$static); +} + +function $remove(this$static, w){ + var elem, parent_0; + if (w.parent_0 != this$static) { + return false; + } + try { + $setParent(w, null); + } + finally { + elem = ($clinit_DOM() , w.element); + $removeChild((null , parent_0 = elem.parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0), elem); + $remove_1(this$static.children, w); + } + return true; +} + +defineClass(103, 174, $intern_1); +_.iterator = function iterator_0(){ + return new WidgetCollection$WidgetIterator(this.children); +} +; +var Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'ComplexPanel', 103); +function $clinit_AttachDetachException(){ + $clinit_AttachDetachException = emptyMethod; + attachCommand = new AttachDetachException$1; + detachCommand = new AttachDetachException$2; +} + +function AttachDetachException(causes){ + RuntimeException_1.call(this, makeMessage(causes), makeCause(causes)); +} + +function tryCommand(hasWidgets, c){ + var old; + $clinit_AttachDetachException(); + var caught, e, w, w$iterator; + caught = null; + for (w$iterator = hasWidgets.iterator(); w$iterator.hasNext();) { + w = dynamicCast(w$iterator.next(), 20); + try { + c.execute_0(w); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + e = $e0; + !caught && (caught = new HashSet); + old = $put(caught.map_0, e, caught); + } + else + throw unwrap($e0); + } + } + if (caught) { + throw new AttachDetachException(caught); + } +} + +defineClass(111, 110, $intern_4, AttachDetachException); +var attachCommand, detachCommand; +var Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException', 111); +function AttachDetachException$1(){ +} + +defineClass(112, 1, {}, AttachDetachException$1); +_.execute_0 = function execute(w){ + w.onAttach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/1', 112); +function AttachDetachException$2(){ +} + +defineClass(113, 1, {}, AttachDetachException$2); +_.execute_0 = function execute_0(w){ + w.onDetach(); +} +; +var Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui', 'AttachDetachException/2', 113); +function $add_0(this$static, w){ + $add(this$static, w, ($clinit_DOM() , this$static.element)); +} + +defineClass(75, 103, $intern_1); +var Lcom_google_gwt_user_client_ui_FlowPanel_2_classLit = createForClass('com.google.gwt.user.client.ui', 'FlowPanel', 75); +function $clinit_RootPanel(){ + $clinit_RootPanel = emptyMethod; + new HashMap; + widgetsToDetach = new HashSet; +} + +function detachNow(widget){ + $clinit_RootPanel(); + try { + $onDetach(widget); + } + finally { + $remove_4(widgetsToDetach, widget); + } +} + +var widgetsToDetach; +function $add_1(this$static, w){ + $insert(this$static, w, this$static.size_0); +} + +function $indexOf(this$static, w){ + var i; + for (i = 0; i < this$static.size_0; ++i) { + if (this$static.array[i] == w) { + return i; + } + } + return -1; +} + +function $insert(this$static, w, beforeIndex){ + var i, i0, newArray; + if (beforeIndex < 0 || beforeIndex > this$static.size_0) { + throw new IndexOutOfBoundsException; + } + if (this$static.size_0 == this$static.array.length) { + newArray = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 20, this$static.array.length * 2, 0, 1); + for (i0 = 0; i0 < this$static.array.length; ++i0) { + setCheck(newArray, i0, this$static.array[i0]); + } + this$static.array = newArray; + } + ++this$static.size_0; + for (i = this$static.size_0 - 1; i > beforeIndex; --i) { + setCheck(this$static.array, i, this$static.array[i - 1]); + } + setCheck(this$static.array, beforeIndex, w); +} + +function $remove_0(this$static, index_0){ + var i; + if (index_0 < 0 || index_0 >= this$static.size_0) { + throw new IndexOutOfBoundsException; + } + --this$static.size_0; + for (i = index_0; i < this$static.size_0; ++i) { + setCheck(this$static.array, i, this$static.array[i + 1]); + } + setCheck(this$static.array, this$static.size_0, null); +} + +function $remove_1(this$static, w){ + var index_0; + index_0 = $indexOf(this$static, w); + if (index_0 == -1) { + throw new NoSuchElementException; + } + $remove_0(this$static, index_0); +} + +function WidgetCollection(){ + this.array = initDim(Lcom_google_gwt_user_client_ui_Widget_2_classLit, $intern_2, 20, 4, 0, 1); +} + +defineClass(119, 1, {}, WidgetCollection); +_.iterator = function iterator_1(){ + return new WidgetCollection$WidgetIterator(this); +} +; +_.size_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection', 119); +function $next(this$static){ + if (this$static.index_0 >= this$static.this$01.size_0) { + throw new NoSuchElementException; + } + this$static.currentWidget = this$static.this$01.array[this$static.index_0]; + ++this$static.index_0; + return this$static.currentWidget; +} + +function WidgetCollection$WidgetIterator(this$0){ + this.this$01 = this$0; +} + +defineClass(76, 1, {}, WidgetCollection$WidgetIterator); +_.hasNext = function hasNext(){ + return this.index_0 < this.this$01.size_0; +} +; +_.next = function next(){ + return $next(this); +} +; +_.index_0 = 0; +var Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui', 'WidgetCollection/WidgetIterator', 76); +function assertCompileTimeUserAgent(){ + var runtimeValue; + runtimeValue = $getRuntimeValue(); + if (!$equals('ie10', runtimeValue)) { + throw new UserAgentAsserter$UserAgentAssertionError(runtimeValue); + } +} + +function Error_0(message){ + Throwable.call(this, message); +} + +defineClass(59, 8, $intern_3); +var Ljava_lang_Error_2_classLit = createForClass('java.lang', 'Error', 59); +defineClass(18, 59, $intern_3); +var Ljava_lang_AssertionError_2_classLit = createForClass('java.lang', 'AssertionError', 18); +function UserAgentAsserter$UserAgentAssertionError(runtimeValue){ + Error_0.call(this, '' + ('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie10) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.'), instanceOf('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie10) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8)?dynamicCast('Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie10) does not match the runtime user.agent value (' + runtimeValue + ').\n' + 'Expect more errors.', 8):null); +} + +defineClass(80, 18, $intern_3, UserAgentAsserter$UserAgentAssertionError); +var Lcom_google_gwt_useragent_client_UserAgentAsserter$UserAgentAssertionError_2_classLit = createForClass('com.google.gwt.useragent.client', 'UserAgentAsserter/UserAgentAssertionError', 80); +function $getRuntimeValue(){ + var ua = navigator.userAgent.toLowerCase(); + var docMode = $doc.documentMode; + if (function(){ + return ua.indexOf('webkit') != -1; + } + ()) + return 'safari'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 10 && docMode < 11; + } + ()) + return 'ie10'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 9 && docMode < 11; + } + ()) + return 'ie9'; + if (function(){ + return ua.indexOf('msie') != -1 && docMode >= 8 && docMode < 11; + } + ()) + return 'ie8'; + if (function(){ + return ua.indexOf('gecko') != -1 || docMode >= 11; + } + ()) + return 'gecko1_8'; + return 'unknown'; +} + +defineClass(126, 1, {}); +var Lcom_google_zxing_Binarizer_2_classLit = createForClass('com.google.zxing', 'Binarizer', 126); +function BinaryBitmap(binarizer){ + this.binarizer = binarizer; +} + +defineClass(124, 1, {}, BinaryBitmap); +_.toString$ = function toString_3(){ + try { + return $toString((!this.matrix && (this.matrix = $getBlackMatrix_0(this.binarizer)) , this.matrix)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 54)) { + return ''; + } + else + throw unwrap($e0); + } +} +; +var Lcom_google_zxing_BinaryBitmap_2_classLit = createForClass('com.google.zxing', 'BinaryBitmap', 124); +function $clinit_ReaderException(){ + $clinit_ReaderException = emptyMethod; + NO_TRACE = initDim(Ljava_lang_StackTraceElement_2_classLit, $intern_2, 182, 0, 0, 1); +} + +function ReaderException(){ + $clinit_ReaderException(); + Exception.call(this); +} + +defineClass(64, 10, $intern_4); +_.fillInStackTrace = function fillInStackTrace_0(){ + return null; +} +; +var NO_TRACE; +var Lcom_google_zxing_ReaderException_2_classLit = createForClass('com.google.zxing', 'ReaderException', 64); +function $clinit_ChecksumException(){ + $clinit_ChecksumException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_0 = new ChecksumException; + $setStackTrace(NO_TRACE); +} + +function ChecksumException(){ + ReaderException.call(this); +} + +defineClass(55, 64, {55:1, 3:1, 10:1, 8:1}, ChecksumException); +var INSTANCE_0; +var Lcom_google_zxing_ChecksumException_2_classLit = createForClass('com.google.zxing', 'ChecksumException', 55); +function $clinit_FormatException(){ + $clinit_FormatException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_1 = new FormatException; + $setStackTrace(NO_TRACE); +} + +function FormatException(){ + ReaderException.call(this); +} + +defineClass(56, 64, {56:1, 3:1, 10:1, 8:1}, FormatException); +var INSTANCE_1; +var Lcom_google_zxing_FormatException_2_classLit = createForClass('com.google.zxing', 'FormatException', 56); +defineClass(125, 1, {}); +_.toString$ = function toString_4(){ + var c, luminance, result, row, x_0, y_0; + row = initDim(B_classLit, $intern_18, 0, this.width_0, 7, 1); + result = new StringBuilder; + for (y_0 = 0; y_0 < this.height_0; y_0++) { + row = $getRow(this, y_0, row); + for (x_0 = 0; x_0 < this.width_0; x_0++) { + luminance = row[x_0] & 255; + luminance < 64?(c = 35):luminance < 128?(c = 43):luminance < 192?(c = 46):(c = 32); + result.string += charToString(c); + } + result.string += '\n'; + } + return result.string; +} +; +_.height_0 = 0; +_.width_0 = 0; +var Lcom_google_zxing_LuminanceSource_2_classLit = createForClass('com.google.zxing', 'LuminanceSource', 125); +function $clinit_NotFoundException(){ + $clinit_NotFoundException = emptyMethod; + $clinit_ReaderException(); + INSTANCE_2 = new NotFoundException; + $setStackTrace(NO_TRACE); +} + +function NotFoundException(){ + ReaderException.call(this); +} + +defineClass(54, 64, {54:1, 3:1, 10:1, 8:1}, NotFoundException); +var INSTANCE_2; +var Lcom_google_zxing_NotFoundException_2_classLit = createForClass('com.google.zxing', 'NotFoundException', 54); +function $putMetadata(this$static, type_0, value_0){ + !this$static.resultMetadata && (this$static.resultMetadata = new EnumMap(Lcom_google_zxing_ResultMetadataType_2_classLit)); + $put_1(this$static.resultMetadata, type_0, value_0); +} + +function Result(text_0){ + Result_0.call(this, text_0, fromDouble(now_1())); +} + +function Result_0(text_0){ + this.text_0 = text_0; + this.resultMetadata = null; +} + +defineClass(63, 1, {}, Result); +_.toString$ = function toString_5(){ + return this.text_0; +} +; +var Lcom_google_zxing_Result_2_classLit = createForClass('com.google.zxing', 'Result', 63); +function $compareTo(this$static, other){ + return this$static.ordinal - other.ordinal; +} + +function Enum(name_0, ordinal){ + this.name_0 = name_0; + this.ordinal = ordinal; +} + +defineClass(13, 1, {3:1, 19:1, 13:1}); +_.compareTo = function compareTo(other){ + return $compareTo(this, dynamicCast(other, 13)); +} +; +_.equals$ = function equals_0(other){ + return this === other; +} +; +_.hashCode$ = function hashCode_1(){ + return getHashCode(this); +} +; +_.toString$ = function toString_6(){ + return this.name_0 != null?this.name_0:'' + this.ordinal; +} +; +_.ordinal = 0; +var Ljava_lang_Enum_2_classLit = createForClass('java.lang', 'Enum', 13); +function $clinit_ResultMetadataType(){ + $clinit_ResultMetadataType = emptyMethod; + OTHER = new ResultMetadataType('OTHER', 0); + ORIENTATION = new ResultMetadataType('ORIENTATION', 1); + BYTE_SEGMENTS = new ResultMetadataType('BYTE_SEGMENTS', 2); + ERROR_CORRECTION_LEVEL = new ResultMetadataType('ERROR_CORRECTION_LEVEL', 3); + ISSUE_NUMBER = new ResultMetadataType('ISSUE_NUMBER', 4); + SUGGESTED_PRICE = new ResultMetadataType('SUGGESTED_PRICE', 5); + POSSIBLE_COUNTRY = new ResultMetadataType('POSSIBLE_COUNTRY', 6); + UPC_EAN_EXTENSION = new ResultMetadataType('UPC_EAN_EXTENSION', 7); + PDF417_EXTRA_METADATA = new ResultMetadataType('PDF417_EXTRA_METADATA', 8); + STRUCTURED_APPEND_SEQUENCE = new ResultMetadataType('STRUCTURED_APPEND_SEQUENCE', 9); + STRUCTURED_APPEND_PARITY = new ResultMetadataType('STRUCTURED_APPEND_PARITY', 10); +} + +function ResultMetadataType(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_0(){ + $clinit_ResultMetadataType(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_ResultMetadataType_2_classLit, 1), $intern_19, 21, 0, [OTHER, ORIENTATION, BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, SUGGESTED_PRICE, POSSIBLE_COUNTRY, UPC_EAN_EXTENSION, PDF417_EXTRA_METADATA, STRUCTURED_APPEND_SEQUENCE, STRUCTURED_APPEND_PARITY]); +} + +defineClass(21, 13, {21:1, 3:1, 19:1, 13:1}, ResultMetadataType); +var BYTE_SEGMENTS, ERROR_CORRECTION_LEVEL, ISSUE_NUMBER, ORIENTATION, OTHER, PDF417_EXTRA_METADATA, POSSIBLE_COUNTRY, STRUCTURED_APPEND_PARITY, STRUCTURED_APPEND_SEQUENCE, SUGGESTED_PRICE, UPC_EAN_EXTENSION; +var Lcom_google_zxing_ResultMetadataType_2_classLit = createForEnum('com.google.zxing', 'ResultMetadataType', 21, values_0); +function ResultPoint(x_0, y_0){ + this.x_0 = x_0; + this.y_0 = y_0; +} + +function distance(pattern1, pattern2){ + return distance_0(pattern1.x_0, pattern1.y_0, pattern2.x_0, pattern2.y_0); +} + +function orderBestPatterns(patterns){ + var oneTwoDistance, pointA, pointB, pointC, temp, zeroOneDistance, zeroTwoDistance, bX, bY; + zeroOneDistance = distance(patterns[0], patterns[1]); + oneTwoDistance = distance(patterns[1], patterns[2]); + zeroTwoDistance = distance(patterns[0], patterns[2]); + if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) { + pointB = patterns[0]; + pointA = patterns[1]; + pointC = patterns[2]; + } + else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) { + pointB = patterns[1]; + pointA = patterns[0]; + pointC = patterns[2]; + } + else { + pointB = patterns[2]; + pointA = patterns[0]; + pointC = patterns[1]; + } + if ((bX = pointB.x_0 , bY = pointB.y_0 , (pointC.x_0 - bX) * (pointA.y_0 - bY) - (pointC.y_0 - bY) * (pointA.x_0 - bX)) < 0) { + temp = pointA; + pointA = pointC; + pointC = temp; + } + setCheck(patterns, 0, pointA); + patterns[1] = pointB; + setCheck(patterns, 2, pointC); +} + +defineClass(29, 1, {29:1}); +_.equals$ = function equals_1(other){ + var otherPoint; + if (instanceOf(other, 29)) { + otherPoint = dynamicCast(other, 29); + return this.x_0 == otherPoint.x_0 && this.y_0 == otherPoint.y_0; + } + return false; +} +; +_.hashCode$ = function hashCode_2(){ + return 31 * floatToIntBits(this.x_0) + floatToIntBits(this.y_0); +} +; +_.toString$ = function toString_7(){ + var result; + result = new StringBuilder; + result.string += '('; + $append_0(result, this.x_0); + result.string += ','; + $append_0(result, this.y_0); + result.string += ')'; + return result.string; +} +; +_.x_0 = 0; +_.y_0 = 0; +var Lcom_google_zxing_ResultPoint_2_classLit = createForClass('com.google.zxing', 'ResultPoint', 29); +function $flip(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] ^= 1 << (x_0 & 31); +} + +function $get(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + return (this$static.bits[offset] >>> (x_0 & 31) & 1) != 0; +} + +function $set_0(this$static, x_0, y_0){ + var offset; + offset = y_0 * this$static.rowSize + ~~(x_0 / 32); + this$static.bits[offset] |= 1 << (x_0 & 31); +} + +function $setRegion(this$static, left, top_0, width_0, height){ + var bottom, offset, right, x_0, y_0; + if (top_0 < 0 || left < 0) { + throw new IllegalArgumentException_0('Left and top must be nonnegative'); + } + if (height < 1 || width_0 < 1) { + throw new IllegalArgumentException_0('Height and width must be at least 1'); + } + right = left + width_0; + bottom = top_0 + height; + if (bottom > this$static.height_0 || right > this$static.width_0) { + throw new IllegalArgumentException_0('The region must fit inside the matrix'); + } + for (y_0 = top_0; y_0 < bottom; y_0++) { + offset = y_0 * this$static.rowSize; + for (x_0 = left; x_0 < right; x_0++) { + this$static.bits[offset + ~~(x_0 / 32)] |= 1 << (x_0 & 31); + } + } +} + +function $toString(this$static){ + var result, x_0, y_0; + result = new StringBuilder; + for (y_0 = 0; y_0 < this$static.height_0; y_0++) { + for (x_0 = 0; x_0 < this$static.width_0; x_0++) { + $append_2(result, $get(this$static, x_0, y_0)?'X ':' '); + } + result.string += '\n'; + } + return result.string; +} + +function BitMatrix(dimension){ + BitMatrix_0.call(this, dimension, dimension); +} + +function BitMatrix_0(width_0, height){ + if (width_0 < 1 || height < 1) { + throw new IllegalArgumentException_0('Both dimensions must be greater than 0'); + } + this.width_0 = width_0; + this.height_0 = height; + this.rowSize = ~~((width_0 + 31) / 32); + this.bits = initDim(I_classLit, $intern_20, 0, this.rowSize * height, 7, 1); +} + +defineClass(32, 1, {32:1}, BitMatrix, BitMatrix_0); +_.equals$ = function equals_2(o){ + var other; + if (!instanceOf(o, 32)) { + return false; + } + other = dynamicCast(o, 32); + return this.width_0 == other.width_0 && this.height_0 == other.height_0 && this.rowSize == other.rowSize && equals_10(this.bits, other.bits); +} +; +_.hashCode$ = function hashCode_3(){ + var hash; + hash = this.width_0; + hash = 31 * hash + this.width_0; + hash = 31 * hash + this.height_0; + hash = 31 * hash + this.rowSize; + hash = 31 * hash + hashCode_11(this.bits); + return hash; +} +; +_.toString$ = function toString_8(){ + return $toString(this); +} +; +_.height_0 = 0; +_.rowSize = 0; +_.width_0 = 0; +var Lcom_google_zxing_common_BitMatrix_2_classLit = createForClass('com.google.zxing.common', 'BitMatrix', 32); +function $readBits(this$static, numBits){ + var bitsLeft, bitsToNotRead, mask, result, toRead; + if (numBits < 1 || numBits > 32 || numBits > 8 * (this$static.bytes.length - this$static.byteOffset) - this$static.bitOffset) { + throw new IllegalArgumentException_0('' + numBits); + } + result = 0; + if (this$static.bitOffset > 0) { + bitsLeft = 8 - this$static.bitOffset; + toRead = numBits < bitsLeft?numBits:bitsLeft; + bitsToNotRead = bitsLeft - toRead; + mask = 255 >> 8 - toRead << bitsToNotRead; + result = (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + numBits -= toRead; + this$static.bitOffset += toRead; + if (this$static.bitOffset == 8) { + this$static.bitOffset = 0; + ++this$static.byteOffset; + } + } + if (numBits > 0) { + while (numBits >= 8) { + result = result << 8 | this$static.bytes[this$static.byteOffset] & 255; + ++this$static.byteOffset; + numBits -= 8; + } + if (numBits > 0) { + bitsToNotRead = 8 - numBits; + mask = 255 >> bitsToNotRead << bitsToNotRead; + result = result << numBits | (this$static.bytes[this$static.byteOffset] & mask) >> bitsToNotRead; + this$static.bitOffset += numBits; + } + } + return result; +} + +function BitSource(bytes){ + this.bytes = bytes; +} + +defineClass(150, 1, {}, BitSource); +_.bitOffset = 0; +_.byteOffset = 0; +var Lcom_google_zxing_common_BitSource_2_classLit = createForClass('com.google.zxing.common', 'BitSource', 150); +function $clinit_CharacterSetECI(){ + $clinit_CharacterSetECI = emptyMethod; + var eci, eci$array, eci$index, eci$max, name_0, name$array, name$index, name$max, value_0, value$array, value$index, value$max; + Cp437 = new CharacterSetECI_1('Cp437', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 2]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); + ISO8859_1 = new CharacterSetECI_1('ISO8859_1', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1, 3]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-1'])); + ISO8859_2 = new CharacterSetECI_0('ISO8859_2', 2, 4, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-2'])); + ISO8859_3 = new CharacterSetECI_0('ISO8859_3', 3, 5, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-3'])); + ISO8859_4 = new CharacterSetECI_0('ISO8859_4', 4, 6, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-4'])); + ISO8859_5 = new CharacterSetECI_0('ISO8859_5', 5, 7, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-5'])); + ISO8859_6 = new CharacterSetECI_0('ISO8859_6', 6, 8, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-6'])); + ISO8859_7 = new CharacterSetECI_0('ISO8859_7', 7, 9, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-7'])); + ISO8859_8 = new CharacterSetECI_0('ISO8859_8', 8, 10, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-8'])); + ISO8859_9 = new CharacterSetECI_0('ISO8859_9', 9, 11, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-9'])); + ISO8859_10 = new CharacterSetECI_0('ISO8859_10', 10, 12, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-10'])); + ISO8859_11 = new CharacterSetECI_0('ISO8859_11', 11, 13, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-11'])); + ISO8859_13 = new CharacterSetECI_0('ISO8859_13', 12, 15, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-13'])); + ISO8859_14 = new CharacterSetECI_0('ISO8859_14', 13, 16, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-14'])); + ISO8859_15 = new CharacterSetECI_0('ISO8859_15', 14, 17, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-15'])); + ISO8859_16 = new CharacterSetECI_0('ISO8859_16', 15, 18, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['ISO-8859-16'])); + SJIS = new CharacterSetECI_0('SJIS', 16, 20, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['Shift_JIS'])); + Cp1250 = new CharacterSetECI_0('Cp1250', 17, 21, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1250'])); + Cp1251 = new CharacterSetECI_0('Cp1251', 18, 22, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1251'])); + Cp1252 = new CharacterSetECI_0('Cp1252', 19, 23, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1252'])); + Cp1256 = new CharacterSetECI_0('Cp1256', 20, 24, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['windows-1256'])); + UnicodeBigUnmarked = new CharacterSetECI_0('UnicodeBigUnmarked', 21, 25, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-16BE', 'UnicodeBig'])); + UTF8 = new CharacterSetECI_0('UTF8', 22, 26, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['UTF-8'])); + ASCII = new CharacterSetECI_1('ASCII', 23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [27, 170]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['US-ASCII'])); + Big5 = new CharacterSetECI; + GB18030 = new CharacterSetECI_0('GB18030', 25, 29, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['GB2312', 'EUC_CN', 'GBK'])); + EUC_KR = new CharacterSetECI_0('EUC_KR', 26, 30, initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, ['EUC-KR'])); + VALUE_TO_ECI = new HashMap; + NAME_TO_ECI = new HashMap; + for (eci$array = values_1() , eci$index = 0 , eci$max = eci$array.length; eci$index < eci$max; ++eci$index) { + eci = eci$array[eci$index]; + for (value$array = eci.values , value$index = 0 , value$max = value$array.length; value$index < value$max; ++value$index) { + value_0 = value$array[value$index]; + $put(VALUE_TO_ECI, valueOf(value_0), eci); + } + $putStringValue(NAME_TO_ECI, eci.name_0 != null?eci.name_0:'' + eci.ordinal, eci); + for (name$array = eci.otherEncodingNames , name$index = 0 , name$max = name$array.length; name$index < name$max; ++name$index) { + name_0 = name$array[name$index]; + $putStringValue(NAME_TO_ECI, name_0, eci); + } + } +} + +function CharacterSetECI(){ + CharacterSetECI_1.call(this, 'Big5', 24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [28]), initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_2, 2, 4, [])); +} + +function CharacterSetECI_0(enum$name, enum$ordinal, value_0, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [value_0]); + this.otherEncodingNames = otherEncodingNames; +} + +function CharacterSetECI_1(enum$name, enum$ordinal, values, otherEncodingNames){ + Enum.call(this, enum$name, enum$ordinal); + this.values = values; + this.otherEncodingNames = otherEncodingNames; +} + +function getCharacterSetECIByValue(value_0){ + $clinit_CharacterSetECI(); + if (value_0 < 0 || value_0 >= 900) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return dynamicCast($get_0(VALUE_TO_ECI, valueOf(value_0)), 11); +} + +function values_1(){ + $clinit_CharacterSetECI(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_CharacterSetECI_2_classLit, 1), $intern_19, 11, 0, [Cp437, ISO8859_1, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, SJIS, Cp1250, Cp1251, Cp1252, Cp1256, UnicodeBigUnmarked, UTF8, ASCII, Big5, GB18030, EUC_KR]); +} + +defineClass(11, 13, {11:1, 3:1, 19:1, 13:1}, CharacterSetECI, CharacterSetECI_0, CharacterSetECI_1); +var ASCII, Big5, Cp1250, Cp1251, Cp1252, Cp1256, Cp437, EUC_KR, GB18030, ISO8859_1, ISO8859_10, ISO8859_11, ISO8859_13, ISO8859_14, ISO8859_15, ISO8859_16, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, NAME_TO_ECI, SJIS, UTF8, UnicodeBigUnmarked, VALUE_TO_ECI; +var Lcom_google_zxing_common_CharacterSetECI_2_classLit = createForEnum('com.google.zxing.common', 'CharacterSetECI', 11, values_1); +function $setOther(this$static, other){ + this$static.other = other; +} + +function DecoderResult(text_0, byteSegments, ecLevel, saSequence, saParity){ + this.text_0 = text_0; + this.byteSegments = byteSegments; + this.ecLevel = ecLevel; + this.structuredAppendParity = saParity; + this.structuredAppendSequenceNumber = saSequence; +} + +defineClass(129, 1, {}, DecoderResult); +_.structuredAppendParity = 0; +_.structuredAppendSequenceNumber = 0; +var Lcom_google_zxing_common_DecoderResult_2_classLit = createForClass('com.google.zxing.common', 'DecoderResult', 129); +function checkAndNudgePoints(image, points){ + var height, nudged, offset, offset0, width_0, x_0, y_0; + width_0 = image.width_0; + height = image.height_0; + nudged = true; + for (offset0 = 0; offset0 < points.length && nudged; offset0 += 2) { + x_0 = round_int(points[offset0]); + y_0 = round_int(points[offset0 + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset0] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset0] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset0 + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset0 + 1] = height - 1; + nudged = true; + } + } + nudged = true; + for (offset = points.length - 2; offset >= 0 && nudged; offset -= 2) { + x_0 = round_int(points[offset]); + y_0 = round_int(points[offset + 1]); + if (x_0 < -1 || x_0 > width_0 || y_0 < -1 || y_0 > height) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + nudged = false; + if (x_0 == -1) { + points[offset] = 0; + nudged = true; + } + else if (x_0 == width_0) { + points[offset] = width_0 - 1; + nudged = true; + } + if (y_0 == -1) { + points[offset + 1] = 0; + nudged = true; + } + else if (y_0 == height) { + points[offset + 1] = height - 1; + nudged = true; + } + } +} + +function $sampleGrid(image, dimensionX, dimensionY, transform){ + var bits, iValue, max_0, points, x_0, x0, y_0; + if (dimensionX <= 0 || dimensionY <= 0) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bits = new BitMatrix_0(dimensionX, dimensionY); + points = initDim(F_classLit, $intern_18, 0, 2 * dimensionX, 7, 1); + for (y_0 = 0; y_0 < dimensionY; y_0++) { + max_0 = points.length; + iValue = y_0 + 0.5; + for (x0 = 0; x0 < max_0; x0 += 2) { + points[x0] = ~~(x0 / 2) + 0.5; + points[x0 + 1] = iValue; + } + $transformPoints(transform, points); + checkAndNudgePoints(image, points); + for (x_0 = 0; x_0 < max_0; x_0 += 2) { + $get(image, round_int(points[x_0]), round_int(points[x_0 + 1])) && $set_0(bits, ~~(x_0 / 2), y_0); + } + } + return bits; +} + +function DetectorResult(bits, points){ + this.bits = bits; + this.points = points; +} + +defineClass(130, 1, {}, DetectorResult); +var Lcom_google_zxing_common_DetectorResult_2_classLit = createForClass('com.google.zxing.common', 'DetectorResult', 130); +function $clinit_GlobalHistogramBinarizer(){ + $clinit_GlobalHistogramBinarizer = emptyMethod; + EMPTY = initDim(B_classLit, $intern_18, 0, 0, 7, 1); +} + +function $getBlackMatrix(this$static){ + var blackPoint, height, localBuckets, localLuminances, localLuminances0, matrix, offset, pixel, right, row, source, width_0, x_0, y_0, y0; + source = this$static.source; + width_0 = source.width_0; + height = source.height_0; + matrix = new BitMatrix_0(width_0, height); + $initArrays(this$static, width_0); + localBuckets = this$static.buckets; + for (y0 = 1; y0 < 5; y0++) { + row = ~~(height * y0 / 5); + localLuminances0 = $getRow(source, row, this$static.luminances); + right = ~~(width_0 * 4 / 5); + for (x_0 = ~~(width_0 / 5); x_0 < right; x_0++) { + pixel = localLuminances0[x_0] & 255; + ++localBuckets[pixel >> 3]; + } + } + blackPoint = estimateBlackPoint(localBuckets); + localLuminances = $getMatrix(source); + for (y_0 = 0; y_0 < height; y_0++) { + offset = y_0 * width_0; + for (x_0 = 0; x_0 < width_0; x_0++) { + pixel = localLuminances[offset + x_0] & 255; + pixel < blackPoint && $set_0(matrix, x_0, y_0); + } + } + return matrix; +} + +function $initArrays(this$static, luminanceSize){ + var x_0; + this$static.luminances.length < luminanceSize && (this$static.luminances = initDim(B_classLit, $intern_18, 0, luminanceSize, 7, 1)); + for (x_0 = 0; x_0 < 32; x_0++) { + this$static.buckets[x_0] = 0; + } +} + +function estimateBlackPoint(buckets){ + var bestValley, bestValleyScore, distanceToBiggest, firstPeak, firstPeakSize, fromFirst, maxBucketCount, numBuckets, score, secondPeak, secondPeakScore, temp, x_0, x0, x1; + numBuckets = buckets.length; + maxBucketCount = 0; + firstPeak = 0; + firstPeakSize = 0; + for (x0 = 0; x0 < numBuckets; x0++) { + if (buckets[x0] > firstPeakSize) { + firstPeak = x0; + firstPeakSize = buckets[x0]; + } + buckets[x0] > maxBucketCount && (maxBucketCount = buckets[x0]); + } + secondPeak = 0; + secondPeakScore = 0; + for (x1 = 0; x1 < numBuckets; x1++) { + distanceToBiggest = x1 - firstPeak; + score = buckets[x1] * distanceToBiggest * distanceToBiggest; + if (score > secondPeakScore) { + secondPeak = x1; + secondPeakScore = score; + } + } + if (firstPeak > secondPeak) { + temp = firstPeak; + firstPeak = secondPeak; + secondPeak = temp; + } + if (secondPeak - firstPeak <= ~~(numBuckets / 16)) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + bestValley = secondPeak - 1; + bestValleyScore = -1; + for (x_0 = secondPeak - 1; x_0 > firstPeak; x_0--) { + fromFirst = x_0 - firstPeak; + score = fromFirst * fromFirst * (secondPeak - x_0) * (maxBucketCount - buckets[x_0]); + if (score > bestValleyScore) { + bestValley = x_0; + bestValleyScore = score; + } + } + return bestValley << 3; +} + +defineClass(127, 126, {}); +var EMPTY; +var Lcom_google_zxing_common_GlobalHistogramBinarizer_2_classLit = createForClass('com.google.zxing.common', 'GlobalHistogramBinarizer', 127); +function $getBlackMatrix_0(this$static){ + var blackPoints, height, luminances, newMatrix, source, subHeight, subWidth, width_0; + if (this$static.matrix) { + return this$static.matrix; + } + source = this$static.source; + width_0 = source.width_0; + height = source.height_0; + if (width_0 >= 40 && height >= 40) { + luminances = $getMatrix(source); + subWidth = width_0 >> 3; + (width_0 & 7) != 0 && ++subWidth; + subHeight = height >> 3; + (height & 7) != 0 && ++subHeight; + blackPoints = calculateBlackPoints(luminances, subWidth, subHeight, width_0, height); + newMatrix = new BitMatrix_0(width_0, height); + calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, newMatrix); + this$static.matrix = newMatrix; + } + else { + this$static.matrix = $getBlackMatrix(this$static); + } + return this$static.matrix; +} + +function HybridBinarizer(source){ + $clinit_GlobalHistogramBinarizer(); + this.source = source; + this.luminances = EMPTY; + this.buckets = initDim(I_classLit, $intern_20, 0, 32, 7, 1); +} + +function calculateBlackPoints(luminances, subWidth, subHeight, width_0, height){ + var average, averageNeighborBlackPoint, blackPoints, max_0, maxXOffset, maxYOffset, min_0, offset, pixel, sum, x_0, xoffset, xx, xx0, y_0, yoffset, yy; + blackPoints = initDims(I_classLit, [$intern_2, $intern_20], [7, 0], 7, [subHeight, subWidth], 2); + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + sum = 0; + min_0 = 255; + max_0 = 0; + for (yy = 0 , offset = yoffset * width_0 + xoffset; yy < 8; ++yy , offset += width_0) { + for (xx0 = 0; xx0 < 8; xx0++) { + pixel = luminances[offset + xx0] & 255; + sum += pixel; + pixel < min_0 && (min_0 = pixel); + pixel > max_0 && (max_0 = pixel); + } + if (max_0 - min_0 > 24) { + for (++yy , offset += width_0; yy < 8; ++yy , offset += width_0) { + for (xx = 0; xx < 8; xx++) { + sum += luminances[offset + xx] & 255; + } + } + } + } + average = sum >> 6; + if (max_0 - min_0 <= 24) { + average = ~~(min_0 / 2); + if (y_0 > 0 && x_0 > 0) { + averageNeighborBlackPoint = ~~((blackPoints[y_0 - 1][x_0] + 2 * blackPoints[y_0][x_0 - 1] + blackPoints[y_0 - 1][x_0 - 1]) / 4); + min_0 < averageNeighborBlackPoint && (average = averageNeighborBlackPoint); + } + } + blackPoints[y_0][x_0] = average; + } + } + return blackPoints; +} + +function calculateThresholdForBlock(luminances, subWidth, subHeight, width_0, height, blackPoints, matrix){ + var average, blackRow, left, maxXOffset, maxYOffset, sum, top_0, x_0, xoffset, y_0, yoffset, z_0; + for (y_0 = 0; y_0 < subHeight; y_0++) { + yoffset = y_0 << 3; + maxYOffset = height - 8; + yoffset > maxYOffset && (yoffset = maxYOffset); + for (x_0 = 0; x_0 < subWidth; x_0++) { + xoffset = x_0 << 3; + maxXOffset = width_0 - 8; + xoffset > maxXOffset && (xoffset = maxXOffset); + left = x_0 < 2?2:x_0 > subWidth - 3?subWidth - 3:x_0; + top_0 = y_0 < 2?2:y_0 > subHeight - 3?subHeight - 3:y_0; + sum = 0; + for (z_0 = -2; z_0 <= 2; z_0++) { + blackRow = blackPoints[top_0 + z_0]; + sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2]; + } + average = ~~(sum / 25); + thresholdBlock(luminances, xoffset, yoffset, average, width_0, matrix); + } + } +} + +function thresholdBlock(luminances, xoffset, yoffset, threshold, stride, matrix){ + var offset, x_0, y_0; + for (y_0 = 0 , offset = yoffset * stride + xoffset; y_0 < 8; ++y_0 , offset += stride) { + for (x_0 = 0; x_0 < 8; x_0++) { + (luminances[offset + x_0] & 255) <= threshold && $set_0(matrix, xoffset + x_0, yoffset + y_0); + } + } +} + +defineClass(128, 127, {}, HybridBinarizer); +var Lcom_google_zxing_common_HybridBinarizer_2_classLit = createForClass('com.google.zxing.common', 'HybridBinarizer', 128); +function $buildAdjoint(this$static){ + return new PerspectiveTransform(this$static.a22 * this$static.a33 - this$static.a23 * this$static.a32, this$static.a23 * this$static.a31 - this$static.a21 * this$static.a33, this$static.a21 * this$static.a32 - this$static.a22 * this$static.a31, this$static.a13 * this$static.a32 - this$static.a12 * this$static.a33, this$static.a11 * this$static.a33 - this$static.a13 * this$static.a31, this$static.a12 * this$static.a31 - this$static.a11 * this$static.a32, this$static.a12 * this$static.a23 - this$static.a13 * this$static.a22, this$static.a13 * this$static.a21 - this$static.a11 * this$static.a23, this$static.a11 * this$static.a22 - this$static.a12 * this$static.a21); +} + +function $transformPoints(this$static, points){ + var a11, a12, a13, a21, a22, a23, a31, a32, a33, denominator, i, max_0, x_0, y_0; + max_0 = points.length; + a11 = this$static.a11; + a12 = this$static.a12; + a13 = this$static.a13; + a21 = this$static.a21; + a22 = this$static.a22; + a23 = this$static.a23; + a31 = this$static.a31; + a32 = this$static.a32; + a33 = this$static.a33; + for (i = 0; i < max_0; i += 2) { + x_0 = points[i]; + y_0 = points[i + 1]; + denominator = a13 * x_0 + a23 * y_0 + a33; + points[i] = (a11 * x_0 + a21 * y_0 + a31) / denominator; + points[i + 1] = (a12 * x_0 + a22 * y_0 + a32) / denominator; + } +} + +function PerspectiveTransform(a11, a21, a31, a12, a22, a32, a13, a23, a33){ + this.a11 = a11; + this.a12 = a12; + this.a13 = a13; + this.a21 = a21; + this.a22 = a22; + this.a23 = a23; + this.a31 = a31; + this.a32 = a32; + this.a33 = a33; +} + +function quadrilateralToQuadrilateral(x1, x2, y2, y3, x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p){ + var qToS, sToQ; + qToS = $buildAdjoint(squareToQuadrilateral(3.5, 3.5, x1, 3.5, x2, y2, 3.5, y3)); + sToQ = squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p); + return new PerspectiveTransform(sToQ.a11 * qToS.a11 + sToQ.a21 * qToS.a12 + sToQ.a31 * qToS.a13, sToQ.a11 * qToS.a21 + sToQ.a21 * qToS.a22 + sToQ.a31 * qToS.a23, sToQ.a11 * qToS.a31 + sToQ.a21 * qToS.a32 + sToQ.a31 * qToS.a33, sToQ.a12 * qToS.a11 + sToQ.a22 * qToS.a12 + sToQ.a32 * qToS.a13, sToQ.a12 * qToS.a21 + sToQ.a22 * qToS.a22 + sToQ.a32 * qToS.a23, sToQ.a12 * qToS.a31 + sToQ.a22 * qToS.a32 + sToQ.a32 * qToS.a33, sToQ.a13 * qToS.a11 + sToQ.a23 * qToS.a12 + sToQ.a33 * qToS.a13, sToQ.a13 * qToS.a21 + sToQ.a23 * qToS.a22 + sToQ.a33 * qToS.a23, sToQ.a13 * qToS.a31 + sToQ.a23 * qToS.a32 + sToQ.a33 * qToS.a33); +} + +function squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3){ + var a13, a23, denominator, dx1, dx2, dx3, dy1, dy2, dy3; + dx3 = x0 - x1 + x2 - x3; + dy3 = y0 - y1 + y2 - y3; + if (dx3 == 0 && dy3 == 0) { + return new PerspectiveTransform(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0, 0, 1); + } + else { + dx1 = x1 - x2; + dx2 = x3 - x2; + dy1 = y1 - y2; + dy2 = y3 - y2; + denominator = dx1 * dy2 - dx2 * dy1; + a13 = (dx3 * dy2 - dx2 * dy3) / denominator; + a23 = (dx1 * dy3 - dx3 * dy1) / denominator; + return new PerspectiveTransform(x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0, y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0, a13, a23, 1); + } +} + +defineClass(57, 1, {}, PerspectiveTransform); +_.a11 = 0; +_.a12 = 0; +_.a13 = 0; +_.a21 = 0; +_.a22 = 0; +_.a23 = 0; +_.a31 = 0; +_.a32 = 0; +_.a33 = 0; +var Lcom_google_zxing_common_PerspectiveTransform_2_classLit = createForClass('com.google.zxing.common', 'PerspectiveTransform', 57); +function guessEncoding(bytes){ + var canBeISO88591, canBeShiftJIS, canBeUTF8, i, isoHighOther, length_0, sjisBytesLeft, sjisCurDoubleBytesWordLength, sjisCurKatakanaWordLength, sjisKatakanaChars, sjisMaxDoubleBytesWordLength, sjisMaxKatakanaWordLength, utf2BytesChars, utf3BytesChars, utf4BytesChars, utf8BytesLeft, utf8bom, value_0; + length_0 = bytes.length; + canBeISO88591 = true; + canBeShiftJIS = true; + canBeUTF8 = true; + utf8BytesLeft = 0; + utf2BytesChars = 0; + utf3BytesChars = 0; + utf4BytesChars = 0; + sjisBytesLeft = 0; + sjisKatakanaChars = 0; + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + sjisMaxKatakanaWordLength = 0; + sjisMaxDoubleBytesWordLength = 0; + isoHighOther = 0; + utf8bom = bytes.length > 3 && bytes[0] == -17 && bytes[1] == -69 && bytes[2] == -65; + for (i = 0; i < length_0 && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) { + value_0 = bytes[i] & 255; + if (canBeUTF8) { + if (utf8BytesLeft > 0) { + (value_0 & 128) == 0?(canBeUTF8 = false):--utf8BytesLeft; + } + else if ((value_0 & 128) != 0) { + if ((value_0 & 64) == 0) { + canBeUTF8 = false; + } + else { + ++utf8BytesLeft; + if ((value_0 & 32) == 0) { + ++utf2BytesChars; + } + else { + ++utf8BytesLeft; + if ((value_0 & 16) == 0) { + ++utf3BytesChars; + } + else { + ++utf8BytesLeft; + (value_0 & 8) == 0?++utf4BytesChars:(canBeUTF8 = false); + } + } + } + } + } + canBeISO88591 && (value_0 > 127 && value_0 < 160?(canBeISO88591 = false):value_0 > 159 && (value_0 < 192 || value_0 == 215 || value_0 == 247) && ++isoHighOther); + if (canBeShiftJIS) { + if (sjisBytesLeft > 0) { + value_0 < 64 || value_0 == 127 || value_0 > 252?(canBeShiftJIS = false):--sjisBytesLeft; + } + else if (value_0 == 128 || value_0 == 160 || value_0 > 239) { + canBeShiftJIS = false; + } + else if (value_0 > 160 && value_0 < 224) { + ++sjisKatakanaChars; + sjisCurDoubleBytesWordLength = 0; + ++sjisCurKatakanaWordLength; + sjisCurKatakanaWordLength > sjisMaxKatakanaWordLength && (sjisMaxKatakanaWordLength = sjisCurKatakanaWordLength); + } + else if (value_0 > 127) { + ++sjisBytesLeft; + sjisCurKatakanaWordLength = 0; + ++sjisCurDoubleBytesWordLength; + sjisCurDoubleBytesWordLength > sjisMaxDoubleBytesWordLength && (sjisMaxDoubleBytesWordLength = sjisCurDoubleBytesWordLength); + } + else { + sjisCurKatakanaWordLength = 0; + sjisCurDoubleBytesWordLength = 0; + } + } + } + canBeUTF8 && utf8BytesLeft > 0 && (canBeUTF8 = false); + canBeShiftJIS && sjisBytesLeft > 0 && (canBeShiftJIS = false); + if (canBeUTF8 && (utf8bom || utf2BytesChars + utf3BytesChars + utf4BytesChars > 0)) { + return 'UTF-8'; + } + if (canBeShiftJIS && (sjisMaxKatakanaWordLength >= 3 || sjisMaxDoubleBytesWordLength >= 3)) { + return 'Shift_JIS'; + } + if (canBeISO88591 && canBeShiftJIS) { + return sjisMaxKatakanaWordLength == 2 && sjisKatakanaChars == 2 || isoHighOther * 10 >= length_0?'Shift_JIS':'ISO-8859-1'; + } + if (canBeISO88591) { + return 'ISO-8859-1'; + } + if (canBeShiftJIS) { + return 'Shift_JIS'; + } + if (canBeUTF8) { + return 'UTF-8'; + } + return 'UTF-8'; +} + +function distance_0(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function distance_1(aX, aY, bX, bY){ + var xDiff, yDiff; + xDiff = aX - bX; + yDiff = aY - bY; + return Math.sqrt(xDiff * xDiff + yDiff * yDiff); +} + +function round_0(d){ + return round_int(d + (d < 0?-0.5:0.5)); +} + +function $clinit_GenericGF(){ + $clinit_GenericGF = emptyMethod; + new GenericGF(4201, 4096, 1); + new GenericGF(1033, 1024, 1); + new GenericGF(67, 64, 1); + new GenericGF(19, 16, 1); + QR_CODE_FIELD_256 = new GenericGF(285, 256, 0); + new GenericGF(301, 256, 1); +} + +function $buildMonomial(this$static, degree, coefficient){ + var coefficients; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.zero; + } + coefficients = initDim(I_classLit, $intern_20, 0, degree + 1, 7, 1); + coefficients[0] = coefficient; + return new GenericGFPoly(this$static, coefficients); +} + +function $exp(this$static, a){ + return this$static.expTable[a]; +} + +function $inverse(this$static, a){ + if (a == 0) { + throw new ArithmeticException; + } + return this$static.expTable[this$static.size_0 - this$static.logTable[a] - 1]; +} + +function $log(this$static, a){ + if (a == 0) { + throw new IllegalArgumentException; + } + return this$static.logTable[a]; +} + +function $multiply(this$static, a, b){ + if (a == 0 || b == 0) { + return 0; + } + return this$static.expTable[(this$static.logTable[a] + this$static.logTable[b]) % (this$static.size_0 - 1)]; +} + +function GenericGF(primitive, size_0, b){ + var i, i0, x_0; + this.primitive = primitive; + this.size_0 = size_0; + this.generatorBase = b; + this.expTable = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + this.logTable = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + x_0 = 1; + for (i0 = 0; i0 < size_0; i0++) { + this.expTable[i0] = x_0; + x_0 *= 2; + if (x_0 >= size_0) { + x_0 ^= primitive; + x_0 &= size_0 - 1; + } + } + for (i = 0; i < size_0 - 1; i++) { + this.logTable[this.expTable[i]] = i; + } + this.zero = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0])); + this.one = new GenericGFPoly(this, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1])); +} + +defineClass(44, 1, {}, GenericGF); +_.toString$ = function toString_9(){ + return 'GF(0x' + toUnsignedRadixString(this.primitive, 16) + ',' + this.size_0 + ')'; +} +; +_.generatorBase = 0; +_.primitive = 0; +_.size_0 = 0; +var QR_CODE_FIELD_256; +var Lcom_google_zxing_common_reedsolomon_GenericGF_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGF', 44); +function $addOrSubtract(this$static, other){ + var i, largerCoefficients, lengthDiff, smallerCoefficients, sumDiff, temp; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0) { + return other; + } + if (other.coefficients[0] == 0) { + return this$static; + } + smallerCoefficients = this$static.coefficients; + largerCoefficients = other.coefficients; + if (smallerCoefficients.length > largerCoefficients.length) { + temp = smallerCoefficients; + smallerCoefficients = largerCoefficients; + largerCoefficients = temp; + } + sumDiff = initDim(I_classLit, $intern_20, 0, largerCoefficients.length, 7, 1); + lengthDiff = largerCoefficients.length - smallerCoefficients.length; + arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff); + for (i = lengthDiff; i < largerCoefficients.length; i++) { + sumDiff[i] = ($clinit_GenericGF() , smallerCoefficients[i - lengthDiff] ^ largerCoefficients[i]); + } + return new GenericGFPoly(this$static.field, sumDiff); +} + +function $evaluateAt(this$static, a){ + var coefficient, coefficient$array, coefficient$index, coefficient$max, i, result, result0, size_0; + if (a == 0) { + return this$static.coefficients[this$static.coefficients.length - 1]; + } + size_0 = this$static.coefficients.length; + if (a == 1) { + result0 = 0; + for (coefficient$array = this$static.coefficients , coefficient$index = 0 , coefficient$max = coefficient$array.length; coefficient$index < coefficient$max; ++coefficient$index) { + coefficient = coefficient$array[coefficient$index]; + result0 = ($clinit_GenericGF() , result0 ^ coefficient); + } + return result0; + } + result = this$static.coefficients[0]; + for (i = 1; i < size_0; i++) { + result = ($clinit_GenericGF() , $multiply(this$static.field, a, result) ^ this$static.coefficients[i]); + } + return result; +} + +function $getCoefficient(this$static, degree){ + return this$static.coefficients[this$static.coefficients.length - 1 - degree]; +} + +function $multiply_0(this$static, scalar){ + var i, product, size_0; + if (scalar == 0) { + return this$static.field.zero; + } + if (scalar == 1) { + return this$static; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_20, 0, size_0, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], scalar); + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiply_1(this$static, other){ + var aCoeff, aCoefficients, aLength, bCoefficients, bLength, i, j, product; + if (this$static.field != other.field) { + throw new IllegalArgumentException_0('GenericGFPolys do not have same GenericGF field'); + } + if (this$static.coefficients[0] == 0 || other.coefficients[0] == 0) { + return this$static.field.zero; + } + aCoefficients = this$static.coefficients; + aLength = aCoefficients.length; + bCoefficients = other.coefficients; + bLength = bCoefficients.length; + product = initDim(I_classLit, $intern_20, 0, aLength + bLength - 1, 7, 1); + for (i = 0; i < aLength; i++) { + aCoeff = aCoefficients[i]; + for (j = 0; j < bLength; j++) { + product[i + j] = ($clinit_GenericGF() , product[i + j] ^ $multiply(this$static.field, aCoeff, bCoefficients[j])); + } + } + return new GenericGFPoly(this$static.field, product); +} + +function $multiplyByMonomial(this$static, degree, coefficient){ + var i, product, size_0; + if (degree < 0) { + throw new IllegalArgumentException; + } + if (coefficient == 0) { + return this$static.field.zero; + } + size_0 = this$static.coefficients.length; + product = initDim(I_classLit, $intern_20, 0, size_0 + degree, 7, 1); + for (i = 0; i < size_0; i++) { + product[i] = $multiply(this$static.field, this$static.coefficients[i], coefficient); + } + return new GenericGFPoly(this$static.field, product); +} + +function GenericGFPoly(field, coefficients){ + var coefficientsLength, firstNonZero; + if (coefficients.length == 0) { + throw new IllegalArgumentException; + } + this.field = field; + coefficientsLength = coefficients.length; + if (coefficientsLength > 1 && coefficients[0] == 0) { + firstNonZero = 1; + while (firstNonZero < coefficientsLength && coefficients[firstNonZero] == 0) { + ++firstNonZero; + } + if (firstNonZero == coefficientsLength) { + this.coefficients = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0]); + } + else { + this.coefficients = initDim(I_classLit, $intern_20, 0, coefficientsLength - firstNonZero, 7, 1); + arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length); + } + } + else { + this.coefficients = coefficients; + } +} + +defineClass(26, 1, {26:1}, GenericGFPoly); +_.toString$ = function toString_10(){ + var alphaPower, coefficient, degree, result; + result = new StringBuilder; + for (degree = this.coefficients.length - 1; degree >= 0; degree--) { + coefficient = this.coefficients[this.coefficients.length - 1 - degree]; + if (coefficient != 0) { + if (coefficient < 0) { + result.string += ' - '; + coefficient = -coefficient; + } + else { + result.string.length > 0 && (result.string += ' + ' , result); + } + if (degree == 0 || coefficient != 1) { + alphaPower = $log(this.field, coefficient); + if (alphaPower == 0) { + result.string += '1'; + } + else if (alphaPower == 1) { + result.string += 'a'; + } + else { + result.string += 'a^'; + result.string += alphaPower; + } + } + if (degree != 0) { + if (degree == 1) { + result.string += 'x'; + } + else { + result.string += 'x^'; + result.string += degree; + } + } + } + } + return result.string; +} +; +var Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'GenericGFPoly', 26); +function $decode(this$static, received, twoS){ + var errorLocations, errorMagnitudes, eval_0, i, i0, noError, omega, poly, position, sigma, sigmaOmega, syndrome, syndromeCoefficients; + poly = new GenericGFPoly(this$static.field, received); + syndromeCoefficients = initDim(I_classLit, $intern_20, 0, twoS, 7, 1); + noError = true; + for (i0 = 0; i0 < twoS; i0++) { + eval_0 = $evaluateAt(poly, $exp(this$static.field, i0 + this$static.field.generatorBase)); + syndromeCoefficients[syndromeCoefficients.length - 1 - i0] = eval_0; + eval_0 != 0 && (noError = false); + } + if (noError) { + return; + } + syndrome = new GenericGFPoly(this$static.field, syndromeCoefficients); + sigmaOmega = $runEuclideanAlgorithm(this$static, $buildMonomial(this$static.field, twoS, 1), syndrome, twoS); + sigma = sigmaOmega[0]; + omega = sigmaOmega[1]; + errorLocations = $findErrorLocations(this$static, sigma); + errorMagnitudes = $findErrorMagnitudes(this$static, omega, errorLocations); + for (i = 0; i < errorLocations.length; i++) { + position = received.length - 1 - $log(this$static.field, errorLocations[i]); + if (position < 0) { + throw new ReedSolomonException('Bad error location'); + } + received[position] = ($clinit_GenericGF() , received[position] ^ errorMagnitudes[i]); + } +} + +function $findErrorLocations(this$static, errorLocator){ + var e, i, numErrors, result; + numErrors = errorLocator.coefficients.length - 1; + if (numErrors == 1) { + return initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [errorLocator.coefficients[errorLocator.coefficients.length - 1 - 1]]); + } + result = initDim(I_classLit, $intern_20, 0, numErrors, 7, 1); + e = 0; + for (i = 1; i < this$static.field.size_0 && e < numErrors; i++) { + if ($evaluateAt(errorLocator, i) == 0) { + result[e] = $inverse(this$static.field, i); + ++e; + } + } + if (e != numErrors) { + throw new ReedSolomonException('Error locator degree does not match number of roots'); + } + return result; +} + +function $findErrorMagnitudes(this$static, errorEvaluator, errorLocations){ + var denominator, i, j, result, s, term, termPlus1, xiInverse; + s = errorLocations.length; + result = initDim(I_classLit, $intern_20, 0, s, 7, 1); + for (i = 0; i < s; i++) { + xiInverse = $inverse(this$static.field, errorLocations[i]); + denominator = 1; + for (j = 0; j < s; j++) { + if (i != j) { + term = $multiply(this$static.field, errorLocations[j], xiInverse); + termPlus1 = (term & 1) == 0?term | 1:term & -2; + denominator = $multiply(this$static.field, denominator, termPlus1); + } + } + result[i] = $multiply(this$static.field, $evaluateAt(errorEvaluator, xiInverse), $inverse(this$static.field, denominator)); + this$static.field.generatorBase != 0 && (result[i] = $multiply(this$static.field, result[i], xiInverse)); + } + return result; +} + +function $runEuclideanAlgorithm(this$static, a, b, R){ + var degreeDiff, denominatorLeadingTerm, dltInverse, inverse, omega, q, r, rLast, rLastLast, scale, sigma, sigmaTildeAtZero, t, tLast, tLastLast, temp; + if (a.coefficients.length - 1 < b.coefficients.length - 1) { + temp = a; + a = b; + b = temp; + } + rLast = a; + r = b; + tLast = this$static.field.zero; + t = this$static.field.one; + while (r.coefficients.length - 1 >= ~~(R / 2)) { + rLastLast = rLast; + tLastLast = tLast; + rLast = r; + tLast = t; + if (r.coefficients[0] == 0) { + throw new ReedSolomonException('r_{i-1} was zero'); + } + r = rLastLast; + q = this$static.field.zero; + denominatorLeadingTerm = $getCoefficient(rLast, rLast.coefficients.length - 1); + dltInverse = $inverse(this$static.field, denominatorLeadingTerm); + while (r.coefficients.length - 1 >= rLast.coefficients.length - 1 && r.coefficients[0] != 0) { + degreeDiff = r.coefficients.length - 1 - (rLast.coefficients.length - 1); + scale = $multiply(this$static.field, $getCoefficient(r, r.coefficients.length - 1), dltInverse); + q = $addOrSubtract(q, $buildMonomial(this$static.field, degreeDiff, scale)); + r = $addOrSubtract(r, $multiplyByMonomial(rLast, degreeDiff, scale)); + } + t = $addOrSubtract($multiply_1(q, t), tLastLast); + if (r.coefficients.length - 1 >= rLast.coefficients.length - 1) { + throw new IllegalStateException_0('Division algorithm failed to reduce polynomial?'); + } + } + sigmaTildeAtZero = t.coefficients[t.coefficients.length - 1]; + if (sigmaTildeAtZero == 0) { + throw new ReedSolomonException('sigmaTilde(0) was zero'); + } + inverse = $inverse(this$static.field, sigmaTildeAtZero); + sigma = $multiply_0(t, inverse); + omega = $multiply_0(r, inverse); + return initValues(getClassLiteralForArray(Lcom_google_zxing_common_reedsolomon_GenericGFPoly_2_classLit, 1), $intern_2, 26, 0, [sigma, omega]); +} + +function ReedSolomonDecoder(field){ + this.field = field; +} + +defineClass(123, 1, {}, ReedSolomonDecoder); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonDecoder_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonDecoder', 123); +function ReedSolomonException(message){ + Exception_0.call(this, message); +} + +defineClass(45, 10, {45:1, 3:1, 10:1, 8:1}, ReedSolomonException); +var Lcom_google_zxing_common_reedsolomon_ReedSolomonException_2_classLit = createForClass('com.google.zxing.common.reedsolomon', 'ReedSolomonException', 45); +function $decode_0(this$static, image){ + var byteSegments, decoderResult, detectorResult, ecLevel, points, result; + detectorResult = $detect(new Detector((!image.matrix && (image.matrix = $getBlackMatrix_0(image.binarizer)) , image.matrix))); + decoderResult = $decode_1(this$static.decoder, detectorResult.bits); + points = detectorResult.points; + !!decoderResult.other && $applyMirroredCorrection(decoderResult.other, points); + result = new Result(decoderResult.text_0); + byteSegments = decoderResult.byteSegments; + !!byteSegments && $putMetadata(result, ($clinit_ResultMetadataType() , BYTE_SEGMENTS), byteSegments); + ecLevel = decoderResult.ecLevel; + ecLevel != null && $putMetadata(result, ($clinit_ResultMetadataType() , ERROR_CORRECTION_LEVEL), ecLevel); + if (decoderResult.structuredAppendParity >= 0 && decoderResult.structuredAppendSequenceNumber >= 0) { + $putMetadata(result, ($clinit_ResultMetadataType() , STRUCTURED_APPEND_SEQUENCE), valueOf(decoderResult.structuredAppendSequenceNumber)); + $putMetadata(result, STRUCTURED_APPEND_PARITY, valueOf(decoderResult.structuredAppendParity)); + } + return result; +} + +function QRCodeReader(){ + this.decoder = new Decoder; +} + +defineClass(118, 1, {181:1}, QRCodeReader); +var Lcom_google_zxing_qrcode_QRCodeReader_2_classLit = createForClass('com.google.zxing.qrcode', 'QRCodeReader', 118); +function $copyBit(this$static, i, j, versionBits){ + var bit; + bit = this$static.mirror?$get(this$static.bitMatrix, j, i):$get(this$static.bitMatrix, i, j); + return bit?versionBits << 1 | 1:versionBits << 1; +} + +function $mirror(this$static){ + var x_0, y_0; + for (x_0 = 0; x_0 < this$static.bitMatrix.width_0; x_0++) { + for (y_0 = x_0 + 1; y_0 < this$static.bitMatrix.height_0; y_0++) { + if ($get(this$static.bitMatrix, x_0, y_0) != $get(this$static.bitMatrix, y_0, x_0)) { + $flip(this$static.bitMatrix, y_0, x_0); + $flip(this$static.bitMatrix, x_0, y_0); + } + } + } +} + +function $readCodewords(this$static){ + var bitsRead, col, count, currentByte, dataMask, dimension, formatInfo, functionPattern, i, j, readingUp, result, resultOffset, version; + formatInfo = $readFormatInformation(this$static); + version = $readVersion(this$static); + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[formatInfo.dataMask]; + dimension = this$static.bitMatrix.height_0; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); + functionPattern = $buildFunctionPattern(version); + readingUp = true; + result = initDim(B_classLit, $intern_18, 0, version.totalCodewords, 7, 1); + resultOffset = 0; + currentByte = 0; + bitsRead = 0; + for (j = dimension - 1; j > 0; j -= 2) { + j == 6 && --j; + for (count = 0; count < dimension; count++) { + i = readingUp?dimension - 1 - count:count; + for (col = 0; col < 2; col++) { + if (!$get(functionPattern, j - col, i)) { + ++bitsRead; + currentByte <<= 1; + $get(this$static.bitMatrix, j - col, i) && (currentByte |= 1); + if (bitsRead == 8) { + result[resultOffset++] = narrow_byte(currentByte); + bitsRead = 0; + currentByte = 0; + } + } + } + } + readingUp = readingUp ^ true; + } + if (resultOffset != version.totalCodewords) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return result; +} + +function $readFormatInformation(this$static){ + var dimension, formatInfoBits1, formatInfoBits2, i, i0, j, j0, jMin; + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + formatInfoBits1 = 0; + for (i0 = 0; i0 < 6; i0++) { + formatInfoBits1 = $copyBit(this$static, i0, 8, formatInfoBits1); + } + formatInfoBits1 = $copyBit(this$static, 7, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 8, formatInfoBits1); + formatInfoBits1 = $copyBit(this$static, 8, 7, formatInfoBits1); + for (j0 = 5; j0 >= 0; j0--) { + formatInfoBits1 = $copyBit(this$static, 8, j0, formatInfoBits1); + } + dimension = this$static.bitMatrix.height_0; + formatInfoBits2 = 0; + jMin = dimension - 7; + for (j = dimension - 1; j >= jMin; j--) { + formatInfoBits2 = $copyBit(this$static, 8, j, formatInfoBits2); + } + for (i = dimension - 8; i < dimension; i++) { + formatInfoBits2 = $copyBit(this$static, i, 8, formatInfoBits2); + } + this$static.parsedFormatInfo = decodeFormatInformation(formatInfoBits1, formatInfoBits2); + if (this$static.parsedFormatInfo) { + return this$static.parsedFormatInfo; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $readVersion(this$static){ + var dimension, i, i0, ijMin, j, j0, provisionalVersion, theParsedVersion, versionBits; + if (this$static.parsedVersion) { + return this$static.parsedVersion; + } + dimension = this$static.bitMatrix.height_0; + provisionalVersion = ~~((dimension - 17) / 4); + if (provisionalVersion <= 6) { + return getVersionForNumber(provisionalVersion); + } + versionBits = 0; + ijMin = dimension - 11; + for (j0 = 5; j0 >= 0; j0--) { + for (i0 = dimension - 9; i0 >= ijMin; i0--) { + versionBits = $copyBit(this$static, i0, j0, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + versionBits = 0; + for (i = 5; i >= 0; i--) { + for (j = dimension - 9; j >= ijMin; j--) { + versionBits = $copyBit(this$static, i, j, versionBits); + } + } + theParsedVersion = decodeVersionInformation(versionBits); + if (!!theParsedVersion && 17 + 4 * theParsedVersion.versionNumber == dimension) { + this$static.parsedVersion = theParsedVersion; + return theParsedVersion; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function $remask(this$static){ + var dataMask, dimension; + if (!this$static.parsedFormatInfo) { + return; + } + dataMask = ($clinit_DataMask() , initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]))[this$static.parsedFormatInfo.dataMask]; + dimension = this$static.bitMatrix.height_0; + $unmaskBitMatrix(dataMask, this$static.bitMatrix, dimension); +} + +function BitMatrixParser(bitMatrix){ + var dimension; + dimension = bitMatrix.height_0; + if (dimension < 21 || (dimension & 3) != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + this.bitMatrix = bitMatrix; +} + +defineClass(133, 1, {}, BitMatrixParser); +_.mirror = false; +var Lcom_google_zxing_qrcode_decoder_BitMatrixParser_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'BitMatrixParser', 133); +function DataBlock(numDataCodewords, codewords){ + this.numDataCodewords = numDataCodewords; + this.codewords = codewords; +} + +function getDataBlocks(rawCodewords, version, ecLevel){ + var ecBlock, ecBlock$index, ecBlock$index0, ecBlock$max, ecBlock$max0, ecBlockArray, ecBlocks, i, i0, i1, iOffset, j, j0, j1, longerBlocksStartAt, max_0, numBlockCodewords, numCodewords, numDataCodewords, numResultBlocks, rawCodewordsOffset, result, shorterBlocksNumDataCodewords, shorterBlocksTotalCodewords, totalBlocks; + if (rawCodewords.length != version.totalCodewords) { + throw new IllegalArgumentException; + } + ecBlocks = version.ecBlocks[ecLevel.ordinal]; + totalBlocks = 0; + ecBlockArray = ecBlocks.ecBlocks; + for (ecBlock$index0 = 0 , ecBlock$max0 = ecBlockArray.length; ecBlock$index0 < ecBlock$max0; ++ecBlock$index0) { + ecBlock = ecBlockArray[ecBlock$index0]; + totalBlocks += ecBlock.count; + } + result = initDim(Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit, $intern_2, 65, totalBlocks, 0, 1); + numResultBlocks = 0; + for (ecBlock$index = 0 , ecBlock$max = ecBlockArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecBlockArray[ecBlock$index]; + for (i0 = 0; i0 < ecBlock.count; i0++) { + numDataCodewords = ecBlock.dataCodewords; + numBlockCodewords = ecBlocks.ecCodewordsPerBlock + numDataCodewords; + result[numResultBlocks++] = new DataBlock(numDataCodewords, initDim(B_classLit, $intern_18, 0, numBlockCodewords, 7, 1)); + } + } + shorterBlocksTotalCodewords = result[0].codewords.length; + longerBlocksStartAt = result.length - 1; + while (longerBlocksStartAt >= 0) { + numCodewords = result[longerBlocksStartAt].codewords.length; + if (numCodewords == shorterBlocksTotalCodewords) { + break; + } + --longerBlocksStartAt; + } + ++longerBlocksStartAt; + shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.ecCodewordsPerBlock; + rawCodewordsOffset = 0; + for (i1 = 0; i1 < shorterBlocksNumDataCodewords; i1++) { + for (j0 = 0; j0 < numResultBlocks; j0++) { + result[j0].codewords[i1] = rawCodewords[rawCodewordsOffset++]; + } + } + for (j1 = longerBlocksStartAt; j1 < numResultBlocks; j1++) { + result[j1].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++]; + } + max_0 = result[0].codewords.length; + for (i = shorterBlocksNumDataCodewords; i < max_0; i++) { + for (j = 0; j < numResultBlocks; j++) { + iOffset = j < longerBlocksStartAt?i:i + 1; + result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++]; + } + } + return result; +} + +defineClass(65, 1, {65:1}, DataBlock); +_.numDataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_DataBlock_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'DataBlock', 65); +function $clinit_DataMask(){ + $clinit_DataMask = emptyMethod; + DATA_MASK_000 = new DataMask$1; + DATA_MASK_001 = new DataMask$2; + DATA_MASK_010 = new DataMask$3; + DATA_MASK_011 = new DataMask$4; + DATA_MASK_100 = new DataMask$5; + DATA_MASK_101 = new DataMask$6; + DATA_MASK_110 = new DataMask$7; + DATA_MASK_111 = new DataMask$8; +} + +function $unmaskBitMatrix(this$static, bits, dimension){ + var i, j; + for (i = 0; i < dimension; i++) { + for (j = 0; j < dimension; j++) { + this$static.isMasked(i, j) && $flip(bits, j, i); + } + } +} + +function DataMask(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function values_2(){ + $clinit_DataMask(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit, 1), $intern_19, 14, 0, [DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111]); +} + +defineClass(14, 13, $intern_21); +var DATA_MASK_000, DATA_MASK_001, DATA_MASK_010, DATA_MASK_011, DATA_MASK_100, DATA_MASK_101, DATA_MASK_110, DATA_MASK_111; +var Lcom_google_zxing_qrcode_decoder_DataMask_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask', 14, values_2); +function DataMask$1(){ + DataMask.call(this, 'DATA_MASK_000', 0); +} + +defineClass(142, 14, $intern_21, DataMask$1); +_.isMasked = function isMasked(i, j){ + return (i + j & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$1_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/1', 142, null); +function DataMask$2(){ + DataMask.call(this, 'DATA_MASK_001', 1); +} + +defineClass(143, 14, $intern_21, DataMask$2); +_.isMasked = function isMasked_0(i, j){ + return (i & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$2_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/2', 143, null); +function DataMask$3(){ + DataMask.call(this, 'DATA_MASK_010', 2); +} + +defineClass(144, 14, $intern_21, DataMask$3); +_.isMasked = function isMasked_1(i, j){ + return j % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$3_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/3', 144, null); +function DataMask$4(){ + DataMask.call(this, 'DATA_MASK_011', 3); +} + +defineClass(145, 14, $intern_21, DataMask$4); +_.isMasked = function isMasked_2(i, j){ + return (i + j) % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$4_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/4', 145, null); +function DataMask$5(){ + DataMask.call(this, 'DATA_MASK_100', 4); +} + +defineClass(146, 14, $intern_21, DataMask$5); +_.isMasked = function isMasked_3(i, j){ + return (~~(i / 2) + ~~(j / 3) & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$5_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/5', 146, null); +function DataMask$6(){ + DataMask.call(this, 'DATA_MASK_101', 5); +} + +defineClass(147, 14, $intern_21, DataMask$6); +_.isMasked = function isMasked_4(i, j){ + var temp; + temp = i * j; + return (temp & 1) + temp % 3 == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$6_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/6', 147, null); +function DataMask$7(){ + DataMask.call(this, 'DATA_MASK_110', 6); +} + +defineClass(148, 14, $intern_21, DataMask$7); +_.isMasked = function isMasked_5(i, j){ + var temp; + temp = i * j; + return ((temp & 1) + temp % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$7_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/7', 148, null); +function DataMask$8(){ + DataMask.call(this, 'DATA_MASK_111', 7); +} + +defineClass(149, 14, $intern_21, DataMask$8); +_.isMasked = function isMasked_6(i, j){ + return ((i + j & 1) + i * j % 3 & 1) == 0; +} +; +var Lcom_google_zxing_qrcode_decoder_DataMask$8_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'DataMask/8', 149, null); +function $clinit_DecodedBitStreamParser(){ + var charArr; + $clinit_DecodedBitStreamParser = emptyMethod; + ALPHANUMERIC_CHARS = (charArr = initDim(C_classLit, $intern_18, 0, 45, 7, 1) , $getChars(charArr, 0) , charArr); +} + +function decode(bytes, version, ecLevel){ + $clinit_DecodedBitStreamParser(); + var bits, byteSegments, count, countHanzi, currentCharacterSetECI, fc1InEffect, mode, parityData, result, subset, symbolSequence, value_0; + bits = new BitSource(bytes); + result = new StringBuilder; + byteSegments = new ArrayList_0(1); + symbolSequence = -1; + parityData = -1; + try { + currentCharacterSetECI = null; + fc1InEffect = false; + do { + 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4?(mode = ($clinit_Mode() , TERMINATOR)):(mode = forBits_0($readBits(bits, 4))); + if (mode != ($clinit_Mode() , TERMINATOR)) { + if (mode == FNC1_FIRST_POSITION || mode == FNC1_SECOND_POSITION) { + fc1InEffect = true; + } + else if (mode == STRUCTURED_APPEND) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 16) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + symbolSequence = $readBits(bits, 8); + parityData = $readBits(bits, 8); + } + else if (mode == ECI) { + value_0 = parseECIValue(bits); + currentCharacterSetECI = getCharacterSetECIByValue(value_0); + if (!currentCharacterSetECI) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + else { + if (mode == HANZI) { + subset = $readBits(bits, 4); + countHanzi = $readBits(bits, $getCharacterCountBits(mode, version)); + subset == 1 && decodeHanziSegment(bits, result, countHanzi); + } + else { + count = $readBits(bits, $getCharacterCountBits(mode, version)); + if (mode == NUMERIC) { + decodeNumericSegment(bits, result, count); + } + else if (mode == ALPHANUMERIC) { + decodeAlphanumericSegment(bits, result, count, fc1InEffect); + } + else if (mode == BYTE) { + decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments); + } + else if (mode == KANJI) { + decodeKanjiSegment(bits, result, count); + } + else { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + } + } + } + } + while (mode != ($clinit_Mode() , TERMINATOR)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + return new DecoderResult(result.string, byteSegments.array.length == 0?null:byteSegments, !ecLevel?null:ecLevel.name_0 != null?ecLevel.name_0:'' + ecLevel.ordinal, symbolSequence, parityData); +} + +function decodeAlphanumericSegment(bits, result, count, fc1InEffect){ + var i, nextTwoCharsBits, start_0; + start_0 = result.string.length; + while (count > 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 11) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + nextTwoCharsBits = $readBits(bits, 11); + $append(result, toAlphaNumericChar(~~(nextTwoCharsBits / 45))); + $append(result, toAlphaNumericChar(nextTwoCharsBits % 45)); + count -= 2; + } + if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 6) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar($readBits(bits, 6))); + } + if (fc1InEffect) { + for (i = start_0; i < result.string.length; i++) { + $charAt(result.string, i) == 37 && (i < result.string.length - 1 && $charAt(result.string, i + 1) == 37?(result.string = __substr(result.string, 0, i + 1) + '' + $substring(result.string, i + 1 + 1) , result):(result.string = __substr(result.string, 0, i) + '\35' + $substring(result.string, i + 1))); + } + } +} + +function decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments){ + var encoding, i, readBytes; + if (8 * count > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + readBytes = initDim(B_classLit, $intern_18, 0, count, 7, 1); + for (i = 0; i < count; i++) { + readBytes[i] = narrow_byte($readBits(bits, 8)); + } + !currentCharacterSetECI?(encoding = guessEncoding(readBytes)):(encoding = currentCharacterSetECI.name_0 != null?currentCharacterSetECI.name_0:'' + currentCharacterSetECI.ordinal); + try { + $append_2(result, _String(readBytes, readBytes.length, encoding)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } + setCheck(byteSegments.array, byteSegments.array.length, readBytes); +} + +function decodeHanziSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_18, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 96) << 8 | twoBytes % 96; + assembledTwoBytes < 959?(assembledTwoBytes += 41377):(assembledTwoBytes += 42657); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8 & 255); + buffer[offset + 1] = narrow_byte(assembledTwoBytes & 255); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'GB2312')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeKanjiSegment(bits, result, count){ + var assembledTwoBytes, buffer, offset, twoBytes; + if (count * 13 > 8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + buffer = initDim(B_classLit, $intern_18, 0, 2 * count, 7, 1); + offset = 0; + while (count > 0) { + twoBytes = $readBits(bits, 13); + assembledTwoBytes = ~~(twoBytes / 192) << 8 | twoBytes % 192; + assembledTwoBytes < 7936?(assembledTwoBytes += 33088):(assembledTwoBytes += 49472); + buffer[offset] = narrow_byte(assembledTwoBytes >> 8); + buffer[offset + 1] = narrow_byte(assembledTwoBytes); + offset += 2; + --count; + } + try { + $append_2(result, _String(buffer, buffer.length, 'Shift_JIS')); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 51)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function decodeNumericSegment(bits, result, count){ + var digitBits, threeDigitsBits, twoDigitsBits; + while (count >= 3) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + threeDigitsBits = $readBits(bits, 10); + if (threeDigitsBits >= 1000) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 100))); + $append(result, toAlphaNumericChar(~~(threeDigitsBits / 10) % 10)); + $append(result, toAlphaNumericChar(threeDigitsBits % 10)); + count -= 3; + } + if (count == 2) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 7) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + twoDigitsBits = $readBits(bits, 7); + if (twoDigitsBits >= 100) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(~~(twoDigitsBits / 10))); + $append(result, toAlphaNumericChar(twoDigitsBits % 10)); + } + else if (count == 1) { + if (8 * (bits.bytes.length - bits.byteOffset) - bits.bitOffset < 4) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + digitBits = $readBits(bits, 4); + if (digitBits >= 10) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + $append(result, toAlphaNumericChar(digitBits)); + } +} + +function parseECIValue(bits){ + var firstByte, secondByte, secondThirdBytes; + firstByte = $readBits(bits, 8); + if ((firstByte & 128) == 0) { + return firstByte & 127; + } + if ((firstByte & 192) == 128) { + secondByte = $readBits(bits, 8); + return (firstByte & 63) << 8 | secondByte; + } + if ((firstByte & 224) == 192) { + secondThirdBytes = $readBits(bits, 16); + return (firstByte & 31) << 16 | secondThirdBytes; + } + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; +} + +function toAlphaNumericChar(value_0){ + if (value_0 >= ALPHANUMERIC_CHARS.length) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + return ALPHANUMERIC_CHARS[value_0]; +} + +var ALPHANUMERIC_CHARS; +function $correctErrors(this$static, codewordBytes, numDataCodewords){ + var codewordsInts, i, i0, numCodewords, numECCodewords; + numCodewords = codewordBytes.length; + codewordsInts = initDim(I_classLit, $intern_20, 0, numCodewords, 7, 1); + for (i0 = 0; i0 < numCodewords; i0++) { + codewordsInts[i0] = codewordBytes[i0] & 255; + } + numECCodewords = codewordBytes.length - numDataCodewords; + try { + $decode(this$static.rsDecoder, codewordsInts, numECCodewords); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 45)) { + throw $clinit_ChecksumException() , $clinit_ChecksumException() , INSTANCE_0; + } + else + throw unwrap($e0); + } + for (i = 0; i < numDataCodewords; i++) { + codewordBytes[i] = narrow_byte(codewordsInts[i]); + } +} + +function $decode_1(this$static, bits){ + var ce, e, fe, parser, result; + parser = new BitMatrixParser(bits); + fe = null; + ce = null; + try { + return $decode_2(this$static, parser); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 56)) { + e = $e0; + fe = e; + } + else if (instanceOf($e0, 55)) { + e = $e0; + ce = e; + } + else + throw unwrap($e0); + } + try { + $remask(parser); + parser.parsedVersion = null; + parser.parsedFormatInfo = null; + parser.mirror = true; + $readVersion(parser); + $readFormatInformation(parser); + $mirror(parser); + result = $decode_2(this$static, parser); + $setOther(result, new QRCodeDecoderMetaData); + return result; + } + catch ($e1) { + $e1 = wrap($e1); + if (instanceOf($e1, 56) || instanceOf($e1, 55)) { + e = $e1; + if (fe) { + throw fe; + } + if (ce) { + throw ce; + } + throw e; + } + else + throw unwrap($e1); + } +} + +function $decode_2(this$static, parser){ + var codewordBytes, codewords, dataBlock, dataBlock$index, dataBlock$index0, dataBlock$max, dataBlock$max0, dataBlocks, ecLevel, i, numDataCodewords, resultBytes, resultOffset, totalBytes, version; + version = $readVersion(parser); + ecLevel = $readFormatInformation(parser).errorCorrectionLevel; + codewords = $readCodewords(parser); + dataBlocks = getDataBlocks(codewords, version, ecLevel); + totalBytes = 0; + for (dataBlock$index0 = 0 , dataBlock$max0 = dataBlocks.length; dataBlock$index0 < dataBlock$max0; ++dataBlock$index0) { + dataBlock = dataBlocks[dataBlock$index0]; + totalBytes += dataBlock.numDataCodewords; + } + resultBytes = initDim(B_classLit, $intern_18, 0, totalBytes, 7, 1); + resultOffset = 0; + for (dataBlock$index = 0 , dataBlock$max = dataBlocks.length; dataBlock$index < dataBlock$max; ++dataBlock$index) { + dataBlock = dataBlocks[dataBlock$index]; + codewordBytes = dataBlock.codewords; + numDataCodewords = dataBlock.numDataCodewords; + $correctErrors(this$static, codewordBytes, numDataCodewords); + for (i = 0; i < numDataCodewords; i++) { + resultBytes[resultOffset++] = codewordBytes[i]; + } + } + return decode(resultBytes, version, ecLevel); +} + +function Decoder(){ + this.rsDecoder = new ReedSolomonDecoder(($clinit_GenericGF() , QR_CODE_FIELD_256)); +} + +defineClass(122, 1, {}, Decoder); +var Lcom_google_zxing_qrcode_decoder_Decoder_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Decoder', 122); +function $clinit_ErrorCorrectionLevel(){ + $clinit_ErrorCorrectionLevel = emptyMethod; + L = new ErrorCorrectionLevel('L', 0); + M = new ErrorCorrectionLevel('M', 1); + Q = new ErrorCorrectionLevel('Q', 2); + H = new ErrorCorrectionLevel('H', 3); + FOR_BITS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_19, 39, 0, [M, L, H, Q]); +} + +function ErrorCorrectionLevel(enum$name, enum$ordinal){ + Enum.call(this, enum$name, enum$ordinal); +} + +function forBits(bits){ + $clinit_ErrorCorrectionLevel(); + if (bits < 0 || bits >= FOR_BITS.length) { + throw new IllegalArgumentException; + } + return FOR_BITS[bits]; +} + +function values_3(){ + $clinit_ErrorCorrectionLevel(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit, 1), $intern_19, 39, 0, [L, M, Q, H]); +} + +defineClass(39, 13, {39:1, 3:1, 19:1, 13:1}, ErrorCorrectionLevel); +var FOR_BITS, H, L, M, Q; +var Lcom_google_zxing_qrcode_decoder_ErrorCorrectionLevel_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'ErrorCorrectionLevel', 39, values_3); +function $clinit_FormatInformation(){ + $clinit_FormatInformation = emptyMethod; + FORMAT_INFO_DECODE_LOOKUP = initValues(getClassLiteralForArray(I_classLit, 2), $intern_2, 7, 0, [initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [21522, 0]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [20773, 1]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [24188, 2]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [23371, 3]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [17913, 4]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [16590, 5]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [20375, 6]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [19104, 7]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [30660, 8]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [29427, 9]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [32170, 10]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [30877, 11]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [26159, 12]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [25368, 13]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [27713, 14]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [26998, 15]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [5769, 16]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [5054, 17]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [7399, 18]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6608, 19]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [1890, 20]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [597, 21]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [3340, 22]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [2107, 23]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [13663, 24]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [12392, 25]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [16177, 26]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [14854, 27]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [9396, 28]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8579, 29]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [11994, 30]), initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [11245, 31])]); +} + +function FormatInformation(formatInfo){ + this.errorCorrectionLevel = forBits(formatInfo >> 3 & 3); + this.dataMask = narrow_byte(formatInfo & 7); +} + +function decodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + $clinit_FormatInformation(); + var formatInfo; + formatInfo = doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2); + if (formatInfo) { + return formatInfo; + } + return doDecodeFormatInformation(maskedFormatInfo1 ^ 21522, maskedFormatInfo2 ^ 21522); +} + +function doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2){ + var bestDifference, bestFormatInfo, bitsDifference, decodeInfo, decodeInfo$array, decodeInfo$index, decodeInfo$max, targetInfo; + bestDifference = $intern_0; + bestFormatInfo = 0; + for (decodeInfo$array = FORMAT_INFO_DECODE_LOOKUP , decodeInfo$index = 0 , decodeInfo$max = decodeInfo$array.length; decodeInfo$index < decodeInfo$max; ++decodeInfo$index) { + decodeInfo = decodeInfo$array[decodeInfo$index]; + targetInfo = decodeInfo[0]; + if (targetInfo == maskedFormatInfo1 || targetInfo == maskedFormatInfo2) { + return new FormatInformation(decodeInfo[1]); + } + bitsDifference = bitCount(maskedFormatInfo1 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + if (maskedFormatInfo1 != maskedFormatInfo2) { + bitsDifference = bitCount(maskedFormatInfo2 ^ targetInfo); + if (bitsDifference < bestDifference) { + bestFormatInfo = decodeInfo[1]; + bestDifference = bitsDifference; + } + } + } + if (bestDifference <= 3) { + return new FormatInformation(bestFormatInfo); + } + return null; +} + +defineClass(49, 1, {49:1}, FormatInformation); +_.equals$ = function equals_3(o){ + var other; + if (!instanceOf(o, 49)) { + return false; + } + other = dynamicCast(o, 49); + return this.errorCorrectionLevel == other.errorCorrectionLevel && this.dataMask == other.dataMask; +} +; +_.hashCode$ = function hashCode_4(){ + return this.errorCorrectionLevel.ordinal << 3 | this.dataMask; +} +; +_.dataMask = 0; +var FORMAT_INFO_DECODE_LOOKUP; +var Lcom_google_zxing_qrcode_decoder_FormatInformation_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'FormatInformation', 49); +function $clinit_Mode(){ + $clinit_Mode = emptyMethod; + TERMINATOR = new Mode('TERMINATOR', 0, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + NUMERIC = new Mode('NUMERIC', 1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [10, 12, 14])); + ALPHANUMERIC = new Mode('ALPHANUMERIC', 2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [9, 11, 13])); + STRUCTURED_APPEND = new Mode('STRUCTURED_APPEND', 3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + BYTE = new Mode('BYTE', 4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 16, 16])); + ECI = new Mode('ECI', 5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + KANJI = new Mode('KANJI', 6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 10, 12])); + FNC1_FIRST_POSITION = new Mode('FNC1_FIRST_POSITION', 7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + FNC1_SECOND_POSITION = new Mode('FNC1_SECOND_POSITION', 8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [0, 0, 0])); + HANZI = new Mode('HANZI', 9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [8, 10, 12])); +} + +function $getCharacterCountBits(this$static, version){ + var number, offset; + number = version.versionNumber; + number <= 9?(offset = 0):number <= 26?(offset = 1):(offset = 2); + return this$static.characterCountBitsForVersions[offset]; +} + +function Mode(enum$name, enum$ordinal, characterCountBitsForVersions){ + Enum.call(this, enum$name, enum$ordinal); + this.characterCountBitsForVersions = characterCountBitsForVersions; +} + +function forBits_0(bits){ + $clinit_Mode(); + switch (bits) { + case 0: + return TERMINATOR; + case 1: + return NUMERIC; + case 2: + return ALPHANUMERIC; + case 3: + return STRUCTURED_APPEND; + case 4: + return BYTE; + case 5: + return FNC1_FIRST_POSITION; + case 7: + return ECI; + case 8: + return KANJI; + case 9: + return FNC1_SECOND_POSITION; + case 13: + return HANZI; + default:throw new IllegalArgumentException; + } +} + +function values_4(){ + $clinit_Mode(); + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Mode_2_classLit, 1), $intern_19, 23, 0, [TERMINATOR, NUMERIC, ALPHANUMERIC, STRUCTURED_APPEND, BYTE, ECI, KANJI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI]); +} + +defineClass(23, 13, {23:1, 3:1, 19:1, 13:1}, Mode); +var ALPHANUMERIC, BYTE, ECI, FNC1_FIRST_POSITION, FNC1_SECOND_POSITION, HANZI, KANJI, NUMERIC, STRUCTURED_APPEND, TERMINATOR; +var Lcom_google_zxing_qrcode_decoder_Mode_2_classLit = createForEnum('com.google.zxing.qrcode.decoder', 'Mode', 23, values_4); +function $applyMirroredCorrection(this$static, points){ + var bottomLeft; + if (!this$static.mirrored || points == null || points.length < 3) { + return; + } + bottomLeft = points[0]; + setCheck(points, 0, points[2]); + setCheck(points, 2, bottomLeft); +} + +function QRCodeDecoderMetaData(){ + this.mirrored = true; +} + +defineClass(132, 1, {}, QRCodeDecoderMetaData); +_.mirrored = false; +var Lcom_google_zxing_qrcode_decoder_QRCodeDecoderMetaData_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'QRCodeDecoderMetaData', 132); +function $clinit_Version(){ + $clinit_Version = emptyMethod; + VERSION_DECODE_INFO = initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 68472, 70749, 76311, 79154, 84390, 87683, 92361, 96236, 102084, 102881, 110507, 110734, 117786, 119615, 126325, 127568, 133589, 136944, 141498, 145311, 150283, 152622, 158308, 161089, 167017]); + VERSIONS = initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version_2_classLit, 1), $intern_2, 9, 0, [new Version(1, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, []), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(7, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 19)])), new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)])), new Version$ECBlocks(13, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 13)])), new Version$ECBlocks(17, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 9)]))])), new Version(2, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 18]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(10, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 34)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 28)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 16)]))])), new Version(3, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 22]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(15, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 55)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 44)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 17)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 13)]))])), new Version(4, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 80)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 32)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 24)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 9)]))])), new Version(5, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 108)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 43)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(2, 16)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 11), new Version$ECB(2, 12)]))])), new Version(6, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68)])), new Version$ECBlocks(16, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 27)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 19)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 15)]))])), new Version(7, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 22, 38]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 78)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 31)])), new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(4, 15)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 13), new Version$ECB(1, 14)]))])), new Version(8, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 24, 42]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 97)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 38), new Version$ECB(2, 39)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 18), new Version$ECB(2, 19)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 14), new Version$ECB(2, 15)]))])), new Version(9, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 46]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 116)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 16), new Version$ECB(4, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 12), new Version$ECB(4, 13)]))])), new Version(10, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 50]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(18, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 68), new Version$ECB(2, 69)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 43), new Version$ECB(1, 44)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 15), new Version$ECB(2, 16)]))])), new Version(11, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 81)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 50), new Version$ECB(4, 51)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 22), new Version$ECB(4, 23)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 12), new Version$ECB(8, 13)]))])), new Version(12, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 92), new Version$ECB(2, 93)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 36), new Version$ECB(2, 37)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 20), new Version$ECB(6, 21)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 14), new Version$ECB(4, 15)]))])), new Version(13, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 107)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 37), new Version$ECB(1, 38)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 20), new Version$ECB(4, 21)])), new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 11), new Version$ECB(4, 12)]))])), new Version(14, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 46, 66]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 40), new Version$ECB(5, 41)])), new Version$ECBlocks(20, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 16), new Version$ECB(5, 17)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(5, 13)]))])), new Version(15, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 48, 70]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(22, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 87), new Version$ECB(1, 88)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 41), new Version$ECB(5, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 12), new Version$ECB(7, 13)]))])), new Version(16, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 98), new Version$ECB(1, 99)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 19), new Version$ECB(2, 20)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 15), new Version$ECB(13, 16)]))])), new Version(17, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(1, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 22), new Version$ECB(15, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(17, 15)]))])), new Version(18, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 56, 82]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 120), new Version$ECB(1, 121)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 43), new Version$ECB(4, 44)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(1, 23)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 14), new Version$ECB(19, 15)]))])), new Version(19, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 113), new Version$ECB(4, 114)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 44), new Version$ECB(11, 45)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 21), new Version$ECB(4, 22)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(9, 13), new Version$ECB(16, 14)]))])), new Version(20, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 107), new Version$ECB(5, 108)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 41), new Version$ECB(13, 42)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(5, 25)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 15), new Version$ECB(10, 16)]))])), new Version(21, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 50, 72, 94]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 116), new Version$ECB(4, 117)])), new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 42)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 16), new Version$ECB(6, 17)]))])), new Version(22, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74, 98]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 111), new Version$ECB(7, 112)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(24, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 13)]))])), new Version(23, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 121), new Version$ECB(5, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 47), new Version$ECB(14, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(16, 15), new Version$ECB(14, 16)]))])), new Version(24, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 54, 80, 106]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 45), new Version$ECB(14, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 24), new Version$ECB(16, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(30, 16), new Version$ECB(2, 17)]))])), new Version(25, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58, 84, 110]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(26, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 106), new Version$ECB(4, 107)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 47), new Version$ECB(13, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(13, 16)]))])), new Version(26, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 114), new Version$ECB(2, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 46), new Version$ECB(4, 47)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(28, 22), new Version$ECB(6, 23)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(33, 16), new Version$ECB(4, 17)]))])), new Version(27, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90, 118]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 45), new Version$ECB(3, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(8, 23), new Version$ECB(26, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 15), new Version$ECB(28, 16)]))])), new Version(28, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 50, 74, 98, 122]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 117), new Version$ECB(10, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(3, 45), new Version$ECB(23, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 24), new Version$ECB(31, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(31, 16)]))])), new Version(29, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102, 126]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(7, 116), new Version$ECB(7, 117)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(21, 45), new Version$ECB(7, 46)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(1, 23), new Version$ECB(37, 24)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(26, 16)]))])), new Version(30, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 52, 78, 104, 130]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(5, 115), new Version$ECB(10, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 47), new Version$ECB(10, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(15, 24), new Version$ECB(25, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(25, 16)]))])), new Version(31, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 56, 82, 108, 134]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(3, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 46), new Version$ECB(29, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 24), new Version$ECB(1, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(23, 15), new Version$ECB(28, 16)]))])), new Version(32, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 60, 86, 112, 138]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 24), new Version$ECB(35, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 15), new Version$ECB(35, 16)]))])), new Version(33, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114, 142]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 115), new Version$ECB(1, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(21, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 24), new Version$ECB(19, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(11, 15), new Version$ECB(46, 16)]))])), new Version(34, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 34, 62, 90, 118, 146]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 115), new Version$ECB(6, 116)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(14, 46), new Version$ECB(23, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(44, 24), new Version$ECB(7, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(59, 16), new Version$ECB(1, 17)]))])), new Version(35, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 54, 78, 102, 126, 150]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 121), new Version$ECB(7, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(12, 47), new Version$ECB(26, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(39, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(22, 15), new Version$ECB(41, 16)]))])), new Version(36, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 24, 50, 76, 102, 128, 154]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 121), new Version$ECB(14, 122)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(6, 47), new Version$ECB(34, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(46, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(2, 15), new Version$ECB(64, 16)]))])), new Version(37, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 28, 54, 80, 106, 132, 158]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(17, 122), new Version$ECB(4, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(29, 46), new Version$ECB(14, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(49, 24), new Version$ECB(10, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(24, 15), new Version$ECB(46, 16)]))])), new Version(38, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 32, 58, 84, 110, 136, 162]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(4, 122), new Version$ECB(18, 123)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(13, 46), new Version$ECB(32, 47)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(48, 24), new Version$ECB(14, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(42, 15), new Version$ECB(32, 16)]))])), new Version(39, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 26, 54, 82, 110, 138, 166]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 117), new Version$ECB(4, 118)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(40, 47), new Version$ECB(7, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(43, 24), new Version$ECB(22, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(10, 15), new Version$ECB(67, 16)]))])), new Version(40, initValues(getClassLiteralForArray(I_classLit, 1), $intern_20, 0, 7, [6, 30, 58, 86, 114, 142, 170]), initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit, 1), $intern_2, 6, 0, [new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(19, 118), new Version$ECB(6, 119)])), new Version$ECBlocks(28, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(18, 47), new Version$ECB(31, 48)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(34, 24), new Version$ECB(34, 25)])), new Version$ECBlocks(30, initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit, 1), $intern_2, 4, 0, [new Version$ECB(20, 15), new Version$ECB(61, 16)]))]))]); +} + +function $buildFunctionPattern(this$static){ + var bitMatrix, dimension, i, max_0, x_0, y_0; + dimension = 17 + 4 * this$static.versionNumber; + bitMatrix = new BitMatrix(dimension); + $setRegion(bitMatrix, 0, 0, 9, 9); + $setRegion(bitMatrix, dimension - 8, 0, 8, 9); + $setRegion(bitMatrix, 0, dimension - 8, 9, 8); + max_0 = this$static.alignmentPatternCenters.length; + for (x_0 = 0; x_0 < max_0; x_0++) { + i = this$static.alignmentPatternCenters[x_0] - 2; + for (y_0 = 0; y_0 < max_0; y_0++) { + if (x_0 == 0 && (y_0 == 0 || y_0 == max_0 - 1) || x_0 == max_0 - 1 && y_0 == 0) { + continue; + } + $setRegion(bitMatrix, this$static.alignmentPatternCenters[y_0] - 2, i, 5, 5); + } + } + $setRegion(bitMatrix, 6, 9, 1, dimension - 17); + $setRegion(bitMatrix, 9, 6, dimension - 17, 1); + if (this$static.versionNumber > 6) { + $setRegion(bitMatrix, dimension - 11, 0, 3, 6); + $setRegion(bitMatrix, 0, dimension - 11, 6, 3); + } + return bitMatrix; +} + +function Version(versionNumber, alignmentPatternCenters, ecBlocks){ + var ecBlock, ecBlock$index, ecBlock$max, ecCodewords, ecbArray, total; + this.versionNumber = versionNumber; + this.alignmentPatternCenters = alignmentPatternCenters; + this.ecBlocks = ecBlocks; + total = 0; + ecCodewords = ecBlocks[0].ecCodewordsPerBlock; + ecbArray = ecBlocks[0].ecBlocks; + for (ecBlock$index = 0 , ecBlock$max = ecbArray.length; ecBlock$index < ecBlock$max; ++ecBlock$index) { + ecBlock = ecbArray[ecBlock$index]; + total += ecBlock.count * (ecBlock.dataCodewords + ecCodewords); + } + this.totalCodewords = total; +} + +function decodeVersionInformation(versionBits){ + $clinit_Version(); + var bestDifference, bestVersion, bitsDifference, i, targetVersion; + bestDifference = $intern_0; + bestVersion = 0; + for (i = 0; i < VERSION_DECODE_INFO.length; i++) { + targetVersion = VERSION_DECODE_INFO[i]; + if (targetVersion == versionBits) { + return getVersionForNumber(i + 7); + } + bitsDifference = ($clinit_FormatInformation() , bitCount(versionBits ^ targetVersion)); + if (bitsDifference < bestDifference) { + bestVersion = i + 7; + bestDifference = bitsDifference; + } + } + if (bestDifference <= 3) { + return getVersionForNumber(bestVersion); + } + return null; +} + +function getProvisionalVersionForDimension(dimension){ + $clinit_Version(); + if (dimension % 4 != 1) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + try { + return getVersionForNumber(~~((dimension - 17) / 4)); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 12)) { + throw $clinit_FormatException() , $clinit_FormatException() , INSTANCE_1; + } + else + throw unwrap($e0); + } +} + +function getVersionForNumber(versionNumber){ + $clinit_Version(); + if (versionNumber < 1 || versionNumber > 40) { + throw new IllegalArgumentException; + } + return VERSIONS[versionNumber - 1]; +} + +defineClass(9, 1, {9:1}, Version); +_.toString$ = function toString_11(){ + return '' + this.versionNumber; +} +; +_.totalCodewords = 0; +_.versionNumber = 0; +var VERSIONS, VERSION_DECODE_INFO; +var Lcom_google_zxing_qrcode_decoder_Version_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version', 9); +function Version$ECB(count, dataCodewords){ + this.count = count; + this.dataCodewords = dataCodewords; +} + +defineClass(4, 1, {4:1}, Version$ECB); +_.count = 0; +_.dataCodewords = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECB_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECB', 4); +function Version$ECBlocks(ecCodewordsPerBlock, ecBlocks){ + this.ecCodewordsPerBlock = ecCodewordsPerBlock; + this.ecBlocks = ecBlocks; +} + +defineClass(6, 1, {6:1}, Version$ECBlocks); +_.ecCodewordsPerBlock = 0; +var Lcom_google_zxing_qrcode_decoder_Version$ECBlocks_2_classLit = createForClass('com.google.zxing.qrcode.decoder', 'Version/ECBlocks', 6); +function $aboutEquals(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function AlignmentPattern(posX, posY, estimatedModuleSize){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; +} + +defineClass(50, 29, {29:1, 50:1}, AlignmentPattern); +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPattern', 50); +function $crossCheckVertical(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height_0; + stateCount = this$static.crossCheckStateCount; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + i = startI; + while (i >= 0 && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (i == maxI || stateCount[1] > maxCount) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[2] <= maxCount) { + ++stateCount[2]; + ++i; + } + if (stateCount[2] > maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return $foundPatternCross(this$static, stateCount)?i - stateCount[2] - stateCount[1] / 2:NaN; +} + +function $find(this$static){ + var confirmed, currentState, height, i, iGen, j, maxJ, middleI, startX, stateCount; + startX = this$static.startX; + height = this$static.height_0; + maxJ = startX + this$static.width_0; + middleI = this$static.startY + ~~(height / 2); + stateCount = initDim(I_classLit, $intern_20, 0, 3, 7, 1); + for (iGen = 0; iGen < height; iGen++) { + i = middleI + ((iGen & 1) == 0?~~((iGen + 1) / 2):-~~((iGen + 1) / 2)); + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + j = startX; + while (j < maxJ && !$get(this$static.image, j, i)) { + ++j; + } + currentState = 0; + while (j < maxJ) { + if ($get(this$static.image, j, i)) { + if (currentState == 1) { + ++stateCount[1]; + } + else { + if (currentState == 2) { + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, j); + if (confirmed) { + return confirmed; + } + } + stateCount[0] = stateCount[2]; + stateCount[1] = 1; + stateCount[2] = 0; + currentState = 1; + } + else { + ++stateCount[++currentState]; + } + } + } + else { + currentState == 1 && ++currentState; + ++stateCount[currentState]; + } + ++j; + } + if ($foundPatternCross(this$static, stateCount)) { + confirmed = $handlePossibleCenter(this$static, stateCount, i, maxJ); + if (confirmed) { + return confirmed; + } + } + } + if (this$static.possibleCenters.array.length != 0) { + return dynamicCast($get_1(this$static.possibleCenters, 0), 50); + } + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; +} + +function $foundPatternCross(this$static, stateCount){ + var i, maxVariance, moduleSize; + moduleSize = this$static.moduleSize; + maxVariance = moduleSize / 2; + for (i = 0; i < 3; i++) { + if (abs_0(moduleSize - stateCount[i]) >= maxVariance) { + return false; + } + } + return true; +} + +function $handlePossibleCenter(this$static, stateCount, i, j){ + var center, center$iterator, centerI, centerJ, estimatedModuleSize, point, stateCountTotal, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2]; + centerJ = j - stateCount[2] - stateCount[1] / 2; + centerI = $crossCheckVertical(this$static, i, round_int(centerJ), 2 * stateCount[1], stateCountTotal); + if (!isNaN(centerI)) { + estimatedModuleSize = (stateCount[0] + stateCount[1] + stateCount[2]) / 3; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 50)); + if ($aboutEquals(center, estimatedModuleSize, centerI, centerJ)) { + return combinedX = (center.x_0 + centerJ) / 2 , combinedY = (center.y_0 + centerI) / 2 , combinedModuleSize = (center.estimatedModuleSize + estimatedModuleSize) / 2 , new AlignmentPattern(combinedX, combinedY, combinedModuleSize); + } + } + point = new AlignmentPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return null; +} + +function AlignmentPatternFinder(image, startX, startY, width_0, height, moduleSize){ + this.image = image; + this.possibleCenters = new ArrayList_0(5); + this.startX = startX; + this.startY = startY; + this.width_0 = width_0; + this.height_0 = height; + this.moduleSize = moduleSize; + this.crossCheckStateCount = initDim(I_classLit, $intern_20, 0, 3, 7, 1); +} + +defineClass(151, 1, {}, AlignmentPatternFinder); +_.height_0 = 0; +_.moduleSize = 0; +_.startX = 0; +_.startY = 0; +_.width_0 = 0; +var Lcom_google_zxing_qrcode_detector_AlignmentPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'AlignmentPatternFinder', 151); +function $calculateModuleSizeOneWay(this$static, pattern, otherPattern){ + var moduleSizeEst1, moduleSizeEst2; + moduleSizeEst1 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(pattern.x_0), round_int(pattern.y_0), round_int(otherPattern.x_0), round_int(otherPattern.y_0)); + moduleSizeEst2 = $sizeOfBlackWhiteBlackRunBothWays(this$static, round_int(otherPattern.x_0), round_int(otherPattern.y_0), round_int(pattern.x_0), round_int(pattern.y_0)); + if (isNaN(moduleSizeEst1)) { + return moduleSizeEst2 / 7; + } + if (isNaN(moduleSizeEst2)) { + return moduleSizeEst1 / 7; + } + return (moduleSizeEst1 + moduleSizeEst2) / 14; +} + +function $detect(this$static){ + var finder, info; + finder = new FinderPatternFinder(this$static.image); + info = $find_0(finder); + return $processFinderPatternInfo(this$static, info); +} + +function $findAlignmentInRegion(this$static, overallEstModuleSize, estAlignmentX, estAlignmentY, allowanceFactor){ + var alignmentAreaBottomY, alignmentAreaLeftX, alignmentAreaRightX, alignmentAreaTopY, alignmentFinder, allowance; + allowance = round_int(allowanceFactor * overallEstModuleSize); + alignmentAreaLeftX = 0 > estAlignmentX - allowance?0:estAlignmentX - allowance; + alignmentAreaRightX = min_1(this$static.image.width_0 - 1, estAlignmentX + allowance); + if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentAreaTopY = 0 > estAlignmentY - allowance?0:estAlignmentY - allowance; + alignmentAreaBottomY = min_1(this$static.image.height_0 - 1, estAlignmentY + allowance); + if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + alignmentFinder = new AlignmentPatternFinder(this$static.image, alignmentAreaLeftX, alignmentAreaTopY, alignmentAreaRightX - alignmentAreaLeftX, alignmentAreaBottomY - alignmentAreaTopY, overallEstModuleSize); + return $find(alignmentFinder); +} + +function $processFinderPatternInfo(this$static, info){ + var alignmentPattern, bits, bottomLeft, bottomRightX, bottomRightY, correctionToTopLeft, dimension, estAlignmentX, estAlignmentY, i, moduleSize, modulesBetweenFPCenters, points, provisionalVersion, topLeft, topRight, transform; + topLeft = info.topLeft; + topRight = info.topRight; + bottomLeft = info.bottomLeft; + moduleSize = ($calculateModuleSizeOneWay(this$static, topLeft, topRight) + $calculateModuleSizeOneWay(this$static, topLeft, bottomLeft)) / 2; + if (moduleSize < 1) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + dimension = computeDimension(topLeft, topRight, bottomLeft, moduleSize); + provisionalVersion = getProvisionalVersionForDimension(dimension); + modulesBetweenFPCenters = 17 + 4 * provisionalVersion.versionNumber - 7; + alignmentPattern = null; + if (provisionalVersion.alignmentPatternCenters.length > 0) { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + correctionToTopLeft = 1 - 3 / modulesBetweenFPCenters; + estAlignmentX = round_int(topLeft.x_0 + correctionToTopLeft * (bottomRightX - topLeft.x_0)); + estAlignmentY = round_int(topLeft.y_0 + correctionToTopLeft * (bottomRightY - topLeft.y_0)); + for (i = 4; i <= 16; i <<= 1) { + try { + alignmentPattern = $findAlignmentInRegion(this$static, moduleSize, estAlignmentX, estAlignmentY, i); + break; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 54)) + throw unwrap($e0); + } + } + } + transform = createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension); + bits = sampleGrid(this$static.image, transform, dimension); + !alignmentPattern?(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 29, 0, [bottomLeft, topLeft, topRight])):(points = initValues(getClassLiteralForArray(Lcom_google_zxing_ResultPoint_2_classLit, 1), $intern_2, 29, 0, [bottomLeft, topLeft, topRight, alignmentPattern])); + return new DetectorResult(bits, points); +} + +function $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY){ + var dx, dy, error, realX, realY, state, steep, temp, x_0, xLimit, xstep, y_0, ystep; + steep = (toY - fromY < 0?-(toY - fromY):toY - fromY) > (toX - fromX < 0?-(toX - fromX):toX - fromX); + if (steep) { + temp = fromX; + fromX = fromY; + fromY = temp; + temp = toX; + toX = toY; + toY = temp; + } + dx = toX - fromX < 0?-(toX - fromX):toX - fromX; + dy = toY - fromY < 0?-(toY - fromY):toY - fromY; + error = ~~(-dx / 2); + xstep = fromX < toX?1:-1; + ystep = fromY < toY?1:-1; + state = 0; + xLimit = toX + xstep; + for (x_0 = fromX , y_0 = fromY; x_0 != xLimit; x_0 += xstep) { + realX = steep?y_0:x_0; + realY = steep?x_0:y_0; + if (state == 1 == $get(this$static.image, realX, realY)) { + if (state == 2) { + return distance_1(x_0, y_0, fromX, fromY); + } + ++state; + } + error += dy; + if (error > 0) { + if (y_0 == toY) { + break; + } + y_0 += ystep; + error -= dx; + } + } + if (state == 2) { + return distance_1(toX + xstep, toY, fromX, fromY); + } + return NaN; +} + +function $sizeOfBlackWhiteBlackRunBothWays(this$static, fromX, fromY, toX, toY){ + var otherToX, otherToY, result, scale; + result = $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, toX, toY); + scale = 1; + otherToX = fromX - (toX - fromX); + if (otherToX < 0) { + scale = fromX / (fromX - otherToX); + otherToX = 0; + } + else if (otherToX >= this$static.image.width_0) { + scale = (this$static.image.width_0 - 1 - fromX) / (otherToX - fromX); + otherToX = this$static.image.width_0 - 1; + } + otherToY = round_int(fromY - (toY - fromY) * scale); + scale = 1; + if (otherToY < 0) { + scale = fromY / (fromY - otherToY); + otherToY = 0; + } + else if (otherToY >= this$static.image.height_0) { + scale = (this$static.image.height_0 - 1 - fromY) / (otherToY - fromY); + otherToY = this$static.image.height_0 - 1; + } + otherToX = round_int(fromX + (otherToX - fromX) * scale); + result += $sizeOfBlackWhiteBlackRun(this$static, fromX, fromY, otherToX, otherToY); + return result - 1; +} + +function Detector(image){ + this.image = image; +} + +function computeDimension(topLeft, topRight, bottomLeft, moduleSize){ + var dimension, tlblCentersDimension, tltrCentersDimension; + tltrCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0) / moduleSize); + tlblCentersDimension = round_0(distance_0(topLeft.x_0, topLeft.y_0, bottomLeft.x_0, bottomLeft.y_0) / moduleSize); + dimension = ~~((tltrCentersDimension + tlblCentersDimension) / 2) + 7; + switch (dimension & 3) { + case 0: + ++dimension; + break; + case 2: + --dimension; + break; + case 3: + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + return dimension; +} + +function createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension){ + var bottomRightX, bottomRightY, dimMinusThree, sourceBottomRightX, sourceBottomRightY; + dimMinusThree = dimension - 3.5; + if (alignmentPattern) { + bottomRightX = alignmentPattern.x_0; + bottomRightY = alignmentPattern.y_0; + sourceBottomRightX = dimMinusThree - 3; + sourceBottomRightY = sourceBottomRightX; + } + else { + bottomRightX = topRight.x_0 - topLeft.x_0 + bottomLeft.x_0; + bottomRightY = topRight.y_0 - topLeft.y_0 + bottomLeft.y_0; + sourceBottomRightX = dimMinusThree; + sourceBottomRightY = dimMinusThree; + } + return quadrilateralToQuadrilateral(dimMinusThree, sourceBottomRightX, sourceBottomRightY, dimMinusThree, topLeft.x_0, topLeft.y_0, topRight.x_0, topRight.y_0, bottomRightX, bottomRightY, bottomLeft.x_0, bottomLeft.y_0); +} + +function sampleGrid(image, transform, dimension){ + return $sampleGrid(image, dimension, dimension, transform); +} + +defineClass(131, 1, {}, Detector); +var Lcom_google_zxing_qrcode_detector_Detector_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'Detector', 131); +function $aboutEquals_0(this$static, moduleSize, i, j){ + var moduleSizeDiff; + if (abs_0(i - this$static.y_0) <= moduleSize && abs_0(j - this$static.x_0) <= moduleSize) { + moduleSizeDiff = abs_0(moduleSize - this$static.estimatedModuleSize); + return moduleSizeDiff <= 1 || moduleSizeDiff <= this$static.estimatedModuleSize; + } + return false; +} + +function FinderPattern(posX, posY, estimatedModuleSize){ + FinderPattern_0.call(this, posX, posY, estimatedModuleSize, 1); +} + +function FinderPattern_0(posX, posY, estimatedModuleSize, count){ + ResultPoint.call(this, posX, posY); + this.estimatedModuleSize = estimatedModuleSize; + this.count = count; +} + +defineClass(16, 29, {29:1, 16:1}, FinderPattern, FinderPattern_0); +_.count = 0; +_.estimatedModuleSize = 0; +var Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPattern', 16); +function $crossCheckDiagonal(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, maxI, maxJ, stateCount, stateCountTotal; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = 0; + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i)) { + ++stateCount[2]; + ++i; + } + if (startI < i || centerJ < i) { + return false; + } + while (startI >= i && centerJ >= i && !$get(this$static.image, centerJ - i, startI - i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + ++i; + } + if (startI < i || centerJ < i || stateCount[1] > maxCount) { + return false; + } + while (startI >= i && centerJ >= i && $get(this$static.image, centerJ - i, startI - i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + ++i; + } + if (stateCount[0] > maxCount) { + return false; + } + maxI = this$static.image.height_0; + maxJ = this$static.image.width_0; + i = 1; + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i)) { + ++stateCount[2]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && !$get(this$static.image, centerJ + i, startI + i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (startI + i >= maxI || centerJ + i >= maxJ || stateCount[3] >= maxCount) { + return false; + } + while (startI + i < maxI && centerJ + i < maxJ && $get(this$static.image, centerJ + i, startI + i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return false; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + return (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) < 2 * originalStateCountTotal && foundPatternCross(stateCount); +} + +function $crossCheckHorizontal(this$static, startJ, centerI, maxCount, originalStateCountTotal){ + var image, j, maxJ, stateCount, stateCountTotal; + image = this$static.image; + maxJ = image.width_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + j = startJ; + while (j >= 0 && $get(image, j, centerI)) { + ++stateCount[2]; + --j; + } + if (j < 0) { + return NaN; + } + while (j >= 0 && !$get(image, j, centerI) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --j; + } + if (j < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (j >= 0 && $get(image, j, centerI) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --j; + } + if (stateCount[0] > maxCount) { + return NaN; + } + j = startJ + 1; + while (j < maxJ && $get(image, j, centerI)) { + ++stateCount[2]; + ++j; + } + if (j == maxJ) { + return NaN; + } + while (j < maxJ && !$get(image, j, centerI) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++j; + } + if (j == maxJ || stateCount[3] >= maxCount) { + return NaN; + } + while (j < maxJ && $get(image, j, centerI) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++j; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?j - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $crossCheckVertical_0(this$static, startI, centerJ, maxCount, originalStateCountTotal){ + var i, image, maxI, stateCount, stateCountTotal; + image = this$static.image; + maxI = image.height_0; + stateCount = (this$static.crossCheckStateCount[0] = 0 , this$static.crossCheckStateCount[1] = 0 , this$static.crossCheckStateCount[2] = 0 , this$static.crossCheckStateCount[3] = 0 , this$static.crossCheckStateCount[4] = 0 , this$static.crossCheckStateCount); + i = startI; + while (i >= 0 && $get(image, centerJ, i)) { + ++stateCount[2]; + --i; + } + if (i < 0) { + return NaN; + } + while (i >= 0 && !$get(image, centerJ, i) && stateCount[1] <= maxCount) { + ++stateCount[1]; + --i; + } + if (i < 0 || stateCount[1] > maxCount) { + return NaN; + } + while (i >= 0 && $get(image, centerJ, i) && stateCount[0] <= maxCount) { + ++stateCount[0]; + --i; + } + if (stateCount[0] > maxCount) { + return NaN; + } + i = startI + 1; + while (i < maxI && $get(image, centerJ, i)) { + ++stateCount[2]; + ++i; + } + if (i == maxI) { + return NaN; + } + while (i < maxI && !$get(image, centerJ, i) && stateCount[3] < maxCount) { + ++stateCount[3]; + ++i; + } + if (i == maxI || stateCount[3] >= maxCount) { + return NaN; + } + while (i < maxI && $get(image, centerJ, i) && stateCount[4] < maxCount) { + ++stateCount[4]; + ++i; + } + if (stateCount[4] >= maxCount) { + return NaN; + } + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + if (5 * (stateCountTotal - originalStateCountTotal < 0?-(stateCountTotal - originalStateCountTotal):stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) { + return NaN; + } + return foundPatternCross(stateCount)?i - stateCount[4] - stateCount[3] - stateCount[2] / 2:NaN; +} + +function $find_0(this$static){ + var confirmed, currentState, done, i, iSkip, j, maxI, maxJ, patternInfo, rowSkip, stateCount; + maxI = this$static.image.height_0; + maxJ = this$static.image.width_0; + iSkip = ~~(3 * maxI / 228); + iSkip < 3 && (iSkip = 3); + done = false; + stateCount = initDim(I_classLit, $intern_20, 0, 5, 7, 1); + for (i = iSkip - 1; i < maxI && !done; i += iSkip) { + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + currentState = 0; + for (j = 0; j < maxJ; j++) { + if ($get(this$static.image, j, i)) { + (currentState & 1) == 1 && ++currentState; + ++stateCount[currentState]; + } + else { + if ((currentState & 1) == 0) { + if (currentState == 4) { + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, j, false); + if (confirmed) { + iSkip = 2; + if (this$static.hasSkipped) { + done = $haveMultiplyConfirmedCenters(this$static); + } + else { + rowSkip = $findRowSkip(this$static); + if (rowSkip > stateCount[2]) { + i += rowSkip - stateCount[2] - 2; + j = maxJ - 1; + } + } + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + continue; + } + currentState = 0; + stateCount[0] = 0; + stateCount[1] = 0; + stateCount[2] = 0; + stateCount[3] = 0; + stateCount[4] = 0; + } + else { + stateCount[0] = stateCount[2]; + stateCount[1] = stateCount[3]; + stateCount[2] = stateCount[4]; + stateCount[3] = 1; + stateCount[4] = 0; + currentState = 3; + } + } + else { + ++stateCount[++currentState]; + } + } + else { + ++stateCount[currentState]; + } + } + } + if (foundPatternCross(stateCount)) { + confirmed = $handlePossibleCenter_0(this$static, stateCount, i, maxJ, false); + if (confirmed) { + iSkip = stateCount[0]; + this$static.hasSkipped && (done = $haveMultiplyConfirmedCenters(this$static)); + } + } + } + patternInfo = $selectBestPatterns(this$static); + orderBestPatterns(patternInfo); + return new FinderPatternInfo(patternInfo); +} + +function $findRowSkip(this$static){ + var center, center$iterator, firstConfirmedCenter, max_0; + max_0 = this$static.possibleCenters.array.length; + if (max_0 <= 1) { + return 0; + } + firstConfirmedCenter = null; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + if (center.count >= 2) { + if (!firstConfirmedCenter) { + firstConfirmedCenter = center; + } + else { + this$static.hasSkipped = true; + return ~~(round_int(abs_0(firstConfirmedCenter.x_0 - center.x_0) - abs_0(firstConfirmedCenter.y_0 - center.y_0)) / 2); + } + } + } + return 0; +} + +function $handlePossibleCenter_0(this$static, stateCount, i, j, pureBarcode){ + var center, centerI, centerJ, estimatedModuleSize, found, index_0, point, stateCountTotal, combinedCount, combinedX, combinedY, combinedModuleSize; + stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4]; + centerJ = j - stateCount[4] - stateCount[3] - stateCount[2] / 2; + centerI = $crossCheckVertical_0(this$static, i, round_int(centerJ), stateCount[2], stateCountTotal); + if (!isNaN(centerI)) { + centerJ = $crossCheckHorizontal(this$static, round_int(centerJ), round_int(centerI), stateCount[2], stateCountTotal); + if (!isNaN(centerJ) && (!pureBarcode || $crossCheckDiagonal(this$static, round_int(centerI), round_int(centerJ), stateCount[2], stateCountTotal))) { + estimatedModuleSize = stateCountTotal / 7; + found = false; + for (index_0 = 0; index_0 < this$static.possibleCenters.array.length; index_0++) { + center = dynamicCast($get_1(this$static.possibleCenters, index_0), 16); + if ($aboutEquals_0(center, estimatedModuleSize, centerI, centerJ)) { + $set_1(this$static.possibleCenters, index_0, (combinedCount = center.count + 1 , combinedX = (center.count * center.x_0 + centerJ) / combinedCount , combinedY = (center.count * center.y_0 + centerI) / combinedCount , combinedModuleSize = (center.count * center.estimatedModuleSize + estimatedModuleSize) / combinedCount , new FinderPattern_0(combinedX, combinedY, combinedModuleSize, combinedCount))); + found = true; + break; + } + } + if (!found) { + point = new FinderPattern(centerJ, centerI, estimatedModuleSize); + $add_2(this$static.possibleCenters, point); + } + return true; + } + } + return false; +} + +function $haveMultiplyConfirmedCenters(this$static){ + var average, confirmedCount, max_0, pattern, pattern$iterator, pattern$iterator0, totalDeviation, totalModuleSize; + confirmedCount = 0; + totalModuleSize = 0; + max_0 = this$static.possibleCenters.array.length; + for (pattern$iterator0 = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator0.i < pattern$iterator0.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator0.i < pattern$iterator0.this$01.size_1()) , dynamicCast(pattern$iterator0.this$01.get_1(pattern$iterator0.last = pattern$iterator0.i++), 16)); + if (pattern.count >= 2) { + ++confirmedCount; + totalModuleSize += pattern.estimatedModuleSize; + } + } + if (confirmedCount < 3) { + return false; + } + average = totalModuleSize / max_0; + totalDeviation = 0; + for (pattern$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); pattern$iterator.i < pattern$iterator.this$01.size_1();) { + pattern = (checkCriticalElement(pattern$iterator.i < pattern$iterator.this$01.size_1()) , dynamicCast(pattern$iterator.this$01.get_1(pattern$iterator.last = pattern$iterator.i++), 16)); + totalDeviation += abs_0(pattern.estimatedModuleSize - average); + } + return totalDeviation <= 0.05000000074505806 * totalModuleSize; +} + +function $selectBestPatterns(this$static){ + var average, center, center$iterator, i, limit, pattern, possibleCenter, possibleCenter$iterator, size_0, square, startSize, stdDev, totalModuleSize; + startSize = this$static.possibleCenters.array.length; + if (startSize < 3) { + throw $clinit_NotFoundException() , $clinit_NotFoundException() , INSTANCE_2; + } + if (startSize > 3) { + totalModuleSize = 0; + square = 0; + for (center$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); center$iterator.i < center$iterator.this$01.size_1();) { + center = (checkCriticalElement(center$iterator.i < center$iterator.this$01.size_1()) , dynamicCast(center$iterator.this$01.get_1(center$iterator.last = center$iterator.i++), 16)); + size_0 = center.estimatedModuleSize; + totalModuleSize += size_0; + square += size_0 * size_0; + } + average = totalModuleSize / startSize; + stdDev = Math.sqrt(square / startSize - average * average); + sort_0(this$static.possibleCenters, new FinderPatternFinder$FurthestFromAverageComparator(average)); + limit = $intern_22 * average > stdDev?$intern_22 * average:stdDev; + for (i = 0; i < this$static.possibleCenters.array.length && this$static.possibleCenters.array.length > 3; i++) { + pattern = dynamicCast($get_1(this$static.possibleCenters, i), 16); + if (abs_0(pattern.estimatedModuleSize - average) > limit) { + this$static.possibleCenters.remove(i); + --i; + } + } + } + if (this$static.possibleCenters.array.length > 3) { + totalModuleSize = 0; + for (possibleCenter$iterator = new AbstractList$IteratorImpl(this$static.possibleCenters); possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1();) { + possibleCenter = (checkCriticalElement(possibleCenter$iterator.i < possibleCenter$iterator.this$01.size_1()) , dynamicCast(possibleCenter$iterator.this$01.get_1(possibleCenter$iterator.last = possibleCenter$iterator.i++), 16)); + totalModuleSize += possibleCenter.estimatedModuleSize; + } + average = totalModuleSize / this$static.possibleCenters.array.length; + sort_0(this$static.possibleCenters, new FinderPatternFinder$CenterComparator(average)); + $clear(new AbstractList$SubList(this$static.possibleCenters, this$static.possibleCenters.array.length)); + } + return initValues(getClassLiteralForArray(Lcom_google_zxing_qrcode_detector_FinderPattern_2_classLit, 1), $intern_2, 16, 0, [dynamicCast($get_1(this$static.possibleCenters, 0), 16), dynamicCast($get_1(this$static.possibleCenters, 1), 16), dynamicCast($get_1(this$static.possibleCenters, 2), 16)]); +} + +function FinderPatternFinder(image){ + this.image = image; + this.possibleCenters = new ArrayList; + this.crossCheckStateCount = initDim(I_classLit, $intern_20, 0, 5, 7, 1); +} + +function foundPatternCross(stateCount){ + var count, i, maxVariance, moduleSize, totalModuleSize; + totalModuleSize = 0; + for (i = 0; i < 5; i++) { + count = stateCount[i]; + if (count == 0) { + return false; + } + totalModuleSize += count; + } + if (totalModuleSize < 7) { + return false; + } + moduleSize = totalModuleSize / 7; + maxVariance = moduleSize / 2; + return abs_0(moduleSize - stateCount[0]) < maxVariance && abs_0(moduleSize - stateCount[1]) < maxVariance && abs_0(3 * moduleSize - stateCount[2]) < 3 * maxVariance && abs_0(moduleSize - stateCount[3]) < maxVariance && abs_0(moduleSize - stateCount[4]) < maxVariance; +} + +defineClass(134, 1, {}, FinderPatternFinder); +_.hasSkipped = false; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder', 134); +function $compare(this$static, center1, center2){ + var dA, dB; + if (center2.count == center1.count) { + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?1:dA == dB?0:-1; + } + else { + return center2.count - center1.count; + } +} + +function FinderPatternFinder$CenterComparator(f){ + this.average = f; +} + +defineClass(136, 1, $intern_18, FinderPatternFinder$CenterComparator); +_.compare = function compare(center1, center2){ + return $compare(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$CenterComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/CenterComparator', 136); +function $compare_0(this$static, center1, center2){ + var dA, dB; + dA = abs_0(center2.estimatedModuleSize - this$static.average); + dB = abs_0(center1.estimatedModuleSize - this$static.average); + return dA < dB?-1:dA == dB?0:1; +} + +function FinderPatternFinder$FurthestFromAverageComparator(f){ + this.average = f; +} + +defineClass(135, 1, $intern_18, FinderPatternFinder$FurthestFromAverageComparator); +_.compare = function compare_0(center1, center2){ + return $compare_0(this, dynamicCast(center1, 16), dynamicCast(center2, 16)); +} +; +_.average = 0; +var Lcom_google_zxing_qrcode_detector_FinderPatternFinder$FurthestFromAverageComparator_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternFinder/FurthestFromAverageComparator', 135); +function FinderPatternInfo(patternCenters){ + this.bottomLeft = patternCenters[0]; + this.topLeft = patternCenters[1]; + this.topRight = patternCenters[2]; +} + +defineClass(137, 1, {}, FinderPatternInfo); +var Lcom_google_zxing_qrcode_detector_FinderPatternInfo_2_classLit = createForClass('com.google.zxing.qrcode.detector', 'FinderPatternInfo', 137); +function $getMatrix(this$static){ + var area, height, i, j, matrix, pixelByte, pixelInt, width_0; + width_0 = this$static.width_0; + height = this$static.height_0; + area = width_0 * height; + matrix = initDim(B_classLit, $intern_18, 0, area, 7, 1); + for (i = 0; i < width_0; i++) + for (j = 0; j < height; j++) { + pixelInt = $getColorAt(this$static.imagedata, this$static.left + i, this$static.top_0 + j, 0); + pixelByte = narrow_byte(pixelInt); + matrix[i + j * width_0] = pixelByte; + } + return matrix; +} + +function $getRow(this$static, y_0, row){ + var i, width_0, yoffset; + if (y_0 < 0 || y_0 >= this$static.height_0) { + throw new IllegalArgumentException_0('Requested row is outside the image: ' + y_0); + } + width_0 = this$static.width_0; + (row == null || row.length < width_0) && (row = initDim(B_classLit, $intern_18, 0, width_0, 7, 1)); + yoffset = this$static.top_0 + y_0; + for (i = 0; i < width_0; i++) { + row[i] = $getColorAt(this$static.imagedata, this$static.left + i, yoffset, 0) << 24 >> 24; + } + return row; +} + +function CanvasLuminanceSource(image){ + CanvasLuminanceSource_0.call(this, image, ($clinit_DOM() , image.element).width, image.element.height); +} + +function CanvasLuminanceSource_0(aImage, width_0, height){ + var avg, data_0, i, sourceHeight, sourceWidth; + this.width_0 = width_0; + this.height_0 = height; + sourceWidth = ($clinit_DOM() , aImage.element).width; + sourceHeight = aImage.element.height; + if (width_0 > sourceWidth || height > sourceHeight) { + throw new IllegalArgumentException_0('Crop rectangle does not fit within image data.'); + } + this.image = createIfSupported(); + $setPixelSize(this.image, sourceWidth, sourceHeight); + $setCoordinateSpaceHeight(this.image, sourceHeight); + $setCoordinateSpaceWidth(this.image, sourceWidth); + this.imagedata = $getImageData(aImage.element.getContext('2d'), 0, 0, width_0, height); + data_0 = this.imagedata.data; + for (i = 0; i < data_0.length; i += 4) { + if (((data_0[i + 3] || 0) & 255) == 0) { + $set(data_0, i, 255); + $set(data_0, i + 1, 255); + $set(data_0, i + 2, 255); + $set(data_0, i + 3, 255); + } + else { + avg = ~~(((data_0[i] || 0) + (data_0[i + 1] || 0) + (data_0[i + 2] || 0)) / 3); + $set(data_0, i, avg); + $set(data_0, i + 1, avg); + $set(data_0, i + 2, avg); + } + } + $putImageData($getContext2d(this.image), this.imagedata, 0, 0); + this.left = 0; + this.top_0 = 0; +} + +defineClass(78, 125, {}, CanvasLuminanceSource); +_.left = 0; +_.top_0 = 0; +var Lcom_google_zxing_web_CanvasLuminanceSource_2_classLit = createForClass('com.google.zxing.web', 'CanvasLuminanceSource', 78); +function $createSnapImage(this$static){ + var binarizer, h, lsource, snapImage, w; + w = $getVideoElement(this$static.video).videoWidth; + h = $getVideoElement(this$static.video).videoHeight; + if (w > 0 && h > 0) { + if (this$static.snapImageMaxSize > 0) { + if (w > h) { + if (this$static.snapImageMaxSize < w) { + h = ~~(h * this$static.snapImageMaxSize / w); + w = this$static.snapImageMaxSize; + } + } + else { + if (this$static.snapImageMaxSize < h) { + w = ~~(w * this$static.snapImageMaxSize / h); + h = this$static.snapImageMaxSize; + } + } + } + $setCoordinateSpaceWidth(this$static.canvas, w); + $setCoordinateSpaceHeight(this$static.canvas, h); + $drawImage($getCanvasElement(this$static.canvas).getContext('2d'), $getMediaElement(this$static.video), 0, 0, w, h); + lsource = new CanvasLuminanceSource(this$static.canvas); + binarizer = new HybridBinarizer(lsource); + snapImage = new BinaryBitmap(binarizer); + return snapImage; + } + return null; +} + +function $isScanning(this$static){ + return this$static.active && this$static.attached; +} + +function $onAttach_1(this$static){ + var t; + $onAttach(this$static); + $setSrc(this$static.video); + try { + $setWebcam(($clinit_DOM() , this$static.video.element), this$static); + } + catch ($e0) { + $e0 = wrap($e0); + if (instanceOf($e0, 8)) { + t = $e0; + $reportError(this$static, t.getMessage()); + } + else + throw unwrap($e0); + } +} + +function $reportError(this$static, msg){ + $onSuccess(this$static.callback, new Result(msg)); +} + +function $resumeScanning(this$static){ + this$static.active = true; + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); +} + +function $scan(this$static){ + var bitmap, reader, reader$iterator, result; + if (!(this$static.active && this$static.attached)) + return; + try { + bitmap = $createSnapImage(this$static); + if (bitmap) { + for (reader$iterator = new AbstractList$IteratorImpl(this$static.readers); reader$iterator.i < reader$iterator.this$01.size_1();) { + reader = (checkCriticalElement(reader$iterator.i < reader$iterator.this$01.size_1()) , dynamicCast(reader$iterator.this$01.get_1(reader$iterator.last = reader$iterator.i++), 181)); + try { + result = $decode_0(reader, bitmap); + $onSuccess(this$static.callback, result); + return; + } + catch ($e0) { + $e0 = wrap($e0); + if (!instanceOf($e0, 10)) + throw unwrap($e0); + } + } + } + } + finally { + this$static.active && this$static.attached && $schedule(this$static.scanTimer, this$static.scanInterval); + } +} + +function $setScanInterval(this$static, scanInterval){ + this$static.scanInterval = scanInterval; +} + +function $setSnapImageMaxSize(this$static, snapImageMaxSize){ + this$static.snapImageMaxSize = snapImageMaxSize; +} + +function $setWebcam(videoElement, scanner){ + function success(stream){ + scanner.videoStream = stream; + var v = videoElement; + function removeControls(){ + v.removeAttribute('controls'); + } + + try { + v.srcObject = stream; + v.setAttribute('playsinline', true); + v.setAttribute('controls', true); + setTimeout(removeControls); + } + catch (ex) { + v.src = $wnd.URL.createObjectURL(stream); + } + scanner.videoAttached(); + } + + function error(ex){ + var msg = ex.message; + scanner.reportError(msg); + } + + var vsp = scanner.videoStreamProvider; + if (vsp) { + vsp().then(success)['catch'](error); + return; + } + var n = $wnd.navigator; + if (n.mediaDevices && n.mediaDevices.getUserMedia) { + n.mediaDevices.getUserMedia({video:{facingMode:'environment'}, audio:false}).then(success)['catch'](error); + } + else { + var constraints = {audio:false, video:true}; + n.getUserMedia?n.getUserMedia(constraints, success, error):n.webkitGetUserMedia?n.webkitGetUserMedia(constraints, success, error):n.mozGetUserMedia && n.mozGetUserMedia(constraints, success, error); + } +} + +function $stopWebcam(scanner){ + if (scanner.videoStream) { + var stream = scanner.videoStream; + stream.stop?stream.stop():stream.getTracks && stream.getTracks().forEach(function(track){ + track.stop(); + } + ); + scanner.videoStream = null; + } +} + +function ScannerWidget(callback, videoStreamProvider){ + this.children = new WidgetCollection; + $setElement(this, ($clinit_DOM() , $doc.createElement('div'))); + this.video = createIfSupported_0(); + this.canvas = createIfSupported(); + this.qrReader = new QRCodeReader; + this.readers = new ArrayList; + this.scanInterval = 300; + this.snapImageMaxSize = -1; + this.active = true; + this.callback = callback; + this.videoStreamProvider = videoStreamProvider; + $add_2(this.readers, this.qrReader); + this.scanTimer = new ScannerWidget$1(this); + $add_0(this, this.video); + $setStyleName(this.video); + $setAutoplay(this.video); +} + +defineClass(104, 75, $intern_1); +_.onAttach = function onAttach_1(){ + $onAttach_1(this); +} +; +_.onDetach = function onDetach_0(){ + $onDetach(this); + $stopWebcam(this); +} +; +_.reportError = function reportError(msg){ + $reportError(this, msg); +} +; +_.videoAttached = function videoAttached(){ + this.active && this.attached && $schedule(this.scanTimer, this.scanInterval); +} +; +_.active = false; +_.scanInterval = 0; +_.snapImageMaxSize = 0; +var Lcom_google_zxing_web_ScannerWidget_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget', 104); +function ScannerWidget$1(this$0){ + this.this$01 = this$0; +} + +defineClass(108, 107, {}, ScannerWidget$1); +var Lcom_google_zxing_web_ScannerWidget$1_2_classLit = createForClass('com.google.zxing.web', 'ScannerWidget/1', 108); +defineClass(153, 10, $intern_4); +var Ljava_io_IOException_2_classLit = createForClass('java.io', 'IOException', 153); +function UnsupportedEncodingException(msg){ + Exception_0.call(this, msg); +} + +defineClass(51, 153, {3:1, 51:1, 10:1, 8:1}, UnsupportedEncodingException); +var Ljava_io_UnsupportedEncodingException_2_classLit = createForClass('java.io', 'UnsupportedEncodingException', 51); +function AbstractStringBuilder(string){ + this.string = string; +} + +defineClass(60, 1, {}); +_.toString$ = function toString_12(){ + return this.string; +} +; +var Ljava_lang_AbstractStringBuilder_2_classLit = createForClass('java.lang', 'AbstractStringBuilder', 60); +function ArithmeticException(){ + RuntimeException.call(this); +} + +defineClass(70, 15, $intern_4, ArithmeticException); +var Ljava_lang_ArithmeticException_2_classLit = createForClass('java.lang', 'ArithmeticException', 70); +function ArrayStoreException(){ + RuntimeException.call(this); +} + +function ArrayStoreException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(46, 15, $intern_4, ArrayStoreException, ArrayStoreException_0); +var Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang', 'ArrayStoreException', 46); +function toChars(codePoint, dst, dstIndex){ + checkCriticalArgument(codePoint >= 0 && codePoint <= 1114111); + if (codePoint >= $intern_12) { + dst[dstIndex++] = 55296 + (codePoint - $intern_12 >> 10 & 1023) & $intern_5; + dst[dstIndex] = 56320 + (codePoint - $intern_12 & 1023) & $intern_5; + return 2; + } + else { + dst[dstIndex] = codePoint & $intern_5; + return 1; + } +} + +function ClassCastException(){ + RuntimeException.call(this); +} + +defineClass(41, 15, $intern_4, ClassCastException); +var Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang', 'ClassCastException', 41); +defineClass(66, 1, {3:1, 66:1}); +var Ljava_lang_Number_2_classLit = createForClass('java.lang', 'Number', 66); +function $clinit_Double(){ + $clinit_Double = emptyMethod; + powers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_18, 0, 7, [1.3407807929942597E154, 1.157920892373162E77, 3.4028236692093846E38, 1.8446744073709552E19, 4294967296, $intern_12, 256, 16, 4, 2]); + invPowers = initValues(getClassLiteralForArray(D_classLit, 1), $intern_18, 0, 7, [7.458340731200207E-155, 8.636168555094445E-78, 2.9387358770557188E-39, 5.421010862427522E-20, 2.3283064365386963E-10, 1.52587890625E-5, 0.00390625, 0.0625, 0.25, 0.5]); +} + +function doubleToLongBits(value_0){ + $clinit_Double(); + var bit, exp_0, i, ihi, ilo, negative; + if (isNaN_0(value_0)) { + return {l:0, m:0, h:524160}; + } + negative = false; + if (value_0 == 0) { + return 1 / value_0 == -Infinity?{l:0, m:0, h:$intern_11}:{l:0, m:0, h:0}; + } + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?{l:0, m:0, h:1048320}:{l:0, m:0, h:524032}; + } + exp_0 = 0; + if (value_0 < 1) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 < invPowers[i] && exp_0 - bit >= -1023) { + value_0 *= powers[i]; + exp_0 -= bit; + } + } + if (value_0 < 1 && exp_0 - 1 >= -1023) { + value_0 *= 2; + --exp_0; + } + } + else if (value_0 >= 2) { + bit = 512; + for (i = 0; i < 10; ++i , bit >>= 1) { + if (value_0 >= powers[i]) { + value_0 *= invPowers[i]; + exp_0 += bit; + } + } + } + exp_0 > -1023?(value_0 -= 1):(value_0 *= 0.5); + ihi = fromDouble(value_0 * $intern_13); + value_0 -= toDouble(ihi) * 9.5367431640625E-7; + ilo = fromDouble(value_0 * 4503599627370496); + ihi = or(ihi, fromInt(exp_0 + 1023 << 20)); + negative && (ihi = or(ihi, {l:0, m:512, h:0})); + return or(shl(ihi, 32), ilo); +} + +function isNaN_0(x_0){ + $clinit_Double(); + return isNaN(x_0); +} + +var invPowers, powers; +function floatToIntBits(value_0){ + var bits, exp_0, l, mantissa, negative; + if (isNaN(value_0)) { + return 2143289344; + } + if (value_0 == 0) { + return 1 / value_0 == -Infinity?-2147483648:0; + } + negative = false; + if (value_0 < 0) { + negative = true; + value_0 = -value_0; + } + if (!isFinite(value_0) && !isNaN(value_0)) { + return negative?-8388608:2139095040; + } + l = doubleToLongBits(value_0); + exp_0 = toInt(sub_0(and(shr(l, 52), {l:2047, m:0, h:0}), {l:1023, m:0, h:0})); + mantissa = toInt(shr(and(l, {l:$intern_6, m:$intern_6, h:255}), 29)); + if (exp_0 <= -127) { + mantissa = ($intern_14 | mantissa) >> -127 - exp_0 + 1; + exp_0 = -127; + } + bits = negative?{l:0, m:512, h:0}:{l:0, m:0, h:0}; + bits = or(bits, fromInt(exp_0 + 127 << 23)); + bits = or(bits, fromInt(mantissa)); + return toInt(bits); +} + +function IllegalArgumentException(){ + RuntimeException.call(this); +} + +function IllegalArgumentException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(12, 15, {3:1, 10:1, 12:1, 8:1}, IllegalArgumentException, IllegalArgumentException_0); +var Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang', 'IllegalArgumentException', 12); +function IllegalStateException(){ + RuntimeException.call(this); +} + +function IllegalStateException_0(s){ + RuntimeException_0.call(this, s); +} + +defineClass(43, 15, $intern_4, IllegalStateException, IllegalStateException_0); +var Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang', 'IllegalStateException', 43); +function IndexOutOfBoundsException(){ + RuntimeException.call(this); +} + +function IndexOutOfBoundsException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(38, 15, $intern_4, IndexOutOfBoundsException, IndexOutOfBoundsException_0); +var Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang', 'IndexOutOfBoundsException', 38); +function $compareTo_0(this$static, b){ + return compare_1(this$static.value_0, b.value_0); +} + +function Integer(value_0){ + this.value_0 = value_0; +} + +function bitCount(x_0){ + x_0 -= x_0 >> 1 & 1431655765; + x_0 = (x_0 >> 2 & 858993459) + (x_0 & 858993459); + x_0 = (x_0 >> 4) + x_0 & 252645135; + x_0 += x_0 >> 8; + x_0 += x_0 >> 16; + return x_0 & 63; +} + +function compare_1(x_0, y_0){ + return x_0 < y_0?-1:x_0 > y_0?1:0; +} + +function toUnsignedRadixString(value_0, radix){ + return (value_0 >>> 0).toString(radix); +} + +function valueOf(i){ + var rebase, result; + if (i > -129 && i < 128) { + rebase = i + 128; + result = ($clinit_Integer$BoxedValues() , boxedValues_0)[rebase]; + !result && (result = boxedValues_0[rebase] = new Integer(i)); + return result; + } + return new Integer(i); +} + +defineClass(36, 66, {3:1, 19:1, 36:1, 66:1}, Integer); +_.compareTo = function compareTo_0(b){ + return $compareTo_0(this, dynamicCast(b, 36)); +} +; +_.equals$ = function equals_4(o){ + return instanceOf(o, 36) && dynamicCast(o, 36).value_0 == this.value_0; +} +; +_.hashCode$ = function hashCode_5(){ + return this.value_0; +} +; +_.toString$ = function toString_14(){ + return '' + this.value_0; +} +; +_.value_0 = 0; +var Ljava_lang_Integer_2_classLit = createForClass('java.lang', 'Integer', 36); +function $clinit_Integer$BoxedValues(){ + $clinit_Integer$BoxedValues = emptyMethod; + boxedValues_0 = initDim(Ljava_lang_Integer_2_classLit, $intern_2, 36, 256, 0, 1); +} + +var boxedValues_0; +function abs_0(x_0){ + return x_0 <= 0?0 - x_0:x_0; +} + +function min_1(x_0, y_0){ + return x_0 < y_0?x_0:y_0; +} + +function NullPointerException(){ + RuntimeException.call(this); +} + +function NullPointerException_0(message){ + RuntimeException_0.call(this, message); +} + +defineClass(71, 15, $intern_4, NullPointerException, NullPointerException_0); +var Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang', 'NullPointerException', 71); +function $charAt(this$static, index_0){ + return this$static.charCodeAt(index_0); +} + +function $equals(this$static, other){ + return this$static === other; +} + +function $equalsIgnoreCase(this$static, other){ + if (other == null) { + return false; + } + if (this$static == other) { + return true; + } + return this$static.length == other.length && this$static.toLowerCase() == other.toLowerCase(); +} + +function $getChars(dst, dstBegin){ + var srcIdx; + for (srcIdx = 0; srcIdx < 45; ++srcIdx) { + dst[dstBegin++] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'.charCodeAt(srcIdx); + } +} + +function $split(this$static, regex, maxMatch){ + var compiled = new RegExp(regex, 'g'); + var out = []; + var count = 0; + var trail = this$static; + var lastTrail = null; + while (true) { + var matchObj = compiled.exec(trail); + if (matchObj == null || trail == '' || count == maxMatch - 1 && maxMatch > 0) { + out[count] = trail; + break; + } + else { + out[count] = trail.substring(0, matchObj.index); + trail = trail.substring(matchObj.index + matchObj[0].length, trail.length); + compiled.lastIndex = 0; + if (lastTrail == trail) { + out[count] = trail.substring(0, 1); + trail = trail.substring(1); + } + lastTrail = trail; + count++; + } + } + if (maxMatch == 0 && this$static.length > 0) { + var lastNonEmpty = out.length; + while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') { + --lastNonEmpty; + } + lastNonEmpty < out.length && out.splice(lastNonEmpty, out.length - lastNonEmpty); + } + var jr = __createArray(out.length); + for (var i = 0; i < out.length; ++i) { + jr[i] = out[i]; + } + return jr; +} + +function $substring(this$static, beginIndex){ + return __substr(this$static, beginIndex, this$static.length - beginIndex); +} + +function _String(bytes, len, charset){ + if ($equalsIgnoreCase('UTF-8', charset)) { + return utf8ToString(bytes, len); + } + else if ($equalsIgnoreCase('ISO-8859-1', charset) || $equalsIgnoreCase('ISO-LATIN-1', charset)) { + return latin1ToString(bytes, len); + } + else { + throw new UnsupportedEncodingException('Charset ' + charset + ' not supported'); + } +} + +function __createArray(numElements){ + return initDim(Ljava_lang_String_2_classLit, $intern_2, 2, numElements, 4, 1); +} + +function __substr(str, beginIndex, len){ + return str.substr(beginIndex, len); +} + +function __valueOf(x_0, start_0, end){ + var s = ''; + for (var batchStart = start_0; batchStart < end;) { + var batchEnd = Math.min(batchStart + 10000, end); + s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd)); + batchStart = batchEnd; + } + return s; +} + +function compareTo_1(thisStr, otherStr){ + if (thisStr == otherStr) { + return 0; + } + return thisStr < otherStr?-1:1; +} + +function compareTo_Ljava_lang_Object__I__devirtual$(this$static, other){ + return isJavaString(this$static)?compareTo_1(this$static, dynamicCastToString(other)):this$static.compareTo(other); +} + +function latin1ToString(bytes, len){ + var chars, i; + chars = initDim(C_classLit, $intern_18, 0, len, 7, 1); + for (i = 0; i < len; ++i) { + chars[i] = bytes[i] & 255 & $intern_5; + } + return __valueOf(chars, 0, chars.length); +} + +function utf8ToString(bytes, len){ + var b, ch_0, charCount, chars, count, i, i0, outIdx; + charCount = 0; + for (i0 = 0; i0 < len;) { + ++charCount; + ch_0 = bytes[i0]; + if ((ch_0 & 192) == 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + else if ((ch_0 & 128) == 0) { + ++i0; + } + else if ((ch_0 & 224) == 192) { + i0 += 2; + } + else if ((ch_0 & 240) == 224) { + i0 += 3; + } + else if ((ch_0 & 248) == 240) { + i0 += 4; + } + else { + throw new IllegalArgumentException_0('Invalid UTF8 sequence'); + } + if (i0 > len) { + throw new IndexOutOfBoundsException_0('Invalid UTF8 sequence'); + } + } + chars = initDim(C_classLit, $intern_18, 0, charCount, 7, 1); + outIdx = 0; + count = 0; + for (i = 0; i < len;) { + ch_0 = bytes[i++]; + if ((ch_0 & 128) == 0) { + count = 1; + ch_0 &= 127; + } + else if ((ch_0 & 224) == 192) { + count = 2; + ch_0 &= 31; + } + else if ((ch_0 & 240) == 224) { + count = 3; + ch_0 &= 15; + } + else if ((ch_0 & 248) == 240) { + count = 4; + ch_0 &= 7; + } + else if ((ch_0 & 252) == 248) { + count = 5; + ch_0 &= 3; + } + while (--count > 0) { + b = bytes[i++]; + if ((b & 192) != 128) { + throw new IllegalArgumentException_0('Invalid UTF8 sequence at ' + (i - 1) + ', byte=' + toUnsignedRadixString(b, 16)); + } + ch_0 = ch_0 << 6 | b & 63; + } + outIdx += toChars(ch_0, chars, outIdx); + } + return __valueOf(chars, 0, chars.length); +} + +var Ljava_lang_String_2_classLit = createForClass('java.lang', 'String', 2); +function $clinit_String$HashCache(){ + $clinit_String$HashCache = emptyMethod; + back_0 = {}; + front = {}; +} + +function compute(str){ + var hashCode, i, n, nBatch; + hashCode = 0; + n = str.length; + nBatch = n - 4; + i = 0; + while (i < nBatch) { + hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))); + hashCode = ~~hashCode; + i += 4; + } + while (i < n) { + hashCode = hashCode * 31 + $charAt(str, i++); + } + hashCode = ~~hashCode; + return hashCode; +} + +function getHashCode_0(str){ + $clinit_String$HashCache(); + var key = ':' + str; + var result = front[key]; + if (result != null) { + return result; + } + result = back_0[key]; + result == null && (result = compute(str)); + increment(); + return front[key] = result; +} + +function increment(){ + if (count_0 == 256) { + back_0 = front; + front = {}; + count_0 = 0; + } + ++count_0; +} + +var back_0, count_0 = 0, front; +function $append(this$static, x_0){ + this$static.string += charToString(x_0); + return this$static; +} + +function $append_0(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_1(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function $append_2(this$static, x_0){ + this$static.string += x_0; + return this$static; +} + +function StringBuilder(){ + AbstractStringBuilder.call(this, ''); +} + +function StringBuilder_0(s){ + AbstractStringBuilder.call(this, s); +} + +defineClass(27, 60, {179:1}, StringBuilder, StringBuilder_0); +var Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang', 'StringBuilder', 27); +function arraycopy(src_0, srcOfs, dest, destOfs, len){ + var destArray, destComp, destEnd, destType, destlen, srcArray, srcComp, srcType, srclen; + checkNotNull_0(src_0, 'src'); + checkNotNull_0(dest, 'dest'); + srcType = getClass__Ljava_lang_Class___devirtual$(src_0); + destType = getClass__Ljava_lang_Class___devirtual$(dest); + checkArrayType((srcType.modifiers & 4) != 0, 'srcType is not an array'); + checkArrayType((destType.modifiers & 4) != 0, 'destType is not an array'); + srcComp = srcType.componentType; + destComp = destType.componentType; + checkArrayType((srcComp.modifiers & 1) != 0?srcComp == destComp:(destComp.modifiers & 1) == 0, "Array types don't match"); + srclen = src_0.length; + destlen = dest.length; + if (srcOfs < 0 || destOfs < 0 || len < 0 || srcOfs + len > srclen || destOfs + len > destlen) { + throw new IndexOutOfBoundsException; + } + if (((srcComp.modifiers & 1) == 0 || (srcComp.modifiers & 4) != 0) && srcType != destType) { + srcArray = dynamicCast(src_0, 5); + destArray = dynamicCast(dest, 5); + if (maskUndefined(src_0) === maskUndefined(dest) && srcOfs < destOfs) { + srcOfs += len; + for (destEnd = destOfs + len; destEnd-- > destOfs;) { + setCheck(destArray, destEnd, srcArray[--srcOfs]); + } + } + else { + for (destEnd = destOfs + len; destOfs < destEnd;) { + setCheck(destArray, destOfs++, srcArray[srcOfs++]); + } + } + } + else + len > 0 && nativeArraySplice(src_0, srcOfs, dest, destOfs, len, true); +} + +function UnsupportedOperationException(message){ + RuntimeException_0.call(this, message); +} + +defineClass(72, 15, $intern_4, UnsupportedOperationException); +var Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang', 'UnsupportedOperationException', 72); +function $advanceToFind(this$static, o){ + var e, iter; + for (iter = this$static.iterator(); iter.hasNext();) { + e = iter.next(); + if (maskUndefined(o) === maskUndefined(e) || o != null && equals_Ljava_lang_Object__Z__devirtual$(o, e)) { + return true; + } + } + return false; +} + +function $containsAll(this$static, c){ + var e, e$iterator; + checkNotNull(c); + for (e$iterator = c.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + if (!this$static.contains_0(e)) { + return false; + } + } + return true; +} + +function $toString_0(this$static){ + var comma, e, e$iterator, sb; + sb = new StringBuilder_0('['); + comma = false; + for (e$iterator = this$static.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + comma?(sb.string += ', ' , sb):(comma = true); + sb.string += e === this$static?'(this Collection)':'' + e; + } + sb.string += ']'; + return sb.string; +} + +defineClass(169, 1, {}); +_.contains_0 = function contains(o){ + return $advanceToFind(this, o); +} +; +_.toString$ = function toString_15(){ + return $toString_0(this); +} +; +var Ljava_util_AbstractCollection_2_classLit = createForClass('java.util', 'AbstractCollection', 169); +function $containsEntry(this$static, entry){ + var key, ourValue, value_0; + key = entry.getKey(); + value_0 = entry.getValue(); + ourValue = this$static.get_0(key); + if (!(maskUndefined(value_0) === maskUndefined(ourValue) || value_0 != null && equals_Ljava_lang_Object__Z__devirtual$(value_0, ourValue))) { + return false; + } + if (ourValue == null && !this$static.containsKey(key)) { + return false; + } + return true; +} + +function $implFindEntry(this$static, key){ + var entry, iter, k; + for (iter = this$static.entrySet().iterator(); iter.hasNext();) { + entry = dynamicCast(iter.next(), 17); + k = entry.getKey(); + if (maskUndefined(key) === maskUndefined(k) || key != null && equals_Ljava_lang_Object__Z__devirtual$(key, k)) { + return entry; + } + } + return null; +} + +function $toString_1(this$static, o){ + return o === this$static?'(this Map)':'' + o; +} + +function getEntryValueOrNull(entry){ + return !entry?null:entry.getValue(); +} + +defineClass(168, 1, {58:1}); +_.containsKey = function containsKey(key){ + return !!$implFindEntry(this, key); +} +; +_.equals$ = function equals_5(obj){ + var entry, entry$iterator, otherMap; + if (obj === this) { + return true; + } + if (!instanceOf(obj, 58)) { + return false; + } + otherMap = dynamicCast(obj, 58); + if (this.size_1() != otherMap.size_1()) { + return false; + } + for (entry$iterator = otherMap.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + if (!$containsEntry(this, entry)) { + return false; + } + } + return true; +} +; +_.get_0 = function get_0(key){ + return getEntryValueOrNull($implFindEntry(this, key)); +} +; +_.hashCode$ = function hashCode_6(){ + return hashCode_12(this.entrySet()); +} +; +_.size_1 = function size_1(){ + return this.entrySet().size_1(); +} +; +_.toString$ = function toString_16(){ + var comma, entry, entry$iterator, sb; + sb = new StringBuilder_0('{'); + comma = false; + for (entry$iterator = this.entrySet().iterator(); entry$iterator.hasNext();) { + entry = dynamicCast(entry$iterator.next(), 17); + comma?(sb.string += ', ' , sb):(comma = true); + $append_2(sb, $toString_1(this, entry.getKey())); + sb.string += '='; + $append_2(sb, $toString_1(this, entry.getValue())); + } + sb.string += '}'; + return sb.string; +} +; +var Ljava_util_AbstractMap_2_classLit = createForClass('java.util', 'AbstractMap', 168); +function $containsKey(this$static, key){ + return isJavaString(key)?key == null?!!$getEntry(this$static.hashCodeMap, null):!(this$static.stringMap.get_2(key) === undefined):!!$getEntry(this$static.hashCodeMap, key); +} + +function $elementAdded(this$static){ + ++this$static.size_0; + structureChanged(this$static); +} + +function $elementRemoved(this$static){ + --this$static.size_0; + structureChanged(this$static); +} + +function $get_0(this$static, key){ + return isJavaString(key)?key == null?getEntryValueOrNull($getEntry(this$static.hashCodeMap, null)):this$static.stringMap.get_2(key):getEntryValueOrNull($getEntry(this$static.hashCodeMap, key)); +} + +function $put(this$static, key, value_0){ + return isJavaString(key)?$putStringValue(this$static, key, value_0):$put_2(this$static.hashCodeMap, key, value_0); +} + +function $putStringValue(this$static, key, value_0){ + return key == null?$put_2(this$static.hashCodeMap, null, value_0):this$static.stringMap.put(key, value_0); +} + +function $remove_2(this$static, key){ + return $remove_5(this$static.hashCodeMap, key); +} + +defineClass(84, 168, {58:1}); +_.containsKey = function containsKey_0(key){ + return $containsKey(this, key); +} +; +_.entrySet = function entrySet(){ + return new AbstractHashMap$EntrySet(this); +} +; +_.get_0 = function get_1(key){ + return $get_0(this, key); +} +; +_.size_1 = function size_2(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util', 'AbstractHashMap', 84); +defineClass(170, 169, $intern_23); +_.equals$ = function equals_6(o){ + var other; + if (o === this) { + return true; + } + if (!instanceOf(o, 40)) { + return false; + } + other = dynamicCast(o, 40); + if (other.size_1() != this.size_1()) { + return false; + } + return $containsAll(this, other); +} +; +_.hashCode$ = function hashCode_7(){ + return hashCode_12(this); +} +; +var Ljava_util_AbstractSet_2_classLit = createForClass('java.util', 'AbstractSet', 170); +function $contains(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function AbstractHashMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(68, 170, $intern_23, AbstractHashMap$EntrySet); +_.contains_0 = function contains_0(o){ + return $contains(this, o); +} +; +_.iterator = function iterator_2(){ + return new AbstractHashMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_3(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySet', 68); +function $hasNext(this$static){ + if (this$static.current.hasNext()) { + return true; + } + if (this$static.current != this$static.stringMapEntries) { + return false; + } + this$static.current = this$static.this$01.hashCodeMap.entries(); + return this$static.current.hasNext(); +} + +function $next_0(this$static){ + return checkStructuralChange(this$static.this$01, this$static) , checkCriticalElement($hasNext(this$static)) , dynamicCast(this$static.current.next(), 17); +} + +function AbstractHashMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.stringMapEntries = this.this$01.stringMap.entries(); + this.current = this.stringMapEntries; + setModCount(this, this$0._gwt_modCount); +} + +defineClass(69, 1, {}, AbstractHashMap$EntrySetIterator); +_.hasNext = function hasNext_0(){ + return $hasNext(this); +} +; +_.next = function next_0(){ + return $next_0(this); +} +; +var Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util', 'AbstractHashMap/EntrySetIterator', 69); +function $clear(this$static){ + $removeRange(this$static, this$static.size_0); +} + +function $removeRange(this$static, endIndex){ + var i, iter; + iter = new AbstractList$ListIteratorImpl(this$static); + for (i = 0; i < endIndex; ++i) { + checkCriticalElement(iter.i < iter.this$01.size_1()); + iter.this$01.get_1(iter.last = iter.i++); + checkState(iter.last != -1); + iter.this$01.remove(iter.last); + iter.i = iter.last; + iter.last = -1; + } +} + +defineClass(171, 169, {52:1}); +_.equals$ = function equals_7(o){ + var elem, elem$iterator, elemOther, iterOther, other; + if (o === this) { + return true; + } + if (!instanceOf(o, 52)) { + return false; + } + other = dynamicCast(o, 52); + if (this.size_1() != other.size_1()) { + return false; + } + iterOther = other.iterator(); + for (elem$iterator = new AbstractList$IteratorImpl(this); elem$iterator.i < elem$iterator.this$01.size_1();) { + elem = (checkCriticalElement(elem$iterator.i < elem$iterator.this$01.size_1()) , elem$iterator.this$01.get_1(elem$iterator.last = elem$iterator.i++)); + elemOther = (checkCriticalElement(iterOther.i < iterOther.this$01.size_1()) , iterOther.this$01.get_1(iterOther.last = iterOther.i++)); + if (!(maskUndefined(elem) === maskUndefined(elemOther) || elem != null && equals_Ljava_lang_Object__Z__devirtual$(elem, elemOther))) { + return false; + } + } + return true; +} +; +_.hashCode$ = function hashCode_8(){ + return hashCode_13(this); +} +; +_.iterator = function iterator_3(){ + return new AbstractList$IteratorImpl(this); +} +; +_.remove = function remove(index_0){ + throw new UnsupportedOperationException('Remove not supported on this list'); +} +; +var Ljava_util_AbstractList_2_classLit = createForClass('java.util', 'AbstractList', 171); +function AbstractList$IteratorImpl(this$0){ + this.this$01 = this$0; +} + +defineClass(24, 1, {}, AbstractList$IteratorImpl); +_.hasNext = function hasNext_1(){ + return this.i < this.this$01.size_1(); +} +; +_.next = function next_1(){ + return checkCriticalElement(this.i < this.this$01.size_1()) , this.this$01.get_1(this.last = this.i++); +} +; +_.i = 0; +_.last = -1; +var Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/IteratorImpl', 24); +function AbstractList$ListIteratorImpl(this$0){ + AbstractList$IteratorImpl.call(this, this$0); + checkPositionIndex(this$0.size_0); + this.i = 0; +} + +defineClass(88, 24, {}, AbstractList$ListIteratorImpl); +var Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util', 'AbstractList/ListIteratorImpl', 88); +function AbstractList$SubList(wrapped, toIndex){ + checkCriticalPositionIndexes(toIndex, wrapped.array.length); + this.wrapped = wrapped; + this.fromIndex = 3; + this.size_0 = toIndex - 3; +} + +defineClass(89, 171, {52:1}, AbstractList$SubList); +_.get_1 = function get_2(index_0){ + checkElementIndex(index_0, this.size_0); + return $get_1(this.wrapped, this.fromIndex + index_0); +} +; +_.remove = function remove_0(index_0){ + var result; + checkElementIndex(index_0, this.size_0); + result = this.wrapped.remove(this.fromIndex + index_0); + --this.size_0; + return result; +} +; +_.size_1 = function size_4(){ + return this.size_0; +} +; +_.fromIndex = 0; +_.size_0 = 0; +var Ljava_util_AbstractList$SubList_2_classLit = createForClass('java.util', 'AbstractList/SubList', 89); +function $iterator(this$static){ + var outerIter; + outerIter = new AbstractHashMap$EntrySetIterator((new AbstractHashMap$EntrySet(this$static.this$01)).this$01); + return new AbstractMap$1$1(outerIter); +} + +function AbstractMap$1(this$0){ + this.this$01 = this$0; +} + +defineClass(53, 170, $intern_23, AbstractMap$1); +_.contains_0 = function contains_1(key){ + return $containsKey(this.this$01, key); +} +; +_.iterator = function iterator_4(){ + return $iterator(this); +} +; +_.size_1 = function size_5(){ + return this.this$01.size_0; +} +; +var Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util', 'AbstractMap/1', 53); +function $next_1(this$static){ + var entry; + entry = $next_0(this$static.val$outerIter2); + return entry.getKey(); +} + +function AbstractMap$1$1(val$outerIter){ + this.val$outerIter2 = val$outerIter; +} + +defineClass(87, 1, {}, AbstractMap$1$1); +_.hasNext = function hasNext_2(){ + return $hasNext(this.val$outerIter2); +} +; +_.next = function next_2(){ + return $next_1(this); +} +; +var Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util', 'AbstractMap/1/1', 87); +defineClass(85, 1, $intern_24); +_.equals$ = function equals_8(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.key, entry.getKey()) && equals_11(this.value_0, entry.getValue()); +} +; +_.getKey = function getKey(){ + return this.key; +} +; +_.getValue = function getValue(){ + return this.value_0; +} +; +_.hashCode$ = function hashCode_9(){ + return hashCode_14(this.key) ^ hashCode_14(this.value_0); +} +; +_.setValue = function setValue(value_0){ + var oldValue; + oldValue = this.value_0; + this.value_0 = value_0; + return oldValue; +} +; +_.toString$ = function toString_17(){ + return this.key + '=' + this.value_0; +} +; +var Ljava_util_AbstractMap$AbstractEntry_2_classLit = createForClass('java.util', 'AbstractMap/AbstractEntry', 85); +function AbstractMap$SimpleEntry(key, value_0){ + this.key = key; + this.value_0 = value_0; +} + +defineClass(86, 85, $intern_24, AbstractMap$SimpleEntry); +var Ljava_util_AbstractMap$SimpleEntry_2_classLit = createForClass('java.util', 'AbstractMap/SimpleEntry', 86); +defineClass(172, 1, $intern_24); +_.equals$ = function equals_9(other){ + var entry; + if (!instanceOf(other, 17)) { + return false; + } + entry = dynamicCast(other, 17); + return equals_11(this.getKey(), entry.getKey()) && equals_11(this.getValue(), entry.getValue()); +} +; +_.hashCode$ = function hashCode_10(){ + return hashCode_14(this.getKey()) ^ hashCode_14(this.getValue()); +} +; +_.toString$ = function toString_18(){ + return this.getKey() + '=' + this.getValue(); +} +; +var Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util', 'AbstractMapEntry', 172); +function $$init(this$static){ + this$static.array = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, 0, 3, 1); +} + +function $add_2(this$static, o){ + setCheck(this$static.array, this$static.array.length, o); + return true; +} + +function $get_1(this$static, index_0){ + checkElementIndex(index_0, this$static.array.length); + return this$static.array[index_0]; +} + +function $indexOf_0(this$static, o, index_0){ + for (; index_0 < this$static.array.length; ++index_0) { + if (equals_11(o, this$static.array[index_0])) { + return index_0; + } + } + return -1; +} + +function $remove_3(this$static, index_0){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + splice(this$static.array, index_0, 1); + return previous; +} + +function $set_1(this$static, index_0, o){ + var previous; + previous = (checkElementIndex(index_0, this$static.array.length) , this$static.array[index_0]); + setCheck(this$static.array, index_0, o); + return previous; +} + +function ArrayList(){ + $$init(this); +} + +function ArrayList_0(initialCapacity){ + $$init(this); + checkCriticalArgument_0(initialCapacity >= 0, 'Initial capacity must not be negative'); +} + +function splice(array, index_0, deleteCount){ + array.splice(index_0, deleteCount); +} + +defineClass(42, 171, $intern_25, ArrayList, ArrayList_0); +_.add_0 = function add_0(o){ + return $add_2(this, o); +} +; +_.contains_0 = function contains_2(o){ + return $indexOf_0(this, o, 0) != -1; +} +; +_.get_1 = function get_3(index_0){ + return $get_1(this, index_0); +} +; +_.remove = function remove_1(index_0){ + return $remove_3(this, index_0); +} +; +_.size_1 = function size_6(){ + return this.array.length; +} +; +var Ljava_util_ArrayList_2_classLit = createForClass('java.util', 'ArrayList', 42); +function equals_10(array1, array2){ + var i; + if (maskUndefined(array1) === maskUndefined(array2)) { + return true; + } + if (array1 == null || array2 == null) { + return false; + } + if (array1.length != array2.length) { + return false; + } + for (i = 0; i < array1.length; ++i) { + if (array1[i] != array2[i]) { + return false; + } + } + return true; +} + +function hashCode_11(a){ + var e, e$index, e$max, hashCode; + if (a == null) { + return 0; + } + hashCode = 1; + for (e$index = 0 , e$max = a.length; e$index < e$max; ++e$index) { + e = a[e$index]; + hashCode = 31 * hashCode + e; + hashCode = ~~hashCode; + } + return hashCode; +} + +function insertionSort(array, low, high, comp){ + var i, j, t; + for (i = low + 1; i < high; ++i) { + for (j = i; j > low && comp.compare(array[j - 1], array[j]) > 0; --j) { + t = array[j]; + setCheck(array, j, array[j - 1]); + setCheck(array, j - 1, t); + } + } +} + +function merge(src_0, srcLow, srcMid, srcHigh, dest, destLow, destHigh, comp){ + var topIdx; + topIdx = srcMid; + while (destLow < destHigh) { + topIdx >= srcHigh || srcLow < srcMid && comp.compare(src_0[srcLow], src_0[topIdx]) <= 0?setCheck(dest, destLow++, src_0[srcLow++]):setCheck(dest, destLow++, src_0[topIdx++]); + } +} + +function mergeSort(x_0, fromIndex, toIndex, comp){ + var temp, newLength, length_0, copy; + !comp && (comp = ($clinit_Comparators() , $clinit_Comparators() , NATURAL)); + temp = (newLength = (length_0 = toIndex - fromIndex , checkCriticalArgument_1(length_0 >= 0, initValues(getClassLiteralForArray(Ljava_lang_Object_2_classLit, 1), $intern_2, 1, 3, [valueOf(fromIndex), valueOf(toIndex)])) , length_0) , copy = createFrom(x_0, newLength) , arraycopy(x_0, fromIndex, copy, 0, min_1(x_0.length - fromIndex, newLength)) , copy); + mergeSort_0(temp, x_0, fromIndex, toIndex, -fromIndex, comp); +} + +function mergeSort_0(temp, array, low, high, ofs, comp){ + var length_0, tempHigh, tempLow, tempMid; + length_0 = high - low; + if (length_0 < 7) { + insertionSort(array, low, high, comp); + return; + } + tempLow = low + ofs; + tempHigh = high + ofs; + tempMid = tempLow + (tempHigh - tempLow >> 1); + mergeSort_0(array, temp, tempLow, tempMid, -ofs, comp); + mergeSort_0(array, temp, tempMid, tempHigh, -ofs, comp); + if (comp.compare(temp[tempMid - 1], temp[tempMid]) <= 0) { + while (low < high) { + setCheck(array, low++, temp[tempLow++]); + } + return; + } + merge(temp, tempLow, tempMid, tempHigh, array, low, high, comp); +} + +function hashCode_12(collection){ + var e, e$iterator, hashCode; + hashCode = 0; + for (e$iterator = collection.iterator(); e$iterator.hasNext();) { + e = e$iterator.next(); + hashCode = hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function hashCode_13(list){ + var e, e$iterator, hashCode; + hashCode = 1; + for (e$iterator = new AbstractList$IteratorImpl(list); e$iterator.i < e$iterator.this$01.size_1();) { + e = (checkCriticalElement(e$iterator.i < e$iterator.this$01.size_1()) , e$iterator.this$01.get_1(e$iterator.last = e$iterator.i++)); + hashCode = 31 * hashCode + (e != null?hashCode__I__devirtual$(e):0); + hashCode = ~~hashCode; + } + return hashCode; +} + +function replaceContents(target, x_0){ + var i, size_0; + size_0 = target.array.length; + for (i = 0; i < size_0; i++) { + $set_1(target, i, x_0[i]); + } +} + +function sort_0(target, c){ + var x_0; + x_0 = cloneSubrange(target.array, target.array.length); + mergeSort(x_0, 0, x_0.length, c); + replaceContents(target, x_0); +} + +function $clinit_Comparators(){ + $clinit_Comparators = emptyMethod; + NATURAL = new Comparators$1; +} + +var NATURAL; +function Comparators$1(){ +} + +defineClass(154, 1, {}, Comparators$1); +_.compare = function compare_2(o1, o2){ + checkNotNull(o1); + checkNotNull(o2); + return compareTo_Ljava_lang_Object__I__devirtual$(dynamicCast(o1, 19), o2); +} +; +var Ljava_util_Comparators$1_2_classLit = createForClass('java.util', 'Comparators/1', 154); +function checkStructuralChange(host, iterator){ + if (iterator._gwt_modCount != host._gwt_modCount) { + throw new ConcurrentModificationException; + } +} + +function setModCount(o, modCount){ + o._gwt_modCount = modCount; +} + +function structureChanged(map_0){ + var modCount; + modCount = map_0._gwt_modCount | 0; + setModCount(map_0, modCount + 1); +} + +function ConcurrentModificationException(){ + RuntimeException.call(this); +} + +defineClass(114, 15, $intern_4, ConcurrentModificationException); +var Ljava_util_ConcurrentModificationException_2_classLit = createForClass('java.util', 'ConcurrentModificationException', 114); +function $put_0(this$static, key, value_0){ + $add_3(this$static.keySet, key); + return $set_2(this$static, key.ordinal, value_0); +} + +function $put_1(this$static, key, value_0){ + return $put_0(this$static, dynamicCast(key, 13), value_0); +} + +function $set_2(this$static, ordinal, value_0){ + var was; + was = this$static.values[ordinal]; + setCheck(this$static.values, ordinal, value_0); + return was; +} + +function EnumMap(type_0){ + var all; + this.keySet = (all = dynamicCast(type_0.enumConstantsFunc && type_0.enumConstantsFunc(), 22) , new EnumSet$EnumSetImpl(all, dynamicCast(createFrom(all, all.length), 22))); + this.values = initDim(Ljava_lang_Object_2_classLit, $intern_2, 1, this.keySet.all.length, 3, 1); +} + +defineClass(138, 168, {58:1}, EnumMap); +_.containsKey = function containsKey_1(key){ + return $contains_1(this.keySet, key); +} +; +_.entrySet = function entrySet_0(){ + return new EnumMap$EntrySet(this); +} +; +_.get_0 = function get_4(k){ + return $contains_1(this.keySet, k)?this.values[dynamicCast(k, 13).ordinal]:null; +} +; +_.size_1 = function size_7(){ + return this.keySet.size_0; +} +; +var Ljava_util_EnumMap_2_classLit = createForClass('java.util', 'EnumMap', 138); +function $contains_0(this$static, o){ + if (instanceOf(o, 17)) { + return $containsEntry(this$static.this$01, dynamicCast(o, 17)); + } + return false; +} + +function EnumMap$EntrySet(this$0){ + this.this$01 = this$0; +} + +defineClass(139, 170, $intern_23, EnumMap$EntrySet); +_.contains_0 = function contains_3(o){ + return $contains_0(this, o); +} +; +_.iterator = function iterator_5(){ + return new EnumMap$EntrySetIterator(this.this$01); +} +; +_.size_1 = function size_8(){ + return this.this$01.keySet.size_0; +} +; +var Ljava_util_EnumMap$EntrySet_2_classLit = createForClass('java.util', 'EnumMap/EntrySet', 139); +function EnumMap$EntrySetIterator(this$0){ + this.this$01 = this$0; + this.it = new EnumSet$EnumSetImpl$IteratorImpl(this.this$01.keySet); +} + +defineClass(140, 1, {}, EnumMap$EntrySetIterator); +_.hasNext = function hasNext_3(){ + return $hasNext_0(this.it); +} +; +_.next = function next_3(){ + return this.key = $next_2(this.it) , new EnumMap$MapEntry(this.this$01, this.key); +} +; +var Ljava_util_EnumMap$EntrySetIterator_2_classLit = createForClass('java.util', 'EnumMap/EntrySetIterator', 140); +function EnumMap$MapEntry(this$0, key){ + this.this$01 = this$0; + this.key = key; +} + +defineClass(141, 172, $intern_24, EnumMap$MapEntry); +_.getKey = function getKey_0(){ + return this.key; +} +; +_.getValue = function getValue_0(){ + return this.this$01.values[this.key.ordinal]; +} +; +_.setValue = function setValue_0(value_0){ + return $set_2(this.this$01, this.key.ordinal, value_0); +} +; +var Ljava_util_EnumMap$MapEntry_2_classLit = createForClass('java.util', 'EnumMap/MapEntry', 141); +defineClass(178, 170, $intern_23); +var Ljava_util_EnumSet_2_classLit = createForClass('java.util', 'EnumSet', 178); +function $add_3(this$static, e){ + var ordinal; + checkNotNull(e); + ordinal = e.ordinal; + if (!this$static.set_0[ordinal]) { + setCheck(this$static.set_0, ordinal, e); + ++this$static.size_0; + return true; + } + return false; +} + +function $contains_1(this$static, o){ + return instanceOf(o, 13) && $containsEnum(this$static, dynamicCast(o, 13)); +} + +function $containsEnum(this$static, e){ + return !!e && this$static.set_0[e.ordinal] == e; +} + +function EnumSet$EnumSetImpl(all, set_0){ + this.all = all; + this.set_0 = set_0; + this.size_0 = 0; +} + +defineClass(152, 178, $intern_23, EnumSet$EnumSetImpl); +_.contains_0 = function contains_4(o){ + return $contains_1(this, o); +} +; +_.iterator = function iterator_6(){ + return new EnumSet$EnumSetImpl$IteratorImpl(this); +} +; +_.size_1 = function size_9(){ + return this.size_0; +} +; +_.size_0 = 0; +var Ljava_util_EnumSet$EnumSetImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl', 152); +function $findNext(this$static){ + var c; + ++this$static.i; + for (c = this$static.this$11.all.length; this$static.i < c; ++this$static.i) { + if (this$static.this$11.set_0[this$static.i]) { + return; + } + } +} + +function $hasNext_0(this$static){ + return this$static.i < this$static.this$11.all.length; +} + +function $next_2(this$static){ + return checkCriticalElement(this$static.i < this$static.this$11.all.length) , this$static.last = this$static.i , $findNext(this$static) , this$static.this$11.set_0[this$static.last]; +} + +function EnumSet$EnumSetImpl$IteratorImpl(this$1){ + this.this$11 = this$1; + $findNext(this); +} + +defineClass(79, 1, {}, EnumSet$EnumSetImpl$IteratorImpl); +_.hasNext = function hasNext_4(){ + return $hasNext_0(this); +} +; +_.next = function next_4(){ + return $next_2(this); +} +; +_.i = -1; +_.last = -1; +var Ljava_util_EnumSet$EnumSetImpl$IteratorImpl_2_classLit = createForClass('java.util', 'EnumSet/EnumSetImpl/IteratorImpl', 79); +function $equals_0(value1, value2){ + return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals_Ljava_lang_Object__Z__devirtual$(value1, value2); +} + +function $getHashCode(key){ + var hashCode; + hashCode = hashCode__I__devirtual$(key); + return ~~hashCode; +} + +function HashMap(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(); + this.hashCodeMap = delegate.createJsHashCodeMap(); + this.hashCodeMap.host = this; + this.stringMap = delegate.createJsStringMap(); + this.stringMap.host = this; + this.size_0 = 0; + structureChanged(this); +} + +defineClass(28, 84, {3:1, 58:1}, HashMap); +var Ljava_util_HashMap_2_classLit = createForClass('java.util', 'HashMap', 28); +function $contains_2(this$static, o){ + return $containsKey(this$static.map_0, o); +} + +function $remove_4(this$static, o){ + return $remove_2(this$static.map_0, o) != null; +} + +function HashSet(){ + this.map_0 = new HashMap; +} + +defineClass(77, 170, {3:1, 40:1}, HashSet); +_.contains_0 = function contains_5(o){ + return $contains_2(this, o); +} +; +_.iterator = function iterator_7(){ + return $iterator(new AbstractMap$1(this.map_0)); +} +; +_.size_1 = function size_10(){ + return this.map_0.size_0; +} +; +_.toString$ = function toString_19(){ + return $toString_0(new AbstractMap$1(this.map_0)); +} +; +var Ljava_util_HashSet_2_classLit = createForClass('java.util', 'HashSet', 77); +function $ensureChain(this$static, hashCode){ + var map_0 = this$static.backingMap; + return map_0[hashCode] || (map_0[hashCode] = []); +} + +function $getChain(this$static, hashCode){ + return this$static.backingMap[hashCode]; +} + +function $getChainOrEmpty(this$static, hashCode){ + return this$static.backingMap[hashCode] || []; +} + +function $getEntry(this$static, key){ + var entry, entry$array, entry$index, entry$max; + for (entry$array = $getChainOrEmpty(this$static, key == null?'0':'' + $getHashCode(key)) , entry$index = 0 , entry$max = entry$array.length; entry$index < entry$max; ++entry$index) { + entry = entry$array[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry; + } + } + return null; +} + +function $keys(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_2(this$static, key, value_0){ + var chain, entry, entry$index, entry$max; + chain = $ensureChain(this$static, key == null?'0':'' + $getHashCode(key)); + for (entry$index = 0 , entry$max = chain.length; entry$index < entry$max; ++entry$index) { + entry = chain[entry$index]; + if ($equals_0(key, entry.getKey())) { + return entry.setValue(value_0); + } + } + setCheck(chain, chain.length, new AbstractMap$SimpleEntry(key, value_0)); + $elementAdded(this$static.host); + return null; +} + +function $remove_5(this$static, key){ + var chain, entry, hashCode, i; + hashCode = key == null?'0':'' + $getHashCode(key); + chain = $getChainOrEmpty(this$static, hashCode); + for (i = 0; i < chain.length; i++) { + entry = chain[i]; + if ($equals_0(key, entry.getKey())) { + chain.length == 1?(delete this$static.backingMap[hashCode] , undefined):(chain.splice(i, 1) , undefined); + $elementRemoved(this$static.host); + return entry.getValue(); + } + } + return null; +} + +function InternalJsHashCodeMap(){ + this.backingMap = this.createMap(); +} + +defineClass(74, 1, {}, InternalJsHashCodeMap); +_.createMap = function createMap(){ + return Object.create(null); +} +; +_.entries = function entries(){ + return new InternalJsHashCodeMap$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap', 74); +function $hasNext_1(this$static){ + if (this$static.itemIndex < this$static.chain.length) { + return true; + } + if (this$static.chainIndex < this$static.keys_0.length - 1) { + this$static.chain = $getChain(this$static.this$01, this$static.keys_0[++this$static.chainIndex]); + this$static.itemIndex = 0; + return true; + } + return false; +} + +function InternalJsHashCodeMap$1(this$0){ + this.this$01 = this$0; + this.keys_0 = $keys(this.this$01); + this.chain = initDim(Ljava_util_Map$Entry_2_classLit, $intern_2, 17, 0, 0, 1); +} + +defineClass(100, 1, {}, InternalJsHashCodeMap$1); +_.hasNext = function hasNext_5(){ + return $hasNext_1(this); +} +; +_.next = function next_5(){ + return checkCriticalElement($hasNext_1(this)) , this.lastEntry = this.chain[this.itemIndex++] , this.lastEntry; +} +; +_.chainIndex = -1; +_.itemIndex = 0; +_.lastEntry = null; +var Ljava_util_InternalJsHashCodeMap$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/1', 100); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy(){ + InternalJsHashCodeMap.call(this); +} + +defineClass(98, 74, {}, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy); +_.createMap = function createMap_0(){ + return {}; +} +; +_.entries = function entries_0(){ + var list = this.newEntryList(); + var map_0 = this.backingMap; + for (var hashCode in map_0) { + if (hashCode == parseInt(hashCode, 10)) { + var array = map_0[hashCode]; + for (var i = 0, c = array.length; i < c; ++i) { + list.add_0(array[i]); + } + } + } + return list.iterator(); +} +; +_.newEntryList = function newEntryList(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this); +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy', 98); +function InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(99, 42, $intern_25, InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1); +_.remove = function remove_2(index_0){ + var removed; + return removed = dynamicCast($remove_3(this, index_0), 17) , $remove_5(this.this$11, removed.getKey()) , removed; +} +; +var Ljava_util_InternalJsHashCodeMap$InternalJsHashCodeMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsHashCodeMap/InternalJsHashCodeMapLegacy/1', 99); +function InternalJsMapFactory(){ +} + +defineClass(95, 1, {}, InternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap(){ + return new InternalJsHashCodeMap; +} +; +_.createJsStringMap = function createJsStringMap(){ + return new InternalJsStringMap; +} +; +var Ljava_util_InternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory', 95); +function $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory(){ + $clinit_InternalJsMapFactory$BackwardCompatibleJsMapFactory = emptyMethod; + delegate = createFactory(); +} + +function canHandleProto(){ + var protoField = '__proto__'; + var map_0 = Object.create(null); + if (map_0[protoField] !== undefined) { + return false; + } + var keys_0 = Object.getOwnPropertyNames(map_0); + if (keys_0.length != 0) { + return false; + } + map_0[protoField] = 42; + if (map_0[protoField] !== 42) { + return false; + } + return true; +} + +function createFactory(){ + var map_0; + if (Object.create && Object.getOwnPropertyNames && canHandleProto()) { + return (map_0 = Object.create(null) , map_0['__proto__'] = 42 , Object.getOwnPropertyNames(map_0).length == 0)?new InternalJsMapFactory$KeysWorkaroundJsMapFactory:new InternalJsMapFactory; + } + return new InternalJsMapFactory$LegacyInternalJsMapFactory; +} + +var delegate; +function InternalJsMapFactory$KeysWorkaroundJsMapFactory(){ +} + +defineClass(97, 95, {}, InternalJsMapFactory$KeysWorkaroundJsMapFactory); +_.createJsStringMap = function createJsStringMap_0(){ + return new InternalJsStringMap$InternalJsStringMapWithKeysWorkaround; +} +; +var Ljava_util_InternalJsMapFactory$KeysWorkaroundJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/KeysWorkaroundJsMapFactory', 97); +function InternalJsMapFactory$LegacyInternalJsMapFactory(){ +} + +defineClass(96, 95, {}, InternalJsMapFactory$LegacyInternalJsMapFactory); +_.createJsHashCodeMap = function createJsHashCodeMap_0(){ + return new InternalJsHashCodeMap$InternalJsHashCodeMapLegacy; +} +; +_.createJsStringMap = function createJsStringMap_1(){ + return new InternalJsStringMap$InternalJsStringMapLegacy; +} +; +var Ljava_util_InternalJsMapFactory$LegacyInternalJsMapFactory_2_classLit = createForClass('java.util', 'InternalJsMapFactory/LegacyInternalJsMapFactory', 96); +function $keys_0(this$static){ + return Object.getOwnPropertyNames(this$static.backingMap); +} + +function $put_3(this$static, key, value_0){ + var oldValue; + oldValue = this$static.backingMap[key]; + oldValue === undefined && $elementAdded(this$static.host); + $set_3(this$static, key, value_0 === undefined?null:value_0); + return oldValue; +} + +function $remove_6(this$static, key){ + var value_0; + value_0 = this$static.backingMap[key]; + if (!(value_0 === undefined)) { + delete this$static.backingMap[key]; + $elementRemoved(this$static.host); + } + return value_0; +} + +function $set_3(this$static, key, value_0){ + this$static.backingMap[key] = value_0; +} + +function InternalJsStringMap(){ + this.backingMap = this.createMap_0(); +} + +defineClass(61, 1, {}, InternalJsStringMap); +_.createMap_0 = function createMap_1(){ + return Object.create(null); +} +; +_.entries = function entries_1(){ + var keys_0; + keys_0 = this.keys_1(); + return new InternalJsStringMap$1(this, keys_0); +} +; +_.get_2 = function get_5(key){ + return this.backingMap[key]; +} +; +_.keys_1 = function keys_1(){ + return $keys_0(this); +} +; +_.newMapEntry = function newMapEntry(key){ + return new InternalJsStringMap$2(this, key); +} +; +_.put = function put(key, value_0){ + return $put_3(this, key, value_0); +} +; +var Ljava_util_InternalJsStringMap_2_classLit = createForClass('java.util', 'InternalJsStringMap', 61); +function InternalJsStringMap$1(this$0, val$keys){ + this.this$01 = this$0; + this.val$keys2 = val$keys; +} + +defineClass(93, 1, {}, InternalJsStringMap$1); +_.hasNext = function hasNext_6(){ + return this.i < this.val$keys2.length; +} +; +_.next = function next_6(){ + return checkCriticalElement(this.i < this.val$keys2.length) , new InternalJsStringMap$2(this.this$01, this.val$keys2[this.i++]); +} +; +_.i = 0; +var Ljava_util_InternalJsStringMap$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/1', 93); +function InternalJsStringMap$2(this$0, val$key){ + this.this$01 = this$0; + this.val$key2 = val$key; +} + +defineClass(73, 172, $intern_24, InternalJsStringMap$2); +_.getKey = function getKey_1(){ + return this.val$key2; +} +; +_.getValue = function getValue_1(){ + return this.this$01.get_2(this.val$key2); +} +; +_.setValue = function setValue_1(object){ + return this.this$01.put(this.val$key2, object); +} +; +var Ljava_util_InternalJsStringMap$2_2_classLit = createForClass('java.util', 'InternalJsStringMap/2', 73); +function InternalJsStringMap$InternalJsStringMapLegacy(){ + InternalJsStringMap.call(this); +} + +defineClass(90, 61, {}, InternalJsStringMap$InternalJsStringMapLegacy); +_.createMap_0 = function createMap_2(){ + return {}; +} +; +_.entries = function entries_2(){ + var list = this.newEntryList_0(); + for (var key in this.backingMap) { + if (key.charCodeAt(0) == 58) { + var entry = this.newMapEntry(key.substring(1)); + list.add_0(entry); + } + } + return list.iterator(); +} +; +_.get_2 = function get_6(key){ + return this.backingMap[':' + key]; +} +; +_.newEntryList_0 = function newEntryList_0(){ + return new InternalJsStringMap$InternalJsStringMapLegacy$1(this); +} +; +_.put = function put_0(key, value_0){ + return $put_3(this, ':' + key, value_0); +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy', 90); +function InternalJsStringMap$InternalJsStringMapLegacy$1(this$1){ + this.this$11 = this$1; + ArrayList.call(this); +} + +defineClass(92, 42, $intern_25, InternalJsStringMap$InternalJsStringMapLegacy$1); +_.remove = function remove_3(index_0){ + var removed; + return removed = dynamicCast($remove_3(this, index_0), 17) , $remove_6(this.this$11, ':' + dynamicCastToString(removed.getKey())) , removed; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapLegacy$1_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapLegacy/1', 92); +function InternalJsStringMap$InternalJsStringMapWithKeysWorkaround(){ + InternalJsStringMap.call(this); +} + +defineClass(91, 61, {}, InternalJsStringMap$InternalJsStringMapWithKeysWorkaround); +_.keys_1 = function keys_2(){ + var keys_0; + keys_0 = $keys_0(this); + !(this.backingMap['__proto__'] === undefined) && (keys_0[keys_0.length] = '__proto__'); + return keys_0; +} +; +var Ljava_util_InternalJsStringMap$InternalJsStringMapWithKeysWorkaround_2_classLit = createForClass('java.util', 'InternalJsStringMap/InternalJsStringMapWithKeysWorkaround', 91); +var Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'); +function NoSuchElementException(){ + RuntimeException.call(this); +} + +defineClass(62, 15, $intern_4, NoSuchElementException); +var Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util', 'NoSuchElementException', 62); +function equals_11(a, b){ + return maskUndefined(a) === maskUndefined(b) || a != null && equals_Ljava_lang_Object__Z__devirtual$(a, b); +} + +function hashCode_14(o){ + return o != null?hashCode__I__devirtual$(o):0; +} + +var Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'); +function $execute(this$static, a0){ + $invoke_execute(this$static.jso, a0); +} + +function $export(this$static){ + if (!exported) { + exported = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_AsyncQRCallback_2_classLit, this$static); + $export0(this$static); + } +} + +function $export0(this$static){ + var pkg = declarePackage('AsyncQRCallback'); + var __0, __ = this$static; + $wnd.AsyncQRCallback = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0]) && (g = a[0]); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.AsyncQRCallback.prototype = new Object; + __0.execute = $entry(function(a0){ + this.g.execute_1(a0); + } + ); + if (pkg) + for (p in pkg) + $wnd.AsyncQRCallback[p] === undefined && ($wnd.AsyncQRCallback[p] = pkg[p]); +} + +function $invoke_execute(closure, a0){ + closure.apply(null, [a0]); +} + +function AsyncQRCallback_ExporterImpl(){ + $export(this); +} + +function AsyncQRCallback_ExporterImpl_0(jso){ + $export(this); + this.jso = jso; +} + +defineClass(47, 1, {180:1, 47:1}, AsyncQRCallback_ExporterImpl, AsyncQRCallback_ExporterImpl_0); +_.equals$ = function equals_12(obj){ + return obj != null && instanceOf(obj, 47) && this.jso == dynamicCast(obj, 47).jso; +} +; +_.execute_1 = function execute_1(a0){ + $execute(this, a0); +} +; +_.isAssignable = function isAssignable(o){ + return o != null && instanceOf(o, 180); +} +; +var exported = false; +var Ljb_client_AsyncQRCallback_1ExporterImpl_2_classLit = createForClass('jb.client', 'AsyncQRCallback_ExporterImpl', 47); +function $appendTo(this$static, htmlElement){ + addTo(htmlElement, ($clinit_DOM() , this$static.element)); + $onAttach_1(this$static); +} + +function $removeFrom(this$static, htmlElement){ + removeFrom(htmlElement, ($clinit_DOM() , this$static.element)); + $onDetach(this$static); + $stopWebcam(this$static); +} + +function JSScannerWidget(onSuccess, provideVideoStream){ + ScannerWidget.call(this, new ScannerCallback(onSuccess), provideVideoStream); +} + +function addTo(htmlElement, scannerElement){ + htmlElement.appendChild(scannerElement); +} + +function removeFrom(htmlElement, scannerElement){ + htmlElement.removeChild(scannerElement); +} + +defineClass(105, 104, $intern_1, JSScannerWidget); +var Ljb_client_JSScannerWidget_2_classLit = createForClass('jb.client', 'JSScannerWidget', 105); +function JsQRScanner(onSuccess){ + JsQRScanner_0.call(this, onSuccess, null); +} + +function JsQRScanner_0(onSuccess, provideVideoStream){ + this.scanner = new JSScannerWidget(onSuccess, provideVideoStream); +} + +defineClass(48, 1, {48:1}, JsQRScanner, JsQRScanner_0); +_.appendTo_0 = function appendTo(htmlElement){ + $appendTo(this.scanner, htmlElement); +} +; +_.getScanInterval_0 = function getScanInterval(){ + return this.scanner.scanInterval; +} +; +_.getSnapImageMaxSize_0 = function getSnapImageMaxSize(){ + return this.scanner.snapImageMaxSize; +} +; +_.isActive_0 = function isActive(){ + return this.scanner.active; +} +; +_.isScanning_0 = function isScanning(){ + return $isScanning(this.scanner); +} +; +_.removeFrom_0 = function removeFrom_0(htmlElement){ + $removeFrom(this.scanner, htmlElement); +} +; +_.resumeScanning_0 = function resumeScanning(){ + $resumeScanning(this.scanner); +} +; +_.setScanInterval_0 = function setScanInterval(scanInterval){ + $setScanInterval(this.scanner, scanInterval); +} +; +_.setSnapImageMaxSize_0 = function setSnapImageMaxSize(snapImageMaxSize){ + $setSnapImageMaxSize(this.scanner, snapImageMaxSize); +} +; +_.stopScanning_0 = function stopScanning(){ + this.scanner.active = false; +} +; +var Ljb_client_JsQRScanner_2_classLit = createForClass('jb.client', 'JsQRScanner', 48); +function $export_0(this$static){ + if (!exported_0) { + exported_0 = true; + $clinit_ExporterUtil(); + $addExporter(impl, Ljb_client_JsQRScanner_2_classLit, this$static); + $export0_0(this$static); + } +} + +function $export0_0(this$static){ + var pkg = declarePackage('JsQRScanner'); + var __0, __ = this$static; + $wnd.JsQRScanner = $entry(function(){ + var g, j = this, a = arguments; + a.length == 1 && __.isAssignable(a[0])?(g = a[0]):a.length == 2?(g = ___create_0(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]), a[1])):a.length == 1 && (g = ___create(a[0] == null?null:a[0].constructor == $wnd.AsyncQRCallback?a[0].g:new AsyncQRCallback_ExporterImpl_0(a[0]))); + j.g = g; + setWrapper(g, j); + return j; + } + ); + __0 = $wnd.JsQRScanner.prototype = new Object; + __0.appendTo = $entry(function(a0){ + this.g.appendTo_0(a0); + } + ); + __0.getScanInterval = $entry(function(){ + return this.g.getScanInterval_0(); + } + ); + __0.getSnapImageMaxSize = $entry(function(){ + return this.g.getSnapImageMaxSize_0(); + } + ); + __0.isActive = $entry(function(){ + return this.g.isActive_0(); + } + ); + __0.isScanning = $entry(function(){ + return this.g.isScanning_0(); + } + ); + __0.removeFrom = $entry(function(a0){ + this.g.removeFrom_0(a0); + } + ); + __0.resumeScanning = $entry(function(){ + this.g.resumeScanning_0(); + } + ); + __0.setScanInterval = $entry(function(a0){ + this.g.setScanInterval_0(a0); + } + ); + __0.setSnapImageMaxSize = $entry(function(a0){ + this.g.setSnapImageMaxSize_0(a0); + } + ); + __0.stopScanning = $entry(function(){ + this.g.stopScanning_0(); + } + ); + if (pkg) + for (p in pkg) + $wnd.JsQRScanner[p] === undefined && ($wnd.JsQRScanner[p] = pkg[p]); +} + +function JsQRScanner_ExporterImpl(){ + $export_0(this); +} + +function ___create(a0){ + return new JsQRScanner(a0); +} + +function ___create_0(a0, a1){ + return new JsQRScanner_0(a0, a1); +} + +defineClass(102, 1, {}, JsQRScanner_ExporterImpl); +_.isAssignable = function isAssignable_0(o){ + return o != null && instanceOf(o, 48); +} +; +var exported_0 = false; +var Ljb_client_JsQRScanner_1ExporterImpl_2_classLit = createForClass('jb.client', 'JsQRScanner_ExporterImpl', 102); +function $onSuccess(this$static, result){ + $execute(this$static.qrCallback, result.text_0); +} + +function ScannerCallback(qrCallback){ + this.qrCallback = qrCallback; +} + +defineClass(106, 1, {}, ScannerCallback); +var Ljb_client_ScannerCallback_2_classLit = createForClass('jb.client', 'ScannerCallback', 106); +defineClass(173, 1, {}); +var Lorg_timepedia_exporter_client_ExporterBaseImpl_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseImpl', 173); +function $addExporter(this$static, c, o){ + $put(this$static.exporterMap, c, o); +} + +function $declarePackage(qualifiedExportName){ + var i, l, o, prefix, superPackages; + superPackages = $split(qualifiedExportName, '\\.', 0); + prefix = $wnd; + i = 0; + for (l = superPackages.length - 1; i < l; i++) { + if (!$equals(superPackages[i], 'client')) { + prefix[superPackages[i]] || (prefix[superPackages[i]] = {}); + prefix = getProp(prefix, superPackages[i]); + } + } + o = getProp(prefix, superPackages[i]); + return o; +} + +function ExporterBaseActual(){ + this.exporterMap = new HashMap; + new HashMap; + new HashMap; +} + +function getProp(jso, key){ + return jso != null?jso[key]:null; +} + +defineClass(94, 173, {}, ExporterBaseActual); +var Lorg_timepedia_exporter_client_ExporterBaseActual_2_classLit = createForClass('org.timepedia.exporter.client', 'ExporterBaseActual', 94); +function $clinit_ExporterUtil(){ + $clinit_ExporterUtil = emptyMethod; + impl = new ExporterBaseActual; +} + +function declarePackage(qualifiedExportName){ + $clinit_ExporterUtil(); + return $declarePackage(qualifiedExportName); +} + +function setWrapper(instance, wrapper){ + $clinit_ExporterUtil(); + instance['__gwtex_wrap'] = wrapper; +} + +var impl; +var I_classLit = createForPrimitive('int', 'I'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang', 'StackTraceElement', null), Lcom_google_gwt_lang_CollapsedPropertyHolder_2_classLit = createForClass('com.google.gwt.lang', 'CollapsedPropertyHolder', 157), Lcom_google_gwt_lang_JavaClassHierarchySetupUtil_2_classLit = createForClass('com.google.gwt.lang', 'JavaClassHierarchySetupUtil', 159), Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass('com.google.gwt.lang', 'LongLibBase/LongEmul', null), Lcom_google_gwt_lang_ModuleUtils_2_classLit = createForClass('com.google.gwt.lang', 'ModuleUtils', 162), B_classLit = createForPrimitive('byte', 'B'), D_classLit = createForPrimitive('double', 'D'), F_classLit = createForPrimitive('float', 'F'), C_classLit = createForPrimitive('char', 'C'), Ljava_util_Map$Entry_2_classLit = createForInterface('java.util', 'Map/Entry'), Ljb_client_AsyncQRCallback_2_classLit = createForInterface('jb.client', 'AsyncQRCallback'), Ljava_util_List_2_classLit = createForInterface('java.util', 'List'); +var $entry = registerEntry(); +var gwtOnLoad = gwtOnLoad = gwtOnLoad_0; +addInitFunctions(init); +setGwtProperty('permProps', [[['locale', 'default'], ['user.agent', 'ie10']]]); +$sendStats('moduleStartup', 'moduleEvalEnd'); +gwtOnLoad(__gwtModuleFunction.__errFn, __gwtModuleFunction.__moduleName, __gwtModuleFunction.__moduleBase, __gwtModuleFunction.__softPermutationId,__gwtModuleFunction.__computePropValue); +$sendStats('moduleStartup', 'end'); +$gwt && $gwt.permProps && __gwtModuleFunction.__moduleStartupDone($gwt.permProps); +//# sourceURL=jsqrscanner-0.js + diff --git a/flutter_barcode_reader_web/assets/EC0F7217F4BCEF91396A176763786FF0.cache.js b/flutter_barcode_reader_web/assets/EC0F7217F4BCEF91396A176763786FF0.cache.js deleted file mode 100644 index ae385658..00000000 --- a/flutter_barcode_reader_web/assets/EC0F7217F4BCEF91396A176763786FF0.cache.js +++ /dev/null @@ -1,4 +0,0 @@ -jsqrscanner.onScriptDownloaded(["var $wnd = $wnd || window.parent;var __gwtModuleFunction = $wnd.jsqrscanner;var $sendStats = __gwtModuleFunction.__sendStats;$sendStats('moduleStartup', 'moduleEvalStart');var $gwt_version = \"2.7.0\";var $strongName = 'EC0F7217F4BCEF91396A176763786FF0';var $gwt = {};var $doc = $wnd.document;var $moduleName, $moduleBase;function __gwtStartLoadingFragment(frag) {var fragFile = 'deferredjs/' + $strongName + '/' + frag + '.cache.js';return __gwtModuleFunction.__startLoadingFragment(fragFile);}function __gwtInstallCode(code) {return __gwtModuleFunction.__installRunAsyncCode(code);}function __gwt_isKnownPropertyValue(propName, propValue) {return __gwtModuleFunction.__gwt_isKnownPropertyValue(propName, propValue);}function __gwt_getMetaProperty(name) {return __gwtModuleFunction.__gwt_getMetaProperty(name);}var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent && $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;function H(){}\nfunction xg(){}\nfunction tg(){}\nfunction kb(){}\nfunction $b(){}\nfunction fc(){}\nfunction Dc(){}\nfunction fh(){}\nfunction Xh(){}\nfunction Zh(){}\nfunction lr(){}\nfunction As(){}\nfunction Hs(){}\nfunction Js(){}\nfunction jc(){hc()}\nfunction Gh(a){ih()}\nfunction vb(){this.C()}\nfunction li(a){this.c=a}\nfunction si(a){this.a=a}\nfunction Wk(a){this.a=a}\nfunction $m(a){this.a=a}\nfunction rn(a){this.a=a}\nfunction un(a){this.a=a}\nfunction Qn(a){this.a=a}\nfunction Sn(a){this.a=a}\nfunction Go(a){this.a=a}\nfunction Zp(a){this.a=a}\nfunction vj(a){this.c=a}\nfunction mq(a){this.c=a}\nfunction vq(a){this.a=a}\nfunction Aq(a){this.a=a}\nfunction Ar(a){this.a=a}\nfunction Yt(a){this.a=a}\nfunction ut(){rt(this)}\nfunction Tt(){Rt(this)}\nfunction Tq(){Nq(this)}\nfunction gq(a){hq(a,a.b)}\nfunction P(a,b){a.t=b}\nfunction dk(a,b){a.c=b}\nfunction Hn(a,b){a.f=b}\nfunction In(a,b){a.j=b}\nfunction lb(c,a,b){c[a]=b}\nfunction qt(a,b){tt(a.a,b)}\nfunction Vg(){return Pb}\nfunction ih(){ih=tg;Ch()}\nfunction Hh(a){ih();return}\nfunction Bm(){this.a=true}\nfunction Zk(){this.a=new Wl}\nfunction Ai(){wi.call(this)}\nfunction Di(){wi.call(this)}\nfunction Hi(){wi.call(this)}\nfunction xb(){vb.call(this)}\nfunction Un(){xb.call(this)}\nfunction Vn(){xb.call(this)}\nfunction so(){xb.call(this)}\nfunction zo(){xb.call(this)}\nfunction Bo(){xb.call(this)}\nfunction Do(){xb.call(this)}\nfunction To(){xb.call(this)}\nfunction qr(){xb.call(this)}\nfunction us(){ns.call(this)}\nfunction ct(){Qs.call(this)}\nfunction kt(){Qs.call(this)}\nfunction mt(){xb.call(this)}\nfunction zc(b,a){b.width=a}\nfunction yc(b,a){b.height=a}\nfunction Ps(c,a,b){c.a[a]=b}\nfunction Xt(a,b){qt(a.a,b.b)}\nfunction di(a,b){fi(a,b,a.b)}\nfunction Eh(a,b){vh();Fh(a,b)}\nfunction Mp(a){++a.b;pr(a)}\nfunction Np(a){--a.b;pr(a)}\nfunction Es(){Es=tg;Ds=Gs()}\nfunction Bb(){Bb=tg;Ab=new H}\nfunction Xb(){Xb=tg;Wb=new $b}\nfunction kr(){kr=tg;jr=new lr}\nfunction cu(){cu=tg;bu=new _t}\nfunction bs(){this.a=new $r}\nfunction bh(a){return ih(),a.t}\nfunction eb(a){return ih(),a.t}\nfunction Zg(a){return ih(),a.t}\nfunction Cn(a){return a.a&&a.q}\nfunction Ek(a,b){return a.a[b]}\nfunction Wo(a,b){return a===b}\nfunction zb(a){rb.call(this,a)}\nfunction yb(a){wb.call(this,a)}\nfunction Xk(a){wb.call(this,a)}\nfunction Rn(a){wb.call(this,a)}\nfunction Wn(a){yb.call(this,a)}\nfunction Ao(a){yb.call(this,a)}\nfunction Co(a){yb.call(this,a)}\nfunction Eo(a){yb.call(this,a)}\nfunction Uo(a){yb.call(this,a)}\nfunction vp(a){yb.call(this,a)}\nfunction pi(a){rb.call(this,a)}\nfunction tp(a){Sn.call(this,a)}\nfunction sp(){Sn.call(this,'')}\nfunction ns(){this.a=this.gb()}\nfunction Qs(){this.a=this.lb()}\nfunction ib(a){P(this,(ih(),a))}\nfunction dh(a){P(this,(ih(),a))}\nfunction Ic(a,b){return io(a,b)}\nfunction So(a,b){return a>24}\nfunction Ut(a){return new Et(a)}\nfunction $n(a){Zn(a);return a.n}\nfunction dc(a,b){cc();bc.G(a,b)}\nfunction Zt(a,b,c){Pp(a.a,b,c)}\nfunction pj(a){qj.call(this,a,a)}\nfunction wi(){vi();vb.call(this)}\nfunction wb(a){this.e=a;this.C()}\nfunction rb(a){this.e=a;this.C()}\nfunction Vr(a){this.c=a;Sr(this)}\nfunction vt(a){rt(this);this.a=a}\nfunction _g(a){(ih(),a.t).src=''}\nfunction gb(a,b){yc((ih(),a.t),b)}\nfunction hb(a,b){zc((ih(),a.t),b)}\nfunction xh(a,b){a.__listener=b}\nfunction pp(a,b){a.a+=b;return a}\nfunction qp(a,b){a.a+=b;return a}\nfunction rp(a,b){a.a+=b;return a}\nfunction du(a){cu();return $t(a)}\nfunction Rp(a,b){return ms(a.a,b)}\nfunction _r(a,b){return Lp(a.a,b)}\nfunction Mg(a){return a.l|a.m<<22}\nfunction Ro(a){return a<=0?0-a:a}\nfunction $c(a){return Zc(a)&&Xg(a)}\nfunction Tg(){Rg==null&&(Rg=[])}\nfunction kp(){kp=tg;hp={};jp={}}\nfunction Vb(){Jb!=0&&(Jb=0);Mb=-1}\nfunction $q(a,b,c){a.splice(b,c)}\nfunction Ct(a,b){a.appendChild(b)}\nfunction Dt(a,b){a.removeChild(b)}\nfunction cj(a,b){Ni.call(this,a,b)}\nfunction rl(a,b){Ni.call(this,a,b)}\nfunction bm(a,b){Ni.call(this,a,b)}\nfunction Lm(a,b){this.a=a;this.b=b}\nfunction hk(a,b){this.a=a;this.b=b}\nfunction Jq(a,b){this.a=a;this.b=b}\nfunction $s(a,b){this.a=a;this.b=b}\nfunction Xs(a,b){this.b=a;this.c=b}\nfunction fl(a,b){this.b=a;this.a=b}\nfunction Mm(a,b){this.b=a;this.a=b}\nfunction Hr(a,b){this.b=a;this.a=b}\nfunction Ni(a,b){this.c=a;this.d=b}\nfunction ej(a,b){this.c=a;this.d=b}\nfunction or(a,b){a._gwt_modCount=b}\nfunction tt(a,b){a.apply(null,[b])}\nfunction En(a,b){Xt(a.b,new Ji(b))}\nfunction _h(a,b){Ph(a,b,(ih(),a.t))}\nfunction vh(){if(!th){Dh();th=true}}\nfunction lc(a){if(!a){throw new zo}}\nfunction uc(a){if(!a){throw new Bo}}\nfunction oc(a){if(!a){throw new mt}}\nfunction xo(a){vo();return isNaN(a)}\nfunction Fo(a,b){return Io(a.a,b.a)}\nfunction Vt(a,b){return new Ft(a,b)}\nfunction Ft(a,b){this.a=new Bt(a,b)}\nfunction Ki(a){this.b=a;this.a=null}\nfunction Et(a){Ft.call(this,a,null)}\nfunction Ub(a){$wnd.clearTimeout(a)}\nfunction ph(a){$wnd.clearTimeout(a)}\nfunction oh(a){$wnd.clearInterval(a)}\nfunction ot(a){return a!=null?N(a):0}\nfunction ad(a){return a==null?null:a}\nfunction Hp(a){return !a?null:a.db()}\nfunction Wc(a){return !Zc(a)&&Xg(a)}\nfunction Zc(a){return Array.isArray(a)}\nfunction Tr(a){return a.ab?1:0}\nfunction zg(a,b,c){return {l:a,m:b,h:c}}\nfunction Ag(a){return a.l+a.m*vu+a.h*wu}\nfunction Sb(a){return a.$H||(a.$H=++Kb)}\nfunction bi(){bi=tg;new $r;ai=new bs}\nfunction Uh(){Uh=tg;Sh=new Xh;Th=new Zh}\nfunction Wl(){this.a=new Wk((Ck(),Bk))}\nfunction ys(a){this.a=a;Tq.call(this)}\nfunction it(a){this.a=a;Tq.call(this)}\nfunction ii(){this.a=Jc(Qd,nu,20,4,0,1)}\nfunction Nq(a){a.b=Jc(hf,nu,1,0,3,1)}\nfunction ap(a){return Jc(mf,nu,2,a,4,1)}\nfunction as(a,b){return Rp(a.a,b)!=null}\nfunction bp(a,b,c){return a.substr(b,c)}\nfunction Xc(a,b){return a!=null&&Rc(a,b)}\nfunction wc(b,a){return b.appendChild(a)}\nfunction xc(b,a){return b.removeChild(a)}\nfunction Vo(b,a){return b.charCodeAt(a)}\nfunction Nr(a,b){return !!b&&a.b[b.d]==b}\nfunction zt(a,b){Ct(b,(ih(),a.t));Dn(a)}\nfunction op(a,b){a.a+=Sc(b);return a}\nfunction Zr(a){var b;b=N(a);return ~~b}\nfunction rg(a){var b=qg;return wg(b[a])}\nfunction Zn(a){if(a.n!=null){return}mo(a)}\nfunction Ih(a){a.preventDefault();Jh(a)}\nfunction Vh(a){zb.call(this,Fc(a),Ec(a))}\nfunction Ji(a){Ki.call(this,a,Eg(Ib()))}\nfunction dn(a,b,c){en.call(this,a,b,c,1)}\nfunction jk(){jk=tg;ik=Jc(ed,Ku,0,0,7,1)}\nfunction vi(){vi=tg;ui=Jc(kf,nu,182,0,0,1)}\nfunction zi(){zi=tg;vi();yi=new Ai;qb(ui)}\nfunction Ci(){Ci=tg;vi();Bi=new Di;qb(ui)}\nfunction Gi(){Gi=tg;vi();Fi=new Hi;qb(ui)}\nfunction _t(){this.a=new $r;new $r;new $r}\nfunction Bt(a,b){Ln.call(this,new Yt(a),b)}\nfunction kc(a,b){if(!a){throw new Wn(''+b)}}\nfunction mc(a,b){if(!a){throw new Ao(''+b)}}\nfunction eu(a,b){cu();a['__gwtex_wrap']=b}\nfunction au(a,b){return a!=null?a[b]:null}\nfunction Fb(a){return a==null?null:a.name}\nfunction Ak(a){return cd(a+(a<0?-0.5:0.5))}\nfunction fj(a,b){return yk(a.c,a.d,b.c,b.d)}\nfunction $o(a,b){return bp(a,b,a.length-b)}\nfunction Mk(a,b){return a.a[a.a.length-1-b]}\nfunction No(a,b){return (a>>>0).toString(b)}\nfunction sh(a,b){return $wnd.setTimeout(a,b)}\nfunction sr(a,b,c){return rr(a,Tc(b,13),c)}\nfunction Nb(a,b,c){return a.apply(b,c);var d}\nfunction _c(a){return typeof a==='string'}\nfunction Ac(a){return a.currentTarget||$wnd}\nfunction Eb(a){return a==null?null:a.message}\nfunction Yc(a){return a!=null&&!_c(a)&&!Xg(a)}\nfunction Sc(a){return String.fromCharCode(a)}\nfunction At(a,b){Dt(b,(ih(),a.t));U(a);Kn(a)}\nfunction Or(a,b){this.a=a;this.b=b;this.c=0}\nfunction zq(a){var b;b=cq(a.a);return b.cb()}\nfunction Qo(){Qo=tg;Po=Jc(ef,nu,36,256,0,1)}\nfunction hc(){hc=tg;Error.stackTraceLimit=64}\nfunction Bl(){rl.call(this,'DATA_MASK_100',4)}\nfunction tl(){rl.call(this,'DATA_MASK_000',0)}\nfunction vl(){rl.call(this,'DATA_MASK_001',1)}\nfunction zl(){rl.call(this,'DATA_MASK_011',3)}\nfunction xl(){rl.call(this,'DATA_MASK_010',2)}\nfunction Fl(){rl.call(this,'DATA_MASK_110',6)}\nfunction Hl(){rl.call(this,'DATA_MASK_111',7)}\nfunction Dl(){rl.call(this,'DATA_MASK_101',5)}\nfunction xm(a,b,c){Ni.call(this,a,b);this.a=c}\nfunction Om(a,b,c){ej.call(this,a,b);this.a=c}\nfunction pq(a){mq.call(this,a);tc(a.b);this.a=0}\nfunction Fn(a){a.a=true;a.a&&a.q&&nh(a.i,a.f)}\nfunction ci(a){bi();try{U(a)}finally{as(ai,a)}}\nfunction qh(a,b){return fu(function(){a.H(b)})}\nfunction Dp(a,b){return b===a?'(this Map)':''+b}\nfunction ep(a,b){return _c(a)?dp(a,Vc(b)):a.M(b)}\nfunction Mr(a,b){return Xc(b,13)&&Nr(a,Tc(b,13))}\nfunction fb(a){return (ih(),a.t).getContext('2d')}\nfunction ob(d,a,b,c){return d.putImageData(a,b,c)}\nfunction mb(f,a,b,c,d,e){f.drawImage(a,b,c,d,e)}\nfunction Kc(a,b,c,d,e,f){return Lc(a,b,c,d,e,0,f)}\nfunction rr(a,b,c){Lr(a.a,b);return tr(a,b.d,c)}\nfunction Pq(a,b){qc(b,a.b.length);return a.b[b]}\nfunction Oq(a,b){Pc(a.b,a.b.length,b);return true}\nfunction _b(a,b){!a&&(a=[]);a[a.length]=b;return a}\nfunction fo(a,b){var c;c=bo(a,b);c.f=2;return c}\nfunction rc(a){if(a==null){throw new To}return a}\nfunction dd(a){if(a!=null){throw new so}return null}\nfunction sc(a,b){if(a==null){throw new Uo(''+b)}}\nfunction dp(a,b){if(a==b){return 0}return a>3&3);this.a=bd(a&7)}\nfunction Er(a){this.c=a;this.a=new Vr(this.c.a)}\nfunction wn(a){this.a=a[0];this.b=a[1];this.c=a[2]}\nfunction Gk(a,b){if(b==0){throw new zo}return a.c[b]}\nfunction co(a,b,c){var d;d=bo(a,b);qo(c,d);return d}\nfunction bo(a,b){var c;c=new _n;c.i=a;c.d=b;return c}\nfunction Dg(a,b){return a.l==b.l&&a.m==b.m&&a.h==b.h}\nfunction Pp(a,b,c){return _c(b)?Qp(a,b,c):ls(a.a,b,c)}\nfunction Ii(a,b,c){!a.a&&(a.a=new ur($d));sr(a.a,b,c)}\nfunction nb(e,a,b,c,d){return e.getImageData(a,b,c,d)}\nfunction ks(a){return Object.getOwnPropertyNames(a.a)}\nfunction Ms(a){return Object.getOwnPropertyNames(a.a)}\nfunction ug(a){return a instanceof Array?a[0]:null}\nfunction L(a){return _c(a)?mf:Wc(a)?a.cZ:$c(a)?a.cZ:od}\nfunction Yr(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction nt(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction Rc(a,b){return _c(a)&&!!Qc[b]||a.cM&&!!a.cM[b]}\nfunction Cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction Hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction tr(a,b,c){var d;d=a.b[b];Pc(a.b,b,c);return d}\nfunction go(a,b){var c;c=bo('',a);c.k=b;c.f=1;return c}\nfunction Vc(a){if(a!=null&&!_c(a)){throw new so}return a}\nfunction nc(a,b){if(!a){throw new Ao(vc('%s > %s',b))}}\nfunction rt(a){if(!pt){pt=true;cu();Zt(bu,fg,a);st(a)}}\nfunction Rt(a){if(!Qt){Qt=true;cu();Zt(bu,ig,a);St(a)}}\nfunction tc(a){if(0>a){throw new Eo('Index: 0, Size: '+a)}}\nfunction R(a){(ih(),a.t).className='qrPreviewVideo'}\nfunction $g(a){(ih(),a.t).setAttribute('autoplay','')}\nfunction Tb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction Vm(a){var b,c;b=new on(a.a);c=jn(b);return Xm(a,c)}\nfunction cq(a){return nr(a.c,a),oc(bq(a)),Tc(a.a.L(),17)}\nfunction cd(a){return ~~Math.max(Math.min(a,hu),-2147483648)}\nfunction pb(d,a,b,c){return d.data[4*(a+b*d.width)+c]||0}\nfunction ak(a,b,c,d){Ni.call(this,a,b);this.b=c;this.a=d}\nfunction en(a,b,c,d){ej.call(this,a,b);this.b=c;this.a=d}\nfunction Db(a){Bb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction np(){if(ip==256){hp=jp;jp={};ip=0}++ip}\nfunction wg(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction Tc(a,b){if(a!=null&&!Rc(a,b)){throw new so}return a}\nfunction Jm(a){Em();if(a<1||a>40){throw new zo}return Cm[a-1]}\nfunction oi(){var a;a=ri();if(!Wo('ie10',a)){throw new qi(a)}}\nfunction Kl(){var a;Kl=tg;Jl=(a=Jc(fd,Ku,0,45,7,1),Yo(a,0),a)}\nfunction dm(){am();return Mc(Ic(Ae,1),Lu,39,0,[Zl,$l,_l,Yl])}\nfunction Qp(a,b,c){return b==null?ls(a.a,null,c):a.c.pb(b,c)}\nfunction Ph(a,b,c){V(b);di(a.p,b);ih();wc(c,kh(b.t));W(b,a)}\nfunction kj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction mj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction io(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.R(b))}\nfunction wh(a){var b=a.__listener;return !Yc(b)&&Xc(b,31)?b:null}\nfunction Fk(a,b){if(b==0){throw new Un}return a.a[a.f-a.c[b]-1]}\nfunction Sl(a){if(a>=Jl.length){throw Ci(),Ci(),Bi}return Jl[a]}\nfunction qq(a,b){pc(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction ok(a){jk();this.d=a;this.c=ik;this.b=Jc(jd,Mu,0,32,7,1)}\nfunction on(a){this.c=a;this.d=new Tq;this.a=Jc(jd,Mu,0,5,7,1)}\nfunction zn(a){An.call(this,a,(ih(),a.t).width,a.t.height)}\nfunction N(a){return _c(a)?mp(a):Wc(a)?a.hC():$c(a)?Sb(a):Sb(a)}\nfunction Bc(a){return a.tabIndex=Xl.length){throw new zo}return Xl[a]}\nfunction Ur(a){return oc(a.a>22&tu;d=a<0?uu:0;return zg(b,c,d)}\nfunction el(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Ci(),Ci(),Bi}this.a=a}\nfunction Rb(a){a&&Zb((Xb(),Wb));--Jb;if(a){if(Mb!=-1){Ub(Mb);Mb=-1}}}\nfunction mh(a){if(!a.d){return}++a.b;a.c?oh(a.d.a):ph(a.d.a);a.d=null}\nfunction Ib(){if(Date.now){return Date.now()}return (new Date).getTime()}\nfunction Uq(a){Nq(this);mc(a>=0,'Initial capacity must not be negative')}\nfunction nr(a,b){if(b._gwt_modCount!=a._gwt_modCount){throw new qr}}\nfunction ng(b,c){if(b&&typeof b==gu){try{b.__gwt$exception=c}catch(a){}}}\nfunction qc(a,b){if(a<0||a>=b){throw new Eo('Index: '+a+', Size: '+b)}}\nfunction ki(a){if(a.b>=a.c.b){throw new mt}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction Sq(a,b,c){var d;d=(qc(b,a.b.length),a.b[b]);Pc(a.b,b,c);return d}\nfunction $k(a,b,c,d){var e;e=a.b?lj(a.a,c,b):lj(a.a,b,c);return e?d<<1|1:d<<1}\nfunction tn(a,b,c){var d,e;d=Ro(c.b-a.a);e=Ro(b.b-a.a);return d>>(b&31)&1)!=0}\nfunction Hk(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction Op(a,b){return _c(b)?b==null?Hp(js(a.a,null)):a.c.mb(b):Hp(js(a.a,b))}\nfunction wm(a,b){var c,d;c=b.d;c<=9?(d=0):c<=26?(d=1):(d=2);return a.a[d]}\nfunction ei(a,b){var c;for(c=0;c=900){throw Ci(),Ci(),Bi}return Tc(Op(Yj,Oo(a)),11)}\nfunction bb(a){var b;T(a);b=Bc((ih(),a.t));-1==b&&(a.t.tabIndex=0,undefined)}\nfunction Sr(a){var b;++a.a;for(b=a.c.a.length;a.a>22);e=a.h-b.h+(d>>22);return {l:c&tu,m:d&tu,h:e&uu}}\nfunction Rm(a,b){var c,d,e;e=a.d;d=e/2;for(c=0;c<3;c++){if(Ro(e-b[c])>=d){return false}}return true}\nfunction fp(a,b){var c,d;c=Jc(fd,Ku,0,b,7,1);for(d=0;d=a.b){throw new Do}--a.b;for(c=b;c-129&&a<128){b=a+128;c=(Qo(),Po)[b];!c&&(c=Po[b]=new Go(a));return c}return new Go(a)}\nfunction wp(a,b){var c,d;for(d=a.I();d.K();){c=d.L();if(ad(b)===ad(c)||b!=null&&J(b,c)){return true}}return false}\nfunction og(a){var b;if(Xc(a,37)){b=Tc(a,37);if(ad(b.b)!==ad((Bb(),Ab))){return ad(b.b)===ad(Ab)?null:b.b}}return a}\nfunction oj(a){var b,c,d;b=new sp;for(d=0;d=d||bb&&d.O(a[f-1],a[f])>0;--f){g=a[f];Pc(a,f,a[f-1]);Pc(a,f-1,g)}}}\nfunction Dn(b){var c;T(b);_g(b.k);try{Jn((ih(),b.k.t),b)}catch(a){a=pg(a);if(Xc(a,8)){c=a;En(b,c.D())}else throw og(a)}}\nfunction qs(a){if(a.cb){throw new Eo('toIndex: '+a+' > size '+b)}if(3>a){throw new Ao('fromIndex: 3 > toIndex: '+a)}}\nfunction Q(a,b,c){b>=0&&((ih(),a.t).style['width']=b+'px',undefined);c>=0&&((ih(),a.t).style['height']=c+'px',undefined)}\nfunction Ho(a){a-=a>>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction am(){am=tg;Zl=new bm('L',0);$l=new bm('M',1);_l=new bm('Q',2);Yl=new bm('H',3);Xl=Mc(Ic(Ae,1),Lu,39,0,[$l,Zl,Yl,_l])}\nfunction Ck(){Ck=tg;new Ik(4201,4096,1);new Ik(1033,1024,1);new Ik(67,64,1);new Ik(19,16,1);Bk=new Ik(285,256,0);new Ik(301,256,1)}\nfunction hq(a,b){var c,d;d=new pq(a);for(c=0;c2000){Lb=a;Mb=$wnd.setTimeout(Vb,10)}}if(Jb++==0){Yb((Xb(),Wb));return true}return false}\nfunction Fg(a){var b,c;if(a>-129&&a<128){b=a+128;Bg==null&&(Bg=Jc(zd,nu,184,256,0,1));c=Bg[b];!c&&(c=Bg[b]=yg(a));return c}return yg(a)}\nfunction Xn(a,b,c){lc(a>=0&&a<=1114111);if(a>=Bu){b[c++]=55296+(a-Bu>>10&1023)&ru;b[c]=56320+(a-Bu&1023)&ru;return 2}else{b[c]=a&ru;return 1}}\nfunction Im(b){Em();if(b%4!=1){throw Ci(),Ci(),Bi}try{return Jm(~~((b-17)/4))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction V(a){if(!a.s){bi();_r(ai,a)&&ci(a)}else if(a.s){Qh(a.s,a)}else if(a.s){throw new Co(\"This widget's parent does not implement HasWidgets\")}}\nfunction _o(a,b,c){if(Xo(Qu,c)){return gp(a,b)}else if(Xo(Ou,c)||Xo('ISO-LATIN-1',c)){return fp(a,b)}else{throw new Rn('Charset '+c+' not supported')}}\nfunction Bp(a,b){var c,d,e;c=b.cb();e=b.db();d=a._(c);if(!(ad(e)===ad(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.Z(c)){return false}return true}\nfunction qj(a,b){if(a<1||b<1){throw new Ao('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=Jc(jd,Mu,0,this.c*b,7,1)}\nfunction xn(a){var b,c,d,e,f,g,h,i;i=a.f;c=a.e;b=i*c;f=Jc(ed,Ku,0,b,7,1);for(d=0;d=0,Mc(Ic(hf,1),nu,1,3,[Oo(b),Oo(c)])),g),h=Hc(a,f),up(a,b,h,0,So(a.length-b,f)),h);er(e,a,b,c,-b,d)}\nfunction Nc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);er(b,a,i,j,-e,f);er(b,a,j,h,-e,f);if(f.O(a[j-1],a[j])<=0){while(ca.b){throw new Do}if(a.b==a.a.length){f=Jc(Qd,nu,20,a.a.length*2,0,1);for(e=0;ec;--d){Pc(a.a,d,a.a[d-1])}Pc(a.a,c,b)}\nfunction sg(a,b,c){var d=qg;var e=rg;var f=ug;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=xg)}for(var i=3;ic-k?0:c-k;h=So(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=So(a.a.b-1,d+k);if(f-i=a.e){throw new Ao('Requested row is outside the image: '+b)}e=a.f;(c==null||c.length>24}return c}\nfunction nk(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.f;c=f.e;if(i>=40&&c>=40){d=xn(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=pk(d,h,g,i,c);e=new qj(i,c);qk(d,h,g,i,c,b,e);a.a=e}else{a.a=kk(a)}return a.a}\nfunction Fc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new tp(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=uq(new vq(a.a));bq(f.a);){e=Tc(zq(f),8);d?(d=false):(b.a+='; ',b);rp(b,e.D())}return b.a}\nfunction Tl(b,c,d){var e,f,g,h,i;h=c.length;e=Jc(jd,Mu,0,h,7,1);for(g=0;g0&&(a.r==-1?Eh(a.t,b|(a.t.__eventBits||0)):(a.r|=b));a.u()}\nfunction ym(a){vm();switch(a){case 0:return um;case 1:return sm;case 2:return lm;case 3:return tm;case 4:return mm;case 5:return om;case 7:return nm;case 8:return rm;case 9:return pm;case 13:return qm;default:throw new zo;}}\nfunction kn(a){var b,c,d,e;e=a.d.b.length;if(e<=1){return 0}d=null;for(c=new mq(a.d);c.a=2){if(!d){d=b}else{a.b=true;return ~~(cd(Ro(d.c-b.c)-Ro(d.d-b.d))/2)}}}return 0}\nfunction im(a,b){var c,d,e,f,g,h,i,j;c=hu;d=0;for(g=em,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?uu:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?uu:0;f=d?tu:0;e=c>>b-44}return {l:e&tu,m:f&tu,h:g&uu}}\nfunction mo(a){if(a.V()){var b=a.c;b.W()?(a.n='['+b.k):!b.V()?(a.n='[L'+b.T()+';'):(a.n='['+b.T());a.b=b.S()+'[]';a.j=b.U()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=po('.',[c,po('$',d)]);a.b=po('.',[c,po('.',d)]);a.j=d[d.length-1]}\nfunction Ln(a,b){this.p=new ii;P(this,(ih(),$doc.createElement('div')));this.k=eh();this.c=jb();this.d=new Zk;this.e=new Tq;this.f=300;this.j=-1;this.a=true;this.b=a;this.o=b;Oq(this.e,this.d);this.i=new Qn(this);_h(this,this.k);R(this.k);$g(this.k)}\nfunction wk(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,q,r;n=a-c+e-g;r=b-d+f-h;if(n==0&&r==0){return new uk(c-a,e-c,a,d-b,f-d,b,0,0,1)}else{l=c-e;m=g-e;o=d-f;q=h-f;k=l*q-m*o;i=(n*q-m*r)/k;j=(l*r-n*o)/k;return new uk(c-a+i*c,g-a+j*g,a,d-b+i*d,h-b+j*h,b,i,j,1)}}\nfunction Gn(b){var c,d,e,f;if(!(b.a&&b.q))return;try{c=Bn(b);if(c){for(e=new mq(b.e);e.a=0&&d.e>=0){Ii(h,(bj(),$i),Oo(d.e));Ii(h,Zi,Oo(d.d))}return h}\nfunction Uk(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=Jc(jd,Mu,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=cd(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=cd(b+(f-b)*i);h+=Ym(a,b,c,f,g);return h-1}\nfunction Tk(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return Mc(Ic(jd,1),Mu,0,7,[b.a[b.a.length-1-1]])}f=Jc(jd,Mu,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);rk(a,q,s,h,d,g)}}}\nfunction gk(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Gi(),Gi(),Fi}e=new qj(b,c);h=Jc(hd,Ku,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}Pc(a,0,c);a[1]=d;Pc(a,2,e)}\nfunction Kk(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Ao(Su)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=Jc(jd,Mu,0,d.length,7,1);e=d.length-f.length;up(d,0,g,0,e);for(c=e;c>3]}}b=mk(d);e=xn(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}i=Jc(ed,Ku,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d0&&c>0){if(a.j>0){if(f>c){if(a.j=0;h--){c=$k(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=$k(a,8,g,d)}for(e=b-8;e8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=bd(e>>8);f[g+1]=bd(e);g+=2;--d}try{rp(c,_o(f,f.length,Pu))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction Ol(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Ci(),Ci(),Bi}f=Jc(ed,Ku,0,2*d,7,1);g=0;while(d>0){h=uj(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=bd(e>>8&255);f[g+1]=bd(e&255);g+=2;--d}try{rp(c,_o(f,f.length,'GB2312'))}catch(a){a=pg(a);if(Xc(a,51)){throw Ci(),Ci(),Bi}else throw og(a)}}\nfunction mn(a){var b,c,d,e,f,g,h,i;c=0;i=0;d=a.d.b.length;for(g=new mq(a.d);g.a=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new mq(a.d);f.a32||b>8*(a.c.length-a.b)-a.a){throw new Ao(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Fm(a){var b,c,d,e,f,g;c=17+4*a.d;b=new pj(c);nj(b,0,0,9,9);nj(b,c-8,0,8,9);nj(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){nj(b,c-11,0,3,6);nj(b,0,c-11,6,3)}return b}\nfunction nj(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Ao('Left and top must be nonnegative')}if(e<1||d<1){throw new Ao('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Ao('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=$k(a,d,g,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=$k(a,c,f,j)}}i=Hm(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Ci(),Ci(),Bi}\nfunction mk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Gi(),Gi(),Fi}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction vk(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=sk(wk(3.5,3.5,a,3.5,b,c,3.5,d));n=wk(e,f,g,h,i,j,k,l);return new uk(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction vo(){vo=tg;uo=Mc(Ic(gd,1),Ku,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Bu,256,16,4,2]);to=Mc(Ic(gd,1),Ku,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction Eg(a){var b,c,d,e,f,g,h,i;if(xo(a)){return Qg(),Pg}if(a=9223372036854775807){return Qg(),Ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=wu){d=cd(a/wu);a-=d*wu}c=0;if(a>=vu){c=cd(a/vu);a-=c*vu}b=cd(a);f=zg(b,c,d);e&&(g=~f.l+1&tu,h=~f.m+(g==0?1:0)&tu,i=~f.h+(g==0&&h==0?1:0)&uu,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction Ul(b,c){var d,e,f,g,h;g=new el(c);f=null;d=null;try{return Vl(b,g)}catch(a){a=pg(a);if(Xc(a,56)){e=a;f=e}else if(Xc(a,55)){e=a;d=e}else throw og(a)}try{dl(g);g.d=null;g.c=null;g.b=true;cl(g);bl(g);_k(g);h=Vl(b,g);dk(h,new Bm);return h}catch(a){a=pg(a);if(Xc(a,56)||Xc(a,55)){e=a;if(f){throw f}if(d){throw d}throw e}else throw og(a)}}\nfunction Sk(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Qk(a.a,b);q=Jc(jd,Mu,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return zk(d+q,e,b,c)}return NaN}\nfunction bj(){bj=tg;Wi=new cj('OTHER',0);Vi=new cj('ORIENTATION',1);Si=new cj('BYTE_SEGMENTS',2);Ti=new cj('ERROR_CORRECTION_LEVEL',3);Ui=new cj('ISSUE_NUMBER',4);_i=new cj('SUGGESTED_PRICE',5);Yi=new cj('POSSIBLE_COUNTRY',6);aj=new cj('UPC_EAN_EXTENSION',7);Xi=new cj('PDF417_EXTRA_METADATA',8);$i=new cj('STRUCTURED_APPEND_SEQUENCE',9);Zi=new cj('STRUCTURED_APPEND_PARITY',10)}\nfunction Ml(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Ci(),Ci(),Bi}f=uj(a,11);op(b,Sl(~~(f/45)));op(b,Sl(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Ci(),Ci(),Bi}op(b,Sl(uj(a,6)))}if(d){for(e=g;e0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=Hg(b,Fg(c+127<<23));b=Hg(b,Fg(e));return Mg(b)}\nfunction Ql(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Ci(),Ci(),Bi}e=uj(a,10);if(e>=1000){throw Ci(),Ci(),Bi}op(b,Sl(~~(e/100)));op(b,Sl(~~(e/10)%10));op(b,Sl(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Ci(),Ci(),Bi}f=uj(a,7);if(f>=100){throw Ci(),Ci(),Bi}op(b,Sl(~~(f/10)));op(b,Sl(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Ci(),Ci(),Bi}d=uj(a,4);if(d>=10){throw Ci(),Ci(),Bi}op(b,Sl(d))}}\nfunction ln(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=hn(a,c,cd(h),b[2],m);if(!isNaN(g)){h=gn(a,cd(h),cd(g),b[2],m);if(!isNaN(h)&&(!e||fn(a,cd(g),cd(h),b[2],m))){i=m/7;j=false;for(k=0;k=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return 'gecko1_8';return 'unknown'}\nfunction Pm(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=a.a;i[0]=0;i[1]=0;i[2]=0;f=b;while(f>=0&&lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Rm(a,i)?f-i[2]-i[1]/2:NaN}\nfunction Zo(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=cd(s.c+i*(g-s.c));l=cd(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=Wm(b,n,k,l,m);break}catch(a){a=pg(a);if(!Xc(a,54))throw og(a)}}}u=an(s,t,f,d,j);e=bn(b.a,u,j);!d?(q=Mc(Ic(_d,1),nu,29,0,[f,s,t])):(q=Mc(Ic(_d,1),nu,29,0,[f,s,t,d]));return new hk(e,q)}\nfunction Qm(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=Jc(jd,Mu,0,3,7,1);for(f=0;fn||d+e>j){throw new Do}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=Tc(a,5);f=Tc(c,5);if(ad(a)===ad(c)&&bd;){Pc(f,h,k[--b])}}else{for(h=d+e;d0&&Oc(a,b,c,d,e,true)}\nfunction An(a,b,c){var d,e,f,g,h;this.f=b;this.e=c;h=(ih(),a.t).width;g=a.t.height;if(b>h||c>g){throw new Ao('Crop rectangle does not fit within image data.')}this.a=jb();Q(this.a,h,g);gb(this.a,g);hb(this.a,h);this.b=nb(a.t.getContext('2d'),0,0,b,c);e=this.b.data;for(f=0;fg||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=cd(b[e]);i=cd(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Gi(),Gi(),Fi}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction gl(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new zo}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=uo[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=uo[d]){a*=to[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=Eg(a*Cu);a-=Lg(e)*9.5367431640625E-7;f=Eg(a*4503599627370496);e=Hg(e,Fg(c+1023<<20));g&&(e=Hg(e,{l:0,m:512,h:0}));return Hg(Ig(e,32),f)}\nfunction gn(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&lj(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!lj(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&lj(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return pn(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction hn(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&lj(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!lj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&lj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return pn(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction nn(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Gi(),Gi(),Fi}if(l>3){n=0;k=0;for(d=new mq(a.d);d.am?Wu*b:m;for(e=0;e3;e++){g=Tc(Pq(a.d,e),16);if(Ro(g.b-b)>f){a.d.bb(e);--e}}}if(a.d.b.length>3){n=0;for(i=new mq(a.d);i.ab){throw new Eo(Yu)}}f=Jc(fd,Ku,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Ao('Invalid UTF8 sequence at '+(h-1)+', byte='+No(c,16))}d=d<<6|c&63}j+=Xn(d,f,j)}return cp(f,0,f.length)}\nfunction jn(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=Jc(jd,Mu,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(pn(l)){b=ln(a,l,e,i,false);if(b){f=l[0];a.b&&(d=mn(a))}}}j=nn(a);ij(j);return new wn(j)}\nfunction Vk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new Xk('r_{i-1} was zero')}k=m;j=a.a.i;f=Mk(l,l.a.length-1);g=Fk(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Hk(a.a,Mk(k,k.a.length-1),g);j=Kk(j,Dk(a.a,e,n));k=Kk(k,Pk(l,e,n))}r=Kk(Ok(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Co('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new Xk('sigmaTilde(0) was zero')}h=Fk(a.a,q);o=Nk(r,h);i=Nk(k,h);return Mc(Ic(je,1),nu,26,0,[o,i])}\nfunction Jn(e,f){function g(b){f.n=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.Q()}\nfunction h(a){var b=a.message;f.P(b)}\nvar i=f.o;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\n", -"function fn(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&lj(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!lj(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&lj(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&pn(i)}\nfunction Ll(b,c,d){Kl();var e,f,g,h,i,j,k,l,m,n,o,q;e=new vj(b);m=new sp;f=new Uq(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(vm(),um)):(k=ym(uj(e,4)));if(k!=(vm(),um)){if(k==om||k==pm){j=true}else if(k==tm){if(8*(e.c.length-e.b)-e.a<16){throw Ci(),Ci(),Bi}o=uj(e,8);l=uj(e,8)}else if(k==nm){q=Rl(e);i=bk(q);if(!i){throw Ci(),Ci(),Bi}}else{if(k==qm){n=uj(e,4);h=uj(e,wm(k,c));n==1&&Ol(e,m,h)}else{g=uj(e,wm(k,c));if(k==sm){Ql(e,m,g)}else if(k==lm){Ml(e,m,g,j)}else if(k==mm){Nl(e,m,g,i,f)}else if(k==rm){Pl(e,m,g)}else{throw Ci(),Ci(),Bi}}}}}while(k!=(vm(),um))}catch(a){a=pg(a);if(Xc(a,12)){throw Ci(),Ci(),Bi}else throw og(a)}return new ek(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction uh(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Bu;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return yu;case 'touchstart':return Cu;case 'touchmove':return 2097152;case 'touchend':return vu;case 'touchcancel':return Du;case 'gesturestart':return Eu;case 'gesturechange':return Fu;case 'gestureend':return Gu;default:return -1;}}\nfunction xk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Qu}if(c&&(m>=3||l>=3)){return Pu}if(b&&c){return m==2&&k==2||f*10>=g?Pu:Ou}if(b){return Ou}if(c){return Pu}if(d){return Qu}return Qu}\nfunction St(g){var d=du(ev);var e,f=g;$wnd.JsQRScanner=fu(function(){var a,b=this,c=arguments;c.length==1&&f.sb(c[0])?(a=c[0]):c.length==2?(a=Vt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0]),c[1])):c.length==1&&(a=Ut(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new vt(c[0])));b.g=a;eu(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=fu(function(a){this.g.tb(a)});e.getScanInterval=fu(function(){return this.g.ub()});e.getSnapImageMaxSize=fu(function(){return this.g.vb()});e.isActive=fu(function(){return this.g.wb()});e.isScanning=fu(function(){return this.g.xb()});e.removeFrom=fu(function(a){this.g.yb(a)});e.resumeScanning=fu(function(){this.g.zb()});e.setScanInterval=fu(function(a){this.g.Ab(a)});e.setSnapImageMaxSize=fu(function(a){this.g.Bb(a)});e.stopScanning=fu(function(){this.g.Cb()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction lh(){var a,b,c;b=$doc.compatMode;a=Mc(Ic(mf,1),nu,2,4,[Au]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction fm(){fm=tg;em=Mc(Ic(jd,2),nu,7,0,[Mc(Ic(jd,1),Mu,0,7,[21522,0]),Mc(Ic(jd,1),Mu,0,7,[20773,1]),Mc(Ic(jd,1),Mu,0,7,[24188,2]),Mc(Ic(jd,1),Mu,0,7,[23371,3]),Mc(Ic(jd,1),Mu,0,7,[17913,4]),Mc(Ic(jd,1),Mu,0,7,[16590,5]),Mc(Ic(jd,1),Mu,0,7,[20375,6]),Mc(Ic(jd,1),Mu,0,7,[19104,7]),Mc(Ic(jd,1),Mu,0,7,[30660,8]),Mc(Ic(jd,1),Mu,0,7,[29427,9]),Mc(Ic(jd,1),Mu,0,7,[32170,10]),Mc(Ic(jd,1),Mu,0,7,[30877,11]),Mc(Ic(jd,1),Mu,0,7,[26159,12]),Mc(Ic(jd,1),Mu,0,7,[25368,13]),Mc(Ic(jd,1),Mu,0,7,[27713,14]),Mc(Ic(jd,1),Mu,0,7,[26998,15]),Mc(Ic(jd,1),Mu,0,7,[5769,16]),Mc(Ic(jd,1),Mu,0,7,[5054,17]),Mc(Ic(jd,1),Mu,0,7,[7399,18]),Mc(Ic(jd,1),Mu,0,7,[6608,19]),Mc(Ic(jd,1),Mu,0,7,[1890,20]),Mc(Ic(jd,1),Mu,0,7,[597,21]),Mc(Ic(jd,1),Mu,0,7,[3340,22]),Mc(Ic(jd,1),Mu,0,7,[2107,23]),Mc(Ic(jd,1),Mu,0,7,[13663,24]),Mc(Ic(jd,1),Mu,0,7,[12392,25]),Mc(Ic(jd,1),Mu,0,7,[16177,26]),Mc(Ic(jd,1),Mu,0,7,[14854,27]),Mc(Ic(jd,1),Mu,0,7,[9396,28]),Mc(Ic(jd,1),Mu,0,7,[8579,29]),Mc(Ic(jd,1),Mu,0,7,[11994,30]),Mc(Ic(jd,1),Mu,0,7,[11245,31])])}\nfunction Fh(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Ah:null);c&2&&(a.ondblclick=b&2?Ah:null);c&4&&(a.onmousedown=b&4?Ah:null);c&8&&(a.onmouseup=b&8?Ah:null);c&16&&(a.onmouseover=b&16?Ah:null);c&32&&(a.onmouseout=b&32?Ah:null);c&64&&(a.onmousemove=b&64?Ah:null);c&128&&(a.onkeydown=b&128?Ah:null);c&256&&(a.onkeypress=b&256?Ah:null);c&512&&(a.onkeyup=b&512?Ah:null);c&1024&&(a.onchange=b&1024?Ah:null);c&2048&&(a.onfocus=b&2048?Ah:null);c&4096&&(a.onblur=b&4096?Ah:null);c&8192&&(a.onlosecapture=b&8192?Ah:null);c&16384&&(a.onscroll=b&16384?Ah:null);c&32768&&(a.onload=b&32768?Bh:null);c&Bu&&(a.onerror=b&Bu?Ah:null);c&131072&&(a.onmousewheel=b&131072?Ah:null);c&262144&&(a.oncontextmenu=b&262144?Ah:null);c&yu&&(a.onpaste=b&yu?Ah:null);c&Cu&&(a.ontouchstart=b&Cu?Ah:null);c&2097152&&(a.ontouchmove=b&2097152?Ah:null);c&vu&&(a.ontouchend=b&vu?Ah:null);c&Du&&(a.ontouchcancel=b&Du?Ah:null);c&Eu&&(a.ongesturestart=b&Eu?Ah:null);c&Fu&&(a.ongesturechange=b&Fu?Ah:null);c&Gu&&(a.ongestureend=b&Gu?Ah:null)}\nfunction Zj(){Zj=tg;var a,b,c,d,e,f,g,h,i,j,k,l;Cj=new ak('Cp437',0,Mc(Ic(jd,1),Mu,0,7,[0,2]),Mc(Ic(mf,1),nu,2,4,[]));Fj=new ak('ISO8859_1',1,Mc(Ic(jd,1),Mu,0,7,[1,3]),Mc(Ic(mf,1),nu,2,4,[Ou]));Mj=new _j('ISO8859_2',2,4,Mc(Ic(mf,1),nu,2,4,['ISO-8859-2']));Nj=new _j('ISO8859_3',3,5,Mc(Ic(mf,1),nu,2,4,['ISO-8859-3']));Oj=new _j('ISO8859_4',4,6,Mc(Ic(mf,1),nu,2,4,['ISO-8859-4']));Pj=new _j('ISO8859_5',5,7,Mc(Ic(mf,1),nu,2,4,['ISO-8859-5']));Qj=new _j('ISO8859_6',6,8,Mc(Ic(mf,1),nu,2,4,['ISO-8859-6']));Rj=new _j('ISO8859_7',7,9,Mc(Ic(mf,1),nu,2,4,['ISO-8859-7']));Sj=new _j('ISO8859_8',8,10,Mc(Ic(mf,1),nu,2,4,['ISO-8859-8']));Tj=new _j('ISO8859_9',9,11,Mc(Ic(mf,1),nu,2,4,['ISO-8859-9']));Gj=new _j('ISO8859_10',10,12,Mc(Ic(mf,1),nu,2,4,['ISO-8859-10']));Hj=new _j('ISO8859_11',11,13,Mc(Ic(mf,1),nu,2,4,['ISO-8859-11']));Ij=new _j('ISO8859_13',12,15,Mc(Ic(mf,1),nu,2,4,['ISO-8859-13']));Jj=new _j('ISO8859_14',13,16,Mc(Ic(mf,1),nu,2,4,['ISO-8859-14']));Kj=new _j('ISO8859_15',14,17,Mc(Ic(mf,1),nu,2,4,['ISO-8859-15']));Lj=new _j('ISO8859_16',15,18,Mc(Ic(mf,1),nu,2,4,['ISO-8859-16']));Vj=new _j('SJIS',16,20,Mc(Ic(mf,1),nu,2,4,[Pu]));yj=new _j('Cp1250',17,21,Mc(Ic(mf,1),nu,2,4,['windows-1250']));zj=new _j('Cp1251',18,22,Mc(Ic(mf,1),nu,2,4,['windows-1251']));Aj=new _j('Cp1252',19,23,Mc(Ic(mf,1),nu,2,4,['windows-1252']));Bj=new _j('Cp1256',20,24,Mc(Ic(mf,1),nu,2,4,['windows-1256']));Xj=new _j('UnicodeBigUnmarked',21,25,Mc(Ic(mf,1),nu,2,4,['UTF-16BE','UnicodeBig']));Wj=new _j('UTF8',22,26,Mc(Ic(mf,1),nu,2,4,[Qu]));wj=new ak('ASCII',23,Mc(Ic(jd,1),Mu,0,7,[27,170]),Mc(Ic(mf,1),nu,2,4,['US-ASCII']));xj=new $j;Ej=new _j('GB18030',25,29,Mc(Ic(mf,1),nu,2,4,['GB2312','EUC_CN','GBK']));Dj=new _j('EUC_KR',26,30,Mc(Ic(mf,1),nu,2,4,['EUC-KR']));Yj=new $r;Uj=new $r;for(b=ck(),c=0,d=b.length;c1?(b.c=io(this,a-1)):(b.c=this);return b};_.S=function ho(){Zn(this);return this.b};_.T=function jo(){return $n(this)};_.U=function lo(){Zn(this);return this.j};_.V=function no(){return (this.f&4)!=0};_.W=function oo(){return (this.f&1)!=0};_.tS=function ro(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(Zn(this),this.n)};_.f=0;var Yn=1;var hf=co(iu,'Object',1),od=co(ju,'JavaScriptObject$',0),Ze=co(iu,'Class',67);sg(25,1,{30:1,25:1});_.tS=function S(){if(!this.t){return '(null handle)'}return (ih(),this.t).outerHTML};var Nd=co(ku,'UIObject',25);sg(20,25,lu);_.u=function X(){};_.v=function Y(){};_.w=function Z(){T(this)};_.A=function $(a){var b;switch(ih(),uh(a.type)){case 16:case 32:b=a.relatedTarget;if(!!b&&Cc(this.t,b)){return}}Dc(ih())};_.B=function ab(){U(this)};_.q=false;_.r=0;var Qd=co(ku,'Widget',20);sg(175,20,lu);_.w=function cb(){bb(this)};var Ld=co(ku,'FocusWidget',175);sg(120,175,lu,ib);var db;var md=co(mu,'Canvas',120);sg(177,1,{});var ld=co(mu,'Canvas/CanvasElementSupportDetector',177);sg(121,177,{},kb);var kd=co(mu,'Canvas/CanvasElementSupportDetectedMaybe',121);sg(8,1,ou);_.C=function sb(){dc(this,this.e);return this};_.D=function tb(){return this.e};_.tS=function ub(){var a,b;a=$n(this.cZ);b=this.D();return b!=null?a+': '+b:a};var nf=co(iu,'Throwable',8);sg(10,8,pu);var af=co(iu,'Exception',10);sg(15,10,pu);var jf=co(iu,'RuntimeException',15);sg(81,15,pu);var qd=co(qu,'JavaScriptExceptionBase',81);sg(37,81,{37:1,3:1,10:1,8:1},Db);_.D=function Gb(){Cb(this);return this.c};_.F=function Hb(){return ad(this.b)===ad(Ab)?null:this.b};var Ab;var nd=co(ju,'JavaScriptException',37);sg(155,1,{});var pd=co(ju,'Scheduler',155);var Jb=0,Kb=0,Lb=0,Mb=-1;sg(101,155,{},$b);var Wb;var rd=co(qu,'SchedulerImpl',101);var bc;sg(166,1,{});var vd=co(qu,'StackTraceCreator/Collector',166);sg(82,166,{},fc);_.G=function gc(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(cc(),d.name||(d.name=ec(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Gk(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var je=co(Ru,'GenericGFPoly',26);sg(123,1,{},Wk);var le=co(Ru,'ReedSolomonDecoder',123);sg(45,10,{45:1,3:1,10:1,8:1},Xk);var me=co(Ru,'ReedSolomonException',45);sg(118,1,{181:1},Zk);var ne=co('com.google.zxing.qrcode','QRCodeReader',118);sg(133,1,{},el);_.b=false;\n", -"var oe=co(Tu,'BitMatrixParser',133);sg(65,1,{65:1},fl);_.b=0;var pe=co(Tu,'DataBlock',65);sg(14,13,Uu);var hl,il,jl,kl,ll,ml,nl,ol;var ye=eo(Tu,'DataMask',14,sl);sg(142,14,Uu,tl);_.N=function ul(a,b){return (a+b&1)==0};var qe=eo(Tu,'DataMask/1',142,null);sg(143,14,Uu,vl);_.N=function wl(a,b){return (a&1)==0};var re=eo(Tu,'DataMask/2',143,null);sg(144,14,Uu,xl);_.N=function yl(a,b){return b%3==0};var se=eo(Tu,'DataMask/3',144,null);sg(145,14,Uu,zl);_.N=function Al(a,b){return (a+b)%3==0};var te=eo(Tu,'DataMask/4',145,null);sg(146,14,Uu,Bl);_.N=function Cl(a,b){return (~~(a/2)+~~(b/3)&1)==0};var ue=eo(Tu,'DataMask/5',146,null);sg(147,14,Uu,Dl);_.N=function El(a,b){var c;c=a*b;return (c&1)+c%3==0};var ve=eo(Tu,'DataMask/6',147,null);sg(148,14,Uu,Fl);_.N=function Gl(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var we=eo(Tu,'DataMask/7',148,null);sg(149,14,Uu,Hl);_.N=function Il(a,b){return ((a+b&1)+a*b%3&1)==0};var xe=eo(Tu,'DataMask/8',149,null);var Jl;sg(122,1,{},Wl);var ze=co(Tu,'Decoder',122);sg(39,13,{39:1,3:1,19:1,13:1},bm);var Xl,Yl,Zl,$l,_l;var Ae=eo(Tu,'ErrorCorrectionLevel',39,dm);sg(49,1,{49:1},gm);_.eQ=function jm(a){var b;if(!Xc(a,49)){return false}b=Tc(a,49);return this.b==b.b&&this.a==b.a};_.hC=function km(){return this.b.d<<3|this.a};_.a=0;var em;var Be=co(Tu,'FormatInformation',49);sg(23,13,{23:1,3:1,19:1,13:1},xm);var lm,mm,nm,om,pm,qm,rm,sm,tm,um;var Ce=eo(Tu,'Mode',23,zm);sg(132,1,{},Bm);_.a=false;var De=co(Tu,'QRCodeDecoderMetaData',132);sg(9,1,{9:1},Gm);_.tS=function Km(){return ''+this.d};_.c=0;_.d=0;var Cm,Dm;var Ge=co(Tu,'Version',9);sg(4,1,{4:1},Lm);_.a=0;_.b=0;var Ee=co(Tu,'Version/ECB',4);sg(6,1,{6:1},Mm);_.b=0;var Fe=co(Tu,'Version/ECBlocks',6);sg(50,29,{29:1,50:1},Om);_.a=0;var Ie=co(Vu,'AlignmentPattern',50);sg(151,1,{},Tm);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var He=co(Vu,'AlignmentPatternFinder',151);sg(131,1,{},$m);var Je=co(Vu,'Detector',131);sg(16,29,{29:1,16:1},dn,en);_.a=0;_.b=0;var Oe=co(Vu,'FinderPattern',16);sg(134,1,{},on);_.b=false;var Me=co(Vu,'FinderPatternFinder',134);sg(136,1,Ku,rn);_.O=function sn(a,b){return qn(this,Tc(a,16),Tc(b,16))};_.a=0;var Ke=co(Vu,'FinderPatternFinder/CenterComparator',136);sg(135,1,Ku,un);_.O=function vn(a,b){return tn(this,Tc(a,16),Tc(b,16))};_.a=0;var Le=co(Vu,'FinderPatternFinder/FurthestFromAverageComparator',135);sg(137,1,{},wn);var Ne=co(Vu,'FinderPatternInfo',137);sg(78,125,{},zn);_.c=0;_.d=0;var Pe=co(Xu,'CanvasLuminanceSource',78);sg(104,75,lu);_.w=function Mn(){Dn(this)};_.B=function Nn(){U(this);Kn(this)};_.P=function On(a){En(this,a)};_.Q=function Pn(){this.a&&this.q&&nh(this.i,this.f)};_.a=false;_.f=0;_.j=0;var Re=co(Xu,'ScannerWidget',104);sg(108,107,{},Qn);var Qe=co(Xu,'ScannerWidget/1',108);sg(153,10,pu);var Se=co('java.io','IOException',153);sg(51,153,{3:1,51:1,10:1,8:1},Rn);var Te=co('java.io','UnsupportedEncodingException',51);sg(60,1,{});_.tS=function Tn(){return this.a};var Ue=co(iu,'AbstractStringBuilder',60);sg(70,15,pu,Un);var Ve=co(iu,'ArithmeticException',70);sg(46,15,pu,Vn,Wn);var We=co(iu,'ArrayStoreException',46);sg(41,15,pu,so);var Ye=co(iu,'ClassCastException',41);sg(66,1,{3:1,66:1});var gf=co(iu,'Number',66);var to,uo;sg(12,15,{3:1,10:1,12:1,8:1},zo,Ao);var bf=co(iu,'IllegalArgumentException',12);sg(43,15,pu,Bo,Co);var cf=co(iu,'IllegalStateException',43);sg(38,15,pu,Do,Eo);var df=co(iu,'IndexOutOfBoundsException',38);sg(36,66,{3:1,19:1,36:1,66:1},Go);_.M=function Jo(a){return Fo(this,Tc(a,36))};_.eQ=function Ko(a){return Xc(a,36)&&Tc(a,36).a==this.a};_.hC=function Lo(){return this.a};_.tS=function Mo(){return ''+this.a};_.a=0;var ef=co(iu,'Integer',36);var Po;sg(71,15,pu,To,Uo);var ff=co(iu,'NullPointerException',71);var mf=co(iu,'String',2);var hp,ip=0,jp;sg(27,60,{179:1},sp,tp);var lf=co(iu,'StringBuilder',27);sg(72,15,pu,vp);var of=co(iu,'UnsupportedOperationException',72);sg(169,1,{});_.X=function zp(a){return wp(this,a)};_.tS=function Ap(){return yp(this)};var pf=co(Zu,'AbstractCollection',169);sg(168,1,{58:1});_.Z=function Ep(a){return !!Cp(this,a)};_.eQ=function Fp(a){var b,c,d;if(a===this){return true}if(!Xc(a,58)){return false}d=Tc(a,58);if(this.Y()!=d.Y()){return false}for(c=d.$().I();c.K();){b=Tc(c.L(),17);if(!Bp(this,b)){return false}}return true};_._=function Gp(a){return Hp(Cp(this,a))};_.hC=function Ip(){return fr(this.$())};_.Y=function Jp(){return this.$().Y()};_.tS=function Kp(){var a,b,c,d;d=new tp('{');a=false;for(c=this.$().I();c.K();){b=Tc(c.L(),17);a?(d.a+=', ',d):(a=true);rp(d,Dp(this,b.cb()));d.a+='=';rp(d,Dp(this,b.db()))}d.a+='}';return d.a};var Cf=co(Zu,'AbstractMap',168);sg(84,168,{58:1});_.Z=function Sp(a){return Lp(this,a)};_.$=function Tp(){return new Zp(this)};_._=function Up(a){return Op(this,a)};_.Y=function Vp(){return this.b};_.b=0;var sf=co(Zu,'AbstractHashMap',84);sg(170,169,$u);_.eQ=function Wp(a){var b;if(a===this){return true}if(!Xc(a,40)){return false}b=Tc(a,40);if(b.Y()!=this.Y()){return false}return xp(this,b)};_.hC=function Xp(){return fr(this)};var Df=co(Zu,'AbstractSet',170);sg(68,170,$u,Zp);_.X=function $p(a){return Yp(this,a)};_.I=function _p(){return new dq(this.a)};_.Y=function aq(){return this.a.b};var rf=co(Zu,'AbstractHashMap/EntrySet',68);sg(69,1,{},dq);_.K=function eq(){return bq(this)};_.L=function fq(){return cq(this)};var qf=co(Zu,'AbstractHashMap/EntrySetIterator',69);sg(171,169,{52:1});_.eQ=function iq(a){var b,c,d,e,f;if(a===this){return true}if(!Xc(a,52)){return false}f=Tc(a,52);if(this.Y()!=f.Y()){return false}e=f.I();for(c=new mq(this);c.a>24}\nfunction Xg(a){return a.tM===xg}\nfunction Xt(a){return new Ht(a)}\nfunction ib(a){P(this,(ih(),a))}\nfunction dh(a){P(this,(ih(),a))}\nfunction Hh(a){Dh();ih();return}\nfunction _g(a){(ih(),a.t).src=''}\nfunction rb(a){this.e=a;this.C()}\nfunction wb(a){this.e=a;this.C()}\nfunction sj(a){tj.call(this,a,a)}\nfunction zi(){yi();vb.call(this)}\nfunction dc(a,b){cc();bc.G(a,b)}\nfunction au(a,b,c){Sp(a.a,b,c)}\nfunction br(a,b,c){a.splice(b,c)}\nfunction xh(a,b){a.__listener=b}\nfunction sp(a,b){a.a+=b;return a}\nfunction tp(a,b){a.a+=b;return a}\nfunction up(a,b){a.a+=b;return a}\nfunction gu(a){fu();return bu(a)}\nfunction Up(a,b){return ps(a.a,b)}\nfunction cs(a,b){return Op(a.a,b)}\nfunction Mg(a){return a.l|a.m<<22}\nfunction Uo(a){return a<=0?0-a:a}\nfunction $c(a){return Zc(a)&&Xg(a)}\nfunction Yr(a){this.c=a;Vr(this)}\nfunction Qi(a,b){this.c=a;this.d=b}\nfunction yt(a){ut(this);this.a=a}\nfunction hj(a,b){this.c=a;this.d=b}\nfunction kk(a,b){this.a=a;this.b=b}\nfunction il(a,b){this.b=a;this.a=b}\nfunction ul(a,b){Qi.call(this,a,b)}\nfunction fj(a,b){Qi.call(this,a,b)}\nfunction em(a,b){Qi.call(this,a,b)}\nfunction Om(a,b){this.a=a;this.b=b}\nfunction Pm(a,b){this.b=a;this.a=b}\nfunction Mq(a,b){this.a=a;this.b=b}\nfunction gb(a,b){yc((ih(),a.t),b)}\nfunction hb(a,b){zc((ih(),a.t),b)}\nfunction Ft(a,b){a.appendChild(b)}\nfunction Gt(a,b){a.removeChild(b)}\nfunction rr(a,b){a._gwt_modCount=b}\nfunction Kr(a,b){this.b=a;this.a=b}\nfunction $s(a,b){this.b=a;this.c=b}\nfunction bt(a,b){this.a=a;this.b=b}\nfunction Hn(a,b){$t(a.b,new Mi(b))}\nfunction wt(a,b){a.apply(null,[b])}\nfunction Tg(){Rg==null&&(Rg=[])}\nfunction np(){np=tg;kp={};mp={}}\nfunction Vb(){Jb!=0&&(Jb=0);Mb=-1}\nfunction Mh(){Mh=tg;Dh();Ah[Eu]=Hh}\nfunction ph(a){$wnd.clearTimeout(a)}\nfunction Ub(a){$wnd.clearTimeout(a)}\nfunction Ao(a){yo();return isNaN(a)}\nfunction Io(a,b){return Lo(a.a,b.a)}\nfunction Yt(a,b){return new It(a,b)}\nfunction It(a,b){this.a=new Et(a,b)}\nfunction Ni(a){this.b=a;this.a=null}\nfunction Ht(a){It.call(this,a,null)}\nfunction ci(a,b){Sh(a,b,(ih(),a.t))}\nfunction rp(a,b){a.a+=Sc(b);return a}\nfunction Qq(a){a.b=Jc(hf,qu,1,0,3,1)}\nfunction oh(a){$wnd.clearInterval(a)}\nfunction Wc(a){return !Zc(a)&&Xg(a)}\nfunction Kp(a){return !a?null:a.db()}\nfunction ad(a){return a==null?null:a}\nfunction rt(a){return a!=null?N(a):0}\nfunction Zc(a){return Array.isArray(a)}\nfunction ls(b,a){return b.a[a]||[]}\nfunction en(a,b,c){return jk(a,c,c,b)}\nfunction Lo(a,b){return ab?1:0}\nfunction Wr(a){return a.a>>0).toString(b)}\nfunction ij(a,b){return Bk(a.c,a.d,b.c,b.d)}\nfunction Pk(a,b){return a.a[a.a.length-1-b]}\nfunction Rr(a,b){this.a=a;this.b=b;this.c=0}\nfunction cu(){this.a=new bs;new bs;new bs}\nfunction Ci(){Ci=tg;yi();Bi=new Di;qb(xi)}\nfunction Fi(){Fi=tg;yi();Ei=new Gi;qb(xi)}\nfunction Ji(){Ji=tg;yi();Ii=new Ki;qb(xi)}\nfunction yi(){yi=tg;xi=Jc(kf,qu,182,0,0,1)}\nfunction To(){To=tg;So=Jc(ef,qu,36,256,0,1)}\nfunction hc(){hc=tg;Error.stackTraceLimit=64}\nfunction hu(a,b){fu();a['__gwtex_wrap']=b}\nfunction sh(a,b){return $wnd.setTimeout(a,b)}\nfunction Sc(a){return String.fromCharCode(a)}\nfunction Yc(a){return a!=null&&!_c(a)&&!Xg(a)}\nfunction Eb(a){return a==null?null:a.message}\nfunction Nb(a,b,c){return a.apply(b,c);var d}\nfunction Dt(a,b){Gt(b,(ih(),a.t));U(a);Nn(a)}\nfunction vh(){if(!th){Eh();Nh();th=true}}\nfunction Am(a,b,c){Qi.call(this,a,b);this.a=c}\nfunction Rm(a,b,c){hj.call(this,a,b);this.a=c}\nfunction wl(){ul.call(this,'DATA_MASK_000',0)}\nfunction yl(){ul.call(this,'DATA_MASK_001',1)}\nfunction Cl(){ul.call(this,'DATA_MASK_011',3)}\nfunction Al(){ul.call(this,'DATA_MASK_010',2)}\nfunction Il(){ul.call(this,'DATA_MASK_110',6)}\nfunction El(){ul.call(this,'DATA_MASK_100',4)}\nfunction Gl(){ul.call(this,'DATA_MASK_101',5)}\nfunction Kl(){ul.call(this,'DATA_MASK_111',7)}\nfunction sq(a){pq.call(this,a);tc(a.b);this.a=0}\nfunction In(a){a.a=true;a.a&&a.q&&nh(a.i,a.f)}\nfunction Cq(a){var b;b=fq(a.a);return b.cb()}\nfunction io(a,b){var c;c=fo(a,b);c.f=2;return c}\nfunction Sq(a,b){qc(b,a.b.length);return a.b[b]}\nfunction ur(a,b,c){Or(a.a,b);return wr(a,b.d,c)}\nfunction mb(f,a,b,c,d,e){f.drawImage(a,b,c,d,e)}\nfunction hp(a,b){return _c(a)?gp(a,Vc(b)):a.M(b)}\nfunction qh(a,b){return iu(function(){a.H(b)})}\nfunction Pr(a,b){return Xc(b,13)&&Qr(a,Tc(b,13))}\nfunction Gp(a,b){return b===a?'(this Map)':''+b}\nfunction sc(a,b){if(a==null){throw new Xo(''+b)}}\nfunction rc(a){if(a==null){throw new Wo}return a}\nfunction qp(){if(lp==256){kp=mp;mp={};lp=0}++lp}\nfunction fi(a){ei();try{U(a)}finally{ds(di,a)}}\nfunction Hr(a){this.c=a;this.a=new Yr(this.c.a)}\nfunction zn(a){this.a=a[0];this.b=a[1];this.c=a[2]}\nfunction jm(a){this.b=fm(a>>3&3);this.a=bd(a&7)}\nfunction js(c,a){var b=c.a;return b[a]||(b[a]=[])}\nfunction gp(a,b){if(a==b){return 0}return a %s',b))}}\nfunction Dg(a,b){return a.l==b.l&&a.m==b.m&&a.h==b.h}\nfunction _r(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction qt(a,b){return ad(a)===ad(b)||a!=null&&J(a,b)}\nfunction Rc(a,b){return _c(a)&&!!Qc[b]||a.cM&&!!a.cM[b]}\nfunction L(a){return _c(a)?mf:Wc(a)?a.cZ:$c(a)?a.cZ:od}\nfunction ug(a){return a instanceof Array?a[0]:null}\nfunction ns(a){return Object.getOwnPropertyNames(a.a)}\nfunction Ps(a){return Object.getOwnPropertyNames(a.a)}\nfunction Cg(a,b){return {l:a.l&b.l,m:a.m&b.m,h:a.h&b.h}}\nfunction Hg(a,b){return {l:a.l|b.l,m:a.m|b.m,h:a.h|b.h}}\nfunction fq(a){return qr(a.c,a),oc(eq(a)),Tc(a.a.L(),17)}\nfunction pb(d,a,b,c){return d.data[4*(a+b*d.width)+c]||0}\nfunction wr(a,b,c){var d;d=a.b[b];Pc(a.b,b,c);return d}\nfunction jo(a,b){var c;c=fo('',a);c.k=b;c.f=1;return c}\nfunction Vc(a){if(a!=null&&!_c(a)){throw new vo}return a}\nfunction ri(){var a;a=ui();if(!Zo(Lu,a)){throw new ti(a)}}\nfunction Tb(a){$wnd.setTimeout(function(){throw a},0)}\nfunction Ut(a){if(!Tt){Tt=true;fu();au(eu,ig,a);Vt(a)}}\nfunction ut(a){if(!st){st=true;fu();au(eu,fg,a);vt(a)}}\nfunction tc(a){if(0>a){throw new Ho('Index: 0, Size: '+a)}}\nfunction Tc(a,b){if(a!=null&&!Rc(a,b)){throw new vo}return a}\nfunction dk(a,b,c,d){Qi.call(this,a,b);this.b=c;this.a=d}\nfunction hn(a,b,c,d){hj.call(this,a,b);this.b=c;this.a=d}\nfunction Db(a){Bb();this.e=null;this.a='';this.b=a;this.a=''}\nfunction Cn(a){Dn.call(this,a,(ih(),a.t).width,a.t.height)}\nfunction Sh(a,b,c){V(b);gi(a.p,b);ih();wc(c,kh(b.t));W(b,a)}\nfunction Tp(a,b,c){return b==null?os(a.a,null,c):a.c.pb(b,c)}\nfunction cd(a){return ~~Math.max(Math.min(a,ku),-2147483648)}\nfunction gm(){dm();return Mc(Ic(Ae,1),Qu,39,0,[am,bm,cm,_l])}\nfunction Nl(){var a;Nl=tg;Ml=(a=Jc(fd,Pu,0,45,7,1),_o(a,0),a)}\nfunction Ym(a){var b,c;b=new rn(a.a);c=mn(b);return $m(a,c)}\nfunction ki(a,b){var c;c=hi(a,b);if(c==-1){throw new pt}ji(a,c)}\nfunction nj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]^=1<<(b&31)}\nfunction pj(a,b,c){var d;d=c*a.c+~~(b/32);a.a[d]|=1<<(b&31)}\nfunction lo(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.R(b))}\nfunction wh(a){var b=a.__listener;return !Yc(b)&&Xc(b,31)?b:null}\nfunction Ik(a,b){if(b==0){throw new Xn}return a.a[a.f-a.c[b]-1]}\nfunction Mm(a){Hm();if(a<1||a>40){throw new Co}return Fm[a-1]}\nfunction Vl(a){if(a>=Ml.length){throw Fi(),Fi(),Ei}return Ml[a]}\nfunction tq(a,b){pc(b,a.b.length);this.c=a;this.a=3;this.b=b-3}\nfunction rk(a){mk();this.d=a;this.c=lk;this.b=Jc(jd,Ru,0,32,7,1)}\nfunction rn(a){this.c=a;this.d=new Wq;this.a=Jc(jd,Ru,0,5,7,1)}\nfunction xq(a){var b;b=new gq((new aq(a.a)).a);return new Dq(b)}\nfunction wg(a){function b(){}\n;b.prototype=a||{};return new b}\nfunction _p(a,b){if(Xc(b,17)){return Ep(a.a,Tc(b,17))}return false}\nfunction Cr(a,b){if(Xc(b,17)){return Ep(a.a,Tc(b,17))}return false}\nfunction no(a){if(a.W()){return null}var b=a.k;var c=qg[b];return c}\nfunction kh(a){ih();return a.__gwt_resolve?a.__gwt_resolve():a}\nfunction N(a){return _c(a)?pp(a):Wc(a)?a.hC():$c(a)?Sb(a):Sb(a)}\nfunction Bc(a,b){return a===b||!!(a.compareDocumentPosition(b)&16)}\nfunction Ph(a,b){for(var c in a){a.hasOwnProperty(c)&&b(c,a[c])}}\nfunction Bk(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction Ck(a,b,c,d){var e,f;e=a-c;f=b-d;return Math.sqrt(e*e+f*f)}\nfunction Qb(a,b,c){var d;d=Ob();try{return Nb(a,b,c)}finally{Rb(d)}}\nfunction kr(a,b){var c,d;d=a.b.length;for(c=0;c=$l.length){throw new Co}return $l[a]}\nfunction Uc(a){if(a!=null&&!(!_c(a)&&!Xg(a))){throw new vo}return a}\nfunction qr(a,b){if(b._gwt_modCount!=a._gwt_modCount){throw new tr}}\nfunction qc(a,b){if(a<0||a>=b){throw new Ho('Index: '+a+', Size: '+b)}}\nfunction mh(a){if(!a.d){return}++a.b;a.c?oh(a.d.a):ph(a.d.a);a.d=null}\nfunction Ib(){if(Date.now){return Date.now()}return (new Date).getTime()}\nfunction Xq(a){Qq(this);mc(a>=0,'Initial capacity must not be negative')}\nfunction yg(a){var b,c,d;b=a&vu;c=a>>22&vu;d=a<0?wu:0;return zg(b,c,d)}\nfunction zm(a,b){var c,d;c=b.d;c<=9?(d=0):c<=26?(d=1):(d=2);return a.a[d]}\nfunction Vq(a,b,c){var d;d=(qc(b,a.b.length),a.b[b]);Pc(a.b,b,c);return d}\nfunction hi(a,b){var c;for(c=0;c>>(b&31)&1)!=0}\nfunction Kk(a,b,c){if(b==0||c==0){return 0}return a.a[(a.c[b]+a.c[c])%(a.f-1)]}\nfunction ni(a){if(a.b>=a.c.b){throw new pt}a.a=a.c.a[a.b];++a.b;return a.a}\nfunction hl(a){var b;b=a.b;if(b<21||(b&3)!=1){throw Fi(),Fi(),Ei}this.a=a}\nfunction Jh(a){var b;b=Lh(a);if(!b){return}jh(a,b.nodeType!=1?null:b,wh(b))}\nfunction km(a,b){im();var c;c=lm(a,b);if(c){return c}return lm(a^21522,b^21522)}\nfunction Oh(a,b){vh();Fh(a,b);b&Fu&&a.addEventListener(Eu,(Dh(),Bh),false)}\nfunction ng(b,c){if(b&&typeof b==ju){try{b.__gwt$exception=c}catch(a){}}}\nfunction Tq(a,b,c){for(;c=900){throw Fi(),Fi(),Ei}return Tc(Rp(_j,Ro(a)),11)}\nfunction Dm(a,b){var c;if(!a.a||b==null||b.length<3){return}c=b[0];Pc(b,0,b[2]);Pc(b,2,c)}\nfunction Op(a,b){return _c(b)?b==null?!!ms(a.a,null):!(a.c.mb(b)===undefined):!!ms(a.a,b)}\nfunction Wg(a,b){typeof window===ju&&typeof window['$gwt']===ju&&(window['$gwt'][a]=b)}\nfunction jh(a,b,c){ih();var d;d=gh;gh=a;b==hh&&uh(a.type)==8192&&(hh=null);c.A(a);gh=d}\nfunction ck(a,b,c,d){Qi.call(this,a,b);this.b=Mc(Ic(jd,1),Ru,0,7,[c]);this.a=d}\nfunction bk(){dk.call(this,'Big5',24,Mc(Ic(jd,1),Ru,0,7,[28]),Mc(Ic(mf,1),qu,2,4,[]))}\nfunction ok(a,b){var c;a.c.length=d){return false}}return true}\nfunction ir(a){var b,c,d;d=0;for(c=a.I();c.K();){b=c.L();d=d+(b!=null?N(b):0);d=~~d}return d}\nfunction Qs(a,b,c){var d;d=a.a[b];d===undefined&&Pp(a.b);Ss(a,b,c===undefined?null:c);return d}\nfunction Hc(a,b){var c;c=Nc(0,b);Mc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction Mc(a,b,c,d,e){e.cZ=a;e.cM=b;e.tM=xg;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}\nfunction Qm(a,b,c,d){var e;if(Uo(c-a.d)<=b&&Uo(d-a.c)<=b){e=Uo(b-a.a);return e<=1||e<=a.a}return false}\nfunction fn(a,b,c,d){var e;if(Uo(c-a.d)<=b&&Uo(d-a.c)<=b){e=Uo(b-a.b);return e<=1||e<=a.b}return false}\nfunction eq(a){if(a.a.K()){return true}if(a.a!=a.b){return false}a.a=a.c.a.hb();return a.a.K()}\nfunction pg(a){var b;if(Xc(a,8)){return a}b=a&&a.__gwt$exception;if(!b){b=new Db(a);dc(b,a);ng(a,b)}return b}\nfunction Gc(a,b){var c;c=a.slice(0,b);Mc(L(a),a.cM,a.__elementTypeId$,a.__elementTypeCategory$,c);return c}\nfunction Ac(b){var c=b.relatedTarget;if(!c){return null}try{var d=c.nodeName;return c}catch(a){return null}}\nfunction ec(a){var b=/function(?:\\s+([\\w$]+))?\\s*\\(/;var c=b.exec(a);return c&&c[1]||'anonymous'}\nfunction Kg(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return {l:c&vu,m:d&vu,h:e&wu}}\nfunction ip(a,b){var c,d;c=Jc(fd,Pu,0,b,7,1);for(d=0;d=a.b){throw new Go}--a.b;for(c=b;c=d||b-129&&a<128){b=a+128;c=(To(),So)[b];!c&&(c=So[b]=new Jo(a));return c}return new Jo(a)}\nfunction eh(){var a;!ah&&(ah=new fh);a=$doc.createElement('video');if(!a.canPlayType){return null}return new dh(a)}\nfunction jb(){var a;!db&&(db=new kb);a=$doc.createElement('canvas');if(!a.getContext){return null}return new ib(a)}\nfunction cc(){cc=tg;var a,b;b=!(!!Error.stackTraceLimit||'stack' in new Error);a=new jc;bc=b?new fc:a}\nfunction sl(){sl=tg;kl=new wl;ll=new yl;ml=new Al;nl=new Cl;ol=new El;pl=new Gl;ql=new Il;rl=new Kl}\nfunction Yg(){$wnd.setTimeout(iu(ri));lh();fu();new xt;new Wt;$wnd.JsQRScannerReady&&$wnd.JsQRScannerReady()}\nfunction vg(){!Array.isArray&&(Array.isArray=function(a){return Object.prototype.toString.call(a)==='[object Array]'})}\nfunction Nn(b){if(b.n){var c=b.n;c.stop?c.stop():c.getTracks&&c.getTracks().forEach(function(a){a.stop()});b.n=null}}\nfunction ts(a){if(a.cb&&d.O(a[f-1],a[f])>0;--f){g=a[f];Pc(a,f,a[f-1]);Pc(a,f-1,g)}}}\nfunction kq(a,b){var c,d;d=new sq(a);for(c=0;c=0&&((ih(),a.t).style['width']=b+'px',undefined);c>=0&&((ih(),a.t).style['height']=c+'px',undefined)}\nfunction pc(a,b){if(a>b){throw new Ho('toIndex: '+a+' > size '+b)}if(3>a){throw new Do('fromIndex: 3 > toIndex: '+a)}}\nfunction $o(b,a){if(a==null){return false}if(b==a){return true}return b.length==a.length&&b.toLowerCase()==a.toLowerCase()}\nfunction gl(a){var b,c;if(!a.c){return}b=(sl(),Mc(Ic(ye,1),Qu,14,0,[kl,ll,ml,nl,ol,pl,ql,rl]))[a.c.a];c=a.a.b;tl(b,a.a,c)}\nfunction Fg(a){var b,c;if(a>-129&&a<128){b=a+128;Bg==null&&(Bg=Jc(zd,qu,184,256,0,1));c=Bg[b];!c&&(c=Bg[b]=yg(a));return c}return yg(a)}\nfunction ms(a,b){var c,d,e,f;for(d=ls(a,b==null?'0':''+as(b)),e=0,f=d.length;e>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;a+=a>>16;return a&63}\nfunction dm(){dm=tg;am=new em('L',0);bm=new em('M',1);cm=new em('Q',2);_l=new em('H',3);$l=Mc(Ic(Ae,1),Qu,39,0,[bm,am,_l,cm])}\nfunction Fk(){Fk=tg;new Lk(4201,4096,1);new Lk(1033,1024,1);new Lk(67,64,1);new Lk(19,16,1);Ek=new Lk(285,256,0);new Lk(301,256,1)}\nfunction fk(){ak();return Mc(Ic(de,1),Qu,11,0,[Fj,Ij,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Jj,Kj,Lj,Mj,Nj,Oj,Yj,Bj,Cj,Dj,Ej,$j,Zj,zj,Aj,Hj,Gj])}\nfunction Ob(){var a;if(Jb!=0){a=Ib();if(a-Lb>2000){Lb=a;Mb=$wnd.setTimeout(Vb,10)}}if(Jb++==0){Yb((Xb(),Wb));return true}return false}\nfunction Jm(a,b,c){var d,e,f,g,h,i;this.d=a;this.a=b;this.b=c;i=0;g=c[0].b;h=c[0].a;for(e=0,f=h.length;e=0&&a<=1114111);if(a>=Du){b[c++]=55296+(a-Du>>10&1023)&65535;b[c]=56320+(a-Du&1023)&65535;return 2}else{b[c]=a&65535;return 1}}\nfunction cp(a,b,c){if($o(Vu,c)){return jp(a,b)}else if($o(Tu,c)||$o('ISO-LATIN-1',c)){return ip(a,b)}else{throw new Un('Charset '+c+' not supported')}}\nfunction Ep(a,b){var c,d,e;c=b.cb();e=b.db();d=a._(c);if(!(ad(e)===ad(d)||e!=null&&J(e,d))){return false}if(d==null&&!a.Z(c)){return false}return true}\nfunction Cc(a){var b=a.ownerDocument;var c=a.cloneNode(true);var d=b.createElement('DIV');d.appendChild(c);outer=d.innerHTML;c.innerHTML='';return outer}\nfunction tj(a,b){if(a<1||b<1){throw new Do('Both dimensions must be greater than 0')}this.d=a;this.b=b;this.c=~~((a+31)/32);this.a=Jc(jd,Ru,0,this.c*b,7,1)}\nfunction An(a){var b,c,d,e,f,g,h,i;i=a.f;c=a.e;b=i*c;f=Jc(ed,Pu,0,b,7,1);for(d=0;d=0,Mc(Ic(hf,1),qu,1,3,[Ro(b),Ro(c)])),g),h=Hc(a,f),xp(a,b,h,0,Vo(a.length-b,f)),h);hr(e,a,b,c,-b,d)}\nfunction Nc(a,b){var c=new Array(b);var d;switch(a){case 6:d={l:0,m:0,h:0};break;case 7:d=0;break;case 8:d=false;break;default:return c;}for(var e=0;e>19;d=b.h>>19;return c==0?d!=0||a.h>b.h||a.h==b.h&&a.m>b.m||a.h==b.h&&a.m==b.m&&a.l>=b.l:!(d==0||a.h>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<>1);hr(b,a,i,j,-e,f);hr(b,a,j,h,-e,f);if(f.O(a[j-1],a[j])<=0){while(ca.b){throw new Go}if(a.b==a.a.length){f=Jc(Qd,qu,20,a.a.length*2,0,1);for(e=0;ec;--d){Pc(a.a,d,a.a[d-1])}Pc(a.a,c,b)}\nfunction sg(a,b,c){var d=qg;var e=rg;var f=ug;var g=d[a];var h=f(g);if(g&&!h){_=g}else{_=d[a]=!b?{}:e(b);_.cM=c;_.constructor=_;!b&&(_.tM=xg)}for(var i=3;ic-k?0:c-k;h=Vo(a.a.d-1,c+k);if(h-gd-k?0:d-k;f=Vo(a.a.b-1,d+k);if(f-i=a.e){throw new Do('Requested row is outside the image: '+b)}e=a.f;(c==null||c.length>24}return c}\nfunction qk(a){var b,c,d,e,f,g,h,i;if(a.a){return a.a}f=a.d;i=f.f;c=f.e;if(i>=40&&c>=40){d=An(f);h=i>>3;(i&7)!=0&&++h;g=c>>3;(c&7)!=0&&++g;b=sk(d,h,g,i,c);e=new tj(i,c);tk(d,h,g,i,c,b,e);a.a=e}else{a.a=nk(a)}return a.a}\nfunction Fc(a){var b,c,d,e,f;c=a.a.b;if(c==0){return null}b=new wp(c==1?'Exception caught: ':c+' exceptions caught: ');d=true;for(f=xq(new yq(a.a));eq(f.a);){e=Tc(Cq(f),8);d?(d=false):(b.a+='; ',b);up(b,e.D())}return b.a}\nfunction Wl(b,c,d){var e,f,g,h,i;h=c.length;e=Jc(jd,Ru,0,h,7,1);for(g=0;g0&&(a.r==-1?Oh(a.t,b|(a.t.__eventBits||0)):(a.r|=b));a.u()}\nfunction Bm(a){ym();switch(a){case 0:return xm;case 1:return vm;case 2:return om;case 3:return wm;case 4:return pm;case 5:return rm;case 7:return qm;case 8:return um;case 9:return sm;case 13:return tm;default:throw new Co;}}\nfunction nn(a){var b,c,d,e;e=a.d.b.length;if(e<=1){return 0}d=null;for(c=new pq(a.d);c.a=2){if(!d){d=b}else{a.b=true;return ~~(cd(Uo(d.c-b.c)-Uo(d.d-b.d))/2)}}}return 0}\nfunction lm(a,b){var c,d,e,f,g,h,i,j;c=ku;d=0;for(g=hm,h=0,i=g.length;h1&&b[0]==0){d=1;while(d>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?wu:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?wu:0;f=d?vu:0;e=c>>b-44}return {l:e&vu,m:f&vu,h:g&wu}}\nfunction po(a){if(a.V()){var b=a.c;b.W()?(a.n='['+b.k):!b.V()?(a.n='[L'+b.T()+';'):(a.n='['+b.T());a.b=b.S()+'[]';a.j=b.U()+'[]';return}var c=a.i;var d=a.d;d=d.split('/');a.n=so('.',[c,so('$',d)]);a.b=so('.',[c,so('.',d)]);a.j=d[d.length-1]}\nfunction On(a,b){this.p=new li;P(this,(ih(),$doc.createElement('div')));this.k=eh();this.c=jb();this.d=new al;this.e=new Wq;this.f=300;this.j=-1;this.a=true;this.b=a;this.o=b;Rq(this.e,this.d);this.i=new Tn(this);ci(this,this.k);R(this.k);$g(this.k)}\nfunction zk(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,q,r;n=a-c+e-g;r=b-d+f-h;if(n==0&&r==0){return new xk(c-a,e-c,a,d-b,f-d,b,0,0,1)}else{l=c-e;m=g-e;o=d-f;q=h-f;k=l*q-m*o;i=(n*q-m*r)/k;j=(l*r-n*o)/k;return new xk(c-a+i*c,g-a+j*g,a,d-b+i*d,h-b+j*h,b,i,j,1)}}\nfunction Jn(b){var c,d,e,f;if(!(b.a&&b.q))return;try{c=En(b);if(c){for(e=new pq(b.e);e.a=0&&d.e>=0){Li(h,(ej(),bj),Ro(d.e));Li(h,aj,Ro(d.d))}return h}\nfunction Xk(a,b,c){var d,e,f,g,h,i,j,k;h=c.length;g=Jc(jd,Ru,0,h,7,1);for(e=0;e=a.a.d){i=(a.a.d-1-b)/(f-b);f=a.a.d-1}g=cd(c-(e-c)*i);i=1;if(g<0){i=c/(c-g);g=0}else if(g>=a.a.b){i=(a.a.b-1-c)/(g-c);g=a.a.b-1}f=cd(b+(f-b)*i);h+=_m(a,b,c,f,g);return h-1}\nfunction Wk(a,b){var c,d,e,f;e=b.a.length-1;if(e==1){return Mc(Ic(jd,1),Ru,0,7,[b.a[b.a.length-1-1]])}f=Jc(jd,Ru,0,e,7,1);c=0;for(d=1;dl&&(s=l);for(o=0;ok&&(q=k);j=o<2?2:o>b-3?b-3:o;n=r<2?2:r>c-3?c-3:r;m=0;for(t=-2;t<=2;t++){i=f[n+t];m+=i[j-2]+i[j-1]+i[j]+i[j+1]+i[j+2]}h=~~(m/25);uk(a,q,s,h,d,g)}}}\nfunction jk(a,b,c,d){var e,f,g,h,i,j,k;if(b<=0||c<=0){throw Ji(),Ji(),Ii}e=new tj(b,c);h=Jc(hd,Pu,0,2*b,7,1);for(k=0;k=g&&b>=h){d=a[0];c=a[1];e=a[2]}else if(h>=b&&h>=g){d=a[1];c=a[0];e=a[2]}else{d=a[2];c=a[0];e=a[1]}if((i=d.c,j=d.d,(e.c-i)*(c.d-j)-(e.d-j)*(c.c-i))<0){f=c;c=e;e=f}Pc(a,0,c);a[1]=d;Pc(a,2,e)}\nfunction Nk(a,b){var c,d,e,f,g,h;if(a.b!=b.b){throw new Do(Xu)}if(a.a[0]==0){return b}if(b.a[0]==0){return a}f=a.a;d=b.a;if(f.length>d.length){h=f;f=d;d=h}g=Jc(jd,Ru,0,d.length,7,1);e=d.length-f.length;xp(d,0,g,0,e);for(c=e;c>3]}}b=pk(d);e=An(l);for(o=0;o8*(b.c.length-b.b)-b.a){throw Fi(),Fi(),Ei}i=Jc(ed,Pu,0,d,7,1);for(h=0;h=b){f^=a;f&=b-1}}for(d=0;d0&&c>0){if(a.j>0){if(f>c){if(a.j=0;h--){c=bl(a,8,h,c)}b=a.a.b;d=0;i=b-7;for(g=b-1;g>=i;g--){d=bl(a,8,g,d)}for(e=b-8;e8*(b.c.length-b.b)-b.a){throw Fi(),Fi(),Ei}f=Jc(ed,Pu,0,2*d,7,1);g=0;while(d>0){h=xj(b,13);e=~~(h/192)<<8|h%192;e<7936?(e+=33088):(e+=49472);f[g]=bd(e>>8);f[g+1]=bd(e);g+=2;--d}try{up(c,cp(f,f.length,Uu))}catch(a){a=pg(a);if(Xc(a,51)){throw Fi(),Fi(),Ei}else throw og(a)}}\nfunction Rl(b,c,d){var e,f,g,h;if(d*13>8*(b.c.length-b.b)-b.a){throw Fi(),Fi(),Ei}f=Jc(ed,Pu,0,2*d,7,1);g=0;while(d>0){h=xj(b,13);e=~~(h/96)<<8|h%96;e<959?(e+=41377):(e+=42657);f[g]=bd(e>>8&255);f[g+1]=bd(e&255);g+=2;--d}try{up(c,cp(f,f.length,'GB2312'))}catch(a){a=pg(a);if(Xc(a,51)){throw Fi(),Fi(),Ei}else throw og(a)}}\nfunction pn(a){var b,c,d,e,f,g,h,i;c=0;i=0;d=a.d.b.length;for(g=new pq(a.d);g.a=2){++c;i+=e.b}}if(c<3){return false}b=i/d;h=0;for(f=new pq(a.d);f.a32||b>8*(a.c.length-a.b)-a.a){throw new Do(''+b)}f=0;if(a.a>0){c=8-a.a;g=b>8-g<>d;b-=g;a.a+=g;if(a.a==8){a.a=0;++a.b}}if(b>0){while(b>=8){f=f<<8|a.c[a.b]&255;++a.b;b-=8}if(b>0){d=8-b;e=255>>d<>d;a.a+=b}}return f}\nfunction Im(a){var b,c,d,e,f,g;c=17+4*a.d;b=new sj(c);qj(b,0,0,9,9);qj(b,c-8,0,8,9);qj(b,0,c-8,9,8);e=a.a.length;for(f=0;f6){qj(b,c-11,0,3,6);qj(b,0,c-11,6,3)}return b}\nfunction qj(a,b,c,d,e){var f,g,h,i,j;if(c<0||b<0){throw new Do('Left and top must be nonnegative')}if(e<1||d<1){throw new Do('Height and width must be at least 1')}h=b+d;f=c+e;if(f>a.b||h>a.d){throw new Do('The region must fit inside the matrix')}for(j=c;j=0;g--){for(d=b-9;d>=e;d--){j=bl(a,d,g,j)}}i=Km(j);if(!!i&&17+4*i.d==b){a.d=i;return i}j=0;for(c=5;c>=0;c--){for(f=b-9;f>=e;f--){j=bl(a,c,f,j)}}i=Km(j);if(!!i&&17+4*i.d==b){a.d=i;return i}throw Fi(),Fi(),Ei}\nfunction pk(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;i=a.length;h=0;e=0;f=0;for(o=0;of){e=o;f=a[o]}a[o]>h&&(h=a[o])}k=0;l=0;for(q=0;ql){k=q;l=j}}if(e>k){m=e;e=k;k=m}if(k-e<=~~(i/16)){throw Ji(),Ji(),Ii}b=k-1;c=-1;for(n=k-1;n>e;n--){g=n-e;j=g*g*(k-n)*(h-a[n]);if(j>c){b=n;c=j}}return b<<3}\nfunction yk(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;m=vk(zk(3.5,3.5,a,3.5,b,c,3.5,d));n=zk(e,f,g,h,i,j,k,l);return new xk(n.a*m.a+n.d*m.b+n.i*m.c,n.a*m.d+n.d*m.e+n.i*m.f,n.a*m.i+n.d*m.j+n.i*m.k,n.b*m.a+n.e*m.b+n.j*m.c,n.b*m.d+n.e*m.e+n.j*m.f,n.b*m.i+n.e*m.j+n.j*m.k,n.c*m.a+n.f*m.b+n.k*m.c,n.c*m.d+n.f*m.e+n.k*m.f,n.c*m.i+n.f*m.j+n.k*m.k)}\nfunction yo(){yo=tg;xo=Mc(Ic(gd,1),Pu,0,7,[1.3407807929942597E154,1.157920892373162E77,3.4028236692093846E38,1.8446744073709552E19,4294967296,Du,256,16,4,2]);wo=Mc(Ic(gd,1),Pu,0,7,[7.458340731200207E-155,8.636168555094445E-78,2.9387358770557188E-39,5.421010862427522E-20,2.3283064365386963E-10,1.52587890625E-5,0.00390625,0.0625,0.25,0.5])}\nfunction Eg(a){var b,c,d,e,f,g,h,i;if(Ao(a)){return Qg(),Pg}if(a=9223372036854775807){return Qg(),Ng}e=false;if(a<0){e=true;a=-a}d=0;if(a>=yu){d=cd(a/yu);a-=d*yu}c=0;if(a>=xu){c=cd(a/xu);a-=c*xu}b=cd(a);f=zg(b,c,d);e&&(g=~f.l+1&vu,h=~f.m+(g==0?1:0)&vu,i=~f.h+(g==0&&h==0?1:0)&wu,f.l=g,f.m=h,f.h=i,undefined);return f}\nfunction Xl(b,c){var d,e,f,g,h;g=new hl(c);f=null;d=null;try{return Yl(b,g)}catch(a){a=pg(a);if(Xc(a,56)){e=a;f=e}else if(Xc(a,55)){e=a;d=e}else throw og(a)}try{gl(g);g.d=null;g.c=null;g.b=true;fl(g);el(g);cl(g);h=Yl(b,g);gk(h,new Em);return h}catch(a){a=pg(a);if(Xc(a,56)||Xc(a,55)){e=a;if(f){throw f}if(d){throw d}throw e}else throw og(a)}}\nfunction Nh(){$wnd.addEventListener('mouseout',iu(function(a){var b=(Dh(),zh);if(b&&!a.relatedTarget){if('html'==a.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,a.screenX,a.screenY,a.clientX,a.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,a.button,null);b.dispatchEvent(c)}}}),true)}\nfunction Vk(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q;k=new Tk(a.a,b);q=Jc(jd,Ru,0,c,7,1);i=true;for(h=0;h(d-b<0?-(d-b):d-b);if(l){m=b;b=c;c=m;m=d;d=e;e=m}f=d-b<0?-(d-b):d-b;g=e-c<0?-(e-c):e-c;h=~~(-f/2);q=b0){if(r==e){break}r+=s;h-=f}}if(k==2){return Ck(d+q,e,b,c)}return NaN}\nfunction ej(){ej=tg;Zi=new fj('OTHER',0);Yi=new fj('ORIENTATION',1);Vi=new fj('BYTE_SEGMENTS',2);Wi=new fj('ERROR_CORRECTION_LEVEL',3);Xi=new fj('ISSUE_NUMBER',4);cj=new fj('SUGGESTED_PRICE',5);_i=new fj('POSSIBLE_COUNTRY',6);dj=new fj('UPC_EAN_EXTENSION',7);$i=new fj('PDF417_EXTRA_METADATA',8);bj=new fj('STRUCTURED_APPEND_SEQUENCE',9);aj=new fj('STRUCTURED_APPEND_PARITY',10)}\nfunction Pl(a,b,c,d){var e,f,g;g=b.a.length;while(c>1){if(8*(a.c.length-a.b)-a.a<11){throw Fi(),Fi(),Ei}f=xj(a,11);rp(b,Vl(~~(f/45)));rp(b,Vl(f%45));c-=2}if(c==1){if(8*(a.c.length-a.b)-a.a<6){throw Fi(),Fi(),Ei}rp(b,Vl(xj(a,6)))}if(d){for(e=g;e0;k-=2){k==6&&--k;for(d=0;d>-127-c+1;c=-127}b=f?{l:0,m:512,h:0}:{l:0,m:0,h:0};b=Hg(b,Fg(c+127<<23));b=Hg(b,Fg(e));return Mg(b)}\nfunction ui(){var a=navigator.userAgent.toLowerCase();var b=$doc.documentMode;if(function(){return a.indexOf('webkit')!=-1}())return 'safari';if(function(){return a.indexOf('msie')!=-1&&b>=10&&b<11}())return 'ie10';if(function(){return a.indexOf('msie')!=-1&&b>=9&&b<11}())return 'ie9';if(function(){return a.indexOf('msie')!=-1&&b>=8&&b<11}())return 'ie8';if(function(){return a.indexOf('gecko')!=-1||b>=11}())return Lu;return 'unknown'}\nfunction Tl(a,b,c){var d,e,f;while(c>=3){if(8*(a.c.length-a.b)-a.a<10){throw Fi(),Fi(),Ei}e=xj(a,10);if(e>=1000){throw Fi(),Fi(),Ei}rp(b,Vl(~~(e/100)));rp(b,Vl(~~(e/10)%10));rp(b,Vl(e%10));c-=3}if(c==2){if(8*(a.c.length-a.b)-a.a<7){throw Fi(),Fi(),Ei}f=xj(a,7);if(f>=100){throw Fi(),Fi(),Ei}rp(b,Vl(~~(f/10)));rp(b,Vl(f%10))}else if(c==1){if(8*(a.c.length-a.b)-a.a<4){throw Fi(),Fi(),Ei}d=xj(a,4);if(d>=10){throw Fi(),Fi(),Ei}rp(b,Vl(d))}}\nfunction on(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r;m=b[0]+b[1]+b[2]+b[3]+b[4];h=d-b[4]-b[3]-b[2]/2;g=ln(a,c,cd(h),b[2],m);if(!isNaN(g)){h=kn(a,cd(h),cd(g),b[2],m);if(!isNaN(h)&&(!e||jn(a,cd(g),cd(h),b[2],m))){i=m/7;j=false;for(k=0;k=0&&oj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&!oj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(fd){return NaN}while(fd){return NaN}j=i[0]+i[1]+i[2];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return Um(a,i)?f-i[2]-i[1]/2:NaN}\nfunction ap(l,a,b){var c=new RegExp(a,'g');var d=[];var e=0;var f=l;var g=null;while(true){var h=c.exec(f);if(h==null||f==''||e==b-1&&b>0){d[e]=f;break}else{d[e]=f.substring(0,h.index);f=f.substring(h.index+h[0].length,f.length);c.lastIndex=0;if(g==f){d[e]=f.substring(0,1);f=f.substring(1)}g=f;e++}}if(b==0&&l.length>0){var i=d.length;while(i>0&&d[i-1]==''){--i}ik&&(v=k);for(q=0;qj&&(r=j);o=0;l=255;i=0;for(w=0,m=v*d+r;w<8;++w,m+=d){for(t=0;t<8;t++){n=a[m+t]&255;o+=n;ni&&(i=n)}if(i-l>24){for(++w,m+=d;w<8;++w,m+=d){for(s=0;s<8;s++){o+=a[m+s]&255}}}}f=o>>6;if(i-l<=24){f=~~(l/2);if(u>0&&q>0){g=~~((h[u-1][q]+2*h[u][q-1]+h[u-1][q-1])/4);l0){g=t.c-s.c+f.c;h=t.d-s.d+f.d;i=1-3/o;k=cd(s.c+i*(g-s.c));l=cd(s.d+i*(h-s.d));for(m=4;m<=16;m<<=1){try{d=Zm(b,n,k,l,m);break}catch(a){a=pg(a);if(!Xc(a,54))throw og(a)}}}u=dn(s,t,f,d,j);e=en(b.a,u,j);!d?(q=Mc(Ic(_d,1),qu,29,0,[f,s,t])):(q=Mc(Ic(_d,1),qu,29,0,[f,s,t,d]));return new kk(e,q)}\nfunction Tm(a){var b,c,d,e,f,g,h,i,j,k;j=a.f;d=a.b;h=j+a.j;i=a.i+~~(d/2);k=Jc(jd,Ru,0,3,7,1);for(f=0;fn||d+e>j){throw new Go}if(((l.f&1)==0||(l.f&4)!=0)&&m!=i){k=Tc(a,5);f=Tc(c,5);if(ad(a)===ad(c)&&bd;){Pc(f,h,k[--b])}}else{for(h=d+e;d0&&Oc(a,b,c,d,e,true)}\nfunction Dn(a,b,c){var d,e,f,g,h;this.f=b;this.e=c;h=(ih(),a.t).width;g=a.t.height;if(b>h||c>g){throw new Do('Crop rectangle does not fit within image data.')}this.a=jb();Q(this.a,h,g);gb(this.a,g);hb(this.a,h);this.b=nb(a.t.getContext('2d'),0,0,b,c);e=this.b.data;for(f=0;fg||i<-1||i>c){throw Ji(),Ji(),Ii}d=false;if(h==-1){b[f]=0;d=true}else if(h==g){b[f]=g-1;d=true}if(i==-1){b[f+1]=0;d=true}else if(i==c){b[f+1]=c-1;d=true}}d=true;for(e=b.length-2;e>=0&&d;e-=2){h=cd(b[e]);i=cd(b[e+1]);if(h<-1||h>g||i<-1||i>c){throw Ji(),Ji(),Ii}d=false;if(h==-1){b[e]=0;d=true}else if(h==g){b[e]=g-1;d=true}if(i==-1){b[e+1]=0;d=true}else if(i==c){b[e+1]=c-1;d=true}}}\nfunction jl(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u,v,w,A,B,C,D,F,G;if(a.length!=b.c){throw new Co}j=b.b[c.d];G=0;i=j.a;for(f=0,h=i.length;f=0){v=C[s].a.length;if(v==F){break}--s}++s;D=F-j.b;B=0;for(m=0;m>=1){if(a=-1023){a*=xo[d];c-=b}}if(a<1&&c-1>=-1023){a*=2;--c}}else if(a>=2){b=512;for(d=0;d<10;++d,b>>=1){if(a>=xo[d]){a*=wo[d];c+=b}}}c>-1023?(a-=1):(a*=0.5);e=Eg(a*Gu);a-=Lg(e)*9.5367431640625E-7;f=Eg(a*4503599627370496);e=Hg(e,Fg(c+1023<<20));g&&(e=Hg(e,{l:0,m:512,h:0}));return Hg(Ig(e,32),f)}\nfunction kn(a,b,c,d,e){var f,g,h,i,j;f=a.c;h=f.d;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);g=b;while(g>=0&&oj(f,g,c)){++i[2];--g}if(g<0){return NaN}while(g>=0&&!oj(f,g,c)&&i[1]<=d){++i[1];--g}if(g<0||i[1]>d){return NaN}while(g>=0&&oj(f,g,c)&&i[0]<=d){++i[0];--g}if(i[0]>d){return NaN}g=b+1;while(g=d){return NaN}while(g=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=e){return NaN}return sn(i)?g-i[4]-i[3]-i[2]/2:NaN}\nfunction ln(a,b,c,d,e){var f,g,h,i,j;g=a.c;h=g.b;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=b;while(f>=0&&oj(g,c,f)){++i[2];--f}if(f<0){return NaN}while(f>=0&&!oj(g,c,f)&&i[1]<=d){++i[1];--f}if(f<0||i[1]>d){return NaN}while(f>=0&&oj(g,c,f)&&i[0]<=d){++i[0];--f}if(i[0]>d){return NaN}f=b+1;while(f=d){return NaN}while(f=d){return NaN}j=i[0]+i[1]+i[2]+i[3]+i[4];if(5*(j-e<0?-(j-e):j-e)>=2*e){return NaN}return sn(i)?f-i[4]-i[3]-i[2]/2:NaN}\nfunction qn(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;l=a.d.b.length;if(l<3){throw Ji(),Ji(),Ii}if(l>3){n=0;k=0;for(d=new pq(a.d);d.am?_u*b:m;for(e=0;e3;e++){g=Tc(Sq(a.d,e),16);if(Uo(g.b-b)>f){a.d.bb(e);--e}}}if(a.d.b.length>3){n=0;for(i=new pq(a.d);i.ab){throw new Ho(bv)}}f=Jc(fd,Pu,0,e,7,1);j=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128){throw new Do('Invalid UTF8 sequence at '+(h-1)+', byte='+Qo(c,16))}d=d<<6|c&63}j+=$n(d,f,j)}return fp(f,0,f.length)}\nfunction mn(a){var b,c,d,e,f,g,h,i,j,k,l;h=a.c.b;i=a.c.d;f=~~(3*h/228);f<3&&(f=3);d=false;l=Jc(jd,Ru,0,5,7,1);for(e=f-1;el[2]){e+=k-l[2]-2;g=i-1}}}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3;continue}c=0;l[0]=0;l[1]=0;l[2]=0;l[3]=0;l[4]=0}else{l[0]=l[2];l[1]=l[3];l[2]=l[4];l[3]=1;l[4]=0;c=3}}else{++l[++c]}}else{++l[c]}}}if(sn(l)){b=on(a,l,e,i,false);if(b){f=l[0];a.b&&(d=pn(a))}}}j=qn(a);lj(j);return new zn(j)}\nfunction Yk(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,q,r,s,t,u;if(b.a.length-1=~~(d/2)){m=l;t=s;l=k;s=r;if(k.a[0]==0){throw new $k('r_{i-1} was zero')}k=m;j=a.a.i;f=Pk(l,l.a.length-1);g=Ik(a.a,f);while(k.a.length-1>=l.a.length-1&&k.a[0]!=0){e=k.a.length-1-(l.a.length-1);n=Kk(a.a,Pk(k,k.a.length-1),g);j=Nk(j,Gk(a.a,e,n));k=Nk(k,Sk(l,e,n))}r=Nk(Rk(j,r),t);if(k.a.length-1>=l.a.length-1){throw new Fo('Division algorithm failed to reduce polynomial?')}}q=r.a[r.a.length-1];if(q==0){throw new $k('sigmaTilde(0) was zero')}h=Ik(a.a,q);o=Qk(r,h);i=Qk(k,h);return Mc(Ic(je,1),qu,26,0,[o,i])}\n", -"function Mn(e,f){function g(b){f.n=b;var c=e;function d(){c.removeAttribute('controls')}\ntry{c.srcObject=b;c.setAttribute('playsinline',true);c.setAttribute('controls',true);setTimeout(d)}catch(a){c.src=$wnd.URL.createObjectURL(b)}f.Q()}\nfunction h(a){var b=a.message;f.P(b)}\nvar i=f.o;if(i){i().then(g)['catch'](h);return}var j=$wnd.navigator;if(j.mediaDevices&&j.mediaDevices.getUserMedia){j.mediaDevices.getUserMedia({video:{facingMode:'environment'},audio:false}).then(g)['catch'](h)}else{var k={audio:false,video:true};j.getUserMedia?j.getUserMedia(k,g,h):j.webkitGetUserMedia?j.webkitGetUserMedia(k,g,h):j.mozGetUserMedia&&j.mozGetUserMedia(k,g,h)}}\nfunction jn(a,b,c,d,e){var f,g,h,i,j;i=(a.a[0]=0,a.a[1]=0,a.a[2]=0,a.a[3]=0,a.a[4]=0,a.a);f=0;while(b>=f&&c>=f&&oj(a.c,c-f,b-f)){++i[2];++f}if(b=f&&c>=f&&!oj(a.c,c-f,b-f)&&i[1]<=d){++i[1];++f}if(bd){return false}while(b>=f&&c>=f&&oj(a.c,c-f,b-f)&&i[0]<=d){++i[0];++f}if(i[0]>d){return false}g=a.c.b;h=a.c.d;f=1;while(b+f=g||c+f>=h){return false}while(b+f=g||c+f>=h||i[3]>=d){return false}while(b+f=d){return false}j=i[0]+i[1]+i[2]+i[3]+i[4];return (j-e<0?-(j-e):j-e)<2*e&&sn(i)}\nfunction Ol(b,c,d){Nl();var e,f,g,h,i,j,k,l,m,n,o,q;e=new yj(b);m=new vp;f=new Xq(1);o=-1;l=-1;try{i=null;j=false;do{8*(e.c.length-e.b)-e.a<4?(k=(ym(),xm)):(k=Bm(xj(e,4)));if(k!=(ym(),xm)){if(k==rm||k==sm){j=true}else if(k==wm){if(8*(e.c.length-e.b)-e.a<16){throw Fi(),Fi(),Ei}o=xj(e,8);l=xj(e,8)}else if(k==qm){q=Ul(e);i=ek(q);if(!i){throw Fi(),Fi(),Ei}}else{if(k==tm){n=xj(e,4);h=xj(e,zm(k,c));n==1&&Rl(e,m,h)}else{g=xj(e,zm(k,c));if(k==vm){Tl(e,m,g)}else if(k==om){Pl(e,m,g,j)}else if(k==pm){Ql(e,m,g,i,f)}else if(k==um){Sl(e,m,g)}else{throw Fi(),Fi(),Ei}}}}}while(k!=(ym(),xm))}catch(a){a=pg(a);if(Xc(a,12)){throw Fi(),Fi(),Ei}else throw og(a)}return new hk(m.a,f.b.length==0?null:f,!d?null:d.c!=null?d.c:''+d.d,o,l)}\nfunction uh(a){switch(a){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return Du;case Eu:case 'mousewheel':return Fu;case 'contextmenu':return 262144;case 'paste':return Au;case 'touchstart':return Gu;case 'touchmove':return 2097152;case 'touchend':return xu;case 'touchcancel':return Hu;case 'gesturestart':return Iu;case 'gesturechange':return Ju;case 'gestureend':return Ku;default:return -1;}}\nfunction Ak(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,q,r,s,t;g=a.length;b=true;c=true;d=true;r=0;n=0;o=0;q=0;h=0;k=0;j=0;i=0;m=0;l=0;f=0;s=a.length>3&&a[0]==-17&&a[1]==-69&&a[2]==-65;for(e=0;e0){(t&128)==0?(d=false):--r}else if((t&128)!=0){if((t&64)==0){d=false}else{++r;if((t&32)==0){++n}else{++r;if((t&16)==0){++o}else{++r;(t&8)==0?++q:(d=false)}}}}}b&&(t>127&&t<160?(b=false):t>159&&(t<192||t==215||t==247)&&++f);if(c){if(h>0){t<64||t==127||t>252?(c=false):--h}else if(t==128||t==160||t>239){c=false}else if(t>160&&t<224){++k;i=0;++j;j>m&&(m=j)}else if(t>127){++h;j=0;++i;i>l&&(l=i)}else{j=0;i=0}}}d&&r>0&&(d=false);c&&h>0&&(c=false);if(d&&(s||n+o+q>0)){return Vu}if(c&&(m>=3||l>=3)){return Uu}if(b&&c){return m==2&&k==2||f*10>=g?Uu:Tu}if(b){return Tu}if(c){return Uu}if(d){return Vu}return Vu}\nfunction Vt(g){var d=gu(jv);var e,f=g;$wnd.JsQRScanner=iu(function(){var a,b=this,c=arguments;c.length==1&&f.sb(c[0])?(a=c[0]):c.length==2?(a=Yt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new yt(c[0]),c[1])):c.length==1&&(a=Xt(c[0]==null?null:c[0].constructor==$wnd.AsyncQRCallback?c[0].g:new yt(c[0])));b.g=a;hu(a,b);return b});e=$wnd.JsQRScanner.prototype=new Object;e.appendTo=iu(function(a){this.g.tb(a)});e.getScanInterval=iu(function(){return this.g.ub()});e.getSnapImageMaxSize=iu(function(){return this.g.vb()});e.isActive=iu(function(){return this.g.wb()});e.isScanning=iu(function(){return this.g.xb()});e.removeFrom=iu(function(a){this.g.yb(a)});e.resumeScanning=iu(function(){this.g.zb()});e.setScanInterval=iu(function(a){this.g.Ab(a)});e.setSnapImageMaxSize=iu(function(a){this.g.Bb(a)});e.stopScanning=iu(function(){this.g.Cb()});if(d)for(p in d)$wnd.JsQRScanner[p]===undefined&&($wnd.JsQRScanner[p]=d[p])}\nfunction lh(){var a,b,c;b=$doc.compatMode;a=Mc(Ic(mf,1),qu,2,4,[Cu]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\\\"document.compatMode\\\" value=\\\"\"+b+'\"/>':\"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' \"+b+\"').
Modify your application's host HTML page doctype, or update your custom \"+\"'document.compatMode' configuration property settings.\"}\nfunction im(){im=tg;hm=Mc(Ic(jd,2),qu,7,0,[Mc(Ic(jd,1),Ru,0,7,[21522,0]),Mc(Ic(jd,1),Ru,0,7,[20773,1]),Mc(Ic(jd,1),Ru,0,7,[24188,2]),Mc(Ic(jd,1),Ru,0,7,[23371,3]),Mc(Ic(jd,1),Ru,0,7,[17913,4]),Mc(Ic(jd,1),Ru,0,7,[16590,5]),Mc(Ic(jd,1),Ru,0,7,[20375,6]),Mc(Ic(jd,1),Ru,0,7,[19104,7]),Mc(Ic(jd,1),Ru,0,7,[30660,8]),Mc(Ic(jd,1),Ru,0,7,[29427,9]),Mc(Ic(jd,1),Ru,0,7,[32170,10]),Mc(Ic(jd,1),Ru,0,7,[30877,11]),Mc(Ic(jd,1),Ru,0,7,[26159,12]),Mc(Ic(jd,1),Ru,0,7,[25368,13]),Mc(Ic(jd,1),Ru,0,7,[27713,14]),Mc(Ic(jd,1),Ru,0,7,[26998,15]),Mc(Ic(jd,1),Ru,0,7,[5769,16]),Mc(Ic(jd,1),Ru,0,7,[5054,17]),Mc(Ic(jd,1),Ru,0,7,[7399,18]),Mc(Ic(jd,1),Ru,0,7,[6608,19]),Mc(Ic(jd,1),Ru,0,7,[1890,20]),Mc(Ic(jd,1),Ru,0,7,[597,21]),Mc(Ic(jd,1),Ru,0,7,[3340,22]),Mc(Ic(jd,1),Ru,0,7,[2107,23]),Mc(Ic(jd,1),Ru,0,7,[13663,24]),Mc(Ic(jd,1),Ru,0,7,[12392,25]),Mc(Ic(jd,1),Ru,0,7,[16177,26]),Mc(Ic(jd,1),Ru,0,7,[14854,27]),Mc(Ic(jd,1),Ru,0,7,[9396,28]),Mc(Ic(jd,1),Ru,0,7,[8579,29]),Mc(Ic(jd,1),Ru,0,7,[11994,30]),Mc(Ic(jd,1),Ru,0,7,[11245,31])])}\nfunction Fh(a,b){var c=(a.__eventBits||0)^b;a.__eventBits=b;if(!c)return;c&1&&(a.onclick=b&1?Bh:null);c&2&&(a.ondblclick=b&2?Bh:null);c&4&&(a.onmousedown=b&4?Bh:null);c&8&&(a.onmouseup=b&8?Bh:null);c&16&&(a.onmouseover=b&16?Bh:null);c&32&&(a.onmouseout=b&32?Bh:null);c&64&&(a.onmousemove=b&64?Bh:null);c&128&&(a.onkeydown=b&128?Bh:null);c&256&&(a.onkeypress=b&256?Bh:null);c&512&&(a.onkeyup=b&512?Bh:null);c&1024&&(a.onchange=b&1024?Bh:null);c&2048&&(a.onfocus=b&2048?Bh:null);c&4096&&(a.onblur=b&4096?Bh:null);c&8192&&(a.onlosecapture=b&8192?Bh:null);c&16384&&(a.onscroll=b&16384?Bh:null);c&32768&&(a.onload=b&32768?Ch:null);c&Du&&(a.onerror=b&Du?Bh:null);c&Fu&&(a.onmousewheel=b&Fu?Bh:null);c&262144&&(a.oncontextmenu=b&262144?Bh:null);c&Au&&(a.onpaste=b&Au?Bh:null);c&Gu&&(a.ontouchstart=b&Gu?Bh:null);c&2097152&&(a.ontouchmove=b&2097152?Bh:null);c&xu&&(a.ontouchend=b&xu?Bh:null);c&Hu&&(a.ontouchcancel=b&Hu?Bh:null);c&Iu&&(a.ongesturestart=b&Iu?Bh:null);c&Ju&&(a.ongesturechange=b&Ju?Bh:null);c&Ku&&(a.ongestureend=b&Ku?Bh:null)}\nfunction ak(){ak=tg;var a,b,c,d,e,f,g,h,i,j,k,l;Fj=new dk('Cp437',0,Mc(Ic(jd,1),Ru,0,7,[0,2]),Mc(Ic(mf,1),qu,2,4,[]));Ij=new dk('ISO8859_1',1,Mc(Ic(jd,1),Ru,0,7,[1,3]),Mc(Ic(mf,1),qu,2,4,[Tu]));Pj=new ck('ISO8859_2',2,4,Mc(Ic(mf,1),qu,2,4,['ISO-8859-2']));Qj=new ck('ISO8859_3',3,5,Mc(Ic(mf,1),qu,2,4,['ISO-8859-3']));Rj=new ck('ISO8859_4',4,6,Mc(Ic(mf,1),qu,2,4,['ISO-8859-4']));Sj=new ck('ISO8859_5',5,7,Mc(Ic(mf,1),qu,2,4,['ISO-8859-5']));Tj=new ck('ISO8859_6',6,8,Mc(Ic(mf,1),qu,2,4,['ISO-8859-6']));Uj=new ck('ISO8859_7',7,9,Mc(Ic(mf,1),qu,2,4,['ISO-8859-7']));Vj=new ck('ISO8859_8',8,10,Mc(Ic(mf,1),qu,2,4,['ISO-8859-8']));Wj=new ck('ISO8859_9',9,11,Mc(Ic(mf,1),qu,2,4,['ISO-8859-9']));Jj=new ck('ISO8859_10',10,12,Mc(Ic(mf,1),qu,2,4,['ISO-8859-10']));Kj=new ck('ISO8859_11',11,13,Mc(Ic(mf,1),qu,2,4,['ISO-8859-11']));Lj=new ck('ISO8859_13',12,15,Mc(Ic(mf,1),qu,2,4,['ISO-8859-13']));Mj=new ck('ISO8859_14',13,16,Mc(Ic(mf,1),qu,2,4,['ISO-8859-14']));Nj=new ck('ISO8859_15',14,17,Mc(Ic(mf,1),qu,2,4,['ISO-8859-15']));Oj=new ck('ISO8859_16',15,18,Mc(Ic(mf,1),qu,2,4,['ISO-8859-16']));Yj=new ck('SJIS',16,20,Mc(Ic(mf,1),qu,2,4,[Uu]));Bj=new ck('Cp1250',17,21,Mc(Ic(mf,1),qu,2,4,['windows-1250']));Cj=new ck('Cp1251',18,22,Mc(Ic(mf,1),qu,2,4,['windows-1251']));Dj=new ck('Cp1252',19,23,Mc(Ic(mf,1),qu,2,4,['windows-1252']));Ej=new ck('Cp1256',20,24,Mc(Ic(mf,1),qu,2,4,['windows-1256']));$j=new ck('UnicodeBigUnmarked',21,25,Mc(Ic(mf,1),qu,2,4,['UTF-16BE','UnicodeBig']));Zj=new ck('UTF8',22,26,Mc(Ic(mf,1),qu,2,4,[Vu]));zj=new dk('ASCII',23,Mc(Ic(jd,1),Ru,0,7,[27,170]),Mc(Ic(mf,1),qu,2,4,['US-ASCII']));Aj=new bk;Hj=new ck('GB18030',25,29,Mc(Ic(mf,1),qu,2,4,['GB2312','EUC_CN','GBK']));Gj=new ck('EUC_KR',26,30,Mc(Ic(mf,1),qu,2,4,['EUC-KR']));_j=new bs;Xj=new bs;for(b=fk(),c=0,d=b.length;c1?(b.c=lo(this,a-1)):(b.c=this);return b};_.S=function ko(){ao(this);return this.b};_.T=function mo(){return bo(this)};_.U=function oo(){ao(this);return this.j};_.V=function qo(){return (this.f&4)!=0};_.W=function ro(){return (this.f&1)!=0};_.tS=function uo(){return ((this.f&2)!=0?'interface ':(this.f&1)!=0?'':'class ')+(ao(this),this.n)};_.f=0;var _n=1;var hf=go(lu,'Object',1),od=go(mu,'JavaScriptObject$',0),Ze=go(lu,'Class',67);sg(25,1,{30:1,25:1});_.tS=function S(){if(!this.t){return '(null handle)'}return Cc((ih(),this.t))};var Nd=go(nu,'UIObject',25);sg(20,25,ou);_.u=function X(){};_.v=function Y(){};_.w=function Z(){T(this)};_.A=function $(a){var b;switch(ih(),uh(a.type)){case 16:case 32:b=Ac(a);if(!!b&&Bc(this.t,b)){return}}Dc(ih())};_.B=function ab(){U(this)};_.q=false;_.r=0;var Qd=go(nu,'Widget',20);sg(175,20,ou);_.w=function cb(){bb(this)};var Ld=go(nu,'FocusWidget',175);sg(120,175,ou,ib);var db;var md=go(pu,'Canvas',120);sg(177,1,{});var ld=go(pu,'Canvas/CanvasElementSupportDetector',177);sg(121,177,{},kb);var kd=go(pu,'Canvas/CanvasElementSupportDetectedMaybe',121);sg(8,1,ru);_.C=function sb(){dc(this,this.e);return this};_.D=function tb(){return this.e};_.tS=function ub(){var a,b;a=bo(this.cZ);b=this.D();return b!=null?a+': '+b:a};var nf=go(lu,'Throwable',8);sg(10,8,su);var af=go(lu,'Exception',10);sg(15,10,su);var jf=go(lu,'RuntimeException',15);sg(81,15,su);var qd=go(tu,'JavaScriptExceptionBase',81);sg(37,81,{37:1,3:1,10:1,8:1},Db);_.D=function Gb(){Cb(this);return this.c};_.F=function Hb(){return ad(this.b)===ad(Ab)?null:this.b};var Ab;var nd=go(mu,'JavaScriptException',37);sg(155,1,{});var pd=go(mu,'Scheduler',155);var Jb=0,Kb=0,Lb=0,Mb=-1;sg(101,155,{},$b);var Wb;var rd=go(tu,'SchedulerImpl',101);var bc;sg(166,1,{});var vd=go(tu,'StackTraceCreator/Collector',166);sg(82,166,{},fc);_.G=function gc(a,b){var c={},j;a.fnStack=[];var d=arguments.callee.caller;while(d){var e=(cc(),d.name||(d.name=ec(d.toString())));a.fnStack.push(e);var f=':'+e;var g=c[f];if(g){var h,i;for(h=0,i=g.length;h=0;c--){b=this.a[this.a.length-1-c];if(b!=0){if(b<0){d.a+=' - ';b=-b}else{d.a.length>0&&(d.a+=' + ',d)}if(c==0||b!=1){a=Jk(this.b,b);if(a==0){d.a+='1'}else if(a==1){d.a+='a'}else{d.a+='a^';d.a+=a}}if(c!=0){if(c==1){d.a+='x'}else{d.a+='x^';d.a+=c}}}}return d.a};var je=go(Wu,'GenericGFPoly',26);sg(123,1,{},Zk);var le=go(Wu,'ReedSolomonDecoder',123);sg(45,10,{45:1,3:1,10:1,8:1},$k);var me=go(Wu,'ReedSolomonException',45);sg(118,1,{181:1},al);var ne=go('com.google.zxing.qrcode','QRCodeReader',118);sg(133,1,{},hl);_.b=false;var oe=go(Yu,'BitMatrixParser',133);sg(65,1,{65:1},il);_.b=0;var pe=go(Yu,'DataBlock',65);sg(14,13,Zu);var kl,ll,ml,nl,ol,pl,ql,rl;var ye=ho(Yu,'DataMask',14,vl);sg(142,14,Zu,wl);_.N=function xl(a,b){return (a+b&1)==0};var qe=ho(Yu,'DataMask/1',142,null);sg(143,14,Zu,yl);_.N=function zl(a,b){return (a&1)==0};var re=ho(Yu,'DataMask/2',143,null);sg(144,14,Zu,Al);_.N=function Bl(a,b){return b%3==0};var se=ho(Yu,'DataMask/3',144,null);sg(145,14,Zu,Cl);_.N=function Dl(a,b){return (a+b)%3==0};var te=ho(Yu,'DataMask/4',145,null);sg(146,14,Zu,El);_.N=function Fl(a,b){return (~~(a/2)+~~(b/3)&1)==0};var ue=ho(Yu,'DataMask/5',146,null);sg(147,14,Zu,Gl);_.N=function Hl(a,b){var c;c=a*b;return (c&1)+c%3==0};var ve=ho(Yu,'DataMask/6',147,null);sg(148,14,Zu,Il);_.N=function Jl(a,b){var c;c=a*b;return ((c&1)+c%3&1)==0};var we=ho(Yu,'DataMask/7',148,null);sg(149,14,Zu,Kl);_.N=function Ll(a,b){return ((a+b&1)+a*b%3&1)==0};var xe=ho(Yu,'DataMask/8',149,null);var Ml;sg(122,1,{},Zl);var ze=go(Yu,'Decoder',122);sg(39,13,{39:1,3:1,19:1,13:1},em);var $l,_l,am,bm,cm;var Ae=ho(Yu,'ErrorCorrectionLevel',39,gm);sg(49,1,{49:1},jm);_.eQ=function mm(a){var b;if(!Xc(a,49)){return false}b=Tc(a,49);return this.b==b.b&&this.a==b.a};_.hC=function nm(){return this.b.d<<3|this.a};_.a=0;var hm;var Be=go(Yu,'FormatInformation',49);sg(23,13,{23:1,3:1,19:1,13:1},Am);var om,pm,qm,rm,sm,tm,um,vm,wm,xm;var Ce=ho(Yu,'Mode',23,Cm);sg(132,1,{},Em);_.a=false;var De=go(Yu,'QRCodeDecoderMetaData',132);sg(9,1,{9:1},Jm);_.tS=function Nm(){return ''+this.d};_.c=0;_.d=0;var Fm,Gm;var Ge=go(Yu,'Version',9);sg(4,1,{4:1},Om);_.a=0;_.b=0;var Ee=go(Yu,'Version/ECB',4);sg(6,1,{6:1},Pm);_.b=0;var Fe=go(Yu,'Version/ECBlocks',6);sg(50,29,{29:1,50:1},Rm);_.a=0;var Ie=go($u,'AlignmentPattern',50);sg(151,1,{},Wm);_.b=0;_.d=0;_.f=0;_.i=0;_.j=0;var He=go($u,'AlignmentPatternFinder',151);sg(131,1,{},bn);var Je=go($u,'Detector',131);sg(16,29,{29:1,16:1},gn,hn);_.a=0;_.b=0;var Oe=go($u,'FinderPattern',16);sg(134,1,{},rn);_.b=false;var Me=go($u,'FinderPatternFinder',134);sg(136,1,Pu,un);_.O=function vn(a,b){return tn(this,Tc(a,16),Tc(b,16))};_.a=0;var Ke=go($u,'FinderPatternFinder/CenterComparator',136);sg(135,1,Pu,xn);_.O=function yn(a,b){return wn(this,Tc(a,16),Tc(b,16))};_.a=0;var Le=go($u,'FinderPatternFinder/FurthestFromAverageComparator',135);sg(137,1,{},zn);var Ne=go($u,'FinderPatternInfo',137);sg(78,125,{},Cn);_.c=0;_.d=0;var Pe=go(av,'CanvasLuminanceSource',78);sg(104,75,ou);_.w=function Pn(){Gn(this)};_.B=function Qn(){U(this);Nn(this)};_.P=function Rn(a){Hn(this,a)};_.Q=function Sn(){this.a&&this.q&&nh(this.i,this.f)};_.a=false;_.f=0;_.j=0;var Re=go(av,'ScannerWidget',104);sg(108,107,{},Tn);var Qe=go(av,'ScannerWidget/1',108);sg(153,10,su);var Se=go('java.io','IOException',153);sg(51,153,{3:1,51:1,10:1,8:1},Un);var Te=go('java.io','UnsupportedEncodingException',51);sg(60,1,{});_.tS=function Wn(){return this.a};var Ue=go(lu,'AbstractStringBuilder',60);sg(70,15,su,Xn);var Ve=go(lu,'ArithmeticException',70);sg(46,15,su,Yn,Zn);var We=go(lu,'ArrayStoreException',46);sg(41,15,su,vo);var Ye=go(lu,'ClassCastException',41);sg(66,1,{3:1,66:1});var gf=go(lu,'Number',66);var wo,xo;sg(12,15,{3:1,10:1,12:1,8:1},Co,Do);var bf=go(lu,'IllegalArgumentException',12);sg(43,15,su,Eo,Fo);var cf=go(lu,'IllegalStateException',43);sg(38,15,su,Go,Ho);var df=go(lu,'IndexOutOfBoundsException',38);sg(36,66,{3:1,19:1,36:1,66:1},Jo);_.M=function Mo(a){return Io(this,Tc(a,36))};_.eQ=function No(a){return Xc(a,36)&&Tc(a,36).a==this.a};_.hC=function Oo(){return this.a};_.tS=function Po(){return ''+this.a};_.a=0;var ef=go(lu,'Integer',36);var So;sg(71,15,su,Wo,Xo);var ff=go(lu,'NullPointerException',71);var mf=go(lu,'String',2);var kp,lp=0,mp;sg(27,60,{179:1},vp,wp);var lf=go(lu,'StringBuilder',27);sg(72,15,su,yp);var of=go(lu,'UnsupportedOperationException',72);sg(169,1,{});_.X=function Cp(a){return zp(this,a)};_.tS=function Dp(){return Bp(this)};var pf=go(cv,'AbstractCollection',169);sg(168,1,{58:1});_.Z=function Hp(a){return !!Fp(this,a)};_.eQ=function Ip(a){var b,c,d;if(a===this){return true}if(!Xc(a,58)){return false}d=Tc(a,58);if(this.Y()!=d.Y()){return false}for(c=d.$().I();c.K();){b=Tc(c.L(),17);if(!Ep(this,b)){return false}}return true};_._=function Jp(a){return Kp(Fp(this,a))};_.hC=function Lp(){return ir(this.$())};_.Y=function Mp(){return this.$().Y()};_.tS=function Np(){var a,b,c,d;d=new wp('{');a=false;for(c=this.$().I();c.K();){b=Tc(c.L(),17);a?(d.a+=', ',d):(a=true);up(d,Gp(this,b.cb()));d.a+='=';up(d,Gp(this,b.db()))}d.a+='}';return d.a};var Cf=go(cv,'AbstractMap',168);sg(84,168,{58:1});_.Z=function Vp(a){return Op(this,a)};_.$=function Wp(){return new aq(this)};_._=function Xp(a){return Rp(this,a)};_.Y=function Yp(){return this.b};_.b=0;var sf=go(cv,'AbstractHashMap',84);sg(170,169,dv);_.eQ=function Zp(a){var b;if(a===this){return true}if(!Xc(a,40)){return false}b=Tc(a,40);if(b.Y()!=this.Y()){return false}return Ap(this,b)};_.hC=function $p(){return ir(this)};var Df=go(cv,'AbstractSet',170);sg(68,170,dv,aq);_.X=function bq(a){return _p(this,a)};_.I=function cq(){return new gq(this.a)};_.Y=function dq(){return this.a.b};var rf=go(cv,'AbstractHashMap/EntrySet',68);sg(69,1,{},gq);_.K=function hq(){return eq(this)};_.L=function iq(){return fq(this)};var qf=go(cv,'AbstractHashMap/EntrySetIterator',69);sg(171,169,{52:1});_.eQ=function lq(a){var b,c,d,e,f;if(a===this){return true}if(!Xc(a,52)){return false}f=Tc(a,52);if(this.Y()!=f.Y()){return false}e=f.I();for(c=new pq(this);c.a-1&&window.JSON){var h=e.createDocumentFragment();h.appendChild(e.createTextNode(hb));for(var i=V;i=V){continue}if(j==tb){k=i.getAttribute(ub);if(k){var l,m=k.indexOf(vb);if(m>=V){j=k.substring(V,m);l=k.substring(m+W)}else{j=k;l=bb}c[j]=l}}else if(j==wb){k=i.getAttribute(ub);if(k){try{d=eval(k)}catch(a){alert(xb+k+yb)}}}else if(j==zb){k=i.getAttribute(ub);if(k){try{e=eval(k)}catch(a){alert(xb+k+Ab)}}}}}__gwt_getMetaProperty=function(a){var b=c[a];return b==null?null:b};s=d;jsqrscanner.__errFn=e} -function C(){function e(a){var b=a.lastIndexOf(Bb);if(b==-1){b=a.length}var c=a.indexOf(Cb);if(c==-1){c=a.length}var d=a.lastIndexOf(Db,Math.min(c,b));return d>=V?a.substring(V,d+W):bb} -function f(a){if(a.match(/^\w+:\/\//)){}else{var b=p.createElement(Eb);b.src=a+Fb;a=e(b.src)}return a} -function g(){var a=__gwt_getMetaProperty(Gb);if(a!=null){return a}return bb} -function h(){var a=p.getElementsByTagName(jb);for(var b=V;bV){return a[a.length-W].href}return bb} -function j(){var a=p.location;return a.href==a.protocol+Jb+a.host+a.pathname+a.search+a.hash} -var k=g();if(k==bb){k=h()}if(k==bb){k=i()}if(k==bb&&j()){k=e(p.location.href)}k=f(k);return k} -function D(a){if(a.match(/^\//)){return a}if(a.match(/^[a-zA-Z]+:\/\//)){return a}return jsqrscanner.__moduleBase+a} -function F(){var f=[];var g=V;function h(a,b){var c=f;for(var d=V,e=a.length-W;d=Ob&&b=Rb&&b=Tb&&b=Pb}())return Wb;return bb};i[Kb]={gecko1_8:V,ie10:W,ie8:Xb,ie9:Yb,safari:Zb};__gwt_isKnownPropertyValue=function(a,b){return b in i[a]};jsqrscanner.__getPropMap=function(){var a={};for(var b in i){if(i.hasOwnProperty(b)){a[b]=k(b)}}return a};jsqrscanner.__computePropValue=k;o.__gwt_activeModules[S].bindings=jsqrscanner.__getPropMap;r(O,$b);if(q()){return D(_b)}var l;try{h([Ub],ac);h([Mb],bc);h([Sb],cc);h([Qb],dc);h([Wb],ec);l=f[k(Kb)];var m=l.indexOf(fc);if(m!=-1){g=parseInt(l.substring(m+W),Ob);l=l.substring(V,m)}}catch(a){}jsqrscanner.__softPermutationId=g;return D(l+gc)} -function G(){if(!o.__gwt_stylesLoaded){o.__gwt_stylesLoaded={}}r(hc,P);r(hc,ic)} -B();jsqrscanner.__moduleBase=C();t[S].moduleBase=jsqrscanner.__moduleBase;var H=F();if(o){var I=!!(o.location.protocol==jc||o.location.protocol==kc);o.__gwt_activeModules[S].canRedirect=I;function J(){var b=lc;try{o.sessionStorage.setItem(b,b);o.sessionStorage.removeItem(b);return true}catch(a){return false}} -if(I&&J()){var K=mc;var L=o.sessionStorage[K];if(!/^http:\/\/(localhost|127\.0\.0\.1)(:\d+)?\/.*$/.test(L)){if(L&&(window.console&&console.log)){console.log(nc+L)}L=bb}if(L&&!o[K]){o[K]=true;o[K+oc]=C();var M=p.createElement(jb);M.src=L;var N=p.getElementsByTagName(ob)[V];N.insertBefore(M,N.firstElementChild||N.children[V]);return false}}}G();r(O,ic);A(H);return true} -jsqrscanner.succeeded=jsqrscanner(); \ No newline at end of file +function jsqrscanner(){ + var $wnd_0 = window; + var $doc_0 = document; + sendStats('bootstrap', 'begin'); + function isHostedMode(){ + var query = $wnd_0.location.search; + return query.indexOf('gwt.codesvr.jsqrscanner=') != -1 || query.indexOf('gwt.codesvr=') != -1; + } + + function sendStats(evtGroupString, typeString){ + if ($wnd_0.__gwtStatsEvent) { + $wnd_0.__gwtStatsEvent({moduleName:'jsqrscanner', sessionId:$wnd_0.__gwtStatsSessionId, subSystem:'startup', evtGroup:evtGroupString, millis:(new Date).getTime(), type:typeString}); + } + } + + jsqrscanner.__sendStats = sendStats; + jsqrscanner.__moduleName = 'jsqrscanner'; + jsqrscanner.__errFn = null; + jsqrscanner.__moduleBase = 'DUMMY'; + jsqrscanner.__softPermutationId = 0; + jsqrscanner.__computePropValue = null; + jsqrscanner.__getPropMap = null; + jsqrscanner.__installRunAsyncCode = function(){ + } + ; + jsqrscanner.__gwtStartLoadingFragment = function(){ + return null; + } + ; + jsqrscanner.__gwt_isKnownPropertyValue = function(){ + return false; + } + ; + jsqrscanner.__gwt_getMetaProperty = function(){ + return null; + } + ; + var __propertyErrorFunction = null; + var activeModules = $wnd_0.__gwt_activeModules = $wnd_0.__gwt_activeModules || {}; + activeModules['jsqrscanner'] = {moduleName:'jsqrscanner'}; + jsqrscanner.__moduleStartupDone = function(permProps){ + var oldBindings = activeModules['jsqrscanner'].bindings; + activeModules['jsqrscanner'].bindings = function(){ + var props = oldBindings?oldBindings():{}; + var embeddedProps = permProps[jsqrscanner.__softPermutationId]; + for (var i = 0; i < embeddedProps.length; i++) { + var pair = embeddedProps[i]; + props[pair[0]] = pair[1]; + } + return props; + } + ; + } + ; + var frameDoc; + function getInstallLocationDoc(){ + setupInstallLocation(); + return frameDoc; + } + + function setupInstallLocation(){ + if (frameDoc) { + return; + } + var scriptFrame = $doc_0.createElement('iframe'); + scriptFrame.src = 'javascript:""'; + scriptFrame.id = 'jsqrscanner'; + scriptFrame.style.cssText = 'position:absolute; width:0; height:0; border:none; left: -1000px;' + ' top: -1000px;'; + scriptFrame.tabIndex = -1; + $doc_0.body.appendChild(scriptFrame); + frameDoc = scriptFrame.contentDocument; + if (!frameDoc) { + frameDoc = scriptFrame.contentWindow.document; + } + frameDoc.open(); + var doctype = document.compatMode == 'CSS1Compat'?'':''; + frameDoc.write(doctype + '<\/head><\/body><\/html>'); + frameDoc.close(); + } + + function installScript(filename){ + function setupWaitForBodyLoad(callback){ + function isBodyLoaded(){ + if (typeof $doc_0.readyState == 'undefined') { + return typeof $doc_0.body != 'undefined' && $doc_0.body != null; + } + return /loaded|complete/.test($doc_0.readyState); + } + + var bodyDone = isBodyLoaded(); + if (bodyDone) { + callback(); + return; + } + function onBodyDone(){ + if (!bodyDone) { + bodyDone = true; + callback(); + if ($doc_0.removeEventListener) { + $doc_0.removeEventListener('DOMContentLoaded', onBodyDone, false); + } + if (onBodyDoneTimerId) { + clearInterval(onBodyDoneTimerId); + } + } + } + + if ($doc_0.addEventListener) { + $doc_0.addEventListener('DOMContentLoaded', onBodyDone, false); + } + var onBodyDoneTimerId = setInterval(function(){ + if (isBodyLoaded()) { + onBodyDone(); + } + } + , 50); + } + + function installCode(code_0){ + var doc = getInstallLocationDoc(); + var docbody = doc.body; + var script = doc.createElement('script'); + script.language = 'javascript'; + script.src = code_0; + if (jsqrscanner.__errFn) { + script.onerror = function(){ + jsqrscanner.__errFn('jsqrscanner', new Error('Failed to load ' + code_0)); + } + ; + } + docbody.appendChild(script); + sendStats('moduleStartup', 'scriptTagAdded'); + } + + sendStats('moduleStartup', 'moduleRequested'); + setupWaitForBodyLoad(function(){ + installCode(filename); + } + ); + } + + jsqrscanner.__startLoadingFragment = function(fragmentFile){ + return computeUrlForResource(fragmentFile); + } + ; + jsqrscanner.__installRunAsyncCode = function(code_0){ + var doc = getInstallLocationDoc(); + var docbody = doc.body; + var script = doc.createElement('script'); + script.language = 'javascript'; + script.text = code_0; + docbody.appendChild(script); + } + ; + function processMetas(){ + var metaProps = {}; + var propertyErrorFunc; + var onLoadErrorFunc; + var metas = $doc_0.getElementsByTagName('meta'); + for (var i = 0, n = metas.length; i < n; ++i) { + var meta = metas[i], name_1 = meta.getAttribute('name'), content_0; + if (name_1) { + name_1 = name_1.replace('jsqrscanner::', ''); + if (name_1.indexOf('::') >= 0) { + continue; + } + if (name_1 == 'gwt:property') { + content_0 = meta.getAttribute('content'); + if (content_0) { + var value_1, eq = content_0.indexOf('='); + if (eq >= 0) { + name_1 = content_0.substring(0, eq); + value_1 = content_0.substring(eq + 1); + } + else { + name_1 = content_0; + value_1 = ''; + } + metaProps[name_1] = value_1; + } + } + else if (name_1 == 'gwt:onPropertyErrorFn') { + content_0 = meta.getAttribute('content'); + if (content_0) { + try { + propertyErrorFunc = eval(content_0); + } + catch (e) { + alert('Bad handler "' + content_0 + '" for "gwt:onPropertyErrorFn"'); + } + } + } + else if (name_1 == 'gwt:onLoadErrorFn') { + content_0 = meta.getAttribute('content'); + if (content_0) { + try { + onLoadErrorFunc = eval(content_0); + } + catch (e) { + alert('Bad handler "' + content_0 + '" for "gwt:onLoadErrorFn"'); + } + } + } + } + } + __gwt_getMetaProperty = function(name_0){ + var value_0 = metaProps[name_0]; + return value_0 == null?null:value_0; + } + ; + __propertyErrorFunction = propertyErrorFunc; + jsqrscanner.__errFn = onLoadErrorFunc; + } + + function computeScriptBase(){ + function getDirectoryOfFile(path){ + var hashIndex = path.lastIndexOf('#'); + if (hashIndex == -1) { + hashIndex = path.length; + } + var queryIndex = path.indexOf('?'); + if (queryIndex == -1) { + queryIndex = path.length; + } + var slashIndex = path.lastIndexOf('/', Math.min(queryIndex, hashIndex)); + return slashIndex >= 0?path.substring(0, slashIndex + 1):''; + } + + function ensureAbsoluteUrl(url_0){ + if (url_0.match(/^\w+:\/\//)) { + } + else { + var img = $doc_0.createElement('img'); + img.src = url_0 + 'clear.cache.gif'; + url_0 = getDirectoryOfFile(img.src); + } + return url_0; + } + + function tryMetaTag(){ + var metaVal = __gwt_getMetaProperty('baseUrl'); + if (metaVal != null) { + return metaVal; + } + return ''; + } + + function tryNocacheJsTag(){ + var scriptTags = $doc_0.getElementsByTagName('script'); + for (var i = 0; i < scriptTags.length; ++i) { + if (scriptTags[i].src.indexOf('jsqrscanner.nocache.js') != -1) { + return getDirectoryOfFile(scriptTags[i].src); + } + } + return ''; + } + + function tryBaseTag(){ + var baseElements = $doc_0.getElementsByTagName('base'); + if (baseElements.length > 0) { + return baseElements[baseElements.length - 1].href; + } + return ''; + } + + function isLocationOk(){ + var loc = $doc_0.location; + return loc.href == loc.protocol + '//' + loc.host + loc.pathname + loc.search + loc.hash; + } + + var tempBase = tryMetaTag(); + if (tempBase == '') { + tempBase = tryNocacheJsTag(); + } + if (tempBase == '') { + tempBase = tryBaseTag(); + } + if (tempBase == '' && isLocationOk()) { + tempBase = getDirectoryOfFile($doc_0.location.href); + } + tempBase = ensureAbsoluteUrl(tempBase); + return tempBase; + } + + function computeUrlForResource(resource){ + if (resource.match(/^\//)) { + return resource; + } + if (resource.match(/^[a-zA-Z]+:\/\//)) { + return resource; + } + return jsqrscanner.__moduleBase + resource; + } + + function getCompiledCodeFilename(){ + var answers = []; + var softPermutationId = 0; + function unflattenKeylistIntoAnswers(propValArray, value_0){ + var answer = answers; + for (var i = 0, n = propValArray.length - 1; i < n; ++i) { + answer = answer[propValArray[i]] || (answer[propValArray[i]] = []); + } + answer[propValArray[n]] = value_0; + } + + var values = []; + var providers = []; + function computePropValue(propName){ + var value_0 = providers[propName](), allowedValuesMap = values[propName]; + if (value_0 in allowedValuesMap) { + return value_0; + } + var allowedValuesList = []; + for (var k in allowedValuesMap) { + allowedValuesList[allowedValuesMap[k]] = k; + } + if (__propertyErrorFunction) { + __propertyErrorFunction(propName, allowedValuesList, value_0); + } + throw null; + } + + providers['user.agent'] = function(){ + var ua = navigator.userAgent.toLowerCase(); + var docMode = $doc_0.documentMode; + if (function(){ + return ua.indexOf('webkit') != -1; + } + ()) + return 'safari'; + if (function(){ + return ua.indexOf('msie') != -1 && (docMode >= 10 && docMode < 11); + } + ()) + return 'ie10'; + if (function(){ + return ua.indexOf('msie') != -1 && (docMode >= 9 && docMode < 11); + } + ()) + return 'ie9'; + if (function(){ + return ua.indexOf('msie') != -1 && (docMode >= 8 && docMode < 11); + } + ()) + return 'ie8'; + if (function(){ + return ua.indexOf('gecko') != -1 || docMode >= 11; + } + ()) + return 'gecko1_8'; + return ''; + } + ; + values['user.agent'] = {gecko1_8:0, ie10:1, ie8:2, ie9:3, safari:4}; + __gwt_isKnownPropertyValue = function(propName, propValue){ + return propValue in values[propName]; + } + ; + jsqrscanner.__getPropMap = function(){ + var result = {}; + for (var key in values) { + if (values.hasOwnProperty(key)) { + result[key] = computePropValue(key); + } + } + return result; + } + ; + jsqrscanner.__computePropValue = computePropValue; + $wnd_0.__gwt_activeModules['jsqrscanner'].bindings = jsqrscanner.__getPropMap; + sendStats('bootstrap', 'selectingPermutation'); + if (isHostedMode()) { + return computeUrlForResource('jsqrscanner.devmode.js'); + } + var strongName; + try { + unflattenKeylistIntoAnswers(['ie10'], 'E2DE619934E7B85CBFB9935ADFC149FD'); + unflattenKeylistIntoAnswers(['gecko1_8'], '9F36F6E596D24028CF2BAC1860F22428'); + unflattenKeylistIntoAnswers(['safari'], '7336332C96BEE798552E9397E317C8AC'); + unflattenKeylistIntoAnswers(['ie9'], '583759B3547F41A4DB81ABD2A010247E'); + unflattenKeylistIntoAnswers(['ie8'], 'B740E7E455C035DF151FA9FBFC08D197'); + strongName = answers[computePropValue('user.agent')]; + var idx = strongName.indexOf(':'); + if (idx != -1) { + softPermutationId = parseInt(strongName.substring(idx + 1), 10); + strongName = strongName.substring(0, idx); + } + } + catch (e) { + } + jsqrscanner.__softPermutationId = softPermutationId; + return computeUrlForResource(strongName + '.cache.js'); + } + + function loadExternalStylesheets(){ + if (!$wnd_0.__gwt_stylesLoaded) { + $wnd_0.__gwt_stylesLoaded = {}; + } + sendStats('loadExternalRefs', 'begin'); + sendStats('loadExternalRefs', 'end'); + } + + processMetas(); + jsqrscanner.__moduleBase = computeScriptBase(); + activeModules['jsqrscanner'].moduleBase = jsqrscanner.__moduleBase; + var filename_0 = getCompiledCodeFilename(); + if ($wnd_0) { + var devModePermitted = !!($wnd_0.location.protocol == 'http:' || $wnd_0.location.protocol == 'file:'); + $wnd_0.__gwt_activeModules['jsqrscanner'].canRedirect = devModePermitted; + function supportsSessionStorage(){ + var key = '_gwt_dummy_'; + try { + $wnd_0.sessionStorage.setItem(key, key); + $wnd_0.sessionStorage.removeItem(key); + return true; + } + catch (e) { + return false; + } + } + + if (devModePermitted && supportsSessionStorage()) { + var devModeKey = '__gwtDevModeHook:jsqrscanner'; + var devModeUrl = $wnd_0.sessionStorage[devModeKey]; + if (!/^http:\/\/(localhost|127\.0\.0\.1)(:\d+)?\/.*$/.test(devModeUrl)) { + if (devModeUrl && (window.console && console.log)) { + console.log('Ignoring non-whitelisted Dev Mode URL: ' + devModeUrl); + } + devModeUrl = ''; + } + if (devModeUrl && !$wnd_0[devModeKey]) { + $wnd_0[devModeKey] = true; + $wnd_0[devModeKey + ':moduleBase'] = computeScriptBase(); + var devModeScript = $doc_0.createElement('script'); + devModeScript.src = devModeUrl; + var head = $doc_0.getElementsByTagName('head')[0]; + head.insertBefore(devModeScript, head.firstElementChild || head.children[0]); + return false; + } + } + } + loadExternalStylesheets(); + sendStats('bootstrap', 'end'); + installScript(filename_0); + return true; +} + +jsqrscanner.succeeded = jsqrscanner(); diff --git a/flutter_barcode_reader_web/pubspec.yaml b/flutter_barcode_reader_web/pubspec.yaml index 788f57ab..f083cee1 100644 --- a/flutter_barcode_reader_web/pubspec.yaml +++ b/flutter_barcode_reader_web/pubspec.yaml @@ -22,10 +22,10 @@ flutter: fileName: barcode_web.dart assets: - assets/jsqrscanner.nocache.js - - assets/26096D5C9D4499FC412DE6D557CF4723.cache.js - - assets/21FCD138CF06B5B490DA7F14DD306C4A.cache.js - - assets/85EFE2E37A204EA7850A307AF743069B.cache.js + - assets/9F36F6E596D24028CF2BAC1860F22428.cache.js + - assets/583759B3547F41A4DB81ABD2A010247E.cache.js + - assets/7336332C96BEE798552E9397E317C8AC.cache.js - assets/compilation-mappings.txt - - assets/EC0F7217F4BCEF91396A176763786FF0.cache.js - - assets/F18D8F202F2722AE74CE31DB0E4D35D5.cache.js + - assets/B740E7E455C035DF151FA9FBFC08D197.cache.js + - assets/E2DE619934E7B85CBFB9935ADFC149FD.cache.js - assets/styles.css \ No newline at end of file From 96270bc68825887269c4e7a6c95be9db46f34eeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Fri, 20 Mar 2020 17:26:22 +0100 Subject: [PATCH 3/9] Add allowInterop to scanner callbacks --- flutter_barcode_reader_web/lib/barcode_web.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter_barcode_reader_web/lib/barcode_web.dart b/flutter_barcode_reader_web/lib/barcode_web.dart index fa622810..adac65a5 100644 --- a/flutter_barcode_reader_web/lib/barcode_web.dart +++ b/flutter_barcode_reader_web/lib/barcode_web.dart @@ -80,7 +80,7 @@ class BarcodeScanPlugin { } void scannerReady() { - _scanner = JsQRScanner(onQRCodeScanned, provideVideo); + _scanner = JsQRScanner(allowInterop(this.onQRCodeScanned), allowInterop(this.provideVideo)); _scanner.setSnapImageMaxSize(300); var scannerParentElement = document.getElementById('scanner'); _scanner.appendTo(scannerParentElement); From 7631ac479cc13e0a26c80a6bf0713d65cdd14ce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Fri, 20 Mar 2020 18:45:32 +0100 Subject: [PATCH 4/9] Request video from the back camera --- flutter_barcode_reader_web/lib/barcode_web.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter_barcode_reader_web/lib/barcode_web.dart b/flutter_barcode_reader_web/lib/barcode_web.dart index adac65a5..4ae23433 100644 --- a/flutter_barcode_reader_web/lib/barcode_web.dart +++ b/flutter_barcode_reader_web/lib/barcode_web.dart @@ -88,7 +88,7 @@ class BarcodeScanPlugin { Promise provideVideo() { return new Promise(allowInterop((resolve, reject) { - window.navigator.getUserMedia(video: true).then(resolve, onError: reject); + window.navigator.getUserMedia(video: {'facingMode': 'environment'}).then(resolve, onError: reject); })); } } From f3dbbcd09ae1761884a50da92c7da89f8fc9f53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Fri, 20 Mar 2020 18:59:56 +0100 Subject: [PATCH 5/9] Remove generated files --- flutter_barcode_reader_web/.flutter-plugins | 2 -- flutter_barcode_reader_web/.flutter-plugins-dependencies | 1 - 2 files changed, 3 deletions(-) delete mode 100644 flutter_barcode_reader_web/.flutter-plugins delete mode 100644 flutter_barcode_reader_web/.flutter-plugins-dependencies diff --git a/flutter_barcode_reader_web/.flutter-plugins b/flutter_barcode_reader_web/.flutter-plugins deleted file mode 100644 index 909de3c0..00000000 --- a/flutter_barcode_reader_web/.flutter-plugins +++ /dev/null @@ -1,2 +0,0 @@ -# This is a generated file; do not edit or check into version control. -barcode_scan_web=/home/fer/barcode_scan/flutter_barcode_reader_web/ diff --git a/flutter_barcode_reader_web/.flutter-plugins-dependencies b/flutter_barcode_reader_web/.flutter-plugins-dependencies deleted file mode 100644 index a1239807..00000000 --- a/flutter_barcode_reader_web/.flutter-plugins-dependencies +++ /dev/null @@ -1 +0,0 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[],"android":[],"macos":[],"linux":[],"windows":[],"web":[{"name":"barcode_scan_web","path":"/home/fer/barcode_scan/flutter_barcode_reader_web/","dependencies":[]}]},"dependencyGraph":[{"name":"barcode_scan_web","dependencies":[]}],"date_created":"2020-03-20 00:40:56.559845","version":"1.14.6"} \ No newline at end of file From 07bb4012a1b73e6dc2b3e8edf6f484343c18c41d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Fri, 27 Mar 2020 13:11:36 +0100 Subject: [PATCH 6/9] Replace navigator.getUserMedia by newer navigator.mediaDevices.getUserMedia --- .../lib/barcode_web.dart | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/flutter_barcode_reader_web/lib/barcode_web.dart b/flutter_barcode_reader_web/lib/barcode_web.dart index 4ae23433..867a36c9 100644 --- a/flutter_barcode_reader_web/lib/barcode_web.dart +++ b/flutter_barcode_reader_web/lib/barcode_web.dart @@ -87,12 +87,29 @@ class BarcodeScanPlugin { } Promise provideVideo() { - return new Promise(allowInterop((resolve, reject) { - window.navigator.getUserMedia(video: {'facingMode': 'environment'}).then(resolve, onError: reject); - })); + return getUserMedia(new UserMediaOptions(video: new VideoOptions(facingMode: 'environment'))); } } +@JS("navigator.mediaDevices.getUserMedia") +external Promise getUserMedia(UserMediaOptions options); + +@JS() +@anonymous +class UserMediaOptions { + external VideoOptions get video; + + external factory UserMediaOptions({ VideoOptions video }); +} + +@JS() +@anonymous +class VideoOptions { + external String get facingMode; + + external factory VideoOptions({ String facingMode }); +} + @JS() class JsQRScanner { external factory JsQRScanner(Function onQRCodeScanned, Function provideVideo); From e4f35994740b7b407f235875153f132f4641de0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Mon, 30 Mar 2020 17:18:23 +0200 Subject: [PATCH 7/9] Add exceptions --- .../lib/barcode_web.dart | 37 +++++++++++++++++-- lib/barcode_scan.dart | 2 +- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/flutter_barcode_reader_web/lib/barcode_web.dart b/flutter_barcode_reader_web/lib/barcode_web.dart index 867a36c9..388953e1 100644 --- a/flutter_barcode_reader_web/lib/barcode_web.dart +++ b/flutter_barcode_reader_web/lib/barcode_web.dart @@ -3,6 +3,7 @@ library jsqrscanner; import 'dart:async'; import 'dart:html'; +import 'dart:js'; import 'package:flutter/services.dart'; import 'package:js/js.dart'; @@ -24,18 +25,28 @@ class BarcodeScanPlugin { } Future handleMethodCall(MethodCall call) async { + _ensureMediaDevicesSupported(); _createCSS(); var script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); document.querySelector('head').append(script); script.setAttribute('src', 'assets/packages/barcode_scan_web/assets/jsqrscanner.nocache.js'); _createHTML(); - document.querySelector('#toolbar p').addEventListener('click', (event) => _close()); + document.querySelector('#toolbar p').addEventListener('click', (event) => _onCloseByUser()); setProperty(window, 'JsQRScannerReady', allowInterop(this.scannerReady)); _completer = new Completer(); return _completer.future; } + void _ensureMediaDevicesSupported() { + if (window.navigator.mediaDevices == null) { + throw PlatformException( + code: 'CAMERA_ACCESS_NOT_SUPPORTED', + message: "Camera access not supported by browser2" + ); + } + } + void _createCSS() { var link = document.createElement('link'); link.setAttribute('rel', 'stylesheet'); @@ -67,8 +78,18 @@ class BarcodeScanPlugin { } void onQRCodeScanned(String scannedText) { - _completer.complete(scannedText); + if (!_completer.isCompleted) { + _completer.complete(scannedText); + _close(); + } + } + + void _onCloseByUser() { _close(); + _completer.completeError(PlatformException( + code: 'USER_CANCELED', + message: 'User closed the scan window' + )); } void _close() { @@ -87,8 +108,18 @@ class BarcodeScanPlugin { } Promise provideVideo() { - return getUserMedia(new UserMediaOptions(video: new VideoOptions(facingMode: 'environment'))); + var videoPromise = getUserMedia(new UserMediaOptions(video: new VideoOptions(facingMode: 'environment'))); + videoPromise.then(null, allowInterop(_reject)); + return videoPromise; } + + void _reject(reject) { + _completer.completeError(PlatformException( + code: 'PERMISSION_NOT_GRANTED', + message: 'Permission to access the camera not granted' + )); + _close(); + } } @JS("navigator.mediaDevices.getUserMedia") diff --git a/lib/barcode_scan.dart b/lib/barcode_scan.dart index 12af6b38..1b4fc2d1 100644 --- a/lib/barcode_scan.dart +++ b/lib/barcode_scan.dart @@ -3,4 +3,4 @@ library mintware.barcode_scan; export 'gen/protos/protos.pb.dart' show BarcodeFormat, ResultType; export 'model/model.dart'; -export 'platform_wrapper.dart'; +export 'platform_wrapper.dart'; \ No newline at end of file From f7c9dd03c2f096d460016f3e579d1bf8cd020c54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Wed, 22 Jul 2020 01:07:01 +0200 Subject: [PATCH 8/9] Rebase --- .../lib/barcode_web.dart | 86 ++++++++++++++++--- flutter_barcode_reader_web/pubspec.yaml | 2 + lib/platform_wrapper.dart | 6 +- 3 files changed, 82 insertions(+), 12 deletions(-) diff --git a/flutter_barcode_reader_web/lib/barcode_web.dart b/flutter_barcode_reader_web/lib/barcode_web.dart index 388953e1..36f54f9c 100644 --- a/flutter_barcode_reader_web/lib/barcode_web.dart +++ b/flutter_barcode_reader_web/lib/barcode_web.dart @@ -4,6 +4,9 @@ library jsqrscanner; import 'dart:async'; import 'dart:html'; import 'dart:js'; +import 'dart:typed_data'; + +import 'package:barcode_scan/gen/protos/protos.pb.dart' as proto; import 'package:flutter/services.dart'; import 'package:js/js.dart'; @@ -11,8 +14,10 @@ import 'package:js/js_util.dart'; import 'package:flutter_web_plugins/flutter_web_plugins.dart'; class BarcodeScanPlugin { - Completer _completer; + Completer _completer; JsQRScanner _scanner; + int _useCamera = -1; + List _cameras = new List(); static void registerWith(Registrar registrar) { final MethodChannel channel = MethodChannel( @@ -24,7 +29,43 @@ class BarcodeScanPlugin { channel.setMethodCallHandler(instance.handleMethodCall); } - Future handleMethodCall(MethodCall call) async { + Future handleMethodCall(MethodCall call) async { + switch (call.method) { + case "numberOfCameras": return getNumberOfCameras(); + default: return callScan(call); + } + } + + Future getNumberOfCameras() { + Completer completer = new Completer(); + _getCameras().then((cameras) => completer.complete(cameras.length)); + return completer.future; + } + + Future> _getCameras() { + Completer> completer = new Completer>(); + window.navigator.mediaDevices.enumerateDevices().then((devices) { + completer.complete(devices.where((device) => device.kind == 'videoinput')); + }).catchError((error) { + completer.complete([]); + }); + return completer.future; + } + + Future callScan(MethodCall call) { + var config; + if (call.arguments is Uint8List) { + var buffer = call.arguments as Uint8List; + config = proto.Configuration.fromBuffer(buffer); + } else { + config = proto.Configuration() + ..useCamera = -1; + } + return scan(config); + } + + Future scan(proto.Configuration config) { + _useCamera = config.useCamera; _ensureMediaDevicesSupported(); _createCSS(); var script = document.createElement('script'); @@ -34,7 +75,7 @@ class BarcodeScanPlugin { _createHTML(); document.querySelector('#toolbar p').addEventListener('click', (event) => _onCloseByUser()); setProperty(window, 'JsQRScannerReady', allowInterop(this.scannerReady)); - _completer = new Completer(); + _completer = new Completer(); return _completer.future; } @@ -42,7 +83,7 @@ class BarcodeScanPlugin { if (window.navigator.mediaDevices == null) { throw PlatformException( code: 'CAMERA_ACCESS_NOT_SUPPORTED', - message: "Camera access not supported by browser2" + message: "Camera access not supported by browser" ); } } @@ -79,7 +120,11 @@ class BarcodeScanPlugin { void onQRCodeScanned(String scannedText) { if (!_completer.isCompleted) { - _completer.complete(scannedText); + var scanResult = proto.ScanResult() + ..type = proto.ResultType.Barcode + ..format = proto.BarcodeFormat.qr + ..rawContent = scannedText; + _completer.complete(scanResult.writeToBuffer()); _close(); } } @@ -101,14 +146,24 @@ class BarcodeScanPlugin { } void scannerReady() { - _scanner = JsQRScanner(allowInterop(this.onQRCodeScanned), allowInterop(this.provideVideo)); - _scanner.setSnapImageMaxSize(300); - var scannerParentElement = document.getElementById('scanner'); - _scanner.appendTo(scannerParentElement); + window.navigator.getUserMedia(video: true).then((stream) { + window.navigator.mediaDevices.enumerateDevices().then((devices) { + _cameras = devices.where((device) => device.kind == 'videoinput').toList(); + _scanner = JsQRScanner(allowInterop(this.onQRCodeScanned), allowInterop(this.provideVideo)); + _scanner.setSnapImageMaxSize(300); + var scannerParentElement = document.getElementById('scanner'); + _scanner.appendTo(scannerParentElement); + }).catchError((onError) => _reject(onError)); + }).catchError((onError) => _reject(onError)); } Promise provideVideo() { - var videoPromise = getUserMedia(new UserMediaOptions(video: new VideoOptions(facingMode: 'environment'))); + var videoPromise; + if (_useCamera < 0) { + videoPromise = getUserMedia(new UserMediaOptions(video: new VideoOptions(facingMode: 'environment'))); + } else { + videoPromise = getUserMedia(new UserMediaOptions(video: new VideoOptions(deviceId: new DeviceIdOptions(exact: _cameras[_useCamera].deviceId)))); + } videoPromise.then(null, allowInterop(_reject)); return videoPromise; } @@ -137,8 +192,17 @@ class UserMediaOptions { @anonymous class VideoOptions { external String get facingMode; + external DeviceIdOptions get deviceId; + + external factory VideoOptions({ String facingMode = null, DeviceIdOptions deviceId = null }); +} + +@JS() +@anonymous +class DeviceIdOptions { + external String get exact; - external factory VideoOptions({ String facingMode }); + external factory DeviceIdOptions({ String exact }); } @JS() diff --git a/flutter_barcode_reader_web/pubspec.yaml b/flutter_barcode_reader_web/pubspec.yaml index f083cee1..7f336caa 100644 --- a/flutter_barcode_reader_web/pubspec.yaml +++ b/flutter_barcode_reader_web/pubspec.yaml @@ -9,6 +9,8 @@ dependencies: flutter_web_plugins: sdk: flutter js: ^0.6.0 + barcode_scan: + path: ../ environment: sdk: ">=2.0.0-dev.58.0 <3.0.0" diff --git a/lib/platform_wrapper.dart b/lib/platform_wrapper.dart index 96643e2c..e44a8aa4 100644 --- a/lib/platform_wrapper.dart +++ b/lib/platform_wrapper.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:io' show Platform; import 'package:flutter/services.dart'; +import 'package:flutter/foundation.dart'; import './model/model.dart'; import 'gen/protos/protos.pb.dart' as proto; @@ -13,6 +14,9 @@ class BarcodeScanner { /// If the user has granted the access to the camera this code is returned. static const cameraAccessGranted = 'PERMISSION_GRANTED'; + /// If the device does not support camera access this code is returned. + static const cameraAccessNotSupported = 'CAMERA_ACCESS_NOT_SUPPORTED'; + /// If the user has not granted the access to the camera this code is thrown. static const cameraAccessDenied = 'PERMISSION_NOT_GRANTED'; @@ -32,7 +36,7 @@ class BarcodeScanner { ScanOptions options = const ScanOptions(), }) async { assert(options != null); - if (Platform.isIOS) { + if (kIsWeb || Platform.isIOS) { return _doScan(options); } From de7af156ce64f23d56155c6bcd819c21022943c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20=C3=81lvarez?= Date: Wed, 29 Jul 2020 12:34:33 +0200 Subject: [PATCH 9/9] Return ScanResult for errors and cancellation --- .../lib/barcode_web.dart | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/flutter_barcode_reader_web/lib/barcode_web.dart b/flutter_barcode_reader_web/lib/barcode_web.dart index 36f54f9c..1c24ff80 100644 --- a/flutter_barcode_reader_web/lib/barcode_web.dart +++ b/flutter_barcode_reader_web/lib/barcode_web.dart @@ -81,10 +81,7 @@ class BarcodeScanPlugin { void _ensureMediaDevicesSupported() { if (window.navigator.mediaDevices == null) { - throw PlatformException( - code: 'CAMERA_ACCESS_NOT_SUPPORTED', - message: "Camera access not supported by browser" - ); + _completeWithError('CAMERA_ACCESS_NOT_SUPPORTED'); } } @@ -124,17 +121,14 @@ class BarcodeScanPlugin { ..type = proto.ResultType.Barcode ..format = proto.BarcodeFormat.qr ..rawContent = scannedText; - _completer.complete(scanResult.writeToBuffer()); - _close(); + _completeWithResult(scanResult); } } void _onCloseByUser() { - _close(); - _completer.completeError(PlatformException( - code: 'USER_CANCELED', - message: 'User closed the scan window' - )); + var scanResult = proto.ScanResult() + ..type = proto.ResultType.Cancelled; + _completeWithResult(scanResult); } void _close() { @@ -169,10 +163,19 @@ class BarcodeScanPlugin { } void _reject(reject) { - _completer.completeError(PlatformException( - code: 'PERMISSION_NOT_GRANTED', - message: 'Permission to access the camera not granted' - )); + _completeWithError('PERMISSION_NOT_GRANTED'); + } + + void _completeWithError(String errorCode) { + var scanResult = proto.ScanResult() + ..type = proto.ResultType.Error + ..format = proto.BarcodeFormat.unknown + ..rawContent = errorCode; + _completeWithResult(scanResult); + } + + void _completeWithResult(proto.ScanResult scanResult) { + _completer.complete(scanResult.writeToBuffer()); _close(); } }