diff --git a/app/index.html b/app/index.html index 1164326e..c510af47 100644 --- a/app/index.html +++ b/app/index.html @@ -63,6 +63,7 @@ + diff --git a/app/js/directives.js b/app/js/directives.js index 7ebed03c..e791ddee 100755 --- a/app/js/directives.js +++ b/app/js/directives.js @@ -413,7 +413,7 @@ angular.module('myApp.directives', ['myApp.filters']) $scope.$broadcast('ui_dialogs_search'); $($window).scrollTop(0); $timeout(function () { - searchField.focus(); + setFieldSelection(searchField); }) }); @@ -460,7 +460,7 @@ angular.module('myApp.directives', ['myApp.filters']) if (e.keyCode == 27 || e.keyCode == 9 && e.shiftKey && !e.ctrlKey && !e.metaKey) { // ESC or Shift + Tab if (!searchFocused) { - searchField.focus(); + setFieldSelection(searchField); if (searchField.value) { searchField.select(); } @@ -1579,6 +1579,68 @@ angular.module('myApp.directives', ['myApp.filters']) } }) + .directive('myLoadSticker', function(MtpApiFileManager, FileManager) { + + var emptySrc = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; + + return { + link: link, + scope: { + document: '=' + } + }; + + function link ($scope, element, attrs) { + var imgElement = element; + + var setSrc = function (blob) { + if (WebpManager.isWebpSupported()) { + imgElement.attr('src', FileManager.getUrl(blob, 'image/webp')); + return; + } + FileManager.getByteArray(blob).then(function (bytes) { + imgElement.attr('src', WebpManager.getPngUrlFromData(bytes)); + }); + }; + + imgElement.css({ + width: $scope.document.thumb.width, + height: $scope.document.thumb.height + }); + + var smallLocation = $scope.document.thumb.location; + var fullLocation = { + _: 'inputDocumentFileLocation', + id: $scope.document.id, + access_hash: $scope.document.access_hash, + dc_id: $scope.document.dc_id + }; + + + var cachedBlob = MtpApiFileManager.getCachedFile(fullLocation); + var fullDone = false; + if (!cachedBlob) { + cachedBlob = MtpApiFileManager.getCachedFile(smallLocation); + } else { + fullDone = true; + } + if (cachedBlob) { + setSrc(cachedBlob); + if (fullDone) { + return; + } + } else { + imgElement.attr('src', emptySrc); + } + + MtpApiFileManager.downloadFile($scope.document.dc_id, fullLocation, $scope.document.size).then(function (blob) { + setSrc(blob); + }, function (e) { + console.log('Download sticker failed', e, fullLocation); + }); + } + }) + .directive('myLoadDocument', function(MtpApiFileManager, AppDocsManager, FileManager) { return { @@ -1748,7 +1810,7 @@ angular.module('myApp.directives', ['myApp.filters']) return false; } setTimeout(function () { - element[0].focus(); + setFieldSelection(element[0]); }, 100); } }; @@ -1762,7 +1824,7 @@ angular.module('myApp.directives', ['myApp.filters']) return false; } onContentLoaded(function () { - element[0].focus(); + setFieldSelection(element[0]); }); }); } @@ -2615,7 +2677,6 @@ angular.module('myApp.directives', ['myApp.filters']) var ev = attrs.myScrollToOn; var doScroll = function () { onContentLoaded(function () { - console.log(111,element, element.offset().top); $('html, body').animate({ scrollTop: element.offset().top }, 200); diff --git a/app/js/lib/ng_utils.js b/app/js/lib/ng_utils.js index f26139ac..cdaea5cf 100644 --- a/app/js/lib/ng_utils.js +++ b/app/js/lib/ng_utils.js @@ -182,6 +182,27 @@ angular.module('izhukov.utils', []) return 'data:' + mimeType + ';base64,' + bytesToBase64(fileData); } + function getByteArray(fileData) { + if (fileData instanceof Blob) { + var deferred = $q.defer(); + try { + var reader = new FileReader(); + reader.onloadend = function (e) { + deferred.resolve(new Uint8Array(e.target.result)); + }; + reader.onerror = function (e) { + deferred.reject(e); + }; + reader.readAsArrayBuffer(fileData); + + return deferred.promise; + } catch (e) { + return $q.reject(e); + } + } + return $q.when(fileData); + } + function getDataUrl(blob) { var deferred; try { @@ -275,6 +296,7 @@ angular.module('izhukov.utils', []) chooseSave: chooseSaveFile, getUrl: getUrl, getDataUrl: getDataUrl, + getByteArray: getByteArray, getFileCorrectUrl: getFileCorrectUrl, download: downloadFile }; diff --git a/app/js/lib/utils.js b/app/js/lib/utils.js index 43f6e63b..031a475e 100644 --- a/app/js/lib/utils.js +++ b/app/js/lib/utils.js @@ -450,3 +450,97 @@ function versionCompare (ver1, ver2) { })(window); + +(function (global) { + var nativeWebpSupport = false; + + var image = new Image(); + image.onload = function () { + nativeWebpSupport = this.width === 2 && this.height === 1; + }; + image.onerror = function () { + nativeWebpSupport = false; + }; + image.src = 'data:image/webp;base64,UklGRjIAAABXRUJQVlA4ICYAAACyAgCdASoCAAEALmk0mk0iIiIiIgBoSygABc6zbAAA/v56QAAAAA=='; + + var canvas, context; + + + function getPngUrlFromData(data) { + var start = tsNow(); + + var decoder = new WebPDecoder(); + + var config = decoder.WebPDecoderConfig; + var buffer = config.j; + var bitstream = config.input; + + if (!decoder.WebPInitDecoderConfig(config)) { + console.error('[webpjs] Library version mismatch!'); + return false; + } + + // console.log('[webpjs] status code', decoder.VP8StatusCode); + + status = decoder.WebPGetFeatures(data, data.length, bitstream); + if (status != 0) { + console.error('[webpjs] status error', status); + } + + var mode = decoder.WEBP_CSP_MODE; + buffer.J = 4; + + status = decoder.WebPDecode(data, data.length, config); + + ok = (status == 0); + if (!ok) { + console.error('[webpjs] decoding failed', status); + return false; + } + + // console.log('[webpjs] decoded: ', buffer.width, buffer.height, bitstream.has_alpha, 'Now saving...'); + var bitmap = buffer.c.RGBA.ma; + + // console.log('[webpjs] done in ', tsNow() - start); + + if (!bitmap) { + return false; + } + var biHeight = buffer.height; + var biWidth = buffer.width; + + if (!canvas || !context) { + canvas = document.createElement('canvas'); + context = canvas.getContext('2d'); + } else { + context.clearRect(0, 0, canvas.width, canvas.height); + } + canvas.height = biHeight; + canvas.width = biWidth; + + var output = context.createImageData(canvas.width, canvas.height); + var outputData = output.data; + + for (var h = 0; h < biHeight; h++) { + for (var w = 0; w < biWidth; w++) { + outputData[0+w*4+(biWidth*4)*h] = bitmap[1+w*4+(biWidth*4)*h]; + outputData[1+w*4+(biWidth*4)*h] = bitmap[2+w*4+(biWidth*4)*h]; + outputData[2+w*4+(biWidth*4)*h] = bitmap[3+w*4+(biWidth*4)*h]; + outputData[3+w*4+(biWidth*4)*h] = bitmap[0+w*4+(biWidth*4)*h]; + + }; + } + + context.putImageData(output, 0, 0); + + return canvas.toDataURL('image/png'); + } + + + global.WebpManager = { + isWebpSupported: function () { + return nativeWebpSupport; + }, + getPngUrlFromData: getPngUrlFromData + } +})(window); diff --git a/app/js/services.js b/app/js/services.js index 3771cccd..3b35f5ab 100644 --- a/app/js/services.js +++ b/app/js/services.js @@ -2837,19 +2837,6 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils']) else if (isSticker) { width = Math.min(windowW - 80, Config.Mobile ? 210 : 260); height = Math.min(windowH - 100, Config.Mobile ? 210 : 260); - thumbPhotoSize = { - _: 'photoSize', - type: 'x', - location: { - _: 'inputDocumentFileLocation', - id: doc.id, - access_hash: doc.access_hash, - dc_id: doc.dc_id - }, - w: doc.w, - h: doc.h, - size: doc.size - }; } else { width = height = 100; } @@ -3185,10 +3172,19 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils']) angular.forEach(currentStickers, function (docID) { var doc = AppDocsManager.getDoc(docID); var promise = MtpApiFileManager.downloadSmallFile(doc.thumb.location).then(function (blob) { - return { - id: docID, - src: FileManager.getUrl(blob, 'image/webp') - }; + if (WebpManager.isWebpSupported()) { + return { + id: docID, + src: FileManager.getUrl(blob, 'image/webp') + }; + } + + return FileManager.getByteArray(blob).then(function (bytes) { + return { + id: docID, + src: WebpManager.getPngUrlFromData(bytes) + }; + }); }); promises.push(promise); }); diff --git a/app/partials/desktop/message_attach_document.html b/app/partials/desktop/message_attach_document.html index ff4e9525..d994fb41 100644 --- a/app/partials/desktop/message_attach_document.html +++ b/app/partials/desktop/message_attach_document.html @@ -5,8 +5,8 @@
>>v.bb]=k}else if(zHe?w-=He:(z=dg[w-1],z=(z>>4)*d+(8-(z&15)),w=1<=z?z:1);z=s;for(z=0;z =d;)h-=d,++f,g!=p&&0==f%$c&&g(a,f);if(q >>v.bb]=k}else if(z>>v.bb]=z;z=b;w=q;y=v;$(A<=-1>>>y.bb);z[w]=y.ea[A];A=!0;continue a}(k=!l.fa)||End}g!=p&&g(a,f);l.fa||!k||l.L&&q >>q.n)>>>0,u=Array(t),u==p)m=0;else{var v=q.u[0],C=q.b;u[0]=q.u[0][q.b+0];for(r=1;r >>0)+((u[r-1]&4278255360)>>>0)&4278255360)>>>0|(v[C+r]&16711935)+(u[r-1]&16711935)&16711935)>>>0;for(;r >>8&65535,r[v]=A,A>=u&&(u=A+1)}if(C.fa)zb(t,u),g=0;else if($(65536>=u),t=ld(u,gg),t==p)g.a=cb,zb(t,u),g=0;else{for(v=0;vF[H]||F[H]>=y){(J=J&&ma(G))||ja(G);B=J;break c}if(!jc(G,F[H],D[H],L[H])){(J=J&&ma(G))||ja(G);B=J;break c}}(J=(J=1)&&ma(G))||ja(G);B=J}else B=0}}else{B=s;D=[];F=T(w,4)+4;if(F>Ke){A.a=W;A=0;break b}L=Array(y);if(L==p){A.a= +cb;A=0;break b}for(B=0;B D){B.a=W;ja(Z);B=J;break c}}else V=D;for(S=0;S D){B.a=W;ja(Z);B=J;break c}for(O=O?Y:0;0 =c)){ze(a,c,d,e);for(var e=a.N.width,c=e*c,d=a.N.ka,e=a.N.fd+e*a.O,g=a.Xa,k=a.vb,h=s,h=0;h >>8&255;a.O=a.xa=b}}function ng(a,b){var c=[s],d=[s],e=[s];if(a==p)return 0;if(b==p)return a.a=ta,0;a.N=b;a.a=L;Rb(a.o,b.data,b.b,b.e);if(!ue(a.o,c,d,e))return a.a=W,sa(a),$(a.a!=L),0;a.Ob=cd;b.width=c[0];b.height=d[0];a.Wa=Cb;return!Ka(c[0],d[0],1,a,p)?(sa(a),$(a.a!=L),0):1}function og(a){var b= +p,c=p;if(a==p)return 0;b=a.N;$(b!=p);c=b.ka;$(c!=p);a.Ib=c.j;a.Hc=c.Hc;$(a.Ib!=p);if(!Ne(c.Qa,b,Pa))return a.a=ta,sa(a),$(a.a!=L),0;if(!xd(a,b.width)||b.I&&!AllocateAndInitRescaler(a,b))return sa(a),$(a.a!=L),0;a.Wa=Db;if(!lc(a,a.V,a.Ha,a.l,a.v,Yf))return sa(a),$(a.a!=L),0;c.ec=a.xa;sa(a);return 1}function wa(a,b){return 0>a?0:a>b?b:a}function ab(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,C,w,z){var y,G=C-1>>1,F=e[g+0]|k[h+0]<<16,B=f[l+0]|m[t+0]<<16;if(a){var D=3*F+B+131074>>2;w(a[b+0],D&255,D>>16,q,r)}c&&(D= +3*B+F+131074>>2,w(c[d+0],D&255,D>>16,u,v));for(y=1;y<=G;++y){var J=e[g+y]|k[h+y]<<16,L=f[l+y]|m[t+y]<<16,D=F+J+B+L+524296,O=D+2*(J+B)>>3,H=D+2*(F+L)>>3;a&&(D=O+F>>1,F=H+J>>1,w(a[b+2*y-1],D&255,D>>16,q,r+(2*y-1)*z),w(a[b+2*y-0],F&255,F>>16,q,r+(2*y-0)*z));c&&(D=H+B>>1,F=O+L>>1,w(c[d+2*y-1],D&255,D>>16,u,v+(2*y-1)*z),w(c[d+2*y+0],F&255,F>>16,u,v+(2*y+0)*z));F=J;B=L}C&1||(a&&(D=3*F+B+131074>>2,w(a[b+C-1],D&255,D>>16,q,r+(C-1)*z)),c&&(D=3*B+F+131074>>2,w(c[d+C-1],D&255,D>>16,u,v+(C-1)*z)))}function pg(a, +b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w){ab(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w,hc,3)}function qg(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w){ab(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w,Vc,3)}function Oe(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w){ab(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w,pe,4)}function Pe(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w){ab(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w,oe,4)}function Qe(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w){ab(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w,me,4)}function Re(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w){ab(a,b,c,d,e,g,k,h, +f,l,m,t,q,r,u,v,w,ne,2)}function rg(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w){ab(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u,v,w,le,2)}function Ca(a,b,c,d,e,g,k,h,f,l,m,t,q,r,u){var v;for(v=0;v >>23;q[r]=ca;q=k;r=f+4*m+1;k[f+4*m+1]*t>>>23;q[r]=ca;q=k;r=f+4*m+2;k[f+4*m+2]*t>>>23;q[r]=ca}}b+=g}}function tg(a,b){var c=b.j.c.Va,d=c.y,e=c.D+a.w*c.F, +g=c.c,k=c.B+(a.w>>1)*c.nb,f=c.S,n=c.C+(a.w>>1)*c.rb,l=a.m,m=a.h,t=parseInt((l+1)/2,10),q=parseInt((m+1)/2,10),r;for(r=0;r >4;l[m+2*q]=l[m+2*q]&240|r;t&=r}d+=a.width;m+=f.f}15!=t&&F(g)&&WebPApplyAlphaMultiply4444(l,n,e,h,f.f)}return 0}function vd(a){var b=a.ka,c=b.j.J,d=c< +ua,e=c==jb||c==Pa||c==Ab||c==kb||c==Ra||F(c);b.memory=p;b.$a=p;b.zb=p;b.ad=p;if(!Ne(b.Qa,a,e?ua:Ra))return 0;if(a.I){if(!(d?InitRGBRescaler(a,b):InitYUVRescaler(a,b)))return alert("memory error #1"),0}else{if(d){if(b.$a=ug,a.Bb){var g=a.m+1>>1,f=a.m+2*g,h,n=[];for(h=0;h a;++a)Za[a]=89858*(a-128)+Jb>>ea,wb[a]=-22014*(a-128)+Jb,vb[a]=-45773*(a-128),xb[a]=113618*(a-128)+Jb>>ea;for(a=J;a >ea,ia[a-J]=wa(b,255),Hb[a-J]=wa(b+8>>4,15);Xe=1}return 1}function ud(a){var b=a.ka,c=a.m,d=a.h;$(!(a.w&1));if(0>=c||0>=d)return 0;c=b.$a(a,b);b.ec+=c;b.zb&&b.zb(a,b);return 1}function wd(a){a=a.ka;a.memory="";a.memory=p}function ed(a, +b){return a[b+0]|a[b+1]<<8|a[b+2]<<16}function Kb(a,b){return(ed(a,b)|a[b+3]<<24)>>>0}function Ye(a,b,c,d,e,g,f){var h=0,n=[0],l="VP8StatusCode",m=M(Gc);if(a==p||c[0] =Lb&&!kd(a,b[0],"RIFF",O)){if(kd(a,b[0]+8,"WEBP",O)){l=W;break a}var t=Kb(a,b[0]+O);if(t
=Ag){l=W;break a}t!=p&&(t[0]=u);d!=p&&(d[0]=q);e!=p&&(e[0]=r);b[0]+=l;c[0]-=l;n[0]=1}l=L}if(l!=L)return l;if(!h&&n[0])return W;g!=p&&(g[0]=!!(t[0]&Bg));if(n&&f==p)return L;if(c n){l=W;break a}if(u =q&&r>n-q){l=W;break a}h[0]=r;b[0]+=R;c[0]-=R;t[0]=l}else t[0]=1<=c&&a[b+0]==ve,h[0]=c[0];l=L}m.ta=m.ta[0];m.ia=m.ia[0];if(l!=L)return l;if(m.ta>Ze)return W;if(m.ia){if(c[0]<$e)return Z;n=b[0];h=c[0];d=d?d[0]:p;e=e?e[0]:p;t=g?g[0]:p;a==p||h<$e?a=0:(l=[s],q=[s],r=[s],u=M(af),Rb(u,a,n,h),ue(u,l,q,r)?(d!=p&&(d[0]=l[0]),e!=p&&(e[0]=q[0]),t!=p&&(t[0]=r[0]),a=1):a=0)}else{if(c >1&7)||!(h>>4&1)||h>>5>=m.ta?a=0:(d&&(d[0]=t),e&&(e[0]=a),a=1)):a=0}if(!a)return W;g!=p&&(g[0]|=m.$!=p);f!=p&&(f[0]=m,f[0].offset=b[0]-f[0].b,$(b[0]-f[0].b g||0>f||0>=h||0>=n||g+h>d||f+n>e))return 0;b.t=g;b.k=f;b.Ka=g+h;b.K=f+n;b.m=h;b.h=n;b.I=a!=p&&0 =a.Ba||0>=a.Aa)return 0;b.Ba=a.Ba;b.Aa=a.Aa}b.Za=a&&a.Za;b.Bb=a==p||!a.ed;b.I&&(b.Za=b.Ba<3*d/4&&b.Aa<3*e/4,b.Bb=0);return 1}var na=512,Qa=0,jb=1,Zc=2,Pa=3,Ab=4,kb=5,Fe=6,Ob=7,Pb=8,Bb=9,Qb=10,ua=11,Ra=12,Cc=13;this.WEBP_CSP_MODE=this.Cd={nd:0,od:1,kd:2,ld:3,jd:4,pd:5, +qd:6,rd:7,sd:8,md:9};var gd={J:"WEBP_CSP_MODE",width:s,height:s,Fc:s,c:{RGBA:{ma:x,Sa:0,f:s,size:Mb},Va:{y:x,c:x,S:x,p:x,D:x,B:x,C:x,q:x,F:s,nb:s,rb:s,Fa:s,Wc:Mb,Rc:Mb,Uc:Mb,Wb:Mb}},Ic:U(4,E),Jb:p,jc:x},L=0,cb=1,ta=2,W=3,Hf=4,Ie=5,Nf=6,Z=7;this.VP8StatusCode=this.td={xd:0,yd:1,vd:2,ud:3,Ad:4,zd:5,Bd:6,wd:7};var ef={width:{value:s},height:{value:s},$b:{value:s},tc:s,Yd:s,rotate:s,be:s,Ic:U(3,E)};this.WebPGetFeatures=this.Md=function(a,b,c){var d="VP8StatusCode";na>>>8!=na>>>8||c==p?a=ta:(b=[b],d=hd(a, +[0],b,c),a=d==Z?W:d);return a};var ff={Za:s,ed:s,Ua:s,t:s,k:s,wc:s,vc:s,I:s,Ba:s,Aa:s,ae:s,Td:s,Xd:s,Ic:U(6,E)};this.WebPDecoderConfig=this.Kd={input:M(ef),j:M(gd),options:M(ff)};this.WebPInitDecoderConfig=this.Nd=function(a){na>>>8!=na>>>8||a==p?a=0:(a=a.input,$(a!=p),a.tc=0,a=1);return a};var Vb={width:s,height:s,w:s,m:s,h:s,y:x,c:x,S:x,D:0,B:0,C:0,F:s,Da:s,ka:0,put:0,Mb:0,Pb:0,Bb:s,e:Mb,data:x,b:0,Za:s,Ua:s,t:s,Ka:s,k:s,K:s,I:s,Ba:s,Aa:s,p:x,q:0},df={j:M(gd),Sb:x,Qb:x,lc:x,Tb:0,Rb:0,mc:0,ec:s, +Qa:M(ff),memory:0,$a:"(OutputFunc)",zb:"(OutputFunc)",ad:"(OutputRowFunc)"},Gc={data:x,b:x,e:Mb,offset:Mb,$:p,G:x,pa:Mb,ta:Mb,na:Mb,ia:s},Fc={qa:x,Ia:p,Pd:x,Ab:s,la:E,Z:E,gc:s},af={T:bb,qa:x,Ia:x,ya:Mb,Q:Mb,g:s,L:s,fa:s},gf=25,hf=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],bf=10,ve=47,we=14,Wf=3,$e=5,fg=11,Yc=5,qe=4278190080,jg=8,Tb=15,Ba=256,Ge=24,Je=4,Be=0,De=1,Ae=2,Ee=3,Ub=1,kc=0,kf=1,rd=1,O=4,R=8,Lb=12,fd=10, +Bg=16,Ag=1*Math.pow(2,32),Ze=-1-R-1>>>0,jf={kc:s,s:s},Le={Y:"HuffmanTreeNode*",gb:s,Pa:s},pd=-1,Dg={ea:E,bb:s},ad=506832829,$b=0,ge=$b,fe=2,ee=3,de=1,Ef=4,Df=5,Cf=6,Ld=3,xa=4,Hc=4,Gf=4,Md=4,Nd=8,Kc=3,Lc=11,f=32,Pf=17*f+9*f,Tc=1*f+8,Uc=Tc+16*f+f,he=Uc+16,Id={fb:x,Jc:x,Nc:x,Ra:E},Jd={l:0,v:0,gd:x,hd:x,uc:x,$c:x},Eg={pb:s,ob:s,tb:s,Kb:U(xa,0),Cb:U(xa,0)},Fg={Ta:U(Ld,x),z:md([Md,Nd,Kc,Lc],x)},Gg={Oc:s,Fb:s,kb:s,oc:s,Lc:U(Hc,s),Gc:U(Hc,s)},Oc={zc:s,yc:s,ab:s},Qd={X:s,ua:s,Nb:s},id=U(2,s),Hg={sc:M(id), +sb:M(id),qc:M(id)},Ig={ha:s,d:s,W:s,M:Oc,N:Vb},Cg={a:"VP8StatusCode",za:s,xc:0,o:M(Fc),Ac:M(Id),P:M(Jd),ga:M(Gg),Ca:M(Eg),rc:"WebPWorker",qb:s,Ja:s,jb:s,oa:Ig,Ma:s,hb:s,lb:s,mb:s,wb:s,Ya:s,Hb:s,ic:ld(8,Fc),Zc:E,yb:ld(xa,Hg),R:M(Fg),pc:s,Pc:x,dc:x,cc:U(4,x),Xc:x,Sc:x,Vc:x,La:M(Qd),M:M(Oc),Ea:x,z:0,ca:x,aa:x,ra:x,da:s,ba:s,sa:s,H:s,r:s,ib:0,Gb:Mb,i:s,d:s,wa:x,Eb:U(16,x),Vd:0,Tc:x,Lb:x,ja:E,Oa:E,A:s,W:s,Zb:U(xa,x),Ga:p,G:0,ub:Mb,Xb:x,Od:0,cd:s,dd:x,Wd:0,fc:Mb},Db=0,Cb=1,cd=2,Jg={Qc:"VP8LImageTransformType", +n:s,U:s,Vb:s,u:E,b:E},gg={va:ld(Yc,Le)},Kg={xb:s,Yb:M(Dg),Dc:s,eb:s,Ec:s,ac:E,bd:E,hc:s,Db:"HTreeGroup"},eg={a:"VP8StatusCode",Wa:"VP8LDecodeState",Ob:"VP8LDecodeState",N:"VP8Io",Ib:"WebPDecBuffer",Hc:"WebPDecBuffer",V:E,Ha:E,Xa:E,vb:E,o:M(af),l:s,v:s,O:s,xa:s,cb:M(Kg),Na:s,nc:ld(Je,Jg),Ub:E,Mc:x,$d:x,Zd:"*WebPRescaler"},lf=4,nf=[p,function(a,b,c,d,e,g,f,h){var n=s,l=h;$(a!=p);$(f!=p);$(0 =c*e);for(n=0;n =c*e);N(k,h,a,b,e);Ea(a,b+e,k,l,k,h+e,e*(c-1));for(n=1;n =c*e);N(k,h,a,b,e);Ea(a,b+e,k,n,k,h+e,e*(c-1));for(l=1;l t?0:255 d;++d)c+=a[b+d-f]+a[b-1+d*f];c>>=3;for(d=0;4>d;++d)jd(a,b+d*f,c,4)},function(a,b){Dc(a,b,4)},function(a,b){var c=b-f,d=[];d.push(y(a[c-1],a[c+0],a[c+1]));d.push(y(a[c+0],a[c+1],a[c+2]));d.push(y(a[c+1],a[c+2],a[c+3]));d.push(y(a[c+2],a[c+3],a[c+4]));for(c=0;4>c;++c)N(a,b+c*f,d,0,4)}, +function(a,b){var c=a[b-1],d=a[b-1+f],e=a[b-1+2*f],g=a[b-1+3*f];a[b+0+0*f]=a[b+1+0*f]=a[b+2+0*f]=a[b+3+0*f]=y(a[b-1-f],c,d);a[b+0+1*f]=a[b+1+1*f]=a[b+2+1*f]=a[b+3+1*f]=y(c,d,e);a[b+0+2*f]=a[b+1+2*f]=a[b+2+2*f]=a[b+3+2*f]=y(d,e,g);a[b+0+3*f]=a[b+1+3*f]=a[b+2+3*f]=a[b+3+3*f]=y(e,g,g)},function(a,b){var c=a[b-1+0*f],d=a[b-1+1*f],e=a[b-1+2*f],g=a[b-1-f],k=a[b+0-f],h=a[b+1-f],n=a[b+2-f],l=a[b+3-f];a[b+0+3*f]=y(d,e,a[b-1+3*f]);a[b+0+2*f]=a[b+1+3*f]=y(c,d,e);a[b+0+1*f]=a[b+1+2*f]=a[b+2+3*f]=y(g,c,d);a[b+ +0+0*f]=a[b+1+1*f]=a[b+2+2*f]=a[b+3+3*f]=y(k,g,c);a[b+1+0*f]=a[b+2+1*f]=a[b+3+2*f]=y(h,k,g);a[b+2+0*f]=a[b+3+1*f]=y(n,h,k);a[b+3+0*f]=y(l,n,h)},function(a,b){var c=a[b-1+0*f],d=a[b-1+1*f],e=a[b-1+2*f],g=a[b-1-f],k=a[b+0-f],h=a[b+1-f],n=a[b+2-f],l=a[b+3-f];a[b+0+0*f]=a[b+1+2*f]=g+k+1>>1;a[b+1+0*f]=a[b+2+2*f]=k+h+1>>1;a[b+2+0*f]=a[b+3+2*f]=h+n+1>>1;a[b+3+0*f]=n+l+1>>1;a[b+0+3*f]=y(e,d,c);a[b+0+2*f]=y(d,c,g);a[b+0+1*f]=a[b+1+3*f]=y(c,g,k);a[b+1+1*f]=a[b+2+3*f]=y(g,k,h);a[b+2+1*f]=a[b+3+3*f]=y(k,h,n); +a[b+3+1*f]=y(h,n,l)},function(a,b){var c=a[b+1-f],d=a[b+2-f],e=a[b+3-f],g=a[b+4-f],k=a[b+5-f],h=a[b+6-f],n=a[b+7-f];a[b+0+0*f]=y(a[b+0-f],c,d);a[b+1+0*f]=a[b+0+1*f]=y(c,d,e);a[b+2+0*f]=a[b+1+1*f]=a[b+0+2*f]=y(d,e,g);a[b+3+0*f]=a[b+2+1*f]=a[b+1+2*f]=a[b+0+3*f]=y(e,g,k);a[b+3+1*f]=a[b+2+2*f]=a[b+1+3*f]=y(g,k,h);a[b+3+2*f]=a[b+2+3*f]=y(k,h,n);a[b+3+3*f]=y(h,n,n)},function(a,b){var c=a[b+0-f],d=a[b+1-f],e=a[b+2-f],g=a[b+3-f],k=a[b+4-f],h=a[b+5-f],n=a[b+6-f],l=a[b+7-f];a[b+0+0*f]=c+d+1>>1;a[b+1+0*f]=a[b+ +0+2*f]=d+e+1>>1;a[b+2+0*f]=a[b+1+2*f]=e+g+1>>1;a[b+3+0*f]=a[b+2+2*f]=g+k+1>>1;a[b+0+1*f]=y(c,d,e);a[b+1+1*f]=a[b+0+3*f]=y(d,e,g);a[b+2+1*f]=a[b+1+3*f]=y(e,g,k);a[b+3+1*f]=a[b+2+3*f]=y(g,k,h);a[b+3+2*f]=y(k,h,n);a[b+3+3*f]=y(h,n,l)},function(a,b){var c=a[b-1+0*f],d=a[b-1+1*f],e=a[b-1+2*f],g=a[b-1+3*f],k=a[b-1-f],h=a[b+0-f],n=a[b+1-f],l=a[b+2-f];a[b+0+0*f]=a[b+2+1*f]=c+k+1>>1;a[b+0+1*f]=a[b+2+2*f]=d+c+1>>1;a[b+0+2*f]=a[b+2+3*f]=e+d+1>>1;a[b+0+3*f]=g+e+1>>1;a[b+3+0*f]=y(h,n,l);a[b+2+0*f]=y(k,h,n);a[b+ +1+0*f]=a[b+3+1*f]=y(c,k,h);a[b+1+1*f]=a[b+3+2*f]=y(d,c,k);a[b+1+2*f]=a[b+3+3*f]=y(e,d,c);a[b+1+3*f]=y(g,e,d)},function(a,b){var c=a[b-1+0*f],d=a[b-1+1*f],e=a[b-1+2*f],g=a[b-1+3*f];a[b+0+0*f]=c+d+1>>1;a[b+2+0*f]=a[b+0+1*f]=d+e+1>>1;a[b+2+1*f]=a[b+0+2*f]=e+g+1>>1;a[b+1+0*f]=y(c,d,e);a[b+3+0*f]=a[b+1+1*f]=y(d,e,g);a[b+3+1*f]=a[b+1+2*f]=y(e,g,g);a[b+3+2*f]=a[b+2+2*f]=a[b+0+3*f]=a[b+1+3*f]=a[b+2+3*f]=a[b+3+3*f]=g}],Vf=[function(a,b){var c=16,d;for(d=0;16>d;++d)c+=a[b-1+d*f]+a[b+d-f];Yb(c>>5,a,b)},function(a, +b){Dc(a,b,16)},function(a,b){var c;for(c=0;16>c;++c)N(a,b+c*f,a,b-f,16)},function(a,b){var c;for(c=16;0 d;++d)c+=a[b-1+d*f];Yb(c>>4,a,b)},function(a,b){var c=8,d;for(d=0;16>d;++d)c+=a[b+d-f];Yb(c>>4,a,b)},function(a,b){Yb(128,a,b)}],je=[function(a,b){var c=8,d;for(d=0;8>d;++d)c+=a[b+d-f]+a[b-1+d*f];Zb(1*(c>>4),a,b)},function(a,b){Dc(a,b,8)},function(a,b){var c;for(c=0;8>c;++c)N(a,b+c*f,a,b-f,8)},function(a,b){var c;for(c=0;8>c;++c)jd(a, +b+0,a[b-1],8),b+=f},function(a,b){var c=4,d;for(d=0;8>d;++d)c+=a[b-1+d*f];Zb(1*(c>>3),a,b)},function(a,b){var c=4,d;for(d=0;8>d;++d)c+=a[b+d-f];Zb(1*(c>>3),a,b)},function(a,b){Zb(128,a,b)}],mc,Pc,Qc,Rc,Sd,Td,Ud,Vd,Wd,Xd,Yd,Zd,$d,ae,be,ce,Pd=31,uc=[0,2,8],Od=3,Of=1,ie=[0+0*f,4+0*f,8+0*f,12+0*f,0+4*f,4+4*f,8+4*f,12+4*f,0+8*f,4+8*f,8+8*f,12+8*f,0+12*f,4+12*f,8+12*f,12+12*f],Ic=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38, +39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],Jc=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96, +98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],Sf=[-$b,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],Ff=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128, +128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128, +128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]], +[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22, +100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13, +224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255, +255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128, +128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216, +205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128, +128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],Rf=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111, +32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22, +64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73, +154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192], +[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160, +1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80, +126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],If=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241, +252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]], +[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255, +255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255, +255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255, +255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255], +[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255, +255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255, +255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253, +255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]];this.WebPGetDecoderVersion=this.Ld=function(){return 512};var Nc=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],Jf=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],Kf=[0,1,4,8,5,2,3,6, +9,12,13,10,7,11,14,15],Tf=md([Kc,Lc],"");U(4,x);var vc=[[0,0,0,0],[1,0,0,0],[0,1,0,0],[1,1,0,0],[0,0,1,0],[1,0,1,0],[0,1,1,0],[1,1,1,0],[0,0,0,1],[1,0,0,1],[0,1,0,1],[1,1,0,1],[0,0,1,1],[1,0,1,1],[0,1,1,1],[1,1,1,1]],Lf=134480385,ea=16,J=-227,dd=482,Ce=[Wc,function(a){return a},function(a,b,c){return b[c+0]},function(a,b,c){return b[c+1]},function(a,b,c){return b[c-1]},function(a,b,c){return ka(ka(a,b[c+1]),b[c+0])},function(a,b,c){return ka(a,b[c-1])},function(a,b,c){return ka(a,b[c+0])},function(a, +b,c){return ka(b[c-1],b[c+0])},function(a,b,c){return ka(b[c+0],b[c+1])},function(a,b,c){return ka(ka(a,b[c-1]),ka(b[c+0],b[c+1]))},function(a,b,c){return 0>=Math.abs((a>>24&255)-(b[c-1]>>24&255))-Math.abs((b[c+0]>>24&255)-(b[c-1]>>24&255))+(Math.abs((a>>16&255)-(b[c-1]>>16&255))-Math.abs((b[c+0]>>16&255)-(b[c-1]>>16&255)))+(Math.abs((a>>8&255)-(b[c-1]>>8&255))-Math.abs((b[c+0]>>8&255)-(b[c-1]>>8&255)))+(Math.abs((a&255)-(b[c-1]&255))-Math.abs((b[c+0]&255)-(b[c-1]&255)))?b[c+0]:a},function(a,b,c){return($a((a>> +24&255)+(b[c+0]>>24&255)-(b[c-1]>>24&255))<<24|$a((a>>16&255)+(b[c+0]>>16&255)-(b[c-1]>>16&255))<<16|$a((a>>8&255)+(b[c+0]>>8&255)-(b[c-1]>>8&255))<<8|$a((a&255)+(b[c+0]&255)-(b[c-1]&255)))>>>0},function(a,b,c){var d=b[c-1];a=ka(a,b[c+0]);return(yb(a>>24&255,d>>24&255)<<24|yb(a>>16&255,d>>16&255)<<16|yb(a>>8&255,d>>8&255)<<8|yb(a>>0&255,d>>0&255))>>>0},Wc,Wc],Xf={Cc:x,Bc:x,Kc:x},$c=16,Me=16,kg=16,mg=[2,3,7],lg=[3,3,11],Zf=0,$f=1,ag=2,bg=3,cg=4,hg=[Ba+Ge,Ba,Ba,Ba,40],Ke=19,ig=[17,18,0,1,2,3,4,5,16, +6,7,8,9,10,11,12,13,14,15],He=120,dg=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Jb=1<