mirror of
https://gitflic.ru/project/photopea-v2/photopea-v-2.git
synced 2026-06-20 15:41:13 +00:00
Download shapes, fix bug in Updater.py that didn't remove unneeded font files, and downloaded new fonts
This commit is contained in:
+390
-387
@@ -6936,372 +6936,375 @@ s+=4;var b=y(K,s);s+=4;var r=y(K,s);s+=4;var v=y(K,s);s+=4;L.width=Q(K,s);s+=2;L
|
||||
L.Q=y(K,s);s+=4;L.frames=Q(K,s);s+=2;L.a2=Q(K,s);s+=2;s+=4;s+=12;s+=4;s+=4;L.z=y(K,s);s+=4;L.v=K[s++];
|
||||
L.a5=y(K,s);s+=4;L.n=K[s++];L.m=K[s++];if(r>=2){L.depth=Q(K,s);s+=2;if(r>=3){s+=3;L.a7=y(K,s);s+=4}}return v}return{decode:a0}}();
|
||||
|
||||
(function(){var a={};if(typeof module=="object"){module.exports=a}else{self.UTIF=a}var aU=typeof require==="function"?require("pako"):self.pako;
|
||||
function aY(){if(typeof process=="undefined"||process.env.NODE_ENV=="development")console.log.apply(console,arguments)}(function(a,aU){(function(){"use strict";
|
||||
var x=function I(){function x(U){this.message="JPEG error: "+U}x.prototype=new Error;x.prototype.name="JpegError";
|
||||
x.constructor=x;return x}(),W=function C(){var U=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),K=4017,q=799,y=3406,B=2276,s=1567,l=3784,$=5793,X=2896;
|
||||
function W(r){if(r==null)r={};if(r.w==null)r.w=-1;this.V=r.n;this.N=r.w}function Z(r,u){var N=0,h=[],O,Y,i=16,F;
|
||||
while(i>0&&!r[i-1]){i--}h.push({children:[],index:0});var E=h[0];for(O=0;O<i;O++){for(Y=0;Y<r[O];Y++){E=h.pop();
|
||||
E.children[E.index]=u[N];while(E.index>0){E=h.pop()}E.index++;h.push(E);while(h.length<=O){h.push(F={children:[],index:0});
|
||||
E.children[E.index]=F.children;E=F}N++}if(O+1<i){h.push(F={children:[],index:0});E.children[E.index]=F.children;
|
||||
E=F}}return h[0].children}function g(r,u,N){return 64*((r.P+1)*u+N)}function f(r,u,N,h,O,Y,i,F,E,v){if(v==null)v=!1;
|
||||
var R=N.m,t=N.Z,_=u,A=0,d=0,G=0,V=0,aa,z=0,b,H,P,J,b8,b3,aw=0,ac,aS,aF,b5;function w(){if(d>0){d--;return A>>d&1}A=r[u++];
|
||||
if(A===255){var a$=r[u++];if(a$){if(a$===220&&v){u+=2;var aP=o(r,u);u+=2;if(aP>0&&aP!==N.s){throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",aP)}}else if(a$===217){if(v){var a1=z*8;
|
||||
if(a1>0&&a1<N.s/10){throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, "+"possibly caused by incorrect `scanLines` parameter",a1)}}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new x("unexpected marker")}}d=7;
|
||||
return A>>>7}function av(a$){var aP=a$;while(!0){aP=aP[w()];switch(typeof aP){case"number":return aP;
|
||||
case"object":continue}throw new x("invalid huffman sequence")}}function af(a$){var b8=0;while(a$>0){b8=b8<<1|w();
|
||||
a$--}return b8}function ap(a$){if(a$===1){return w()===1?1:-1}var b8=af(a$);if(b8>=1<<a$-1){return b8}return b8+(-1<<a$)+1}function ae(b,a$){var aP=av(b.J),a1=aP===0?0:ap(aP),J=1;
|
||||
b.D[a$]=b.Q+=a1;while(J<64){var aX=av(b.i),aq=aX&15,aE=aX>>4;if(aq===0){if(aE<15){break}J+=16;continue}J+=aE;
|
||||
var a4=U[J];b.D[a$+a4]=ap(aq);J++}}function ad(b,a$){var aP=av(b.J),a1=aP===0?0:ap(aP)<<E;b.D[a$]=b.Q+=a1}function b6(b,a$){b.D[a$]|=w()<<E}function aI(b,a$){if(G>0){G--;
|
||||
return}var J=Y,aP=i;while(J<=aP){var a1=av(b.i),aX=a1&15,aq=a1>>4;if(aX===0){if(aq<15){G=af(aq)+(1<<aq)-1;
|
||||
break}J+=16;continue}J+=aq;var aE=U[J];b.D[a$+aE]=ap(aX)*(1<<E);J++}}function ay(b,a$){var J=Y,aP=i,a1=0,aX,aq;
|
||||
while(J<=aP){var aE=a$+U[J],a4=b.D[aE]<0?-1:1;switch(V){case 0:aq=av(b.i);aX=aq&15;a1=aq>>4;if(aX===0){if(a1<15){G=af(a1)+(1<<a1);
|
||||
V=4}else{a1=16;V=1}}else{if(aX!==1){throw new x("invalid ACn encoding")}aa=ap(aX);V=a1?2:3}continue;
|
||||
case 1:case 2:if(b.D[aE]){b.D[aE]+=a4*(w()<<E)}else{a1--;if(a1===0){V=V===2?3:0}}break;case 3:if(b.D[aE]){b.D[aE]+=a4*(w()<<E)}else{b.D[aE]=aa<<E;
|
||||
V=0}break;case 4:if(b.D[aE]){b.D[aE]+=a4*(w()<<E)}break}J++}if(V===4){G--;if(G===0){V=0}}}function aJ(b,a$,aw,aP,a1){var aX=aw/R|0,aq=aw%R;
|
||||
z=aX*b.A+aP;var aE=aq*b.h+a1,a4=g(b,z,aE);a$(b,a4)}function b7(b,a$,aw){z=aw/b.P|0;var aP=aw%b.P,a1=g(b,z,aP);
|
||||
a$(b,a1)}var ak=h.length;if(t){if(Y===0){b3=F===0?ad:b6}else{b3=F===0?aI:ay}}else{b3=ae}if(ak===1){aS=h[0].P*h[0].c}else{aS=R*N.R}while(aw<=aS){var a3=O?Math.min(aS-aw,O):aS;
|
||||
if(a3>0){for(H=0;H<ak;H++){h[H].Q=0}G=0;if(ak===1){b=h[0];for(b8=0;b8<a3;b8++){b7(b,b3,aw);aw++}}else{for(b8=0;
|
||||
b8<a3;b8++){for(H=0;H<ak;H++){b=h[H];aF=b.h;b5=b.A;for(P=0;P<b5;P++){for(J=0;J<aF;J++){aJ(b,b3,aw,P,J)}}}aw++}}}d=0;
|
||||
ac=Q(r,u);if(!ac){break}if(ac.u){var ax=a3>0?"unexpected":"excessive";u=ac.offset}if(ac.M>=65488&&ac.M<=65495){u+=2}else{break}}return u-_}function m(r,u,N){var h=r.$,O=r.D,Y,i,F,E,v,R,t,_,A,d,G,V,aa,z,b,au,H;
|
||||
if(!h){throw new x("missing required Quantization Table.")}for(var P=0;P<64;P+=8){A=O[u+P];d=O[u+P+1];
|
||||
G=O[u+P+2];V=O[u+P+3];aa=O[u+P+4];z=O[u+P+5];b=O[u+P+6];au=O[u+P+7];A*=h[P];if((d|G|V|aa|z|b|au)===0){H=$*A+512>>10;
|
||||
N[P]=H;N[P+1]=H;N[P+2]=H;N[P+3]=H;N[P+4]=H;N[P+5]=H;N[P+6]=H;N[P+7]=H;continue}d*=h[P+1];G*=h[P+2];V*=h[P+3];
|
||||
aa*=h[P+4];z*=h[P+5];b*=h[P+6];au*=h[P+7];Y=$*A+128>>8;i=$*aa+128>>8;F=G;E=b;v=X*(d-au)+128>>8;_=X*(d+au)+128>>8;
|
||||
R=V<<4;t=z<<4;Y=Y+i+1>>1;i=Y-i;H=F*l+E*s+128>>8;F=F*s-E*l+128>>8;E=H;v=v+t+1>>1;t=v-t;_=_+R+1>>1;R=_-R;
|
||||
Y=Y+E+1>>1;E=Y-E;i=i+F+1>>1;F=i-F;H=v*B+_*y+2048>>12;v=v*y-_*B+2048>>12;_=H;H=R*q+t*K+2048>>12;R=R*K-t*q+2048>>12;
|
||||
t=H;N[P]=Y+_;N[P+7]=Y-_;N[P+1]=i+t;N[P+6]=i-t;N[P+2]=F+R;N[P+5]=F-R;N[P+3]=E+v;N[P+4]=E-v}for(var J=0;
|
||||
J<8;++J){A=N[J];d=N[J+8];G=N[J+16];V=N[J+24];aa=N[J+32];z=N[J+40];b=N[J+48];au=N[J+56];if((d|G|V|aa|z|b|au)===0){H=$*A+8192>>14;
|
||||
if(H<-2040){H=0}else if(H>=2024){H=255}else{H=H+2056>>4}O[u+J]=H;O[u+J+8]=H;O[u+J+16]=H;O[u+J+24]=H;
|
||||
O[u+J+32]=H;O[u+J+40]=H;O[u+J+48]=H;O[u+J+56]=H;continue}Y=$*A+2048>>12;i=$*aa+2048>>12;F=G;E=b;v=X*(d-au)+2048>>12;
|
||||
_=X*(d+au)+2048>>12;R=V;t=z;Y=(Y+i+1>>1)+4112;i=Y-i;H=F*l+E*s+2048>>12;F=F*s-E*l+2048>>12;E=H;v=v+t+1>>1;
|
||||
t=v-t;_=_+R+1>>1;R=_-R;Y=Y+E+1>>1;E=Y-E;i=i+F+1>>1;F=i-F;H=v*B+_*y+2048>>12;v=v*y-_*B+2048>>12;_=H;H=R*q+t*K+2048>>12;
|
||||
R=R*K-t*q+2048>>12;t=H;A=Y+_;au=Y-_;d=i+t;b=i-t;G=F+R;z=F-R;V=E+v;aa=E-v;if(A<16){A=0}else if(A>=4080){A=255}else{A>>=4}if(d<16){d=0}else if(d>=4080){d=255}else{d>>=4}if(G<16){G=0}else if(G>=4080){G=255}else{G>>=4}if(V<16){V=0}else if(V>=4080){V=255}else{V>>=4}if(aa<16){aa=0}else if(aa>=4080){aa=255}else{aa>>=4}if(z<16){z=0}else if(z>=4080){z=255}else{z>>=4}if(b<16){b=0}else if(b>=4080){b=255}else{b>>=4}if(au<16){au=0}else if(au>=4080){au=255}else{au>>=4}O[u+J]=A;
|
||||
O[u+J+8]=d;O[u+J+16]=G;O[u+J+24]=V;O[u+J+32]=aa;O[u+J+40]=z;O[u+J+48]=b;O[u+J+56]=au}}function n(r,u){var N=u.P,h=u.c,O=new Int16Array(64);
|
||||
for(var Y=0;Y<h;Y++){for(var i=0;i<N;i++){var F=g(u,Y,i);m(u,F,O)}}return u.D}function Q(r,u,N){if(N==null)N=u;
|
||||
var h=r.length-1,O=N<u?N:u;if(u>=h){return null}var Y=o(r,u);if(Y>=65472&&Y<=65534){return{u:null,M:Y,offset:u}}var i=o(r,O);
|
||||
while(!(i>=65472&&i<=65534)){if(++O>=h){return null}i=o(r,O)}return{u:Y.toString(16),M:i,offset:O}}W.prototype={parse(r,u){if(u==null)u={};
|
||||
var N=u.F,h=0,O=null,Y=null,i,F,E=0;function v(){var aE=o(r,h);h+=2;var a4=h+aE-2,d=Q(r,a4,h);if(d&&d.u){a4=d.offset}var aZ=r.subarray(h,a4);
|
||||
h+=aZ.length;return aZ}function R(i){var aE=Math.ceil(i.o/8/i.X),a4=Math.ceil(i.s/8/i.B);for(var G=0;
|
||||
G<i.W.length;G++){aI=i.W[G];var aZ=Math.ceil(Math.ceil(i.o/8)*aI.h/i.X),ar=Math.ceil(Math.ceil(i.s/8)*aI.A/i.B),aO=aE*aI.h,aR=a4*aI.A,aj=64*aR*(aO+1);
|
||||
aI.D=new Int16Array(aj);aI.P=aZ;aI.c=ar}i.m=aE;i.R=a4}var t=[],_=[],A=[],d=o(r,h);h+=2;if(d!==65496){throw new x("SOI not found")}d=o(r,h);
|
||||
h+=2;markerLoop:while(d!==65497){var G,V,aa;switch(d){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var z=v();
|
||||
if(d===65504){if(z[0]===74&&z[1]===70&&z[2]===73&&z[3]===70&&z[4]===0){O={version:{d:z[5],T:z[6]},K:z[7],j:z[8]<<8|z[9],H:z[10]<<8|z[11],S:z[12],I:z[13],C:z.subarray(14,14+3*z[12]*z[13])}}}if(d===65518){if(z[0]===65&&z[1]===100&&z[2]===111&&z[3]===98&&z[4]===101){Y={version:z[5]<<8|z[6],k:z[7]<<8|z[8],q:z[9]<<8|z[10],a:z[11]}}}break;
|
||||
case 65499:var b=o(r,h),au;h+=2;var H=b+h-2;while(h<H){var P=r[h++],J=new Uint16Array(64);if(P>>4===0){for(V=0;
|
||||
V<64;V++){au=U[V];J[au]=r[h++]}}else if(P>>4===1){for(V=0;V<64;V++){au=U[V];J[au]=o(r,h);h+=2}}else{throw new x("DQT - invalid table spec")}t[P&15]=J}break;
|
||||
case 65472:case 65473:case 65474:if(i){throw new x("Only single frame JPEGs supported")}h+=2;i={};i.G=d===65473;
|
||||
i.Z=d===65474;i.precision=r[h++];var b8=o(r,h),b3,aw=0,ac=0;h+=2;i.s=N||b8;i.o=o(r,h);h+=2;i.W=[];i._={};
|
||||
var aS=r[h++];for(G=0;G<aS;G++){b3=r[h];var aF=r[h+1]>>4,b5=r[h+1]&15;if(aw<aF){aw=aF}if(ac<b5){ac=b5}var w=r[h+2];
|
||||
aa=i.W.push({h:aF,A:b5,L:w,$:null});i._[b3]=aa-1;h+=3}i.X=aw;i.B=ac;R(i);break;case 65476:var av=o(r,h);
|
||||
h+=2;for(G=2;G<av;){var af=r[h++],ap=new Uint8Array(16),ae=0;for(V=0;V<16;V++,h++){ae+=ap[V]=r[h]}var ad=new Uint8Array(ae);
|
||||
for(V=0;V<ae;V++,h++){ad[V]=r[h]}G+=17+ae;(af>>4===0?A:_)[af&15]=Z(ap,ad)}break;case 65501:h+=2;F=o(r,h);
|
||||
h+=2;break;case 65498:var b6=++E===1&&!N,aI;h+=2;var ay=r[h++],aJ=[];for(G=0;G<ay;G++){var b7=r[h++],ak=i._[b7];
|
||||
aI=i.W[ak];aI.index=b7;var a3=r[h++];aI.J=A[a3>>4];aI.i=_[a3&15];aJ.push(aI)}var ax=r[h++],a$=r[h++],aP=r[h++];
|
||||
try{var a1=f(r,h,i,aJ,F,ax,a$,aP>>4,aP&15,b6);h+=a1}catch(ex){if(ex instanceof DNLMarkerError){return this.parse(r,{F:ex.s})}else if(ex instanceof EOIMarkerError){break markerLoop}throw ex}break;
|
||||
case 65500:h+=4;break;case 65535:if(r[h]!==255){h--}break;default:var aX=Q(r,h-2,h-3);if(aX&&aX.u){h=aX.offset;
|
||||
break}if(h>=r.length-1){break markerLoop}throw new x("JpegImage.parse - unknown marker: "+d.toString(16))}d=o(r,h);
|
||||
h+=2}this.width=i.o;this.height=i.s;this.g=O;this.b=Y;this.W=[];for(G=0;G<i.W.length;G++){aI=i.W[G];
|
||||
var aq=t[aI.L];if(aq){aI.$=aq}this.W.push({index:aI.index,e:n(i,aI),l:aI.h/i.X,t:aI.A/i.B,P:aI.P,c:aI.c})}this.p=this.W.length;
|
||||
return undefined},Y(r,u,N){if(N==null)N=!1;var h=this.width/r,O=this.height/u,Y,i,F,E,v,R,t,_,A,d,G=0,V,aa=this.W.length,z=r*u*aa,b=new Uint8ClampedArray(z),au=new Uint32Array(r),H=4294967288,P;
|
||||
for(t=0;t<aa;t++){Y=this.W[t];i=Y.l*h;F=Y.t*O;G=t;V=Y.e;E=Y.P+1<<3;if(i!==P){for(v=0;v<r;v++){_=0|v*i;
|
||||
au[v]=(_&H)<<3|_&7}P=i}for(R=0;R<u;R++){_=0|R*F;d=E*(_&H)|(_&7)<<3;for(v=0;v<r;v++){b[G]=V[d+au[v]];
|
||||
G+=aa}}}var J=this.V;if(!N&&aa===4&&!J){J=new Int32Array([-256,255,-256,255,-256,255,-256,255])}if(J){for(t=0;
|
||||
t<z;){for(_=0,A=0;_<aa;_++,t++,A+=2){b[t]=(b[t]*J[A]>>8)+J[A+1]}}}return b},get f(){if(this.b){return!!this.b.a}if(this.p===3){if(this.N===0){return!1}else if(this.W[0].index===82&&this.W[1].index===71&&this.W[2].index===66){return!1}return!0}if(this.N===1){return!0}return!1},z:function a6(r){var u,N,h;
|
||||
for(var O=0,Y=r.length;O<Y;O+=3){u=r[O];N=r[O+1];h=r[O+2];r[O]=u-179.456+1.402*h;r[O+1]=u+135.459-.344*N-.714*h;
|
||||
r[O+2]=u-226.816+1.772*N}return r},O:function p(r){var u,N,h,O,Y=0;for(var i=0,F=r.length;i<F;i+=4){u=r[i];
|
||||
N=r[i+1];h=r[i+2];O=r[i+3];r[Y++]=-122.67195406894+N*(-660635669420364e-19*N+.000437130475926232*h-54080610064599e-18*u+.00048449797120281*O-.154362151871126)+h*(-.000957964378445773*h+.000817076911346625*u-.00477271405408747*O+1.53380253221734)+u*(.000961250184130688*u-.00266257332283933*O+.48357088451265)+O*(-.000336197177618394*O+.484791561490776);
|
||||
r[Y++]=107.268039397724+N*(219927104525741e-19*N-.000640992018297945*h+.000659397001245577*u+.000426105652938837*O-.176491792462875)+h*(-.000778269941513683*h+.00130872261408275*u+.000770482631801132*O-.151051492775562)+u*(.00126935368114843*u-.00265090189010898*O+.25802910206845)+O*(-.000318913117588328*O-.213742400323665);
|
||||
r[Y++]=-20.810012546947+N*(-.000570115196973677*N-263409051004589e-19*h+.0020741088115012*u-.00288260236853442*O+.814272968359295)+h*(-153496057440975e-19*h-.000132689043961446*u+.000560833691242812*O-.195152027534049)+u*(.00174418132927582*u-.00255243321439347*O+.116935020465145)+O*(-.000343531996510555*O+.24165260232407)}return r.subarray(0,Y)},r:function ao(r){var u,N,h;
|
||||
for(var O=0,Y=r.length;O<Y;O+=4){u=r[O];N=r[O+1];h=r[O+2];r[O]=434.456-u-1.402*h;r[O+1]=119.541-u+.344*N+.714*h;
|
||||
r[O+2]=481.816-u-1.772*N}return r},U:function T(r){var u,N,h,O,Y=0;for(var i=0,F=r.length;i<F;i+=4){u=r[i];
|
||||
N=r[i+1];h=r[i+2];O=r[i+3];r[Y++]=255+u*(-6747147073602441e-20*u+.0008379262121013727*N+.0002894718188643294*h+.003264231057537806*O-1.1185611867203937)+N*(26374107616089404e-21*N-8626949158638572e-20*h-.0002748769067499491*O-.02155688794978967)+h*(-3878099212869363e-20*h-.0003267808279485286*O+.0686742238595345)-O*(.0003361971776183937*O+.7430659151342254);
|
||||
r[Y++]=255+u*(.00013596372813588848*u+.000924537132573585*N+.00010567359618683593*h+.0004791864687436512*O-.3109689587515875)+N*(-.00023545346108370344*N+.0002702845253534714*h+.0020200308977307156*O-.7488052167015494)+h*(6834815998235662e-20*h+.00015168452363460973*O-.09751927774728933)-O*(.0003189131175883281*O+.7364883807733168);
|
||||
r[Y++]=255+u*(13598650411385308e-21*u+.00012423956175490851*N+.0004751985097583589*h-36729317476630424e-22*O-.05562186980264034)+N*(.00016141380598724676*N+.0009692239130725186*h+.0007782692450036253*O-.44015232367526463)+h*(5.068882914068769e-7*h+.0017778369011375071*O-.7591454649749609)-O*(.0003435319965105553*O+.7063770186160144)}return r.subarray(0,Y)},getData:function(r){var u=r.width,N=r.height,h=r.forceRGB,O=r.isSourcePDF;
|
||||
if(this.p>4){throw new x("Unsupported color mode")}var Y=this.Y(u,N,O);if(this.p===1&&h){var i=Y.length,F=new Uint8ClampedArray(i*3),E=0;
|
||||
for(var v=0;v<i;v++){var R=Y[v];F[E++]=R;F[E++]=R;F[E++]=R}return F}else if(this.p===3&&this.f){return this.z(Y)}else if(this.p===4){if(this.f){if(h){return this.O(Y)}return this.r(Y)}else if(h){return this.U(Y)}}return Y}};
|
||||
return W}();function S(U,K){return U[K]<<24>>24}function o(U,K){return U[K]<<8|U[K+1]}function j(U,K){return(U[K]<<24|U[K+1]<<16|U[K+2]<<8|U[K+3])>>>0}a.JpegDecoder=W}());
|
||||
a.encodeImage=function(x,W,I,C){var o={t256:[W],t257:[I],t258:[8,8,8,8],t259:[1],t262:[2],t273:[1e3],t277:[4],t278:[I],t279:[W*I*4],t282:[[72,1]],t283:[[72,1]],t284:[1],t286:[[0,1]],t287:[[0,1]],t296:[1],t305:["Photopea (UTIF.js)"],t338:[1]};
|
||||
if(C)for(var j in C)o[j]=C[j];var U=new Uint8Array(a.encode([o])),K=new Uint8Array(x),q=new Uint8Array(1e3+W*I*4);
|
||||
for(var j=0;j<U.length;j++)q[j]=U[j];for(var j=0;j<K.length;j++)q[1e3+j]=K[j];return q.buffer};a.encode=function(x){var W=!1,I=new Uint8Array(2e4),C=4,S=W?a._binLE:a._binBE,o=8;
|
||||
I[0]=I[1]=W?73:77;S.writeUshort(I,2,42);S.writeUint(I,C,o);C+=4;for(var j=0;j<x.length;j++){var U=a._writeIFD(S,a._types.basic,I,o,x[j]);
|
||||
o=U[1];if(j<x.length-1){if((o&3)!=0)o+=4-(o&3);S.writeUint(I,U[0],o)}}return I.slice(0,o).buffer};a.decode=function(x,W){if(W==null)W={parseMN:!0,debug:!1};
|
||||
var I=new Uint8Array(x),C=0,S=a._binBE.readASCII(I,C,2);C+=2;var o=S=="II"?a._binLE:a._binBE,j=o.readUshort(I,C);
|
||||
C+=2;var U=o.readUint(I,C);C+=4;var K=[];while(!0){var q=o.readUshort(I,U),y=o.readUshort(I,U+4);if(q!=0)if(y<1||13<y){aY("error in TIFF");
|
||||
break}a._readIFD(o,I,U,K,0,W);U=o.readUint(I,U+2+q*12);if(U==0)break}return K};a.decodeImage=function(x,W,I){if(W.data)return;
|
||||
var C=new Uint8Array(x),S=a._binBE.readASCII(C,0,2),U,k=0;if(W.t256==null)return;W.isLE=S=="II";W.width=W.t256[0];
|
||||
W.height=W.t257[0];var o=W.t259?W.t259[0]:1,j=W.t266?W.t266[0]:1;if(W.t284&&W.t284[0]==2)aY("PlanarConfiguration 2 should not be used!");
|
||||
if(o==7&&W.t258&&W.t258.length>3)W.t258=W.t258.slice(0,3);if(W.t258)U=Math.min(32,W.t258[0])*W.t258.length;
|
||||
else U=W.t277?W.t277[0]:1;if(o==1&&W.t279!=null&&W.t278&&W.t262[0]==32803){U=Math.round(W.t279[0]*8/(W.width*W.t278[0]))}if(W.t50885&&W.t50885[0]==4)U=W.t258[0]*3;
|
||||
var K=Math.ceil(W.width*U/8)*8,q=W.t273;if(q==null||W.t322)q=W.t324;var y=W.t279;if(o==1&&q.length==1)y=[W.height*(K>>>3)];
|
||||
if(y==null||W.t322)y=W.t325;var B=new Uint8Array(W.height*(K>>>3));if(W.t322!=null){var s=W.t322[0],l=W.t323[0],$=Math.floor((W.width+s-1)/s),e=Math.floor((W.height+l-1)/l),X=new Uint8Array(Math.ceil(s*l*U/8)|0);
|
||||
console.log("====",$,e);for(var Z=0;Z<e;Z++)for(var g=0;g<$;g++){var n=Z*$+g;X.fill(0);a.decode._decompress(W,I,C,q[n],y[n],o,X,0,j);
|
||||
if(o==6)B=X;else a._copyTile(X,Math.ceil(s*U/8)|0,l,B,Math.ceil(W.width*U/8)|0,W.height,Math.ceil(g*s*U/8)|0,Z*l)}k=B.length*8}else{var Q=W.t278?W.t278[0]:W.height;
|
||||
Q=Math.min(Q,W.height);console.log("====",W.width,Q);for(var n=0;n<q.length;n++){a.decode._decompress(W,I,C,q[n],y[n],o,B,Math.ceil(k/8)|0,j);
|
||||
k+=K*Q}k=Math.min(k,B.length*8)}W.data=new Uint8Array(B.buffer,0,Math.ceil(k/8)|0)};a.decode._decompress=function(x,W,I,C,S,o,j,U,K){if(!1){}else if(o==1)for(var q=0;
|
||||
q<S;q++)j[U+q]=I[C+q];else if(o==3)a.decode._decodeG3(I,C,S,j,U,x.width,K,x.t292?(x.t292[0]&1)==1:!1);
|
||||
else if(o==4)a.decode._decodeG4(I,C,S,j,U,x.width,K);else if(o==5)a.decode._decodeLZW(I,C,S,j,U,8);else if(o==6)a.decode._decodeOldJPEG(x,I,C,S,j,U);
|
||||
else if(o==7||o==34892)a.decode._decodeNewJPEG(x,I,C,S,j,U);else if(o==8||o==32946){var y=new Uint8Array(I.buffer,C,S),B=aU.inflate(y);
|
||||
for(var k=0;k<B.length;k++)j[U+k]=B[k]}else if(o==9)a.decode._decodeVC5(I,C,S,j,U);else if(o==32767)a.decode._decodeARW(x,I,C,S,j,U);
|
||||
else if(o==32773)a.decode._decodePackBits(I,C,S,j,U);else if(o==32809)a.decode._decodeThunder(I,C,S,j,U);
|
||||
else if(o==34713)a.decode._decodeNikon(x,W,I,C,S,j,U);else if(o==34676)a.decode._decodeLogLuv32(x,I,C,S,j,U);
|
||||
else aY("Unknown compression",o);var s=x.t258?Math.min(32,x.t258[0]):1,l=x.t277?x.t277[0]:1,$=s*l>>>3,e=x.t278?x.t278[0]:x.height,X=Math.ceil(s*l*x.width/8);
|
||||
if(s==16&&!x.isLE&&x.t33422==null)for(var Z=0;Z<e;Z++){var g=U+Z*X;for(var f=1;f<X;f+=2){var n=j[g+f];
|
||||
j[g+f]=j[g+f-1];j[g+f-1]=n}}if(x.t317&&x.t317[0]==2){for(var Z=0;Z<e;Z++){var Q=U+Z*X;if(s==16)for(var q=$;
|
||||
q<X;q+=2){var a6=(j[Q+q+1]<<8|j[Q+q])+(j[Q+q-$+1]<<8|j[Q+q-$]);j[Q+q]=a6&255;j[Q+q+1]=a6>>>8&255}else if(l==3)for(var q=3;
|
||||
q<X;q+=3){j[Q+q]=j[Q+q]+j[Q+q-3]&255;j[Q+q+1]=j[Q+q+1]+j[Q+q-2]&255;j[Q+q+2]=j[Q+q+2]+j[Q+q-1]&255}else for(var q=$;
|
||||
q<X;q++)j[Q+q]=j[Q+q]+j[Q+q-$]&255}}};a.decode._decodeVC5=a.decode._decodeVC5=function(){var x=[1,0,1,0,2,2,1,1,3,7,1,2,5,25,1,3,6,48,1,4,6,54,1,5,7,111,1,8,7,99,1,6,7,105,12,0,7,107,1,7,8,209,20,0,8,212,1,9,8,220,1,10,9,393,1,11,9,394,32,0,9,416,1,12,9,427,1,13,10,887,1,18,10,784,1,14,10,790,1,15,10,835,60,0,10,852,1,16,10,885,1,17,11,1571,1,19,11,1668,1,20,11,1669,100,0,11,1707,1,21,11,1772,1,22,12,3547,1,29,12,3164,1,24,12,3166,1,25,12,3140,1,23,12,3413,1,26,12,3537,1,27,12,3539,1,28,13,7093,1,35,13,6283,1,30,13,6331,1,31,13,6335,180,0,13,6824,1,32,13,7072,1,33,13,7077,320,0,13,7076,1,34,14,12565,1,36,14,12661,1,37,14,12669,1,38,14,13651,1,39,14,14184,1,40,15,28295,1,46,15,28371,1,47,15,25320,1,42,15,25336,1,43,15,25128,1,41,15,27300,1,44,15,28293,1,45,16,50259,1,48,16,50643,1,49,16,50675,1,50,16,56740,1,53,16,56584,1,51,16,56588,1,52,17,113483,1,61,17,113482,1,60,17,101285,1,55,17,101349,1,56,17,109205,1,57,17,109207,1,58,17,100516,1,54,17,113171,1,59,18,202568,1,62,18,202696,1,63,18,218408,1,64,18,218412,1,65,18,226340,1,66,18,226356,1,67,18,226358,1,68,19,402068,1,69,19,405138,1,70,19,405394,1,71,19,436818,1,72,19,436826,1,73,19,452714,1,75,19,452718,1,76,19,452682,1,74,20,804138,1,77,20,810279,1,78,20,810790,1,79,20,873638,1,80,20,873654,1,81,20,905366,1,82,20,905430,1,83,20,905438,1,84,21,1608278,1,85,21,1620557,1,86,21,1621582,1,87,21,1621583,1,88,21,1747310,1,89,21,1810734,1,90,21,1810735,1,91,21,1810863,1,92,21,1810879,1,93,22,3621725,1,99,22,3621757,1,100,22,3241112,1,94,22,3494556,1,95,22,3494557,1,96,22,3494622,1,97,22,3494623,1,98,23,6482227,1,102,23,6433117,1,101,23,6989117,1,103,23,6989119,1,105,23,6989118,1,104,23,7243449,1,106,23,7243512,1,107,24,13978233,1,111,24,12964453,1,109,24,12866232,1,108,24,14486897,1,113,24,13978232,1,110,24,14486896,1,112,24,14487026,1,114,24,14487027,1,115,25,25732598,1,225,25,25732597,1,189,25,25732596,1,188,25,25732595,1,203,25,25732594,1,202,25,25732593,1,197,25,25732592,1,207,25,25732591,1,169,25,25732590,1,223,25,25732589,1,159,25,25732522,1,235,25,25732579,1,152,25,25732575,1,192,25,25732489,1,179,25,25732573,1,201,25,25732472,1,172,25,25732576,1,149,25,25732488,1,178,25,25732566,1,120,25,25732571,1,219,25,25732577,1,150,25,25732487,1,127,25,25732506,1,211,25,25732548,1,125,25,25732588,1,158,25,25732486,1,247,25,25732467,1,238,25,25732508,1,163,25,25732552,1,228,25,25732603,1,183,25,25732513,1,217,25,25732587,1,168,25,25732520,1,122,25,25732484,1,128,25,25732562,1,249,25,25732505,1,187,25,25732504,1,186,25,25732483,1,136,25,25928905,1,181,25,25732560,1,255,25,25732500,1,230,25,25732482,1,135,25,25732555,1,233,25,25732568,1,222,25,25732583,1,145,25,25732481,1,134,25,25732586,1,167,25,25732521,1,248,25,25732518,1,209,25,25732480,1,243,25,25732512,1,216,25,25732509,1,164,25,25732547,1,140,25,25732479,1,157,25,25732544,1,239,25,25732574,1,191,25,25732564,1,251,25,25732478,1,156,25,25732546,1,139,25,25732498,1,242,25,25732557,1,133,25,25732477,1,162,25,25732515,1,213,25,25732584,1,165,25,25732514,1,212,25,25732476,1,227,25,25732494,1,198,25,25732531,1,236,25,25732530,1,234,25,25732529,1,117,25,25732528,1,215,25,25732527,1,124,25,25732526,1,123,25,25732525,1,254,25,25732524,1,253,25,25732523,1,148,25,25732570,1,218,25,25732580,1,146,25,25732581,1,147,25,25732569,1,224,25,25732533,1,143,25,25732540,1,184,25,25732541,1,185,25,25732585,1,166,25,25732556,1,132,25,25732485,1,129,25,25732563,1,250,25,25732578,1,151,25,25732501,1,119,25,25732502,1,193,25,25732536,1,176,25,25732496,1,245,25,25732553,1,229,25,25732516,1,206,25,25732582,1,144,25,25732517,1,208,25,25732558,1,137,25,25732543,1,241,25,25732466,1,237,25,25732507,1,190,25,25732542,1,240,25,25732551,1,131,25,25732554,1,232,25,25732565,1,252,25,25732475,1,171,25,25732493,1,205,25,25732492,1,204,25,25732491,1,118,25,25732490,1,214,25,25928904,1,180,25,25732549,1,126,25,25732602,1,182,25,25732539,1,175,25,25732545,1,141,25,25732559,1,138,25,25732537,1,177,25,25732534,1,153,25,25732503,1,194,25,25732606,1,160,25,25732567,1,121,25,25732538,1,174,25,25732497,1,246,25,25732550,1,130,25,25732572,1,200,25,25732474,1,170,25,25732511,1,221,25,25732601,1,196,25,25732532,1,142,25,25732519,1,210,25,25732495,1,199,25,25732605,1,155,25,25732535,1,154,25,25732499,1,244,25,25732510,1,220,25,25732600,1,195,25,25732607,1,161,25,25732604,1,231,25,25732473,1,173,25,25732599,1,226,26,51465122,1,116,26,51465123,0,1],I,C,S,o=[3,3,3,3,2,2,2,1,1,1],j=24576,U=16384,K=8192,q=U|K;
|
||||
function y(m){var n=m[1],p=m[0][n>>>3]>>>7-(n&7)&1;m[1]++;return p}function B(m,n){if(I==null){I={};
|
||||
for(var p=0;p<x.length;p+=4)I[x[p+1]]=x.slice(p,p+4)}var T=y(m),r=I[T];while(r==null){T=T<<1|y(m);r=I[T]}var u=r[3];
|
||||
if(u!=0)u=y(m)==0?u:-u;n[0]=r[2];n[1]=u}function k(m,n){for(var p=0;p<n;p++){if((m&1)==1)m++;m=m>>>1}return m}function s(m,n){return m>>n}function l(m,n,p,T,r,u){n[p]=s(s(11*m[r]-4*m[r+u]+m[r+u+u]+4,3)+m[T],1);
|
||||
n[p+u]=s(s(5*m[r]+4*m[r+u]-m[r+u+u]+4,3)-m[T],1)}function $(m,n,p,T,r,u){var h=m[r-u]-m[r+u],O=m[r],F=m[T];
|
||||
n[p]=s(s(h+4,3)+O+F,1);n[p+u]=s(s(-h+4,3)+O-F,1)}function e(m,n,p,T,r,u){n[p]=s(s(5*m[r]+4*m[r-u]-m[r-u-u]+4,3)+m[T],1);
|
||||
n[p+u]=s(s(11*m[r]-4*m[r-u]+m[r-u-u]+4,3)-m[T],1)}function Z(m){m=m<0?0:m>4095?4095:m;m=S[m]>>>2;return m}function g(m,n,p,T,r){T=new Uint16Array(T.buffer);
|
||||
var u=Date.now(),h=a._binBE,O=n+p,F,t,b2,A,aK,G,b4,V,aa,b0,aG,aD,z,a9,b,aC,D,L;n+=4;while(n<O){var M=h.readShort(m,n),P=h.readUshort(m,n+2);
|
||||
n+=4;if(M==12)F=P;else if(M==20)t=P;else if(M==21)b2=P;else if(M==48)A=P;else if(M==53)aK=P;else if(M==35)G=P;
|
||||
else if(M==62)b4=P;else if(M==101)V=P;else if(M==109)aa=P;else if(M==84)b0=P;else if(M==106)aG=P;else if(M==107)aD=P;
|
||||
else if(M==108)z=P;else if(M==102)a9=P;else if(M==104)b=P;else if(M==105)aC=P;else{var J=M<0?-M:M,aL=J&65280,aM=0;
|
||||
if(J&q){if(J&K){aM=P&65535;aM+=(J&255)<<16}else{aM=P&65535}}if((J&j)==j){if(D==null){D=[];for(var c=0;
|
||||
c<4;c++)D[c]=new Int16Array((t>>>1)*(b2>>>1));L=new Int16Array((t>>>1)*(b2>>>1));C=new Int16Array(1024);
|
||||
for(var c=0;c<1024;c++){var at=c-512,ah=Math.abs(at),F=Math.floor(768*ah*ah*ah/(255*255*255))+ah;C[c]=Math.sign(at)*F}S=new Uint16Array(4096);
|
||||
var b8=(1<<16)-1;for(var c=0;c<4096;c++){var b3=c,am=b8*(Math.pow(113,b3/4095)-1)/112;S[c]=Math.min(am,b8)}}var aA=D[b4],aw=k(t,1+o[A]),aS=k(b2,1+o[A]);
|
||||
if(A==0){for(var w=0;w<aS;w++)for(var ap=0;ap<aw;ap++){var ae=n+(w*aw+ap)*2;aA[w*(t>>>1)+ap]=m[ae]<<8|m[ae+1]}}else{var ad=[m,n*8],b6=[],ay=0,aJ=aw*aS,b7=[0,0],ak=0,P=0;
|
||||
while(ay<aJ){B(ad,b7);ak=b7[0];P=b7[1];while(ak>0){b6[ay++]=P;ak--}}var a3=(A-1)%3,ax=a3!=1?aw:0,a$=a3!=0?aS:0;
|
||||
for(var w=0;w<aS;w++){var aP=(w+a$)*(t>>>1)+ax,a1=w*aw;for(var ap=0;ap<aw;ap++)aA[aP+ap]=C[b6[a1+ap]+512]*aK}if(a3==2){var b=t>>>1,aX=aw*2,aq=aS*2;
|
||||
for(var w=0;w<aS;w++){for(var ap=0;ap<aX;ap++){var c=w*2*b+ap,aE=w*b+ap,a4=aS*b+aE;if(w==0)l(aA,L,c,a4,aE,b);
|
||||
else if(w==aS-1)e(aA,L,c,a4,aE,b);else $(aA,L,c,a4,aE,b)}}var aZ=aA;aA=L;L=aZ;for(var w=0;w<aq;w++){for(var ap=0;
|
||||
ap<aw;ap++){var c=w*b+2*ap,aE=w*b+ap,a4=aw+aE;if(ap==0)l(aA,L,c,a4,aE,1);else if(ap==aw-1)e(aA,L,c,a4,aE,1);
|
||||
else $(aA,L,c,a4,aE,1)}}var aZ=aA;aA=L;L=aZ;var ar=[],aO=2-~~((A-1)/3);for(var aR=0;aR<3;aR++)ar[aR]=aa>>14-aR*2&3;
|
||||
var aj=ar[aO];if(aj!=0)for(var w=0;w<aq;w++)for(var ap=0;ap<aX;ap++){var c=w*b+ap;aA[c]=aA[c]<<aj}}}if(A==9&&b4==3){var aT=D[0],aW=D[1],al=D[2],a_=D[3];
|
||||
for(var w=0;w<b2;w+=2)for(var ap=0;ap<t;ap+=2){var az=w*t+ap,ae=(w>>>1)*(t>>>1)+(ap>>>1),aN=aT[ae],ag=aW[ae]-2048,aB=al[ae]-2048,as=a_[ae]-2048,ai=(ag<<1)+aN,a0=(aB<<1)+aN,b1=aN+as,a5=aN-as;
|
||||
T[az]=Z(ai);T[az+1]=Z(b1);T[az+t]=Z(a5);T[az+t+1]=Z(a0)}}n+=aM*4}else if(J==16388){n+=aM*4}else if(aL==8192||aL==8448||aL==9216){}else throw J.toString(16)}}console.log(Date.now()-u)}return g}();
|
||||
a.decode._decodeLogLuv32=function(x,W,I,C,S,o){var j=x.width,U=j*4,K=0,q=new Uint8Array(U);while(K<C){var y=0;
|
||||
while(y<U){var B=W[I+K];K++;if(B<128){for(var k=0;k<B;k++)q[y+k]=W[I+K+k];y+=B;K+=B}else{B=B-126;for(var k=0;
|
||||
k<B;k++)q[y+k]=W[I+K];y+=B;K++}}for(var s=0;s<j;s++){S[o+0]=q[s];S[o+1]=q[s+j];S[o+2]=q[s+j*2];S[o+4]=q[s+j*3];
|
||||
o+=6}}};a.decode._ljpeg_diff=function(x,W,I){var C=a.decode._getbithuff,S,o;S=C(x,W,I[0],I);o=C(x,W,S,0);
|
||||
if((o&1<<S-1)==0)o-=(1<<S)-1;return o};a.decode._decodeARW=function(x,W,I,C,S,o){var j=x.t256[0],U=x.t257[0],K=x.t258[0],q=x.isLE?a._binLE:a._binBE,y=j*U==C||j*U*1.5==C,Z,X,T,r,u,N,h,O,Y,l,i;
|
||||
if(!y){U+=8;var B=[I,0,0,0],k=new Uint16Array(32770),s=[3857,3856,3599,3342,3085,2828,2571,2314,2057,1800,1543,1286,1029,772,771,768,514,513],l,$,e,X,Z,g=0,f=a.decode._ljpeg_diff;
|
||||
k[0]=15;for(e=l=0;l<18;l++){var m=32768>>>(s[l]>>>8);for(var $=0;$<m;$++)k[++e]=s[l]}for(X=j;X--;)for(Z=0;
|
||||
Z<U+1;Z+=2){if(Z==U)Z=1;g+=f(W,B,k);if(Z<U){var n=g&4095;a.decode._putsF(S,(Z*j+X)*K,n<<16-K)}}return}if(j*U*1.5==C){for(var l=0;
|
||||
l<C;l+=3){var Q=W[I+l+0],a6=W[I+l+1],p=W[I+l+2];S[o+l]=a6<<4|Q>>>4;S[o+l+1]=Q<<4|p>>>4;S[o+l+2]=p<<4|a6>>>4}return}var ao=new Uint16Array(16),F=new Uint8Array(j+1);
|
||||
for(Z=0;Z<U;Z++){for(var E=0;E<j;E++)F[E]=W[I++];for(i=0,X=0;X<j-30;i+=16){r=2047&(T=q.readUint(F,i));
|
||||
u=2047&T>>>11;N=15&T>>>22;h=15&T>>>26;for(O=0;O<4&&128<<O<=r-u;O++);for(Y=30,l=0;l<16;l++)if(l==N)ao[l]=r;
|
||||
else if(l==h)ao[l]=u;else{ao[l]=((q.readUshort(F,i+(Y>>3))>>>(Y&7)&127)<<O)+u;if(ao[l]>2047)ao[l]=2047;
|
||||
Y+=7}for(l=0;l<16;l++,X+=2){var n=ao[l]<<1;a.decode._putsF(S,(Z*j+X)*K,n<<16-K)}X-=X&1?1:31}}};a.decode._decodeNikon=function(x,W,I,C,S,o,j){var U=[[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,5,4,3,6,2,7,1,0,8,9,11,10,12],[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,57,90,56,39,22,5,4,3,2,1,0,11,12,12],[0,0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0,5,4,6,3,7,2,8,1,9,0,10,11,12],[0,0,1,4,3,1,1,1,1,1,2,0,0,0,0,0,0,5,6,4,7,8,3,9,2,1,0,10,11,12,13,14],[0,0,1,5,1,1,1,1,1,1,1,2,0,0,0,0,0,8,92,75,58,41,7,6,5,4,3,2,1,0,13,14],[0,0,1,4,2,2,3,1,2,0,0,0,0,0,0,0,0,7,6,8,5,9,4,10,3,11,12,2,0,1,13,14]],K=x.t256[0],q=x.t257[0],y=x.t258[0],B=0,k=0,s=a.decode._make_decoder,l=a.decode._getbithuff,$=W[0].exifIFD.makerNote,e=$.t150?$.t150:$.t140,X=0,Z=e[X++],g=e[X++],p=0,n,T,r,u,N,h,O=0;
|
||||
if(Z==73||g==88)X+=2110;if(Z==70)B=2;if(y==14)B+=3;var f=[[0,0],[0,0]],m=x.isLE?a._binLE:a._binBE;for(var n=0;
|
||||
n<2;n++)for(var Q=0;Q<2;Q++){f[n][Q]=m.readShort(e,X);X+=2}var a6=1<<y&32767,ao=m.readShort(e,X);X+=2;
|
||||
if(ao>1)p=Math.floor(a6/(ao-1));if(Z==68&&g==32&&p>0)k=m.readShort(e,562);var Y=[0,0],i=s(U[B]),F=[C,0,0,0];
|
||||
for(O=T=0;T<q;T++){if(k&&T==k){i=s(U[B+1])}for(r=0;r<K;r++){n=l(I,F,i[0],i);u=n&15;N=n>>>4;h=(l(I,F,u-N,0)<<1)+1<<N>>>1;
|
||||
if((h&1<<u-1)==0)h-=(1<<u)-(N==0?1:0);if(r<2)Y[r]=f[T&1][r]+=h;else Y[r&1]+=h;var E=Math.min(Math.max(Y[r&1],0),(1<<y)-1),v=(T*K+r)*y;
|
||||
a.decode._putsF(o,v,E<<16-y)}}};a.decode._putsF=function(x,W,I){I=I<<8-(W&7);var C=W>>>3;x[C]|=I>>>16;
|
||||
x[C+1]|=I>>>8;x[C+2]|=I};a.decode._getbithuff=function(x,W,I,C){var S=0,o=a.decode._get_byte,j,U=W[0],K=W[1],q=W[2],y=W[3];
|
||||
if(I==0||q<0)return 0;while(!y&&q<I&&(j=x[U++])!=-1&&!(y=S&&j==255&&x[U++])){K=(K<<8)+j;q+=8}j=K<<32-q>>>32-I;
|
||||
if(C){q-=C[j+1]>>>8;j=C[j+1]&255}else q-=I;if(q<0)throw"e";W[0]=U;W[1]=K;W[2]=q;W[3]=y;return j};a.decode._make_decoder=function(x){var W,I,C,o,j,U=[],K=17;
|
||||
for(W=16;W!=0&&!x[W];W--);U[0]=W;for(C=I=1;I<=W;I++)for(o=0;o<x[I];o++,++K)for(j=0;j<1<<W-I;j++)if(C<=1<<W)U[C++]=I<<8|x[K];
|
||||
return U};a.decode._decodeNewJPEG=function(x,W,I,C,S,o){C=Math.min(C,W.length-I);var j=x.t347,U=j?j.length:0,K=new Uint8Array(U+C);
|
||||
if(j){var q=216,y=217,B=0;for(var k=0;k<U-1;k++){if(j[k]==255&&j[k+1]==y)break;K[B++]=j[k]}var s=W[I],l=W[I+1];
|
||||
if(s!=255||l!=q){K[B++]=s;K[B++]=l}for(var k=2;k<C;k++)K[B++]=W[I+k]}else for(var k=0;k<C;k++)K[k]=W[I+k];
|
||||
if(x.t262[0]==32803||x.t259[0]==7&&x.t262[0]==34892){var $=x.t258[0],e=a.LosslessJpegDecode(K),X=e.length;
|
||||
if(!1){}else if($==16){if(x.isLE)for(var k=0;k<X;k++){S[o+(k<<1)]=e[k]&255;S[o+(k<<1)+1]=e[k]>>>8}else for(var k=0;
|
||||
k<X;k++){S[o+(k<<1)]=e[k]>>>8;S[o+(k<<1)+1]=e[k]&255}}else if($==14||$==12){var Z=16-$;for(var k=0;k<X;
|
||||
k++)a.decode._putsF(S,k*$,e[k]<<Z)}else if($==8){for(var k=0;k<X;k++)S[o+k]=e[k]}else throw new Error("unsupported bit depth "+$)}else{var g=new a.JpegDecoder;
|
||||
g.parse(K);var f=g.getData({width:g.width,height:g.height,forceRGB:!0,isSourcePDF:!1});for(var k=0;k<f.length;
|
||||
k++)S[o+k]=f[k]}if(x.t262[0]==6)x.t262[0]=2};a.decode._decodeOldJPEGInit=function(x,W,I,C){var S=216,o=217,j=219,U=196,K=221,q=192,y=218,B=0,k=0,s,l,$=!1,e,X,Z,g=x.t513,f=g?g[0]:0,m=x.t514,n=m?m[0]:0,Q=x.t324||x.t273||g,a6=x.t530,p=0,ao=0,T=x.t277?x.t277[0]:1,r=x.t515;
|
||||
if(Q){k=Q[0];$=Q.length>1}if(!$){if(W[I]==255&&W[I+1]==S)return{jpegOffset:I};if(g!=null){if(W[I+f]==255&&W[I+f+1]==S)B=I+f;
|
||||
else aY("JPEGInterchangeFormat does not point to SOI");if(m==null)aY("JPEGInterchangeFormatLength field is missing");
|
||||
else if(f>=k||f+n<=k)aY("JPEGInterchangeFormatLength field value is invalid");if(B!=null)return{jpegOffset:B}}}if(a6!=null){p=a6[0];
|
||||
ao=a6[1]}if(g!=null)if(m!=null)if(n>=2&&f+n<=k){if(W[I+f+n-2]==255&&W[I+f+n-1]==S)s=new Uint8Array(n-2);
|
||||
else s=new Uint8Array(n);for(e=0;e<s.length;e++)s[e]=W[I+f+e];aY("Incorrect JPEG interchange format: using JPEGInterchangeFormat offset to derive tables")}else aY("JPEGInterchangeFormat+JPEGInterchangeFormatLength > offset to first strip or tile");
|
||||
if(s==null){var u=0,N=[];N[u++]=255;N[u++]=S;var h=x.t519;if(h==null)throw new Error("JPEGQTables tag is missing");
|
||||
for(e=0;e<h.length;e++){N[u++]=255;N[u++]=j;N[u++]=0;N[u++]=67;N[u++]=e;for(X=0;X<64;X++)N[u++]=W[I+h[e]+X]}for(Z=0;
|
||||
Z<2;Z++){var O=x[Z==0?"t520":"t521"];if(O==null)throw new Error((Z==0?"JPEGDCTables":"JPEGACTables")+" tag is missing");
|
||||
for(e=0;e<O.length;e++){N[u++]=255;N[u++]=U;var Y=19;for(X=0;X<16;X++)Y+=W[I+O[e]+X];N[u++]=Y>>>8;N[u++]=Y&255;
|
||||
N[u++]=e|Z<<4;for(X=0;X<16;X++)N[u++]=W[I+O[e]+X];for(X=0;X<Y;X++)N[u++]=W[I+O[e]+16+X]}}N[u++]=255;
|
||||
N[u++]=q;N[u++]=0;N[u++]=8+3*T;N[u++]=8;N[u++]=x.height>>>8&255;N[u++]=x.height&255;N[u++]=x.width>>>8&255;
|
||||
N[u++]=x.width&255;N[u++]=T;if(T==1){N[u++]=1;N[u++]=17;N[u++]=0}else for(e=0;e<3;e++){N[u++]=e+1;N[u++]=e!=0?17:(p&15)<<4|ao&15;
|
||||
N[u++]=e}if(r!=null&&r[0]!=0){N[u++]=255;N[u++]=K;N[u++]=0;N[u++]=4;N[u++]=r[0]>>>8&255;N[u++]=r[0]&255}s=new Uint8Array(N)}var i=-1;
|
||||
e=0;while(e<s.length-1){if(s[e]==255&&s[e+1]==q){i=e;break}e++}if(i==-1){var F=new Uint8Array(s.length+10+3*T);
|
||||
F.set(s);var E=s.length;i=s.length;s=F;s[E++]=255;s[E++]=q;s[E++]=0;s[E++]=8+3*T;s[E++]=8;s[E++]=x.height>>>8&255;
|
||||
s[E++]=x.height&255;s[E++]=x.width>>>8&255;s[E++]=x.width&255;s[E++]=T;if(T==1){s[E++]=1;s[E++]=17;s[E++]=0}else for(e=0;
|
||||
e<3;e++){s[E++]=e+1;s[E++]=e!=0?17:(p&15)<<4|ao&15;s[E++]=e}}if(W[k]==255&&W[k+1]==y){var v=W[k+2]<<8|W[k+3];
|
||||
l=new Uint8Array(v+2);l[0]=W[k];l[1]=W[k+1];l[2]=W[k+2];l[3]=W[k+3];for(e=0;e<v-2;e++)l[e+4]=W[k+e+4]}else{l=new Uint8Array(2+6+2*T);
|
||||
var R=0;l[R++]=255;l[R++]=y;l[R++]=0;l[R++]=6+2*T;l[R++]=T;if(T==1){l[R++]=1;l[R++]=0}else for(e=0;e<3;
|
||||
e++){l[R++]=e+1;l[R++]=e<<4|e}l[R++]=0;l[R++]=63;l[R++]=0}return{jpegOffset:I,tables:s,sosMarker:l,sofPosition:i}};
|
||||
a.decode._decodeOldJPEG=function(x,W,I,C,S,o){var j,U,K,q,y,B=a.decode._decodeOldJPEGInit(x,W,I,C);if(B.jpegOffset!=null){U=I+C-B.jpegOffset;
|
||||
q=new Uint8Array(U);for(j=0;j<U;j++)q[j]=W[B.jpegOffset+j]}else{K=B.tables.length;q=new Uint8Array(K+B.sosMarker.length+C+2);
|
||||
q.set(B.tables);y=K;q[B.sofPosition+5]=x.height>>>8&255;q[B.sofPosition+6]=x.height&255;q[B.sofPosition+7]=x.width>>>8&255;
|
||||
q[B.sofPosition+8]=x.width&255;if(W[I]!=255||W[I+1]!=SOS){q.set(B.sosMarker,y);y+=sosMarker.length}for(j=0;
|
||||
j<C;j++)q[y++]=W[I+j];q[y++]=255;q[y++]=EOI}var k=new a.JpegDecoder;k.parse(q);var s=k.getData({width:k.width,height:k.height,forceRGB:!0,isSourcePDF:!1});
|
||||
for(var j=0;j<s.length;j++)S[o+j]=s[j];if(x.t262&&x.t262[0]==6)x.t262[0]=2};a.decode._decodePackBits=function(x,W,I,C,S){var o=new Int8Array(x.buffer),j=new Int8Array(C.buffer),U=W+I;
|
||||
while(W<U){var K=o[W];W++;if(K>=0&&K<128)for(var q=0;q<K+1;q++){j[S]=o[W];S++;W++}if(K>=-127&&K<0){for(var q=0;
|
||||
q<-K+1;q++){j[S]=o[W];S++}W++}}return S};a.decode._decodeThunder=function(x,W,I,C,S){var o=[0,1,0,-1],j=[0,1,2,3,0,-3,-2,-1],U=W+I,K=S*2,q=0;
|
||||
while(W<U){var y=x[W],B=y>>>6,k=y&63;W++;if(B==3){q=k&15;C[K>>>1]|=q<<4*(1-K&1);K++}if(B==0)for(var s=0;
|
||||
s<k;s++){C[K>>>1]|=q<<4*(1-K&1);K++}if(B==2)for(var s=0;s<2;s++){var l=k>>>3*(1-s)&7;if(l!=4){q+=j[l];
|
||||
C[K>>>1]|=q<<4*(1-K&1);K++}}if(B==1)for(var s=0;s<3;s++){var l=k>>>2*(2-s)&3;if(l!=2){q+=o[l];C[K>>>1]|=q<<4*(1-K&1);
|
||||
K++}}}};a.decode._dmap={"1":0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3};a.decode._lens=function(){var x=function(K,q,y,B){for(var k=0;
|
||||
k<q.length;k++)K[q[k]]=y+k*B},W="00110101,000111,0111,1000,1011,1100,1110,1111,10011,10100,00111,01000,001000,000011,110100,110101,"+"101010,101011,0100111,0001100,0001000,0010111,0000011,0000100,0101000,0101011,0010011,0100100,0011000,00000010,00000011,00011010,"+"00011011,00010010,00010011,00010100,00010101,00010110,00010111,00101000,00101001,00101010,00101011,00101100,00101101,00000100,00000101,00001010,"+"00001011,01010010,01010011,01010100,01010101,00100100,00100101,01011000,01011001,01011010,01011011,01001010,01001011,00110010,00110011,00110100",I="0000110111,010,11,10,011,0011,0010,00011,000101,000100,0000100,0000101,0000111,00000100,00000111,000011000,"+"0000010111,0000011000,0000001000,00001100111,00001101000,00001101100,00000110111,00000101000,00000010111,00000011000,000011001010,000011001011,000011001100,000011001101,000001101000,000001101001,"+"000001101010,000001101011,000011010010,000011010011,000011010100,000011010101,000011010110,000011010111,000001101100,000001101101,000011011010,000011011011,000001010100,000001010101,000001010110,000001010111,"+"000001100100,000001100101,000001010010,000001010011,000000100100,000000110111,000000111000,000000100111,000000101000,000001011000,000001011001,000000101011,000000101100,000001011010,000001100110,000001100111",C="11011,10010,010111,0110111,00110110,00110111,01100100,01100101,01101000,01100111,011001100,011001101,011010010,011010011,011010100,011010101,011010110,"+"011010111,011011000,011011001,011011010,011011011,010011000,010011001,010011010,011000,010011011",S="0000001111,000011001000,000011001001,000001011011,000000110011,000000110100,000000110101,0000001101100,0000001101101,0000001001010,0000001001011,0000001001100,"+"0000001001101,0000001110010,0000001110011,0000001110100,0000001110101,0000001110110,0000001110111,0000001010010,0000001010011,0000001010100,0000001010101,0000001011010,"+"0000001011011,0000001100100,0000001100101",o="00000001000,00000001100,00000001101,000000010010,000000010011,000000010100,000000010101,000000010110,000000010111,000000011100,000000011101,000000011110,000000011111";
|
||||
W=W.split(",");I=I.split(",");C=C.split(",");S=S.split(",");o=o.split(",");var j={},U={};x(j,W,0,1);
|
||||
x(j,C,64,64);x(j,o,1792,64);x(U,I,0,1);x(U,S,64,64);x(U,o,1792,64);return[j,U]}();a.decode._decodeG4=function(x,W,I,C,S,o,j){var U=a.decode,K=W<<3,q=0,y="",B=[],k=[],l=0,$=0,e=0,X=0,Z=0,f=0,m=0,n="",Q=0;
|
||||
for(var s=0;s<o;s++)k.push(0);k=U._makeDiff(k);var a6=Math.ceil(o/8)*8;while(K>>>3<W+I){X=U._findDiff(k,l+(l==0?0:1),1-f),Z=U._findDiff(k,X,f);
|
||||
var p=0;if(j==1)p=x[K>>>3]>>>7-(K&7)&1;if(j==2)p=x[K>>>3]>>>(K&7)&1;K++;y+=p;if(n=="H"){if(U._lens[f][y]!=null){var ao=U._lens[f][y];
|
||||
y="";q+=ao;if(ao<64){U._addNtimes(B,q,f);l+=q;f=1-f;q=0;Q--;if(Q==0)n=""}}}else{if(y=="0001"){y="";U._addNtimes(B,Z-l,f);
|
||||
l=Z}if(y=="001"){y="";n="H";Q=2}if(U._dmap[y]!=null){$=X+U._dmap[y];U._addNtimes(B,$-l,f);l=$;y="";f=1-f}}if(B.length==o&&n==""){U._writeBits(B,C,S*8+m*a6);
|
||||
f=0;m++;l=0;k=U._makeDiff(B);B=[]}}};a.decode._findDiff=function(x,W,I){for(var C=0;C<x.length;C+=2)if(x[C]>=W&&x[C+1]==I)return x[C]};
|
||||
a.decode._makeDiff=function(x){var W=[];if(x[0]==1)W.push(0,1);for(var I=1;I<x.length;I++)if(x[I-1]!=x[I])W.push(I,x[I]);
|
||||
W.push(x.length,0,x.length,1);return W};a.decode._decodeG3=function(x,W,I,C,S,o,j,U){var K=a.decode,q=W<<3,y=0,B="",k=[],s=[],$=0,e=0,X=0,Z=0,f=0,m=0,Q="",a6=0,p=!0;
|
||||
for(var l=0;l<o;l++)k.push(0);var n=-1,ao=Math.ceil(o/8)*8;while(q>>>3<W+I){Z=K._findDiff(s,$+($==0?0:1),1-m),f=K._findDiff(s,Z,m);
|
||||
var T=0;if(j==1)T=x[q>>>3]>>>7-(q&7)&1;if(j==2)T=x[q>>>3]>>>(q&7)&1;q++;B+=T;if(p){if(K._lens[m][B]!=null){var r=K._lens[m][B];
|
||||
B="";y+=r;if(r<64){K._addNtimes(k,y,m);m=1-m;y=0}}}else{if(Q=="H"){if(K._lens[m][B]!=null){var r=K._lens[m][B];
|
||||
B="";y+=r;if(r<64){K._addNtimes(k,y,m);$+=y;m=1-m;y=0;a6--;if(a6==0)Q=""}}}else{if(B=="0001"){B="";K._addNtimes(k,f-$,m);
|
||||
$=f}if(B=="001"){B="";Q="H";a6=2}if(K._dmap[B]!=null){e=Z+K._dmap[B];K._addNtimes(k,e-$,m);$=e;B="";
|
||||
m=1-m}}}if(B.endsWith("000000000001")){if(n>=0)K._writeBits(k,C,S*8+n*ao);if(U){if(j==1)p=(x[q>>>3]>>>7-(q&7)&1)==1;
|
||||
if(j==2)p=(x[q>>>3]>>>(q&7)&1)==1;q++}B="";m=0;n++;$=0;s=K._makeDiff(k);k=[]}}if(k.length==o)K._writeBits(k,C,S*8+n*ao)};
|
||||
a.decode._addNtimes=function(x,W,I){for(var C=0;C<W;C++)x.push(I)};a.decode._writeBits=function(x,W,I){for(var C=0;
|
||||
C<x.length;C++)W[I+C>>>3]|=x[C]<<7-(I+C&7)};a.decode._decodeLZW=a.decode._decodeLZW=function(){var x,I,C,S,o=0,j=0,U=0,K=0,q=function(){var Z=x>>>3,f=I[Z]<<16|I[Z+1]<<8|I[Z+2],m=f>>>24-(x&7)-j&(1<<j)-1;
|
||||
x+=j;return m},y=new Uint32Array(4096*4),B=0,k=function(Z){if(Z==B)return;B=Z;U=1<<Z;K=U+1;for(var f=0;
|
||||
f<K+1;f++){y[4*f]=y[4*f+3]=f;y[4*f+1]=65535;y[4*f+2]=1}},s=function(Z){j=Z+1;o=K+1},l=function(Z){var f=Z<<2,m=y[f+2],n=S+m-1;
|
||||
while(f!=65535){C[n--]=y[f];f=y[f+1]}S+=m},$=function(Z,f){var m=o<<2,n=Z<<2;y[m]=y[(f<<2)+3];y[m+1]=n;
|
||||
y[m+2]=y[n+2]+1;y[m+3]=y[n+3];o++;if(o+1==1<<j&&j!=12)j++},e=function(Z,f,m,n,a6,p){x=f<<3;I=Z;C=n;S=a6;
|
||||
var T=f+m<<3,r=0,u=0;k(p);s(p);while(x<T&&(r=q())!=K){if(r==U){s(p);r=q();if(r==K)break;l(r)}else{if(r<o){l(r);
|
||||
$(u,r)}else{$(u,u);l(o-1)}}u=r}return S};return e}();a.tags={};a._types=function(){var x=new Array(250);
|
||||
x.fill(0);x=x.concat([0,0,0,0,4,3,3,3,3,3,0,0,3,0,0,0,3,0,0,2,2,2,2,4,3,0,0,3,4,4,3,3,5,5,3,2,5,5,0,0,0,0,4,4,0,0,3,3,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,2,3,5,5,3,0,3,3,4,4,4,3,4,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);
|
||||
var W={33432:2,33434:5,33437:5,34665:4,34850:3,34853:4,34855:3,34864:3,34866:4,36864:7,36867:2,36868:2,37121:7,37377:10,37378:5,37380:10,37381:5,37383:3,37384:3,37385:3,37386:5,37510:7,37520:2,37521:2,37522:2,40960:7,40961:3,40962:4,40963:4,40965:4,41486:5,41487:5,41488:3,41985:3,41986:3,41987:3,41988:5,41989:3,41990:3,41993:3,41994:3,41995:7,41996:3,42032:2,42033:2,42034:5,42036:2,42037:2,59932:7};
|
||||
return{basic:{main:x,rest:W},gps:{main:[1,2,5,2,5,1,5,5,0,9],rest:{18:2,29:2}}}}();a._readIFD=function(x,W,I,C,S,o){var j=x.readUshort(W,I);
|
||||
I+=2;var U={};if(o.debug)aY(" ".repeat(S),C.length-1,">>>----------------");for(var K=0;K<j;K++){var q=x.readUshort(W,I);
|
||||
I+=2;var y=x.readUshort(W,I);I+=2;var B=x.readUint(W,I);I+=4;var k=x.readUint(W,I);I+=4;var s=[];if(y==1||y==7){s=new Uint8Array(W.buffer,B<5?I-4:k,B)}if(y==2){var l=B<5?I-4:k,$=W[l],e=Math.max(0,Math.min(B-1,W.length-l));
|
||||
if($<128||e==0)s.push(x.readASCII(W,l,e));else s=new Uint8Array(W.buffer,l,e)}if(y==3){for(var X=0;X<B;
|
||||
X++)s.push(x.readUshort(W,(B<3?I-4:k)+2*X))}if(y==4||y==13){for(var X=0;X<B;X++)s.push(x.readUint(W,(B<2?I-4:k)+4*X))}if(y==5||y==10){var Z=y==5?x.readUint:x.readInt;
|
||||
for(var X=0;X<B;X++)s.push([Z(W,k+X*8),Z(W,k+X*8+4)])}if(y==8){for(var X=0;X<B;X++)s.push(x.readShort(W,(B<3?I-4:k)+2*X))}if(y==9){for(var X=0;
|
||||
X<B;X++)s.push(x.readInt(W,(B<2?I-4:k)+4*X))}if(y==11){for(var X=0;X<B;X++)s.push(x.readFloat(W,k+X*4))}if(y==12){for(var X=0;
|
||||
X<B;X++)s.push(x.readDouble(W,k+X*8))}if(B!=0&&s.length==0){aY(q,"unknown TIFF tag type: ",y,"num:",B);
|
||||
if(K==0)return;continue}if(o.debug)aY(" ".repeat(S),q,y,a.tags[q],s);U["t"+q]=s;if(q==330&&U.t272&&U.t272[0]=="DSLR-A100"){}else if(q==330||q==34665||q==34853||q==50740&&x.readUshort(W,x.readUint(s,0))<300||q==61440){var g=q==50740?[x.readUint(s,0)]:s,f=[];
|
||||
for(var X=0;X<g.length;X++)a._readIFD(x,W,g[X],f,S+1,o);if(q==330)U.subIFD=f;if(q==34665)U.exifIFD=f[0];
|
||||
if(q==34853)U.gpsiIFD=f[0];if(q==50740)U.dngPrvt=f[0];if(q==61440)U.fujiIFD=f[0]}if(q==37500&&o.parseMN){var m=s;
|
||||
if(x.readASCII(m,0,5)=="Nikon")U.makerNote=a.decode(m.slice(10).buffer)[0];else if(x.readUshort(W,k)<300&&x.readUshort(W,k+4)<=12){var n=[];
|
||||
a._readIFD(x,W,k,n,S+1,o);U.makerNote=n[0]}}}C.push(U);if(o.debug)aY(" ".repeat(S),"<<<---------------");
|
||||
return I};a._writeIFD=function(x,W,I,C,S){var o=Object.keys(S),j=o.length;if(S.exifIFD)j--;if(S.gpsiIFD)j--;
|
||||
x.writeUshort(I,C,j);C+=2;var U=C+j*12+4;for(var K=0;K<o.length;K++){var q=o[K];if(q=="t34665"||q=="t34853")continue;
|
||||
if(q=="exifIFD")q="t34665";if(q=="gpsiIFD")q="t34853";var y=parseInt(q.slice(1)),B=W.main[y];if(B==null)B=W.rest[y];
|
||||
if(B==null||B==0)throw new Error("unknown type of tag: "+y);var k=S[q];if(y==34665){var s=a._writeIFD(x,W,I,U,S.exifIFD);
|
||||
k=[U];U=s[1]}if(y==34853){var s=a._writeIFD(x,a._types.gps,I,U,S.gpsiIFD);k=[U];U=s[1]}if(B==2)k=k[0]+"\0";
|
||||
var l=k.length;x.writeUshort(I,C,y);C+=2;x.writeUshort(I,C,B);C+=2;x.writeUint(I,C,l);C+=4;var $=[-1,1,1,2,4,8,0,1,0,4,8,0,8][B]*l,e=C;
|
||||
if($>4){x.writeUint(I,C,U);e=U}if(B==1||B==7){for(var X=0;X<l;X++)I[e+X]=k[X]}else if(B==2){x.writeASCII(I,e,k)}else if(B==3){for(var X=0;
|
||||
X<l;X++)x.writeUshort(I,e+2*X,k[X])}else if(B==4){for(var X=0;X<l;X++)x.writeUint(I,e+4*X,k[X])}else if(B==5||B==10){var Z=B==5?x.writeUint:x.writeInt;
|
||||
for(var X=0;X<l;X++){var g=k[X],f=g[0],m=g[1];if(f==null)throw"e";Z(I,e+8*X,f);Z(I,e+8*X+4,m)}}else if(B==9){for(var X=0;
|
||||
X<l;X++)x.writeInt(I,e+4*X,k[X])}else if(B==12){for(var X=0;X<l;X++)x.writeDouble(I,e+8*X,k[X])}else throw B;
|
||||
if($>4){$+=$&1;U+=$}C+=4}return[C,U]};a.toRGBA8=function(x,W){var I=x.width,C=x.height,o=I*C,j=o*4,U=x.data,K=new Uint8Array(o*4),q=x.t262?x.t262[0]:2,y=x.t258?Math.min(32,x.t258[0]):1;
|
||||
if(x.t262==null&&y==1)q=0;if(!1){}else if(q==0){var B=Math.ceil(y*I/8);for(var k=0;k<C;k++){var s=k*B,l=k*I;
|
||||
if(y==1)for(var $=0;$<I;$++){var e=l+$<<2,X=U[s+($>>3)]>>7-($&7)&1;K[e]=K[e+1]=K[e+2]=(1-X)*255;K[e+3]=255}if(y==4)for(var $=0;
|
||||
$<I;$++){var e=l+$<<2,X=U[s+($>>1)]>>4-4*($&1)&15;K[e]=K[e+1]=K[e+2]=(15-X)*17;K[e+3]=255}if(y==8)for(var $=0;
|
||||
$<I;$++){var e=l+$<<2,X=U[s+$];K[e]=K[e+1]=K[e+2]=255-X;K[e+3]=255}}}else if(q==1){var Z=x.t258?x.t258.length:1,B=Math.ceil(Z*y*I/8);
|
||||
if(W==null)W=1/256;for(var k=0;k<C;k++){var s=k*B,l=k*I;if(y==1)for(var $=0;$<I;$++){var e=l+$<<2,X=U[s+($>>3)]>>7-($&7)&1;
|
||||
K[e]=K[e+1]=K[e+2]=X*255;K[e+3]=255}if(y==2)for(var $=0;$<I;$++){var e=l+$<<2,X=U[s+($>>2)]>>6-2*($&3)&3;
|
||||
K[e]=K[e+1]=K[e+2]=X*85;K[e+3]=255}if(y==8)for(var $=0;$<I;$++){var e=l+$<<2,X=U[s+$*Z];K[e]=K[e+1]=K[e+2]=X;
|
||||
K[e+3]=255}if(y==16)for(var $=0;$<I;$++){var e=l+$<<2,f=s+2*$,X=U[f+1]<<8|U[f];K[e]=K[e+1]=K[e+2]=Math.min(255,~~(X*W));
|
||||
K[e+3]=255}}}else if(q==2){var Z=x.t258?x.t258.length:3;if(y==8){if(Z==4)for(var $=0;$<j;$++)K[$]=U[$];
|
||||
if(Z==3)for(var $=0;$<o;$++){var e=$<<2,n=$*3;K[e]=U[n];K[e+1]=U[n+1];K[e+2]=U[n+2];K[e+3]=255}}else if(y==16){if(Z==4)for(var $=0;
|
||||
$<o;$++){var e=$<<2,n=$*8+1;K[e]=U[n];K[e+1]=U[n+2];K[e+2]=U[n+4];K[e+3]=U[n+6]}if(Z==3)for(var $=0;
|
||||
$<o;$++){var e=$<<2,n=$*6+1;K[e]=U[n];K[e+1]=U[n+2];K[e+2]=U[n+4];K[e+3]=255}}else if(y==32){if(!K.isLE)for(var $=0;
|
||||
$<U.length;$+=4){var Q=U[$];U[$]=U[$+3];U[$+3]=Q;Q=U[$+1];U[$+1]=U[$+2];U[$+2]=Q}var a6=new Float32Array(U.buffer);
|
||||
if(Z==3)for(var $=0;$<o;$++){var e=$<<2,n=$*3;K[e]=~~(.5+a6[n]*255);K[e+1]=~~(.5+a6[n+1]*255);K[e+2]=~~(.5+a6[n+2]*255);
|
||||
K[e+3]=255}else throw Z}else throw y}else if(q==3){var p=x.t320,Z=x.t258?x.t258.length:1,B=Math.ceil(Z*y*I/8),ao=1<<y;
|
||||
for(var k=0;k<C;k++)for(var T=0;T<I;T++){var $=k*I+T,e=$<<2,r=0,u=k*B;if(!1){}else if(y==1)r=U[u+(T>>>3)]>>>7-(T&7)&1;
|
||||
else if(y==2)r=U[u+(T>>>2)]>>>6-2*(T&3)&3;else if(y==4)r=U[u+(T>>>1)]>>>4-4*(T&1)&15;else if(y==8)r=U[u+T*Z];
|
||||
else throw y;K[e]=p[r]>>8;K[e+1]=p[ao+r]>>8;K[e+2]=p[ao+ao+r]>>8;K[e+3]=255}}else if(q==5){var Z=x.t258?x.t258.length:4,N=Z>4?1:0;
|
||||
for(var $=0;$<o;$++){var e=$<<2,h=$*Z;if(UDOC){var O=U[h],Y=U[h+1],i=U[h+2],E=U[h+3],v=UDOC.C.cmykToRgb([O*(1/255),Y*(1/255),i*(1/255),E*(1/255)]);
|
||||
K[e]=~~(.5+255*v[0]);K[e+1]=~~(.5+255*v[1]);K[e+2]=~~(.5+255*v[2])}else{var O=255-U[h],Y=255-U[h+1],i=255-U[h+2],E=(255-U[h+3])*(1/255);
|
||||
K[e]=~~(O*E+.5);K[e+1]=~~(Y*E+.5);K[e+2]=~~(i*E+.5)}K[e+3]=255*(1-N)+U[h+4]*N}}else if(q==6&&x.t278){var R=x.t278[0];
|
||||
for(var k=0;k<C;k+=R){var $=k*I,a8=R*I;for(var t=0;t<a8;t++){var e=4*($+t),h=3*$+4*(t>>>1),i=U[h+(t&1)],_=U[h+2]-128,b2=U[h+3]-128,ab=i+((b2>>2)+(b2>>3)+(b2>>5)),A=i-((_>>2)+(_>>4)+(_>>5))-((b2>>1)+(b2>>3)+(b2>>4)+(b2>>5)),aK=i+(_+(_>>1)+(_>>2)+(_>>6));
|
||||
K[e]=Math.max(0,Math.min(255,ab));K[e+1]=Math.max(0,Math.min(255,A));K[e+2]=Math.max(0,Math.min(255,aK));
|
||||
K[e+3]=255}}}else if(q==32845){function d(T){return T<.0031308?12.92*T:1.055*Math.pow(T,1/2.4)-.055}for(var k=0;
|
||||
k<C;k++)for(var T=0;T<I;T++){var h=(k*I+T)*6,e=(k*I+T)*4,b4=U[h+1]<<8|U[h],b4=Math.pow(2,(b4+.5)/256-64),V=(U[h+3]+.5)/410,aa=(U[h+5]+.5)/410,an=9*V/(6*V-16*aa+12),b0=4*aa/(6*V-16*aa+12),aG=b4,aD=an*aG/b0,i=aG,z=(1-an-b0)*aG/b0,ab=2.69*aD-1.276*i-.414*z,A=-1.022*aD+1.978*i+.044*z,aK=.061*aD-.224*i+1.163*z;
|
||||
K[e]=d(Math.min(ab,1))*255;K[e+1]=d(Math.min(A,1))*255;K[e+2]=d(Math.min(aK,1))*255;K[e+3]=255}}else aY("Unknown Photometric interpretation: "+q);
|
||||
return K};a.replaceIMG=function(x){if(x==null)x=document.getElementsByTagName("img");var W=["tif","tiff","dng","cr2","nef"];
|
||||
for(var I=0;I<x.length;I++){var C=x[I],S=C.getAttribute("src");if(S==null)continue;var j=S.split(".").pop().toLowerCase();
|
||||
if(W.indexOf(j)==-1)continue;var U=new XMLHttpRequest;a._xhrs.push(U);a._imgs.push(C);U.open("GET",S);
|
||||
U.responseType="arraybuffer";U.onload=a._imgLoaded;U.send()}};a._xhrs=[];a._imgs=[];a._imgLoaded=function(x){var I=a._xhrs.indexOf(x.target),C=a._imgs[I];
|
||||
a._xhrs.splice(I,1);a._imgs.splice(I,1);C.setAttribute("src",a.bufferToURI(x.target.response))};a.bufferToURI=function(x){var W=a.decode(x),I=W,C=0,S=I[0];
|
||||
if(W[0].subIFD)I=I.concat(W[0].subIFD);for(var o=0;o<I.length;o++){var j=I[o];if(j.t258==null||j.t258.length<3)continue;
|
||||
var U=j.t256*j.t257;if(U>C){C=U;S=j}}a.decodeImage(x,S,W);var K=a.toRGBA8(S),q=S.width,y=S.height,B=document.createElement("canvas");
|
||||
B.width=q;B.height=y;var k=B.getContext("2d"),s=new ImageData(new Uint8ClampedArray(K.buffer),q,y);k.putImageData(s,0,0);
|
||||
return B.toDataURL()};a._binBE={nextZero:function(x,W){while(x[W]!=0)W++;return W},readUshort:function(x,W){return x[W]<<8|x[W+1]},readShort:function(x,W){var I=a._binBE.ui8;
|
||||
I[0]=x[W+1];I[1]=x[W+0];return a._binBE.i16[0]},readInt:function(x,W){var I=a._binBE.ui8;I[0]=x[W+3];
|
||||
I[1]=x[W+2];I[2]=x[W+1];I[3]=x[W+0];return a._binBE.i32[0]},readUint:function(x,W){var I=a._binBE.ui8;
|
||||
I[0]=x[W+3];I[1]=x[W+2];I[2]=x[W+1];I[3]=x[W+0];return a._binBE.ui32[0]},readASCII:function(x,W,I){var C="";
|
||||
for(var S=0;S<I;S++)C+=String.fromCharCode(x[W+S]);return C},readFloat:function(x,W){var I=a._binBE.ui8;
|
||||
for(var C=0;C<4;C++)I[C]=x[W+3-C];return a._binBE.fl32[0]},readDouble:function(x,W){var I=a._binBE.ui8;
|
||||
for(var C=0;C<8;C++)I[C]=x[W+7-C];return a._binBE.fl64[0]},writeUshort:function(x,W,I){x[W]=I>>8&255;
|
||||
x[W+1]=I&255},writeInt:function(x,W,I){var C=a._binBE.ui8;a._binBE.i32[0]=I;x[W+3]=C[0];x[W+2]=C[1];
|
||||
x[W+1]=C[2];x[W+0]=C[3]},writeUint:function(x,W,I){x[W]=I>>24&255;x[W+1]=I>>16&255;x[W+2]=I>>8&255;x[W+3]=I>>0&255},writeASCII:function(x,W,I){for(var C=0;
|
||||
C<I.length;C++)x[W+C]=I.charCodeAt(C)},writeDouble:function(x,W,I){a._binBE.fl64[0]=I;for(var C=0;C<8;
|
||||
C++)x[W+C]=a._binBE.ui8[7-C]}};a._binBE.ui8=new Uint8Array(8);a._binBE.i16=new Int16Array(a._binBE.ui8.buffer);
|
||||
a._binBE.i32=new Int32Array(a._binBE.ui8.buffer);a._binBE.ui32=new Uint32Array(a._binBE.ui8.buffer);
|
||||
a._binBE.fl32=new Float32Array(a._binBE.ui8.buffer);a._binBE.fl64=new Float64Array(a._binBE.ui8.buffer);
|
||||
a._binLE={nextZero:a._binBE.nextZero,readUshort:function(x,W){return x[W+1]<<8|x[W]},readShort:function(x,W){var I=a._binBE.ui8;
|
||||
I[0]=x[W+0];I[1]=x[W+1];return a._binBE.i16[0]},readInt:function(x,W){var I=a._binBE.ui8;I[0]=x[W+0];
|
||||
I[1]=x[W+1];I[2]=x[W+2];I[3]=x[W+3];return a._binBE.i32[0]},readUint:function(x,W){var I=a._binBE.ui8;
|
||||
I[0]=x[W+0];I[1]=x[W+1];I[2]=x[W+2];I[3]=x[W+3];return a._binBE.ui32[0]},readASCII:a._binBE.readASCII,readFloat:function(x,W){var I=a._binBE.ui8;
|
||||
for(var C=0;C<4;C++)I[C]=x[W+C];return a._binBE.fl32[0]},readDouble:function(x,W){var I=a._binBE.ui8;
|
||||
for(var C=0;C<8;C++)I[C]=x[W+C];return a._binBE.fl64[0]},writeUshort:function(x,W,I){x[W]=I&255;x[W+1]=I>>8&255},writeInt:function(x,W,I){var C=a._binBE.ui8;
|
||||
a._binBE.i32[0]=I;x[W+0]=C[0];x[W+1]=C[1];x[W+2]=C[2];x[W+3]=C[3]},writeUint:function(x,W,I){x[W]=I>>>0&255;
|
||||
x[W+1]=I>>>8&255;x[W+2]=I>>>16&255;x[W+3]=I>>>24&255},writeASCII:a._binBE.writeASCII};a._copyTile=function(x,W,I,C,S,o,j,U){var K=Math.min(W,S-j),q=Math.min(I,o-U);
|
||||
for(var y=0;y<q;y++){var B=(U+y)*S+j,k=y*W;for(var s=0;s<K;s++)C[B+s]=x[k+s]}};a.LosslessJpegDecode=function(){var x,W;
|
||||
function I(){return x[W++]}function C(){return x[W++]<<8|x[W++]}function S(Z){var g=I(),m=[0,0,0,255],n=[],p=8;
|
||||
for(var T=0;T<16;T++)n[T]=I();for(var T=0;T<16;T++){for(var r=0;r<n[T];r++){var N=o(m,0,T+1,1);m[N+3]=I()}}var h=new Uint8Array(1<<p);
|
||||
Z[g]=[new Uint8Array(m),h];for(var T=0;T<1<<p;T++){var F=p,E=T,a8=0,t=0;while(m[a8+3]==255&&F!=0){t=E>>--F&1;
|
||||
a8=m[a8+t]}h[T]=a8}}function o(Z,g,m,n){if(Z[g+3]!=255)return 0;if(m==0)return g;for(var p=0;p<2;p++){if(Z[g+p]==0){Z[g+p]=Z.length;
|
||||
Z.push(0,0,n,255)}var T=o(Z,Z[g+p],m-1,n+1);if(T!=0)return T}return 0}function j(Z){var g=Z.b,m=Z.a;
|
||||
while(g<25&&Z.e<Z.d){var n=Z.data[Z.e++];if(!Z.c)Z.e+=n+1>>>8;m=m<<8|n;g+=8}if(g<0)throw"e";Z.b=g;Z.a=m}function U(Z,g){if(g.b<Z)j(g);
|
||||
return g.a>>(g.b-=Z)&65535>>16-Z}function K(Z,g){var m=Z[0],n=0,p=255,T=0;if(g.b<16)j(g);var N=g.a>>g.b-8&255;
|
||||
n=Z[1][N];p=m[n+3];g.b-=m[n+2];while(p==255){T=g.a>>--g.b&1;n=m[n+T];p=m[n+3]}return p}function q(Z,g){if(Z<32768>>16-g)Z+=-(1<<g)+1;
|
||||
return Z}function y(Z,g){var m=K(Z,g);if(m==0)return 0;if(m==16)return-32768;var n=U(m,g);return q(n,m)}function k(Z,g,m,n,p,T){for(var N=0;
|
||||
N<T;N++){var W=N*g;for(var h=0;h<g;h+=p)for(var F=0;F<p;F++)Z[W+h+F]=y(n[F],m)}}function s(Z,g){return q(U(Z,g),Z)}function l(Z,g,m,n,p){var T=x.length-W;
|
||||
for(var N=0;N<T;N+=4){var h=x[W+N];x[W+N]=x[W+N+3];x[W+N+3]=h;var h=x[W+N+1];x[W+N+1]=x[W+N+2];x[W+N+2]=h}for(var F=0;
|
||||
F<p;F++){var E=32768,a8=32768;for(var t=0;t<g;t+=2){var _=K(n,m),b2=K(n,m);if(_!=0)E+=s(_,m);if(b2!=0)a8+=s(b2,m);
|
||||
Z[F*g+t]=E&65535;Z[F*g+t+1]=a8&65535}}}function $(Z){x=Z;W=0;if(C()!=65496)throw"e";var g=[],m=0,n=0,p=[],T=[],N=[],h=0,F=0,E=0;
|
||||
while(!0){var a8=C();if(a8==65535){W--;continue}var t=C();if(a8==65475){n=I();F=C();E=C();h=I();for(var _=0;
|
||||
_<h;_++){var b2=I(),ab=I(),A=I();if(A!=0)throw"e";g[b2]=[_,ab>>4,ab&15]}}else if(a8==65476){var aK=W+t-2;
|
||||
while(W<aK)S(T)}else if(a8==65498){W++;for(var _=0;_<h;_++){var G=I(),an=g[G];N[an[0]]=T[I()>>>4];p[an[0]]=an.slice(1)}m=I();
|
||||
W+=2;break}else{W+=t-2}}var b0=n>8?Uint16Array:Uint8Array,aG=new b0(F*E*h),aD={b:0,a:0,c:m==8,e:W,data:x,d:x.length};
|
||||
if(aD.c)l(aG,E*h,aD,N[0],F);else{var z=[],a9=0,b=0;for(var _=0;_<h;_++){var aH=p[_],au=aH[0],aC=aH[1];
|
||||
if(au>a9)a9=au;if(aC>b)b=aC;z.push(au*aC)}if(a9!=1||b!=1){var D=[],H=0;for(var _=0;_<h;_++){for(var L=0;
|
||||
L<z[_];L++)D.push(N[_]);H+=z[_]}var M=E/a9,P=F/b;k(aG,M*H,aD,D,H,P);e(aG,m,M,P,H-2,H,H,n);var J=aG.slice(0);
|
||||
for(var aC=0;aC<F;aC++)for(var au=0;au<E;au++){var aL=(aC*E+au)*h,aM=~~(aC/b),a2=~~(au/a9),aV=aM*M+a2,c=0;
|
||||
for(var _=0;_<h;_++){var at=au&1,a7=aC&1,ah=b==2?aC&1:0,aQ=aV*H+c+(_==0?b==1?at:at*2+a7:0);aG[aL+_]=J[aQ];
|
||||
c+=z[_]}}e(aG,m,E,F,0,1,h,n)}else{k(aG,E*h,aD,N,h,F);e(aG,m,E,F,0,h,h,n)}}return aG}function e(Z,g,m,n,p,T,N,h){var F=m*N;
|
||||
for(var E=p;E<T;E++)Z[E]+=1<<h-1;for(var a8=N;a8<F;a8+=N)for(var E=p;E<T;E++)Z[a8+E]+=Z[a8+E-N];for(var t=1;
|
||||
t<n;t++){var _=t*F;for(var E=p;E<T;E++)Z[_+E]+=Z[_+E-F];for(var a8=N;a8<F;a8+=N){for(var E=p;E<T;E++){var b2=_+a8+E,ab=b2-F,A=Z[b2-N],aK=0;
|
||||
if(g==0)aK=0;else if(g==1)aK=A;else if(g==2)aK=Z[ab];else if(g==3)aK=Z[ab-N];else if(g==4)aK=A+(Z[ab]-Z[ab-N]);
|
||||
else if(g==5)aK=A+(Z[ab]-Z[ab-N]>>>1);else if(g==6)aK=Z[ab]+(A-Z[ab-N]>>>1);else if(g==7)aK=A+Z[ab]>>>1;
|
||||
else throw g;Z[b2]+=aK}}}}return $}();(function(){var x=0,W=1,I=2,C=3,S=4,j=5,U=6,K=7,q=8,y=9,B=10,k=11,s=12,l=13,e=14,X=15,Z=16,g=17,m=18;
|
||||
function n(d){var G=a._binBE.readUshort,D={b:G(d,0),i:d[2],C:d[3],u:d[4],q:G(d,5),k:G(d,7),e:G(d,9),l:G(d,11),s:d[13],d:G(d,14)};
|
||||
if(D.b!=18771||D.i>1||D.q<6||D.q%6||D.e<768||D.e%24||D.l!=768||D.k<D.l||D.k%D.l||D.k-D.e>=D.l||D.s>16||D.s!=D.k/D.l||D.s!=Math.ceil(D.e/D.l)||D.d!=D.q/6||D.u!=12&&D.u!=14&&D.u!=16||D.C!=16&&D.C!=0){throw"Invalid data"}if(D.i==0){throw"Not implemented. We need this file!"}D.h=D.C==16;
|
||||
D.m=(D.h?D.l*2/3:D.l>>>1)|0;D.A=D.m+2;D.f=64;D.g=(1<<D.u)-1;D.n=4*D.u;return D}function Q(d,G){var D=new Array(G.s),H=4*G.s,L=16+H;
|
||||
if(H&12)L+=16-(H&12);for(var M=0,P=16;M<G.s;P+=4){var J=a._binBE.readUint(d,P);D[M]=d.slice(L,L+J);D[M].j=0;
|
||||
D[M].a=0;L+=J;M++}if(L!=d.length)throw"Invalid data";return D}function a6(d,G){for(var D=-G[4],H=0;D<=G[4];
|
||||
H++,D++){d[H]=D<=-G[3]?-4:D<=-G[2]?-3:D<=-G[1]?-2:D<-G[0]?-1:D<=G[0]?0:D<G[1]?1:D<G[2]?2:D<G[3]?3:4}}function p(d,G,D){var H=[G,3*G+18,5*G+67,7*G+276,D];
|
||||
d.o=G;d.w=(H[4]+2*G)/(2*G+1)+1|0;d.v=Math.ceil(Math.log2(d.w));d.t=9;a6(d.c,H)}function ao(d){var G={c:new Int8Array(2<<d.u)};
|
||||
p(G,0,d.g);return G}function N(d){var G=[[],[],[]],D=Math.max(2,d.w+32>>>6);for(var H=0;H<3;H++){for(var L=0;
|
||||
L<41;L++){G[H][L]=[D,1]}}return G}function h(d){for(var G=-1,D=0;!D;G++){D=d[d.j]>>>7-d.a&1;d.a++;d.a&=7;
|
||||
if(!d.a)d.j++}return G}function Y(d,G){var D=0,H=8-d.a,L=d.j,M=d.a;if(G){if(G>=H){do{D<<=H;G-=H;D|=d[d.j]&(1<<H)-1;
|
||||
d.j++;H=8}while(G>=8)}if(G){D<<=G;H-=G;D|=d[d.j]>>>H&(1<<G)-1}d.a=8-H}return D}function v(d,G){var D=0;
|
||||
if(G<d){while(D<=14&&G<<++D<d);}return D}function R(d,G,D,H,L,M,P,J){if(J==null)J=0;var aL=M+1,aM=aL%2,a2=0,aV=0,c=0,at,a7,ah=H[L],aQ=H[L-1],b8=H[L-2][aL],b3=aQ[aL-1],am=aQ[aL],aA=aQ[aL+1],aw=ah[aL-1],ac=ah[aL+1],aS=Math.abs,aF,b5,w,av;
|
||||
if(aM){aF=aS(aA-am);b5=aS(b8-am);w=aS(b3-am)}if(aM){av=aF>w&&b5<aF?b8+b3:aF<w&&b5<w?b8+aA:aA+b3;av=av+2*am>>>2;
|
||||
if(J){ah[aL]=av;return}at=G.t*G.c[d.g+am-b8]+G.c[d.g+b3-am]}else{av=am>b3&&am>aA||am<b3&&am<aA?ac+aw+2*am>>>2:aw+ac>>>1;
|
||||
at=G.t*G.c[d.g+am-b3]+G.c[d.g+b3-aw]}a7=aS(at);var af=h(D);if(af<d.n-G.v-1){var ap=v(P[a7][0],P[a7][1]);
|
||||
c=Y(D,ap)+(af<<ap)}else{c=Y(D,G.v)+1}c=c&1?-1-(c>>>1):c>>>1;P[a7][0]+=aS(c);if(P[a7][1]==d.f){P[a7][0]>>>=1;
|
||||
P[a7][1]>>>=1}P[a7][1]++;av=at<0?av-c:av+c;if(d.i){if(av<0)av+=G.w;else if(av>d.g)av-=G.w}ah[aL]=av>=0?Math.min(av,d.g):0}function a8(d,G,D){var H=d[0].length;
|
||||
for(var L=G;L<=D;L++){d[L][0]=d[L-1][1];d[L][H-1]=d[L-1][H-2]}}function t(d){a8(d,K,s);a8(d,I,S);a8(d,X,g)}function _(d,G,D,H,L,M,P,J,aL,aM,a2,aV,c){var at=0,a7=1,ah=L<l&&L>S;
|
||||
while(a7<d.m){if(at<d.m){R(d,G,D,H,L,at,P[aL],d.h&&(ah&&aM||!ah&&(a2||(at&aV)==c)));R(d,G,D,H,M,at,P[aL],d.h&&(!ah&&aM||ah&&(a2||(at&aV)==c)));
|
||||
at+=2}if(at>8){R(d,G,D,H,L,a7,J[aL]);R(d,G,D,H,M,a7,J[aL]);a7+=2}}t(H)}function A(d,G,D,H,L,M){_(d,G,D,H,I,K,L,M,0,0,1,0,8);
|
||||
_(d,G,D,H,q,X,L,M,1,0,1,0,8);_(d,G,D,H,C,y,L,M,2,1,0,3,0);_(d,G,D,H,B,Z,L,M,0,0,0,3,2);_(d,G,D,H,S,k,L,M,1,0,0,3,2);
|
||||
_(d,G,D,H,s,g,L,M,2,1,0,3,0)}function aK(d,G,D,H,L,M){var P=M.length,J=d.l;if(L+1==d.s)J=d.e-L*d.l;var aL=6*d.e*H+L*d.l;
|
||||
for(var aM=0;aM<6;aM++){for(var a2=0;a2<J;a2++){var aV=M[aM%P][a2%P],c;if(aV==0){c=I+(aM>>>1)}else if(aV==2){c=X+(aM>>>1)}else{c=K+aM}var at=d.h?(a2*2/3&2147483646|a2%3&1)+(a2%3>>>1):a2>>>1;
|
||||
G[aL+a2]=D[c][at+1]}aL+=d.e}}a._decompressRAF=function(d,G){var D=n(d),H=Q(d,D),L=ao(D),M=new Int16Array(D.e*D.q);
|
||||
if(G==null){G=D.h?[[1,1,0,1,1,2],[1,1,2,1,1,0],[2,0,1,0,2,1],[1,1,2,1,1,0],[1,1,0,1,1,2],[0,2,1,2,0,1]]:[[0,1],[3,2]]}var P=[[x,C],[W,S],[j,k],[U,s],[l,Z],[e,g]],J=[];
|
||||
for(var aL=0;aL<m;aL++){J[aL]=new Uint16Array(D.A)}for(var aM=0;aM<D.s;aM++){var a2=N(L),aV=N(L);for(var aL=0;
|
||||
aL<m;aL++){for(var c=0;c<D.A;c++){J[aL][c]=0}}for(var at=0;at<D.d;at++){A(D,L,H[aM],J,a2,aV);for(var aL=0;
|
||||
aL<6;aL++){for(var c=0;c<D.A;c++){J[P[aL][0]][c]=J[P[aL][1]][c]}}aK(D,M,J,at,aM,G);for(var aL=I;aL<m;
|
||||
aL++){if([j,U,l,e].indexOf(aL)==-1){for(var c=0;c<D.A;c++){J[aL][c]=0}}}t(J)}}return M}}())}(a,aU))}())// (c) Dean McNamee <dean@gmail.com>, 2013.
|
||||
(function(){var Q={};if(typeof module=="object"){module.exports=Q}else{self.UTIF=Q}var a8=typeof require==="function"?require("pako"):self.pako;
|
||||
function an(){if(typeof process=="undefined"||process.env.NODE_ENV=="development")console.log.apply(console,arguments)}(function(Q,a8){(function(){"use strict";
|
||||
var m=function k(){function m(d){this.message="JPEG error: "+d}m.prototype=new Error;m.prototype.name="JpegError";
|
||||
m.constructor=m;return m}(),n=function L(){var d=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),l=4017,$=799,J=3406,A=2276,c=1567,b=3784,o=5793,D=2896;
|
||||
function n(N){if(N==null)N={};if(N.w==null)N.w=-1;this.V=N.n;this.N=N.w}function v(N,K){var C=0,F=[],g,W,B=16,S;
|
||||
while(B>0&&!N[B-1]){B--}F.push({children:[],index:0});var t=F[0];for(g=0;g<B;g++){for(W=0;W<N[g];W++){t=F.pop();
|
||||
t.children[t.index]=K[C];while(t.index>0){t=F.pop()}t.index++;F.push(t);while(F.length<=g){F.push(S={children:[],index:0});
|
||||
t.children[t.index]=S.children;t=S}C++}if(g+1<B){F.push(S={children:[],index:0});t.children[t.index]=S.children;
|
||||
t=S}}return F[0].children}function V(N,K,C){return 64*((N.P+1)*K+C)}function Z(N,K,C,F,g,W,B,S,t,j){if(j==null)j=!1;
|
||||
var R=C.m,U=C.Z,O=K,f=0,a=0,T=0,p=0,aJ,_=0,x,E,I,y,b3,aO,aC=0,ai,aA,b1,aI;function h(){if(a>0){a--;return f>>a&1}f=N[K++];
|
||||
if(f===255){var aZ=N[K++];if(aZ){if(aZ===220&&j){K+=2;var as=z(N,K);K+=2;if(as>0&&as!==C.s){throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",as)}}else if(aZ===217){if(j){var a3=_*8;
|
||||
if(a3>0&&a3<C.s/10){throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, "+"possibly caused by incorrect `scanLines` parameter",a3)}}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new m("unexpected marker")}}a=7;
|
||||
return f>>>7}function aP(aZ){var as=aZ;while(!0){as=as[h()];switch(typeof as){case"number":return as;
|
||||
case"object":continue}throw new m("invalid huffman sequence")}}function aw(aZ){var b3=0;while(aZ>0){b3=b3<<1|h();
|
||||
aZ--}return b3}function aY(aZ){if(aZ===1){return h()===1?1:-1}var b3=aw(aZ);if(b3>=1<<aZ-1){return b3}return b3+(-1<<aZ)+1}function am(x,aZ){var as=aP(x.J),a3=as===0?0:aY(as),y=1;
|
||||
x.D[aZ]=x.Q+=a3;while(y<64){var aB=aP(x.i),a9=aB&15,aQ=aB>>4;if(a9===0){if(aQ<15){break}y+=16;continue}y+=aQ;
|
||||
var aL=d[y];x.D[aZ+aL]=aY(a9);y++}}function b7(x,aZ){var as=aP(x.J),a3=as===0?0:aY(as)<<t;x.D[aZ]=x.Q+=a3}function av(x,aZ){x.D[aZ]|=h()<<t}function b4(x,aZ){if(T>0){T--;
|
||||
return}var y=W,as=B;while(y<=as){var a3=aP(x.i),aB=a3&15,a9=a3>>4;if(aB===0){if(a9<15){T=aw(a9)+(1<<a9)-1;
|
||||
break}y+=16;continue}y+=a9;var aQ=d[y];x.D[aZ+aQ]=aY(aB)*(1<<t);y++}}function ac(x,aZ){var y=W,as=B,a3=0,aB,a9;
|
||||
while(y<=as){var aQ=aZ+d[y],aL=x.D[aQ]<0?-1:1;switch(p){case 0:a9=aP(x.i);aB=a9&15;a3=a9>>4;if(aB===0){if(a3<15){T=aw(a3)+(1<<a3);
|
||||
p=4}else{a3=16;p=1}}else{if(aB!==1){throw new m("invalid ACn encoding")}aJ=aY(aB);p=a3?2:3}continue;
|
||||
case 1:case 2:if(x.D[aQ]){x.D[aQ]+=aL*(h()<<t)}else{a3--;if(a3===0){p=p===2?3:0}}break;case 3:if(x.D[aQ]){x.D[aQ]+=aL*(h()<<t)}else{x.D[aQ]=aJ<<t;
|
||||
p=0}break;case 4:if(x.D[aQ]){x.D[aQ]+=aL*(h()<<t)}break}y++}if(p===4){T--;if(T===0){p=0}}}function af(x,aZ,aC,as,a3){var aB=aC/R|0,a9=aC%R;
|
||||
_=aB*x.A+as;var aQ=a9*x.h+a3,aL=V(x,_,aQ);aZ(x,aL)}function a_(x,aZ,aC){_=aC/x.P|0;var as=aC%x.P,a3=V(x,_,as);
|
||||
aZ(x,a3)}var aX=F.length;if(U){if(W===0){aO=S===0?b7:av}else{aO=S===0?b4:ac}}else{aO=am}if(aX===1){aA=F[0].P*F[0].c}else{aA=R*C.R}while(aC<=aA){var a2=g?Math.min(aA-aC,g):aA;
|
||||
if(a2>0){for(E=0;E<aX;E++){F[E].Q=0}T=0;if(aX===1){x=F[0];for(b3=0;b3<a2;b3++){a_(x,aO,aC);aC++}}else{for(b3=0;
|
||||
b3<a2;b3++){for(E=0;E<aX;E++){x=F[E];b1=x.h;aI=x.A;for(I=0;I<aI;I++){for(y=0;y<b1;y++){af(x,aO,aC,I,y)}}}aC++}}}a=0;
|
||||
ai=Y(N,K);if(!ai){break}if(ai.u){var a6=a2>0?"unexpected":"excessive";K=ai.offset}if(ai.M>=65488&&ai.M<=65495){K+=2}else{break}}return K-O}function M(N,K,C){var F=N.$,g=N.D,W,B,S,t,j,R,U,O,f,a,T,p,aJ,_,x,au,E;
|
||||
if(!F){throw new m("missing required Quantization Table.")}for(var I=0;I<64;I+=8){f=g[K+I];a=g[K+I+1];
|
||||
T=g[K+I+2];p=g[K+I+3];aJ=g[K+I+4];_=g[K+I+5];x=g[K+I+6];au=g[K+I+7];f*=F[I];if((a|T|p|aJ|_|x|au)===0){E=o*f+512>>10;
|
||||
C[I]=E;C[I+1]=E;C[I+2]=E;C[I+3]=E;C[I+4]=E;C[I+5]=E;C[I+6]=E;C[I+7]=E;continue}a*=F[I+1];T*=F[I+2];p*=F[I+3];
|
||||
aJ*=F[I+4];_*=F[I+5];x*=F[I+6];au*=F[I+7];W=o*f+128>>8;B=o*aJ+128>>8;S=T;t=x;j=D*(a-au)+128>>8;O=D*(a+au)+128>>8;
|
||||
R=p<<4;U=_<<4;W=W+B+1>>1;B=W-B;E=S*b+t*c+128>>8;S=S*c-t*b+128>>8;t=E;j=j+U+1>>1;U=j-U;O=O+R+1>>1;R=O-R;
|
||||
W=W+t+1>>1;t=W-t;B=B+S+1>>1;S=B-S;E=j*A+O*J+2048>>12;j=j*J-O*A+2048>>12;O=E;E=R*$+U*l+2048>>12;R=R*l-U*$+2048>>12;
|
||||
U=E;C[I]=W+O;C[I+7]=W-O;C[I+1]=B+U;C[I+6]=B-U;C[I+2]=S+R;C[I+5]=S-R;C[I+3]=t+j;C[I+4]=t-j}for(var y=0;
|
||||
y<8;++y){f=C[y];a=C[y+8];T=C[y+16];p=C[y+24];aJ=C[y+32];_=C[y+40];x=C[y+48];au=C[y+56];if((a|T|p|aJ|_|x|au)===0){E=o*f+8192>>14;
|
||||
if(E<-2040){E=0}else if(E>=2024){E=255}else{E=E+2056>>4}g[K+y]=E;g[K+y+8]=E;g[K+y+16]=E;g[K+y+24]=E;
|
||||
g[K+y+32]=E;g[K+y+40]=E;g[K+y+48]=E;g[K+y+56]=E;continue}W=o*f+2048>>12;B=o*aJ+2048>>12;S=T;t=x;j=D*(a-au)+2048>>12;
|
||||
O=D*(a+au)+2048>>12;R=p;U=_;W=(W+B+1>>1)+4112;B=W-B;E=S*b+t*c+2048>>12;S=S*c-t*b+2048>>12;t=E;j=j+U+1>>1;
|
||||
U=j-U;O=O+R+1>>1;R=O-R;W=W+t+1>>1;t=W-t;B=B+S+1>>1;S=B-S;E=j*A+O*J+2048>>12;j=j*J-O*A+2048>>12;O=E;E=R*$+U*l+2048>>12;
|
||||
R=R*l-U*$+2048>>12;U=E;f=W+O;au=W-O;a=B+U;x=B-U;T=S+R;_=S-R;p=t+j;aJ=t-j;if(f<16){f=0}else if(f>=4080){f=255}else{f>>=4}if(a<16){a=0}else if(a>=4080){a=255}else{a>>=4}if(T<16){T=0}else if(T>=4080){T=255}else{T>>=4}if(p<16){p=0}else if(p>=4080){p=255}else{p>>=4}if(aJ<16){aJ=0}else if(aJ>=4080){aJ=255}else{aJ>>=4}if(_<16){_=0}else if(_>=4080){_=255}else{_>>=4}if(x<16){x=0}else if(x>=4080){x=255}else{x>>=4}if(au<16){au=0}else if(au>=4080){au=255}else{au>>=4}g[K+y]=f;
|
||||
g[K+y+8]=a;g[K+y+16]=T;g[K+y+24]=p;g[K+y+32]=aJ;g[K+y+40]=_;g[K+y+48]=x;g[K+y+56]=au}}function s(N,K){var C=K.P,F=K.c,g=new Int16Array(64);
|
||||
for(var W=0;W<F;W++){for(var B=0;B<C;B++){var S=V(K,W,B);M(K,S,g)}}return K.D}function Y(N,K,C){if(C==null)C=K;
|
||||
var F=N.length-1,g=C<K?C:K;if(K>=F){return null}var W=z(N,K);if(W>=65472&&W<=65534){return{u:null,M:W,offset:K}}var B=z(N,g);
|
||||
while(!(B>=65472&&B<=65534)){if(++g>=F){return null}B=z(N,g)}return{u:W.toString(16),M:B,offset:g}}n.prototype={parse(N,K){if(K==null)K={};
|
||||
var C=K.F,F=0,g=null,W=null,B,S,t=0;function j(){var aQ=z(N,F);F+=2;var aL=F+aQ-2,a=Y(N,aL,F);if(a&&a.u){aL=a.offset}var aE=N.subarray(F,aL);
|
||||
F+=aE.length;return aE}function R(B){var aQ=Math.ceil(B.o/8/B.X),aL=Math.ceil(B.s/8/B.B);for(var T=0;
|
||||
T<B.W.length;T++){b4=B.W[T];var aE=Math.ceil(Math.ceil(B.o/8)*b4.h/B.X),aG=Math.ceil(Math.ceil(B.s/8)*b4.A/B.B),ak=aQ*b4.h,b5=aL*b4.A,at=64*b5*(ak+1);
|
||||
b4.D=new Int16Array(at);b4.P=aE;b4.c=aG}B.m=aQ;B.R=aL}var U=[],O=[],f=[],a=z(N,F);F+=2;if(a!==65496){throw new m("SOI not found")}a=z(N,F);
|
||||
F+=2;markerLoop:while(a!==65497){var T,p,aJ;switch(a){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var _=j();
|
||||
if(a===65504){if(_[0]===74&&_[1]===70&&_[2]===73&&_[3]===70&&_[4]===0){g={version:{d:_[5],T:_[6]},K:_[7],j:_[8]<<8|_[9],H:_[10]<<8|_[11],S:_[12],I:_[13],C:_.subarray(14,14+3*_[12]*_[13])}}}if(a===65518){if(_[0]===65&&_[1]===100&&_[2]===111&&_[3]===98&&_[4]===101){W={version:_[5]<<8|_[6],k:_[7]<<8|_[8],q:_[9]<<8|_[10],a:_[11]}}}break;
|
||||
case 65499:var x=z(N,F),au;F+=2;var E=x+F-2;while(F<E){var I=N[F++],y=new Uint16Array(64);if(I>>4===0){for(p=0;
|
||||
p<64;p++){au=d[p];y[au]=N[F++]}}else if(I>>4===1){for(p=0;p<64;p++){au=d[p];y[au]=z(N,F);F+=2}}else{throw new m("DQT - invalid table spec")}U[I&15]=y}break;
|
||||
case 65472:case 65473:case 65474:if(B){throw new m("Only single frame JPEGs supported")}F+=2;B={};B.G=a===65473;
|
||||
B.Z=a===65474;B.precision=N[F++];var b3=z(N,F),aO,aC=0,ai=0;F+=2;B.s=C||b3;B.o=z(N,F);F+=2;B.W=[];B._={};
|
||||
var aA=N[F++];for(T=0;T<aA;T++){aO=N[F];var b1=N[F+1]>>4,aI=N[F+1]&15;if(aC<b1){aC=b1}if(ai<aI){ai=aI}var h=N[F+2];
|
||||
aJ=B.W.push({h:b1,A:aI,L:h,$:null});B._[aO]=aJ-1;F+=3}B.X=aC;B.B=ai;R(B);break;case 65476:var aP=z(N,F);
|
||||
F+=2;for(T=2;T<aP;){var aw=N[F++],aY=new Uint8Array(16),am=0;for(p=0;p<16;p++,F++){am+=aY[p]=N[F]}var b7=new Uint8Array(am);
|
||||
for(p=0;p<am;p++,F++){b7[p]=N[F]}T+=17+am;(aw>>4===0?f:O)[aw&15]=v(aY,b7)}break;case 65501:F+=2;S=z(N,F);
|
||||
F+=2;break;case 65498:var av=++t===1&&!C,b4;F+=2;var ac=N[F++],af=[];for(T=0;T<ac;T++){var a_=N[F++],aX=B._[a_];
|
||||
b4=B.W[aX];b4.index=a_;var a2=N[F++];b4.J=f[a2>>4];b4.i=O[a2&15];af.push(b4)}var a6=N[F++],aZ=N[F++],as=N[F++];
|
||||
try{var a3=Z(N,F,B,af,S,a6,aZ,as>>4,as&15,av);F+=a3}catch(ex){if(ex instanceof DNLMarkerError){return this.parse(N,{F:ex.s})}else if(ex instanceof EOIMarkerError){break markerLoop}throw ex}break;
|
||||
case 65500:F+=4;break;case 65535:if(N[F]!==255){F--}break;default:var aB=Y(N,F-2,F-3);if(aB&&aB.u){F=aB.offset;
|
||||
break}if(F>=N.length-1){break markerLoop}throw new m("JpegImage.parse - unknown marker: "+a.toString(16))}a=z(N,F);
|
||||
F+=2}this.width=B.o;this.height=B.s;this.g=g;this.b=W;this.W=[];for(T=0;T<B.W.length;T++){b4=B.W[T];
|
||||
var a9=U[b4.L];if(a9){b4.$=a9}this.W.push({index:b4.index,e:s(B,b4),l:b4.h/B.X,t:b4.A/B.B,P:b4.P,c:b4.c})}this.p=this.W.length;
|
||||
return undefined},Y(N,K,C){if(C==null)C=!1;var F=this.width/N,g=this.height/K,W,B,S,t,j,R,U,O,f,a,T=0,p,aJ=this.W.length,_=N*K*aJ,x=new Uint8ClampedArray(_),au=new Uint32Array(N),E=4294967288,I;
|
||||
for(U=0;U<aJ;U++){W=this.W[U];B=W.l*F;S=W.t*g;T=U;p=W.e;t=W.P+1<<3;if(B!==I){for(j=0;j<N;j++){O=0|j*B;
|
||||
au[j]=(O&E)<<3|O&7}I=B}for(R=0;R<K;R++){O=0|R*S;a=t*(O&E)|(O&7)<<3;for(j=0;j<N;j++){x[T]=p[a+au[j]];
|
||||
T+=aJ}}}var y=this.V;if(!C&&aJ===4&&!y){y=new Int32Array([-256,255,-256,255,-256,255,-256,255])}if(y){for(U=0;
|
||||
U<_;){for(O=0,f=0;O<aJ;O++,U++,f+=2){x[U]=(x[U]*y[f]>>8)+y[f+1]}}}return x},get f(){if(this.b){return!!this.b.a}if(this.p===3){if(this.N===0){return!1}else if(this.W[0].index===82&&this.W[1].index===71&&this.W[2].index===66){return!1}return!0}if(this.N===1){return!0}return!1},z:function aF(N){var K,C,F;
|
||||
for(var g=0,W=N.length;g<W;g+=3){K=N[g];C=N[g+1];F=N[g+2];N[g]=K-179.456+1.402*F;N[g+1]=K+135.459-.344*C-.714*F;
|
||||
N[g+2]=K-226.816+1.772*C}return N},O:function w(N){var K,C,F,g,W=0;for(var B=0,S=N.length;B<S;B+=4){K=N[B];
|
||||
C=N[B+1];F=N[B+2];g=N[B+3];N[W++]=-122.67195406894+C*(-660635669420364e-19*C+.000437130475926232*F-54080610064599e-18*K+.00048449797120281*g-.154362151871126)+F*(-.000957964378445773*F+.000817076911346625*K-.00477271405408747*g+1.53380253221734)+K*(.000961250184130688*K-.00266257332283933*g+.48357088451265)+g*(-.000336197177618394*g+.484791561490776);
|
||||
N[W++]=107.268039397724+C*(219927104525741e-19*C-.000640992018297945*F+.000659397001245577*K+.000426105652938837*g-.176491792462875)+F*(-.000778269941513683*F+.00130872261408275*K+.000770482631801132*g-.151051492775562)+K*(.00126935368114843*K-.00265090189010898*g+.25802910206845)+g*(-.000318913117588328*g-.213742400323665);
|
||||
N[W++]=-20.810012546947+C*(-.000570115196973677*C-263409051004589e-19*F+.0020741088115012*K-.00288260236853442*g+.814272968359295)+F*(-153496057440975e-19*F-.000132689043961446*K+.000560833691242812*g-.195152027534049)+K*(.00174418132927582*K-.00255243321439347*g+.116935020465145)+g*(-.000343531996510555*g+.24165260232407)}return N.subarray(0,W)},r:function b6(N){var K,C,F;
|
||||
for(var g=0,W=N.length;g<W;g+=4){K=N[g];C=N[g+1];F=N[g+2];N[g]=434.456-K-1.402*F;N[g+1]=119.541-K+.344*C+.714*F;
|
||||
N[g+2]=481.816-K-1.772*C}return N},U:function q(N){var K,C,F,g,W=0;for(var B=0,S=N.length;B<S;B+=4){K=N[B];
|
||||
C=N[B+1];F=N[B+2];g=N[B+3];N[W++]=255+K*(-6747147073602441e-20*K+.0008379262121013727*C+.0002894718188643294*F+.003264231057537806*g-1.1185611867203937)+C*(26374107616089404e-21*C-8626949158638572e-20*F-.0002748769067499491*g-.02155688794978967)+F*(-3878099212869363e-20*F-.0003267808279485286*g+.0686742238595345)-g*(.0003361971776183937*g+.7430659151342254);
|
||||
N[W++]=255+K*(.00013596372813588848*K+.000924537132573585*C+.00010567359618683593*F+.0004791864687436512*g-.3109689587515875)+C*(-.00023545346108370344*C+.0002702845253534714*F+.0020200308977307156*g-.7488052167015494)+F*(6834815998235662e-20*F+.00015168452363460973*g-.09751927774728933)-g*(.0003189131175883281*g+.7364883807733168);
|
||||
N[W++]=255+K*(13598650411385308e-21*K+.00012423956175490851*C+.0004751985097583589*F-36729317476630424e-22*g-.05562186980264034)+C*(.00016141380598724676*C+.0009692239130725186*F+.0007782692450036253*g-.44015232367526463)+F*(5.068882914068769e-7*F+.0017778369011375071*g-.7591454649749609)-g*(.0003435319965105553*g+.7063770186160144)}return N.subarray(0,W)},getData:function(N){var K=N.width,C=N.height,F=N.forceRGB,g=N.isSourcePDF;
|
||||
if(this.p>4){throw new m("Unsupported color mode")}var W=this.Y(K,C,g);if(this.p===1&&F){var B=W.length,S=new Uint8ClampedArray(B*3),t=0;
|
||||
for(var j=0;j<B;j++){var R=W[j];S[t++]=R;S[t++]=R;S[t++]=R}return S}else if(this.p===3&&this.f){return this.z(W)}else if(this.p===4){if(this.f){if(F){return this.O(W)}return this.r(W)}else if(F){return this.U(W)}}return W}};
|
||||
return n}();function X(d,l){return d[l]<<24>>24}function z(d,l){return d[l]<<8|d[l+1]}function H(d,l){return(d[l]<<24|d[l+1]<<16|d[l+2]<<8|d[l+3])>>>0}Q.JpegDecoder=n}());
|
||||
Q.encodeImage=function(m,n,k,L){var z={t256:[n],t257:[k],t258:[8,8,8,8],t259:[1],t262:[2],t273:[1e3],t277:[4],t278:[k],t279:[n*k*4],t282:[[72,1]],t283:[[72,1]],t284:[1],t286:[[0,1]],t287:[[0,1]],t296:[1],t305:["Photopea (UTIF.js)"],t338:[1]};
|
||||
if(L)for(var H in L)z[H]=L[H];var d=new Uint8Array(Q.encode([z])),l=new Uint8Array(m),$=new Uint8Array(1e3+n*k*4);
|
||||
for(var H=0;H<d.length;H++)$[H]=d[H];for(var H=0;H<l.length;H++)$[1e3+H]=l[H];return $.buffer};Q.encode=function(m){var n=!1,k=new Uint8Array(2e4),L=4,X=n?Q._binLE:Q._binBE,z=8;
|
||||
k[0]=k[1]=n?73:77;X.writeUshort(k,2,42);X.writeUint(k,L,z);L+=4;for(var H=0;H<m.length;H++){var d=Q._writeIFD(X,Q._types.basic,k,z,m[H]);
|
||||
z=d[1];if(H<m.length-1){if((z&3)!=0)z+=4-(z&3);X.writeUint(k,d[0],z)}}return k.slice(0,z).buffer};Q.decode=function(m,n){if(n==null)n={parseMN:!0,debug:!1};
|
||||
var k=new Uint8Array(m),L=0,X=Q._binBE.readASCII(k,L,2);L+=2;var z=X=="II"?Q._binLE:Q._binBE,H=z.readUshort(k,L);
|
||||
L+=2;var d=z.readUint(k,L);L+=4;var l=[];while(!0){var $=z.readUshort(k,d),J=z.readUshort(k,d+4);if($!=0)if(J<1||13<J){an("error in TIFF");
|
||||
break}Q._readIFD(z,k,d,l,0,n);d=z.readUint(k,d+2+$*12);if(d==0)break}return l};Q.decodeImage=function(m,n,k){if(n.data)return;
|
||||
var L=new Uint8Array(m),X=Q._binBE.readASCII(L,0,2),d,r=0;if(n.t256==null)return;n.isLE=X=="II";n.width=n.t256[0];
|
||||
n.height=n.t257[0];var z=n.t259?n.t259[0]:1,H=n.t266?n.t266[0]:1;if(n.t284&&n.t284[0]==2)an("PlanarConfiguration 2 should not be used!");
|
||||
if(z==7&&n.t258&&n.t258.length>3)n.t258=n.t258.slice(0,3);if(n.t258)d=Math.min(32,n.t258[0])*n.t258.length;
|
||||
else d=n.t277?n.t277[0]:1;if(z==1&&n.t279!=null&&n.t278&&n.t262[0]==32803){d=Math.round(n.t279[0]*8/(n.width*n.t278[0]))}if(n.t50885&&n.t50885[0]==4)d=n.t258[0]*3;
|
||||
var l=Math.ceil(n.width*d/8)*8,$=n.t273;if($==null||n.t322)$=n.t324;var J=n.t279;if(z==1&&$.length==1)J=[n.height*(l>>>3)];
|
||||
if(J==null||n.t322)J=n.t325;var A=new Uint8Array(n.height*(l>>>3));if(n.t322!=null){var c=n.t322[0],b=n.t323[0],o=Math.floor((n.width+c-1)/c),G=Math.floor((n.height+b-1)/b),D=new Uint8Array(Math.ceil(c*b*d/8)|0);
|
||||
console.log("====",o,G);for(var v=0;v<G;v++)for(var V=0;V<o;V++){var s=v*o+V;D.fill(0);Q.decode._decompress(n,k,L,$[s],J[s],z,D,0,H);
|
||||
if(z==6)A=D;else Q._copyTile(D,Math.ceil(c*d/8)|0,b,A,Math.ceil(n.width*d/8)|0,n.height,Math.ceil(V*c*d/8)|0,v*b)}r=A.length*8}else{var Y=n.t278?n.t278[0]:n.height;
|
||||
Y=Math.min(Y,n.height);console.log("====",n.width,Y);for(var s=0;s<$.length;s++){Q.decode._decompress(n,k,L,$[s],J[s],z,A,Math.ceil(r/8)|0,H);
|
||||
r+=l*Y}r=Math.min(r,A.length*8)}n.data=new Uint8Array(A.buffer,0,Math.ceil(r/8)|0)};Q.decode._decompress=function(m,n,k,L,X,z,H,d,l){if(!1){}else if(z==1)for(var $=0;
|
||||
$<X;$++)H[d+$]=k[L+$];else if(z==2)Q.decode._decodeG2(k,L,X,H,d,m.width,l);else if(z==3)Q.decode._decodeG3(k,L,X,H,d,m.width,l,m.t292?(m.t292[0]&1)==1:!1);
|
||||
else if(z==4)Q.decode._decodeG4(k,L,X,H,d,m.width,l);else if(z==5)Q.decode._decodeLZW(k,L,X,H,d,8);else if(z==6)Q.decode._decodeOldJPEG(m,k,L,X,H,d);
|
||||
else if(z==7||z==34892)Q.decode._decodeNewJPEG(m,k,L,X,H,d);else if(z==8||z==32946){var J=new Uint8Array(k.buffer,L,X),A=a8.inflate(J);
|
||||
for(var r=0;r<A.length;r++)H[d+r]=A[r]}else if(z==9)Q.decode._decodeVC5(k,L,X,H,d);else if(z==32767)Q.decode._decodeARW(m,k,L,X,H,d);
|
||||
else if(z==32773)Q.decode._decodePackBits(k,L,X,H,d);else if(z==32809)Q.decode._decodeThunder(k,L,X,H,d);
|
||||
else if(z==34713)Q.decode._decodeNikon(m,n,k,L,X,H,d);else if(z==34676)Q.decode._decodeLogLuv32(m,k,L,X,H,d);
|
||||
else an("Unknown compression",z);var c=m.t258?Math.min(32,m.t258[0]):1,b=m.t277?m.t277[0]:1,o=c*b>>>3,G=m.t278?m.t278[0]:m.height,D=Math.ceil(c*b*m.width/8);
|
||||
if(c==16&&!m.isLE&&m.t33422==null)for(var v=0;v<G;v++){var V=d+v*D;for(var Z=1;Z<D;Z+=2){var s=H[V+Z];
|
||||
H[V+Z]=H[V+Z-1];H[V+Z-1]=s}}if(m.t317&&m.t317[0]==2){for(var v=0;v<G;v++){var Y=d+v*D;if(c==16)for(var $=o;
|
||||
$<D;$+=2){var aF=(H[Y+$+1]<<8|H[Y+$])+(H[Y+$-o+1]<<8|H[Y+$-o]);H[Y+$]=aF&255;H[Y+$+1]=aF>>>8&255}else if(b==3)for(var $=3;
|
||||
$<D;$+=3){H[Y+$]=H[Y+$]+H[Y+$-3]&255;H[Y+$+1]=H[Y+$+1]+H[Y+$-2]&255;H[Y+$+2]=H[Y+$+2]+H[Y+$-1]&255}else for(var $=o;
|
||||
$<D;$++)H[Y+$]=H[Y+$]+H[Y+$-o]&255}}};Q.decode._decodeVC5=Q.decode._decodeVC5=function(){var m=[1,0,1,0,2,2,1,1,3,7,1,2,5,25,1,3,6,48,1,4,6,54,1,5,7,111,1,8,7,99,1,6,7,105,12,0,7,107,1,7,8,209,20,0,8,212,1,9,8,220,1,10,9,393,1,11,9,394,32,0,9,416,1,12,9,427,1,13,10,887,1,18,10,784,1,14,10,790,1,15,10,835,60,0,10,852,1,16,10,885,1,17,11,1571,1,19,11,1668,1,20,11,1669,100,0,11,1707,1,21,11,1772,1,22,12,3547,1,29,12,3164,1,24,12,3166,1,25,12,3140,1,23,12,3413,1,26,12,3537,1,27,12,3539,1,28,13,7093,1,35,13,6283,1,30,13,6331,1,31,13,6335,180,0,13,6824,1,32,13,7072,1,33,13,7077,320,0,13,7076,1,34,14,12565,1,36,14,12661,1,37,14,12669,1,38,14,13651,1,39,14,14184,1,40,15,28295,1,46,15,28371,1,47,15,25320,1,42,15,25336,1,43,15,25128,1,41,15,27300,1,44,15,28293,1,45,16,50259,1,48,16,50643,1,49,16,50675,1,50,16,56740,1,53,16,56584,1,51,16,56588,1,52,17,113483,1,61,17,113482,1,60,17,101285,1,55,17,101349,1,56,17,109205,1,57,17,109207,1,58,17,100516,1,54,17,113171,1,59,18,202568,1,62,18,202696,1,63,18,218408,1,64,18,218412,1,65,18,226340,1,66,18,226356,1,67,18,226358,1,68,19,402068,1,69,19,405138,1,70,19,405394,1,71,19,436818,1,72,19,436826,1,73,19,452714,1,75,19,452718,1,76,19,452682,1,74,20,804138,1,77,20,810279,1,78,20,810790,1,79,20,873638,1,80,20,873654,1,81,20,905366,1,82,20,905430,1,83,20,905438,1,84,21,1608278,1,85,21,1620557,1,86,21,1621582,1,87,21,1621583,1,88,21,1747310,1,89,21,1810734,1,90,21,1810735,1,91,21,1810863,1,92,21,1810879,1,93,22,3621725,1,99,22,3621757,1,100,22,3241112,1,94,22,3494556,1,95,22,3494557,1,96,22,3494622,1,97,22,3494623,1,98,23,6482227,1,102,23,6433117,1,101,23,6989117,1,103,23,6989119,1,105,23,6989118,1,104,23,7243449,1,106,23,7243512,1,107,24,13978233,1,111,24,12964453,1,109,24,12866232,1,108,24,14486897,1,113,24,13978232,1,110,24,14486896,1,112,24,14487026,1,114,24,14487027,1,115,25,25732598,1,225,25,25732597,1,189,25,25732596,1,188,25,25732595,1,203,25,25732594,1,202,25,25732593,1,197,25,25732592,1,207,25,25732591,1,169,25,25732590,1,223,25,25732589,1,159,25,25732522,1,235,25,25732579,1,152,25,25732575,1,192,25,25732489,1,179,25,25732573,1,201,25,25732472,1,172,25,25732576,1,149,25,25732488,1,178,25,25732566,1,120,25,25732571,1,219,25,25732577,1,150,25,25732487,1,127,25,25732506,1,211,25,25732548,1,125,25,25732588,1,158,25,25732486,1,247,25,25732467,1,238,25,25732508,1,163,25,25732552,1,228,25,25732603,1,183,25,25732513,1,217,25,25732587,1,168,25,25732520,1,122,25,25732484,1,128,25,25732562,1,249,25,25732505,1,187,25,25732504,1,186,25,25732483,1,136,25,25928905,1,181,25,25732560,1,255,25,25732500,1,230,25,25732482,1,135,25,25732555,1,233,25,25732568,1,222,25,25732583,1,145,25,25732481,1,134,25,25732586,1,167,25,25732521,1,248,25,25732518,1,209,25,25732480,1,243,25,25732512,1,216,25,25732509,1,164,25,25732547,1,140,25,25732479,1,157,25,25732544,1,239,25,25732574,1,191,25,25732564,1,251,25,25732478,1,156,25,25732546,1,139,25,25732498,1,242,25,25732557,1,133,25,25732477,1,162,25,25732515,1,213,25,25732584,1,165,25,25732514,1,212,25,25732476,1,227,25,25732494,1,198,25,25732531,1,236,25,25732530,1,234,25,25732529,1,117,25,25732528,1,215,25,25732527,1,124,25,25732526,1,123,25,25732525,1,254,25,25732524,1,253,25,25732523,1,148,25,25732570,1,218,25,25732580,1,146,25,25732581,1,147,25,25732569,1,224,25,25732533,1,143,25,25732540,1,184,25,25732541,1,185,25,25732585,1,166,25,25732556,1,132,25,25732485,1,129,25,25732563,1,250,25,25732578,1,151,25,25732501,1,119,25,25732502,1,193,25,25732536,1,176,25,25732496,1,245,25,25732553,1,229,25,25732516,1,206,25,25732582,1,144,25,25732517,1,208,25,25732558,1,137,25,25732543,1,241,25,25732466,1,237,25,25732507,1,190,25,25732542,1,240,25,25732551,1,131,25,25732554,1,232,25,25732565,1,252,25,25732475,1,171,25,25732493,1,205,25,25732492,1,204,25,25732491,1,118,25,25732490,1,214,25,25928904,1,180,25,25732549,1,126,25,25732602,1,182,25,25732539,1,175,25,25732545,1,141,25,25732559,1,138,25,25732537,1,177,25,25732534,1,153,25,25732503,1,194,25,25732606,1,160,25,25732567,1,121,25,25732538,1,174,25,25732497,1,246,25,25732550,1,130,25,25732572,1,200,25,25732474,1,170,25,25732511,1,221,25,25732601,1,196,25,25732532,1,142,25,25732519,1,210,25,25732495,1,199,25,25732605,1,155,25,25732535,1,154,25,25732499,1,244,25,25732510,1,220,25,25732600,1,195,25,25732607,1,161,25,25732604,1,231,25,25732473,1,173,25,25732599,1,226,26,51465122,1,116,26,51465123,0,1],k,L,X,z=[3,3,3,3,2,2,2,1,1,1],H=24576,d=16384,l=8192,$=d|l;
|
||||
function J(M){var s=M[1],w=M[0][s>>>3]>>>7-(s&7)&1;M[1]++;return w}function A(M,s){if(k==null){k={};
|
||||
for(var w=0;w<m.length;w+=4)k[m[w+1]]=m.slice(w,w+4)}var q=J(M),N=k[q];while(N==null){q=q<<1|J(M);N=k[q]}var K=N[3];
|
||||
if(K!=0)K=J(M)==0?K:-K;s[0]=N[2];s[1]=K}function r(M,s){for(var w=0;w<s;w++){if((M&1)==1)M++;M=M>>>1}return M}function c(M,s){return M>>s}function b(M,s,w,q,N,K){s[w]=c(c(11*M[N]-4*M[N+K]+M[N+K+K]+4,3)+M[q],1);
|
||||
s[w+K]=c(c(5*M[N]+4*M[N+K]-M[N+K+K]+4,3)-M[q],1)}function o(M,s,w,q,N,K){var F=M[N-K]-M[N+K],g=M[N],S=M[q];
|
||||
s[w]=c(c(F+4,3)+g+S,1);s[w+K]=c(c(-F+4,3)+g-S,1)}function G(M,s,w,q,N,K){s[w]=c(c(5*M[N]+4*M[N-K]-M[N-K-K]+4,3)+M[q],1);
|
||||
s[w+K]=c(c(11*M[N]-4*M[N-K]+M[N-K-K]+4,3)-M[q],1)}function v(M){M=M<0?0:M>4095?4095:M;M=X[M]>>>2;return M}function V(M,s,w,q,N){q=new Uint16Array(q.buffer);
|
||||
var K=Date.now(),F=Q._binBE,g=s+w,S,U,aT,f,aH,T,aa,p,aJ,b2,aD,b8,_,aN,x,ah,i,P;s+=4;while(s<g){var u=F.readShort(M,s),I=F.readUshort(M,s+2);
|
||||
s+=4;if(u==12)S=I;else if(u==20)U=I;else if(u==21)aT=I;else if(u==48)f=I;else if(u==53)aH=I;else if(u==35)T=I;
|
||||
else if(u==62)aa=I;else if(u==101)p=I;else if(u==109)aJ=I;else if(u==84)b2=I;else if(u==106)aD=I;else if(u==107)b8=I;
|
||||
else if(u==108)_=I;else if(u==102)aN=I;else if(u==104)x=I;else if(u==105)ah=I;else{var y=u<0?-u:u,ap=y&65280,aK=0;
|
||||
if(y&$){if(y&l){aK=I&65535;aK+=(y&255)<<16}else{aK=I&65535}}if((y&H)==H){if(i==null){i=[];for(var e=0;
|
||||
e<4;e++)i[e]=new Int16Array((U>>>1)*(aT>>>1));P=new Int16Array((U>>>1)*(aT>>>1));L=new Int16Array(1024);
|
||||
for(var e=0;e<1024;e++){var ag=e-512,ay=Math.abs(ag),S=Math.floor(768*ay*ay*ay/(255*255*255))+ay;L[e]=Math.sign(ag)*S}X=new Uint16Array(4096);
|
||||
var b3=(1<<16)-1;for(var e=0;e<4096;e++){var aO=e,a$=b3*(Math.pow(113,aO/4095)-1)/112;X[e]=Math.min(a$,b3)}}var aR=i[aa],aC=r(U,1+z[f]),aA=r(aT,1+z[f]);
|
||||
if(f==0){for(var h=0;h<aA;h++)for(var aY=0;aY<aC;aY++){var am=s+(h*aC+aY)*2;aR[h*(U>>>1)+aY]=M[am]<<8|M[am+1]}}else{var b7=[M,s*8],av=[],ac=0,af=aC*aA,a_=[0,0],aX=0,I=0;
|
||||
while(ac<af){A(b7,a_);aX=a_[0];I=a_[1];while(aX>0){av[ac++]=I;aX--}}var a2=(f-1)%3,a6=a2!=1?aC:0,aZ=a2!=0?aA:0;
|
||||
for(var h=0;h<aA;h++){var as=(h+aZ)*(U>>>1)+a6,a3=h*aC;for(var aY=0;aY<aC;aY++)aR[as+aY]=L[av[a3+aY]+512]*aH}if(a2==2){var x=U>>>1,aB=aC*2,a9=aA*2;
|
||||
for(var h=0;h<aA;h++){for(var aY=0;aY<aB;aY++){var e=h*2*x+aY,aQ=h*x+aY,aL=aA*x+aQ;if(h==0)b(aR,P,e,aL,aQ,x);
|
||||
else if(h==aA-1)G(aR,P,e,aL,aQ,x);else o(aR,P,e,aL,aQ,x)}}var aE=aR;aR=P;P=aE;for(var h=0;h<a9;h++){for(var aY=0;
|
||||
aY<aC;aY++){var e=h*x+2*aY,aQ=h*x+aY,aL=aC+aQ;if(aY==0)b(aR,P,e,aL,aQ,1);else if(aY==aC-1)G(aR,P,e,aL,aQ,1);
|
||||
else o(aR,P,e,aL,aQ,1)}}var aE=aR;aR=P;P=aE;var aG=[],ak=2-~~((f-1)/3);for(var b5=0;b5<3;b5++)aG[b5]=aJ>>14-b5*2&3;
|
||||
var at=aG[ak];if(at!=0)for(var h=0;h<a9;h++)for(var aY=0;aY<aB;aY++){var e=h*x+aY;aR[e]=aR[e]<<at}}}if(f==9&&aa==3){var ao=i[0],b0=i[1],ax=i[2],aj=i[3];
|
||||
for(var h=0;h<aT;h+=2)for(var aY=0;aY<U;aY+=2){var a7=h*U+aY,am=(h>>>1)*(U>>>1)+(aY>>>1),a5=ao[am],a0=b0[am]-2048,az=ax[am]-2048,aU=aj[am]-2048,ab=(a0<<1)+a5,ad=(az<<1)+a5,a4=a5+aU,ar=a5-aU;
|
||||
q[a7]=v(ab);q[a7+1]=v(a4);q[a7+U]=v(ar);q[a7+U+1]=v(ad)}}s+=aK*4}else if(y==16388){s+=aK*4}else if(ap==8192||ap==8448||ap==9216){}else throw y.toString(16)}}console.log(Date.now()-K)}return V}();
|
||||
Q.decode._decodeLogLuv32=function(m,n,k,L,X,z){var H=m.width,d=H*4,l=0,$=new Uint8Array(d);while(l<L){var J=0;
|
||||
while(J<d){var A=n[k+l];l++;if(A<128){for(var r=0;r<A;r++)$[J+r]=n[k+l+r];J+=A;l+=A}else{A=A-126;for(var r=0;
|
||||
r<A;r++)$[J+r]=n[k+l];J+=A;l++}}for(var c=0;c<H;c++){X[z+0]=$[c];X[z+1]=$[c+H];X[z+2]=$[c+H*2];X[z+4]=$[c+H*3];
|
||||
z+=6}}};Q.decode._ljpeg_diff=function(m,n,k){var L=Q.decode._getbithuff,X,z;X=L(m,n,k[0],k);z=L(m,n,X,0);
|
||||
if((z&1<<X-1)==0)z-=(1<<X)-1;return z};Q.decode._decodeARW=function(m,n,k,L,X,z){var H=m.t256[0],d=m.t257[0],l=m.t258[0],$=m.isLE?Q._binLE:Q._binBE,J=H*d==L||H*d*1.5==L,v,D,q,N,K,C,F,g,W,b,B;
|
||||
if(!J){d+=8;var A=[k,0,0,0],r=new Uint16Array(32770),c=[3857,3856,3599,3342,3085,2828,2571,2314,2057,1800,1543,1286,1029,772,771,768,514,513],b,o,G,D,v,V=0,Z=Q.decode._ljpeg_diff;
|
||||
r[0]=15;for(G=b=0;b<18;b++){var M=32768>>>(c[b]>>>8);for(var o=0;o<M;o++)r[++G]=c[b]}for(D=H;D--;)for(v=0;
|
||||
v<d+1;v+=2){if(v==d)v=1;V+=Z(n,A,r);if(v<d){var s=V&4095;Q.decode._putsF(X,(v*H+D)*l,s<<16-l)}}return}if(H*d*1.5==L){for(var b=0;
|
||||
b<L;b+=3){var Y=n[k+b+0],aF=n[k+b+1],w=n[k+b+2];X[z+b]=aF<<4|Y>>>4;X[z+b+1]=Y<<4|w>>>4;X[z+b+2]=w<<4|aF>>>4}return}var b6=new Uint16Array(16),S=new Uint8Array(H+1);
|
||||
for(v=0;v<d;v++){for(var t=0;t<H;t++)S[t]=n[k++];for(B=0,D=0;D<H-30;B+=16){N=2047&(q=$.readUint(S,B));
|
||||
K=2047&q>>>11;C=15&q>>>22;F=15&q>>>26;for(g=0;g<4&&128<<g<=N-K;g++);for(W=30,b=0;b<16;b++)if(b==C)b6[b]=N;
|
||||
else if(b==F)b6[b]=K;else{b6[b]=(($.readUshort(S,B+(W>>3))>>>(W&7)&127)<<g)+K;if(b6[b]>2047)b6[b]=2047;
|
||||
W+=7}for(b=0;b<16;b++,D+=2){var s=b6[b]<<1;Q.decode._putsF(X,(v*H+D)*l,s<<16-l)}D-=D&1?1:31}}};Q.decode._decodeNikon=function(m,n,k,L,X,z,H){var d=[[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,5,4,3,6,2,7,1,0,8,9,11,10,12],[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,57,90,56,39,22,5,4,3,2,1,0,11,12,12],[0,0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0,5,4,6,3,7,2,8,1,9,0,10,11,12],[0,0,1,4,3,1,1,1,1,1,2,0,0,0,0,0,0,5,6,4,7,8,3,9,2,1,0,10,11,12,13,14],[0,0,1,5,1,1,1,1,1,1,1,2,0,0,0,0,0,8,92,75,58,41,7,6,5,4,3,2,1,0,13,14],[0,0,1,4,2,2,3,1,2,0,0,0,0,0,0,0,0,7,6,8,5,9,4,10,3,11,12,2,0,1,13,14]],l=m.t256[0],$=m.t257[0],J=m.t258[0],A=0,r=0,c=Q.decode._make_decoder,b=Q.decode._getbithuff,o=n[0].exifIFD.makerNote,G=o.t150?o.t150:o.t140,D=0,v=G[D++],V=G[D++],w=0,s,q,N,K,C,F,g=0;
|
||||
if(v==73||V==88)D+=2110;if(v==70)A=2;if(J==14)A+=3;var Z=[[0,0],[0,0]],M=m.isLE?Q._binLE:Q._binBE;for(var s=0;
|
||||
s<2;s++)for(var Y=0;Y<2;Y++){Z[s][Y]=M.readShort(G,D);D+=2}var aF=1<<J&32767,b6=M.readShort(G,D);D+=2;
|
||||
if(b6>1)w=Math.floor(aF/(b6-1));if(v==68&&V==32&&w>0)r=M.readShort(G,562);var W=[0,0],B=c(d[A]),S=[L,0,0,0];
|
||||
for(g=q=0;q<$;q++){if(r&&q==r){B=c(d[A+1])}for(N=0;N<l;N++){s=b(k,S,B[0],B);K=s&15;C=s>>>4;F=(b(k,S,K-C,0)<<1)+1<<C>>>1;
|
||||
if((F&1<<K-1)==0)F-=(1<<K)-(C==0?1:0);if(N<2)W[N]=Z[q&1][N]+=F;else W[N&1]+=F;var t=Math.min(Math.max(W[N&1],0),(1<<J)-1),j=(q*l+N)*J;
|
||||
Q.decode._putsF(z,j,t<<16-J)}}};Q.decode._putsF=function(m,n,k){k=k<<8-(n&7);var L=n>>>3;m[L]|=k>>>16;
|
||||
m[L+1]|=k>>>8;m[L+2]|=k};Q.decode._getbithuff=function(m,n,k,L){var X=0,z=Q.decode._get_byte,H,d=n[0],l=n[1],$=n[2],J=n[3];
|
||||
if(k==0||$<0)return 0;while(!J&&$<k&&(H=m[d++])!=-1&&!(J=X&&H==255&&m[d++])){l=(l<<8)+H;$+=8}H=l<<32-$>>>32-k;
|
||||
if(L){$-=L[H+1]>>>8;H=L[H+1]&255}else $-=k;if($<0)throw"e";n[0]=d;n[1]=l;n[2]=$;n[3]=J;return H};Q.decode._make_decoder=function(m){var n,k,L,z,H,d=[],l=17;
|
||||
for(n=16;n!=0&&!m[n];n--);d[0]=n;for(L=k=1;k<=n;k++)for(z=0;z<m[k];z++,++l)for(H=0;H<1<<n-k;H++)if(L<=1<<n)d[L++]=k<<8|m[l];
|
||||
return d};Q.decode._decodeNewJPEG=function(m,n,k,L,X,z){L=Math.min(L,n.length-k);var H=m.t347,d=H?H.length:0,l=new Uint8Array(d+L);
|
||||
if(H){var $=216,J=217,A=0;for(var r=0;r<d-1;r++){if(H[r]==255&&H[r+1]==J)break;l[A++]=H[r]}var c=n[k],b=n[k+1];
|
||||
if(c!=255||b!=$){l[A++]=c;l[A++]=b}for(var r=2;r<L;r++)l[A++]=n[k+r]}else for(var r=0;r<L;r++)l[r]=n[k+r];
|
||||
if(m.t262[0]==32803||m.t259[0]==7&&m.t262[0]==34892){var o=m.t258[0],G=Q.LosslessJpegDecode(l),D=G.length;
|
||||
if(!1){}else if(o==16){if(m.isLE)for(var r=0;r<D;r++){X[z+(r<<1)]=G[r]&255;X[z+(r<<1)+1]=G[r]>>>8}else for(var r=0;
|
||||
r<D;r++){X[z+(r<<1)]=G[r]>>>8;X[z+(r<<1)+1]=G[r]&255}}else if(o==14||o==12){var v=16-o;for(var r=0;r<D;
|
||||
r++)Q.decode._putsF(X,r*o,G[r]<<v)}else if(o==8){for(var r=0;r<D;r++)X[z+r]=G[r]}else throw new Error("unsupported bit depth "+o)}else{var V=new Q.JpegDecoder;
|
||||
V.parse(l);var Z=V.getData({width:V.width,height:V.height,forceRGB:!0,isSourcePDF:!1});for(var r=0;r<Z.length;
|
||||
r++)X[z+r]=Z[r]}if(m.t262[0]==6)m.t262[0]=2};Q.decode._decodeOldJPEGInit=function(m,n,k,L){var X=216,z=217,H=219,d=196,l=221,$=192,J=218,A=0,r=0,c,b,o=!1,G,D,v,V=m.t513,Z=V?V[0]:0,M=m.t514,s=M?M[0]:0,Y=m.t324||m.t273||V,aF=m.t530,w=0,b6=0,q=m.t277?m.t277[0]:1,N=m.t515;
|
||||
if(Y){r=Y[0];o=Y.length>1}if(!o){if(n[k]==255&&n[k+1]==X)return{jpegOffset:k};if(V!=null){if(n[k+Z]==255&&n[k+Z+1]==X)A=k+Z;
|
||||
else an("JPEGInterchangeFormat does not point to SOI");if(M==null)an("JPEGInterchangeFormatLength field is missing");
|
||||
else if(Z>=r||Z+s<=r)an("JPEGInterchangeFormatLength field value is invalid");if(A!=null)return{jpegOffset:A}}}if(aF!=null){w=aF[0];
|
||||
b6=aF[1]}if(V!=null)if(M!=null)if(s>=2&&Z+s<=r){if(n[k+Z+s-2]==255&&n[k+Z+s-1]==X)c=new Uint8Array(s-2);
|
||||
else c=new Uint8Array(s);for(G=0;G<c.length;G++)c[G]=n[k+Z+G];an("Incorrect JPEG interchange format: using JPEGInterchangeFormat offset to derive tables")}else an("JPEGInterchangeFormat+JPEGInterchangeFormatLength > offset to first strip or tile");
|
||||
if(c==null){var K=0,C=[];C[K++]=255;C[K++]=X;var F=m.t519;if(F==null)throw new Error("JPEGQTables tag is missing");
|
||||
for(G=0;G<F.length;G++){C[K++]=255;C[K++]=H;C[K++]=0;C[K++]=67;C[K++]=G;for(D=0;D<64;D++)C[K++]=n[k+F[G]+D]}for(v=0;
|
||||
v<2;v++){var g=m[v==0?"t520":"t521"];if(g==null)throw new Error((v==0?"JPEGDCTables":"JPEGACTables")+" tag is missing");
|
||||
for(G=0;G<g.length;G++){C[K++]=255;C[K++]=d;var W=19;for(D=0;D<16;D++)W+=n[k+g[G]+D];C[K++]=W>>>8;C[K++]=W&255;
|
||||
C[K++]=G|v<<4;for(D=0;D<16;D++)C[K++]=n[k+g[G]+D];for(D=0;D<W;D++)C[K++]=n[k+g[G]+16+D]}}C[K++]=255;
|
||||
C[K++]=$;C[K++]=0;C[K++]=8+3*q;C[K++]=8;C[K++]=m.height>>>8&255;C[K++]=m.height&255;C[K++]=m.width>>>8&255;
|
||||
C[K++]=m.width&255;C[K++]=q;if(q==1){C[K++]=1;C[K++]=17;C[K++]=0}else for(G=0;G<3;G++){C[K++]=G+1;C[K++]=G!=0?17:(w&15)<<4|b6&15;
|
||||
C[K++]=G}if(N!=null&&N[0]!=0){C[K++]=255;C[K++]=l;C[K++]=0;C[K++]=4;C[K++]=N[0]>>>8&255;C[K++]=N[0]&255}c=new Uint8Array(C)}var B=-1;
|
||||
G=0;while(G<c.length-1){if(c[G]==255&&c[G+1]==$){B=G;break}G++}if(B==-1){var S=new Uint8Array(c.length+10+3*q);
|
||||
S.set(c);var t=c.length;B=c.length;c=S;c[t++]=255;c[t++]=$;c[t++]=0;c[t++]=8+3*q;c[t++]=8;c[t++]=m.height>>>8&255;
|
||||
c[t++]=m.height&255;c[t++]=m.width>>>8&255;c[t++]=m.width&255;c[t++]=q;if(q==1){c[t++]=1;c[t++]=17;c[t++]=0}else for(G=0;
|
||||
G<3;G++){c[t++]=G+1;c[t++]=G!=0?17:(w&15)<<4|b6&15;c[t++]=G}}if(n[r]==255&&n[r+1]==J){var j=n[r+2]<<8|n[r+3];
|
||||
b=new Uint8Array(j+2);b[0]=n[r];b[1]=n[r+1];b[2]=n[r+2];b[3]=n[r+3];for(G=0;G<j-2;G++)b[G+4]=n[r+G+4]}else{b=new Uint8Array(2+6+2*q);
|
||||
var R=0;b[R++]=255;b[R++]=J;b[R++]=0;b[R++]=6+2*q;b[R++]=q;if(q==1){b[R++]=1;b[R++]=0}else for(G=0;G<3;
|
||||
G++){b[R++]=G+1;b[R++]=G<<4|G}b[R++]=0;b[R++]=63;b[R++]=0}return{jpegOffset:k,tables:c,sosMarker:b,sofPosition:B}};
|
||||
Q.decode._decodeOldJPEG=function(m,n,k,L,X,z){var H,d,l,$,J,A=Q.decode._decodeOldJPEGInit(m,n,k,L);if(A.jpegOffset!=null){d=k+L-A.jpegOffset;
|
||||
$=new Uint8Array(d);for(H=0;H<d;H++)$[H]=n[A.jpegOffset+H]}else{l=A.tables.length;$=new Uint8Array(l+A.sosMarker.length+L+2);
|
||||
$.set(A.tables);J=l;$[A.sofPosition+5]=m.height>>>8&255;$[A.sofPosition+6]=m.height&255;$[A.sofPosition+7]=m.width>>>8&255;
|
||||
$[A.sofPosition+8]=m.width&255;if(n[k]!=255||n[k+1]!=SOS){$.set(A.sosMarker,J);J+=sosMarker.length}for(H=0;
|
||||
H<L;H++)$[J++]=n[k+H];$[J++]=255;$[J++]=EOI}var r=new Q.JpegDecoder;r.parse($);var c=r.getData({width:r.width,height:r.height,forceRGB:!0,isSourcePDF:!1});
|
||||
for(var H=0;H<c.length;H++)X[z+H]=c[H];if(m.t262&&m.t262[0]==6)m.t262[0]=2};Q.decode._decodePackBits=function(m,n,k,L,X){var z=new Int8Array(m.buffer),H=new Int8Array(L.buffer),d=n+k;
|
||||
while(n<d){var l=z[n];n++;if(l>=0&&l<128)for(var $=0;$<l+1;$++){H[X]=z[n];X++;n++}if(l>=-127&&l<0){for(var $=0;
|
||||
$<-l+1;$++){H[X]=z[n];X++}n++}}return X};Q.decode._decodeThunder=function(m,n,k,L,X){var z=[0,1,0,-1],H=[0,1,2,3,0,-3,-2,-1],d=n+k,l=X*2,$=0;
|
||||
while(n<d){var J=m[n],A=J>>>6,r=J&63;n++;if(A==3){$=r&15;L[l>>>1]|=$<<4*(1-l&1);l++}if(A==0)for(var c=0;
|
||||
c<r;c++){L[l>>>1]|=$<<4*(1-l&1);l++}if(A==2)for(var c=0;c<2;c++){var b=r>>>3*(1-c)&7;if(b!=4){$+=H[b];
|
||||
L[l>>>1]|=$<<4*(1-l&1);l++}}if(A==1)for(var c=0;c<3;c++){var b=r>>>2*(2-c)&3;if(b!=2){$+=z[b];L[l>>>1]|=$<<4*(1-l&1);
|
||||
l++}}}};Q.decode._dmap={"1":0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3};Q.decode._lens=function(){var m=function(l,$,J,A){for(var r=0;
|
||||
r<$.length;r++)l[$[r]]=J+r*A},n="00110101,000111,0111,1000,1011,1100,1110,1111,10011,10100,00111,01000,001000,000011,110100,110101,"+"101010,101011,0100111,0001100,0001000,0010111,0000011,0000100,0101000,0101011,0010011,0100100,0011000,00000010,00000011,00011010,"+"00011011,00010010,00010011,00010100,00010101,00010110,00010111,00101000,00101001,00101010,00101011,00101100,00101101,00000100,00000101,00001010,"+"00001011,01010010,01010011,01010100,01010101,00100100,00100101,01011000,01011001,01011010,01011011,01001010,01001011,00110010,00110011,00110100",k="0000110111,010,11,10,011,0011,0010,00011,000101,000100,0000100,0000101,0000111,00000100,00000111,000011000,"+"0000010111,0000011000,0000001000,00001100111,00001101000,00001101100,00000110111,00000101000,00000010111,00000011000,000011001010,000011001011,000011001100,000011001101,000001101000,000001101001,"+"000001101010,000001101011,000011010010,000011010011,000011010100,000011010101,000011010110,000011010111,000001101100,000001101101,000011011010,000011011011,000001010100,000001010101,000001010110,000001010111,"+"000001100100,000001100101,000001010010,000001010011,000000100100,000000110111,000000111000,000000100111,000000101000,000001011000,000001011001,000000101011,000000101100,000001011010,000001100110,000001100111",L="11011,10010,010111,0110111,00110110,00110111,01100100,01100101,01101000,01100111,011001100,011001101,011010010,011010011,011010100,011010101,011010110,"+"011010111,011011000,011011001,011011010,011011011,010011000,010011001,010011010,011000,010011011",X="0000001111,000011001000,000011001001,000001011011,000000110011,000000110100,000000110101,0000001101100,0000001101101,0000001001010,0000001001011,0000001001100,"+"0000001001101,0000001110010,0000001110011,0000001110100,0000001110101,0000001110110,0000001110111,0000001010010,0000001010011,0000001010100,0000001010101,0000001011010,"+"0000001011011,0000001100100,0000001100101",z="00000001000,00000001100,00000001101,000000010010,000000010011,000000010100,000000010101,000000010110,000000010111,000000011100,000000011101,000000011110,000000011111";
|
||||
n=n.split(",");k=k.split(",");L=L.split(",");X=X.split(",");z=z.split(",");var H={},d={};m(H,n,0,1);
|
||||
m(H,L,64,64);m(H,z,1792,64);m(d,k,0,1);m(d,X,64,64);m(d,z,1792,64);return[H,d]}();Q.decode._decodeG4=function(m,n,k,L,X,z,H){var d=Q.decode,l=n<<3,$=0,J="",A=[],r=[],b=0,o=0,G=0,D=0,v=0,Z=0,M=0,s="",Y=0;
|
||||
for(var c=0;c<z;c++)r.push(0);r=d._makeDiff(r);var aF=Math.ceil(z/8)*8;while(l>>>3<n+k){D=d._findDiff(r,b+(b==0?0:1),1-Z),v=d._findDiff(r,D,Z);
|
||||
var w=0;if(H==1)w=m[l>>>3]>>>7-(l&7)&1;if(H==2)w=m[l>>>3]>>>(l&7)&1;l++;J+=w;if(s=="H"){if(d._lens[Z][J]!=null){var b6=d._lens[Z][J];
|
||||
J="";$+=b6;if(b6<64){d._addNtimes(A,$,Z);b+=$;Z=1-Z;$=0;Y--;if(Y==0)s=""}}}else{if(J=="0001"){J="";d._addNtimes(A,v-b,Z);
|
||||
b=v}if(J=="001"){J="";s="H";Y=2}if(d._dmap[J]!=null){o=D+d._dmap[J];d._addNtimes(A,o-b,Z);b=o;J="";Z=1-Z}}if(A.length==z&&s==""){d._writeBits(A,L,X*8+M*aF);
|
||||
Z=0;M++;b=0;r=d._makeDiff(A);A=[]}}};Q.decode._findDiff=function(m,n,k){for(var L=0;L<m.length;L+=2)if(m[L]>=n&&m[L+1]==k)return m[L]};
|
||||
Q.decode._makeDiff=function(m){var n=[];if(m[0]==1)n.push(0,1);for(var k=1;k<m.length;k++)if(m[k-1]!=m[k])n.push(k,m[k]);
|
||||
n.push(m.length,0,m.length,1);return n};Q.decode._decodeG2=function(m,n,k,L,X,z,H){var d=Q.decode,l=n<<3,$=0,J="",A=[],r=0,c=0,b=Math.ceil(z/8)*8;
|
||||
while(l>>>3<n+k){var o=0;if(H==1)o=m[l>>>3]>>>7-(l&7)&1;if(H==2)o=m[l>>>3]>>>(l&7)&1;l++;J+=o;$=d._lens[r][J];
|
||||
if($!=null){d._addNtimes(A,$,r);J="";if($<64)r=1-r;if(A.length==z){d._writeBits(A,L,X*8+c*b);A=[];c++;
|
||||
r=0;if((l&7)!=0)l+=8-(l&7);if($>=64)l+=8}}}};Q.decode._decodeG3=function(m,n,k,L,X,z,H,d){var l=Q.decode,$=n<<3,J=0,A="",r=[],c=[],o=0,G=0,D=0,v=0,Z=0,M=0,Y="",aF=0,w=!0;
|
||||
for(var b=0;b<z;b++)r.push(0);var s=-1,b6=Math.ceil(z/8)*8;while($>>>3<n+k){v=l._findDiff(c,o+(o==0?0:1),1-M),Z=l._findDiff(c,v,M);
|
||||
var q=0;if(H==1)q=m[$>>>3]>>>7-($&7)&1;if(H==2)q=m[$>>>3]>>>($&7)&1;$++;A+=q;if(w){if(l._lens[M][A]!=null){var N=l._lens[M][A];
|
||||
A="";J+=N;if(N<64){l._addNtimes(r,J,M);M=1-M;J=0}}}else{if(Y=="H"){if(l._lens[M][A]!=null){var N=l._lens[M][A];
|
||||
A="";J+=N;if(N<64){l._addNtimes(r,J,M);o+=J;M=1-M;J=0;aF--;if(aF==0)Y=""}}}else{if(A=="0001"){A="";l._addNtimes(r,Z-o,M);
|
||||
o=Z}if(A=="001"){A="";Y="H";aF=2}if(l._dmap[A]!=null){G=v+l._dmap[A];l._addNtimes(r,G-o,M);o=G;A="";
|
||||
M=1-M}}}if(A.endsWith("000000000001")){if(s>=0)l._writeBits(r,L,X*8+s*b6);if(d){if(H==1)w=(m[$>>>3]>>>7-($&7)&1)==1;
|
||||
if(H==2)w=(m[$>>>3]>>>($&7)&1)==1;$++}A="";M=0;s++;o=0;c=l._makeDiff(r);r=[]}}if(r.length==z)l._writeBits(r,L,X*8+s*b6)};
|
||||
Q.decode._addNtimes=function(m,n,k){for(var L=0;L<n;L++)m.push(k)};Q.decode._writeBits=function(m,n,k){for(var L=0;
|
||||
L<m.length;L++)n[k+L>>>3]|=m[L]<<7-(k+L&7)};Q.decode._decodeLZW=Q.decode._decodeLZW=function(){var m,k,L,X,z=0,H=0,d=0,l=0,$=function(){var v=m>>>3,Z=k[v]<<16|k[v+1]<<8|k[v+2],M=Z>>>24-(m&7)-H&(1<<H)-1;
|
||||
m+=H;return M},J=new Uint32Array(4096*4),A=0,r=function(v){if(v==A)return;A=v;d=1<<v;l=d+1;for(var Z=0;
|
||||
Z<l+1;Z++){J[4*Z]=J[4*Z+3]=Z;J[4*Z+1]=65535;J[4*Z+2]=1}},c=function(v){H=v+1;z=l+1},b=function(v){var Z=v<<2,M=J[Z+2],s=X+M-1;
|
||||
while(Z!=65535){L[s--]=J[Z];Z=J[Z+1]}X+=M},o=function(v,Z){var M=z<<2,s=v<<2;J[M]=J[(Z<<2)+3];J[M+1]=s;
|
||||
J[M+2]=J[s+2]+1;J[M+3]=J[s+3];z++;if(z+1==1<<H&&H!=12)H++},G=function(v,Z,M,s,aF,w){m=Z<<3;k=v;L=s;X=aF;
|
||||
var q=Z+M<<3,N=0,K=0;r(w);c(w);while(m<q&&(N=$())!=l){if(N==d){c(w);N=$();if(N==l)break;b(N)}else{if(N<z){b(N);
|
||||
o(K,N)}else{o(K,K);b(z-1)}}K=N}return X};return G}();Q.tags={};Q._types=function(){var m=new Array(250);
|
||||
m.fill(0);m=m.concat([0,0,0,0,4,3,3,3,3,3,0,0,3,0,0,0,3,0,0,2,2,2,2,4,3,0,0,3,4,4,3,3,5,5,3,2,5,5,0,0,0,0,4,4,0,0,3,3,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,2,3,5,5,3,0,3,3,4,4,4,3,4,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);
|
||||
var n={33432:2,33434:5,33437:5,34665:4,34850:3,34853:4,34855:3,34864:3,34866:4,36864:7,36867:2,36868:2,37121:7,37377:10,37378:5,37380:10,37381:5,37383:3,37384:3,37385:3,37386:5,37510:7,37520:2,37521:2,37522:2,40960:7,40961:3,40962:4,40963:4,40965:4,41486:5,41487:5,41488:3,41985:3,41986:3,41987:3,41988:5,41989:3,41990:3,41993:3,41994:3,41995:7,41996:3,42032:2,42033:2,42034:5,42036:2,42037:2,59932:7};
|
||||
return{basic:{main:m,rest:n},gps:{main:[1,2,5,2,5,1,5,5,0,9],rest:{18:2,29:2}}}}();Q._readIFD=function(m,n,k,L,X,z){var H=m.readUshort(n,k);
|
||||
k+=2;var d={};if(z.debug)an(" ".repeat(X),L.length-1,">>>----------------");for(var l=0;l<H;l++){var $=m.readUshort(n,k);
|
||||
k+=2;var J=m.readUshort(n,k);k+=2;var A=m.readUint(n,k);k+=4;var r=m.readUint(n,k);k+=4;var c=[];if(J==1||J==7){c=new Uint8Array(n.buffer,A<5?k-4:r,A)}if(J==2){var b=A<5?k-4:r,o=n[b],G=Math.max(0,Math.min(A-1,n.length-b));
|
||||
if(o<128||G==0)c.push(m.readASCII(n,b,G));else c=new Uint8Array(n.buffer,b,G)}if(J==3){for(var D=0;D<A;
|
||||
D++)c.push(m.readUshort(n,(A<3?k-4:r)+2*D))}if(J==4||J==13){for(var D=0;D<A;D++)c.push(m.readUint(n,(A<2?k-4:r)+4*D))}if(J==5||J==10){var v=J==5?m.readUint:m.readInt;
|
||||
for(var D=0;D<A;D++)c.push([v(n,r+D*8),v(n,r+D*8+4)])}if(J==8){for(var D=0;D<A;D++)c.push(m.readShort(n,(A<3?k-4:r)+2*D))}if(J==9){for(var D=0;
|
||||
D<A;D++)c.push(m.readInt(n,(A<2?k-4:r)+4*D))}if(J==11){for(var D=0;D<A;D++)c.push(m.readFloat(n,r+D*4))}if(J==12){for(var D=0;
|
||||
D<A;D++)c.push(m.readDouble(n,r+D*8))}if(A!=0&&c.length==0){an($,"unknown TIFF tag type: ",J,"num:",A);
|
||||
if(l==0)return;continue}if(z.debug)an(" ".repeat(X),$,J,Q.tags[$],c);d["t"+$]=c;if($==330&&d.t272&&d.t272[0]=="DSLR-A100"){}else if($==330||$==34665||$==34853||$==50740&&m.readUshort(n,m.readUint(c,0))<300||$==61440){var V=$==50740?[m.readUint(c,0)]:c,Z=[];
|
||||
for(var D=0;D<V.length;D++)Q._readIFD(m,n,V[D],Z,X+1,z);if($==330)d.subIFD=Z;if($==34665)d.exifIFD=Z[0];
|
||||
if($==34853)d.gpsiIFD=Z[0];if($==50740)d.dngPrvt=Z[0];if($==61440)d.fujiIFD=Z[0]}if($==37500&&z.parseMN){var M=c;
|
||||
if(m.readASCII(M,0,5)=="Nikon")d.makerNote=Q.decode(M.slice(10).buffer)[0];else if(m.readUshort(n,r)<300&&m.readUshort(n,r+4)<=12){var s=[];
|
||||
Q._readIFD(m,n,r,s,X+1,z);d.makerNote=s[0]}}}L.push(d);if(z.debug)an(" ".repeat(X),"<<<---------------");
|
||||
return k};Q._writeIFD=function(m,n,k,L,X){var z=Object.keys(X),H=z.length;if(X.exifIFD)H--;if(X.gpsiIFD)H--;
|
||||
m.writeUshort(k,L,H);L+=2;var d=L+H*12+4;for(var l=0;l<z.length;l++){var $=z[l];if($=="t34665"||$=="t34853")continue;
|
||||
if($=="exifIFD")$="t34665";if($=="gpsiIFD")$="t34853";var J=parseInt($.slice(1)),A=n.main[J];if(A==null)A=n.rest[J];
|
||||
if(A==null||A==0)throw new Error("unknown type of tag: "+J);var r=X[$];if(J==34665){var c=Q._writeIFD(m,n,k,d,X.exifIFD);
|
||||
r=[d];d=c[1]}if(J==34853){var c=Q._writeIFD(m,Q._types.gps,k,d,X.gpsiIFD);r=[d];d=c[1]}if(A==2)r=r[0]+"\0";
|
||||
var b=r.length;m.writeUshort(k,L,J);L+=2;m.writeUshort(k,L,A);L+=2;m.writeUint(k,L,b);L+=4;var o=[-1,1,1,2,4,8,0,1,0,4,8,0,8][A]*b,G=L;
|
||||
if(o>4){m.writeUint(k,L,d);G=d}if(A==1||A==7){for(var D=0;D<b;D++)k[G+D]=r[D]}else if(A==2){m.writeASCII(k,G,r)}else if(A==3){for(var D=0;
|
||||
D<b;D++)m.writeUshort(k,G+2*D,r[D])}else if(A==4){for(var D=0;D<b;D++)m.writeUint(k,G+4*D,r[D])}else if(A==5||A==10){var v=A==5?m.writeUint:m.writeInt;
|
||||
for(var D=0;D<b;D++){var V=r[D],Z=V[0],M=V[1];if(Z==null)throw"e";v(k,G+8*D,Z);v(k,G+8*D+4,M)}}else if(A==9){for(var D=0;
|
||||
D<b;D++)m.writeInt(k,G+4*D,r[D])}else if(A==12){for(var D=0;D<b;D++)m.writeDouble(k,G+8*D,r[D])}else throw A;
|
||||
if(o>4){o+=o&1;d+=o}L+=4}return[L,d]};Q.toRGBA8=function(m,n){var k=m.width,L=m.height,z=k*L,H=z*4,d=m.data,l=new Uint8Array(z*4),$=m.t262?m.t262[0]:2,J=m.t258?Math.min(32,m.t258[0]):1;
|
||||
if(m.t262==null&&J==1)$=0;if(!1){}else if($==0){var A=Math.ceil(J*k/8);for(var r=0;r<L;r++){var c=r*A,b=r*k;
|
||||
if(J==1)for(var o=0;o<k;o++){var G=b+o<<2,D=d[c+(o>>3)]>>7-(o&7)&1;l[G]=l[G+1]=l[G+2]=(1-D)*255;l[G+3]=255}if(J==4)for(var o=0;
|
||||
o<k;o++){var G=b+o<<2,D=d[c+(o>>1)]>>4-4*(o&1)&15;l[G]=l[G+1]=l[G+2]=(15-D)*17;l[G+3]=255}if(J==8)for(var o=0;
|
||||
o<k;o++){var G=b+o<<2,D=d[c+o];l[G]=l[G+1]=l[G+2]=255-D;l[G+3]=255}}}else if($==1){var v=m.t258?m.t258.length:1,A=Math.ceil(v*J*k/8);
|
||||
if(n==null)n=1/256;for(var r=0;r<L;r++){var c=r*A,b=r*k;if(J==1)for(var o=0;o<k;o++){var G=b+o<<2,D=d[c+(o>>3)]>>7-(o&7)&1;
|
||||
l[G]=l[G+1]=l[G+2]=D*255;l[G+3]=255}if(J==2)for(var o=0;o<k;o++){var G=b+o<<2,D=d[c+(o>>2)]>>6-2*(o&3)&3;
|
||||
l[G]=l[G+1]=l[G+2]=D*85;l[G+3]=255}if(J==8)for(var o=0;o<k;o++){var G=b+o<<2,D=d[c+o*v];l[G]=l[G+1]=l[G+2]=D;
|
||||
l[G+3]=255}if(J==16)for(var o=0;o<k;o++){var G=b+o<<2,Z=c+2*o,D=d[Z+1]<<8|d[Z];l[G]=l[G+1]=l[G+2]=Math.min(255,~~(D*n));
|
||||
l[G+3]=255}}}else if($==2){var v=m.t258?m.t258.length:3;if(J==8){if(v==4)for(var o=0;o<H;o++)l[o]=d[o];
|
||||
if(v==3)for(var o=0;o<z;o++){var G=o<<2,s=o*3;l[G]=d[s];l[G+1]=d[s+1];l[G+2]=d[s+2];l[G+3]=255}}else if(J==16){if(v==4)for(var o=0;
|
||||
o<z;o++){var G=o<<2,s=o*8+1;l[G]=d[s];l[G+1]=d[s+2];l[G+2]=d[s+4];l[G+3]=d[s+6]}if(v==3)for(var o=0;
|
||||
o<z;o++){var G=o<<2,s=o*6+1;l[G]=d[s];l[G+1]=d[s+2];l[G+2]=d[s+4];l[G+3]=255}}else if(J==32){if(!l.isLE)for(var o=0;
|
||||
o<d.length;o+=4){var Y=d[o];d[o]=d[o+3];d[o+3]=Y;Y=d[o+1];d[o+1]=d[o+2];d[o+2]=Y}var aF=new Float32Array(d.buffer);
|
||||
if(v==3)for(var o=0;o<z;o++){var G=o<<2,s=o*3;l[G]=~~(.5+aF[s]*255);l[G+1]=~~(.5+aF[s+1]*255);l[G+2]=~~(.5+aF[s+2]*255);
|
||||
l[G+3]=255}else throw v}else throw J}else if($==3){var w=m.t320,v=m.t258?m.t258.length:1,A=Math.ceil(v*J*k/8),b6=1<<J;
|
||||
for(var r=0;r<L;r++)for(var q=0;q<k;q++){var o=r*k+q,G=o<<2,N=0,K=r*A;if(!1){}else if(J==1)N=d[K+(q>>>3)]>>>7-(q&7)&1;
|
||||
else if(J==2)N=d[K+(q>>>2)]>>>6-2*(q&3)&3;else if(J==4)N=d[K+(q>>>1)]>>>4-4*(q&1)&15;else if(J==8)N=d[K+q*v];
|
||||
else throw J;l[G]=w[N]>>8;l[G+1]=w[b6+N]>>8;l[G+2]=w[b6+b6+N]>>8;l[G+3]=255}}else if($==5){var v=m.t258?m.t258.length:4,C=v>4?1:0;
|
||||
for(var o=0;o<z;o++){var G=o<<2,F=o*v;if(UDOC){var g=d[F],W=d[F+1],B=d[F+2],t=d[F+3],j=UDOC.C.cmykToRgb([g*(1/255),W*(1/255),B*(1/255),t*(1/255)]);
|
||||
l[G]=~~(.5+255*j[0]);l[G+1]=~~(.5+255*j[1]);l[G+2]=~~(.5+255*j[2])}else{var g=255-d[F],W=255-d[F+1],B=255-d[F+2],t=(255-d[F+3])*(1/255);
|
||||
l[G]=~~(g*t+.5);l[G+1]=~~(W*t+.5);l[G+2]=~~(B*t+.5)}l[G+3]=255*(1-C)+d[F+4]*C}}else if($==6&&m.t278){var R=m.t278[0];
|
||||
for(var r=0;r<L;r+=R){var o=r*k,aq=R*k;for(var U=0;U<aq;U++){var G=4*(o+U),F=3*o+4*(U>>>1),B=d[F+(U&1)],O=d[F+2]-128,aT=d[F+3]-128,ae=B+((aT>>2)+(aT>>3)+(aT>>5)),f=B-((O>>2)+(O>>4)+(O>>5))-((aT>>1)+(aT>>3)+(aT>>4)+(aT>>5)),aH=B+(O+(O>>1)+(O>>2)+(O>>6));
|
||||
l[G]=Math.max(0,Math.min(255,ae));l[G+1]=Math.max(0,Math.min(255,f));l[G+2]=Math.max(0,Math.min(255,aH));
|
||||
l[G+3]=255}}}else if($==32845){function a(q){return q<.0031308?12.92*q:1.055*Math.pow(q,1/2.4)-.055}for(var r=0;
|
||||
r<L;r++)for(var q=0;q<k;q++){var F=(r*k+q)*6,G=(r*k+q)*4,aa=d[F+1]<<8|d[F],aa=Math.pow(2,(aa+.5)/256-64),p=(d[F+3]+.5)/410,aJ=(d[F+5]+.5)/410,a1=9*p/(6*p-16*aJ+12),b2=4*aJ/(6*p-16*aJ+12),aD=aa,b8=a1*aD/b2,B=aD,_=(1-a1-b2)*aD/b2,ae=2.69*b8-1.276*B-.414*_,f=-1.022*b8+1.978*B+.044*_,aH=.061*b8-.224*B+1.163*_;
|
||||
l[G]=a(Math.min(ae,1))*255;l[G+1]=a(Math.min(f,1))*255;l[G+2]=a(Math.min(aH,1))*255;l[G+3]=255}}else an("Unknown Photometric interpretation: "+$);
|
||||
return l};Q.replaceIMG=function(m){if(m==null)m=document.getElementsByTagName("img");var n=["tif","tiff","dng","cr2","nef"];
|
||||
for(var k=0;k<m.length;k++){var L=m[k],X=L.getAttribute("src");if(X==null)continue;var H=X.split(".").pop().toLowerCase();
|
||||
if(n.indexOf(H)==-1)continue;var d=new XMLHttpRequest;Q._xhrs.push(d);Q._imgs.push(L);d.open("GET",X);
|
||||
d.responseType="arraybuffer";d.onload=Q._imgLoaded;d.send()}};Q._xhrs=[];Q._imgs=[];Q._imgLoaded=function(m){var k=Q._xhrs.indexOf(m.target),L=Q._imgs[k];
|
||||
Q._xhrs.splice(k,1);Q._imgs.splice(k,1);L.setAttribute("src",Q.bufferToURI(m.target.response))};Q.bufferToURI=function(m){var n=Q.decode(m),k=n,L=0,X=k[0];
|
||||
if(n[0].subIFD)k=k.concat(n[0].subIFD);for(var z=0;z<k.length;z++){var H=k[z];if(H.t258==null||H.t258.length<3)continue;
|
||||
var d=H.t256*H.t257;if(d>L){L=d;X=H}}Q.decodeImage(m,X,n);var l=Q.toRGBA8(X),$=X.width,J=X.height,A=document.createElement("canvas");
|
||||
A.width=$;A.height=J;var r=A.getContext("2d"),c=new ImageData(new Uint8ClampedArray(l.buffer),$,J);r.putImageData(c,0,0);
|
||||
return A.toDataURL()};Q._binBE={nextZero:function(m,n){while(m[n]!=0)n++;return n},readUshort:function(m,n){return m[n]<<8|m[n+1]},readShort:function(m,n){var k=Q._binBE.ui8;
|
||||
k[0]=m[n+1];k[1]=m[n+0];return Q._binBE.i16[0]},readInt:function(m,n){var k=Q._binBE.ui8;k[0]=m[n+3];
|
||||
k[1]=m[n+2];k[2]=m[n+1];k[3]=m[n+0];return Q._binBE.i32[0]},readUint:function(m,n){var k=Q._binBE.ui8;
|
||||
k[0]=m[n+3];k[1]=m[n+2];k[2]=m[n+1];k[3]=m[n+0];return Q._binBE.ui32[0]},readASCII:function(m,n,k){var L="";
|
||||
for(var X=0;X<k;X++)L+=String.fromCharCode(m[n+X]);return L},readFloat:function(m,n){var k=Q._binBE.ui8;
|
||||
for(var L=0;L<4;L++)k[L]=m[n+3-L];return Q._binBE.fl32[0]},readDouble:function(m,n){var k=Q._binBE.ui8;
|
||||
for(var L=0;L<8;L++)k[L]=m[n+7-L];return Q._binBE.fl64[0]},writeUshort:function(m,n,k){m[n]=k>>8&255;
|
||||
m[n+1]=k&255},writeInt:function(m,n,k){var L=Q._binBE.ui8;Q._binBE.i32[0]=k;m[n+3]=L[0];m[n+2]=L[1];
|
||||
m[n+1]=L[2];m[n+0]=L[3]},writeUint:function(m,n,k){m[n]=k>>24&255;m[n+1]=k>>16&255;m[n+2]=k>>8&255;m[n+3]=k>>0&255},writeASCII:function(m,n,k){for(var L=0;
|
||||
L<k.length;L++)m[n+L]=k.charCodeAt(L)},writeDouble:function(m,n,k){Q._binBE.fl64[0]=k;for(var L=0;L<8;
|
||||
L++)m[n+L]=Q._binBE.ui8[7-L]}};Q._binBE.ui8=new Uint8Array(8);Q._binBE.i16=new Int16Array(Q._binBE.ui8.buffer);
|
||||
Q._binBE.i32=new Int32Array(Q._binBE.ui8.buffer);Q._binBE.ui32=new Uint32Array(Q._binBE.ui8.buffer);
|
||||
Q._binBE.fl32=new Float32Array(Q._binBE.ui8.buffer);Q._binBE.fl64=new Float64Array(Q._binBE.ui8.buffer);
|
||||
Q._binLE={nextZero:Q._binBE.nextZero,readUshort:function(m,n){return m[n+1]<<8|m[n]},readShort:function(m,n){var k=Q._binBE.ui8;
|
||||
k[0]=m[n+0];k[1]=m[n+1];return Q._binBE.i16[0]},readInt:function(m,n){var k=Q._binBE.ui8;k[0]=m[n+0];
|
||||
k[1]=m[n+1];k[2]=m[n+2];k[3]=m[n+3];return Q._binBE.i32[0]},readUint:function(m,n){var k=Q._binBE.ui8;
|
||||
k[0]=m[n+0];k[1]=m[n+1];k[2]=m[n+2];k[3]=m[n+3];return Q._binBE.ui32[0]},readASCII:Q._binBE.readASCII,readFloat:function(m,n){var k=Q._binBE.ui8;
|
||||
for(var L=0;L<4;L++)k[L]=m[n+L];return Q._binBE.fl32[0]},readDouble:function(m,n){var k=Q._binBE.ui8;
|
||||
for(var L=0;L<8;L++)k[L]=m[n+L];return Q._binBE.fl64[0]},writeUshort:function(m,n,k){m[n]=k&255;m[n+1]=k>>8&255},writeInt:function(m,n,k){var L=Q._binBE.ui8;
|
||||
Q._binBE.i32[0]=k;m[n+0]=L[0];m[n+1]=L[1];m[n+2]=L[2];m[n+3]=L[3]},writeUint:function(m,n,k){m[n]=k>>>0&255;
|
||||
m[n+1]=k>>>8&255;m[n+2]=k>>>16&255;m[n+3]=k>>>24&255},writeASCII:Q._binBE.writeASCII};Q._copyTile=function(m,n,k,L,X,z,H,d){var l=Math.min(n,X-H),$=Math.min(k,z-d);
|
||||
for(var J=0;J<$;J++){var A=(d+J)*X+H,r=J*n;for(var c=0;c<l;c++)L[A+c]=m[r+c]}};Q.LosslessJpegDecode=function(){var m,n;
|
||||
function k(){return m[n++]}function L(){return m[n++]<<8|m[n++]}function X(v){var V=k(),M=[0,0,0,255],s=[],w=8;
|
||||
for(var q=0;q<16;q++)s[q]=k();for(var q=0;q<16;q++){for(var N=0;N<s[q];N++){var C=z(M,0,q+1,1);M[C+3]=k()}}var F=new Uint8Array(1<<w);
|
||||
v[V]=[new Uint8Array(M),F];for(var q=0;q<1<<w;q++){var S=w,t=q,aq=0,U=0;while(M[aq+3]==255&&S!=0){U=t>>--S&1;
|
||||
aq=M[aq+U]}F[q]=aq}}function z(v,V,M,s){if(v[V+3]!=255)return 0;if(M==0)return V;for(var w=0;w<2;w++){if(v[V+w]==0){v[V+w]=v.length;
|
||||
v.push(0,0,s,255)}var q=z(v,v[V+w],M-1,s+1);if(q!=0)return q}return 0}function H(v){var V=v.b,M=v.a;
|
||||
while(V<25&&v.e<v.d){var s=v.data[v.e++];if(!v.c)v.e+=s+1>>>8;M=M<<8|s;V+=8}if(V<0)throw"e";v.b=V;v.a=M}function d(v,V){if(V.b<v)H(V);
|
||||
return V.a>>(V.b-=v)&65535>>16-v}function l(v,V){var M=v[0],s=0,w=255,q=0;if(V.b<16)H(V);var C=V.a>>V.b-8&255;
|
||||
s=v[1][C];w=M[s+3];V.b-=M[s+2];while(w==255){q=V.a>>--V.b&1;s=M[s+q];w=M[s+3]}return w}function $(v,V){if(v<32768>>16-V)v+=-(1<<V)+1;
|
||||
return v}function J(v,V){var M=l(v,V);if(M==0)return 0;if(M==16)return-32768;var s=d(M,V);return $(s,M)}function r(v,V,M,s,w,q){for(var C=0;
|
||||
C<q;C++){var n=C*V;for(var F=0;F<V;F+=w)for(var S=0;S<w;S++)v[n+F+S]=J(s[S],M)}}function c(v,V){return $(d(v,V),v)}function b(v,V,M,s,w){var q=m.length-n;
|
||||
for(var C=0;C<q;C+=4){var F=m[n+C];m[n+C]=m[n+C+3];m[n+C+3]=F;var F=m[n+C+1];m[n+C+1]=m[n+C+2];m[n+C+2]=F}for(var S=0;
|
||||
S<w;S++){var t=32768,aq=32768;for(var U=0;U<V;U+=2){var O=l(s,M),aT=l(s,M);if(O!=0)t+=c(O,M);if(aT!=0)aq+=c(aT,M);
|
||||
v[S*V+U]=t&65535;v[S*V+U+1]=aq&65535}}}function o(v){m=v;n=0;if(L()!=65496)throw"e";var V=[],M=0,s=0,w=[],q=[],C=[],F=0,S=0,t=0;
|
||||
while(!0){var aq=L();if(aq==65535){n--;continue}var U=L();if(aq==65475){s=k();S=L();t=L();F=k();for(var O=0;
|
||||
O<F;O++){var aT=k(),ae=k(),f=k();if(f!=0)throw"e";V[aT]=[O,ae>>4,ae&15]}}else if(aq==65476){var aH=n+U-2;
|
||||
while(n<aH)X(q)}else if(aq==65498){n++;for(var O=0;O<F;O++){var T=k(),a1=V[T];C[a1[0]]=q[k()>>>4];w[a1[0]]=a1.slice(1)}M=k();
|
||||
n+=2;break}else{n+=U-2}}var b2=s>8?Uint16Array:Uint8Array,aD=new b2(S*t*F),b8={b:0,a:0,c:M==8,e:n,data:m,d:m.length};
|
||||
if(b8.c)b(aD,t*F,b8,C[0],S);else{var _=[],aN=0,x=0;for(var O=0;O<F;O++){var aW=w[O],au=aW[0],ah=aW[1];
|
||||
if(au>aN)aN=au;if(ah>x)x=ah;_.push(au*ah)}if(aN!=1||x!=1){var i=[],E=0;for(var O=0;O<F;O++){for(var P=0;
|
||||
P<_[O];P++)i.push(C[O]);E+=_[O]}var u=t/aN,I=S/x;r(aD,u*E,b8,i,E,I);G(aD,M,u,I,E-2,E,E,s);var y=aD.slice(0);
|
||||
for(var ah=0;ah<S;ah++)for(var au=0;au<t;au++){var ap=(ah*t+au)*F,aK=~~(ah/x),aM=~~(au/aN),aV=aK*u+aM,e=0;
|
||||
for(var O=0;O<F;O++){var ag=au&1,aS=ah&1,ay=x==2?ah&1:0,al=aV*E+e+(O==0?x==1?ag:ag*2+aS:0);aD[ap+O]=y[al];
|
||||
e+=_[O]}}G(aD,M,t,S,0,1,F,s)}else{r(aD,t*F,b8,C,F,S);G(aD,M,t,S,0,F,F,s)}}return aD}function G(v,V,M,s,w,q,C,F){var S=M*C;
|
||||
for(var t=w;t<q;t++)v[t]+=1<<F-1;for(var aq=C;aq<S;aq+=C)for(var t=w;t<q;t++)v[aq+t]+=v[aq+t-C];for(var U=1;
|
||||
U<s;U++){var O=U*S;for(var t=w;t<q;t++)v[O+t]+=v[O+t-S];for(var aq=C;aq<S;aq+=C){for(var t=w;t<q;t++){var aT=O+aq+t,ae=aT-S,f=v[aT-C],aH=0;
|
||||
if(V==0)aH=0;else if(V==1)aH=f;else if(V==2)aH=v[ae];else if(V==3)aH=v[ae-C];else if(V==4)aH=f+(v[ae]-v[ae-C]);
|
||||
else if(V==5)aH=f+(v[ae]-v[ae-C]>>>1);else if(V==6)aH=v[ae]+(f-v[ae-C]>>>1);else if(V==7)aH=f+v[ae]>>>1;
|
||||
else throw V;v[aT]+=aH}}}}return o}();(function(){var m=0,n=1,k=2,L=3,X=4,H=5,d=6,l=7,$=8,J=9,A=10,r=11,c=12,b=13,G=14,D=15,v=16,V=17,M=18;
|
||||
function s(a){var T=Q._binBE.readUshort,i={b:T(a,0),i:a[2],C:a[3],u:a[4],q:T(a,5),k:T(a,7),e:T(a,9),l:T(a,11),s:a[13],d:T(a,14)};
|
||||
if(i.b!=18771||i.i>1||i.q<6||i.q%6||i.e<768||i.e%24||i.l!=768||i.k<i.l||i.k%i.l||i.k-i.e>=i.l||i.s>16||i.s!=i.k/i.l||i.s!=Math.ceil(i.e/i.l)||i.d!=i.q/6||i.u!=12&&i.u!=14&&i.u!=16||i.C!=16&&i.C!=0){throw"Invalid data"}if(i.i==0){throw"Not implemented. We need this file!"}i.h=i.C==16;
|
||||
i.m=(i.h?i.l*2/3:i.l>>>1)|0;i.A=i.m+2;i.f=64;i.g=(1<<i.u)-1;i.n=4*i.u;return i}function Y(a,T){var i=new Array(T.s),E=4*T.s,P=16+E;
|
||||
if(E&12)P+=16-(E&12);for(var u=0,I=16;u<T.s;I+=4){var y=Q._binBE.readUint(a,I);i[u]=a.slice(P,P+y);i[u].j=0;
|
||||
i[u].a=0;P+=y;u++}if(P!=a.length)throw"Invalid data";return i}function aF(a,T){for(var i=-T[4],E=0;i<=T[4];
|
||||
E++,i++){a[E]=i<=-T[3]?-4:i<=-T[2]?-3:i<=-T[1]?-2:i<-T[0]?-1:i<=T[0]?0:i<T[1]?1:i<T[2]?2:i<T[3]?3:4}}function w(a,T,i){var E=[T,3*T+18,5*T+67,7*T+276,i];
|
||||
a.o=T;a.w=(E[4]+2*T)/(2*T+1)+1|0;a.v=Math.ceil(Math.log2(a.w));a.t=9;aF(a.c,E)}function b6(a){var T={c:new Int8Array(2<<a.u)};
|
||||
w(T,0,a.g);return T}function C(a){var T=[[],[],[]],i=Math.max(2,a.w+32>>>6);for(var E=0;E<3;E++){for(var P=0;
|
||||
P<41;P++){T[E][P]=[i,1]}}return T}function F(a){for(var T=-1,i=0;!i;T++){i=a[a.j]>>>7-a.a&1;a.a++;a.a&=7;
|
||||
if(!a.a)a.j++}return T}function W(a,T){var i=0,E=8-a.a,P=a.j,u=a.a;if(T){if(T>=E){do{i<<=E;T-=E;i|=a[a.j]&(1<<E)-1;
|
||||
a.j++;E=8}while(T>=8)}if(T){i<<=T;E-=T;i|=a[a.j]>>>E&(1<<T)-1}a.a=8-E}return i}function j(a,T){var i=0;
|
||||
if(T<a){while(i<=14&&T<<++i<a);}return i}function R(a,T,i,E,P,u,I,y){if(y==null)y=0;var ap=u+1,aK=ap%2,aM=0,aV=0,e=0,ag,aS,ay=E[P],al=E[P-1],b3=E[P-2][ap],aO=al[ap-1],a$=al[ap],aR=al[ap+1],aC=ay[ap-1],ai=ay[ap+1],aA=Math.abs,b1,aI,h,aP;
|
||||
if(aK){b1=aA(aR-a$);aI=aA(b3-a$);h=aA(aO-a$)}if(aK){aP=b1>h&&aI<b1?b3+aO:b1<h&&aI<h?b3+aR:aR+aO;aP=aP+2*a$>>>2;
|
||||
if(y){ay[ap]=aP;return}ag=T.t*T.c[a.g+a$-b3]+T.c[a.g+aO-a$]}else{aP=a$>aO&&a$>aR||a$<aO&&a$<aR?ai+aC+2*a$>>>2:aC+ai>>>1;
|
||||
ag=T.t*T.c[a.g+a$-aO]+T.c[a.g+aO-aC]}aS=aA(ag);var aw=F(i);if(aw<a.n-T.v-1){var aY=j(I[aS][0],I[aS][1]);
|
||||
e=W(i,aY)+(aw<<aY)}else{e=W(i,T.v)+1}e=e&1?-1-(e>>>1):e>>>1;I[aS][0]+=aA(e);if(I[aS][1]==a.f){I[aS][0]>>>=1;
|
||||
I[aS][1]>>>=1}I[aS][1]++;aP=ag<0?aP-e:aP+e;if(a.i){if(aP<0)aP+=T.w;else if(aP>a.g)aP-=T.w}ay[ap]=aP>=0?Math.min(aP,a.g):0}function aq(a,T,i){var E=a[0].length;
|
||||
for(var P=T;P<=i;P++){a[P][0]=a[P-1][1];a[P][E-1]=a[P-1][E-2]}}function U(a){aq(a,l,c);aq(a,k,X);aq(a,D,V)}function O(a,T,i,E,P,u,I,y,ap,aK,aM,aV,e){var ag=0,aS=1,ay=P<b&&P>X;
|
||||
while(aS<a.m){if(ag<a.m){R(a,T,i,E,P,ag,I[ap],a.h&&(ay&&aK||!ay&&(aM||(ag&aV)==e)));R(a,T,i,E,u,ag,I[ap],a.h&&(!ay&&aK||ay&&(aM||(ag&aV)==e)));
|
||||
ag+=2}if(ag>8){R(a,T,i,E,P,aS,y[ap]);R(a,T,i,E,u,aS,y[ap]);aS+=2}}U(E)}function f(a,T,i,E,P,u){O(a,T,i,E,k,l,P,u,0,0,1,0,8);
|
||||
O(a,T,i,E,$,D,P,u,1,0,1,0,8);O(a,T,i,E,L,J,P,u,2,1,0,3,0);O(a,T,i,E,A,v,P,u,0,0,0,3,2);O(a,T,i,E,X,r,P,u,1,0,0,3,2);
|
||||
O(a,T,i,E,c,V,P,u,2,1,0,3,0)}function aH(a,T,i,E,P,u){var I=u.length,y=a.l;if(P+1==a.s)y=a.e-P*a.l;var ap=6*a.e*E+P*a.l;
|
||||
for(var aK=0;aK<6;aK++){for(var aM=0;aM<y;aM++){var aV=u[aK%I][aM%I],e;if(aV==0){e=k+(aK>>>1)}else if(aV==2){e=D+(aK>>>1)}else{e=l+aK}var ag=a.h?(aM*2/3&2147483646|aM%3&1)+(aM%3>>>1):aM>>>1;
|
||||
T[ap+aM]=i[e][ag+1]}ap+=a.e}}Q._decompressRAF=function(a,T){var i=s(a),E=Y(a,i),P=b6(i),u=new Int16Array(i.e*i.q);
|
||||
if(T==null){T=i.h?[[1,1,0,1,1,2],[1,1,2,1,1,0],[2,0,1,0,2,1],[1,1,2,1,1,0],[1,1,0,1,1,2],[0,2,1,2,0,1]]:[[0,1],[3,2]]}var I=[[m,L],[n,X],[H,r],[d,c],[b,v],[G,V]],y=[];
|
||||
for(var ap=0;ap<M;ap++){y[ap]=new Uint16Array(i.A)}for(var aK=0;aK<i.s;aK++){var aM=C(P),aV=C(P);for(var ap=0;
|
||||
ap<M;ap++){for(var e=0;e<i.A;e++){y[ap][e]=0}}for(var ag=0;ag<i.d;ag++){f(i,P,E[aK],y,aM,aV);for(var ap=0;
|
||||
ap<6;ap++){for(var e=0;e<i.A;e++){y[I[ap][0]][e]=y[I[ap][1]][e]}}aH(i,u,y,ag,aK,T);for(var ap=k;ap<M;
|
||||
ap++){if([H,d,b,G].indexOf(ap)==-1){for(var e=0;e<i.A;e++){y[ap][e]=0}}}U(y)}}return u}}())}(Q,a8))}())// (c) Dean McNamee <dean@gmail.com>, 2013.
|
||||
//
|
||||
// https://github.com/deanm/omggif
|
||||
//
|
||||
@@ -7666,27 +7669,27 @@ function GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {
|
||||
return p;
|
||||
};
|
||||
|
||||
var UGIF=function(){var a=function(){var j,F,c,b,H=0,k=0,Z=0,P=0,l=function(){var R=j>>>3,i=F[R+2]<<16|F[R+1]<<8|F[R],M=i>>>(j&7)&(1<<k)-1;
|
||||
j+=k;return M},e=new Uint32Array(4096*4),V=0,W=function(R){if(R==V)return;V=R;Z=1<<R;P=Z+1;for(var i=0;
|
||||
i<P+1;i++){e[4*i]=e[4*i+3]=i;e[4*i+1]=65535;e[4*i+2]=1}},G=function(R){k=R+1;H=P+1},Q=function(R){var i=R<<2,M=e[i+2],v=b+M-1;
|
||||
while(i!=65535){c[v--]=e[i];i=e[i+1]}b+=M},L=function(R,i){var M=H<<2,v=R<<2;e[M]=e[(i<<2)+3];e[M+1]=v;
|
||||
e[M+2]=e[v+2]+1;e[M+3]=e[v+3];H++;if(H==1<<k&&k!=12)k++},s=function(R,i,M,v,t,q){j=i<<3;F=R;c=v;b=t;
|
||||
var g=i+M<<3,r=0,p=0;W(q);G(q);while(j<g&&(r=l())!=P){if(r==Z){G(q);r=l();if(r==P)break;Q(r)}else{if(r<H){Q(r);
|
||||
L(p,r)}else{L(p,p);Q(H-1)}}p=r}return b};return s}(),O,f,E=new Uint8Array(128),B=function(){return O[f++]},A=function(){var j=O[f+1]<<8|O[f];
|
||||
f+=2;return j},U=function(){while(O[f]!=0)f+=1+O[f];f++},d=function(j){O=new Uint8Array(j);f=6;var F=A(),c=A(),b=B(),H=B(),k=B(),Z=b>>>7,P=b>>>4&7,X=b>>>3&1,l=b>>>0&7,m=f,e=0,V,W=0,G=0,C=0,z=260;
|
||||
if(Z==1)f+=3*(1<<l+1);var T=[];while(f+1<O.length){var Q=B();if(Q==33){var L=B();if(L==249){var s=B(),b=B();
|
||||
W=b>>>2&7;G=A();z=B();if((b&1)==0)z=260;B()}else if(L==254){U()}else if(L==255){U()}else throw L}else if(Q==44){var R=A(),i=A(),M=A(),v=A(),t=B(),q=t>>>7;
|
||||
C=t>>>6&1;if(q==1){var l=t>>>0&7;e=f;f+=3*(1<<l+1)}V={x:R,y:i,a:M,O:v,f:W,delay:G,B:z,A:e==0?m:e,U:C};
|
||||
T.push(V);e=0}else if(Q<=8){var M=V.a,v=V.O,S=M*v,Y=0;if(E.length<S*1.2)E=new Uint8Array(~~(S*1.3));
|
||||
while(f<O.length&&O[f]!=0){var J=B();for(var g=0;g<J;g++)E[Y+g]=O[f+g];Y+=J;f+=J}if(f>=O.length){alert("Some frames are damaged.");
|
||||
T.pop();break}B();V.d=new Uint8Array(S);var r=a(E,0,Y,V.d,0,Q)}else if(Q==59)break;else throw Q}return{width:F,height:c,data:O,frames:T}};
|
||||
function D(j,F,O,c,b,H,k,Z){for(var P=0;P<k;P++){var X=b[H+P];if(X!=Z){var l=F+P<<2,m=c+X*3;j[l]=O[m];
|
||||
j[l+1]=O[m+1];j[l+2]=O[m+2];j[l+3]=255}}}var w=function(j){var F=j.frames,c=j.width,b=j.height,H=new Uint8Array(c*b*4),k,Z=[],O=j.data;
|
||||
for(var P=0;P<F.length;P++){var X=F[P],l=X.x,m=X.y,e=X.a,T=X.O,V=X.f;if(V==3){if(k==null)k=H.slice(0);
|
||||
else k.set(H)}var W=[];if(X.U==1){for(var G=0;G<T;G+=8)W.push(G);for(var G=4;G<T;G+=8)W.push(G);for(var G=2;
|
||||
G<T;G+=4)W.push(G);for(var G=1;G<T;G+=2)W.push(G)}var C=X.d,z=X.A,Q=X.B,L=X.U;for(var G=0;G<T;G++){var s=L==0?G:W[G];
|
||||
D(H,(s+m)*c+l,O,z,C,G*e,e,Q)}Z.push(H.slice(0).buffer);if(V<2){}else if(V==2){for(var G=0;G<T;G++){var R=((m+G)*c+l)*4;
|
||||
H.fill(0,R,R+e*4)}}else if(V==3)H.set(k)}return Z};return{decode:d,toRGBA8:w}}()/**
|
||||
var UGIF=function(){var I=function(){var m,g,w,v,c=0,C=0,M=0,f=0,d=function(){var P=m>>>3,j=g[P+2]<<16|g[P+1]<<8|g[P],h=j>>>(m&7)&(1<<C)-1;
|
||||
m+=C;return h},x=new Uint32Array(4096*4),n=0,J=function(P){if(P==n)return;n=P;M=1<<P;f=M+1;for(var j=0;
|
||||
j<f+1;j++){x[4*j]=x[4*j+3]=j;x[4*j+1]=65535;x[4*j+2]=1}},y=function(P){C=P+1;c=f+1},t=function(P){var j=P<<2,h=x[j+2],q=v+h-1;
|
||||
while(j!=65535){w[q--]=x[j];j=x[j+1]}v+=h},E=function(P,j){var h=c<<2,q=P<<2;x[h]=x[(j<<2)+3];x[h+1]=q;
|
||||
x[h+2]=x[q+2]+1;x[h+3]=x[q+3];c++;if(c==1<<C&&C!=12)C++},G=function(P,j,h,q,r,b){m=j<<3;g=P;w=q;v=r;
|
||||
var e=j+h<<3,L=0,l=65535;J(b);y(b);while(m<e&&(L=d())!=f){if(L==M){y(b);L=d();if(L==f)break;t(L)}else{if(L<c){t(L);
|
||||
if(l!=65535)E(l,L)}else{E(l,l);t(c-1)}}l=L}return v};return G}(),z,H,A=new Uint8Array(128),B=function(){return z[H++]},s=function(){var m=z[H+1]<<8|z[H];
|
||||
H+=2;return m},o=function(){while(z[H]!=0)H+=1+z[H];H++},p=function(m){z=new Uint8Array(m);H=6;var N=s(),g=s(),w=B(),v=B(),c=B(),a=w>>>7,C=w>>>4&7,M=w>>>3&1,f=w>>>0&7,d=H,x=0,O,J=0,y=0,t=0,E=260;
|
||||
if(a==1)H+=3*(1<<f+1);var n=[];while(H+1<z.length){var G=B();if(G==33){var P=B();if(P==249){var j=B(),w=B();
|
||||
J=w>>>2&7;y=s();E=B();if((w&1)==0)E=260;B()}else if(P==254){o()}else if(P==255){o()}else throw P}else if(G==44){var h=s(),q=s(),r=s(),b=s(),e=B(),L=e>>>7;
|
||||
t=e>>>6&1;if(L==1){var f=e>>>0&7;x=H;H+=3*(1<<f+1)}O={x:h,y:q,c:r,e:b,b:J,delay:y,a:E,f:x==0?d:x,d:t};
|
||||
n.push(O);x=0}else if(G<=8){var r=O.c,b=O.e,l=r*b,D=0;if(A.length<l*1.2)A=new Uint8Array(~~(l*1.3));
|
||||
while(H<z.length&&z[H]!=0){var i=B();for(var k=0;k<i;k++)A[D+k]=z[H+k];D+=i;H+=i}if(H>=z.length){alert("Some frames are damaged.");
|
||||
n.pop();break}B();O.g=new Uint8Array(l);var K=I(A,0,D,O.g,0,G)}else if(G==59)break;else throw G}return{width:N,height:g,data:z,frames:n}};
|
||||
function u(m,N,z,g,w,v,c,a){for(var C=0;C<c;C++){var M=w[v+C];if(M!=a){var f=N+C<<2,d=g+M*3;m[f]=z[d];
|
||||
m[f+1]=z[d+1];m[f+2]=z[d+2];m[f+3]=255}}}var F=function(m){var N=m.frames,g=m.width,w=m.height,v=new Uint8Array(g*w*4),c,a=[],z=m.data;
|
||||
for(var C=0;C<N.length;C++){var M=N[C],f=M.x,d=M.y,x=M.c,O=M.e,J=M.b;if(J==3){if(c==null)c=v.slice(0);
|
||||
else c.set(v)}var y=[];if(M.d==1){for(var t=0;t<O;t+=8)y.push(t);for(var t=4;t<O;t+=8)y.push(t);for(var t=2;
|
||||
t<O;t+=4)y.push(t);for(var t=1;t<O;t+=2)y.push(t)}var E=M.g,G=M.f,P=M.a,j=M.d;for(var t=0;t<O;t++){var h=j==0?t:y[t];
|
||||
u(v,(h+d)*g+f,z,G,E,t*x,x,P)}a.push(v.slice(0).buffer);if(J<2){}else if(J==2){for(var t=0;t<O;t++){var q=((d+t)*g+f)*4;
|
||||
v.fill(0,q,q+x*4)}}else if(J==3)v.set(c)}return a};return{decode:p,toRGBA8:F}}()/**
|
||||
* Gauss-Jordan elimination
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user