var UDOC={};UDOC.B=function(){var S=new Uint8Array(4),t=S.buffer,U=new Int16Array(t),M=new Uint16Array(t),J=new Int32Array(t),W=new Uint32Array(t),F=new Float32Array(t); return{readShort:function(E,q){S[0]=E[q];S[1]=E[q+1];return U[0]},readUshort:function(E,q){S[0]=E[q]; S[1]=E[q+1];return M[0]},readInt:function(E,q){S[0]=E[q];S[1]=E[q+1];S[2]=E[q+2];S[3]=E[q+3];return J[0]},readUint:function(E,q){S[0]=E[q]; S[1]=E[q+1];S[2]=E[q+2];S[3]=E[q+3];return W[0]},readUintBE:function(E,q){S[3]=E[q];S[2]=E[q+1];S[1]=E[q+2]; S[0]=E[q+3];return W[0]},readFloat:function(E,q){S[0]=E[q];S[1]=E[q+1];S[2]=E[q+2];S[3]=E[q+3];return F[0]},readASCII:function(E,q,_){var D=""; for(var Z=0;Z<_;Z++)D+=String.fromCharCode(E[q+Z]);return D}}}();UDOC.G={concat:function(S,t){for(var U=0; UM)M=F;if(EJ)J=E}return[t,U,M,J]},rectToPath:function(S){return{cmds:["M","L","L","L","Z"],crds:[S[0],S[1],S[2],S[1],S[2],S[3],S[0],S[3]]}},insideBox:function(S,t){return t[0]<=S[0]&&t[1]<=S[1]&&S[2]<=t[2]&&S[3]<=t[3]},isBox:function(S,t){var U=function(h,l){for(var w=0; w<8;w+=2){var o=!0;for(var Y=0;Y<8;Y++)if(Math.abs(l[Y]-h[Y+w&7])>=2){o=!1;break}if(o)return!0}return!1},W=!1; if(S.cmds.length>10)return!1;var M=S.cmds.join(""),J=S.crds;if(M=="MLLLZ"&&J.length==8||(M=="MLLLLZ"||M=="MLLLL")&&J.length==10){if(J.length==10)J=J.slice(0,8); if(t==null){t=[J[0],J[1],J[0],J[1]];for(var F=0;FJ)W-=2*Math.PI; else while(W(M[1]-U[1])*(Z[0]-U[0])},E=function(){var Z=[U[0]-M[0],U[1]-M[1]],a=[J[0]-W[0],J[1]-W[1]],h=U[0]*M[1]-U[1]*M[0],c=J[0]*W[1]-J[1]*W[0],l=1/(Z[0]*a[1]-Z[1]*a[0]); return[(h*a[0]-c*Z[0])*l,(h*a[1]-c*Z[1])*l]},q=S,_,D;U=t[t.length-1];for(D in t){var M=t[D],T=q;q=[]; J=T[T.length-1];for(_ in T){var W=T[_];if(F(W)){if(!F(J)){q.push(E())}q.push(W)}else if(F(J)){q.push(E())}J=W}U=M}return q}}; UDOC.M={getScale:function(S){return Math.sqrt(Math.abs(S[0]*S[3]-S[1]*S[2]))},translate:function(S,t,U){UDOC.M.concat(S,[1,0,0,1,t,U])},rotate:function(S,t){UDOC.M.concat(S,[Math.cos(t),-Math.sin(t),Math.sin(t),Math.cos(t),0,0])},scale:function(S,t,U){UDOC.M.concat(S,[t,0,0,U,0,0])},concat:function(S,t){var U=S[0],M=S[1],J=S[2],W=S[3],F=S[4],E=S[5]; S[0]=U*t[0]+M*t[2];S[1]=U*t[1]+M*t[3];S[2]=J*t[0]+W*t[2];S[3]=J*t[1]+W*t[3];S[4]=F*t[0]+E*t[2]+t[4]; S[5]=F*t[1]+E*t[3]+t[5]},invert:function(S){var t=S[0],U=S[1],M=S[2],J=S[3],W=S[4],F=S[5],E=t*J-U*M; S[0]=J/E;S[1]=-U/E;S[2]=-M/E;S[3]=t/E;S[4]=(M*F-J*W)/E;S[5]=(U*W-t*F)/E},multPoint:function(S,t){var U=t[0],M=t[1]; return[U*S[0]+M*S[2]+S[4],U*S[1]+M*S[3]+S[5]]},multArray:function(S,t){for(var U=0;UU?T:(116*_-16)/t,c=q>U?q:(116*E-16)/t,l=a>U?a:(116*Z-16)/t,w=l*96.72,o=c*100,Y=h*81.427,r=[w/100,o/100,Y/100],b=[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427],i=[b[0]*r[0]+b[1]*r[1]+b[2]*r[2],b[3]*r[0]+b[4]*r[1]+b[5]*r[2],b[6]*r[0]+b[7]*r[1]+b[8]*r[2]]; for(var Q=0;Q<3;Q++)i[Q]=Math.max(0,Math.min(1,UDOC.C.srgbGamma(i[Q])));return i}};UDOC.getState=function(S){return{font:UDOC.getFont(),dd:{flat:1},ca:1,colr:[0,0,0],space:"/DeviceGray",CA:1,COLR:[0,0,0],sspace:"/DeviceGray",bmode:"/Normal",SA:!1,OPM:0,AIS:!1,OP:!1,op:!1,SMask:"/None",lwidth:1,lcap:0,ljoin:0,mlimit:10,SM:.1,doff:0,dash:[],ctm:[1,0,0,1,0,0],cpos:[0,0],pth:{cmds:[],crds:[]},cpth:S?UDOC.G.rectToPath(S):null,cpstack:[]}}; UDOC.getFont=function(){return{Tc:0,Tw:0,Th:100,Tl:0,Tf:"Helvetica-Bold",Tfs:1,Tmode:0,Trise:0,Tk:0,Tal:0,Tun:0,Tm:[1,0,0,1,0,0],Tlm:[1,0,0,1,0,0],Trm:[1,0,0,1,0,0]}}; function FromPS(){}FromPS.Parse=function(S,t){S=new Uint8Array(S);var U=0,W=null,F=null,l=!0;while(!(S[U]==37&&S[U+1]==33))U++; var M=FromPS.B.readASCII(S,U,S.length-U),J=M.split(/[\n\r]+/);for(var E=0;E>"){var r=[];while(S.length!=0){var b=S.pop();if(b.typ=="mark")break;r.push(b)}r.reverse(); if(h=="]")S.push({typ:"array",val:r});else{var i={};for(var Q=0;Q=b0.val.length){}else if(c0.typ=="string")for(var Q=0;Q=0;Q--)if(U[Q].typ=="file"){bl=U[Q];break}S.push({typ:"file",val:bl.val})}else if(x=="currentdict"){var e=t[t.length-1]; S.push({typ:"dict",val:e,maxl:1e3})}else if("currentpacking currentoverprint currentglobal currentsystemparams currentuserparams currentpagedevice".split(" ").indexOf(x)!=-1){var s=J[x.slice(7)]; S.push({typ:typeof s=="boolean"?"boolean":"dict",val:s})}else if(x=="gcheck"){var cl=S.pop();S.push({typ:"boolean",val:!1})}else if("setpacking setoverprint setglobal setsystemparams setuserparams setpagedevice".split(" ").indexOf(x)!=-1){J[x.slice(3)]=S.pop().val}else if(x=="currentflat"){S.push({typ:"real",val:1})}else if(x=="currentlinewidth"){S.push({typ:"real",val:T.lwidth})}else if(x=="currentdash"){S.push({typ:"array",val:FromPS.makeArr(T.dash,"integer")},{typ:"real",val:T.doff})}else if(x=="currentpoint"){var bq=T.ctm.slice(0); UDOC.M.invert(bq);var aM=UDOC.M.multPoint(bq,T.cpos);S.push({typ:"real",val:aM[0]},{typ:"real",val:aM[1]})}else if(x=="currentscreen"){S.push({typ:"int",val:60},{typ:"real",val:0},{typ:"real",val:0})}else if(x=="setscreen"){S.pop(); S.pop();S.pop()}else if(x=="currenthalftone"){S.push({typ:"dict",val:{},maxl:1e3})}else if(x=="currentblackgeneration"||x=="currentundercolorremoval"){S.push(J.funs[x.slice(7)])}else if(x=="currentcolortransfer"){for(var Q=0; Q<4;Q++)S.push(J.funs.blackgeneration)}else if(x=="findresource"){var a5=S.pop().val.slice(1),bw=S.pop(),y=bw.val.slice(1),bY; if(a5=="Font"){J.res[a5].val[y]={typ:"dict",val:{FontType:{typ:"integer",val:1},FontMatrix:{typ:"array",val:FromPS.makeArr([1,0,0,1,0,0],"real")},FontName:bw,FID:{typ:"fontID",val:Math.floor(Math.random()*16777215)},Encoding:{typ:"array",val:[]},FontBBox:{typ:"array",val:FromPS.makeArr([0,0,1,1],"real")},PaintType:{typ:"integer",val:0}}}}if(a5=="Category"&&y=="Generic")bY={typ:"dict",val:{},maxl:1e3}; else if((a5=="ProcSet"||a5=="Procset")&&y=="CIDInit")bY={typ:"dict",val:{},maxl:1e3};else bY=J.res[a5].val[y]; if(bY==null)throw"e";S.push(bY)}else if(x=="resourcestatus"){var a5=S.pop().val.slice(1),y=S.pop().val.slice(1),bY=J.res[a5].val[y]; if(bY){S.push({typ:"integer",val:1});S.push({typ:"integer",val:Object.keys(bY.val).length})}S.push({typ:"boolean",val:bY!=null})}else if(x=="defineresource"){var a5=S.pop().val.slice(1),b9=S.pop(); if(S.length==0)return;var y=S.pop().val.slice(1);J.res[a5].val[y]=b9;S.push(b9)}else if(x=="undefineresource"){var a5=S.pop().val.slice(1),y=S.pop().val.slice(1); delete J.res[a5].val[y]}else if(x=="resourceforall"){var a5=S.pop().val.slice(1),ab=S.pop().val,ax=S.pop(),bG=S.pop().val; if(bG.length!=1||bG[0]!=42)throw"e";var bt=J.res[a5].val;for(var y in bt){var H=ab.slice(0);for(var Q=0; QT.cpth.crds.length?T.pth:T.cpth))}}else if(x=="clippath"){T.pth=JSON.parse(JSON.stringify(T.cpth))}else if(x=="pathbbox"){var ap=T.pth.crds,aG=UDOC.G.getBB(ap); ap=[aG[0],aG[1],aG[2],aG[1],aG[0],aG[3],aG[2],aG[3]];var bq=T.ctm.slice(0);UDOC.M.invert(bq);UDOC.M.multArray(bq,ap); aG=UDOC.G.getBB(ap);_[0]=aG[0];aG[0]=_[0];_[0]=aG[1];aG[1]=_[0];_[0]=aG[2];aG[2]=_[0];_[0]=aG[3];aG[3]=_[0]; aG=FromPS.makeArr(aG,"real");S.push(aG[0],aG[1],aG[2],aG[3])}else if(x=="newpath")UDOC.G.newPath(T); else if(x=="stroke"){FromPS.checkPageStarted(J,W);W.Stroke(T);UDOC.G.newPath(T)}else if(x=="shfill"){var aF=T.colr,cf=T.pth,aM=S.pop().val,B=T.ctm.slice(0); T.colr=FromPS.getPSShadingFill({typ:"dict",val:aM,maxl:1e3},B);FromPS.checkPageStarted(J,W);T.pth=T.cpth; T.cpth=UDOC.G.rectToPath(J.bb);W.Fill(T);T.colr=aF;T.pth=cf}else if(x=="fill"||x=="eofill"){FromPS.checkPageStarted(J,W); W.Fill(T,x=="eofill");UDOC.G.newPath(T)}else if(x=="showpage"){FromPS.checkPageStarted(J,W);W.ShowPage(); var aC=T.font;T=J.gst=UDOC.getState(J.bb);T.font=aC;J.pgOpen=!1}else if(x=="print"){var aA=S.pop().val,H=FromPS.readStr(aA); W.Print(H)}else if(x=="_drawRect_"){var c6=S.pop();if(c6.typ!="real"&&c6.typ!="integer")throw"e";c6=c6.val; var bU=S.pop().val,bW=S.pop().val,cp=S.pop().val;UDOC.G.drawRect(T,cp,bW,bU,c6)}else if(x=="closepath")UDOC.G.closePath(T); else if(x=="moveto"||x=="lineto"){var bW=S.pop().val,cp=S.pop().val;if(x=="moveto")UDOC.G.moveTo(T,cp,bW); else UDOC.G.lineTo(T,cp,bW)}else if(x=="rmoveto"||x=="rlineto"){var bW=S.pop().val,cp=S.pop().val,bq=T.ctm.slice(0); UDOC.M.invert(bq);var aM=UDOC.M.multPoint(bq,T.cpos);bW+=aM[1];cp+=aM[0];if(x=="rmoveto")UDOC.G.moveTo(T,cp,bW); else UDOC.G.lineTo(T,cp,bW)}else if(x=="curveto"){var bc=S.pop().val,ae=S.pop().val,bV=S.pop().val,aE=S.pop().val,a0=S.pop().val,ci=S.length==0?0:S.pop().val; UDOC.G.curveTo(T,ci,a0,aE,bV,ae,bc)}else if(x=="arc"||x=="arcn"){var bJ=S.pop().val,a6=S.pop().val,b3=S.pop().val,bW=S.pop().val,cp=S.pop().val; UDOC.G.arc(T,cp,bW,b3,a6*Math.PI/180,bJ*Math.PI/180,x=="arcn")}else if(x=="concat"){var B=FromPS.readArr(S.pop().val); UDOC.M.concat(B,T.ctm);T.ctm=B}else if(["translate","scale","rotate"].indexOf(x)!=-1){var cl=S.pop(),B,cp,bW; if(cl.typ=="array"){B=FromPS.readArr(cl.val);bW=S.pop().val}else{B=[1,0,0,1,0,0];bW=cl.val}if(x!="rotate")cp=S.pop().val; if(x=="translate")UDOC.M.translate(B,cp,bW);if(x=="scale")UDOC.M.scale(B,cp,bW);if(x=="rotate")UDOC.M.rotate(B,-bW*Math.PI/180); if(cl.typ=="array")S.push({typ:"array",val:FromPS.makeArr(B,"real")});else{UDOC.M.concat(B,T.ctm);T.ctm=B}}else if(x=="concatmatrix"){var aH=FromPS.readArr,b1=aH(S.pop().val),a8=aH(S.pop().val),c5=aH(S.pop().val),B=c5.slice(0); UDOC.M.concat(B,a8);B=FromPS.makeArr(B,"real");S.push({typ:"array",val:B})}else if(x=="invertmatrix"){var aH=FromPS.readArr,a8=aH(S.pop().val),c5=aH(S.pop().val),B=c5.slice(0); UDOC.M.invert(B);B=FromPS.makeArr(B,"real");S.push({typ:"array",val:B})}else if(x=="currentmatrix"||x=="defaultmatrix"){var B=S.pop(),bM=FromPS.makeArr(x=="currentmatrix"?T.ctm:[1,0,0,1,0,0],"real"); for(var Q=0;Q<6;Q++)B.val[Q]=bM[Q];S.push(B)}else if(x=="setmatrix"){T.ctm=FromPS.readArr(S.pop().val)}else if(x=="cvi"){var b=S.pop(),cl=b.val,O=0; if(b.typ=="real")O=Math.round(cl);else if(b.typ=="integer")O=cl;else throw"unknown type "+b.typ;S.push({typ:"integer",val:O})}else if(x=="cvr"){var b=S.pop(),cl=b.val,O=0; if(b.typ=="real")O=cl;else if(b.typ=="integer")O=cl;else if(b.typ=="string")O=parseFloat(FromPS.readStr(cl)); else throw"unknown type "+b.typ;S.push({typ:"real",val:O})}else if(x=="cvs"){var H=S.pop(),c2=S.pop(),s=""; H.val=[];S.push(H);if(c2.typ=="real"||c2.typ=="integer"){if(Math.abs(Math.round(c2.val)-c2.val)<1e-6)s=Math.round(c2.val)+".0"; else s=(Math.round(c2.val*1e6)/1e6).toString()}else if(c2.typ=="name")s=c2.val;else throw"unknown var type: "+c2.typ; for(var Q=0;Q0?$<>>-b2;if(x=="mod")O=$%b2;if(x=="exp")O=Math.pow($,b2);if(x=="atan")O=Math.atan2($,b2)*180/Math.PI; if(d=="real"){_[0]=O;O=_[0]}S.push({typ:d,val:O})}else if("neg abs floor ceiling round truncate sqrt ln sin cos".split(" ").indexOf(x)!=-1){var bh=S.pop(),$=bh.val,O=0,d=""; if(x=="neg"||x=="abs"||x=="truncate"||x=="floor"||x=="ceiling"||x=="round")d=bh.typ;else if(x=="sqrt"||x=="sin"||x=="cos"||x=="ln")d="real"; if(bh.typ=="real"){_[0]=$;$=_[0]}if(x=="neg")O=-$;if(x=="abs")O=Math.abs($);if(x=="floor")O=Math.floor($); if(x=="ceiling")O=Math.ceil($);if(x=="round")O=Math.round($);if(x=="truncate")O=Math.trunc($);if(x=="sqrt")O=Math.sqrt($); if(x=="ln")O=Math.log($);if(x=="sin")O=Math.sin($*Math.PI/180);if(x=="cos")O=Math.cos($*Math.PI/180); if(x=="ln"&&$<=0)throw"e";if(d=="real"){_[0]=O;O=_[0]}S.push({typ:d,val:O})}else if("eq ge gt le lt ne".split(" ").indexOf(x)!=-1){var bL=S.pop(),bh=S.pop(),j=bh.typ,bA=bL.typ,$=bh.val,b2=bL.val,O=!1; if(x=="eq"||x=="ne"){var c4=bh.typ==bL.typ;if(c4&&["integer","real","name","null","dict"].indexOf(j)!=-1)O=$==b2; else if(j=="real"&&bA=="integer"||bA=="real"&&j=="integer")O=$==b2;else if(!c4&&(bh.typ=="null"||bL.typ=="null"))O=!1; else if(c4&&bh.typ=="string"){if($.length!=b2.length)O=!1;else{O=!0;for(var Q=0;Q<$.length;Q++)if($[Q]!=b2[Q])O=!1}}else{console.log(x,bh,bL,bh.val==bL.val); throw"e"}if(x=="ne")O=!O}else if(x=="ge")O=$>=b2;else if(x=="gt")O=$>b2;else if(x=="le")O=$<=b2;else if(x=="lt")O=$0&&R.init<=R.limit||R.inc<0&&R.init>=R.limit){U.push(Z);FromPS.addProc(R.proc,U); S.push({typ:"integer",val:R.init});R.init+=R.inc}}else{var X=new Float32Array(1);X[0]=R.limit;R.limit=X[0]; X[0]=R.inc;R.inc=X[0];X[0]=R.init;if(R.inc>0&&X[0]<=R.limit||R.inc<0&&X[0]>=R.limit){U.push(Z);FromPS.addProc(R.proc,U); S.push({typ:"real",val:X[0]});X[0]+=R.inc;R.init=X[0]}}}else if(x=="loop"){var ax=S.pop();U.push({typ:"name",val:x+"---",ctx:{proc:ax}})}else if(x=="loop---"){var R=Z.ctx; U.push(Z);FromPS.addProc(R.proc,U)}else if(x=="pathforall"){var L=S.pop(),c7=S.pop(),bN=S.pop(),ac=S.pop()}else if(x=="forall"){var ax=S.pop(),V=S.pop(),R=[ax,V,0]; U.push({typ:"name",val:x+"---",ctx:R})}else if(x=="forall---"){var R=Z.ctx,ax=R[0],V=R[1],Q=R[2];if(V.typ=="dict"){var cy=Object.keys(V.val); if(QQ)U.pop()}else if(x=="bind"){}else if(x=="xcheck"){var V=S.pop(),a=V.typ;S.push({typ:"boolean",val:a=="procedure"})}else if(x=="status"){var H=S.pop(); S.push({typ:"boolean",val:!1})}else if(x=="cachestatus"){for(var Q=0;Q<7;Q++)S.push({typ:"integer",val:5e3})}else if(x=="setcachelimit"){S.pop()}else if(x=="type"){var b=S.pop(),aU={name:"nametype",dict:"dicttype",boolean:"booleantype",procedure:"operatortype",string:"stringtype",null:"nulltype",integer:"integertype",array:"arraytype",operator:"operatortype",real:"realtype"}; if(aU[b.typ]==null){console.log(b);throw b.typ}S.push({typ:"name",val:"/"+aU[b.typ]})}else if(x=="save"){S.push({typ:"state",val:JSON.parse(JSON.stringify(T))})}else if(x=="restore"){T=J.gst=S.pop().val}else if(x=="clipsave"){T.cpstack.push(JSON.parse(JSON.stringify(T.cpth)))}else if(x=="cliprestore"){T.cpath=T.cpstack.pop()}else if(x=="gsave"){M.push(JSON.parse(JSON.stringify(T)))}else if(x=="grestore"||x=="grestorePDF"){var bH=T.pth; if(M.length!=0)T=J.gst=M.pop();else T=UDOC.getState();if(x=="grestorePDF")T.pth=bH}else if(x=="grestoreall"){while(M.length!=0)T=J.gst=M.pop()}else if(x=="usertime"||x=="realtime")S.push({typ:"integer",val:x=="usertime"?Date.now()-q:Date.now()}); else if(x=="flush"||x=="readonly"||x=="executeonly"){}else if(x=="flushfile"){FromPS.GetFile(S.pop())}else if(x=="filter"){var ay=S.pop().val,ca; if(ay=="/SubFileDecode"){var H=S.pop();if(H.typ!="string")throw"e";var aQ=S.pop().val;H=H.val;ca=[ay,H,aQ]}else ca=[ay]; var av=S.pop();S.push({typ:"file",val:{buff:new Uint8Array,off:0},_flt:ca,_src:av})}else if(x=="begincmap"||x=="endcmap"){}else if(x=="begincodespacerange"||x=="beginbfrange"||x=="beginbfchar"){J.cmnum=S.pop().val}else if(x=="endcodespacerange"||x=="endbfrange"||x=="endbfchar"){var L=x=="endbfrange"?3:2,ch=x.slice(3),e=t[t.length-1],bS=0; if(e[ch]==null)e[ch]=[];for(var Q=0;Q=0;b4--){var cn=S.pop(),s; if(cn==null&&E)return!1;var cB=cn.val;if(cn.typ=="string"){s=FromPS.strToInt(cB);if(b4==0)bS=cB.length}else{s=[]; for(var bs=0;bs>>32-T*8&255)}S.off=F+1;return new Uint8Array(U)}else if(D==122){U.push(0); U.push(0);U.push(0);U.push(0)}else{W+=(D-33)*t[J];J++;if(J==5){U.push(W>>>24&255);U.push(W>>>16&255); U.push(W>>>8&255);U.push(W>>>0&255);J=0;W=0}}}},RunLengthDecode:function(S){var t=[],U=S.off,M=S.buff.length; while(U>>3]<<16|M[o+8>>>3]<<8|M[o+16>>>3];i=b>>24-(o&7)-w&(1<>>3]<<16|M[o+8>>>3]<<8|M[o+16>>>3];i=b>>24-(o&7)-w&(1<=c){Z[c]=l;D[Z[c]]=y[0];a[c]=1;l=l+1+3&~3; c++}else{Z[c]=l;var z=Z[k],H=a[k];t(D,z,D,l,H);D[l+H]=D[y];H++;a[c]=H;c++;l=l+H+3&~3}if(c+1==1<=c){Z[c]=l; a[c]=0;c++}else{Z[c]=l;var z=Z[k],H=a[k];t(D,z,D,l,H);D[l+H]=D[l];H++;a[c]=H;c++;t(D,l,W,F,H);F+=H;l=l+H+3&~3}if(c+1==1<=0){if(t[U][S]!=null)return t[U][S];U--}return null};FromPS.where=function(S,t){var U=t.length-1; while(U>=0){if(t[U][S]!=null)return t[U];U--}return null};FromPS.skipWhite=function(S){var t=S.off,U=S.buff,M=FromPS.isWhite; while(M(U[t])||U[t]==37){while(M(U[t]))t++;if(U[t]==37){while(t1){S.pop();if(S.length!=0)J=FromPS.getFToken(S[S.length-1].val,t)}return J}; FromPS.getFToken=function(S,t){FromPS.skipWhite(S);var U=FromPS.isWhite,M=FromPS.isSpecl,J=S.off,W=S.buff,F=null; if(J>=W.length)return null;var E=W[J],_=String.fromCharCode(E);J++;if(_=="("){var D=0,T=J;while(!(W[T]==41&&D==0)){var Z=W[T]; if(Z==40)D++;else if(Z==41)D--;else if(Z==92)T++;T++}var a=[];for(var h=0;h"&&W[J]==62){F={typ:"name",val:_=="<"?"<<":">>"}; J++}else if(_=="<"){var a;if(W[J]=="~".charCodeAt(0)){S.off=J+1;var c=FromPS.F.ASCII85Decode(S);a=[]; for(var h=0;hF[5]){F=F.slice(3).concat(F.slice(0,3)); W.reverse();D.reverse();for(var h=0;h0)Z.push([0,0,E[0]]);for(var T=0;T>1)&255; if(T==4)for(var Z=J;Z>1)&255;for(var Z=J;Z>1)&255}if(T==4){for(var Z=0; Z50)return; if(typeof S=="object")for(var J in S)if(J.startsWith("/")){if(S[J]&&S[J].typ=="ref"&&U[S[J].ind])S[J]=FromPDF.getIndirect(S[J].ind,S[J].gen,t,U); FromPDF.solveIndirects(S[J],t,U,M+1)}};FromPDF.render=function(S,t,U){var M="CS cs SCN scn SC sc sh Do gs ID EI cm y v B B* BT ET ETQ Tj TJ Tf Tm Td T* Tc Tw Tz TL Tr Ts MP DP BMC BDC EMC BX EX ri TRGR trgr _reset_".split(" "),J={J:"setlinecap",j:"setlinejoin",w:"setlinewidth",d:"setdash",M:"setmiterlimit",i:"setflat",q:"gsave",Q:"grestorePDF",m:"moveto",l:"lineto",c:"curveto",h:"closepath",re:"_drawRect_",W:"clip","W*":"eoclip",f:"fill",F:"fill","f*":"eofill",S:"stroke",b:"h B","b*":"h B*",n:"newpath",RG:"/DeviceRGB CS SCN",rg:"/DeviceRGB cs scn",G:"/DeviceGray CS SCN",g:"/DeviceGray cs scn",K:"/DeviceCMYK CS SCN",k:"/DeviceCMYK cs scn",TD:"dup neg TL Td","\"":"exch Tc exch Tw '","'":"T* Tj",s:"h S",BI:"/BI"},F=0; J=FromPS.makeProcs(J);var W=[S["/Pages"]];while(W.length!=0){var E=W.pop();if(E["/Kids"]){var q=E["/Kids"]; for(var _=q.length-1;_>=0;_--)W.push(q[_]);continue}var D=E["/MediaBox"];if(D==null)D=S["/Pages"]["/MediaBox"]; if(D==null)D=E["/Parent"]["/MediaBox"];F+=(D[2]-D[0])*(D[3]-D[1])}var W=[S["/Pages"]],T=-1,Z=[-1e9,1e9]; while(W.length!=0){var E=W.pop();if(E["/Kids"]){var q=E["/Kids"];for(var _=q.length-1;_>=0;_--)W.push(q[_]); continue}T++;if(T=Z[1])break}};FromPDF.addCmd=function(S,t,U){var M=S.length,J=new Uint8Array(M);for(var W=0;W>1)]>>(1-(U&1)<<2)&15; else if(M==2)J=S[t+(U>>2)]>>(3-(U&3)<<1)&3;else if(M==1)J=S[t+(U>>3)]>>(7-(U&7)<<0)&1;return J};FromPDF.getString=function(S,t){function U(G,u){console.log("approximating word widths"); var A=0,aQ=.4;for(var Y=0;Y65535)M+=String.fromCharCode(Y>>>16); M+=String.fromCharCode(Y)}return M};FromPDF.brokenXrefTrail=function(S,t){function U(a,h){var c=h;while(48<=a[h]&&a[h]<=57)h++; return FromPS.B.readASCII(a,c,h-c)}var M,J=S.length;for(var W=0;W4){M--;U++}return S[U]<<24|S[U+1]<<16|S[U+2]<<8|S[U+3]}; FromPDF.getIndirect=function(S,t,U,M){var J=M[S],E;if(J.chr=="f")return null;if(J.val!=null)return J.val; if(J.opn)return{typ:"ref",ind:S,gen:t};J.opn=!0;var W=U.off;if(J.chr=="s"){var _=FromPDF.getIndirect(J.off,J.gen,U,M),D={buff:FromPS.GS(_),off:0},T=0,Z=0; while(T!=S){T=FromPS.getFToken(D).val;Z=FromPS.getFToken(D).val}D.off=Z+_["/First"];E=FromPDF.readObject(D,U,M)}else{U.off=J.off; var a=FromPS.getFToken(U);if(a.val!="<<"){var h=FromPS.getFToken(U),c=FromPS.getFToken(U)}else U.off-=2; E=FromPDF.readObject(U,U,M,!0)}J.val=E;U.off=W;J.opn=!1;return E};FromPDF.readObject=function(S,t,U,M){var J=FromPS.getFToken(S); if(J.typ=="integer"){var W=S.off,F=FromPS.getFToken(S);if(F&&F.typ=="integer"){FromPS.skipWhite(S);if(S.buff[S.off]==82){S.off++; if(U&&U[J.val])return FromPDF.getIndirect(J.val,F.val,t,U);else return{typ:"ref",ind:J.val,gen:F.val}}}S.off=W}if(J.val=="<<")return FromPDF.readDict(S,t,U,M); if(J.val=="[")return FromPDF.readArra(S,t,U);if(J.typ=="string"){var E="";for(var q=0;q>"){console.log(JSON.stringify(PUtils.readASCII(S.buff,S.off-32,128))); console.log(S.off);throw"e"}return J.val};FromPDF.readDict=function(S,t,U,M){var J={};while(!0){var W=S.off,F=FromPS.getFToken(S); if(F.typ=="name"&&F.val==">>")break;S.off=W;var E=FromPDF.readObject(S,t,U),q=FromPDF.readObject(S,t,U); J[E]=q}if(J["/Length"]!=null&&M){var _=J["/Length"],D=J["/Filter"];if(_.typ&&_.typ=="ref")throw"e";var Z=FromPS.getFToken(S); if(S.buff[S.off]==32)S.off++;if(S.buff[S.off]==13)S.off++;if(S.buff[S.off]==10)S.off++;if(S.off+_>S.buff.length){console.log("too big /Length of a stream",_,S.buff.length-S.off,S.off); _=S.buff.length-S.off}if(D){D=typeof D=="string"?[D]:D;if(D[0]=="/ASCII85Decode")while(S.buff[S.off+_-2]!=126||S.buff[S.off+_-1]!=62)_++}for(var a=0; a<32;a++){var c=S.off+_-a;if(S.buff[c]!=101)continue;var l=FromPS.B.readASCII(S.buff,c,9);if(l=="endstream"){_-=a; break}}J.buff=new Uint8Array(S.buff.buffer,S.buff.byteOffset+S.off,_);S.off+=_;FromPS.getFToken(S)}return J}; FromPDF.readArra=function(S,t,U){var M=[];while(!0){var J=S.off,W=FromPS.getFToken(S);if(W.typ=="name"&&W.val=="]")return M; S.off=J;var F=FromPDF.readObject(S,t,U);M.push(F)}};var FromWMF=function(){var S=0,t=53,U=55,M=258,J=259,W=260,F=261,E=262,q=263,_=264,D=295,T=313,Z=322,a=329,h=513,c=521,l=529,w=531,o=532,Y=544,r=552,b=561,i=564,Q=804,V=805,x=522,k=523,s=524,p=525,y=526,P=527,e=1040,z=1042,H=1045,G=1046,u=1048,A=1049,aQ=1065,aT=1078,c0=1313,O=1336,b0=1352,ct=1051,aL=1055,ad=1564,b_=1565,aS=30,bZ=2074,bl=2851,cl=1574,bq=298,aM=299,a5=300,bw=301,bY=302,b9=2071,ab=2096,ax=2338,bG=2610,bt=3379,bU=2368,c6=2881,bS=3907,bE=496,cj=247,ck=505,ao=762,b7=763,bk=764,bb=1791,bi=1,bI=2,aw=3,b4=4,bd=5,a7=6,aj=7,aI=8,bx=9,af=10,aN=11,as=12,B=13,aP=14,b$=15,bp=16,aA=17,b6=18,cz=19,ce=20,bK=21,be=22,c9=23,an=24,b3=25,bT=26,cC=27,al=28,aJ=29,bs=30,bW=31,ai=32,az=33,aq=34,a1=35,a$=37,ci=38,a0=42,ap=256,aG=258,aF=512,cf=513,aC=514,cp=2049,bc=3073,ae=4096,bV=4097,aE=4098,bJ=4110,a6=4111,aH=4112,b1=4115,a8=4116,c5=4117,bM=4118,c2=4119,c8=4120,bL=4121,bh=4122,g=4568,$=UDOC.B; function b2(K,v){K=new Uint8Array(K);var C=0,n={fill:!1,strk:!1,bb:[0,0,600,600],lbb:[0,0,600,600],scl:1,fnt:{nam:"Arial",hgh:25,und:!1,orn:0,chrst:0},tclr:[0,0,0],talg:0},I=$.readShort,bC=$.readUshort,am=$.readUint,m=am(K,0),ba=0; if(m==2596720087){C=6;var aR=I(K,C+8);n.scl=120/aR;for(var f=0;f<4;f++){n.bb[f]=Math.round(I(K,C)*n.scl); C+=2}C+=2;C+=6}v.StartPage(n.bb[0],n.bb[1],n.bb[2],n.bb[3]);var N=UDOC.getState(n.bb),cr=bC(K,C);C+=2; var cw=bC(K,C);C+=2;var bP=bC(K,C);C+=2;var cq=am(K,C);C+=4;var cd=bC(K,C);C+=2;var aO=am(K,C);C+=4; var cd=bC(K,C);C+=2;var R=[];while(!0){var c3=am(K,C)<<1,c7=null;C+=4;var aB=bC(K,C);C+=2;var X=aB,L=C; if(!1){}else if(X==S)break;else if(X==cl){var bN=bC(K,C);L+=2;var ac=bN;console.log(X,ac)}else if(X==J||X==E||X==M){}else if(X==bw){var cy=bC(K,L); L+=2;var bX=R[cy];if(bX.t=="br"){n.fill=bX.stl!=1;if(bX.stl==0){}else if(bX.stl==1){}else throw bX.stl+" e"; N.colr=bX.clr}else if(bX.t=="pn"){var aU=bX.stl&7;n.strk=aU!=5;if(aU==0||aU==6)N.lwidth=bX.px;else if(aU==5){}else throw aU+" e"; if((bX.stl&4096)!=0)N.ljoin=2;else if((bX.stl&8192)!=0)N.ljoin=0;else N.ljoin=1;N.COLR=bX.clr}else if(bX.t=="fn"){n.fnt=bX; N.font.Tf=bX.nam;N.font.Tfs=Math.abs(bX.hgh);N.font.Tun=bX.und}else throw"e"}else if(X==bE){var cy=bC(K,L); L+=2;R[cy]=null}else if(X==k||X==s){var bH=X==k?0:2;n.lbb[bH+1]=I(K,L);L+=2;n.lbb[bH]=I(K,L);L+=2;j(n,N)}else if(X==bk){c7={t:"br"}; c7.stl=bC(K,L);L+=2;c7.clr=[K[L]/255,K[L+1]/255,K[L+2]/255];L+=4;c7.htc=bC(K,L);L+=2}else if(X==ao){c7={t:"pn"}; c7.stl=bC(K,L);L+=2;c7.px=I(K,L);L+=2;c7.py=I(K,L);L+=2;c7.clr=[K[L]/255,K[L+1]/255,K[L+2]/255];L+=4}else if(X==b7){c7={t:"fn",nam:""}; c7.hgh=I(K,L);L+=2;L+=2*2;c7.orn=I(K,L)/10;L+=2;var ay=I(K,L);L+=2;c7.und=K[L+1];L+=2;c7.stk=K[L];c7.chrst=K[C+1]; L+=2;L+=4;while(K[L]!=0){c7.nam+=String.fromCharCode(K[L]);L++}if(ay>500)c7.nam+="-Bold"}else if(X==cj){c7={t:"pl"}}else if(X==c)n.tclr=[K[L]/255,K[L+1]/255,K[L+2]/255]; else if(X==bY)n.talg=bC(K,L);else if(X==o){UDOC.G.moveTo(N,I(K,L+2),I(K,L))}else if(X==w){if(N.pth.cmds.length==0){var ca=N.ctm.slice(0); UDOC.M.invert(ca);var av=UDOC.M.multPoint(ca,N.cpos);UDOC.G.moveTo(N,av[0],av[1])}UDOC.G.lineTo(N,I(K,L+2),I(K,L)); var ch=n.fill;n.fill=!1;bA(v,N,n);n.fill=ch}else if(X==O){var bO=bC(K,L);L+=2;var cn=L;L+=bO*2;for(var f=0; fcm*b8*4)bv=bv.slice(0,cm*b8*4); var a_=N.ctm.slice(0);N.ctm=[1,0,0,1,0,0];UDOC.M.scale(N.ctm,ar,-bR);UDOC.M.translate(N.ctm,cb,ah+bR); UDOC.M.concat(N.ctm,a_);v.PutImage(N,bv,cm,b8);N.ctm=a_}else if(X==bG){var bQ=I(K,L),bF="";L+=2;var cA=I(K,L); L+=2;N.font.Tm=[1,0,0,-1,0,0];UDOC.M.rotate(N.font.Tm,n.fnt.orn*Math.PI/180);UDOC.M.translate(N.font.Tm,cA,bQ); var bu=n.talg;if((bu&6)==6)N.font.Tal=2;else if((bu&7)==0)N.font.Tal=0;else throw bu+" e";if((bu&24)==24){}else if((bu&24)==0)UDOC.M.translate(N.font.Tm,0,N.font.Tfs); else throw"e";var c1=bC(K,L);L+=2;var bD=bC(K,L);L+=2;if(bD&4)L+=8;for(var f=0;f127){f++;bz=bz<<8|K[L+f]}bF+=String.fromCharCode(bz)}var aX=N.colr;N.colr=n.tclr;v.PutText(N,bF,bF.length*N.font.Tfs*.5); N.colr=aX}else if(X==cf){}else{console.log(X.toString(16),c3)}if(c7!=null){var cu=0;while(R[cu]!=null)cu++; R[cu]=c7}C+=c3-6}v.ShowPage();v.Done()}function d(K,v){var C=$.readShort,n=$.readUshort,I=$.readUint,bC=I(K,v),am,m,aR; v+=4;if(bC==12)throw"e";else{am=I(K,v);v+=4;m=I(K,v);v+=4;var f=n(K,v);v+=2;if(f!=1)throw"e";var N=n(K,v); v+=2;if(N!=1&&N!=24&&N!=32)throw N+" e";var cr=I(K,v);v+=4;if(cr!=0)throw"e";var cw=I(K,v);v+=4;var bP=I(K,v); v+=4;var cq=I(K,v);v+=4;aR=I(K,v);v+=4;var cd=I(K,v);v+=4}var aO=am*m,R=new Uint8Array(aO*4),ba=Math.floor((am*f*N+31&~31)/8); if(N==1)for(var c3=0;c3>>3)]>>>7-(X&7)&1; R[L]=K[v+c7*4+2];R[L+1]=K[v+c7*4+1];R[L+2]=K[v+c7*4+0];R[L+3]=255}}if(N==24){for(var c3=0;c3500)N.nam+="-Bold"}else if(m==B){f+=16;var X=n(g,f),av="";f+=4;var L=I(g,f);f+=4;var c7=I(g,f); f+=4;var bN=C(g,f);f+=4;var ac=C(g,f);f+=4;var cy=j.ctm.slice(0);if(X==1)j.ctm=[1,0,0,1,0,0];j.font.Tm=[1,0,0,-1,0,0]; UDOC.M.rotate(j.font.Tm,d.fnt.orn*Math.PI/180);UDOC.M.translate(j.font.Tm,bN,ac);var bX=d.talg;if((bX&6)==6)j.font.Tal=2; else if((bX&7)==0)j.font.Tal=0;else throw bX+" e";if((bX&24)==24){}else if((bX&24)==0)UDOC.M.translate(j.font.Tm,0,j.font.Tfs); else console.log("unknown alignment",bX);var aU=n(g,f);f+=4;var bH=n(g,f);f+=4;var ay=n(g,f);f+=4;f+=16; var ca=n(g,f);f+=4;bH+=b2-8;for(var ch=0;ch0){UDOC.G.curveTo(j,cm(g,f),cm(g,f+b8),cm(g,f+2*b8),cm(g,f+3*b8),cm(g,f+4*b8),cm(g,f+5*b8)); f+=6*b8;at-=3}}else if(m==ct||m==b0){UDOC.G.newPath(j);var bP=c2(g,f);if(m==ct){UDOC.G.drawRect(j,bP[0],bP[1],bP[2]-bP[0],bP[3]-bP[1])}else{var a3=(bP[0]+bP[2])/2,by=(bP[1]+bP[3])/2; UDOC.G.arc(j,a3,by,(bP[2]-bP[0])/2,0,2*Math.PI,!1)}UDOC.G.closePath(j);bL($,j,d,!0)}else if(m==c6)$.Fill(j,!1); else if(m==bE)$.Stroke(j);else if(m==bS){$.Fill(j,!1);$.Stroke(j)}else if(m==G||m==u){var bR=[];for(var ch=0; ch<6;ch++)bR.push(I(g,f+ch*4));f+=24;if(m==G)j.ctm=bR;else{var X=n(g,f);f+=4;if(X==2){var ar=j.ctm;j.ctm=bR; UDOC.M.concat(j.ctm,ar)}else if(X==4)j.ctm=bR;else throw X}}else if(m==r){var ah=n(g,f);f+=4}else if(m==af){var bP=c2(g,f); f+=16;var cb=C(g,f);f+=4;var bv=C(g,f);f+=4;var a_=C(g,f);f+=4;var bQ=C(g,f);f+=4;var cA=C(g,f);f+=4; var bu=C(g,f);f+=4;var bD=n(g,f)+b2-8;f+=4;var bF=n(g,f);f+=4;var bz=n(g,f)+b2-8;f+=4;var aX=n(g,f); f+=4;var cu=n(g,f);f+=4;if(cu!=0)throw"e";var cg=n(g,f);f+=4;if(cg!=b1&&cg!=a8&&cg!=c5)throw cg.toString(16); var aY=C(g,f);f+=4;var aa=C(g,f);f+=4;var ag=n(g,bD);bD+=4;if(ag!=40)throw ag;var bB=n(g,bD);bD+=4;var a9=n(g,bD); bD+=4;if(bB!=cA||a9!=bu)throw"e";var au=v(g,bD);bD+=2;if(au!=1)throw"e";var aD=v(g,bD);bD+=2;if(aD!=1&&aD!=4&&aD!=8&&aD!=16&&aD!=24&&aD!=32)throw aD+" e"; var a4=n(g,bD);bD+=4;if(a4!=0)throw a4+" e";var a2=n(g,bD);bD+=4;var bn=n(g,bD);bD+=4;var br=n(g,bD); bD+=4;var aZ=n(g,bD);bD+=4;var ak=n(g,bD);bD+=4;if(ak!=0)throw ak;var cv=Math.floor((bB*au*aD+31&~31)/8),b5=new Uint8Array(bB*a9*4); if(aD==1){for(var by=0;by>>3)]>>>7-(a3&7)&1)<<2; b5[bj]=g[bD+ba+2];b5[bj+1]=g[bD+ba+1];b5[bj+2]=g[bD+ba+0];b5[bj+3]=255}}else if(aD==8){for(var by=0; by>>10&31)*(255/31); b5[bj+1]=(aV>>>5&31)*(255/31);b5[bj+2]=(aV>>>0&31)*(255/31);b5[bj+3]=255}}else if(aD==24){for(var by=0; by>>1); for(var x=0;xa7)a7=aI}for(var x=0;x=D[E+_+1])return 0;for(var w=0;w<=_;w++){if(T>=D[E+w]&&T255){var u=z.indexOf(G);e.push(u==-1?32:z[u-1])}else e.push(G)}}else{for(var H=0; H>2);G[u]=k[z+0];G[u+1]=k[z+1];G[u+2]=k[z+2]}}var A=this._res["/XObject"],aQ=P!=null?1:0; for(var aT in A){var c0=this._xr[A[aT].ind],O=c0["/SMask"],b0=O!=null?1:0;if(!F(c0.stream,G)||b0+aQ==1)continue; if(b0+aQ==2&&!F(this._xr[O.ind].stream,e))continue;return aT}var ct={"/Type":"/XObject","/Subtype":"/Image","/BitsPerComponent":8,"/ColorSpace":k.length==s*p||H=="/DCTDecode"&&l(k)&&l(k).comps==1?"/DeviceGray":"/DeviceRGB","/Height":p,"/Width":s,stream:G}; if(H!=null)ct["/Filter"]=E(k);if(y){ct["/SMask"]=A[P]}return h(ct,A,this._xr)};function h(k,s,p){var y="/I"+(c(s)+1); s[y]={typ:"ref",ind:p.length};p.push(k);return y}function c(k){var s;for(var p in k)s=p;return s==null?0:parseInt(s.slice(2))}function l(k){var s=0; while(s>");if(z){y(k,P(p)+"\nstream\n"); k.file.req(k.off,z.length);for(var G=0;Gthis.size)this.size*=2;var y=new Uint8Array(this.size);for(var P=0;P.05;if(a){h=S.ctm.slice(0); h[1]*=-1;h[2]*=-1;h[4]=T;h[5]=Z;T=Z=0;this._trsf(h)}var c=8+16+12+4*6+16;this._addRec("EXTTEXTOUTW",c+M*2); J.off+=16;F(J.file,J.off,2);J.off+=4;_(J.file,J.off,31.25);J.off+=4;_(J.file,J.off,31.25);J.off+=4;E(J.file,J.off,Math.round(T)); J.off+=4;E(J.file,J.off,Math.round(Z));J.off+=4;F(J.file,J.off,t.length);J.off+=4;F(J.file,J.off,c); J.off+=4;F(J.file,J.off,0);J.off+=4;J.off+=16;F(J.file,J.off,0);J.off+=4;for(var l=0;l1; if(o){if(Z=="L")c="POLYLINETO";l=8+20+4*h*w}this._addRec(c,l);if(o){U.off+=16;M(U.file,U.off,w*a[1]); U.off+=4;T+=w-1}for(var Y=0;Ythis.size)this.size*=2; var M=new Uint8Array(this.size);for(var J=0;J0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=o.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==b)throw new Error(d[a]);if(e.header&&o.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(n="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=o.deflateSetDictionary(this.strm,n),a!==b)throw new Error(d[a]);this._dict_set=!0}}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg||d[a.err];return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}function s(t,e){return e=e||{},e.gzip=!0,n(t,e)}var o=t("./zlib/deflate"),l=t("./utils/common"),h=t("./utils/strings"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=Object.prototype.toString,u=0,c=4,b=0,g=1,m=2,w=-1,p=0,v=8;i.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?c:u,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===_.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new l.Buf8(r),n.next_out=0,n.avail_out=r),a=o.deflate(n,i),a!==g&&a!==b)return this.onEnd(a),this.ended=!0,!1;0!==n.avail_out&&(0!==n.avail_in||i!==c&&i!==m)||("string"===this.options.to?this.onData(h.buf2binstring(l.shrinkBuf(n.output,n.next_out))):this.onData(l.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||0===n.avail_out)&&a!==g);return i===c?(a=o.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===b):i!==m||(this.onEnd(b),n.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===b&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=l.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=i,a.deflate=n,a.deflateRaw=r,a.gzip=s},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=s.inflateInit2(this.strm,e.windowBits);if(a!==h.Z_OK)throw new Error(d[a]);this.header=new _,s.inflateGetHeader(this.strm,this.header)}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg||d[a.err];return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}var s=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),h=t("./zlib/constants"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=t("./zlib/gzheader"),u=Object.prototype.toString;i.prototype.push=function(t,e){var a,i,n,r,d,f,_=this.strm,c=this.options.chunkSize,b=this.options.dictionary,g=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?h.Z_FINISH:h.Z_NO_FLUSH,"string"==typeof t?_.input=l.binstring2buf(t):"[object ArrayBuffer]"===u.call(t)?_.input=new Uint8Array(t):_.input=t,_.next_in=0,_.avail_in=_.input.length;do{if(0===_.avail_out&&(_.output=new o.Buf8(c),_.next_out=0,_.avail_out=c),a=s.inflate(_,h.Z_NO_FLUSH),a===h.Z_NEED_DICT&&b&&(f="string"==typeof b?l.string2buf(b):"[object ArrayBuffer]"===u.call(b)?new Uint8Array(b):b,a=s.inflateSetDictionary(this.strm,f)),a===h.Z_BUF_ERROR&&g===!0&&(a=h.Z_OK,g=!1),a!==h.Z_STREAM_END&&a!==h.Z_OK)return this.onEnd(a),this.ended=!0,!1;_.next_out&&(0!==_.avail_out&&a!==h.Z_STREAM_END&&(0!==_.avail_in||i!==h.Z_FINISH&&i!==h.Z_SYNC_FLUSH)||("string"===this.options.to?(n=l.utf8border(_.output,_.next_out),r=_.next_out-n,d=l.buf2string(_.output,n),_.next_out=r,_.avail_out=c-r,r&&o.arraySet(_.output,_.output,n,r,0),this.onData(d)):this.onData(o.shrinkBuf(_.output,_.next_out)))),0===_.avail_in&&0===_.avail_out&&(g=!0)}while((_.avail_in>0||0===_.avail_out)&&a!==h.Z_STREAM_END);return a===h.Z_STREAM_END&&(i=h.Z_FINISH),i===h.Z_FINISH?(a=s.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===h.Z_OK):i!==h.Z_SYNC_FLUSH||(this.onEnd(h.Z_OK),_.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===h.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=i,a.inflate=n,a.inflateRaw=r,a.ungzip=n},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;r=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;o[254]=o[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;r>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;a4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&a1?h[n++]=65533:r<65536?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return a<0?e:0===a?e:a+o[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do n=n+e[i++]|0,r=r+n|0;while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t^=-1;for(var o=i;o>>8^n[255&(t^e[o])];return t^-1}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=D[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(R.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){C._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,R.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=N(t.adler,e,n,a):2===t.state.wrap&&(t.adler=O(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ft?t.strstart-(t.w_size-ft):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+dt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do;while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&r<_);if(i=dt-(_-r),r=_-dt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ft)){R.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do i=t.head[--e],t.head[e]=i>=s?i-s:0;while(--a);a=s,e=a;do i=t.prev[--e],t.prev[e]=i>=s?i-s:0;while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ht)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===I)return vt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return vt;if(t.strstart-t.block_start>=t.w_size-ft&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?vt:vt}function c(t,e){for(var a,i;;){if(t.lookahead=ht&&(t.ins_h=(t.ins_h<=ht)if(i=C._tr_tally(t,t.strstart-t.match_start,t.match_length-ht),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ht){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<=ht&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=ht-1)),t.prev_length>=ht&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ht,i=C._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ht),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<=ht&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+dt;do;while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ht?(a=C._tr_tally(t,1,t.match_length-ht),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===I)return vt;break}if(t.match_length=0,a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function w(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}function p(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=Z[t.level].max_lazy,t.good_match=Z[t.level].good_length,t.nice_match=Z[t.level].nice_length,t.max_chain_length=Z[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ht-1,t.match_available=0,t.ins_h=0}function v(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=V,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new R.Buf16(2*ot),this.dyn_dtree=new R.Buf16(2*(2*rt+1)),this.bl_tree=new R.Buf16(2*(2*st+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new R.Buf16(lt+1),this.heap=new R.Buf16(2*nt+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new R.Buf16(2*nt+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=Q,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ut:wt,t.adler=2===e.wrap?0:1,e.last_flush=I,C._tr_init(e),H):i(t,K)}function y(t){var e=k(t);return e===H&&p(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?K:(t.state.gzhead=e,H):K}function z(t,e,a,n,r,s){if(!t)return K;var o=1;if(e===Y&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>$||a!==V||n<8||n>15||e<0||e>9||s<0||s>W)return i(t,K);8===n&&(n=9);var l=new v;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<L||e<0)return t?i(t,K):K;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===pt&&e!==F)return i(t,0===t.avail_out?P:K);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ut)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=O(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=ct):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,zt),o.status=wt);else{var _=V+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=G||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=_t),_+=31-_%31,o.status=wt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===ct)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=bt)}else o.status=bt;if(o.status===bt)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=gt)}else o.status=gt;if(o.status===gt)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=mt)}else o.status=mt;if(o.status===mt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=wt)):o.status=wt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,H}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,P);if(o.status===pt&&0!==t.avail_in)return i(t,P);if(0!==t.avail_in||0!==o.lookahead||e!==I&&o.status!==pt){var c=o.strategy===G?m(o,e):o.strategy===X?g(o,e):Z[o.level].func(o,e);if(c!==yt&&c!==xt||(o.status=pt),c===vt||c===yt)return 0===t.avail_out&&(o.last_flush=-1),H;if(c===kt&&(e===U?C._tr_align(o):e!==L&&(C._tr_stored_block(o,0,0,!1),e===T&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,H}return e!==F?H:o.wrap<=0?j:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?H:j)}function E(t){var e;return t&&t.state?(e=t.state.status,e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt&&e!==wt&&e!==pt?i(t,K):(t.state=null,e===wt?i(t,M):H)):K}function A(t,e){var a,i,n,s,o,l,h,d,f=e.length;if(!t||!t.state)return K;if(a=t.state,s=a.wrap,2===s||1===s&&a.status!==ut||a.lookahead)return K;for(1===s&&(t.adler=N(t.adler,e,f,0)),a.wrap=0,f>=a.w_size&&(0===s&&(r(a.head),a.strstart=0,a.block_start=0,a.insert=0),d=new R.Buf8(a.w_size),R.arraySet(d,e,f-a.w_size,a.w_size,0),e=d,f=a.w_size),o=t.avail_in,l=t.next_in,h=t.input,t.avail_in=f,t.next_in=0,t.input=e,_(a);a.lookahead>=ht;){i=a.strstart,n=a.lookahead-(ht-1);do a.ins_h=(a.ins_h<>>24,b>>>=y,g-=y,y=k>>>16&255,0===y)A[o++]=65535&k;else{if(!(16&y)){if(0===(64&y)){k=m[(65535&k)+(b&(1<>>=y,g-=y),g<15&&(b+=E[r++]<>>24,b>>>=y,g-=y,y=k>>>16&255,!(16&y)){if(0===(64&y)){k=w[(65535&k)+(b&(1<d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=y,g-=y,y=o-l,z>y){if(y=z-y,y>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-y,y2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],x-=3;x&&(A[o++]=S[B++],x>1&&(A[o++]=S[B++]))}else{B=o-z;do A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],x-=3;while(x>2);x&&(A[o++]=A[B++],x>1&&(A[o++]=A[B++]))}break}}break}}while(r>3,r-=x,g-=x<<3,b&=(1<>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new w.Buf16(320),this.work=new w.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=T,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new w.Buf32(bt),e.distcode=e.distdyn=new w.Buf32(gt),e.sane=1,e.back=-1,Z):N}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):N}function o(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?N:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):N}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==Z&&(t.state=null),a):N}function h(t){return l(t,wt)}function d(t){if(pt){var e;for(g=new w.Buf32(512),m=new w.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(y(z,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;y(B,t.lens,0,32,m,0,t.work,{bits:5}),pt=!1}t.lencode=g,t.lenbits=9,t.distcode=m,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(w.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),w.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(w.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave>>8&255,a.check=v(a.check,Et,2,0),_=0,u=0,a.mode=F;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=_t;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=_t;break}if(_>>>=4,u-=4,yt=(15&_)+8,0===a.wbits)a.wbits=yt;else if(yt>a.wbits){t.msg="invalid window size",a.mode=_t;break}a.dmax=1<>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=L;case L:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=v(a.check,Et,4,0)),_=0,u=0,a.mode=H;case H:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=j;case j:if(1024&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=K;case K:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(yt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),w.arraySet(a.head.extra,n,s,g,yt)),512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=M;case M:if(2048&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.name+=String.fromCharCode(yt));while(yt&&g>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=X;break;case q:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<>>=7&u,u-=7&u,a.mode=ht;break}for(;u<3;){if(0===l)break t;l--,_+=n[s++]<>>=1,u-=1,3&_){case 0:a.mode=J;break;case 1:if(d(a),a.mode=at,e===A){_>>>=2,u-=2;break t}break;case 2:a.mode=$;break;case 3:t.msg="invalid block type",a.mode=_t}_>>>=2,u-=2;break;case J:for(_>>>=7&u,u-=7&u;u<32;){if(0===l)break t;l--,_+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=_t;break}if(a.length=65535&_,_=0,u=0,a.mode=Q,e===A)break t;case Q:a.mode=V;case V:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;w.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=X;break;case $: for(;u<14;){if(0===l)break t;l--,_+=n[s++]<>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=_t;break}a.have=0,a.mode=tt;case tt:for(;a.have>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},xt=y(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid code lengths set",a.mode=_t;break}a.have=0,a.mode=et;case et:for(;a.have>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;u>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=_t;break}yt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;u>>=gt,u-=gt,yt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;u>>=gt,u-=gt,yt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=_t;break}for(;g--;)a.lens[a.have++]=yt}}if(a.mode===_t)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=_t;break}if(a.lenbits=9,zt={bits:a.lenbits},xt=y(z,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid literal/lengths set",a.mode=_t;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},xt=y(B,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,xt){t.msg="invalid distances set",a.mode=_t;break}if(a.mode=at,e===A)break t;case at:a.mode=it;case it:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,k(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===X&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=lt;break}if(32&mt){a.back=-1,a.mode=X;break}if(64&mt){t.msg="invalid literal/length code",a.mode=_t;break}a.extra=15&mt,a.mode=nt;case nt:if(a.extra){for(Bt=a.extra;u>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=rt;case rt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=_t;break}a.offset=wt,a.extra=15&mt,a.mode=st;case st:if(a.extra){for(Bt=a.extra;u>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=_t;break}a.mode=ot;case ot:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=_t;break}g>a.wnext?(g-=a.wnext,m=a.wsize-g):m=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,m=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do r[o++]=bt[m++];while(--g);0===a.length&&(a.mode=it);break;case lt:if(0===h)break t;r[o++]=a.length,h--,a.mode=it;break;case ht:if(a.wrap){for(;u<32;){if(0===l)break t;l--,_|=n[s++]<=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;C0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;Zr||t===h&&T>s)return 1;for(;;){B=Z-I,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>I)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<>=1;if(0!==p?(F&=p-1,F+=p):F=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(F&y)!==k){for(0===I&&(I=O),x+=C,D=Z-I,U=1<r||t===h&&T>s)return 1;k=F&y,b[k]=O<<24|D<<16|x-g|0}}return 0!==F&&(b[x+F]=Z-I<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function r(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function s(t){return t<256?lt[t]:lt[256+(t>>>7)]}function o(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function l(t,e,a){t.bi_valid>W-a?(t.bi_buf|=e<>W-t.bi_valid,t.bi_valid+=a-W):(t.bi_buf|=e<>>=1,a<<=1;while(--e>0);return a>>>1}function f(t){16===t.bi_valid?(o(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function _(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;r<=X;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;ac&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function u(t,e,a){var i,n,r=new Array(X+1),s=0;for(i=1;i<=X;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=d(r[o]++,o))}}function c(){var t,e,a,i,r,s=new Array(X+1);for(a=0,i=0;i>=7;i8?o(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function m(t,e,a,i){g(t),i&&(o(t,a),o(t,~a)),N.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function w(t,e,a,i){var n=2*e,r=2*a;return t[n]>1;a>=1;a--)p(t,r,a);n=l;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],p(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,p(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],_(t,e),u(r,h,t.bl_count)}function y(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=s,s=e[2*(i+1)+1],++o=3&&0===t.bl_tree[2*nt[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function B(t,e,a,i){var n;for(l(t,e-257,5),l(t,a-1,5),l(t,i-4,4),n=0;n>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return D;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return I;for(e=32;e0?(t.strm.data_type===U&&(t.strm.data_type=S(t)),k(t,t.l_desc),k(t,t.d_desc),s=z(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=n&&(n=r)):n=r=a+5,a+4<=n&&e!==-1?A(t,e,a,i):t.strategy===O||r===n?(l(t,(F<<1)+(i?1:0),3),v(t,st,ot)):(l(t,(L<<1)+(i?1:0),3),B(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),v(t,t.dyn_ltree,t.dyn_dtree)),b(t),i&&g(t)}function C(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ht[a]+M+1)]++,t.dyn_dtree[2*s(e)]++),t.last_lit===t.lit_bufsize-1}var N=t("../utils/common"),O=4,D=0,I=1,U=2,T=0,F=1,L=2,H=3,j=258,K=29,M=256,P=M+1+K,Y=30,q=19,G=2*P+1,X=15,W=16,J=7,Q=256,V=16,$=17,tt=18,et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],at=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],it=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=512,st=new Array(2*(P+2));i(st);var ot=new Array(2*Y);i(ot);var lt=new Array(rt);i(lt);var ht=new Array(j-H+1);i(ht);var dt=new Array(K);i(dt);var ft=new Array(Y);i(ft);var _t,ut,ct,bt=!1;a._tr_init=E,a._tr_stored_block=A,a._tr_flush_block=R,a._tr_tally=C,a._tr_align=Z},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); var DNLMarkerError = function() {} var EOIMarkerError = function() {} var PDFJS;!function(e){"use strict";var t=function(){function e(e){this.message="JPEG error: "+e}return e.prototype=new Error,e.prototype.name="JpegError",e.constructor=e,e}(),r=function(){var e=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]),r=4017,n=799,i=3406,a=2276,s=1567,o=3784,l=5793,h=2896;function f({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e,this._colorTransform=t}function m(e,t){for(var r,n,i=0,a=[],s=16;s>0&&!e[s-1];)s--;a.push({children:[],index:0});var o,c=a[0];for(r=0;r0;)c=a.pop();for(c.index++,a.push(c);a.length<=r;)a.push(o={children:[],index:0}),c.children[c.index]=o.children,c=o;i++}r+10)return y>>--x&1;if(255===(y=r[n++])){var e=r[n++];if(e){if(220===e&&m){const e=c(r,n+=2);if(n+=2,e>0&&e!==i.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",e)}else if(217===e){if(m){const e=8*T;if(e>0&&e>>7}function k(e){for(var r=e;;){switch(typeof(r=r[w()])){case"number":return r;case"object":continue}throw new t("invalid huffman sequence")}}function C(e){for(var t=0;e>0;)t=t<<1|w(),e--;return t}function P(e){if(1===e)return 1===w()?1:-1;var t=C(e);return t>=1<0)I--;else for(var n=o,i=l;n<=i;){var a=k(t.huffmanTableAC),s=15&a,c=a>>4;if(0!==s){var h=e[n+=c];t.blockData[r+h]=P(s)*(1<>4,0==(i=15&a))h<15?(I=C(h)+(1<>4;if(0!==o){var l=e[a+=c];t.blockData[r+l]=P(o),a++}else{if(c<15)break;a+=16}}};var E,U,X,H,J=0;for(U=1===R?a[0].blocksPerLine*a[0].blocksPerColumn:d*i.mcusPerColumn;J<=U;){var _=s?Math.min(U-J,s):U;if(_>0){for(z=0;z0?"unexpected":"excessive"} MCU data, current marker is: ${E.invalid}`),n=E.offset}if(!(E.marker>=65488&&E.marker<=65495))break;n+=2}return n-g}function v(e,c,f){var u,m,p,d,v,g,b,y,x,w,k,C,P,I,M,S,T,A=e.quantizationTable,D=e.blockData;if(!A)throw new t("missing required Quantization Table.");for(var L=0;L<64;L+=8)x=D[c+L],w=D[c+L+1],k=D[c+L+2],C=D[c+L+3],P=D[c+L+4],I=D[c+L+5],M=D[c+L+6],S=D[c+L+7],x*=A[L],0!=(w|k|C|P|I|M|S)?(w*=A[L+1],k*=A[L+2],C*=A[L+3],P*=A[L+4],I*=A[L+5],M*=A[L+6],S*=A[L+7],m=(u=(u=l*x+128>>8)+(m=l*P+128>>8)+1>>1)-m,T=(p=k)*o+(d=M)*s+128>>8,p=p*s-d*o+128>>8,b=(v=(v=h*(w-S)+128>>8)+(b=I<<4)+1>>1)-b,g=(y=(y=h*(w+S)+128>>8)+(g=C<<4)+1>>1)-g,d=(u=u+(d=T)+1>>1)-d,p=(m=m+p+1>>1)-p,T=v*a+y*i+2048>>12,v=v*i-y*a+2048>>12,y=T,T=g*n+b*r+2048>>12,g=g*r-b*n+2048>>12,b=T,f[L]=u+y,f[L+7]=u-y,f[L+1]=m+b,f[L+6]=m-b,f[L+2]=p+g,f[L+5]=p-g,f[L+3]=d+v,f[L+4]=d-v):(T=l*x+512>>10,f[L]=T,f[L+1]=T,f[L+2]=T,f[L+3]=T,f[L+4]=T,f[L+5]=T,f[L+6]=T,f[L+7]=T);for(var z=0;z<8;++z)x=f[z],0!=((w=f[z+8])|(k=f[z+16])|(C=f[z+24])|(P=f[z+32])|(I=f[z+40])|(M=f[z+48])|(S=f[z+56]))?(m=(u=4112+((u=l*x+2048>>12)+(m=l*P+2048>>12)+1>>1))-m,T=(p=k)*o+(d=M)*s+2048>>12,p=p*s-d*o+2048>>12,d=T,b=(v=(v=h*(w-S)+2048>>12)+(b=I)+1>>1)-b,g=(y=(y=h*(w+S)+2048>>12)+(g=C)+1>>1)-g,T=v*a+y*i+2048>>12,v=v*i-y*a+2048>>12,y=T,T=g*n+b*r+2048>>12,g=g*r-b*n+2048>>12,(x=(u=u+d+1>>1)+y)<16?x=0:x>=4080?x=255:x>>=4,(w=(m=m+p+1>>1)+(b=T))<16?w=0:w>=4080?w=255:w>>=4,(k=(p=m-p)+g)<16?k=0:k>=4080?k=255:k>>=4,(C=(d=u-d)+v)<16?C=0:C>=4080?C=255:C>>=4,(P=d-v)<16?P=0:P>=4080?P=255:P>>=4,(I=p-g)<16?I=0:I>=4080?I=255:I>>=4,(M=m-b)<16?M=0:M>=4080?M=255:M>>=4,(S=u-y)<16?S=0:S>=4080?S=255:S>>=4,D[c+z]=x,D[c+z+8]=w,D[c+z+16]=k,D[c+z+24]=C,D[c+z+32]=P,D[c+z+40]=I,D[c+z+48]=M,D[c+z+56]=S):(T=(T=l*x+8192>>14)<-2040?0:T>=2024?255:T+2056>>4,D[c+z]=T,D[c+z+8]=T,D[c+z+16]=T,D[c+z+24]=T,D[c+z+32]=T,D[c+z+40]=T,D[c+z+48]=T,D[c+z+56]=T)}function g(e,t){for(var r=t.blocksPerLine,n=t.blocksPerColumn,i=new Int16Array(64),a=0;a=n)return null;var a=c(e,t);if(a>=65472&&a<=65534)return{invalid:null,marker:a,offset:t};for(var s=c(e,i);!(s>=65472&&s<=65534);){if(++i>=n)return null;s=c(e,i)}return{invalid:a.toString(16),marker:s,offset:i}}return f.prototype={parse(r,{dnlScanLines:n=null}={}){function i(){const e=c(r,l);let t=(l+=2)+e-2;var n=b(r,t,l);n&&n.invalid&&(u("readDataBlock - incorrect length, current marker is: "+n.invalid),t=n.offset);var i=r.subarray(l,t);return l+=i.length,i}function a(e){for(var t=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),n=0;n>4==0)for(C=0;C<64;C++)T[e[C]]=r[l++];else{if(S>>4!=1)throw new t("DQT - invalid table spec");for(C=0;C<64;C++)T[e[C]]=c(r,l),l+=2}v[15&S]=T}break;case 65472:case 65473:case 65474:if(s)throw new t("Only single frame JPEGs supported");l+=2,(s={}).extended=65473===w,s.progressive=65474===w,s.precision=r[l++];const g=c(r,l);l+=2,s.scanLines=n||g,s.samplesPerLine=c(r,l),l+=2,s.components=[],s.componentIds={};var A,D=r[l++],L=0,z=0;for(k=0;k>4,O=15&r[l+1];L>4==0?x:y)[15&q]=m(R,U)}break;case 65501:o=c(r,l+=2),l+=2;break;case 65498:const Z=1==++p&&!n;l+=2;var X,H=r[l++],J=[];for(k=0;k>4],X.huffmanTableAC=y[15&N],J.push(X)}var Y=r[l++],G=r[l++],W=r[l++];try{var Q=d(r,l,s,J,o,Y,G,W>>4,15&W,Z);l+=Q}catch(e){if(e instanceof DNLMarkerError)return u(`${e.message} -- attempting to re-parse the JPEG image.`),this.parse(r,{dnlScanLines:e.scanLines});if(e instanceof EOIMarkerError){u(`${e.message} -- ignoring the rest of the image data.`);break e}throw e}break;case 65500:l+=4;break;case 65535:255!==r[l]&&l--;break;default:const j=b(r,l-2,l-3);if(j&&j.invalid){u("JpegImage.parse - unexpected data, current marker is: "+j.invalid),l=j.offset;break}if(l>=r.length-1){u("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break e}throw new t("JpegImage.parse - unknown marker: "+w.toString(16))}w=c(r,l),l+=2}for(this.width=s.samplesPerLine,this.height=s.scanLines,this.jfif=h,this.adobe=f,this.components=[],k=0;k>8)+k[f+1];return y},get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform},_convertYccToRgb:function(e){for(var t,r,n,i=0,a=e.length;i4)throw new t("Unsupported color mode");var a=this._getLinearizedBlockData(e,r,i);if(1===this.numComponents&&n){for(var s=a.length,o=new Uint8ClampedArray(3*s),c=0,l=0;l>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}return t.prototype={byteIn:function(){var e=this.data,t=this.bp;255===e[t]?e[t+1]>143?(this.clow+=65280,this.ct=8):(t++,this.clow+=e[t]<<9,this.ct=7,this.bp=t):(t++,this.clow+=t65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(t,r){var n,i=t[r]>>1,a=1&t[r],s=e[i],o=s.qe,c=this.a-o;if(this.chigh>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0==(32768&c));return this.a=c,t[r]=i<<1|a,n}},t}(),i=function(){var e={LL:0,LH:1,HL:1,HH:2};function t(){this.failOnCorruptedImage=!1}function r(e,t){e.x0=Math.ceil(t.XOsiz/e.XRsiz),e.x1=Math.ceil(t.Xsiz/e.XRsiz),e.y0=Math.ceil(t.YOsiz/e.YRsiz),e.y1=Math.ceil(t.Ysiz/e.YRsiz),e.width=e.x1-e.x0,e.height=e.y1-e.y0}function i(e,t){for(var r,n=e.SIZ,i=[],a=Math.ceil((n.Xsiz-n.XTOsiz)/n.XTsiz),s=Math.ceil((n.Ysiz-n.YTOsiz)/n.YTsiz),o=0;o0?Math.min(n.xcb,i.PPx-1):Math.min(n.xcb,i.PPx),i.ycb_=r>0?Math.min(n.ycb,i.PPy-1):Math.min(n.ycb,i.PPy),i}function o(e,t,r){var n=1<t.trx0?Math.ceil(t.trx1/n)-Math.floor(t.trx0/n):0,l=t.try1>t.try0?Math.ceil(t.try1/i)-Math.floor(t.try0/i):0,h=c*l;t.precinctParameters={precinctWidth:n,precinctHeight:i,numprecinctswide:c,numprecinctshigh:l,numprecincts:h,precinctWidthInSubband:s,precinctHeightInSubband:o}}function h(e,t,r){var n,i,a,s,o=r.xcb_,c=r.ycb_,l=1<>o,u=t.tby0>>c,m=t.tbx1+l-1>>o,p=t.tby1+h-1>>c,d=t.resolution.precinctParameters,v=[],g=[];for(i=u;ib.cbxMax&&(b.cbxMax=n),ib.cbyMax&&(b.cbyMax=i)):g[s]=b={cbxMin:n,cbyMin:i,cbxMax:n,cbyMax:i},a.precinct=b}}t.codeblockParameters={codeblockWidth:o,codeblockHeight:c,numcodeblockwide:m-f+1,numcodeblockhigh:p-u+1},t.codeblocks=v,t.precincts=g}function p(e,t,r){for(var n=[],i=e.subbands,a=0,s=i.length;ae.codingStyleParameters.decompositionLevelsCount)){for(var t=e.resolutions[l],r=t.precinctParameters.numprecincts;ue.codingStyleParameters.decompositionLevelsCount)){for(var t=e.resolutions[c],r=t.precinctParameters.numprecincts;ue.codingStyleParameters.decompositionLevelsCount)){var a=e.resolutions[r],s=a.precinctParameters.numprecincts;if(!(i>=s)){for(;t=0;--v){var g=c.resolutions[v],b=d*g.precinctParameters.precinctWidth,y=d*g.precinctParameters.precinctHeight;f=Math.min(f,b),u=Math.min(u,y),m=Math.max(m,g.precinctParameters.numprecinctswide),p=Math.max(p,g.precinctParameters.numprecinctshigh),h[v]={width:b,height:y},d<<=1}r=Math.min(r,f),n=Math.min(n,u),i=Math.max(i,m),a=Math.max(a,p),s[o]={resolutions:h,minWidth:f,minHeight:u,maxNumWide:m,maxNumHigh:p}}return{components:s,minWidth:r,minHeight:n,maxNumWide:i,maxNumHigh:a}}function k(e){for(var t=e.SIZ,r=e.currentTile.index,n=e.tiles[r],i=t.Csiz,s=0;s>>(o-=e)&(1<0;){var U=k.shift();void 0===(x=U.codeblock).data&&(x.data=[]),x.data.push({data:t,start:r+a,end:r+a+U.dataLength,codingpasses:U.codingpasses}),a+=U.dataLength}}}return a}function P(e,t,r,i,a,s,o,c){for(var l=i.tbx0,h=i.tby0,f=i.tbx1-i.tbx0,u=i.codeblocks,m="H"===i.type.charAt(0)?1:0,p="H"===i.type.charAt(1)?t:0,d=0,v=u.length;d=s?O:O*(1<0?1-g:0));var S=b.subbands[k],T=e[S.type];P(w,y,0,S,m?1:Math.pow(2,u+T-M)*(1+I/2048),h+M-1,m,f)}d.push({width:y,height:x,items:w})}var A=p.calculate(d,i.tcx0,i.tcy0);return{left:i.tcx0,top:i.tcy0,width:A.width,height:A.height,items:A.items}}function M(e,t){for(var r=e.SIZ.Csiz,n=e.tiles[t],i=0;i>24&255,a>>16&255,a>>8&255,255&a);u("Unsupported header type "+a+" ("+d+")")}o&&(t+=s)}else this.parseCodestream(e,0,e.length)},parseImageProperties:function(e){for(var t=e.getByte();t>=0;){if(65361===(t<<8|(t=e.getByte()))){e.skip(4);var r=e.getInt32()>>>0,n=e.getInt32()>>>0,i=e.getInt32()>>>0,a=e.getInt32()>>>0;e.skip(16);var s=e.getUint16();return this.width=r-i,this.height=n-a,this.componentsCount=s,void(this.bitsPerComponent=8)}}f("JPX Error: No size marker found in JPX stream")},parseCodestream:function(e,t,n){var a={},s=!1;try{for(var o=t;o+1>5,d=[];m>3,D.mu=0):(D.epsilon=e[m]>>3,D.mu=(7&e[m])<<8|e[m+1],m+=2),d.push(D)}A.SPqcds=d,a.mainHeader?a.QCD=A:(a.currentTile.QCD=A,a.currentTile.QCC=[]);break;case 65373:y=c(e,o);var L,z={};switch(m=o+2,a.SIZ.Csiz<257?L=e[m++]:(L=c(e,m),m+=2),31&(p=e[m++])){case 0:v=8,g=!0;break;case 1:v=16,g=!1;break;case 2:v=16,g=!0;break;default:throw new Error("Invalid SQcd value "+p)}for(z.noQuantization=8===v,z.scalarExpounded=g,z.guardBits=p>>5,d=[];m>3,D.mu=0):(D.epsilon=e[m]>>3,D.mu=(7&e[m])<<8|e[m+1],m+=2),d.push(D);z.SPqcds=d,a.mainHeader?a.QCC[L]=z:a.currentTile.QCC[L]=z;break;case 65362:y=c(e,o);var F={};m=o+2;var O=e[m++];F.entropyCoderWithCustomPrecincts=!!(1&O),F.sopMarkerUsed=!!(2&O),F.ephMarkerUsed=!!(4&O),F.progressionOrder=e[m++],F.layersCount=c(e,m),m+=2,F.multipleComponentTransform=e[m++],F.decompositionLevelsCount=e[m++],F.xcb=2+(15&e[m++]),F.ycb=2+(15&e[m++]);var B=e[m++];if(F.selectiveArithmeticCodingBypass=!!(1&B),F.resetContextProbabilities=!!(2&B),F.terminationOnEachCodingPass=!!(4&B),F.verticalyStripe=!!(8&B),F.predictableTermination=!!(16&B),F.segmentationSymbolUsed=!!(32&B),F.reversibleTransformation=e[m++],F.entropyCoderWithCustomPrecincts){for(var q=[];m>4})}F.precinctsSizes=q}var E=[];if(F.selectiveArithmeticCodingBypass&&E.push("selectiveArithmeticCodingBypass"),F.resetContextProbabilities&&E.push("resetContextProbabilities"),F.terminationOnEachCodingPass&&E.push("terminationOnEachCodingPass"),F.verticalyStripe&&E.push("verticalyStripe"),F.predictableTermination&&E.push("predictableTermination"),E.length>0)throw s=!0,new Error("Unsupported COD options ("+E.join(", ")+")");a.mainHeader?a.COD=F:(a.currentTile.COD=F,a.currentTile.COC=[]);break;case 65424:y=c(e,o),(b={}).index=c(e,o+2),b.length=l(e,o+4),b.dataEnd=b.length+o-2,b.partIndex=e[o+8],b.partsCount=e[o+9],a.mainHeader=!1,0===b.partIndex&&(b.COD=a.COD,b.COC=a.COC.slice(0),b.QCD=a.QCD,b.QCC=a.QCC.slice(0)),a.currentTile=b;break;case 65427:0===(b=a.currentTile).partIndex&&(M(a,b.index),k(a)),C(a,e,o,y=b.dataEnd-o);break;case 65365:case 65367:case 65368:case 65380:y=c(e,o);break;case 65363:throw new Error("Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("Unknown codestream code: "+h.toString(16))}o+=y}}catch(e){s||this.failOnCorruptedImage?f("JPX Error: "+e.message):u("JPX: Trying to recover from: "+e.message)}this.tiles=function(e){for(var t=e.SIZ,r=e.components,n=t.Csiz,i=[],a=0,s=e.tiles.length;a>2))+y,k=w+b,S[A++]=x<=0?0:x>=u?255:x>>h,S[A++]=w<=0?0:w>=u?255:w>>h,S[A++]=k<=0?0:k>=u?255:k>>h;else for(d=0;d=u?255:x>>h,S[A++]=w<=0?0:w>=u?255:w>>h,S[A++]=k<=0?0:k>=u?255:k>>h;if(D)for(d=0,A=3;d=p?255:C+f>>h}else for(o=0;o=u?255:P+f>>h,A+=n}i.push(T)}return i}(a),this.width=a.SIZ.Xsiz-a.SIZ.XOsiz,this.height=a.SIZ.Ysiz-a.SIZ.YOsiz,this.componentsCount=a.SIZ.Csiz}};var S=function(){function e(e,t){var r=s(Math.max(e,t))+1;this.levels=[];for(var n=0;n>=1,t>>=1,n++}n--,(r=this.levels[n]).items[r.index]=i,this.currentLevel=n,delete this.value},incrementValue:function(){var e=this.levels[this.currentLevel];e.items[e.index]++},nextLevel:function(){var e=this.currentLevel,t=this.levels[e],r=t.items[t.index];return--e<0?(this.value=r,!1):(this.currentLevel=e,(t=this.levels[e]).items[t.index]=r,!0)}},e}(),T=function(){function e(e,t,r){var n=s(Math.max(e,t))+1;this.levels=[];for(var i=0;ir)return this.currentLevel=n,this.propagateValues(),!1;e>>=1,t>>=1,n++}return this.currentLevel=n-1,!0},incrementValue:function(e){var t=this.levels[this.currentLevel];t.items[t.index]=e+1,this.propagateValues()},propagateValues:function(){for(var e=this.currentLevel,t=this.levels[e],r=t.items[t.index];--e>=0;)(t=this.levels[e]).items[t.index]=r},nextLevel:function(){var e=this.currentLevel,t=this.levels[e],r=t.items[t.index];return t.items[t.index]=255,!(--e<0)&&(this.currentLevel=e,(t=this.levels[e]).items[t.index]=r,!0)}},e}(),A=function(){var e=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),t=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),r=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);function n(n,i,a,s,o){this.width=n,this.height=i,this.contextLabelTable="HH"===a?r:"HL"===a?t:e;var c=n*i;this.neighborsSignificance=new Uint8Array(c),this.coefficentsSign=new Uint8Array(c),this.coefficentsMagnitude=o>14?new Uint32Array(c):o>6?new Uint16Array(c):new Uint8Array(c),this.processingFlags=new Uint8Array(c);var l=new Uint8Array(c);if(0!==s)for(var h=0;h0,c=t+10&&(n=r-a,o&&(i[n-1]+=16),c&&(i[n+1]+=16),i[n]+=4),e+1=r)break;if(s[u]&=-2,!n[u]&&a[u]){var d=c[a[u]];if(e.readBit(o,d)){var v=this.decodeSignBit(p,f,u);i[u]=v,n[u]=1,this.setNeighborsSignificance(p,f,u),s[u]|=2}l[u]++,s[u]|=1}}},decodeSignBit:function(e,t,r){var n,i,a,s,o,c,l=this.width,h=this.height,f=this.coefficentsMagnitude,u=this.coefficentsSign;s=t>0&&0!==f[r-1],t+10&&0!==f[r-l],e+1=0?(o=9+n,c=this.decoder.readBit(this.contexts,o)):(o=9-n,c=1^this.decoder.readBit(this.contexts,o)),c},runMagnitudeRefinementPass:function(){for(var e,t=this.decoder,r=this.width,n=this.height,i=this.coefficentsMagnitude,a=this.neighborsSignificance,s=this.contexts,o=this.bitsDecoded,c=this.processingFlags,l=r*n,h=4*r,f=0;f>1,c=-1.586134342059924,l=-.052980118572961,h=.882911075530934,f=.443506852043971,u=1.230174104914001;for(n=(t|=0)-3,i=o+4;i--;n+=2)e[n]*=.8128930661159609;for(a=f*e[(n=t-2)-1],i=o+3;i--&&(s=f*e[n+1],e[n]=u*e[n]-a-s,i--);n+=2)a=f*e[(n+=2)+1],e[n]=u*e[n]-a-s;for(a=h*e[(n=t-1)-1],i=o+2;i--&&(s=h*e[n+1],e[n]-=a+s,i--);n+=2)a=h*e[(n+=2)+1],e[n]-=a+s;for(a=l*e[(n=t)-1],i=o+1;i--&&(s=l*e[n+1],e[n]-=a+s,i--);n+=2)a=l*e[(n+=2)+1],e[n]-=a+s;if(0!==o)for(a=c*e[(n=t+1)-1],i=o;i--&&(s=c*e[n+1],e[n]-=a+s,i--);n+=2)a=c*e[(n+=2)+1],e[n]-=a+s},e}(),z=function(){function e(){D.call(this)}return e.prototype=Object.create(D.prototype),e.prototype.filter=function(e,t,r){var n,i,a=r>>1;for(n=t|=0,i=a+1;i--;n+=2)e[n]-=e[n-1]+e[n+1]+2>>2;for(n=t+1,i=a;i--;n+=2)e[n]+=e[n-1]+e[n+1]>>1},e}();return t}(),a=function(){function e(){}function t(e,t,r){this.data=e,this.start=t,this.end=r}function r(e,t,r){var n=e.getContexts(t),i=1;function a(e){for(var t=0,a=0;a>>0}var s=a(1),o=a(1)?a(1)?a(1)?a(1)?a(1)?a(32)+4436:a(12)+340:a(8)+84:a(6)+20:a(4)+4:a(2);return 0===s?o:o>0?-o:null}function i(e,t,r){for(var n=e.getContexts("IAID"),i=1,a=0;a=z&&S=F)for(H=H<<1&y,m=0;m=0&&A=0&&(D=R[T][A])&&(H|=D<=e?F<<=1:F=F<<1|P[L][z];for(h=0;h=k||z<0||z>=w?F<<=1:F=F<<1|n[L][z];var O=I.readBit(M,F);A[D]=O}}return P}function b(e,t,n,a,s,o,c,l,h,u,m,p,d,v,b,y,x){e&&f("JBIG2 error: huffman is not supported");var w,k,C=[];for(w=0;w>1)+r(M,"IARDX",I),(R>>1)+r(M,"IARDY",I),!1,y,x)}var E,U,X,H=D-(1&p?0:B),J=A-(2&p?O:0);if(u){for(E=0;E>5&7,u=[31&o],m=t+6;if(7===o){h=536870911&l(e,m-1),m+=3;var p=h+7>>3;for(u[0]=e[m++];--p>0;)u.push(e[m++])}else 5!==o&&6!==o||f("JBIG2 error: invalid referred-to flags");r.retainBits=u;var d,v,g=r.number<=256?1:r.number<=65536?2:4,b=[];for(d=0;d>>24&255,P[3]=x.height>>16&255,P[4]=x.height>>8&255,P[5]=255&x.height,d=m,v=e.length;d>2&3,p.huffmanDWSelector=d>>4&3,p.bitmapSizeSelector=d>>6&1,p.aggregationInstancesSelector=d>>7&1,p.bitmapCodingContextUsed=!!(256&d),p.bitmapCodingContextRetained=!!(512&d),p.template=d>>10&3,p.refinementTemplate=d>>12&1,u+=2,!p.huffman){for(a=0===p.template?4:1,n=[],i=0;i>2&3),v.referenceCorner=g>>4&3,v.transposed=!!(64&g),v.combinationOperator=g>>7&3,v.defaultPixelValue=g>>9&1,v.dsOffset=g<<17>>27,v.refinementTemplate=g>>15&1,v.huffman){var b=c(h,u);u+=2,v.huffmanFS=3&b,v.huffmanDS=b>>2&3,v.huffmanDT=b>>4&3,v.huffmanRefinementDW=b>>6&3,v.huffmanRefinementDH=b>>8&3,v.huffmanRefinementDX=b>>10&3,v.huffmanRefinementDY=b>>12&3,v.huffmanRefinementSizeSelector=!!(14&b)}if(v.refinement&&!v.refinementTemplate){for(n=[],i=0;i<2;i++)n.push({x:o(h,u),y:o(h,u+1)}),u+=2;v.refinementAt=n}v.numberOfSymbolInstances=l(h,u),u+=4,v.huffman&&f("JBIG2 error: huffman is not supported"),r=[v,s.referredTo,h,u,m];break;case 38:case 39:var y={};y.info=w(h,u),u+=k;var x=h[u++];if(y.mmr=!!(1&x),y.template=x>>1&3,y.prediction=!!(8&x),!y.mmr){for(a=0===y.template?4:1,n=[],i=0;i>2&1,C.combinationOperator=P>>3&3,C.requiresBuffer=!!(32&P),C.combinationOperatorOverride=!!(64&P),r=[C];break;case 49:case 50:case 51:case 62:break;default:f("JBIG2 error: segment type "+s.typeName+"("+s.type+") is not implemented")}var I="on"+s.typeName;I in t&&t[I].apply(t,r)}function P(e,t){for(var r=0,n=e.length;r>3,r=new Uint8Array(t*e.height);if(e.defaultPixelValue)for(var n=0,i=r.length;n>3,h=s.combinationOperatorOverride?e.combinationOperator:s.combinationOperator,u=this.buffer,m=128>>(7&e.x),p=e.y*l+(e.x>>3);switch(h){case 0:for(r=0;r>=1)||(i=128,a++);p+=l}break;case 2:for(r=0;r>=1)||(i=128,a++);p+=l}break;default:f("JBIG2 error: operator "+h+" is not supported")}},onImmediateGenericRegion:function(e,r,n,i){var a=e.info,s=new t(r,n,i),o=v(e.mmr,a.width,a.height,e.template,e.prediction,null,e.at,s);this.drawBitmap(a,o)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this,arguments)},onSymbolDictionary:function(e,n,a,o,c,l){e.huffman&&f("JBIG2 error: huffman is not supported");var h=this.symbols;h||(this.symbols=h={});for(var u=[],m=0,p=a.length;m1)P=b(e,t,C,y,0,M,1,n.concat(d),x,0,0,1,0,0,u,m,p);else{var S=i(k,w,x),T=r(k,"IARDX",w),A=r(k,"IARDY",w);P=g(C,y,u,St;)t<<=1,r++;return r}function o(e,t){return e[t]<<24>>24}function c(e,t){return e[t]<<8|e[t+1]}function l(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function h(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!1}),r}var f=function(){throw console.error.apply(console,arguments),new Error("PDFJS error: "+arguments[0])},u=function(){console.warn.apply(console,arguments)},m=function(){console.info.apply(console,arguments)};a.prototype.parse=function(e){var t=0,r=e.length;151===e[t]&&74===e[t+1]&&66===e[t+2]&&50===e[t+3]&&13===e[t+4]&&10===e[t+5]&&26===e[t+6]&&10===e[t+7]||f("JBIG2 error: invalid header");var n={};t+=8;var i=e[t++];n.randomAccess=!(1&i),2&i||(n.numberOfPages=l(e,t),t+=4);for(var a=this.parseChunks([{data:e,start:t,end:r}]),s=a.currentPageInfo.width,o=a.currentPageInfo.height,c=a.buffer,h=(e=new Uint8Array(s*o),0),u=0,m=0;m>=1;this.width=s,this.height=o,this.data=e},e.JpegImage=r,e.JpxImage=i,e.Jbig2Image=a}(PDFJS||(PDFJS={})); ;(function(){var o,X=0,e=null,n=null;o=window.FFT={};var f={o:function(G){if(G!==0&&(G&G-1)===0){X=G; f.B();f.q();f.i()}else{throw new Error("init: radix-2 required")}},X:function(G,B){f.G(G,B,1)},e:function(G,B){var j=1/X; f.G(G,B,-1);for(var q=0;q>2; for(var P=0;P>1;while(q<=B){B-=q;q>>=1}B+=q;e[G]=B}},i:function(){var G=X>>1,B=X>>2,j=X>>3,q=G+B,i=Math.sin(Math.PI/X),m=2*i*i,Z=Math.sqrt(m*(2-m)),p=n[B]=1,C=n[0]=0; i=2*m;for(var a=1;an){var p=this.type===c.types.logicalOR||this.type===c.types.logicalAND,g=this.value;this.next();var k=this.start,q=this.startLoc,d=this.parseExprOp(this.parseMaybeUnary(null, !1),k,q,d,e);b=this.buildBinary(a,h,b,d,g,p);return this.parseExprOp(b,a,h,n,e)}return b};a.buildBinary=function(b,c,a,n,e,m){b=this.startNodeAt(b,c);b.left=a;b.operator=e;b.right=n;return this.finishNode(b,m?"LogicalExpression":"BinaryExpression")};a.parseMaybeUnary=function(b,a){var d=this.start,n=this.startLoc;if(this.type.prefix){var e=this.startNode();var m=this.type===c.types.incDec;e.operator=this.value;e.prefix=!0;this.next();e.argument=this.parseMaybeUnary(null,!0);this.checkExpressionErrors(b, !0);m?this.checkLVal(e.argument):this.strict&&"delete"===e.operator&&"Identifier"===e.argument.type?this.raiseRecoverable(e.start,"Deleting local variable in strict mode"):a=!0;m=this.finishNode(e,m?"UpdateExpression":"UnaryExpression")}else{m=this.parseExprSubscripts(b);if(this.checkExpressionErrors(b))return m;for(;this.type.postfix&&!this.canInsertSemicolon();)e=this.startNodeAt(d,n),e.operator=this.value,e.prefix=!1,e.argument=m,this.checkLVal(m),this.next(),m=this.finishNode(e,"UpdateExpression")}return!a&& this.eat(c.types.starstar)?this.buildBinary(d,n,m,this.parseMaybeUnary(null,!1),"**",!1):m};a.parseExprSubscripts=function(b){var c=this.start,a=this.startLoc,n=this.parseExprAtom(b),e="ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);return this.checkExpressionErrors(b)||e?n:this.parseSubscripts(n,c,a)};a.parseSubscripts=function(b,a,h,n){for(var e;;)if(this.eat(c.types.dot))e=this.startNodeAt(a,h),e.object=b,e.property=this.parseIdent(!0),e.computed=!1, b=this.finishNode(e,"MemberExpression");else if(this.eat(c.types.bracketL))e=this.startNodeAt(a,h),e.object=b,e.property=this.parseExpression(),e.computed=!0,this.expect(c.types.bracketR),b=this.finishNode(e,"MemberExpression");else if(!n&&this.eat(c.types.parenL))e=this.startNodeAt(a,h),e.callee=b,e.arguments=this.parseExprList(c.types.parenR,!1),b=this.finishNode(e,"CallExpression");else if(this.type===c.types.backQuote)e=this.startNodeAt(a,h),e.tag=b,e.quasi=this.parseTemplate(),b=this.finishNode(e, "TaggedTemplateExpression");else return b};a.parseExprAtom=function(b){var a=this.potentialArrowAt==this.start;switch(this.type){case c.types._super:this.inFunction||this.raise(this.start,"'super' outside of function or class");case c.types._this:return b=this.type===c.types._this?"ThisExpression":"Super",a=this.startNode(),this.next(),this.finishNode(a,b);case c.types.name:b=this.start;var h=this.startLoc,n=this.parseIdent(this.type!==c.types.name);return a&&!this.canInsertSemicolon()&&this.eat(c.types.arrow)? this.parseArrowExpression(this.startNodeAt(b,h),[n]):n;case c.types.regexp:return b=this.value,a=this.parseLiteral(b.value),a.regex={pattern:b.pattern,flags:b.flags},a;case c.types.num:case c.types.string:return this.parseLiteral(this.value);case c.types._null:case c.types._true:case c.types._false:return a=this.startNode(),a.value=this.type===c.types._null?null:this.type===c.types._true,a.raw=this.type.keyword,this.next(),this.finishNode(a,"Literal");case c.types.parenL:return this.parseParenAndDistinguishExpression(a); case c.types.bracketL:return a=this.startNode(),this.next(),a.elements=this.parseExprList(c.types.bracketR,!0,!0,b),this.finishNode(a,"ArrayExpression");case c.types.braceL:return this.parseObj(!1,b);case c.types._function:return a=this.startNode(),this.next(),this.parseFunction(a,!1);case c.types._class:return this.parseClass(this.startNode(),!1);case c.types._new:return this.parseNew();case c.types.backQuote:return this.parseTemplate();default:this.unexpected()}};a.parseLiteral=function(b){var a= this.startNode();a.value=b;a.raw=this.input.slice(this.start,this.end);this.next();return this.finishNode(a,"Literal")};a.parseParenExpression=function(){this.expect(c.types.parenL);var b=this.parseExpression();this.expect(c.types.parenR);return b};a.parseParenAndDistinguishExpression=function(b){var a=this.start,h=this.startLoc;if(6<=this.options.ecmaVersion){this.next();for(var n=this.start,e=this.startLoc,m=[],p=!0,g={shorthandAssign:0,trailingComma:0},k=void 0,q=void 0;this.type!==c.types.parenR;)if(p? p=!1:this.expect(c.types.comma),this.type===c.types.ellipsis){k=this.start;m.push(this.parseParenItem(this.parseRest()));break}else this.type!==c.types.parenL||q||(q=this.start),m.push(this.parseMaybeAssign(!1,g,this.parseParenItem));var p=this.start,f=this.startLoc;this.expect(c.types.parenR);if(b&&!this.canInsertSemicolon()&&this.eat(c.types.arrow))return this.checkPatternErrors(g,!0),q&&this.unexpected(q),this.parseParenArrowList(a,h,m);m.length||this.unexpected(this.lastTokStart);k&&this.unexpected(k); this.checkExpressionErrors(g,!0);1b)return!1; e+=a[c+1];if(e>=b)return!0}}f.__esModule=!0;f.isIdentifierStart=function(b,a){return 65>b?36===b:91>b?!0:97>b?95===b:123>b?!0:65535>=b?170<=b&&g.test(String.fromCharCode(b)):!1===a?!1:c(b,d)};f.isIdentifierChar=function(a,e){return 48>a?36===a:58>a?!0:65>a?!1:91>a?!0:97>a?95===a:123>a?!0:65535>=a?170<=a&&b.test(String.fromCharCode(a)):!1===e?!1:c(a,d)||c(a,h)};f.reservedWords={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", 5:"class enum extends super const export import",6:"enum",7:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"};f.keywords={5:"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",6:"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this const class extends export import super"}; a="\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b4\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ad\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; var g=new RegExp("["+a+"]"),b=new RegExp("["+a+"\u200c\u200d\u00b7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]"); a=null;var d=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,99,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,287,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,1288, 921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,16481,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,1340,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],h=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3, 41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,168,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,316,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,20855,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,3617,6,792618,239]},{}],3:[function(a,l,f){f.__esModule=!0;f.parse=function(a,b){return(new c.Parser(b,a)).parse()};f.parseExpressionAt=function(a,b,d){a=new c.Parser(d,a,b);a.nextToken(); return a.parseExpression()};f.tokenizer=function(a,b){return new c.Parser(b,a)};var c=a("./state");a("./parseutil");a("./statement");a("./lval");a("./expression");a("./location");f.Parser=c.Parser;f.plugins=c.plugins;l=a("./options");f.defaultOptions=l.defaultOptions;l=a("./locutil");f.Position=l.Position;f.SourceLocation=l.SourceLocation;f.getLineInfo=l.getLineInfo;l=a("./node");f.Node=l.Node;l=a("./tokentype");f.TokenType=l.TokenType;f.tokTypes=l.types;l=a("./tokencontext");f.TokContext=l.TokContext; f.tokContexts=l.types;l=a("./identifier");f.isIdentifierChar=l.isIdentifierChar;f.isIdentifierStart=l.isIdentifierStart;l=a("./tokenize");f.Token=l.Token;a=a("./whitespace");f.isNewLine=a.isNewLine;f.lineBreak=a.lineBreak;f.lineBreakG=a.lineBreakG;f.version="3.1.0"},{"./expression":1,"./identifier":2,"./location":4,"./locutil":5,"./lval":6,"./node":7,"./options":8,"./parseutil":9,"./state":10,"./statement":11,"./tokencontext":12,"./tokenize":13,"./tokentype":14,"./whitespace":16}],4:[function(a,l, f){l=a("./state");var c=a("./locutil");a=l.Parser.prototype;a.raise=function(a,b){var d=c.getLineInfo(this.input,a);b+=" ("+d.line+":"+d.column+")";var h=new SyntaxError(b);h.pos=a;h.loc=d;h.raisedAt=this.pos;throw h;};a.raiseRecoverable=a.raise;a.curPosition=function(){if(this.options.locations)return new c.Position(this.curLine,this.pos-this.lineStart)}},{"./locutil":5,"./state":10}],5:[function(a,l,f){function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); }f.__esModule=!0;f.getLineInfo=function(a,c){for(var d=1,e=0;;){g.lineBreakG.lastIndex=e;var m=g.lineBreakG.exec(a);if(m&&m.indexthis.options.ecmaVersion||"let"!=this.value)return!1;g.skipWhiteSpace.lastIndex=this.pos;var a=g.skipWhiteSpace.exec(this.input),a=this.pos+a[0].length,d=this.input.charCodeAt(a);if(91===d||123==d)return!0;if(b.isIdentifierStart(d,!0)){for(d=a+1;b.isIdentifierChar(this.input.charCodeAt(d,!0));++d);a=this.input.slice(a,d);if(!this.isKeyword(a))return!0}return!1}; a.parseStatement=function(a,b){var e=this.type,d=this.startNode(),k=void 0;this.isLet()&&(e=c.types._var,k="let");switch(e){case c.types._break:case c.types._continue:return this.parseBreakContinueStatement(d,e.keyword);case c.types._debugger:return this.parseDebuggerStatement(d);case c.types._do:return this.parseDoStatement(d);case c.types._for:return this.parseForStatement(d);case c.types._function:return!a&&6<=this.options.ecmaVersion&&this.unexpected(),this.parseFunctionStatement(d);case c.types._class:return a|| this.unexpected(),this.parseClass(d,!0);case c.types._if:return this.parseIfStatement(d);case c.types._return:return this.parseReturnStatement(d);case c.types._switch:return this.parseSwitchStatement(d);case c.types._throw:return this.parseThrowStatement(d);case c.types._try:return this.parseTryStatement(d);case c.types._const:case c.types._var:return k=k||this.value,a||"var"==k||this.unexpected(),this.parseVarStatement(d,k);case c.types._while:return this.parseWhileStatement(d);case c.types._with:return this.parseWithStatement(d); case c.types.braceL:return this.parseBlock();case c.types.semi:return this.parseEmptyStatement(d);case c.types._export:case c.types._import:return this.options.allowImportExportEverywhere||(b||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),e===c.types._import?this.parseImport(d):this.parseExport(d);default:var k=this.value,m=this.parseExpression();return e===c.types.name&& "Identifier"===m.type&&this.eat(c.types.colon)?this.parseLabeledStatement(d,k,m):this.parseExpressionStatement(d,m)}};a.parseBreakContinueStatement=function(a,b){var e="break"==b;this.next();this.eat(c.types.semi)||this.insertSemicolon()?a.label=null:this.type!==c.types.name?this.unexpected():(a.label=this.parseIdent(),this.semicolon());for(var d=0;d=a)return String.fromCharCode(a);a-=65536;return String.fromCharCode((a>>10)+55296,(a&1023)+56320)}f.__esModule=!0;var b=a("./identifier"),d=a("./tokentype");l=a("./state");var h=a("./locutil"),n=a("./whitespace"),e=function k(a){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");this.type=a.type;this.value=a.value;this.start=a.start;this.end=a.end;a.options.locations&&(this.loc= new h.SourceLocation(a,a.startLoc,a.endLoc));a.options.ranges&&(this.range=[a.start,a.end])};f.Token=e;a=l.Parser.prototype;var m="object"==typeof Packages&&"[object JavaPackage]"==Object.prototype.toString.call(Packages);a.next=function(){if(this.options.onToken)this.options.onToken(new e(this));this.lastTokEnd=this.end;this.lastTokStart=this.start;this.lastTokEndLoc=this.endLoc;this.lastTokStartLoc=this.startLoc;this.nextToken()};a.getToken=function(){this.next();return new e(this)};"undefined"!== typeof Symbol&&(a[Symbol.iterator]=function(){var a=this;return{next:function(){var b=a.getToken();return{done:b.type===d.types.eof,value:b}}}});a.setStrict=function(a){this.strict=a;if(this.type===d.types.num||this.type===d.types.string){this.pos=this.start;if(this.options.locations)for(;this.pos=this.input.length)return this.finishToken(d.types.eof);if(a.override)return a.override(this);this.readToken(this.fullCharCodeAtPos())};a.readToken=function(a){return b.isIdentifierStart(a,6<=this.options.ecmaVersion)||92===a?this.readWord():this.getTokenFromCode(a)};a.fullCharCodeAtPos=function(){var a=this.input.charCodeAt(this.pos);if(55295>=a||57344<= a)return a;var b=this.input.charCodeAt(this.pos+1);return(a<<10)+b-56613888};a.skipBlockComment=function(){var a=this.options.onComment&&this.curPosition(),b=this.pos,c=this.input.indexOf("*/",this.pos+=2);-1===c&&this.raise(this.pos-2,"Unterminated comment");this.pos=c+2;if(this.options.locations){n.lineBreakG.lastIndex=b;for(var d=void 0;(d=n.lineBreakG.exec(this.input))&&d.indexa||5760<=a&&n.nonASCIIwhitespace.test(String.fromCharCode(a)))++this.pos;else break a}}};a.finishToken=function(a,b){this.end=this.pos;this.options.locations&& (this.endLoc=this.curPosition());var c=this.type;this.type=a;this.value=b;this.updateContext(c)};a.readToken_dot=function(){var a=this.input.charCodeAt(this.pos+1);if(48<=a&&57>=a)return this.readNumber(!0);var b=this.input.charCodeAt(this.pos+2);if(6<=this.options.ecmaVersion&&46===a&&46===b)return this.pos+=3,this.finishToken(d.types.ellipsis);++this.pos;return this.finishToken(d.types.dot)};a.readToken_slash=function(){var a=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos, this.readRegexp()):61===a?this.finishOp(d.types.assign,2):this.finishOp(d.types.slash,1)};a.readToken_mult_modulo_exp=function(a){var b=this.input.charCodeAt(this.pos+1),c=1;a=42===a?d.types.star:d.types.modulo;7<=this.options.ecmaVersion&&42===b&&(++c,a=d.types.starstar,b=this.input.charCodeAt(this.pos+2));return 61===b?this.finishOp(d.types.assign,c+1):this.finishOp(a,c)};a.readToken_pipe_amp=function(a){var b=this.input.charCodeAt(this.pos+1);return b===a?this.finishOp(124===a?d.types.logicalOR: d.types.logicalAND,2):61===b?this.finishOp(d.types.assign,2):this.finishOp(124===a?d.types.bitwiseOR:d.types.bitwiseAND,1)};a.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(d.types.assign,2):this.finishOp(d.types.bitwiseXOR,1)};a.readToken_plus_min=function(a){var b=this.input.charCodeAt(this.pos+1);return b===a?45==b&&62==this.input.charCodeAt(this.pos+2)&&n.lineBreak.test(this.input.slice(this.lastTokEnd,this.pos))?(this.skipLineComment(3),this.skipSpace(), this.nextToken()):this.finishOp(d.types.incDec,2):61===b?this.finishOp(d.types.assign,2):this.finishOp(d.types.plusMin,1)};a.readToken_lt_gt=function(a){var b=this.input.charCodeAt(this.pos+1),c=1;if(b===a)return c=62===a&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+c)?this.finishOp(d.types.assign,c+1):this.finishOp(d.types.bitShift,c);if(33==b&&60==a&&45==this.input.charCodeAt(this.pos+2)&&45==this.input.charCodeAt(this.pos+3))return this.inModule&&this.unexpected(), this.skipLineComment(4),this.skipSpace(),this.nextToken();61===b&&(c=2);return this.finishOp(d.types.relational,c)};a.readToken_eq_excl=function(a){var b=this.input.charCodeAt(this.pos+1);return 61===b?this.finishOp(d.types.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===a&&62===b&&6<=this.options.ecmaVersion?(this.pos+=2,this.finishToken(d.types.arrow)):this.finishOp(61===a?d.types.eq:d.types.prefix,1)};a.getTokenFromCode=function(a){switch(a){case 46:return this.readToken_dot();case 40:return++this.pos, this.finishToken(d.types.parenL);case 41:return++this.pos,this.finishToken(d.types.parenR);case 59:return++this.pos,this.finishToken(d.types.semi);case 44:return++this.pos,this.finishToken(d.types.comma);case 91:return++this.pos,this.finishToken(d.types.bracketL);case 93:return++this.pos,this.finishToken(d.types.bracketR);case 123:return++this.pos,this.finishToken(d.types.braceL);case 125:return++this.pos,this.finishToken(d.types.braceR);case 58:return++this.pos,this.finishToken(d.types.colon);case 63:return++this.pos, this.finishToken(d.types.question);case 96:if(6>this.options.ecmaVersion)break;++this.pos;return this.finishToken(d.types.backQuote);case 48:a=this.input.charCodeAt(this.pos+1);if(120===a||88===a)return this.readRadixNumber(16);if(6<=this.options.ecmaVersion){if(111===a||79===a)return this.readRadixNumber(8);if(98===a||66===a)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(a);case 47:return this.readToken_slash(); case 37:case 42:return this.readToken_mult_modulo_exp(a);case 124:case 38:return this.readToken_pipe_amp(a);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(a);case 60:case 62:return this.readToken_lt_gt(a);case 61:case 33:return this.readToken_eq_excl(a);case 126:return this.finishOp(d.types.prefix,1)}this.raise(this.pos,"Unexpected character '"+g(a)+"'")};a.finishOp=function(a,b){var c=this.input.slice(this.pos,this.pos+b);this.pos+=b;return this.finishToken(a, c)};var p=!!c("\uffff","u");a.readRegexp=function(){for(var a=this,b=void 0,e=void 0,f=this.pos;;){this.pos>=this.input.length&&this.raise(f,"Unterminated regular expression");var g=this.input.charAt(this.pos);n.lineBreak.test(g)&&this.raise(f,"Unterminated regular expression");if(b)b=!1;else{if("["===g)e=!0;else if("]"===g&&e)e=!1;else if("/"===g&&!e)break;b="\\"===g}++this.pos}b=this.input.slice(f,this.pos);++this.pos;e=this.readWord1();g=b;if(e){var h=/^[gim]*$/;6<=this.options.ecmaVersion&&(h= /^[gimuy]*$/);h.test(e)||this.raise(f,"Invalid regular expression flag");0<=e.indexOf("u")&&!p&&(g=g.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(b,c,d){c=Number("0x"+c);1114111=k?k-48:Infinity;if(k>=a)break;++this.pos;d=d*a+k}return this.pos===c||null!=b&&this.pos-c!==b?null:d};a.readRadixNumber=function(a){this.pos+=2;var c=this.readInt(a);null==c&&this.raise(this.start+2,"Expected number in radix "+a);b.isIdentifierStart(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");return this.finishToken(d.types.num,c)};a.readNumber=function(a){var c=this.pos,e=!1,f=48===this.input.charCodeAt(this.pos);a|| null!==this.readInt(10)||this.raise(c,"Invalid number");a=this.input.charCodeAt(this.pos);46===a&&(++this.pos,this.readInt(10),e=!0,a=this.input.charCodeAt(this.pos));if(69===a||101===a)a=this.input.charCodeAt(++this.pos),43!==a&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(c,"Invalid number"),e=!0;b.isIdentifierStart(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");a=this.input.slice(c,this.pos);var k=void 0;e?k=parseFloat(a):f&&1!==a.length?/[89]/.test(a)|| this.strict?this.raise(c,"Invalid number"):k=parseInt(a,8):k=parseInt(a,10);return this.finishToken(d.types.num,k)};a.readCodePoint=function(){if(123===this.input.charCodeAt(this.pos)){6>this.options.ecmaVersion&&this.unexpected();var a=++this.pos;var b=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos);++this.pos;1114111=this.input.length&&this.raise(this.start, "Unterminated string constant");var e=this.input.charCodeAt(this.pos);if(e===a)break;92===e?(b+=this.input.slice(c,this.pos),b+=this.readEscapedChar(!1),c=this.pos):(n.isNewLine(e)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}b+=this.input.slice(c,this.pos++);return this.finishToken(d.types.string,b)};a.readTmplToken=function(){for(var a="",b=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var c=this.input.charCodeAt(this.pos);if(96=== c||36===c&&123===this.input.charCodeAt(this.pos+1)){if(this.pos===this.start&&this.type===d.types.template){if(36===c)return this.pos+=2,this.finishToken(d.types.dollarBraceL);++this.pos;return this.finishToken(d.types.backQuote)}a+=this.input.slice(b,this.pos);return this.finishToken(d.types.template,a)}if(92===c)a+=this.input.slice(b,this.pos),a+=this.readEscapedChar(!0),b=this.pos;else if(n.isNewLine(c)){a+=this.input.slice(b,this.pos);++this.pos;switch(c){case 13:10===this.input.charCodeAt(this.pos)&& ++this.pos;case 10:a+="\n";break;default:a+=String.fromCharCode(c)}this.options.locations&&(++this.curLine,this.lineStart=this.pos);b=this.pos}else++this.pos}};a.readEscapedChar=function(a){var b=this.input.charCodeAt(++this.pos);++this.pos;switch(b){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return g(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\x0B";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&& ++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";default:if(48<=b&&55>=b){var b=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],c=parseInt(b,8);255=f?1:2;else if(92===f)this.containsEsc=!0,a+=this.input.slice(d,this.pos),d=this.pos,117!=this.input.charCodeAt(++this.pos)&&this.raise(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos,f=this.readCodePoint(),(c?b.isIdentifierStart:b.isIdentifierChar)(f,e)||this.raise(d, "Invalid Unicode escape"),a+=g(f),d=this.pos;else break;c=!1}return a+this.input.slice(d,this.pos)};a.readWord=function(){var a=this.readWord1(),b=d.types.name;(6<=this.options.ecmaVersion||!this.containsEsc)&&this.keywords.test(a)&&(b=d.keywords[a]);return this.finishToken(b,a)}},{"./identifier":2,"./locutil":5,"./state":10,"./tokentype":14,"./whitespace":16}],14:[function(a,l,f){function c(a,c){return new b(a,{beforeExpr:!0,binop:c})}function g(a){var c=1>=arguments.length||void 0===arguments[1]? {}:arguments[1];c.keyword=a;h[a]=d["_"+a]=new b(a,c)}f.__esModule=!0;var b=function e(a){var b=1>=arguments.length||void 0===arguments[1]?{}:arguments[1];if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.label=a;this.keyword=b.keyword;this.beforeExpr=!!b.beforeExpr;this.startsExpr=!!b.startsExpr;this.isLoop=!!b.isLoop;this.isAssign=!!b.isAssign;this.prefix=!!b.prefix;this.postfix=!!b.postfix;this.binop=b.binop||null;this.updateContext=null};f.TokenType=b;a={beforeExpr:!0}; l={startsExpr:!0};var d={num:new b("num",l),regexp:new b("regexp",l),string:new b("string",l),name:new b("name",l),eof:new b("eof"),bracketL:new b("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new b("]"),braceL:new b("{",{beforeExpr:!0,startsExpr:!0}),braceR:new b("}"),parenL:new b("(",{beforeExpr:!0,startsExpr:!0}),parenR:new b(")"),comma:new b(",",a),semi:new b(";",a),colon:new b(":",a),dot:new b("."),question:new b("?",a),arrow:new b("=>",a),template:new b("template"),ellipsis:new b("...",a),backQuote:new b("`", l),dollarBraceL:new b("${",{beforeExpr:!0,startsExpr:!0}),eq:new b("=",{beforeExpr:!0,isAssign:!0}),assign:new b("_=",{beforeExpr:!0,isAssign:!0}),incDec:new b("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new b("prefix",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:c("||",1),logicalAND:c("&&",2),bitwiseOR:c("|",3),bitwiseXOR:c("^",4),bitwiseAND:c("&",5),equality:c("==/!=",6),relational:c("",7),bitShift:c("<>",8),plusMin:new b("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}), modulo:c("%",10),star:c("*",10),slash:c("/",10),starstar:new b("**",{beforeExpr:!0})};f.types=d;var h={};f.keywords=h;g("break");g("case",a);g("catch");g("continue");g("debugger");g("default",a);g("do",{isLoop:!0,beforeExpr:!0});g("else",a);g("finally");g("for",{isLoop:!0});g("function",l);g("if");g("return",a);g("switch");g("throw",a);g("try");g("var");g("const");g("while",{isLoop:!0});g("with");g("new",{beforeExpr:!0,startsExpr:!0});g("this",l);g("super",l);g("class");g("extends",a);g("export"); g("import");g("null",l);g("true",l);g("false",l);g("in",{beforeExpr:!0,binop:7});g("instanceof",{beforeExpr:!0,binop:7});g("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0});g("void",{beforeExpr:!0,prefix:!0,startsExpr:!0});g("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},{}],15:[function(a,l,f){f.__esModule=!0;f.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)};f.has=function(a,f){return Object.prototype.hasOwnProperty.call(a,f)}},{}],16:[function(a,l,f){f.__esModule= !0;f.isNewLine=function(a){return 10===a||13===a||8232===a||8233==a};a=/\r\n?|\n|\u2028|\u2029/;f.lineBreak=a;f.lineBreakG=new RegExp(a.source,"g");f.nonASCIIwhitespace=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;f.skipWhiteSpace=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g},{}]},{},[3])(3)}); var CR3Parser=(()=>{const t=(t,e)=>{const n=(t.buf[t.pos>>3]<<24+(7&t.pos)|t.buf[t.pos+8>>3]<<16+(7&t.pos)|t.buf[t.pos+16>>3]<<8+(7&t.pos)|t.buf[t.pos+24>>3]<<(7&t.pos))>>>32-e;return t.pos+=e,n},e=t=>t.buf[t.pos>>3]>>7-(7&t.pos++)&1,n=(e,n,a)=>{let i=e.pos,s=e.buf[e.pos>>3]<<24+(7&e.pos)>>>24;if(!s)for(e.pos+=8-(7&e.pos);!(s=e.buf[e.pos>>3]);e.pos+=8);e.pos+=Math.clz32(s)-23;const r=e.pos-i-1;return r>=n?t(e,a):e.k?r<{let a=t;return e>>>t>2&&++a,e>>>t>5&&++a,e<1<>>1&&--a,Math.min(a,n)},i=t=>-(1&t)^t>>>1,s=new Uint8Array([40,45,51,57,64,72]),r=t=>t>=36?s[t%6]<>6-Math.floor(t/6),o=(t,e)=>{if(!t.qp)return[];const s={buf:e.subarray(t.offset),pos:0,k:0,s:0},o=(t.planeWidth>>3)+ +(!0&t.planeWidth),l=(t.planeHeight>>1)+(1&t.planeHeight),f=new Int32Array(l*o);let h=0;for(let t=0;t>>1,7),f[e+t]=h=o+i(l)}const b=g<0==c>3)+ +(!0&t.planeHeight),b=(t.planeHeight>>2)+ +(!0&t.planeHeight),d=(l-1)*o,w=[];switch(t.wavelets){case 3:{const e=new Int32Array(g*o);for(let n=0;n>3;++n){const t=n*o,a=(n<<2)*o,i=a+o,s=i+o,l=s+o;for(let n=0;n>2)}}if(!0&t.planeHeight){const n=(t.planeHeight>>3)*o,a=(-4&l)*o,i=Math.min(a+o,d),s=Math.min(i+o,d),h=d;for(let t=0;t>2)}}w.push(e)}case 2:{const e=new Int32Array(b*o);for(let n=0;n>2;++n){const t=n*o,a=(n<<1)*o,i=a+o;for(let n=0;n>1)}if(!0&t.planeHeight){const n=(t.planeHeight>>2)*o,a=(-2&l)*o,i=d;for(let t=0;t>1)}w.push(e)}case 1:{const t=l*o;for(let e=0;e{let i=a-1;for(;i&&e(n);)i-=f[n.s],i<0?i=0:n.s<31&&++n.s;return i&&(l[n.s]&&(i-=t(n,l[n.s])),n.s&&--n.s),a-i},p=(t,s,r,o,l,f,p)=>{r[0]=0;let c=1;if(o)if(f)for(;cl)break}s=0}const o=n(t,41,21);t.k=a(t.k,o,15);const u=i(o);r[c]=s+(u<>31)}else for(;cl)break}const o=n(t,41,21);t.k=a(t.k,o,15),r[c]=s+i(o)}else for(;cl)break}o=1}const f=n(t,41,21);s[c-1]=t.k=a(t.k,f,15),r[c]=i(f+o)}if(c==l){const e=r[c-1],l=n(t,41,21);s[c-1]=t.k=a(t.k,l,15);const h=i(l);r[c++]=(o&&(!f||Math.abs(e)<=p)?e:0)+(o&&f?(h<>31):h)}r[c]=o?r[c-1]+1:0},c=(t,s,r,o,l,f,p)=>{let c=1,u=0;if(o)if(f){r[0]=s[1];let o=!1,g=r[0],b=g,d=g,w=0;for(;cp&&(o=!0)||(o||Math.abs(d-g)>p)&&!(o=!1)){let t=g,e=b;g>b&&(t=b,e=g),m=d>=e?t:d<=t?e:g+b-d}else{if(e(t)){const e=c+h(t,l-c+1);for(;c=l){u=1;break}b=s[c],d=s[c-1],w=s[c+1]}o=Math.abs(w-b)>p}const y=n(t,41,21);t.k=a(t.k,y+(Math.abs(w>b?w-b+p-1>>f:-(w-b+p>>f))<<1)>>>1,15);const v=i(y);g=r[c]=m+(v<>31),d=b,b=w}}else{r[0]=s[1];let o=r[0],f=o,p=s[0],g=0;for(;c=l){u=1;break}f=s[c],p=s[c-1],g=s[c+1]}b=f}else{let t=o,e=f;o>f&&(t=f,e=o),b=p>=e?t:p<=t?e:o+f-p}const d=n(t,41,21);t.k=a(t.k,d+Math.abs(g-f<<1)>>>1,15),o=r[c]=b+i(d),p=f,f=g}}else{r[0]=0;let o=0,f=s[1],p=0;for(;c=l){u=1;break}f=s[c],p=s[c+1]}g=1}const b=n(t,41,21);let d=a(t.k,b,15);r[c]-d>1&&++d,t.k=s[c-1]=d,o=r[c]=i(b+g),f=p}}if(c==l){let e=0;if(o){let t=e=s[c];if(!u){let n=r[c-1],a=s[c-1],i=n,o=t;n>t&&(i=t,o=n),e=a>=o?i:a<=i?o:n+t-a}}const l=n(t,41,21),h=i(o?l:l+u);s[c-1]=t.k=a(t.k,l,15),r[c++]=e+(o&&f?(h<>31):h)}o&&(r[c]=r[c-1]+1)},u=(t,e,s,o,l,f,h,p)=>{const c=l.width,u=l.height,g=l.xs,b=l.xe,d=l.ys,w=l.ye,m=p[h];if(l.partial&&!m){const t=n(e,23,8);l.qParam+=i(t),e.k=a(e.k,t,7)}let y=0;if(m){const e=(+(!0&f)+(f>>3))*(o>3),1474560),1);for(;y>h)]>>3);s[y]=Math.max(Math.min(i,1474560),1)*t[y+1]}const p=Math.max(Math.min(n+(a*m[e+(y-g>>h)]>>3)));for(;y{let s=1,r=0,o=0,l=e[0],f=n[0]=t[0]-(l+(a.left?l=e[o=1]:l)+2>>2);const h=i-2;for(;s>2);n[s]=l+(i+f>>1),n[s+1]=f=i,l=a}if(a.right||1&i){const o=t[r+1]-(l+(a.right?e[s+1]:l)+2>>2);n[s]=l+(o+f>>1),1&i&&(n[s+1]=o)}else n[s]=l+f},b=(t,e,n,a)=>{const i=(i,s,r)=>{const o=e.bandState[i],l=o.prevLineBuf;o.prevLineBuf=o.lineBuf,o.lineBuf=l,r?c(o.state,o.prevLineBuf,o.lineBuf,o.partial,o.w,o.rb,o.rbm):p(o.state,o.prevLineBuf,o.lineBuf,o.partial,o.w,o.rb,o.rbm),u(o.lineBuf,o.state,s,r,e.plane.bands[i],t.planeWidth,a,n)},s=3*a,r=a>2}else for(let t=0;t>1},d=(t,e,n,a,i)=>{const s=(s,r,o)=>{const l=n.bandState[s],f=l.prevLineBuf;l.prevLineBuf=l.lineBuf,l.lineBuf=f,c(l.state,l.prevLineBuf,l.lineBuf,l.partial,l.w,l.rb,l.rbm),u(l.lineBuf,l.state,r,e+1+o,n.plane.bands[s],t.planeWidth,i,a)},r=3*i,o=io-4&&!t.below;if(m&&!(1&o)){for(let t=0;t>1,n,a,i-1),y=n.out[i-1<<1]):s(0,y,0),s(r+1,w,0),g(y,w,p,t,l),m)for(let t=0;t>1)+b[t]>>1);else{y=n.tmpL,s(r+2,y,+t.above),s(r+3,w,+t.above),g(y,w,h,t,l);for(let t=0;t>2)+b[t]>>1)}n.out[i<<1]=b,n.out[1+(i<<1)]=p,n.nextH[i]=h,n.curH[i]=f},w=(t,e,n,a,i,s,r,o)=>{const{left:l,top:f,width:h,height:p}=n;if(0==e.encType){const n=1<=p))for(let i=0;i<2;++i){const s=o[2*e+i],f=u*h+a+i-l,p=Math.min(l-a+h+1-i>>1,r);for(let e=Math.max(l-a+1-i>>1,0);e=p)return;const g=Math.max(l-a+1>>1,0),b=Math.min(l-a+h+1>>1,r),d=o[0],w=o[1],m=o[2],y=o[3];let v=u*h+a-l;if(-1==u||u==p-1){const e=-1==u;for(let a=g;a>9&-2):f+512>>9&-2,e?(t[l+h]=Math.min(Math.max(f-r+1>>1,0),c),t[l+h+1]=Math.min(Math.max(n+(i<<10)+1927*s+512>>10,0),c)):(t[l]=Math.min(Math.max(n+(i<<10)+1510*o+512>>10,0),c),t[l+1]=Math.min(Math.max(r+f+1>>1,0),c))}}else for(let e=g;e>9&-2):l+512>>9&-2,t[o]=Math.min(Math.max(n+(a<<10)+1510*r+512>>10,0),c),t[o+1]=Math.min(Math.max(s+l+1>>1,0),c),t[o+h]=Math.min(Math.max(l-s+1>>1,0),c),t[o+h+1]=Math.min(Math.max(n+(a<<10)+1927*i+512>>10,0),c)}}},m=new Uint8Array([1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,1,0,1,0,0,0,1,2,2,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,1,0,0,0,1,2,2,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,0,1,0,1,2,2,2,2,1,1,1,1,2,2,1,1,1,1,2,2,1,1,0,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1]),y=(t,e,n,a)=>{const i=Math.ceil(t.width/t.tileWidth),s=Math.ceil(t.height/t.tileHeight),r=[],l=new DataView(e.buffer,e.byteOffset,t.headerSize);let f=0;for(let e=0,n=0;n>1,k=v>>1,B=[];let U=0;for(let n=0;n>4)throw new Error("invalid plane index");const r=s>>3&1,o=s>>1&3;e+=a+4;const f=48*(t.wavelets-1)+6*(7&M),h=48*(t.wavelets-1)+6*(7&k),p=[];let c=0;const u=(t,n,a,i,s,r,o)=>{const f=l.getUint16(e);if(65299!=(16|f))throw new Error("invalid subband header");const h=l.getUint16(e+2),u=l.getInt32(e+4),g=l.getUint16(e+8);if(t!=g>>12)throw new Error("invalid subband index");if(65283==f){const t=g>>11&1,e=g>>3&255;p.push({offset:c,partial:1==t,qParam:e,qBase:0,qMulti:0,width:n,height:a,xs:i,xe:s,ys:r,ye:o})}else{const t=l.getUint16(e+10),f=l.getInt32(e+12);p.push({offset:c,partial:!1,qParam:0,qBase:f,qMulti:t,width:n,height:a,xs:i,xe:s,ys:r,ye:o})}c+=u,e+=h+4};if(t.wavelets)for(let e=t.wavelets;e>0;--e){const n=M+(1<>e-1,a=k+(1<>e-1,i=1&n,s=1&a,r=n+1>>1,o=a+1>>1,l=f+(e<<1)-2,p=h+(e<<1)-2;let c=+d,y=+g,v=w?m[l]:0,B=b?m[p]:0,U=w?m[l+1]:0,x=b?m[p+1]:0;e==t.wavelets&&u(0,r+U,o+x,0,U,0,x);for(let n=0;n<3;++n)u(3*(t.wavelets-e)+n+1,1&n?r+U:r+c+v-i,n?o+y+B-s:o+x,1&n?0:c,1&n?U:v,n?y:0,n?B:x)}else u(0,M,k,0,0,0,0);B.push({offset:U,partial:1==r,roundedBits:o,bands:p}),U+=i}r.push({offset:f,above:g,below:b,left:d,right:w,qp:p,qpSize:c,qpPad:u,width:y,height:v,planeWidth:M,planeHeight:k,wavelets:t.wavelets,x:a*t.tileWidth,y:n*t.tileHeight,planes:B}),f+=h}((t,e,n,a,i)=>{const s=2+(t.tileWidth>>1);if(t.wavelets){const s=t.tileWidth+14>>2,r=s<<1,l=14*(t.tileWidth>>1)+22*t.wavelets,f=new Int32Array(r+t.planes*l),h=f.subarray(0,s),p=f.subarray(s,r);for(const s of e){const e=o(s,n),c=s.planeHeight-1>>1,u=s.planes.map((a,i)=>{let o=r+i*l;const c=[],u=[],g=[];for(let e=t.wavelets-1;e>=0;--e){const t=3+(s.planeWidth>>e);c.push(f.subarray(o,o+=t)),u.push(f.subarray(o,o+=t)),g.push(f.subarray(o,o+=t),f.subarray(o,o+=t))}const d=a.bands.map((t,e)=>{const i=t.width+2,r=a.roundedBits,l=1<e.out[(t.wavelets<<1)-1]));for(let n=0;ne.out[t.wavelets-1<<1])),2+(n<<1)e.out[(t.wavelets<<1)-1]))}}}else{const r=new Int32Array(t.planes*s<<1);for(const o of e){const e=o.planes.map((t,e)=>{const a=t.bands[0],i=t.partial,l={buf:n.subarray(o.offset+t.offset+a.offset),pos:0,k:0,s:0},f=(e<<1)*s,h=r.subarray(f,f+s),c=r.subarray(f+s,f+(s<<1)),u=t.roundedBits,g=1<t.lineBuf.subarray(1,-1)));for(let n=1;nt.lineBuf.subarray(1,-1)))}}}})(t,r,new Uint8Array(e.buffer,e.byteOffset+t.headerSize,e.byteLength-t.headerSize),n,a)},v=t=>{const e={};for(let n=0;n{const e={},n=[],a=v(v(v(v(t).mdia[0]).minf[0]).stbl[0]),i=a.stsz[0],s=a.co64[0],r=Math.min(i.getInt32(8),s.getInt32(4)),o=i.getInt32(4);for(let t=0;t>4;const a=t.getUint8(25);if(e.planes=a>>4,4!=e.planes)throw new TypeError("expected 4 planes");switch(15&a){case 0:e.layout="rggb";break;case 1:e.layout="grbg";break;case 2:e.layout="gbrg";break;case 3:e.layout="bggr"}e.bitDepth=t.getUint8(24),e.medianBits=e.bitDepth,e.headerSize=t.getInt32(28);if(t.getUint8(32)>>7){t.getUint8(56)>>6&1&&(e.medianBits=t.getUint8(84))}const i=p.CDI1[0],s=v(new DataView(i.buffer,i.byteOffset+4,i.byteLength-4)).IAD1[0],r=s.getUint16(10);e.type=2==r?"big":0==r?"small":"unknown",e.fullCrop={left:0,top:0,width:e.width,height:e.height},e.recommendedCrop={left:s.getUint16(16),top:s.getUint16(18)},e.recommendedCrop.width=s.getUint16(20)-e.recommendedCrop.left+1,e.recommendedCrop.height=s.getUint16(22)-e.recommendedCrop.top+1,"big"==e.type&&(e.activeArea={left:s.getUint16(40),top:s.getUint16(42)},e.activeArea.width=Math.min(s.getUint16(44)-1,e.width)-e.activeArea.left,e.activeArea.height=Math.min(s.getUint16(46)-1,e.width)-e.activeArea.top)}else e.type="unknown";return{meta:e,samples:n}}).filter(t=>t)}getTrack(t="big"){return this.tracks.find(e=>e.meta.type==t)}extractCFA(t=this.getTrack("big"),e=0,n=t.meta.fullCrop,a=new Uint16Array(n.width*n.height)){if("big"!=t.meta.type&&"small"!=t.meta.type)throw new TypeError("expected raw track");const i=t.samples[e],s=new Uint8Array(this.src.buffer,this.src.byteOffset+i.offset,i.size);return y(t.meta,s,a,n),a}}})() var UPNG=function(){var H={nextZero:function(c,R){while(c[R]!=0)R++;return R},readUshort:function(c,R){return c[R]<<8|c[R+1]},writeUshort:function(c,R,a){c[R]=a>>8&255; c[R+1]=a&255},readUint:function(c,R){return c[R]*(256*256*256)+(c[R+1]<<16|c[R+2]<<8|c[R+3])},writeUint:function(c,R,a){c[R]=a>>24&255; c[R+1]=a>>16&255;c[R+2]=a>>8&255;c[R+3]=a&255},readASCII:function(c,R,a){var _="";for(var d=0;d>3)]>>7-((u&7)<<0)&1,x=3*B; v[l]=h[x];v[l+1]=h[x+1];v[l+2]=h[x+2];v[l+3]=B>2)]>>6-((u&3)<<1)&3,x=3*B;v[l]=h[x];v[l+1]=h[x+1];v[l+2]=h[x+2]; v[l+3]=B>1)]>>4-((u&1)<<2)&15,x=3*B; v[l]=h[x];v[l+1]=h[x+1];v[l+2]=h[x+2];v[l+3]=B>>3)]>>>7-(T&7)&1),m=g==o*255?0:255;L[I+T]=m<<24|g<<16|g<<8|g}else if(t==2)for(var T=0; T>>2)]>>>6-((T&3)<<1)&3),m=g==o*85?0:255;L[I+T]=m<<24|g<<16|g<<8|g}else if(t==4)for(var T=0; T>>1)]>>>4-((T&1)<<2)&15),m=g==o*17?0:255;L[I+T]=m<<24|g<<16|g<<8|g}else if(t==8)for(var T=0; T>1,A=Z[V+1],U=b<<4|A,B=p-A,x=Z[V]<>>15-p;l[g]=U;x++}}}function a(Z,p){var l=c.i,h=15-p;for(var F=0;F>>h}}(function(){var Z=1<<15;for(var p=0;p>>1|(l&1431655765)<<1; l=(l&3435973836)>>>2|(l&858993459)<<2;l=(l&4042322160)>>>4|(l&252645135)<<4;l=(l&4278255360)>>>8|(l&16711935)<<8; c.i[p]=(l>>>16|l<<16)>>>17}function h(F,V,b){while(V--!=0)F.push(0,b)}for(var p=0;p<32;p++){c.B[p]=c.o[p]<<3|c.z[p]; c.h[p]=c.p[p]<<4|c.w[p]}h(c.s,144,8);h(c.s,255-143,9);h(c.s,279-255,7);h(c.s,287-279,8);R(c.s,9);M(c.s,9,c.g); a(c.s,9);h(c.t,32,5);R(c.t,5);M(c.t,5,c.A);a(c.t,5);h(c.b,19,0);h(c.c,286,0);h(c.e,30,0);h(c.a,320,0)}()); function _(Z,p,l){return(Z[p>>>3]|Z[(p>>>3)+1]<<8)>>>(p&7)&(1<>>3]|Z[(p>>>3)+1]<<8|Z[(p>>>3)+2]<<16)>>>(p&7)&(1<>>3]|Z[(p>>>3)+1]<<8|Z[(p>>>3)+2]<<16)>>>(p&7)}function L(Z,p){return(Z[p>>>3]|Z[(p>>>3)+1]<<8|Z[(p>>>3)+2]<<16|Z[(p>>>3)+3]<<24)>>>(p&7)}function D(Z,p){var l=Uint8Array,h=0,F=0,V=0,b=0,A=0,U=0,B=0,x=0,K=0,g,E; if(Z[0]==3&&Z[1]==0)return p?p:new l(0);var I=p==null;if(I)p=new l(Z.length>>>2<<3);while(h==0){h=N(Z,K,1); F=N(Z,K+1,2);K+=3;if(F==0){if((K&7)!=0)K+=8-(K&7);var T=(K>>>3)+4,m=Z[T-4]|Z[T-3]<<8;if(I)p=t(p,x+m); p.set(new l(Z.buffer,Z.byteOffset+T,m),x);K=T+m<<3;x+=m;continue}if(I)p=t(p,x+(1<<17));if(F==1){g=c.g; E=c.A;U=(1<<9)-1;B=(1<<5)-1}if(F==2){V=_(Z,K,5)+257;b=_(Z,K+5,5)+1;A=_(Z,K+10,4)+4;K+=14;var i=K,j=1; for(var O=0;O<38;O+=2){c.b[O]=0;c.b[O+1]=0}for(var O=0;Oj)j=e}K+=3*A;R(c.b,j);M(c.b,j,c.C);g=c.k;E=c.n;K=P(c.C,(1<>>4;if(f>>>8==0){p[x++]=f}else if(f==256){break}else{var n=x+f-254;if(f>264){var q=c.B[f-257]; n=x+(q>>>3)+_(Z,K,q&7);K+=q&7}var S=E[v(Z,K)&B];K+=S&15;var G=S>>>4,$=c.h[G],y=($>>>4)+N(Z,K,$&15);K+=$&15; if(I)p=t(p,x+(1<<17));while(x>>4;if(U<=15){V[b]=U;b++}else{var B=0,x=0;if(U==16){x=3+_(h,F,2); F+=2;B=V[b-1]}else if(U==17){x=3+_(h,F,3);F+=3}else if(U==18){x=11+_(h,F,7);F+=7}var K=b+x;while(b>>1;while(VF)F=A;V++}while(V>3,d=Math.ceil(M*_/8),v=new Uint8Array(a*d),L=0,D=[0,0,4,0,2,0,1],t=[0,4,0,2,0,1,0],P=[8,8,8,4,4,2,2],J=[8,8,4,4,2,2,1],Q=0; while(Q<7){var u=P[Q],k=J[Q],Z=0,o=0,p=D[Q],h=0;while(p>3];A=A>>7-(b&7)&1; v[F*d+(V>>3)]|=A<<7-((V&7)<<0)}if(_==2){var A=c[b>>3];A=A>>6-(b&7)&3;v[F*d+(V>>2)]|=A<<6-((V&3)<<1)}if(_==4){var A=c[b>>3]; A=A>>4-(b&7)&15;v[F*d+(V>>1)]|=A<<4-((V&1)<<2)}if(_>=8){var U=F*d+V*N;for(var B=0;B>3)+B]}b+=_; V+=k}h++;F+=u}if(Z*o!=0)L+=o*(1+l);Q=Q+1}return v}function ai(c){var R=[1,null,3,1,2,null,4][c.ctype]; return R*c.depth}function ad(c,R,M,a,_){var N=ai(R),d=Math.ceil(a*N/8),v,L,t=0;N=Math.ceil(N/8);var D=c[M]; if(D>1)c[M]=[0,0,1][D-2];if(D==3)for(t=N;t>>1)&255;for(var P=0;P<_;P++){v=M+P*d; L=v+P+1;D=c[L-1];t=0;if(D==0)for(;t>>1);for(;t>>1)}else{for(;t=0&&v>=0){t=J*R+Q<<2;P=(v+J)*_+d+Q<<2}else{t=(-v+J)*R-d+Q<<2; P=J*_+Q<<2}if(L==0){a[P]=c[t];a[P+1]=c[t+1];a[P+2]=c[t+2];a[P+3]=c[t+3]}else if(L==1){var u=c[t+3]*(1/255),k=c[t]*u,Z=c[t+1]*u,o=c[t+2]*u,p=a[P+3]*(1/255),s=a[P]*p,l=a[P+1]*p,h=a[P+2]*p,F=1-u,V=u+p*F,b=V==0?0:1/V; a[P+3]=255*V;a[P+0]=(k+s*F)*b;a[P+1]=(Z+l*F)*b;a[P+2]=(o+h*F)*b}else if(L==2){var u=c[t+3],k=c[t],Z=c[t+1],o=c[t+2],p=a[P+3],s=a[P],l=a[P+1],h=a[P+2]; if(u==p&&k==s&&Z==l&&o==h){a[P]=0;a[P+1]=0;a[P+2]=0;a[P+3]=0}else{a[P]=k;a[P+1]=Z;a[P+2]=o;a[P+3]=u}}else if(L==3){var u=c[t+3],k=c[t],Z=c[t+1],o=c[t+2],p=a[P+3],s=a[P],l=a[P+1],h=a[P+2]; if(u==p&&k==s&&Z==l&&o==h)continue;if(u<220&&p>20)return!1}}return!0}return{decode:a3,toRGBA8:an,_paeth:a6,_copyTile:a8,_bin:H}}(); (function(){var H=UPNG._copyTile,an=UPNG._bin,ae=UPNG._paeth,a3={table:function(){var l=new Uint32Array(256); for(var h=0;h<256;h++){var F=h;for(var V=0;V<8;V++){if(F&1)F=3988292384^F>>>1;else F=F>>>1}l[h]=F}return l}(),update:function(l,h,F,V){for(var b=0; b>>8;return l},crc:function(l,h,F){return a3.update(4294967295,l,h,F)^4294967295}}; function a4(l,h,F,V){h[F]+=l[0]*V>>4;h[F+1]+=l[1]*V>>4;h[F+2]+=l[2]*V>>4;h[F+3]+=l[3]*V>>4}function W(l){return Math.max(0,Math.min(255,l))}function a0(l,h){var F=l[0]-h[0],V=l[1]-h[1],b=l[2]-h[2],U=l[3]-h[3]; return F*F+V*V+b*b+U*U}function as(l,h,F,V,b,U,B){if(B==null)B=1;var x=V.length,K=[],g=[],r=4;for(var E=0; E>>0&255,I>>>8&255,I>>>16&255,I>>>24&255])}for(var E=0;E>2]=m;e[E>>2]=V[m]}}}function ai(l,h,F,V,b,U,B){if(V==null)V=0; if(B==null)B=!1;var x=a8(l,h,F,V,[!1,!1,!1,0,B,!1]);ah(x,!1,V!=0);return a6(x,h,F,b,U)}function ad(l,h,F,V,b,U,B,x,K){var g={ctype:0+(V==1?0:2)+(b==0?0:4),depth:U,frames:[]},E=Date.now(),I=(V+b)*U,T=I*h; for(var m=0;m1,I=!1,T,m=8+(16+5+4)+(E?20:0),at=0; if(b.sRGB!=null)m+=8+1+4;if(b.pHYs!=null)m+=8+9+4;if(b.iCCP!=null){T=pako.deflate(b.iCCP);m+=8+11+2+T.length+4}if(b.iTXt!=null){var i=b.iTXt,j=Object.keys(i)[0],O=i[j]; m+=8+j.length+5+an.writeUTF8(O)+4}if(l.ctype==3){var e=l.plte.length;for(var C=0;C>>24!=255)I=!0; m+=8+e*3+4+(I?8+e*1+4:0)}for(var r=0;r>>8&255,w=$>>>16&255;f[g+G+0]=y;f[g+G+1]=av; f[g+G+2]=w}g+=e*3;B(f,g,U(f,g-e*3-4,e*3+4));g+=4;if(I){B(f,g,e);g+=4;K(f,g,"tRNS");g+=4;for(var C=0; C>>24&255;g+=e;B(f,g,U(f,g-e-4,e+4));g+=4}}for(var r=0;r>2,av>>2); n.push(w);var at=new Uint8Array(G.abuf,$,av);if(E)as(y.img,y.rect.width,y.rect.height,f,at,w);y.img.set(at); $+=av}}else{for(var i=0;iX&&am==ab[e-X])w[e]=w[e-X]; else{var af=Y[am];if(af==null){Y[am]=af=f.length;f.push(am);if(f.length>=300)break}w[e]=af}}}}var a9=f.length; if(a9<=256&&g==!1){if(a9<=2)T=1;else if(a9<=4)T=2;else if(a9<=16)T=4;else T=8;T=Math.max(T,K)}for(var i=0; i>1)]|=ar[a1+z]<<4-(z&1)*4; else if(T==2)for(var z=0;z>2)]|=ar[a1+z]<<6-(z&3)*2;else if(T==1)for(var z=0;z>3)]|=ar[a1+z]<<7-(z&7)*1}ac=al; I=3;ap=1}else if(C==!1&&r.length==1){var al=new Uint8Array(X*aa*3),ag=X*aa;for(var e=0;eS)S=y;if($G)G=$}}if(S==-1)n=q=S=G=0;if(b){if((n&1)==1)n--;if((q&1)==1)q--}var w=(S-n+1)*(G-q+1);if(wO)O=Y;if(fe)e=f}}if(O==-1)i=j=O=e=0;if(B){if((i&1)==1)i--;if((j&1)==1)j--}U={x:i,y:j,width:O-i+1,height:e-j+1}; var S=V[b];S.rect=U;S.blend=1;S.img=new Uint8Array(U.width*U.height*4);if(V[b-1].dispose==0){H(g,h,F,S.img,U.width,U.height,-U.x,-U.y,0); M(T,h,F,S.img,U)}else H(T,h,F,S.img,U.width,U.height,-U.x,-U.y,0)}function M(l,h,F,V,b){H(l,h,F,V,b.width,b.height,-b.x,-b.y,2)}function a(l,h,F,V,b,U,B,x){var K=[],g=[0,1,2,3,4],j,O=1e9; if(B)g=[0];else if(h*F>5e5||V==1)g=[x?0:1];var E=B?{level:0}:null,I=U.length>1e7&&window.UZIP!=null?window.UZIP:pako,T=Date.now(); for(var m=0;m>1)+256&255; if(U==4)for(var K=b;K>1)&255;for(var K=b;K>1)&255}if(U==4){for(var K=0; K>2);if(E<=60){a5(b,j,T);d(j,B,I)}else if(b.length<32e6)for(var m=0; m>2]=O.ind; B[m>>2]=O.est.rgba}else for(var m=0;m>2]=O.ind;B[m>>2]=O.est.rgba}if(F||b.length*E<10*4e6){var f=1e9; for(var m=0;m<10;m++){var n=v(b,j,T);if(n/f>.997)break;f=n}for(var m=0;m>>2,b=new Uint32Array(V*4),U=new Uint32Array(V); for(var B=0;B>>2],K=x*4;U[x]++;b[K]+=l[B];b[K+1]+=l[B+1];b[K+2]+=l[B+2];b[K+3]+=l[B+3]}for(var B=0; B>>2])}function a5(l,h,F){var V=0,b=F.length>>>2,U=[];for(var B=0; B>>2],x=T*4,O=K-F[x],e=g-F[x+1],C=E-F[x+2],r=I-F[x+3],m=O*O+e*e+C*C+r*r; if(m>U[T])for(var i=0;i>>2]=T;V+=m}return V/(l.length>>>2)}function D(l,h,F){if(F==null)F=1e-4; var V=new Uint32Array(l.buffer),b={i0:0,i1:l.length,bst:null,est:null,tdst:0,left:null,right:null};b.bst=Z(l,b.i0,b.i1); b.est=o(b.bst);var U=[b];while(U.lengthB){B=U[K].est.L; x=K}if(B=E||g.i1<=E;if(I){g.est.L=0; continue}var T={i0:g.i0,i1:E,bst:null,est:null,tdst:0,left:null,right:null};T.bst=Z(l,T.i0,T.i1);T.est=o(T.bst); var m={i0:E,i1:g.i1,bst:null,est:null,tdst:0,left:null,right:null};m.bst={R:[],m:[],N:g.bst.N-T.bst.N}; for(var K=0;K<16;K++)m.bst.R[K]=g.bst.R[K]-T.bst.R[K];for(var K=0;K<4;K++)m.bst.m[K]=g.bst.m[K]-T.bst.m[K]; m.est=o(m.bst);g.left=T;g.right=m;U[x]=T;U.push(m)}U.sort(function(i,j){return j.bst.N-i.bst.N});for(var K=0; K0){B=l.right;x=l.left}var K=t(B,h,F,V,b);if(K.tdst<=U*U)return K; var g=t(x,h,F,V,b);return g.tdstU)V-=4; if(F>=V)break;var x=h[F>>2];h[F>>2]=h[V>>2];h[V>>2]=x;F+=4;V-=4}while(u(l,F,b)>U)F-=4;return F+4}function u(l,h,F){return l[h]*F[0]+l[h+1]*F[1]+l[h+2]*F[2]+l[h+3]*F[3]}function Z(l,h,F){var V=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],b=[0,0,0,0],W=F-h>>2; for(var U=h;U>>0}}var p={multVec:function(l,h){return[l[0]*h[0]+l[1]*h[1]+l[2]*h[2]+l[3]*h[3],l[4]*h[0]+l[5]*h[1]+l[6]*h[2]+l[7]*h[3],l[8]*h[0]+l[9]*h[1]+l[10]*h[2]+l[11]*h[3],l[12]*h[0]+l[13]*h[1]+l[14]*h[2]+l[15]*h[3]]},dot:function(l,h){return l[0]*h[0]+l[1]*h[1]+l[2]*h[2]+l[3]*h[3]},sml:function(l,h){return[l*h[0],l*h[1],l*h[2],l*h[3]]}}; function s(l){var h=0,b=0;for(var F=0;F_)w.push(6/7*$+1/7*_,5/7*$+2/7*_,4/7*$+3/7*_,3/7*$+4/7*_,2/7*$+5/7*_,1/7*$+6/7*_); else w.push(4/5*$+1/5*_,3/5*$+2/5*_,2/5*$+3/5*_,1/5*$+4/5*_,0,255);return w}function W($,_,w,m,h){var e=d($[_],$[_+1]); w.b+=16;for(var A=0;A<64;A+=4){var j=aj($,w,3);m[A+h]=e[j]}}function a4($,_,w,m,h){var e={b:_*8},A=new Uint8Array(4*4*4); A.fill(255);for(var j=0;j>8;m[h+2]=Y>>16;h+=3}Z(m,h,e,!0);h+=8}return h}var T=new Uint8Array(16); function X($,_,w){var m=$[_+1]<<8|$[_],h=$[_+3]<<8|$[_+2],e=(m&31)*(255/31),A=(m>>>5&31)*(255/31),j=(m>>10)*(255/31),D=(h&31)*(255/31),M=(h>>>5&63)*(255/63),S=(h>>11)*(255/31),I=T; I[0]=o(j);I[1]=o(A);I[2]=o(e);I[3]=255;I[12]=o(S);I[13]=o(M);I[14]=o(D);I[15]=255;var G=2/3,p=1-G;I[4]=o(G*j+p*S); I[5]=o(G*A+p*M);I[6]=o(G*e+p*D);I[7]=255;G=1/3;p=1-G;I[8]=o(G*j+p*S);I[9]=o(G*A+p*M);I[10]=o(G*e+p*D); I[11]=255;au($,w,I,_)}function O($,_,w){var m=(w&63488)>>>11,h=(w&2016)>>>5,e=(w&31)>>>0;$[_+0]=m*33>>>2; $[_+1]=h*65>>>4;$[_+2]=e*33>>>2}function k($,_,w){return o($*(31/255))<<11|o(_*(63/255))<<5|o(w*(31/255))}function H($,_,w){return $*(64-w)+_*w+32>>6}function u($,_,w,m){_[w]=H($[0],$[4],m); _[w+1]=H($[1],$[5],m);_[w+2]=H($[2],$[6],m);_[w+3]=255}function b($,_,w,m){var h=$[_+1]<<8|$[_],e=$[_+3]<<8|$[_+2],A=n(h,e,m); au($,w,A,_)}function n($,_,w){var m=T;O(m,0,$);m[3]=255;O(m,4,_);m[7]=255;if(_<$||w){u(m,m,8,21);u(m,m,12,43)}else{u(m,m,8,32); m[12]=0;m[13]=0;m[14]=0;m[15]=0}return m}function au($,_,w,m){var h=m+4<<3;for(var e=0;e<64;e+=4){var A=$[h>>3]>>(h&7)&3; h+=2;A=A<<2;_[e]=w[A];_[e+1]=w[A+1];_[e+2]=w[A+2];_[e+3]=w[A+3]}}function o($){return~~(.5+$)}function i($,_){for(var w=0; w<3;w++)_[w]=_[w+3]=$[w];for(var w=0;w<64;w+=4){var m=$[w],h=$[w+1],e=$[w+2];if(m<_[0])_[0]=m;if(h<_[1])_[1]=h; if(e<_[2])_[2]=e;if(m>_[3])_[3]=m;if(h>_[4])_[4]=h;if(e>_[5])_[5]=e}}function ar($,_,w){for(var m=0; m<3;m++){var h=o(($[m+3]-$[m])*w),e=$[m]+h,A=$[m+3]-h;_[m]=e<0?0:e>255?255:e;_[m+3]=A<0?0:A>255?255:A}}function Z($,_,w,m){var h=0,e=0,A=1e9,j=[0,0,0,0,0,0],D=255; for(var M=3;M<64;M+=4)D&=w[M];var S=m?!1:D<128;if(!1){i(w,S);ar(S,1/11)}else{var I=j.slice(0);i(w,I); var G=-1,p=-1;for(var Y=-.1;Y<.3;Y+=.005){ar(I,j,Y);var f=k(j[0],j[1],j[2]),R=k(j[3],j[4],j[5]);if(f==G&&R==p)continue; G=f;p=R;var q=P($,_,w,S,f,R);if(q>8;$[_+2]=e&255;$[_+3]=e>>8;var j=n(h,e),D=_*8+32,M=0;$[_+4]=0;$[_+5]=0; $[_+6]=0;$[_+7]=0;var S=g;for(var I=0;I<64;I+=4){var G=w[I],p=w[I+1],Y=w[I+2],f=w[I+3],R=S(G,p,Y,j[0],j[1],j[2]),q=S(G,p,Y,j[4],j[5],j[6]),z=S(G,p,Y,j[8],j[9],j[10]),U=S(G,p,Y,j[12],j[13],j[14]),c=Math.min(Math.min(R,q),Math.min(z,U)),x=0; M+=c;if(m&&f<128)x=3;else if(c==q)x=1;else if(c==z)x=2;else if(c==U)x=3;$[D>>3]|=x<<(D&7);D+=2}return M}function a($,_,w,m,h,e){for(var A=0; A<4;A++){var j=(h+A)*_+m<<2,D=A<<4;e[D+0]=$[j+0];e[D+1]=$[j+1];e[D+2]=$[j+2];e[D+3]=$[j+3];e[D+4]=$[j+4]; e[D+5]=$[j+5];e[D+6]=$[j+6];e[D+7]=$[j+7];e[D+8]=$[j+8];e[D+9]=$[j+9];e[D+10]=$[j+10];e[D+11]=$[j+11]; e[D+12]=$[j+12];e[D+13]=$[j+13];e[D+14]=$[j+14];e[D+15]=$[j+15]}}function l($,_,w,m,h,e){for(var A=0; A<4;A++){var j=(h+A)*_+m<<2,D=A<<4;$[j+0]=e[D+0];$[j+1]=e[D+1];$[j+2]=e[D+2];$[j+3]=e[D+3];$[j+4]=e[D+4]; $[j+5]=e[D+5];$[j+6]=e[D+6];$[j+7]=e[D+7];$[j+8]=e[D+8];$[j+9]=e[D+9];$[j+10]=e[D+10];$[j+11]=e[D+11]; $[j+12]=e[D+12];$[j+13]=e[D+13];$[j+14]=e[D+14];$[j+15]=e[D+15]}}function aj($,_,w){var m=0,h=w;while(w!=0){m=m|s($,_)<>3]>>(w&7)&1}function aw($,_,w){var m=_>>1,h=w>>1,e=new Uint8Array(m*h*4); for(var A=0;A>2,E=x==0?0:.25/x; e[D]=~~(G*E+.5);e[D+1]=~~(p*E+.5);e[D+2]=~~(Y*E+.5);e[D+3]=x}return e}function g($,_,w,m,h,e){var A=$-m,j=_-h,D=w-e; return A*A+j*j+D*D}function K($,_){var w=g,m=0,h=0,e=0;for(var A=0;A<64;A+=4){var j=$[A],D=$[A+1],M=$[A+2]; for(var S=A+4;S<64;S+=4){var I=w(j,D,M,$[S],$[S+1],$[S+2]);if(I>e){e=I;m=A;h=S}}}for(var A=0;A<3;A++){_[A]=$[m+A]; _[A+3]=$[h+A]}}var am=new ArrayBuffer(4),aq=new Uint8Array(am),L=new Uint32Array(am),at=new Uint16Array(am),a0={j:function($,_){aq[0]=$[_+0]; aq[1]=$[_+1];return at[0]},P:function($,_){aq[0]=$[_+0];aq[1]=$[_+1];aq[2]=$[_+2];aq[3]=$[_+3];return L[0]},e:function($,_,w){L[0]=w; $[_+0]=aq[0];$[_+1]=aq[1];$[_+2]=aq[2];$[_+3]=aq[3]},T:function($,_,w){var m="";for(var h=0;h>>1;g=[3,3,2,2,2,2,4,2][Z];K=[0,0,0,0,3,2,0,0][Z]}function aq(S,I){S<<=8-I; S|=S>>I;return S}function L(S,I,G){return S*(64-G)+I*G+32>>6}function at(S,I,G,p,Y,f){var R=UTEX.F.A,q={b:0},z=new Uint8Array(4*4*4); for(var U=0;U>x&1)!=1)x++;am(x);q.b=(I<<3)+Z+1;var E=Z==4||Z==5?R(S,q,2):0,V=Z==4?R(S,q,1):0,an=R(S,q,P),C=new Uint8Array(24); for(var r=0;r<4;r++){var N=r==3?l:a;for(var t=0;t>2],a8=J[B]==r>>2?1:0,ad=q.b%(16*8),ak=R(S,q,g-a8),a1=a6[ak]; z[r]=L(C[0*s+2*B],C[0*s+2*B+1],a1);z[r+1]=L(C[1*s+2*B],C[1*s+2*B+1],a1);z[r+2]=L(C[2*s+2*B],C[2*s+2*B+1],a1); z[r+3]=L(C[3*s+2*B],C[3*s+2*B+1],a1)}a6=ar[K];q.b=a7;if(K!=0)for(var r=0;r<64;r+=4){var B=aa[r>>2],a8=J[B]==r>>2?1:0,ak=R(S,q,K-a8),a1=a6[ak]; z[r+3]=L(C[3*s+2*B],C[3*s+2*B+1],a1)}if(E!=0)_(z,E);UTEX.F.p(G,p,Y,c,U,z);I+=16}return I}function a0(S){return~~(.5+S)}function $(S,r,aj,I){S[r]=S[r]<U)U=V;if(anc)c=an;if(Cx)x=C;if(XE)E=X}var N=O<<3;I[N]=f;I[N+1]=R;I[N+2]=q; I[N+3]=z;I[N+4]=U;I[N+5]=c;I[N+6]=x;I[N+7]=E}return I}function h(S){var I=S[0]+S[4]-S[8]-S[12],G=S[1]+S[5]-S[9]-S[13],p=S[2]+S[6]-S[10]-S[14],Y=S[3]+S[7]-S[11]-S[15]; return I*I+G*G+p*p+Y*Y}function e(S,I,G){G=G<<(I&7);var p=I>>>3;S[p]|=G;S[p+1]|=G>>>8}function A(S,I,G,p){var Y=1e9,f=0,i=new Uint8Array(16),R=new Uint8Array(24),q=255,z=0; for(var r=0;r<64;r+=4){var U=G[r+3];if(Uz)z=U}var c=q<255,x=c?[4,5,6,7]:[1,3,6],E={},V=new Uint8Array(8); for(var an=0;an3?1:0,ao=aj==0||Z>3||Z==1,aa=Z==1?2:aj*s,J=aw==1?[0]:E[aw+","+P],F,a7=Z+1+P+s*(3*a+l)+aa; if(Z==4||Z==5){a7+=2;if(Z==4)a7++}if(J==null){var ap=a3[aw-1];J=E[aw+","+P]=[0,0,0,0,0];F=[-1,-1,-1,-1,-1]; for(var a6=0;a6<1<>>7-al;V[6+(ai&1)]++}var ac=V[O]=ao?N:V[6]>V[7]?0:1; for(var r=0;r>>8-al;R[r*s+O]=aq(ai<>>g-1==1){for(var r=0;r>>K-1==1){var t=3*s+O*2,a8=R[t];R[t]=R[t+1];R[t+1]=a8}}for(var r=0;r<64;r+=4){var O=ab[r>>2],a5=C?j(G,r,R,O):D(G,r,R,O),B=a5&255; a9+=a5>>>8;e(i,ah,B);ah+=g-ag[r>>>2]}if(K!=0)for(var r=0;r<64;r+=4){var O=ab[r>>2],a5=M(G,r,R,O),B=a5&255; a9+=a5>>>8;e(i,ah,B);ah+=K-ag[r>>>2]}if(a9>>8-al; e(i,ah,ai);ah+=al}}for(var r=0;r1?1:a6;ao=a0(a6*top)}var B=ar[g][ao];aa=L(U,c,B)-G;J=L(x,E,B)-p;F=L(V,an,B)-Y;a7=L(C,N,B)-X; var a8=aa*aa+J*J+F*F+a7*a7;return a8<<8|ao}function D(S,t,I,O){var G=S[t],p=S[t+1],Y=S[t+2],f=2*O,R=s+2*O,q=2*s+2*O,z=I[f],U=I[f+1],c=I[R],x=I[R+1],E=I[q],V=I[q+1],an=0,top=(1<1?1:J;an=a0(J*top)}var F=ar[g][an];C=L(z,U,F)-G;N=L(c,x,F)-p;ao=L(E,V,F)-Y;var a7=C*C+N*N+ao*ao; return a7<<8|an}function M(S,t,I,O){var X=S[t+3],G=3*s+2*O,p=I[G],Y=I[G+1],f=0,top=(1<1?1:c;f=a0(c*top)}var x=ar[K][f];R=L(p,Y,x)-X;var E=R*R;return E<<8|f}function ae(S,I,G,p,Y){var f=Date.now(),R=Y; for(var r=0;r<1;r++){var q=new Uint8Array(16*4+16*4),z=0;Y=R;for(var U=0;U>>2)*3,h=T[X+e+2]<<16|T[X+e+1]<<8|T[X+e]; K[m+0]=(h&am)*aq;K[m+1]=(h&L)*at;K[m+2]=(h&a0)*$;K[m+3]=255}X+=3*s}else if(i==16){for(var m=0;m>1)+1]<<8|T[X+(m>>1)]; K[m+0]=(h&am)*aq;K[m+1]=(h&L)*at;K[m+2]=(h&a0)*$;K[m+3]=l?(h&_)*w:255}X+=g>>>1}else throw"unknown bit count "+i}else if(H.V&y.I||l||H.V&y.G){if(i==8){if(H.V&y.I){for(var m=0; m>2)]}else{K.fill(255);for(var m=0;m>2)]}X+=g>>>2}else if(i==16){K.fill(255); for(var m=0;m>1)];X+=g>>>1}else throw"unknown bit count "+i}else if(H.V&y.R&&i==24){for(var m=0; m>>1;n=n>>>1}return au}function r(v,T,X,O){if(O==null)O=[0,!0,!1]; var v=new Uint8Array(v),k=["BC1","BC3","BC7","NON"][O[0]],H=O[1],u=O[2],b=new Uint8Array(124+T*X*6),n=0,au=0; UTEX.F.v(b,n,"DDS ");n+=4;Q(b,T,X,H,k,u,n);n+=124;if(k=="BC7"||u){af(b,k,u,n);n+=20}while(T*X!=0){if(k=="NON"){b.set(v,n); n+=v.length}if(k=="BC1")n=UTEX.q(v,T,X,b,n);if(k=="BC3")n=UTEX.K(v,T,X,b,n);if(k=="BC7")n=UTEX.H(v,T,X,b,n); v=UTEX.f(v,T,X);T=T>>1;X=X>>1;au++;if(!H)break}b[28]=au;return b.buffer.slice(0,n)}function t(v,T){var X={},O=UTEX.F.P,k=O(v,T); T+=4;if(k!=124)throw k;X.V=O(v,T);T+=4;X.height=O(v,T);T+=4;X.width=O(v,T);T+=4;X.pitch=O(v,T);T+=4; X.depth=O(v,T);T+=4;X.d=O(v,T);T+=4;T+=11*4;X.l=d(v,T);T+=32;X.a1=O(v,T);T+=4;X.a4=O(v,T);T+=4;X.aa=O(v,T); T+=4;X.a7=O(v,T);T+=4;if(O(v,T)!=0)console.log("not zeros",O(v,T).toString(16));T+=4;return X}function Q(v,T,X,O,k,H,u){var b=UTEX.F.e,n=y.$|y.Q|y.Z|y.M,i=1; n|=y._|(k?y.z:y.N);var au=(O?y.h:0)|y.c|(O?y.J:0),o=k=="NON"?T*X*4:(T*X>>>1)*(k=="BC1"?1:2);b(v,u,124); u+=4;b(v,u,n);u+=4;b(v,u,X);u+=4;b(v,u,T);u+=4;b(v,u,o);u+=4;b(v,u,i);u+=4;b(v,u,10);u+=4;u+=11*4;W(v,k,H,u); u+=32;b(v,u,au);u+=4;u+=4*4}function d(v,T){var X={},O=UTEX.F.P,k=O(v,T);T+=4;if(k!=32&&k!=0)throw k; X.V=O(v,T);T+=4;X.C=UTEX.F.T(v,T,4);T+=4;X.n=O(v,T);T+=4;X.W=O(v,T);T+=4;X.m=O(v,T);T+=4;X.w=O(v,T); T+=4;X.s=O(v,T);T+=4;return X}function W(v,T,X,O){var k=UTEX.F.e,H=T!="NON"||X?y.O:y.k|y.R;k(v,O,32); O+=4;k(v,O,H);O+=4;var u=X?"DX10":{NON:" ",BC1:"DXT1",BC3:"DXT5",BC7:"DX10"}[T];UTEX.F.v(v,O,u);O+=4; if(T=="NON"){k(v,O,32);for(var b=0;b<4;b++)k(v,O+4+b*4,255<>>X-1-k,u=W.height>>>X-1-k;for(var b=0;b=2){d.depth=a4(t,Q);Q+=2;if(T>=3){Q+=3;d.a5=W(t,Q);Q+=4}}return X}return{decode:a3}}(); (function(){var F={};if(typeof module=="object"){module.exports=F}else{self.UTIF=F}function aO(){if(typeof process=="undefined"||process.env.NODE_ENV=="development")console.log.apply(console,arguments)}(function(F){(function(){"use strict"; var D=function f(){function D(C){this.message="JPEG error: "+C}D.prototype=new Error;D.prototype.name="JpegError"; D.constructor=D;return D}(),R=function p(){var C=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]),h=4017,a=799,n=3406,M=2276,t=1567,B=3784,j=5793,v=2896; function R(r){if(r==null)r={};if(r.w==null)r.w=-1;this.V=r.n;this.N=r.w}function s(r,O){var w=0,I=[],u,G,T=16,S; while(T>0&&!r[T-1]){T--}I.push({children:[],index:0});var Q=I[0];for(u=0;u0){Q=I.pop()}Q.index++;I.push(Q);while(I.length<=u){I.push(S={children:[],index:0}); Q.children[Q.index]=S.children;Q=S}w++}if(u+10){l--; return aG>>l&1}aG=r[O++];if(aG===255){var aC=r[O++];if(aC){if(aC===220&&W){O+=2;var b8=$(r,O);O+=2;if(b8>0&&b8!==w.s){throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",b8)}}else if(aC===217){if(W){var az=Y*8; if(az>0&&az>>7}function ba(aC){var b8=aC;while(!0){b8=b8[b6()];switch(typeof b8){case"number":return b8; case"object":continue}throw new D("invalid huffman sequence")}}function aA(aC){var ab=0;while(aC>0){ab=ab<<1|b6(); aC--}return ab}function aU(aC){if(aC===1){return b6()===1?1:-1}var ab=aA(aC);if(ab>=1<>4;if(aR===0){if(ah<15){break}c+=16;continue}c+=ah; var a7=C[c];E.D[aC+a7]=aU(aR);c++}}function ai(E,aC){var b8=ba(E.J),az=b8===0?0:aU(b8)<0){i--; return}var c=G,b8=T;while(c<=b8){var az=ba(E.i),aD=az&15,aR=az>>4;if(aD===0){if(aR<15){i=aA(aR)+(1<>4;if(aD===0){if(az<15){i=aA(az)+(1<0){for(A=0;A0?"unexpected":"excessive";O=aq.offset}if(aq.M>=65488&&aq.M<=65495){O+=2}else{break}}return O-N}function k(r,O,w){var I=r.$,u=r.D,G,T,S,Q,W,as,z,N,aG,l,i,Z,ad,Y,E,aV,A; if(!I){throw new D("missing required Quantization Table.")}for(var o=0;o<64;o+=8){aG=u[O+o];l=u[O+o+1]; i=u[O+o+2];Z=u[O+o+3];ad=u[O+o+4];Y=u[O+o+5];E=u[O+o+6];aV=u[O+o+7];aG*=I[o];if((l|i|Z|ad|Y|E|aV)===0){A=j*aG+512>>10; w[o]=A;w[o+1]=A;w[o+2]=A;w[o+3]=A;w[o+4]=A;w[o+5]=A;w[o+6]=A;w[o+7]=A;continue}l*=I[o+1];i*=I[o+2];Z*=I[o+3]; ad*=I[o+4];Y*=I[o+5];E*=I[o+6];aV*=I[o+7];G=j*aG+128>>8;T=j*ad+128>>8;S=i;Q=E;W=v*(l-aV)+128>>8;N=v*(l+aV)+128>>8; as=Z<<4;z=Y<<4;G=G+T+1>>1;T=G-T;A=S*B+Q*t+128>>8;S=S*t-Q*B+128>>8;Q=A;W=W+z+1>>1;z=W-z;N=N+as+1>>1;as=N-as; G=G+Q+1>>1;Q=G-Q;T=T+S+1>>1;S=T-S;A=W*M+N*n+2048>>12;W=W*n-N*M+2048>>12;N=A;A=as*a+z*h+2048>>12;as=as*h-z*a+2048>>12; z=A;w[o]=G+N;w[o+7]=G-N;w[o+1]=T+z;w[o+6]=T-z;w[o+2]=S+as;w[o+5]=S-as;w[o+3]=Q+W;w[o+4]=Q-W}for(var c=0; c<8;++c){aG=w[c];l=w[c+8];i=w[c+16];Z=w[c+24];ad=w[c+32];Y=w[c+40];E=w[c+48];aV=w[c+56];if((l|i|Z|ad|Y|E|aV)===0){A=j*aG+8192>>14; if(A<-2040){A=0}else if(A>=2024){A=255}else{A=A+2056>>4}u[O+c]=A;u[O+c+8]=A;u[O+c+16]=A;u[O+c+24]=A; u[O+c+32]=A;u[O+c+40]=A;u[O+c+48]=A;u[O+c+56]=A;continue}G=j*aG+2048>>12;T=j*ad+2048>>12;S=i;Q=E;W=v*(l-aV)+2048>>12; N=v*(l+aV)+2048>>12;as=Z;z=Y;G=(G+T+1>>1)+4112;T=G-T;A=S*B+Q*t+2048>>12;S=S*t-Q*B+2048>>12;Q=A;W=W+z+1>>1; z=W-z;N=N+as+1>>1;as=N-as;G=G+Q+1>>1;Q=G-Q;T=T+S+1>>1;S=T-S;A=W*M+N*n+2048>>12;W=W*n-N*M+2048>>12;N=A; A=as*a+z*h+2048>>12;as=as*h-z*a+2048>>12;z=A;aG=G+N;aV=G-N;l=T+z;E=T-z;i=S+as;Y=S-as;Z=Q+W;ad=Q-W;if(aG<16){aG=0}else if(aG>=4080){aG=255}else{aG>>=4}if(l<16){l=0}else if(l>=4080){l=255}else{l>>=4}if(i<16){i=0}else if(i>=4080){i=255}else{i>>=4}if(Z<16){Z=0}else if(Z>=4080){Z=255}else{Z>>=4}if(ad<16){ad=0}else if(ad>=4080){ad=255}else{ad>>=4}if(Y<16){Y=0}else if(Y>=4080){Y=255}else{Y>>=4}if(E<16){E=0}else if(E>=4080){E=255}else{E>>=4}if(aV<16){aV=0}else if(aV>=4080){aV=255}else{aV>>=4}u[O+c]=aG; u[O+c+8]=l;u[O+c+16]=i;u[O+c+24]=Z;u[O+c+32]=ad;u[O+c+40]=Y;u[O+c+48]=E;u[O+c+56]=aV}}function g(r,O){var w=O.P,I=O.c,u=new Int16Array(64); for(var G=0;G=I){return null}var G=$(r,O);if(G>=65472&&G<=65534){return{u:null,M:G,offset:O}}var T=$(r,u); while(!(T>=65472&&T<=65534)){if(++u>=I){return null}T=$(r,u)}return{u:G.toString(16),M:T,offset:u}}R.prototype={parse(r,O){if(O==null)O={}; var w=O.F,I=0,u=null,G=null,T,S,Q=0;function W(){var ah=$(r,I);I+=2;var a7=I+ah-2,l=x(r,a7,I);if(l&&l.u){a7=l.offset}var aE=r.subarray(I,a7); I+=aE.length;return aE}function as(T){var ah=Math.ceil(T.o/8/T.X),a7=Math.ceil(T.s/8/T.B);for(var i=0; i>4===0){for(Z=0; Z<64;Z++){aV=C[Z];c[aV]=r[I++]}}else if(o>>4===1){for(Z=0;Z<64;Z++){aV=C[Z];c[aV]=$(r,I);I+=2}}else{throw new D("DQT - invalid table spec")}z[o&15]=c}break; case 65472:case 65473:case 65474:if(T){throw new D("Only single frame JPEGs supported")}I+=2;T={};T.G=l===65473; T.Z=l===65474;T.precision=r[I++];var ab=$(r,I),b2,b4=0,aq=0;I+=2;T.s=w||ab;T.o=$(r,I);I+=2;T.W=[];T._={}; var ak=r[I++];for(i=0;i>4,aK=r[I+1]&15;if(b4>4===0?aG:N)[aA&15]=s(aU,ai)}break;case 65501:I+=2;S=$(r,I); I+=2;break;case 65498:var bc=++Q===1&&!w,b5;I+=2;var a_=r[I++],a4=[];for(i=0;i>4];b5.i=N[a0&15];a4.push(b5)}var b3=r[I++],aC=r[I++],b8=r[I++]; try{var az=q(r,I,T,a4,S,b3,aC,b8>>4,b8&15,bc);I+=az}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:I+=4;break;case 65535:if(r[I]!==255){I--}break;default:var aD=x(r,I-2,I-3);if(aD&&aD.u){I=aD.offset; break}if(I>=r.length-1){break markerLoop}throw new D("JpegImage.parse - unknown marker: "+l.toString(16))}l=$(r,I); I+=2}this.width=T.o;this.height=T.s;this.g=u;this.b=G;this.W=[];for(i=0;i>8)+c[aG+1]}}}return E},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 J(r){var O,w,I; for(var u=0,G=r.length;u4){throw new D("Unsupported color mode")}var G=this.Y(O,w,u);if(this.p===1&&I){var T=G.length,S=new Uint8ClampedArray(T*3),Q=0; for(var W=0;W>24}function $(C,h){return C[h]<<8|C[h+1]}function e(C,h){return(C[h]<<24|C[h+1]<<16|C[h+2]<<8|C[h+3])>>>0}F.JpegDecoder=R}()); F.encodeImage=function(D,R,f,p){var H=Math.round(D.byteLength/(R*f*4))*8,e=new Uint8Array(D);if(H==16){e=e.slice(0); for(var C=0;C>>3)]; if(_==null||R.t322)_=R.t325;var B=new Uint8Array(R.height*(M>>>3));if(R.t322!=null){var V=R.t322[0],K=R.t323[0],v=Math.floor((R.width+V-1)/V),s=Math.floor((R.height+K-1)/K),X=new Uint8Array(Math.ceil(V*K*n/8)|0); console.log("====",v,s);for(var q=0;q>>3,v=Math.ceil(j*V*a/8); if(j==16&&!D.isLE&&D.t33422==null)for(var s=0;s>>8&255}else if(V==3)for(var M=3; M>3^16368; return(r[B]|r[B+1]<<8)>>(_&7)&~(-1<>2; K[1]=((I(1)&3)<<12|I(2)<<4|I(3)>>4)&16383;K[2]=I(3)>>2&3;K[3]=(I(3)&3)<<8|I(4);K[4]=I(5)<<2|I(6)>>6; K[5]=(I(6)&63)<<4|I(7)>>4;K[6]=I(7)>>2&3;K[7]=(I(7)&3)<<8|I(8);K[8]=I(9)<<2&1020|I(10)>>6;K[9]=(I(10)<<4|I(11)>>4)&1023; K[10]=I(11)>>2&3;K[11]=(I(11)&3)<<8|I(12);K[12]=(I(13)<<2&1020|I(14)>>6)&1023;K[13]=(I(14)<<4|I(15)>>4)&1023; _+=16;B=0}function G(){K[0]=I(0)<<4|I(1)>>4;K[1]=((I(1)&15)<<8|I(2))&4095;K[2]=I(3)>>6&3;K[3]=(I(3)&63)<<2|I(4)>>6; K[4]=(I(4)&63)<<2|I(5)>>6;K[5]=(I(5)&63)<<2|I(6)>>6;K[6]=I(6)>>4&3;K[7]=(I(6)&15)<<4|I(7)>>4;K[8]=(I(7)&15)<<4|I(8)>>4; K[9]=(I(8)&15)<<4|I(9)>>4;K[10]=I(9)>>2&3;K[11]=(I(9)&3)<<6|I(10)>>2;K[12]=(I(10)&3)<<6|I(11)>>2;K[13]=(I(11)&3)<<6|I(12)>>2; K[14]=I(12)&3;K[15]=I(13);K[16]=I(14);K[17]=I(15);_+=16;B=0}function T(){q[0]=0;q[1]=0;k[0]=0;k[1]=0}if(n==7){throw n}else if(n==6){var S=a==12,Q=S?G:u,W=S?14:11,as=S?128:512,aF=S?2048:8192,z=S?16383:65535,N=S?4095:16383,P=C/W,aN=P*16,aG=S?18:14; for(d=0;dJ)Z+=k[g]-J;k[g]=Z}else{q[g]=Z; if(Z)k[g]=Z;else Z=k[g]}O[x+y++]=Z-15<=z?Z-15&z:Z+2147483633>>31&N}}}}}else if(n==5){var ad=a==12?10:9; for(d=0;d>4); O[x++]=((K[4]&15)<<8)+K[3];O[x++]=16*K[5]+(K[4]>>4);O[x++]=((K[7]&15)<<8)+K[6];O[x++]=16*K[8]+(K[7]>>4); O[x++]=((K[10]&15)<<8)+K[9];O[x++]=16*K[11]+(K[10]>>4);O[x++]=((K[13]&15)<<8)+K[12];O[x++]=16*K[14]+(K[13]>>4)}else if(a==14){O[x++]=K[0]+((K[1]&63)<<8); O[x++]=(K[1]>>6)+4*K[2]+((K[3]&15)<<10);O[x++]=(K[3]>>4)+16*K[4]+((K[5]&3)<<12);O[x++]=((K[5]&252)>>2)+(K[6]<<6); O[x++]=K[7]+((K[8]&63)<<8);O[x++]=(K[8]>>6)+4*K[9]+((K[10]&15)<<10);O[x++]=(K[10]>>4)+16*K[11]+((K[12]&3)<<12); O[x++]=((K[12]&252)>>2)+(K[13]<<6);O[x++]=K[14]+((K[15]&63)<<8)}}}}else if(n==4){for(d=0;d>3-w(2);if(k[g]){s=w(8);if(s!=0){q[g]-=128<11)q[g]=k[g]<<4|w(4)}O[x++]=q[y&1]}}}else throw n};F.decode._decodeVC5=function(){var D=[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],R,f,p,H=[3,3,3,3,2,2,2,1,1,1],$=24576,e=16384,C=8192,a=e|C; function n(X){var g=X[1],J=X[0][g>>>3]>>>7-(g&7)&1;X[1]++;return J}function M(X,g){if(R==null){R={}; for(var J=0;J>>1}return X}function B(X,g){return X>>g}function j(X,g,J,y,r,O){g[J]=B(B(11*X[r]-4*X[r+O]+X[r+O+O]+4,3)+X[y],1); g[J+O]=B(B(5*X[r]+4*X[r+O]-X[r+O+O]+4,3)-X[y],1)}function V(X,g,J,y,r,O){var I=X[r-O]-X[r+O],G=X[r],S=X[y]; g[J]=B(B(I+4,3)+G+S,1);g[J+O]=B(B(-I+4,3)+G-S,1)}function K(X,g,J,y,r,O){g[J]=B(B(5*X[r]+4*X[r-O]-X[r-O-O]+4,3)+X[y],1); g[J+O]=B(B(11*X[r]-4*X[r-O]+X[r-O-O]+4,3)-X[y],1)}function v(X){X=X<0?0:X>4095?4095:X;X=p[X]>>>2;return X}function s(X,g,J,y,r,O){y=new Uint16Array(y.buffer); var I=Date.now(),G=F._binBE,S=g+J,Q,aF,z,N,P,aN,i,ao,Z,b7,a2,a$,Y,aL,E,b9,aV,aS;g+=4;var A=O[0]==1;while(g>>1)*(z>>>1));aS=new Int16Array((aF>>>1)*(z>>>1));f=new Int16Array(1024); for(var b0=0;b0<1024;b0++){var aP=b0-512,ac=Math.abs(aP),Q=Math.floor(768*ac*ac*ac/(255*255*255))+ac; f[b0]=Math.sign(aP)*Q}p=new Uint16Array(4096);var b2=(1<<16)-1;for(var b0=0;b0<4096;b0++){var af=b0,aq=b2*(Math.pow(113,af/4095)-1)/112; p[b0]=Math.min(aq,b2)}}var aJ=aV[i],b6=_(aF,1+H[N]),aU=_(z,1+H[N]);if(N==0){for(var ax=0;ax>>1)+b5]=X[a4]<<8|X[a4+1]}}else{var aQ=[X,g*8],av=[],a0=0,b3=b6*aU,aC=[0,0],b8=0,L=0; while(a00){av[a0++]=L;b8--}}var az=(N-1)%3,aD=az!=1?b6:0,aR=az!=0?aU:0; for(var ax=0;ax>>1)+aD,a7=ax*b6;for(var b5=0;b5>>1,aE=b6*2,a8=aU*2; for(var ax=0;ax>14-an*2&3; var aZ=ae[ay];if(aZ!=0)for(var ax=0;ax>>1)*(aF>>>1)+(b5>>>1),ag=a1[a4],a6=a5[a4]-2048,bb=a9[a4]-2048,ap=am[a4]-2048,at=(a6<<1)+ag,ar=(bb<<1)+ag,aH=ag+ap,aa=ag-ap; if(A){y[aW]=v(aH);y[aW+1]=v(ar);y[aW+aF]=v(at);y[aW+aF+1]=v(aa)}else{y[aW]=v(at);y[aW+1]=v(aH);y[aW+aF]=v(aa); y[aW+aF+1]=v(ar)}}}g+=aM*4}else if(c==16388){g+=aM*4}else if(aX==8192||aX==8448||aX==9216){}else throw c.toString(16)}}console.log(Date.now()-I)}return s}(); F.decode._decodeLogLuv32=function(D,R,f,p,H,$){var e=D.width,C=e*4,h=0,a=new Uint8Array(C);while(h>>(_[B]>>>8);for(var j=0;j>>4;H[$+B+1]=g<<4|J>>>4;H[$+B+2]=J<<4|x>>>4}return}var d=new Uint16Array(16),T=new Uint8Array(e+1); for(v=0;v>>11;O=15&y>>>22;w=15&y>>>26;for(I=0;I<4&&128<>3))>>>(u&7)&127)<2047)d[B]=2047;u+=7}for(B=0; B<16;B++,K+=2){var k=d[B]<<1;F.decode._putsF(H,(v*e+K)*h,k<<16-h)}K-=K&1?1:31}}};F.decode._decodeNikon=function(D,R,f,p,H,$,e){var C=[[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]],h=D.t256[0],a=D.t257[0],n=D.t258[0],M=0,t=0,_=F.decode._make_decoder,B=F.decode._getbithuff,j=R[0].exifIFD.makerNote,V=j.t150?j.t150:j.t140,K=0,w=0,x,u,G,T,S,Q,W=0; if(j.t147&&j.t147[0]==2){var v=Math.ceil(h/10),s=v*16,X=h*3>>>1;for(var q=0;q1)w=Math.floor(O/(I-1)); if(J==68&&d==32&&w>0)t=b.readShort(V,562);var as=[0,0],aF=_(C[M]),z=[p,0,0,0];for(W=u=0;u>>4;Q=(B(f,z,T-S,0)<<1)+1<>>1;if((Q&1<>>3;D[p]|=f>>>16;D[p+1]|=f>>>8;D[p+2]|=f};F.decode._getbithuff=function(D,R,f,p){var H=0,$=F.decode._get_byte,e,C=R[0],h=R[1],a=R[2],n=R[3]; if(f==0||a<0)return 0;while(!n&&a>>32-f; if(p){a-=p[e+1]>>>8;e=p[e+1]&255}else a-=f;if(a<0)throw"e";R[0]=C;R[1]=h;R[2]=a;R[3]=n;return e};F.decode._make_decoder=function(D){var R,f,p,H,C,h=[],a=17; for(R=16;R!=0&&!D[R];R--);h[0]=R;for(p=f=1;f<=R;f++)for(H=0;H>>8}else for(var t=0;t>>8; H[$+(t<<1)+1]=K[t]&255}}else if(j==14||j==12||j==10){var y=16-j;for(var t=0;t1}if(!j){if(R[f]==255&&R[f+1]==H)return{jpegOffset:f};if(s!=null){if(R[f+X]==255&&R[f+X+1]==H)M=f+X; else aO("JPEGInterchangeFormat does not point to SOI");if(q==null)aO("JPEGInterchangeFormatLength field is missing"); else if(X>=t||X+k<=t)aO("JPEGInterchangeFormatLength field value is invalid");if(M!=null)return{jpegOffset:M}}}if(x!=null){J=x[0]; d=x[1]}if(s!=null)if(q!=null)if(k>=2&&X+k<=t){if(R[f+X+k-2]==255&&R[f+X+k-1]==H)_=new Uint8Array(k-2); else _=new Uint8Array(k);for(V=0;V<_.length;V++)_[V]=R[f+X+V];aO("Incorrect JPEG interchange format: using JPEGInterchangeFormat offset to derive tables")}else aO("JPEGInterchangeFormat+JPEGInterchangeFormatLength > offset to first strip or tile"); if(_==null){var r=0,O=[];O[r++]=255;O[r++]=H;var w=D.t519;if(w==null)throw new Error("JPEGQTables tag is missing"); for(V=0;V>>8;O[r++]=u&255; O[r++]=V|v<<4;for(K=0;K<16;K++)O[r++]=R[f+I[V]+K];for(K=0;K>>8&255;O[r++]=D.height&255;O[r++]=D.width>>>8&255; O[r++]=D.width&255;O[r++]=y;if(y==1){O[r++]=1;O[r++]=17;O[r++]=0}else for(V=0;V<3;V++){O[r++]=V+1;O[r++]=V!=0?17:(J&15)<<4|d&15; O[r++]=V}if(b!=null&&b[0]!=0){O[r++]=255;O[r++]=h;O[r++]=0;O[r++]=4;O[r++]=b[0]>>>8&255;O[r++]=b[0]&255}_=new Uint8Array(O)}var G=-1; V=0;while(V<_.length-1){if(_[V]==255&&_[V+1]==a){G=V;break}V++}if(G==-1){var T=new Uint8Array(_.length+10+3*y); T.set(_);var S=_.length;G=_.length;_=T;_[S++]=255;_[S++]=a;_[S++]=0;_[S++]=8+3*y;_[S++]=8;_[S++]=D.height>>>8&255; _[S++]=D.height&255;_[S++]=D.width>>>8&255;_[S++]=D.width&255;_[S++]=y;if(y==1){_[S++]=1;_[S++]=17;_[S++]=0}else for(V=0; V<3;V++){_[S++]=V+1;_[S++]=V!=0?17:(J&15)<<4|d&15;_[S++]=V}}if(R[t]==255&&R[t+1]==n){var Q=R[t+2]<<8|R[t+3]; B=new Uint8Array(Q+2);B[0]=R[t];B[1]=R[t+1];B[2]=R[t+2];B[3]=R[t+3];for(V=0;V>>8&255;a[M.sofPosition+6]=D.height&255;a[M.sofPosition+7]=D.width>>>8&255; a[M.sofPosition+8]=D.width&255;if(R[f]!=255||R[f+1]!=SOS){a.set(M.sosMarker,n);n+=sosMarker.length}for(e=0; e=0&&h<128)for(var a=0;a=-127&&h<0){for(var a=0; a<-h+1;a++){e[H]=$[R];H++}R++}}return H};F.decode._decodeThunder=function(D,R,f,p,H){var $=[0,1,0,-1],e=[0,1,2,3,0,-3,-2,-1],C=R+f,h=H*2,a=0; while(R>>6,t=n&63;R++;if(M==3){a=t&15;p[h>>>1]|=a<<4*(1-h&1);h++}if(M==0)for(var _=0; _>>1]|=a<<4*(1-h&1);h++}if(M==2)for(var _=0;_<2;_++){var B=t>>>3*(1-_)&7;if(B!=4){a+=e[B]; p[h>>>1]|=a<<4*(1-h&1);h++}}if(M==1)for(var _=0;_<3;_++){var B=t>>>2*(2-_)&3;if(B!=2){a+=$[B];p[h>>>1]|=a<<4*(1-h&1); h++}}}};F.decode._dmap={"1":0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3};F.decode._lens=function(){var D=function(h,a,n,M){for(var t=0; t>>3>>3]>>>7-(h&7)&1;if(e==2)d=D[h>>>3]>>>(h&7)&1;h++;n+=d;if(g=="H"){if(C._lens[s][n]!=null){var y=C._lens[s][n]; n="";a+=y;if(y<64){C._addNtimes(M,a,s);B+=a;s=1-s;a=0;x--;if(x==0)g=""}}}else{if(n=="0001"){n="";C._addNtimes(M,v-B,s); B=v}if(n=="001"){n="";g="H";x=2}if(C._dmap[n]!=null){j=K+C._dmap[n];C._addNtimes(M,j-B,s);B=j;n="";s=1-s}}if(M.length==$&&g==""){C._writeBits(M,p,H*8+q*J); s=0;q++;B=0;t=C._makeDiff(M);M=[]}}};F.decode._findDiff=function(D,R,f){for(var p=0;p=R&&D[p+1]==f)return D[p]}; F.decode._makeDiff=function(D){var R=[];if(D[0]==1)R.push(0,1);for(var f=1;f>>3>>3]>>>7-(h&7)&1;if(e==2)j=D[h>>>3]>>>(h&7)&1;h++;n+=j;a=C._lens[t][n]; if(a!=null){C._addNtimes(M,a,t);n="";if(a<64)t=1-t;if(M.length==$){C._writeBits(M,p,H*8+_*B);M=[];_++; t=0;if((h&7)!=0)h+=8-(h&7);if(a>=64)h+=8}}}};F.decode._decodeG3=function(D,R,f,p,H,$,e,C){var h=F.decode,a=R<<3,n=0,M="",t=[],_=[],j=0,V=0,K=0,v=0,s=0,q=0,g="",x=0,J=!0; for(var B=0;B<$;B++)t.push(0);var k=-1,d=Math.ceil($/8)*8;while(a>>>3>>3]>>>7-(a&7)&1;if(e==2)y=D[a>>>3]>>>(a&7)&1;a++;M+=y;if(J){if(h._lens[q][M]!=null){var b=h._lens[q][M]; M="";n+=b;if(b<64){h._addNtimes(t,n,q);q=1-q;n=0}}}else{if(g=="H"){if(h._lens[q][M]!=null){var b=h._lens[q][M]; M="";n+=b;if(b<64){h._addNtimes(t,n,q);j+=n;q=1-q;n=0;x--;if(x==0)g=""}}}else{if(M=="0001"){M="";h._addNtimes(t,s-j,q); j=s}if(M=="001"){M="";g="H";x=2}if(h._dmap[M]!=null){V=v+h._dmap[M];h._addNtimes(t,V-j,q);j=V;M="";q=1-q}}}if(M.endsWith("000000000001")){if(k>=0)h._writeBits(t,p,H*8+k*d); if(C){if(e==1)J=(D[a>>>3]>>>7-(a&7)&1)==1;if(e==2)J=(D[a>>>3]>>>(a&7)&1)==1;a++}M="";q=0;k++;j=0;_=h._makeDiff(t); t=[]}}if(t.length==$)h._writeBits(t,p,H*8+k*d)};F.decode._addNtimes=function(D,R,f){for(var p=0;p>>3]|=D[p]<<7-(f+p&7)}; F.decode._decodeLZW=F.decode._decodeLZW=function(){var D,R,p,H,$=0,e=0,C=0,h=0,a=function(){var K=D>>>3,s=R[K]<<16|R[K+1]<<8|R[K+2],q=s>>>24-(D&7)-e&(1<>>----------------");for(var h=0;hR.buffer.byteLength)M=R.buffer.byteLength-B;_=new Uint8Array(R.buffer,B,M)}if(n==2){var j=M<5?f-4:t,V=R[j],K=Math.max(0,Math.min(M-1,R.length-j)); if(V<128||K==0)_.push(D.readASCII(R,j,K));else _=new Uint8Array(R.buffer,j,K)}if(n==3){for(var v=0;v4){D.writeUint(f,p,C);V=C}if(M==1||M==7){for(var K=0;K4){j+=j&1;C+=j}p+=4}return[p,C]};F.toRGBA8=function(D,R){function f(G){return G<.0031308?12.92*G:1.055*Math.pow(G,1/2.4)-.055}var p=D.width,H=D.height,e=p*H,C=e*4,h=D.data,a=new Uint8Array(e*4),n=D.t262?D.t262[0]:2,M=D.t258?Math.min(32,D.t258[0]):1; if(D.t262==null&&M==1)n=0;var t=D.t277?D.t277[0]:D.t258?D.t258.length:[1,1,3,1,1,4,3][n],_=D.t339?D.t339[0]:null; if(n==1&&M==32&&_!=3)throw"e";var B=Math.ceil(t*M*p/8);aO("interpretation: ",n,"smpls",t,"bps",M,"sample format",_,D); if(!1){}else if(n==0){R=1/256;for(var j=0;j>3)]>>7-(v&7)&1; a[s]=a[s+1]=a[s+2]=(1-q)*255;a[s+3]=255}if(M==4)for(var v=0;v>1)]>>4-4*(v&1)&15; a[s]=a[s+1]=a[s+2]=(15-q)*17;a[s+3]=255}if(M==8)for(var v=0;v>3)]>>7-(v&7)&1; a[s]=a[s+1]=a[s+2]=q*255;a[s+3]=255}if(M==2)for(var v=0;v>2)]>>6-2*(v&3)&3; a[s]=a[s+1]=a[s+2]=q*85;a[s+3]=255}if(M==8)for(var v=0;v>>2)+v,q=x[g];a[s]=a[s+1]=a[s+2]=~~(.5+255*q); a[s+3]=255}}}else if(n==2){if(M==8){if(t==1)for(var v=0;v=4)for(var v=0;v1&&D.t338&&D.t338[0]!=0; for(var j=0;j>>3)]>>>7-(G&7)&1; else if(M==2)T=h[S+(G>>>2)]>>>6-2*(G&3)&3;else if(M==4)T=h[S+(G>>>1)]>>>4-4*(G&1)&15;else if(M==8)T=h[S+G*t]; else throw M;a[s]=w[T]>>8;a[s+1]=w[I+T]>>8;a[s+2]=w[I+I+T]>>8;a[s+3]=u?h[S+G*t+1]:255}}else if(n==5){var Q=t>4?1:0; for(var v=0;v>>1),z=h[W+(aY&1)],l=h[W+2]-128,ao=h[W+3]-128,Z=z+((ao>>2)+(ao>>3)+(ao>>5)),ad=z-((l>>2)+(l>>4)+(l>>5))-((ao>>1)+(ao>>3)+(ao>>4)+(ao>>5)),b7=z+(l+(l>>1)+(l>>2)+(l>>6)); a[s]=Math.max(0,Math.min(255,Z));a[s+1]=Math.max(0,Math.min(255,ad));a[s+2]=Math.max(0,Math.min(255,b7)); a[s+3]=255}}}else if(n==8){if(t!=3||M!=16)throw"e";var a2=new Uint16Array(h.buffer),a$=new Int16Array(h.buffer),aF=[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427]; for(var j=0;jE?U:(116*aS-16)/aL,o=aV>E?aV:(116*b9-16)/aL,c=m>E?m:(116*A-16)/aL,aj=c*(96.42/100),z=o*(100/100),a3=L*(82.49/100); a[s]=Math.max(0,Math.min(255,f(aj*aF[0]+z*aF[1]+a3*aF[2])*255));a[s+1]=Math.max(0,Math.min(255,f(aj*aF[3]+z*aF[4]+a3*aF[5])*255)); a[s+2]=Math.max(0,Math.min(255,f(aj*aF[6]+z*aF[7]+a3*aF[8])*255));a[s+3]=255}}else if(n==32845){for(var j=0; jp){p=h;H=C}}F.decodeImage(D,H,R);var a=F.toRGBA8(H),n=H.width,M=H.height,t=document.createElement("canvas"); t.width=n;t.height=M;var _=t.getContext("2d"),B=new ImageData(new Uint8ClampedArray(a.buffer),n,M);_.putImageData(B,0,0); return t.toDataURL()};F._binBE={nextZero:function(D,R){while(D[R]!=0)R++;return R},readUshort:function(D,R){return D[R]<<8|D[R+1]},readShort:function(D,R){var f=F._binBE.ui8; f[0]=D[R+1];f[1]=D[R+0];return F._binBE.i16[0]},readInt:function(D,R){var f=F._binBE.ui8;f[0]=D[R+3]; f[1]=D[R+2];f[2]=D[R+1];f[3]=D[R+0];return F._binBE.i32[0]},readUint:function(D,R){var f=F._binBE.ui8; f[0]=D[R+3];f[1]=D[R+2];f[2]=D[R+1];f[3]=D[R+0];return F._binBE.ui32[0]},readASCII:function(D,R,f){var p=""; for(var H=0;H>8&255; D[R+1]=f&255},writeInt:function(D,R,f){var p=F._binBE.ui8;F._binBE.i32[0]=f;D[R+3]=p[0];D[R+2]=p[1]; D[R+1]=p[2];D[R+0]=p[3]},writeUint:function(D,R,f){D[R]=f>>24&255;D[R+1]=f>>16&255;D[R+2]=f>>8&255;D[R+3]=f>>0&255},writeASCII:function(D,R,f){for(var p=0; p>8&255},writeInt:function(D,R,f){var p=F._binBE.ui8; F._binBE.i32[0]=f;D[R+0]=p[0];D[R+1]=p[1];D[R+2]=p[2];D[R+3]=p[3]},writeUint:function(D,R,f){D[R]=f>>>0&255; D[R+1]=f>>>8&255;D[R+2]=f>>>16&255;D[R+3]=f>>>24&255},writeASCII:F._binBE.writeASCII};F._copyTile=function(D,R,f,p,H,$,e,C){var h=Math.min(R,H-e),a=Math.min(f,$-C); for(var n=0;n>1,b=_[k+1],u=g<<4|b,G=B-b,T=_[k]<>>15-B;j[W]=u;T++}}}function p(_,B){var j=D.i,v=15-B;for(var q=0;q<_.length;q+=2){var k=_[q]<>>v}}(function(){var _=1<<15;for(var B=0;B<_;B++){var j=B;j=(j&2863311530)>>>1|(j&1431655765)<<1; j=(j&3435973836)>>>2|(j&858993459)<<2;j=(j&4042322160)>>>4|(j&252645135)<<4;j=(j&4278255360)>>>8|(j&16711935)<<8; D.i[B]=(j>>>16|j<<16)>>>17}function v(q,k,g){while(k--!=0)q.push(0,g)}for(var B=0;B<32;B++){D.B[B]=D.o[B]<<3|D.z[B]; D.h[B]=D.p[B]<<4|D.w[B]}v(D.s,144,8);v(D.s,255-143,9);v(D.s,279-255,7);v(D.s,287-279,8);R(D.s,9);f(D.s,9,D.g); p(D.s,9);v(D.t,32,5);R(D.t,5);f(D.t,5,D.A);p(D.t,5);v(D.b,19,0);v(D.c,286,0);v(D.e,30,0);v(D.a,320,0)}()); function $(_,B,j){return(_[B>>>3]|_[(B>>>3)+1]<<8)>>>(B&7)&(1<>>3]|_[(B>>>3)+1]<<8|_[(B>>>3)+2]<<16)>>>(B&7)&(1<>>3]|_[(B>>>3)+1]<<8|_[(B>>>3)+2]<<16)>>>(B&7)}function h(_,B){return(_[B>>>3]|_[(B>>>3)+1]<<8|_[(B>>>3)+2]<<16|_[(B>>>3)+3]<<24)>>>(B&7)}function a(_,B){var j=Uint8Array,v=0,q=0,k=0,g=0,x=0,b=0,u=0,G=0,T=0,S,W; if(_[0]==3&&_[1]==0)return B?B:new j(0);var aF=B==null;if(aF)B=new j(_.length>>>2<<3);while(v==0){v=e(_,T,1); q=e(_,T+1,2);T+=3;if(q==0){if((T&7)!=0)T+=8-(T&7);var z=(T>>>3)+4,N=_[z-4]|_[z-3]<<8;if(aF)B=n(B,G+N); B.set(new j(_.buffer,_.byteOffset+z,N),G);T=z+N<<3;G+=N;continue}if(aF)B=n(B,G+(1<<17));if(q==1){S=D.g; W=D.A;b=(1<<9)-1;u=(1<<5)-1}if(q==2){k=$(_,T,5)+257;g=$(_,T+5,5)+1;x=$(_,T+10,4)+4;T+=14;var P=T,aN=1; for(var aG=0;aG<38;aG+=2){D.b[aG]=0;D.b[aG+1]=0}for(var aG=0;aGaN)aN=aY}T+=3*x;R(D.b,aN);f(D.b,aN,D.C);S=D.k;W=D.n;T=M(D.C,(1<>>4;if(Z>>>8==0){B[G++]=Z}else if(Z==256){break}else{var ad=G+Z-254;if(Z>264){var b7=D.B[Z-257]; ad=G+(b7>>>3)+$(_,T,b7&7);T+=b7&7}var a2=W[C(_,T)&u];T+=a2&15;var a$=a2>>>4,aI=D.h[a$],Y=(aI>>>4)+e(_,T,aI&15); T+=aI&15;if(aF)B=n(B,G+(1<<17));while(G>>4;if(u<=15){k[g]=u;g++}else{var G=0,T=0;if(u==16){T=3+$(v,q,2); q+=2;G=k[g-1]}else if(u==17){T=3+$(v,q,3);q+=3}else if(u==18){T=11+$(v,q,7);q+=7}var S=g+T;while(g>>1;while(kq)q=b;k++}while(k>--r&1; Q=s[Q+W]}b[k]=Q}}function $(K,v,s,X){if(K[v+3]!=255)return 0;if(s==0)return v;for(var q=0;q<2;q++){if(K[v+q]==0){K[v+q]=K.length; K.push(0,0,X,255)}var g=$(K,K[v+q],s-1,X+1);if(g!=0)return g}return 0}function e(K){var v=K.c,s=K.f; while(v<25&&K.d>(v.c-=K)&65535>>16-K}function h(K,v){var s=K[0],X=0,q=255,g=0;if(v.c<16)e(v);var J=v.f>>v.c-8&255; X=K[1][J];q=s[X+3];v.c-=s[X+2];while(q==255){g=v.f>>--v.c&1;X=s[X+g];q=s[X+3]}return q}function a(K,v){if(K<32768>>16-v)K+=-(1<>4,aG&15]}}else if(W==65476){var l=R+aF-2; while(R>>4];g[Y[0]]=Y.slice(1)}s=f(); R+=2;break}else if(W==65501){q=p()}else{R+=aF-2}}var E=X>8?Uint16Array:Uint8Array,b9=new E(T*Q*r),aV={c:0,f:0,b:s==8,d:R,data:D,a:D.length,e:q}; if(aV.b)_(b9,Q*r,aV,b[0],T);else{var aS=[],U=0,A=0;for(var P=0;PU)U=L; if(o>A)A=o;aS.push(L*o)}if(U!=1||A!=1){if(r!=3||aS[1]!=1||aS[2]!=1)throw"e";if(U!=2||A!=1&&A!=2)throw"e"; var c=[],aj=0;for(var P=0;P>>1)*b1+(L>>>1))*aj,ab=(o&1)*2+(L&1); b9[aP]=b0[ac+ab];b9[aP+1]=b0[ac+4];b9[aP+2]=b0[ac+5]}else for(var L=0;L>>1))*aj,ab=L&1; b9[aP]=b0[ac+ab];b9[aP+1]=b0[ac+2];b9[aP+2]=b0[ac+3]}}}else{M(b9,Q*r,aV,b,r,T);if(q==0)V(b9,s,Q,T,0,r,r,X); else{var b2=Math.floor(q/Q);for(var o=0;o>>1);else if(v==6)aY=K[aN]+(aG-K[aN-J]>>>1);else if(v==7)aY=aG+K[aN]>>>1; else throw v;K[P]+=aY}}}}return B}();(function(){var D=0,R=1,f=2,p=3,H=4,$=5,C=6,h=7,a=8,n=9,M=10,t=11,_=12,j=13,K=14,v=15,s=16,X=17,k=18; function g(l){var i=F._binBE.readUshort,U={b:i(l,0),i:l[2],C:l[3],u:l[4],q:i(l,5),k:i(l,7),e:i(l,9),l:i(l,11),s:l[13],d:i(l,14)}; if(U.b!=18771||U.i>1||U.q<6||U.q%6||U.e<768||U.e%24||U.l!=768||U.k=U.l||U.s>16||U.s!=U.k/U.l||U.s!=Math.ceil(U.e/U.l)||U.d!=U.q/6||U.u!=12&&U.u!=14&&U.u!=16||U.C!=16&&U.C!=0){throw"Invalid data"}if(U.i==0){throw"Not implemented. We need this file!"}U.h=U.C==16; U.m=(U.h?U.l*2/3:U.l>>>1)|0;U.A=U.m+2;U.f=64;U.g=(1<>>6);for(var A=0;A<3;A++){for(var m=0; m<41;m++){i[A][m]=[U,1]}}return i}function I(l){for(var i=-1,U=0;!U;i++){U=l[l.j]>>>7-l.a&1;l.a++;l.a&=7; if(!l.a)l.j++}return i}function G(l,i){var U=0,A=8-l.a,m=l.j,L=l.a;if(i){if(i>=A){do{U<<=A;i-=A;U|=l[l.j]&(1<=8)}if(i){U<<=i;A-=i;U|=l[l.j]>>>A&(1<b6&&aK>>2;if(c){aP[aj]=ba;return}aB=i.t*i.c[l.g+al-ab]+i.c[l.g+b2-al]}else{ba=al>b2&&al>af||al>>2:b4+aq>>>1; aB=i.t*i.c[l.g+al-b2]+i.c[l.g+b2-b4]}b0=ak(aB);var aA=I(U);if(aA>>1):aM>>>1;o[b0][0]+=ak(aM);if(o[b0][1]==l.f){o[b0][0]>>>=1; o[b0][1]>>>=1}o[b0][1]++;ba=aB<0?ba-aM:ba+aM;if(l.i){if(ba<0)ba+=i.w;else if(ba>l.g)ba-=i.w}aP[aj]=ba>=0?Math.min(ba,l.g):0}function aF(l,i,U){var A=l[0].length; for(var m=i;m<=U;m++){l[m][0]=l[m-1][1];l[m][A-1]=l[m-1][A-2]}}function z(l){aF(l,h,_);aF(l,f,H);aF(l,v,X)}function N(l,i,U,A,m,L,o,c,aj,a3,b1,aX,aM){var aB=0,b0=1,aP=mH; while(b08){as(l,i,U,A,m,b0,c[aj]);as(l,i,U,A,L,b0,c[aj]);b0+=2}}z(A)}function aG(l,i,U,A,m,L){N(l,i,U,A,f,h,m,L,0,0,1,0,8); N(l,i,U,A,a,v,m,L,1,0,1,0,8);N(l,i,U,A,p,n,m,L,2,1,0,3,0);N(l,i,U,A,M,s,m,L,0,0,0,3,2);N(l,i,U,A,H,t,m,L,1,0,0,3,2); N(l,i,U,A,_,X,m,L,2,1,0,3,0)}function aY(l,i,U,A,m,L){var o=L.length,c=l.l;if(m+1==l.s)c=l.e-m*l.l;var aj=6*l.e*A+m*l.l; for(var a3=0;a3<6;a3++){for(var b1=0;b1>>1)}else if(aX==2){aM=v+(a3>>>1)}else{aM=h+a3}var aB=l.h?(b1*2/3&2147483646|b1%3&1)+(b1%3>>>1):b1>>>1; i[aj+b1]=U[aM][aB+1]}aj+=l.e}}F._decompressRAF=function(l,i){var U=g(l),A=x(l,U),m=y(U),L=new Int16Array(U.e*U.q); if(i==null){i=U.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 o=[[D,p],[R,H],[$,t],[C,_],[j,s],[K,X]],c=[]; for(var aj=0;aj65535||c>65535)throw new Error("Width/Height invalid.");function m(C){var j=C.length; if(j<2||j>256||j&j-1){throw new Error("Invalid code/color length, must be power of 2 and 2 .. 256.")}return j}l[s++]=71; l[s++]=73;l[s++]=70;l[s++]=56;l[s++]=57;l[s++]=97;if(F!==null){var i=m(F);while(i>>=1)++u;i=1<=i)throw new Error("Background index out of range."); if(q===0)throw new Error("Background index explicitly passed as 0.")}}l[s++]=e&255;l[s++]=e>>8&255;l[s++]=c&255; l[s++]=c>>8&255;l[s++]=(F!==null?128:0)|u;l[s++]=q;l[s++]=0;if(F!==null){for(var o=0,g=F.length;o>16&255;l[s++]=f>>8&255;l[s++]=f&255}}if(v!==null){if(v<0||v>65535)throw new Error("Loop count invalid."); l[s++]=33;l[s++]=255;l[s++]=11;l[s++]=78;l[s++]=69;l[s++]=84;l[s++]=83;l[s++]=67;l[s++]=65;l[s++]=80; l[s++]=69;l[s++]=50;l[s++]=46;l[s++]=48;l[s++]=3;l[s++]=1;l[s++]=v&255;l[s++]=v>>8&255;l[s++]=0}this.addFrame=function(C,j,z,b,w,E){if(d===!0){--s; d=!1}E=E===undefined?{}:E;if(C<0||j<0||C>65535||j>65535)throw new Error("x/y invalid.");if(z<=0||b<=0||z>65535||b>65535)throw new Error("Width/Height invalid."); if(w.length>=1)++t;B=1<3)throw new Error("Disposal out of range.");if(E.transparent!==undefined&&E.transparent!==null){A=!0; D=E.transparent;if(D<0||D>=B)throw new Error("Transparent color index.")}if(a!==0||A||G!==0){l[s++]=33; l[s++]=249;l[s++]=4;l[s++]=a<<2|(A===!0?1:0);l[s++]=G&255;l[s++]=G>>8&255;l[s++]=D;l[s++]=0}l[s++]=44; l[s++]=C&255;l[s++]=C>>8&255;l[s++]=j&255;l[s++]=j>>8&255;l[s++]=z&255;l[s++]=z>>8&255;l[s++]=b&255; l[s++]=b>>8&255;l[s++]=r===!0?128|t-1:0;if(r===!0){for(var o=0,g=k.length;o>16&255; l[s++]=f>>8&255;l[s++]=f&255}}s=GifWriterOutputLZWCodeStream(l,s,t<2?2:t,w);return s};this.end=function(){if(d===!1){l[s++]=59; d=!0}return s};this.getOutputBuffer=function(){return l};this.setOutputBuffer=function(C){l=C};this.getOutputBufferPosition=function(){return s}; this.setOutputBufferPosition=function(C){s=C}}function GifWriterOutputLZWCodeStream(l,e,c,h){l[e++]=c; var s=e++,v=1<=n){l[e++]=o&255;o>>=8;i-=8;if(e===s+256){l[s]=255; s=e++}}}function f(n){o|=n<=8){l[e++]=o&255;o>>=8;i-=8;if(e===s+256){l[s]=255;s=e++}}if(u===4096){f(v); u=m+1;q=c+1;C={}}else{if(u>=1<>>3,j=g[P+2]<<16|g[P+1]<<8|g[P],h=j>>>(m&7)&(1<>>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<>>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<=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=0;a--){i[a]*=k}};f.prototype.addmul=function(j,k,i){if(this.mirror)this.mirror.addmul(j,k,i); var e=this.data[j],c=this.data[k];for(var b=e.length-1;b>=0;b--){e[b]=e[b]+i*c[b]}};f.prototype.hasNullLine=function(j){for(var k=0; kMath.abs(e)){m=c; e=b}}if(e===0){o.push(j)}else{this.multline(m,1/e);this.swap(m,j);for(var n=0;n0&&i[0].length===1){for(var o=0; o>8&255; _[p+1]=k&255},aC:function(_,p,k){var R=[];for(var H=0;H>24&255;_[p+1]=k>>16&255; _[p+2]=k>>8&255;_[p+3]=k>>0&255},p:function(_,p){return N.B._(_,p)*(4294967295+1)+N.B._(_,p+4)},T:function(_,p,k){var R=""; for(var H=0;H255)return-1; return N.T.I.bf(_,N.T.I.ba[p])},ah:function(_,p,k){var R=N.B,H=[".notdef"],q=_[p];p++;if(q==0){for(var $=0; $>4,S=X&15;if(c!=15)n.push(c);if(S!=15)n.push(S);if(S==15)break}var j=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"]; for(var U=0;U>>1;k.aT=H(_,p);p+=2;k.aX=H(_,p);p+=2; k.ay=H(_,p);p+=2;k.aA=q(_,p,e);p+=e*2;p+=2;k.av=q(_,p,e);p+=e*2;k.aK=[];for(var M=0;M>1);return k},bd:function(_,p,k){var R=N.B,H=p;p+=2;var q=R.A(_,p); p+=2;var $=R.A(_,p);p+=2;k.b7=R.A(_,p);p+=2;var o=R.A(_,p);p+=2;k.G=[];for(var m=0;m=o.ax||o.aq>=o.b0)return null;if(o.X>0){o.Y=[];for(var m=0; m>>8;M&=15;if(M==0)p=q.aW(_,p,m)}return m},aM:function(_,p,k,R){var H=N.B,q=N.T.h,$=H.i(_,p),o=H._(_,p+4); p+=8;var m={u:[],j:[]};for(var i=0;i>4)+1,Z=[];for(var S=0;S>(I&h)+1,t=T&(1<<(I&h)+1)-1;Z.push(J[a9][t])}return[U,Z]}};N.U=function(){var _={U:function(J,L,Q){J.f.push("M"); J.s.push(L,Q)},R:function(J,L,Q){J.f.push("L");J.s.push(L,Q)},J:function(J,L,Q,v,O,r,B){J.f.push("C"); J.s.push(L,Q,v,O,r,B)},bi:function(J,L,Q,v,O){J.f.push("Q");J.s.push(L,Q,v,O)},c:function(J){J.f.push("Z")}},j,U; function p(J,L,Q,v){var O=L[Q],r=L[Q+1],B=J.kern;if(B){var V=B.u.indexOf(O);if(V!=-1){var E=B.j[V].aN.indexOf(r); if(E!=-1)return[0,0,B.j[V].aZ[E],0]}}return[0,0,0,0]}function k(J,L,Q){if(Q==null)Q={};var v=Q.ltr,O=Q.fts,r=Q.axs,I=0,C=0; if(J.fvar&&r==null)r=J.fvar[1][J._index][2];var B=J.HVAR;if(r&&B){r=u(J,r)}var V=[];for(var o=0;o65535)o++;V.push(m(J,E))}var k=[];for(var o=0;o>>1); if(J[r*L]<=Q)v=r;else O=r}return v*L}var q=[9,10,11,12,13,32,133,160,5760,6158,8232,8233,8239,8288,12288,65279],$={}; for(var o=0;o=r.map.length)V=0;else V=r.map[L]}else if(B==4){var E=r.aA; V=0;if(L<=E[E.length-1]){var I=H(E,1,L);if(E[I]=r.av[I]){var C=0;if(r.V[I]!=0)C=r.G[L-r.av[I]+(r.V[I]>>1)-(r.V.length-I)]; else C=L+r.aK[I];V=C&65535}}}else if(B==6){var h=L-r.b7,W=r.G;if(h<0||h>=W.length)V=0;else V=W[h]}else if(B==12){var A=r.az; V=0;if(L<=A[A.length-2]){var o=H(A,3,L);if(A[o]<=L&&L<=A[o+1]){V=A[o+2]+(L-A[o])}}}else throw"unknown cmap table format "+r.bh; var Z=J["SVG "],T=J.loca;if(V!=0&&J["CFF "]==null&&(Z==null||Z.entries[V]==null)&&T&&T[V]==T[V+1]&&$[L]==null)V=0; return V}function i(J,L,Q,v){var O={f:[],s:[]},W=null;if(J.fvar){if(v==null)v=J.fvar[1][J._index][2]; v=u(J,v)}var r=J["SVG "],B=J["CFF "],V=J.COLR,E=J.CBLC,I=J.CBDT,C=J.sbix,h=window.UPNG;if(E&&h)for(var o=0; o1){function D(ae){var aj=ae.toString(16); return(aj.length==1?"0":"")+aj}var P=J.CPAL,x=V[0]["g"+L];for(var o=0;o-1)n(O,L,J,Q,v);else X(O,L,J,Q,v)}}function M(J,L){var Q=L.length,v=1,O=J[0],r=J[1],B=J[2]; for(var o=0;or[o]||r[o]>B[o])V=1;else if(O[o]<0&&B[o]>0&&r[o]!=0)V=1; else if(r[o]==0)V=1;else if(L[o]B[o])V=0;else{if(L[o]==r[o])V=1;else if(L[o]V)r[o]=(I-V)/(E-V);else r[o]=0;if(v&&r[o]!=-1){var C=v[o],h=0;for(;h=r[o])break; var W=(r[o]-C[h-2])/(C[h]-C[h-2]);r[o]=W*C[h+1]+(1-W)*C[h-1]}}return r}function g(J,L,Q,v,O){var r=Q.length,B=new Array(r*2+8); B.fill(0);for(var o=0;oW||z>=r)continue; A=t;if(T==-1)T=t}for(var t=0;tW||z>=r)continue;if(z=0)a.push(" "); a.push(x);D=aq}return a.join("")}var B=[],E={M:2,L:2,Q:4,C:6};for(var o=0;o>1,r=Q>>1,B=v&&v.length==O*r*4?v:new Uint8Array(O*r*4),V=new Uint32Array(J.buffer),E=new Uint32Array(B.buffer); for(var I=0;I>>24,K=Z>>>24,s=T>>>24,w=t>>>24,l=z+K+s+w; if(l==1020){var y=(A>>>0&255)+(Z>>>0&255)+(T>>>0&255)+(t>>>0&255)+2>>>2,b=(A>>>8&255)+(Z>>>8&255)+(T>>>8&255)+(t>>>8&255)+2>>>2,f=(A>>>16&255)+(Z>>>16&255)+(T>>>16&255)+(t>>>16&255)+2>>>2; E[h]=255<<24|f<<16|b<<8|y}else if(l==0)E[h]=0;else{var y=(A>>>0&255)*z+(Z>>>0&255)*K+(T>>>0&255)*s+(t>>>0&255)*w,b=(A>>>8&255)*z+(Z>>>8&255)*K+(T>>>8&255)*s+(t>>>8&255)*w,f=(A>>>16&255)*z+(Z>>>16&255)*K+(T>>>16&255)*s+(t>>>16&255)*w,a=1/l; y=~~(y*a+.5);b=~~(b*a+.5);f=~~(f*a+.5);E[h]=l+2>>>2<<24|f<<16|b<<8|y}}return{af:B,b5:O,ae:r}}function d(J,L){var Q=0,v=J.cmds,O=J.crds; for(var r=0;r>1;r.length=0;V=!0}else if(a=="o3"||a=="o23"){var D;D=r.length%2!==0; if(D&&!V){E=r.shift()+b}B+=r.length>>1;r.length=0;V=!0}else if(a=="o4"){if(r.length>1&&!V){E=r.shift()+b; V=!0}if(I)_.c(O);h+=r.pop();_.U(O,C,h);I=!0}else if(a=="o5"){while(r.length>0){C+=r.shift();h+=r.shift(); _.R(O,C,h)}}else if(a=="o6"||a=="o7"){var P=r.length,x=a=="o6";for(var aq=0;aqMath.abs(s-h)){C=K+r.shift()}else{h=s+r.shift()}_.J(O,W,A,Z,T,w,l); _.J(O,t,z,K,s,C,h)}}else if(a=="o14"){if(r.length>0&&r.length!=4&&!V){E=r.shift()+Q.nominalWidthX;V=!0}if(r.length==4){var a8=0,ap=r.shift(),a7=r.shift(),ai=r.shift(),an=r.shift(),ae=y.Q(Q,ai),aj=y.Q(Q,an); Y(Q.CharStrings[ae],L,Q,v,O);L.x=ap;L.y=a7;Y(Q.CharStrings[aj],L,Q,v,O)}if(I){_.c(O);I=!1}}else if(a=="o19"||a=="o20"){var D; D=r.length%2!==0;if(D&&!V){E=r.shift()+b}B+=r.length>>1;r.length=0;V=!0;o+=B+7>>3}else if(a=="o21"){if(r.length>2&&!V){E=r.shift()+b; V=!0}h+=r.pop();C+=r.pop();if(I)_.c(O);_.U(O,C,h);I=!0}else if(a=="o22"){if(r.length>1&&!V){E=r.shift()+b; V=!0}C+=r.pop();if(I)_.c(O);_.U(O,C,h);I=!0}else if(a=="o25"){while(r.length>6){C+=r.shift();h+=r.shift(); _.R(O,C,h)}W=C+r.shift();A=h+r.shift();Z=W+r.shift();T=A+r.shift();C=Z+r.shift();h=T+r.shift();_.J(O,W,A,Z,T,C,h)}else if(a=="o26"){if(r.length%2){C+=r.shift()}while(r.length>0){W=C; A=h+r.shift();Z=W+r.shift();T=A+r.shift();C=Z;h=T+r.shift();_.J(O,W,A,Z,T,C,h)}}else if(a=="o27"){if(r.length%2){h+=r.shift()}while(r.length>0){W=C+r.shift(); A=h;Z=W+r.shift();T=A+r.shift();C=Z+r.shift();h=T;_.J(O,W,A,Z,T,C,h)}}else if(a=="o10"||a=="o29"){var a6=a=="o10"?v:Q; if(r.length==0){console.log("error: empty stack")}else{var ao=r.pop(),a3=a6.Subrs[ao+a6.Bias];L.x=C; L.y=h;L.m=B;L.r=V;L.width=E;L.open=I;Y(a3,L,Q,v,O);C=L.x;h=L.y;B=L.m;V=L.r;E=L.width;I=L.open}}else if(a=="o30"||a=="o31"){var P,av=r.length,at=0,ab=a=="o31"; P=av&~2;at+=av-P;while(at>>2,l=O.hb_buffer_get_glyph_positions(z,0)>>>2; for(var o=0;o>>2;aq.D(B,a8,at[0].split("").reverse().join(""));V[ap+1]=at[1]; V[ap+2]=at[2];V[ap+3]=at[3]}}if(f&&z.fvar){var ai=z.fvar[0];a7=O.malloc(8*f.length);for(var o=0;o>>2;aq.D(B,a8,ai[o][0].split("").reverse().join(""));I[ap+1]=f[o]}}if(f)O.hb_font_set_variations(Z,a7,f.length); O.hb_buffer_set_direction(a,y?4:5);O.hb_buffer_guess_segment_properties(a);O.hb_shape(Z,a,a2,b?b.length:0); var an=T(a);O.hb_buffer_destroy(a);if(b)O.free(a2);if(f)O.free(a7);var ae=an.slice(0);if(!y)ae.reverse(); for(var o=1;o0&&u[X-1]!="e"){u=u.slice(0,X)+" "+u.slice(X); X++;n=!0}}u=u.split(/\s*[\s,]\s*/).map(parseFloat);if(!1){}else if(M=="translate"){if(u.length==1)_.translate(g,u[0],0); else _.translate(g,u[0],u[1])}else if(M=="translateX"){_.translate(g,u[0],0)}else if(M=="translateY"){_.translate(g,0,u[0])}else if(M=="scale"){if(u.length==1)_.scale(g,u[0],u[0]); else _.scale(g,u[0],u[1])}else if(M=="rotate"){var S=0,G=0;if(u.length!=1){S=u[1];G=u[2]}_.translate(g,-S,-G); _.rotate(g,-Math.PI*u[0]/180);_.translate(g,S,G)}else if(M=="matrix")g=u;else if(M=="skewX")g=[1,Math.tan(u[0]*Math.PI/180),0,1,0,0]; else if(M=="skewY")g=[1,0,Math.tan(u[0]*Math.PI/180),1,0,0];else console.log("unknown transform: ",M); return g}function q(M,u){var g={f:[],s:[]},n=M.getAttribute("viewBox");if(n)n=n.trim().split(" ").map(parseFloat); else n=[0,0,1e3,1e3];var X=M;if(u!=null){var c=M.getElementById("glyph"+u);if(c)X=c}o(X.children,g,null,M); for(var S=0;S=0?1:-1)*Math.acos(Math.max(-1,Math.min(1,ad)))},ae=(f-a8)/a9,aj=(a-ap)/t,a6=an(1,0,ae,aj),ao=an(ae,aj,(-f-a8)/a9,(-a-ap)/t); ao=ao%(2*Math.PI);var a3=function(av,X,c,ab,au,al,ac){var am=function(a5,a0){var af=Math.sin(a0),W=Math.cos(a0),a0=a5[0],ag=a5[1],a4=a5[2],M=a5[3]; a5[0]=a0*W+ag*af;a5[1]=-a0*af+ag*W;a5[2]=a4*W+M*af;a5[3]=-a4*af+M*W},aa=function(a5,a0){for(var r=0; rau)al-=2*Math.PI; else while(al>8&255},X:function(d,B){return d[B+3]*(256*256*256)+(d[B+2]<<16|d[B+1]<<8|d[B])},r:function(d,B,e){d[B]=e&255; d[B+1]=e>>8&255;d[B+2]=e>>16&255;d[B+3]=e>>24&255},L:function(d,B,e){var C="";for(var _=0;_>6; d[B+_+1]=128|H>>0&63;_+=2}else if((H&4294967295-(1<<16)+1)==0){d[B+_]=224|H>>12;d[B+_+1]=128|H>>6&63; d[B+_+2]=128|H>>0&63;_+=3}else if((H&4294967295-(1<<21)+1)==0){d[B+_]=240|H>>18;d[B+_+1]=128|H>>12&63; d[B+_+2]=128|H>>6&63;d[B+_+3]=128|H>>0&63;_+=4}else throw"e"}return _},D:function(d){var B=d.length,e=0; for(var C=0;C>>1;else e=e>>>1}d[B]=e}return d}(),update:function(d,B,e,C){for(var _=0; _>>8;return d},b:function(d,B,e){return I.update(4294967295,d,B,e)^4294967295}}; function Q(d,B,e){var C=1,_=0,R=B,H=B+e;while(R257+6&&$.L(H,257,6)=="ustar ")return D(H);var r=H.length-4;while(C(H,r)!=101010256)r--;var _=r; _+=4;_+=4;var K=e(H,_);_+=2;var T=e(H,_);_+=2;var u=C(H,_);_+=4;var i=C(H,_);_+=4;_=i;for(var c=0;c>>9),R=C>>>5&15,H=C&31,r=e>>>11,K=e>>>5&63,T=2*(e&31),u=new Date(_,R,H,r,K,T).getTime(); return u}function t(d,B,e){var C=new Date(e),_=C.getFullYear()-1980<<9|C.getMonth()+1<<5|C.getDate(),R=C.getHours()<<11|C.getMinutes()<<5|C.getSeconds()>>>1; $.Y(d,B,R);$.Y(d,B+2,_)}function ab(d,B,e,C,_,R){var H=$.O,r=$.X,K=r(d,B);B+=4;var T=H(d,B);B+=2;var u=H(d,B); B+=2;var i=H(d,B);B+=2;var c=W(d,B);B+=4;var L=r(d,B);B+=4;B+=8;var o=H(d,B);B+=2;var p=H(d,B);B+=2; var Z=(u&2048)==0?$.S(d,B,o):$.Q(d,B,o);if(Z==null)Z=$.Q(d,B,o);B+=o;B+=p;if(R){e[Z]={size:_,s:C};return}var b=new Uint8Array(d.buffer,B); if(u&1){e[Z]=new Uint8Array(0);alert("ZIPs with a password are not supported.",3e3)}else if(i==0)e[Z]=new Uint8Array(b.buffer.slice(B,B+C)); else if(i==8){var Y=new Uint8Array(_);aa(b,Y);e[Z]=Y}else if(i==14&&window.LZMA){var P=H(b,0),X=H(b,2); if(X!=5)throw"unknown LZMA header";var v=b[4],z=r(b,5),J=v%9;v=~~(v/9);var l=v%5,m=~~(v/5),c=Date.now(),Y=e[Z]=new Uint8Array(_),y=new window.LZMA.Decoder; y.setProperties({dsz:z,lc:J,lp:l,pb:m});y.decodeBody(new Uint8Array(d.buffer,B+9),Y,_)}else throw"unknown compression method: "+i}function x(d){this.f=d; this.n=0}x.prototype.readByte=function(){return this.f[this.n++]};x.prototype.writeByte=function(d){this.f[this.n++]=d}; x.prototype.writeBytes=function(d,B){d=new Uint8Array(d.buffer,d.byteOffset,Math.min(d.length,this.f.length-this.n)); this.f.set(d,this.n);this.n+=d.length};function aa(d,B){return UZIP.F.inflate(d,B)}function a2(d,B){var e=d[0],C=d[1],_=e&15,R=e>>>4; return aa(new Uint8Array(d.buffer,d.byteOffset+2,d.length-6),B)}function a1(d,B){if(B==null)B={level:6}; var e=0,C=new Uint8Array(50+Math.floor(d.length*1.1));C[e]=120;C[e+1]=156;e+=2;e=UZIP.F.deflateRaw(d,C,e,B.level); var I=Q(d,0,d.length);C[e+0]=I>>>24&255;C[e+1]=I>>>16&255;C[e+2]=I>>>8&255;C[e+3]=I>>>0&255;return new Uint8Array(C.buffer,0,e+4)}function a7(d,B){if(B==null)B={level:6}; var e=new Uint8Array(50+Math.floor(d.length*1.1)),C=UZIP.F.deflateRaw(d,e,C,B.level);return new Uint8Array(e.buffer,0,C)}function ae(d,B){if(B==null)B=!1; var e=0,C=$.r,_=$.Y,R={},i=0,o=0;for(var H in d){var r=!a9(H)&&!B,K=d[H],T=I.b(K,0,K.length);R[H]={i:r,p:K.length,b:T,file:r?a7(K):K}}for(var H in R)e+=R[H].file.length+30+46+2*$.D(H); e+=22;var u=new Uint8Array(e),c=[];for(var H in R){var L=R[H];c.push(i);i=a8(u,i,H,L,0)}var p=i;for(var H in R){var L=R[H]; c.push(i);i=a8(u,i,H,L,1,c[o++])}var Z=i-p;C(u,i,101010256);i+=4;i+=4;_(u,i,o);i+=2;_(u,i,o);i+=2;C(u,i,Z); i+=4;C(u,i,p);i+=4;i+=2;return u.buffer}function a9(d){var B=d.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(B)!=-1}function a8(d,B,e,C,_,R){var H=$.r,r=$.Y,K=C.file; H(d,B,_==0?67324752:33639248);B+=4;if(_==1)B+=2;r(d,B,20);B+=2;r(d,B,2048);B+=2;r(d,B,C.i?8:0);B+=2; t(d,B,Date.now());B+=4;H(d,B,C.b);B+=4;H(d,B,K.length);B+=4;H(d,B,C.p);B+=4;r(d,B,$.D(e));B+=2;r(d,B,0); B+=2;if(_==1){B+=2;B+=2;B+=6;H(d,B,R);B+=4}var T=$._(d,B,e);B+=T;if(_==0){d.set(K,B);B+=K.length}return B}UZIP.crc=I; UZIP.adler=Q;UZIP.inflate=a2;UZIP.inflateRaw=aa;UZIP.deflate=a1;UZIP.deflateRaw=a7;UZIP.parse=g;UZIP.encode=ae}()); (function(){var $=function(){var o=Uint16Array,p=Uint32Array;return{k:new o(16),I:new o(16),B:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],V:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],C:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],v:new o(32),z:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],A:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],T:new p(32),J:new o(512),M:[],G:new o(32),P:[],H:new o(32768),l:[],w:[],U:new o(32768),o:[],N:new o(512),K:[],t:new o(1<<15),Z:new p(286),g:new p(30),W:new p(19),d:new p(15e3),h:new o(1<<16),F:new o(1<<15)}}(); function I(o,p){var Z=o.length,b,Y,P,X,v,z=$.I;for(var X=0;X<=p;X++)z[X]=0;for(X=1;X>1,v=o[P+1],z=X<<4|v,J=p-v,l=o[P]<>>15-p;Z[y]=z;l++}}}function D(o,p){var Z=$.t,b=15-p;for(var Y=0;Y>>b}}function g(o,p,Z){Z=Z<<(p&7);var b=p>>>3;o[b]|=Z;o[b+1]|=Z>>>8}function W(o,p,Z){Z=Z<<(p&7); var b=p>>>3;o[b]|=Z;o[b+1]|=Z>>>8;o[b+2]|=Z>>>16}function t(o,p,Z){return(o[p>>>3]|o[(p>>>3)+1]<<8)>>>(p&7)&(1<>>3]|o[(p>>>3)+1]<<8|o[(p>>>3)+2]<<16)>>>(p&7)&(1<>>3]|o[(p>>>3)+1]<<8|o[(p>>>3)+2]<<16)>>>(p&7)}function aa(o,p){return(o[p>>>3]|o[(p>>>3)+1]<<8|o[(p>>>3)+2]<<16|o[(p>>>3)+3]<<24)>>>(p&7)}(function(){var o=1<<15; for(var p=0;p>>1|(Z&1431655765)<<1;Z=(Z&3435973836)>>>2|(Z&858993459)<<2; Z=(Z&4042322160)>>>4|(Z&252645135)<<4;Z=(Z&4278255360)>>>8|(Z&16711935)<<8;$.t[p]=(Z>>>16|Z<<16)>>>17}function b(Y,P,X){while(P--!=0)Y.push(0,X)}for(var p=0; p<32;p++){$.v[p]=$.V[p]<<3|$.C[p];$.T[p]=$.z[p]<<4|$.A[p]}b($.M,144,8);b($.M,255-143,9);b($.M,279-255,7); b($.M,287-279,8);I($.M,9);Q($.M,9,$.J);D($.M,9);b($.P,32,5);I($.P,5);Q($.P,5,$.G);D($.P,5);b($.K,19,0); b($.l,286,0);b($.o,30,0);b($.w,320,0)}());function a2(o,p,Z,b){var Y=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],P=Y[b],X=0,v=Z<<3,z=0,J=o.length,h=0,A=0,V=0,N=0,F=0,w=0,a=0,E=0; if(b==0){while(X>>3}var m=$.d,y=$.h,M=$.F; if(J>2){w=ae(o,0);y[w]=0}for(X=0;X14e3||A>26697)&&J-X>100){if(z>>16,f=s&65535;if(s!=0){var l=s>>>16,f=s&65535,q=T(l,$.V);$.Z[257+q]++;var j=T(f,$.z);$.g[j]++; N+=$.C[q]+$.A[j];m[h]=l<<23|X-z;m[h+1]=f<<16|q<<8|j;h+=2;z=X+l}else{$.Z[o[X]]++}A++}}if(V!=X||o.length==0){if(z>>3}function a1(o,p,Z,b,Y,P){var X=p&32767,v=Z[X],z=X-v+(1<<15)&32767,J=0,l=0; if(v==X||b!=ae(o,p-z))return 0;var m=Math.min(32767,p);while(z<=m&&--P!=0&&v!=X){if(J==0||o[p+J]==o[p+J-z]){var y=a7(o,p,z); if(y>J){J=y;l=z;if(J>=Y)break;if(z+2M){M=N;v=A}}}}X=v;v=Z[X];z+=X-v+(1<<15)&32767}return J<<16|l}function a7(o,p,Z){if(o[p]!=o[p-Z]||o[p+1]!=o[p+1-Z]||o[p+2]!=o[p+2-Z])return 0; var b=p,Y=Math.min(o.length,p+258);p+=3;while(p>>23,a0=n+(O&(1<<23)-1); while(n>16,ad=a5>>8&255,a6=a5&255;z=u(257+ad,q,v,z); g(v,z,a4-$.V[ad]);z+=$.C[ad];z=u(a6,j,v,z);W(v,z,a3-$.z[a6]);z+=$.A[a6];n+=a4}}z=u(256,q,v,z)}return z}function a8(o,p,Z,b,Y){var P=Y>>>3; b[P]=Z;b[P+1]=Z>>>8;b[P+2]=255-b[P];b[P+3]=255-b[P+1];P+=4;b.set(new Uint8Array(o.buffer,p,Z),P);return Y+(Z+4<<3)}function d(){var o=H($.Z,$.l,15),p=H($.g,$.o,15),Z=[],b=R($.l,Z),Y=[],P=R($.o,Y),z=19; for(var X=0;X4&&$.K[($.B[z-1]<<1)+1]==0)z--; return[o,p,v,b,P,z,Z,Y]}function B(o){var p=[];for(var Z=0;Z>1)+",";return p}function C(o,p){var Z=0;for(var b=0; b15){g(Z,b,X,v);b+=v}}return b}function R(o,p){var Z=o.length; while(Z!=2&&o[Z-1]==0)Z-=2;for(var b=0;b>>1,138);if(J<11)p.push(17,J-3); else p.push(18,J-11);b+=J*2-2}else if(Y==v&&P==Y&&X==Y){var z=b+5;while(z+2>>1,6); p.push(16,J-3);b+=J*2-2}else p.push(Y,0)}return Z>>>1}function H(o,p,Z){var b=[],Y=o.length,P=p.length,X=0,y=0,M=1,h=2; for(X=0;XZ){K(z,Z,A);A=Z}for(X=0;Xp){var X=o[b].R;o[b].R=p;P+=Y-(1<>>Z-p;while(P>0){var X=o[b].R; if(X=0;b--)if(o[b].R==p&&P<0){o[b].R--;P++}if(P!=0)console.log("debt left")}function T(o,p){var Z=0; if(p[Z|16]<=o)Z|=16;if(p[Z|8]<=o)Z|=8;if(p[Z|4]<=o)Z|=4;if(p[Z|2]<=o)Z|=2;if(p[Z|1]<=o)Z|=1;return Z}function u(o,p,Z,b){W(Z,b,p[o<<1]); return b+p[(o<<1)+1]}function ac(o,p){var Z=Uint8Array,Y=0,P=0,X=0,v=0,z=0,J=0,l=0,m=0,y=0,M,h;if(o[0]==3&&o[1]==0)return p?p:new Z(0); var b=p==null;if(b)p=new Z(o.length>>>2<<3);while(Y==0){Y=ab(o,y,1);P=ab(o,y+1,2);y+=3;if(P==0){if((y&7)!=0)y+=8-(y&7); var A=(y>>>3)+4,V=o[A-4]|o[A-3]<<8;if(b)p=i(p,m+V);p.set(new Z(o.buffer,o.byteOffset+A,V),m);y=A+V<<3; m+=V;continue}if(b)p=i(p,m+(1<<17));if(P==1){M=$.J;h=$.G;J=(1<<9)-1;l=(1<<5)-1}if(P==2){X=t(o,y,5)+257; v=t(o,y+5,5)+1;z=t(o,y+10,4)+4;y+=14;var N=y,w=1;for(var F=0;F<38;F+=2){$.K[F]=0;$.K[F+1]=0}for(var F=0; Fw)w=a}y+=3*z;I($.K,w);Q($.K,w,$.N);M=$.H;h=$.U; y=c($.N,(1<>>4;if(f>>>8==0){p[m++]=f}else if(f==256){break}else{var q=m+f-254; if(f>264){var j=$.v[f-257];q=m+(j>>>3)+t(o,y,j&7);y+=j&7}var k=h[x(o,y)&l];y+=k&15;var n=k>>>4,S=$.T[n],O=(S>>>4)+ab(o,y,S&15); y+=S&15;if(b)p=i(p,m+(1<<17));while(m>>4;if(z<=15){P[X]=z;X++}else{var J=0,l=0;if(z==16){l=3+t(b,Y,2); Y+=2;J=P[X-1]}else if(z==17){l=3+t(b,Y,3);Y+=3}else if(z==18){l=11+t(b,Y,7);Y+=7}var m=X+l;while(X>>1;while(PY)Y=v;P++}while(P=this.t){this.B=0}this._=this.B}},c:function(){this.flush(); this.b=null},P:function(q){this.c();this.b=q;this.a=0},q:function(q){if(!q){this._=0;this.B=0}},o:function(q,t){var x=this.B-q-1,b=this.t; if(x<0){x+=b}while(t--){if(x>=b){x=0}this.X[this.B++]=this.X[x++];if(this.B>=b){this.flush()}}},C:function(q){this.X[this.B++]=q; if(this.B>=this.t)this.flush()},z:function(q){var t=this.B-q-1;if(t<0)t+=this.t;return this.X[t]}};function u(){}u.prototype={P:function(q){this.b=q; this.a=0},c:function(){this.b=null},q:function(){var q=5;this.v=0;this.N=-1;while(q--){this.v=this.v<<8|this.b[this.a++]}},j:function(q){var t=0,x=q,b; while(x--){this.N>>>=1;b=this.v-this.N>>>31;this.v-=this.N&b-1;t=t<<1|1-b;if((this.N&4278190080)==0){this.v=this.v<<8|this.b[this.a++]; this.N<<=8}}return t},G:function(q,t){var x=q[t],b=(this.N>>>11)*x;if((this.v^2147483648)<(b^2147483648)){this.N=b; q[t]+=2048-x>>>5;if((this.N&4278190080)==0){this.v=this.v<<8|this.b[this.a++];this.N<<=8}return 0}this.N-=b; this.v-=b;q[t]-=x>>>5;if((this.N&4278190080)==0){this.v=this.v<<8|this.b[this.a++];this.N<<=8}return 1}}; function f(q,t){while(t--)q[t]=1024}var r=function(q){this.g=[];this.K=q};r.prototype={q:function(){f(this.g,1<>7&1;t<<=1;a=q.G(this.w,(1+b<<8)+x);x=x<<1|a;if(b!=a){while(x<256){x=x<<1|q.G(this.w,x)}break}}while(x<256); return x&255}};function s(){}s.prototype={A:function(q,t){var x;if(this.D&&this.Q==t&&this.L==q){return}this.L=q; this.a2=(1<>>8-this.Q)]}}; function i(){this.F=new h;this.m=new u;this.i=[];this.J=[];this.V=[];this.r=[];this.W=[];this.O=[];this.e=[]; this.U=[];this.f=new r(4);this.S=new d;this.l=new d;this.s=new s;this.H=-1;this.I=-1;this.e[0]=new r(6); this.e[1]=new r(6);this.e[2]=new r(6);this.e[3]=new r(6)}i.prototype={n:function(q){if(this.H!=q){this.H=q; this.I=Math.max(this.H,1);this.F.A(Math.max(this.I,4096))}return!0},$:function(q,t,x){var b=1<=7){A=g.k(this.m,this.F.z(a))}else{A=g.Y(this.m)}this.F.C(A);b=b<4?0:b-(b<10?3:6)}else{if(this.m.G(this.J,b)==1){o=0; if(this.m.G(this.V,b)==0){if(this.m.G(this.O,(b<<4)+c)==0){b=b<7?9:11;o=1}}else{if(this.m.G(this.r,b)==0){y=m}else{if(this.m.G(this.W,b)==0){y=p}else{y=l; l=p}p=m}m=a;a=y}if(o==0){o=2+this.l.T(this.m,c);b=b<7?8:11}}else{l=p;p=m;m=a;o=2+this.S.T(this.m,c); b=b<7?7:10;j=this.e[o<=5?o-2:3].T(this.m);if(j>=4){w=(j>>1)-1;a=(2|j&1)<=n||a>=this.I){return!1}this.F.o(a,o); n+=o;A=this.F.z(0)}}this.F.flush();this.F.c();this.m.c();return!0}};var z=v.Decoder=i;z.prototype.setProperties=z.prototype.a3; z.prototype.decodeBody=z.prototype.a1}(LZMA)); var paper=function(t,e){var i=(t=t||require("./node/self.js")).window,n=t.document,r=new function(){function t(t,e,r,s,a){function u(n,u){"string"==typeof(u=u||(u=o(e,n))&&(u.get?u:u.value))&&"#"===u[0]&&(u=t[u.substring(1)]||u);var c,f="function"==typeof u,d=u,_=a||f&&!u.base?u&&u.get?n in t:t[n]:null;a&&_||(f&&_&&(u.base=_),f&&!1!==s&&(c=n.match(/^([gs]et|is)(([A-Z])(.*))$/))&&(l[c[3].toLowerCase()+c[4]]=c[2]),d&&!f&&d.get&&"function"==typeof d.get&&i.isPlainObject(d)||(d={value:d,writable:!0}),(o(t,n)||{configurable:!0}).configurable&&(d.configurable=!0,d.enumerable=null!=r?r:!c),h(t,n,d))}var l={};if(e){for(var c in e)e.hasOwnProperty(c)&&!n.test(c)&&u(c);for(var c in l){var f=l[c],d=t["set"+f],_=t["get"+f]||d&&t["is"+f];!_||!0!==s&&0!==_.length||u(c,{get:_,set:d})}}return t}function i(){for(var t=0,e=arguments.length;t0||u+s0?[["dictionary",n.definitions],s]:s},deserialize:function(t,e,i,n,s){var a=t,o=!i,h=o&&t&&t.length&&"dictionary"===t[0][0];if(i=i||{},Array.isArray(t)){var u=t[0],l="dictionary"===u;if(1==t.length&&/^#/.test(u))return i.dictionary[u];a=[];for(var c=(u=r.exports[u])?1:0,f=t.length;ct.length&&(n=t.length);for(u=0;u0){var s=e[r],a=s&&s[n];a&&a.call(this,r)}},statics:{inject:function t(e){var i=e._events;if(i){var n={};r.each(i,function(t,i){var s="string"==typeof t,a=s?t:i,o=r.capitalize(a),h=a.substring(2).toLowerCase();n[h]=s?{}:t,a="_"+a,e["get"+o]=function(){return this[a]},e["set"+o]=function(t){var e=this[a];e&&this.off(h,e),t&&this.on(h,t),this[a]=t}}),e._eventTypes=n}return t.base.apply(this,arguments)}}},a=r.extend({_class:"PaperScope",initialize:function e(){paper=this,this.settings=new r({applyMatrix:!0,insertItems:!0,handleSize:4,hitTolerance:0}),this.project=null,this.projects=[],this.tools=[],this._id=e._id++,e._scopes[this._id]=this;var i=e.prototype;if(!this.support){var n=Q.getContext(1,1)||{};i.support={nativeDash:"setLineDash"in n||"mozDash"in n,nativeBlendModes:tt.nativeModes},Q.release(n)}if(!this.agent){var s=t.navigator.userAgent.toLowerCase(),a=(/(darwin|win|mac|linux|freebsd|sunos)/.exec(s)||[])[0],o="darwin"===a?"mac":a,h=i.agent=i.browser={platform:o};o&&(h[o]=!0),s.replace(/(opera|chrome|safari|webkit|firefox|msie|trident|atom|node)\/?\s*([.\d]+)(?:.*version\/([.\d]+))?(?:.*rv\:v?([.\d]+))?/g,function(t,e,i,n,r){if(!h.chrome){var s="opera"===e?n:/^(node|trident)$/.test(e)?r:i;h.version=s,h.versionNumber=parseFloat(s),e="trident"===e?"msie":e,h.name=e,h[e]=!0}}),h.chrome&&delete h.webkit,h.atom&&delete h.chrome}},version:"0.11.5",getView:function(){var t=this.project;return t&&t._view},getPaper:function(){return this},execute:function(t,e){paper.PaperScript.execute(t,this,e),U.updateFocus()},install:function(t){var e=this;r.each(["project","view","tool"],function(i){r.define(t,i,{configurable:!0,get:function(){return e[i]}})});for(var i in this)!/^_/.test(i)&&this[i]&&(t[i]=this[i])},setup:function(t){return paper=this,this.project=new y(t),this},createCanvas:function(t,e){return Q.getCanvas(t,e)},activate:function(){paper=this},clear:function(){for(var t=this.projects,e=this.tools,i=t.length-1;i>=0;i--)t[i].remove();for(i=e.length-1;i>=0;i--)e[i].remove()},remove:function(){this.clear(),delete a._scopes[this._id]},statics:new function(){function t(t){return t+="Attribute",function(e,i){return e[t](i)||e[t]("data-paper-"+i)}}return{_scopes:{},_id:0,get:function(t){return this._scopes[t]||null},getAttribute:t("get"),hasAttribute:t("has")}}}),o=r.extend(s,{initialize:function(t){this._scope=paper,this._index=this._scope[this._list].push(this)-1,!t&&this._scope[this._reference]||this.activate()},activate:function(){if(!this._scope)return!1;var t=this._scope[this._reference];return t&&t!==this&&t.emit("deactivate"),this._scope[this._reference]=this,this.emit("activate",t),!0},isActive:function(){return this._scope[this._reference]===this},remove:function(){return null!=this._index&&(r.splice(this._scope[this._list],null,this._index,1),this._scope[this._reference]==this&&(this._scope[this._reference]=null),this._scope=null,!0)},getView:function(){return this._scope.getView()}}),h=r.extend({initialize:function(t){this.precision=r.pick(t,5),this.multiplier=Math.pow(10,this.precision)},number:function(t){return this.precision<16?Math.round(t*this.multiplier)/this.multiplier:t},pair:function(t,e,i){return this.number(t)+(i||",")+this.number(e)},point:function(t,e){return this.number(t.x)+(e||",")+this.number(t.y)},size:function(t,e){return this.number(t.width)+(e||",")+this.number(t.height)},rectangle:function(t,e){return this.point(t,e)+(e||",")+this.size(t,e)}});h.instance=new h;var u=new function(){function t(t,e,i){return ti?i:t}function e(t,e,i){function n(t){var e=134217729*t,i=t-e+e;return[i,t-i]}var r=e*e-t*i,a=e*e+t*i;if(3*s(r)1e8)?o(2,-Math.round(h(t))):0}var n=[[.5773502691896257],[0,.7745966692414834],[.33998104358485626,.8611363115940526],[0,.5384693101056831,.906179845938664],[.2386191860831969,.6612093864662645,.932469514203152],[0,.4058451513773972,.7415311855993945,.9491079123427585],[.1834346424956498,.525532409916329,.7966664774136267,.9602898564975363],[0,.3242534234038089,.6133714327005904,.8360311073266358,.9681602395076261],[.14887433898163122,.4333953941292472,.6794095682990244,.8650633666889845,.9739065285171717],[0,.26954315595234496,.5190961292068118,.7301520055740494,.8870625997680953,.978228658146057],[.1252334085114689,.3678314989981802,.5873179542866175,.7699026741943047,.9041172563704749,.9815606342467192],[0,.2304583159551348,.44849275103644687,.6423493394403402,.8015780907333099,.9175983992229779,.9841830547185881],[.10805494870734367,.31911236892788974,.5152486363581541,.6872929048116855,.827201315069765,.9284348836635735,.9862838086968123],[0,.20119409399743451,.3941513470775634,.5709721726085388,.7244177313601701,.8482065834104272,.937273392400706,.9879925180204854],[.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]],r=[[1],[.8888888888888888,.5555555555555556],[.6521451548625461,.34785484513745385],[.5688888888888889,.47862867049936647,.23692688505618908],[.46791393457269104,.3607615730481386,.17132449237917036],[.4179591836734694,.3818300505051189,.27970539148927664,.1294849661688697],[.362683783378362,.31370664587788727,.22238103445337448,.10122853629037626],[.3302393550012598,.31234707704000286,.26061069640293544,.1806481606948574,.08127438836157441],[.29552422471475287,.26926671930999635,.21908636251598204,.1494513491505806,.06667134430868814],[.2729250867779006,.26280454451024665,.23319376459199048,.18629021092773426,.1255803694649046,.05566856711617366],[.24914704581340277,.2334925365383548,.20316742672306592,.16007832854334622,.10693932599531843,.04717533638651183],[.2325515532308739,.22628318026289723,.2078160475368885,.17814598076194574,.13887351021978725,.09212149983772845,.04048400476531588],[.2152638534631578,.2051984637212956,.18553839747793782,.15720316715819355,.12151857068790319,.08015808715976021,.03511946033175186],[.2025782419255613,.19843148532711158,.1861610000155622,.16626920581699392,.13957067792615432,.10715922046717194,.07036604748810812,.03075324199611727],[.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096]],s=Math.abs,a=Math.sqrt,o=Math.pow,h=Math.log2||function(t){return Math.log(t)*Math.LOG2E};return{EPSILON:1e-12,MACHINE_EPSILON:1.12e-16,CURVETIME_EPSILON:1e-8,GEOMETRIC_EPSILON:1e-7,TRIGONOMETRIC_EPSILON:1e-8,KAPPA:4*(a(2)-1)/3,isZero:function(t){return t>=-1e-12&&t<=1e-12},clamp:t,integrate:function(t,e,i,s){for(var a=n[s-2],o=r[s-2],h=.5*(i-e),u=h+e,l=0,c=s+1>>1,f=1&s?o[l++]*t(u):0;l0?(a=n,n=f<=r?.5*(r+a):f):(r=n,n=f>=a?.5*(r+a):f)}return t(n,r,a)},solveQuadratic:function(n,r,o,h,u,l){var c,f=1/0;if(s(n)<1e-12){if(s(r)<1e-12)return s(o)<1e-12?-1:0;c=-o/r}else{var d=e(n,r*=-.5,o);if(d&&s(d)<1.12e-16){var _=i(s(n),s(r),s(o));_&&(d=e(n*=_,r*=_,o*=_))}if(d>=-1.12e-16){var g=d<0?0:a(d),v=r+(r<0?-g:g);0===v?f=-(c=o/n):(c=v/n,f=o/v)}}var p=0,m=null==u,y=u-1e-12,w=l+1e-12;return isFinite(c)&&(m||c>y&&cy&&f0?1.324717957244746*Math.max(x,a(C)):x,P=_-b*S;if(P!==_){do{d(P),P=0===p?_:_-m/p/(1+1.12e-16)}while(b*P>b*_);s(e)*_*_>s(h/_)&&(g=((v=-h/_)-r)/_)}}var I=u.solveQuadratic(e,g,v,l,c,f),M=null==c;return isFinite(_)&&(0===I||I>0&&_!==l[0]&&_!==l[1])&&(M||_>c-1e-12&&_1?a[1]:a[0])):"x"in a?this._set(a.x||0,a.y||0):"width"in a?this._set(a.width||0,a.height||0):"angle"in a?(this._set(a.length||0,0),this.setAngle(a.angle||0)):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.x=t,this.y=e,this},equals:function(t){return this===t||t&&(this.x===t.x&&this.y===t.y||Array.isArray(t)&&this.x===t[0]&&this.y===t[1])||!1},clone:function(){return new c(this.x,this.y)},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y)]},getLength:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},setLength:function(t){if(this.isZero()){var e=this._angle||0;this._set(Math.cos(e)*t,Math.sin(e)*t)}else{var i=t/this.getLength();u.isZero(i)&&this.getAngle(),this._set(this.x*i,this.y*i)}},getAngle:function(){return 180*this.getAngleInRadians.apply(this,arguments)/Math.PI},setAngle:function(t){this.setAngleInRadians.call(this,t*Math.PI/180)},getAngleInDegrees:"#getAngle",setAngleInDegrees:"#setAngle",getAngleInRadians:function(){if(arguments.length){var t=c.read(arguments),e=this.getLength()*t.getLength();if(u.isZero(e))return NaN;var i=this.dot(t)/e;return Math.acos(i<-1?-1:i>1?1:i)}return this.isZero()?this._angle||0:this._angle=Math.atan2(this.y,this.x)},setAngleInRadians:function(t){if(this._angle=t,!this.isZero()){var e=this.getLength();this._set(Math.cos(t)*e,Math.sin(t)*e)}},getQuadrant:function(){return this.x>=0?this.y>=0?1:4:this.y>=0?2:3}},{beans:!1,getDirectedAngle:function(){var t=c.read(arguments);return 180*Math.atan2(this.cross(t),this.dot(t))/Math.PI},getDistance:function(){var t=c.read(arguments),e=t.x-this.x,i=t.y-this.y,n=e*e+i*i;return r.read(arguments)?n:Math.sqrt(n)},normalize:function(t){t===e&&(t=1);var i=this.getLength(),n=0!==i?t/i:0,r=new c(this.x*n,this.y*n);return n>=0&&(r._angle=this._angle),r},rotate:function(t,e){if(0===t)return this.clone();t=t*Math.PI/180;var i=e?this.subtract(e):this,n=Math.sin(t),r=Math.cos(t);return i=new c(i.x*r-i.y*n,i.x*n+i.y*r),e?i.add(e):i},transform:function(t){return t?t._transformPoint(this):this},add:function(){var t=c.read(arguments);return new c(this.x+t.x,this.y+t.y)},subtract:function(){var t=c.read(arguments);return new c(this.x-t.x,this.y-t.y)},multiply:function(){var t=c.read(arguments);return new c(this.x*t.x,this.y*t.y)},divide:function(){var t=c.read(arguments);return new c(this.x/t.x,this.y/t.y)},modulo:function(){var t=c.read(arguments);return new c(this.x%t.x,this.y%t.y)},negate:function(){return new c(-this.x,-this.y)},isInside:function(){return g.read(arguments).contains(this)},isClose:function(){var t=c.read(arguments),e=r.read(arguments);return this.getDistance(t)<=e},isCollinear:function(){var t=c.read(arguments);return c.isCollinear(this.x,this.y,t.x,t.y)},isColinear:"#isCollinear",isOrthogonal:function(){var t=c.read(arguments);return c.isOrthogonal(this.x,this.y,t.x,t.y)},isZero:function(){var t=u.isZero;return t(this.x)&&t(this.y)},isNaN:function(){return isNaN(this.x)||isNaN(this.y)},isInQuadrant:function(t){return this.x*(t>1&&t<4?-1:1)>=0&&this.y*(t>2?-1:1)>=0},dot:function(){var t=c.read(arguments);return this.x*t.x+this.y*t.y},cross:function(){var t=c.read(arguments);return this.x*t.y-this.y*t.x},project:function(){var t=c.read(arguments),e=t.isZero()?0:this.dot(t)/t.dot(t);return new c(t.x*e,t.y*e)},statics:{min:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.min(t.x,e.x),Math.min(t.y,e.y))},max:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.max(t.x,e.x),Math.max(t.y,e.y))},random:function(){return new c(Math.random(),Math.random())},isCollinear:function(t,e,i,n){return Math.abs(t*n-e*i)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))},isOrthogonal:function(t,e,i,n){return Math.abs(t*i+e*n)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))}}},r.each(["round","ceil","floor","abs"],function(t){var e=Math[t];this[t]=function(){return new c(e(this.x),e(this.y))}},{})),f=c.extend({initialize:function(t,e,i,n){this._x=t,this._y=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._x=t,this._y=e,i||this._owner[this._setter](this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner[this._setter](this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner[this._setter](this)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){return"setPosition"===this._setter?4:0}}),d=r.extend({_class:"Size",_readIndex:!0,initialize:function(t,e){var i=typeof t,n=this.__read,r=0;if("number"===i){var s="number"==typeof e;this._set(t,s?e:t),n&&(r=s?2:1)}else if("undefined"===i||null===t)this._set(0,0),n&&(r=null===t?1:0);else{var a="string"===i?t.split(/[\s,]+/)||[]:t;r=1,Array.isArray(a)?this._set(+a[0],+(a.length>1?a[1]:a[0])):"width"in a?this._set(a.width||0,a.height||0):"x"in a?this._set(a.x||0,a.y||0):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.width=t,this.height=e,this},equals:function(t){return t===this||t&&(this.width===t.width&&this.height===t.height||Array.isArray(t)&&this.width===t[0]&&this.height===t[1])||!1},clone:function(){return new d(this.width,this.height)},toString:function(){var t=h.instance;return"{ width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.width),e.number(this.height)]},add:function(){var t=d.read(arguments);return new d(this.width+t.width,this.height+t.height)},subtract:function(){var t=d.read(arguments);return new d(this.width-t.width,this.height-t.height)},multiply:function(){var t=d.read(arguments);return new d(this.width*t.width,this.height*t.height)},divide:function(){var t=d.read(arguments);return new d(this.width/t.width,this.height/t.height)},modulo:function(){var t=d.read(arguments);return new d(this.width%t.width,this.height%t.height)},negate:function(){return new d(-this.width,-this.height)},isZero:function(){var t=u.isZero;return t(this.width)&&t(this.height)},isNaN:function(){return isNaN(this.width)||isNaN(this.height)},statics:{min:function(t,e){return new d(Math.min(t.width,e.width),Math.min(t.height,e.height))},max:function(t,e){return new d(Math.max(t.width,e.width),Math.max(t.height,e.height))},random:function(){return new d(Math.random(),Math.random())}}},r.each(["round","ceil","floor","abs"],function(t){var e=Math[t];this[t]=function(){return new d(e(this.width),e(this.height))}},{})),_=d.extend({initialize:function(t,e,i,n){this._width=t,this._height=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._width=t,this._height=e,i||this._owner[this._setter](this),this},getWidth:function(){return this._width},setWidth:function(t){this._width=t,this._owner[this._setter](this)},getHeight:function(){return this._height},setHeight:function(t){this._height=t,this._owner[this._setter](this)}}),g=r.extend({_class:"Rectangle",_readIndex:!0,beans:!0,initialize:function(t,i,n,s){var a,o=typeof t;if("number"===o?(this._set(t,i,n,s),a=4):"undefined"===o||null===t?(this._set(0,0,0,0),a=null===t?1:0):1===arguments.length&&(Array.isArray(t)?(this._set.apply(this,t),a=1):t.x!==e||t.width!==e?(this._set(t.x||0,t.y||0,t.width||0,t.height||0),a=1):t.from===e&&t.to===e&&(this._set(0,0,0,0),r.filter(this,t),a=1)),a===e){var h,u,l=c.readNamed(arguments,"from"),f=r.peek(arguments),_=l.x,g=l.y;if(f&&f.x!==e||r.hasNamed(arguments,"to")){var v=c.readNamed(arguments,"to");h=v.x-_,u=v.y-g,h<0&&(_=v.x,h=-h),u<0&&(g=v.y,u=-u)}else{var p=d.read(arguments);h=p.width,u=p.height}this._set(_,g,h,u),a=arguments.__index;var m=arguments.__filtered;m&&(this.__filtered=m)}return this.__read&&(this.__read=a),this},set:"#initialize",_set:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},clone:function(){return new g(this.x,this.y,this.width,this.height)},equals:function(t){var e=r.isPlainValue(t)?g.read(arguments):t;return e===this||e&&this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height||!1},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+", width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y),e.number(this.width),e.number(this.height)]},getPoint:function(t){return new(t?c:f)(this.x,this.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.x=t.x,this.y=t.y},getSize:function(t){return new(t?d:_)(this.width,this.height,this,"setSize")},_fw:1,_fh:1,setSize:function(){var t=d.read(arguments),e=this._sx,i=this._sy,n=t.width,r=t.height;e&&(this.x+=(this.width-n)*e),i&&(this.y+=(this.height-r)*i),this.width=n,this.height=r,this._fw=this._fh=1},getLeft:function(){return this.x},setLeft:function(t){if(!this._fw){var e=t-this.x;this.width-=.5===this._sx?2*e:e}this.x=t,this._sx=this._fw=0},getTop:function(){return this.y},setTop:function(t){if(!this._fh){var e=t-this.y;this.height-=.5===this._sy?2*e:e}this.y=t,this._sy=this._fh=0},getRight:function(){return this.x+this.width},setRight:function(t){if(!this._fw){var e=t-this.x;this.width=.5===this._sx?2*e:e}this.x=t-this.width,this._sx=1,this._fw=0},getBottom:function(){return this.y+this.height},setBottom:function(t){if(!this._fh){var e=t-this.y;this.height=.5===this._sy?2*e:e}this.y=t-this.height,this._sy=1,this._fh=0},getCenterX:function(){return this.x+this.width/2},setCenterX:function(t){this._fw||.5===this._sx?this.x=t-this.width/2:(this._sx&&(this.x+=2*(t-this.x)*this._sx),this.width=2*(t-this.x)),this._sx=.5,this._fw=0},getCenterY:function(){return this.y+this.height/2},setCenterY:function(t){this._fh||.5===this._sy?this.y=t-this.height/2:(this._sy&&(this.y+=2*(t-this.y)*this._sy),this.height=2*(t-this.y)),this._sy=.5,this._fh=0},getCenter:function(t){return new(t?c:f)(this.getCenterX(),this.getCenterY(),this,"setCenter")},setCenter:function(){var t=c.read(arguments);return this.setCenterX(t.x),this.setCenterY(t.y),this},getArea:function(){return this.width*this.height},isEmpty:function(){return 0===this.width||0===this.height},contains:function(t){return t&&t.width!==e||4===(Array.isArray(t)?t:arguments).length?this._containsRectangle(g.read(arguments)):this._containsPoint(c.read(arguments))},_containsPoint:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e<=this.x+this.width&&i<=this.y+this.height},_containsRectangle:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e+t.width<=this.x+this.width&&i+t.height<=this.y+this.height},intersects:function(){var t=g.read(arguments),e=r.read(arguments)||0;return t.x+t.width>this.x-e&&t.y+t.height>this.y-e&&t.x=4&&(t[1]+=n?"Y":"X");var r=t[n?0:1],s=t[n?1:0],a="get"+r,o="get"+s,h="set"+r,u="set"+s,l="set"+i;this["get"+i]=function(t){return new(t?c:f)(this[a](),this[o](),this,l)},this[l]=function(){var t=c.read(arguments);this[h](t.x),this[u](t.y)}},{beans:!0})),v=g.extend({initialize:function(t,e,i,n,r,s){this._set(t,e,i,n,!0),this._owner=r,this._setter=s},_set:function(t,e,i,n,r){return this._x=t,this._y=e,this._width=i,this._height=n,r||this._owner[this._setter](this),this}},new function(){var t=g.prototype;return r.each(["x","y","width","height"],function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._dontNotify||this._owner[this._setter](this)}},r.each(["Point","Size","Center","Left","Top","Right","Bottom","CenterX","CenterY","TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],function(e){var i="set"+e;this[i]=function(){this._dontNotify=!0,t[i].apply(this,arguments),this._dontNotify=!1,this._owner[this._setter](this)}},{isSelected:function(){return!!(2&this._owner._selection)},setSelected:function(t){var e=this._owner;e._changeSelection&&e._changeSelection(2,t)}}))}),p=r.extend({_class:"Matrix",initialize:function t(e,i){var n=arguments.length,r=!0;if(n>=6?this._set.apply(this,arguments):1===n||2===n?e instanceof t?this._set(e._a,e._b,e._c,e._d,e._tx,e._ty,i):Array.isArray(e)?this._set.apply(this,i?e.concat([i]):e):r=!1:n?r=!1:this.reset(),!r)throw new Error("Unsupported matrix parameters");return this},set:"#initialize",_set:function(t,e,i,n,r,s,a){return this._a=t,this._b=e,this._c=i,this._d=n,this._tx=r,this._ty=s,a||this._changed(),this},_serialize:function(t,e){return r.serialize(this.getValues(),t,!0,e)},_changed:function(){var t=this._owner;t&&(t._applyMatrix?t.transform(null,!0):t._changed(9))},clone:function(){return new p(this._a,this._b,this._c,this._d,this._tx,this._ty)},equals:function(t){return t===this||t&&this._a===t._a&&this._b===t._b&&this._c===t._c&&this._d===t._d&&this._tx===t._tx&&this._ty===t._ty},toString:function(){var t=h.instance;return"[["+[t.number(this._a),t.number(this._c),t.number(this._tx)].join(", ")+"], ["+[t.number(this._b),t.number(this._d),t.number(this._ty)].join(", ")+"]]"},reset:function(t){return this._a=this._d=1,this._b=this._c=this._tx=this._ty=0,t||this._changed(),this},apply:function(t,e){var i=this._owner;return!!i&&(i.transform(null,!0,r.pick(t,!0),e),this.isIdentity())},translate:function(){var t=c.read(arguments),e=t.x,i=t.y;return this._tx+=e*this._a+i*this._c,this._ty+=e*this._b+i*this._d,this._changed(),this},scale:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});return e&&this.translate(e),this._a*=t.x,this._b*=t.x,this._c*=t.y,this._d*=t.y,e&&this.translate(e.negate()),this._changed(),this},rotate:function(t){t*=Math.PI/180;var e=c.read(arguments,1),i=e.x,n=e.y,r=Math.cos(t),s=Math.sin(t),a=i-i*r+n*s,o=n-i*s-n*r,h=this._a,u=this._b,l=this._c,f=this._d;return this._a=r*h+s*l,this._b=r*u+s*f,this._c=-s*h+r*l,this._d=-s*u+r*f,this._tx+=a*h+o*l,this._ty+=a*u+o*f,this._changed(),this},shear:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});e&&this.translate(e);var i=this._a,n=this._b;return this._a+=t.y*this._c,this._b+=t.y*this._d,this._c+=t.x*i,this._d+=t.x*n,e&&this.translate(e.negate()),this._changed(),this},skew:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0}),i=Math.PI/180,n=new c(Math.tan(t.x*i),Math.tan(t.y*i));return this.shear(n,e)},append:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=t._a,o=t._c,h=t._b,u=t._d,l=t._tx,c=t._ty;this._a=a*i+h*r,this._c=o*i+u*r,this._b=a*n+h*s,this._d=o*n+u*s,this._tx+=l*i+c*r,this._ty+=l*n+c*s,e||this._changed()}return this},prepend:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=this._tx,o=this._ty,h=t._a,u=t._c,l=t._b,c=t._d,f=t._tx,d=t._ty;this._a=h*i+u*n,this._c=h*r+u*s,this._b=l*i+c*n,this._d=l*r+c*s,this._tx=h*a+u*o+f,this._ty=l*a+c*o+d,e||this._changed()}return this},appended:function(t){return this.clone().append(t)},prepended:function(t){return this.clone().prepend(t)},invert:function(){var t=this._a,e=this._b,i=this._c,n=this._d,r=this._tx,s=this._ty,a=t*n-e*i,o=null;return a&&!isNaN(a)&&isFinite(r)&&isFinite(s)&&(this._a=n/a,this._b=-e/a,this._c=-i/a,this._d=t/a,this._tx=(i*s-n*r)/a,this._ty=(e*r-t*s)/a,o=this),o},inverted:function(){return this.clone().invert()},concatenate:"#append",preConcatenate:"#prepend",chain:"#appended",_shiftless:function(){return new p(this._a,this._b,this._c,this._d,0,0)},_orNullIfIdentity:function(){return this.isIdentity()?null:this},isIdentity:function(){return 1===this._a&&0===this._b&&0===this._c&&1===this._d&&0===this._tx&&0===this._ty},isInvertible:function(){var t=this._a*this._d-this._c*this._b;return t&&!isNaN(t)&&isFinite(this._tx)&&isFinite(this._ty)},isSingular:function(){return!this.isInvertible()},transform:function(t,e,i){return arguments.length<3?this._transformPoint(c.read(arguments)):this._transformCoordinates(t,e,i)},_transformPoint:function(t,e,i){var n=t.x,r=t.y;return e||(e=new c),e._set(n*this._a+r*this._c+this._tx,n*this._b+r*this._d+this._ty,i)},_transformCoordinates:function(t,e,i){for(var n=0,r=2*i;ns[h]&&(s[h]=o)}return e||(e=new g),e._set(r[0],r[1],s[0]-r[0],s[1]-r[1],i)},inverseTransform:function(){return this._inverseTransform(c.read(arguments))},_inverseTransform:function(t,e,i){var n=this._a,r=this._b,s=this._c,a=this._d,o=this._tx,h=this._ty,u=n*a-r*s,l=null;if(u&&!isNaN(u)&&isFinite(o)&&isFinite(h)){var f=t.x-this._tx,d=t.y-this._ty;e||(e=new c),l=e._set((f*a-d*s)/u,(d*n-f*r)/u,i)}return l},decompose:function(){var t,e,i,n=this._a,r=this._b,s=this._c,a=this._d,o=n*a-r*s,h=Math.sqrt,u=Math.atan2,l=180/Math.PI;if(0!==n||0!==r){var f=h(n*n+r*r);t=Math.acos(n/f)*(r>0?1:-1),e=[f,o/f],i=[u(n*s+r*a,f*f),0]}else if(0!==s||0!==a){var d=h(s*s+a*a);t=Math.asin(s/d)*(a>0?1:-1),e=[o/d,d],i=[0,u(n*s+r*a,d*d)]}else t=0,i=e=[0,0];return{translation:this.getTranslation(),rotation:t*l,scaling:new c(e),skewing:new c(i[0]*l,i[1]*l)}},getValues:function(){return[this._a,this._b,this._c,this._d,this._tx,this._ty]},getTranslation:function(){return new c(this._tx,this._ty)},getScaling:function(){return(this.decompose()||{}).scaling},getRotation:function(){return(this.decompose()||{}).rotation},applyToContext:function(t){this.isIdentity()||t.transform(this._a,this._b,this._c,this._d,this._tx,this._ty)}},r.each(["a","b","c","d","tx","ty"],function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._changed()}},{})),m=r.extend({_class:"Line",initialize:function(t,e,i,n,r){var s=!1;arguments.length>=4?(this._px=t,this._py=e,this._vx=i,this._vy=n,s=r):(this._px=t.x,this._py=t.y,this._vx=e.x,this._vy=e.y,s=i),s||(this._vx-=this._px,this._vy-=this._py)},getPoint:function(){return new c(this._px,this._py)},getVector:function(){return new c(this._vx,this._vy)},getLength:function(){return this.getVector().getLength()},intersect:function(t,e){return m.intersect(this._px,this._py,this._vx,this._vy,t._px,t._py,t._vx,t._vy,!0,e)},getSide:function(t,e){return m.getSide(this._px,this._py,this._vx,this._vy,t.x,t.y,!0,e)},getDistance:function(t){return Math.abs(this.getSignedDistance(t))},getSignedDistance:function(t){return m.getSignedDistance(this._px,this._py,this._vx,this._vy,t.x,t.y,!0)},isCollinear:function(t){return c.isCollinear(this._vx,this._vy,t._vx,t._vy)},isOrthogonal:function(t){return c.isOrthogonal(this._vx,this._vy,t._vx,t._vy)},statics:{intersect:function(t,e,i,n,r,s,a,o,h,l){h||(i-=t,n-=e,a-=r,o-=s);var f=i*o-n*a;if(!u.isZero(f)){var d=t-r,_=e-s,g=(a*_-o*d)/f,v=(i*_-n*d)/f;if(l||-1e-12=1?1:g),new c(t+g*i,e+g*n)}},getSide:function(t,e,i,n,r,s,a,o){a||(i-=t,n-=e);var h=r-t,l=h*n-(s-e)*i;return!o&&u.isZero(l)&&(l=(h*i+h*i)/(i*i+n*n))>=0&&l<=1&&(l=0),l<0?-1:l>0?1:0},getSignedDistance:function(t,e,i,n,r,s,a){return a||(i-=t,n-=e),0===i?n>0?r-t:t-r:0===n?i<0?s-e:e-s:((r-t)*n-(s-e)*i)/Math.sqrt(i*i+n*n)},getDistance:function(t,e,i,n,r,s,a){return Math.abs(m.getSignedDistance(t,e,i,n,r,s,a))}}}),y=o.extend({_class:"Project",_list:"projects",_reference:"project",_compactSerialize:!0,initialize:function(t){o.call(this,!0),this._children=[],this._namedChildren={},this._activeLayer=null,this._currentStyle=new V(null,null,this),this._view=U.create(this,t||Q.getCanvas(1,1)),this._selectionItems={},this._selectionCount=0,this._updateVersion=0},_serialize:function(t,e){return r.serialize(this._children,t,!0,e)},_changed:function(t,e){if(1&t){var i=this._view;i&&(i._needsUpdate=!0,!i._requested&&i._autoUpdate&&i.requestUpdate())}var n=this._changes;if(n&&e){var r=this._changesById,s=e._id,a=r[s];a?a.flags|=t:n.push(r[s]={item:e,flags:t})}},clear:function(){for(var t=this._children,e=t.length-1;e>=0;e--)t[e].remove()},isEmpty:function(){return!this._children.length},remove:function t(){return!!t.base.call(this)&&(this._view&&this._view.remove(),!0)},getView:function(){return this._view},getCurrentStyle:function(){return this._currentStyle},setCurrentStyle:function(t){this._currentStyle.set(t)},getIndex:function(){return this._index},getOptions:function(){return this._scope.settings},getLayers:function(){return this._children},getActiveLayer:function(){return this._activeLayer||new b({project:this,insert:!0})},getSymbolDefinitions:function(){var t=[],e={};return this.getItems({class:P,match:function(i){var n=i._definition,r=n._id;return e[r]||(e[r]=!0,t.push(n)),!1}}),t},getSymbols:"getSymbolDefinitions",getSelectedItems:function(){var t=this._selectionItems,e=[];for(var i in t){var n=t[i],r=n._selection;1&r&&n.isInserted()?e.push(n):r||this._updateSelection(n)}return e},_updateSelection:function(t){var e=t._id,i=this._selectionItems;t._selection?i[e]!==t&&(this._selectionCount++,i[e]=t):i[e]===t&&(this._selectionCount--,delete i[e])},selectAll:function(){for(var t=this._children,e=0,i=t.length;e0){t.save(),t.strokeWidth=1;var h=this._selectionItems,u=this._scope.settings.handleSize,l=this._updateVersion;for(var f in h)h[f]._drawSelection(t,e,u,h,l);t.restore()}}}),w=r.extend(s,{statics:{extend:function t(e){return e._serializeFields&&(e._serializeFields=r.set({},this.prototype._serializeFields,e._serializeFields)),t.base.apply(this,arguments)},NO_INSERT:{insert:!1}},_class:"Item",_name:null,_applyMatrix:!0,_canApplyMatrix:!0,_canScaleStroke:!1,_pivot:null,_visible:!0,_blendMode:"normal",_opacity:1,_locked:!1,_guide:!1,_clipMask:!1,_selection:0,_selectBounds:!0,_selectChildren:!1,_serializeFields:{name:null,applyMatrix:null,matrix:new p,pivot:null,visible:!0,blendMode:"normal",opacity:1,locked:!1,guide:!1,clipMask:!1,selected:!1,data:{}},_prioritize:["applyMatrix"]},new function(){var t=["onMouseDown","onMouseUp","onMouseDrag","onClick","onDoubleClick","onMouseMove","onMouseEnter","onMouseLeave"];return r.each(t,function(t){this._events[t]={install:function(t){this.getView()._countItemEvent(t,1)},uninstall:function(t){this.getView()._countItemEvent(t,-1)}}},{_events:{onFrame:{install:function(){this.getView()._animateItem(this,!0)},uninstall:function(){this.getView()._animateItem(this,!1)}},onLoad:{},onError:{}},statics:{_itemHandlers:t}})},{initialize:function(){},_initialize:function(t,i){var n=t&&r.isPlainObject(t),s=n&&!0===t.internal,a=this._matrix=new p,o=n&&t.project||paper.project,h=paper.settings;return this._id=s?null:l.get(),this._parent=this._index=null,this._applyMatrix=this._canApplyMatrix&&h.applyMatrix,i&&a.translate(i),a._owner=this,this._style=new V(o._currentStyle,this,o),s||n&&0==t.insert||!h.insertItems&&(!n||!0!==t.insert)?this._setProject(o):(n&&t.parent||o)._insertItem(e,this,!0),n&&t!==w.NO_INSERT&&this.set(t,{internal:!0,insert:!0,project:!0,parent:!0}),n},_serialize:function(t,e){function i(i){for(var a in i){var o=s[a];r.equals(o,"leading"===a?1.2*i.fontSize:i[a])||(n[a]=r.serialize(o,t,"data"!==a,e))}}var n={},s=this;return i(this._serializeFields),this instanceof x||i(this._style._defaults),[this._class,n]},_changed:function(t){var i=this._symbol,n=this._parent||i,r=this._project;8&t&&(this._bounds=this._position=this._decomposed=this._globalMatrix=e),n&&40&t&&w._clearBoundsCache(n),2&t&&w._clearBoundsCache(this),r&&r._changed(t,this),i&&i._changed(t)},getId:function(){return this._id},getName:function(){return this._name},setName:function(t){if(this._name&&this._removeNamed(),t===+t+"")throw new Error("Names consisting only of numbers are not supported.");var i=this._getOwner();if(t&&i){var n=i._children,r=i._namedChildren;(r[t]=r[t]||[]).push(this),t in n||(n[t]=this)}this._name=t||e,this._changed(128)},getStyle:function(){return this._style},setStyle:function(t){this.getStyle().set(t)}},r.each(["locked","visible","blendMode","opacity","guide"],function(t){var e=r.capitalize(t),i="_"+t,n={locked:128,visible:137};this["get"+e]=function(){return this[i]},this["set"+e]=function(e){e!=this[i]&&(this[i]=e,this._changed(n[t]||129))}},{}),{beans:!0,getSelection:function(){return this._selection},setSelection:function(t){if(t!==this._selection){this._selection=t;var e=this._project;e&&(e._updateSelection(this),this._changed(129))}},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){if(this._selectChildren)for(var t=this._children,e=0,i=t.length;e=0;i--)if(e[i].contains(t))return!0;return!1}return t.isInside(this.getInternalBounds())},isInside:function(){return g.read(arguments).contains(this.getBounds())},_asPathItem:function(){return new L.Rectangle({rectangle:this.getInternalBounds(),matrix:this._matrix,insert:!1})},intersects:function(t,e){return t instanceof w&&this._asPathItem().getIntersections(t._asPathItem(),null,e,!0).length>0}},new function(){function t(){return this._hitTest(c.read(arguments),M.getOptions(arguments))}function e(){var t=c.read(arguments),e=M.getOptions(arguments),i=[];return this._hitTest(t,r.set({all:i},e)),i}function i(t,e,i,n){var r=this._children;if(r)for(var s=r.length-1;s>=0;s--){var a=r[s],o=a!==n&&a._hitTest(t,e,i);if(o&&!e.all)return o}return null}return y.inject({hitTest:t,hitTestAll:e,_hitTest:i}),{hitTest:t,hitTestAll:e,_hitTestChildren:i}},{_hitTest:function(t,e,i){function n(t){return t&&_&&!_(t)&&(t=null),t&&e.all&&e.all.push(t),t}function s(e,i){var n=i?l["get"+i]():g.getPosition();if(t.subtract(n).divide(u).length<=1)return new M(e,g,{name:i?r.hyphenate(i):e,point:n})}if(this._locked||!this._visible||this._guide&&!e.guides||this.isEmpty())return null;var a=this._matrix,o=i?i.appended(a):this.getGlobalMatrix().prepend(this.getView()._matrix),h=Math.max(e.tolerance,1e-12),u=e._tolerancePadding=new d(L._getStrokePadding(h,a._shiftless().invert()));if(!(t=a._inverseTransform(t))||!this._children&&!this.getBounds({internal:!0,stroke:!0,handle:!0}).expand(u.multiply(2))._containsPoint(t))return null;var l,c,f=!(e.guides&&!this._guide||e.selected&&!this.isSelected()||e.type&&e.type!==r.hyphenate(this._class)||e.class&&!(this instanceof e.class)),_=e.match,g=this,v=e.position,p=e.center,m=e.bounds;if(f&&this._parent&&(v||p||m)){if((p||m)&&(l=this.getInternalBounds()),!(c=v&&s("position")||p&&s("center","Center"))&&m)for(var y=["TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],w=0;w<8&&!c;w++)c=s("bounds",y[w]);c=n(c)}return c||(c=this._hitTestChildren(t,e,o)||f&&n(this._hitTestSelf(t,e,o,this.getStrokeScaling()?null:o._shiftless().invert()))||null),c&&c.point&&(c.point=a.transform(c.point)),c},_hitTestSelf:function(t,e){if(e.fill&&this.hasFill()&&this._contains(t))return new M("fill",this)},matches:function(t,e){function i(t,e){for(var n in t)if(t.hasOwnProperty(n)){var s=t[n],a=e[n];if(r.isPlainObject(s)&&r.isPlainObject(a)){if(!i(s,a))return!1}else if(!r.equals(s,a))return!1}return!0}var n=typeof t;if("object"===n){for(var s in t)if(t.hasOwnProperty(s)&&!this.matches(s,t[s]))return!1;return!0}if("function"===n)return t(this);if("match"===t)return e(this);var a=/^(empty|editable)$/.test(t)?this["is"+r.capitalize(t)]():"type"===t?r.hyphenate(this._class):this[t];if("class"===t){if("function"==typeof e)return this instanceof e;a=this._class}if("function"==typeof e)return!!e(a);if(e){if(e.test)return e.test(a);if(r.isPlainObject(e))return i(e,a)}return r.equals(a,e)},getItems:function(t){return w._getItems(this,t,this._matrix)},getItem:function(t){return w._getItems(this,t,this._matrix,null,!0)[0]||null},statics:{_getItems:function t(e,i,n,s,a){if(!s){var o="object"==typeof i&&i,h=o&&o.overlapping,u=o&&o.inside,l=(w=h||u)&&g.read([w]);s={items:[],recursive:o&&!1!==o.recursive,inside:!!u,overlapping:!!h,rect:l,path:h&&new L.Rectangle({rectangle:l,insert:!1})},o&&(i=r.filter({},i,{recursive:!0,inside:!0,overlapping:!0}))}var c=e._children,f=s.items;n=(l=s.rect)&&(n||new p);for(var d=0,_=c&&c.length;d<_;d++){var v=c[d],m=n&&n.appended(v._matrix),y=!0;if(l){var w=v.getBounds(m);if(!l.intersects(w))continue;l.contains(w)||s.overlapping&&(w.contains(l)||s.path.intersects(v,m))||(y=!1)}if(y&&v.matches(i)&&(f.push(v),a))break;if(!1!==s.recursive&&t(v,i,m,s,a),a&&f.length>0)break}return f}}},{importJSON:function(t){var e=r.importJSON(t,this);return e!==this?this.addChild(e):e},addChild:function(t){return this.insertChild(e,t)},insertChild:function(t,e){var i=e?this.insertChildren(t,[e]):null;return i&&i[0]},addChildren:function(t){return this.insertChildren(this._children.length,t)},insertChildren:function(t,e){var i=this._children;if(i&&e&&e.length>0){for(var n={},s=(e=r.slice(e)).length-1;s>=0;s--){var a=(l=e[s])&&l._id;!l||n[a]?e.splice(s,1):(l._remove(!1,!0),n[a]=!0)}r.splice(i,e,t,0);for(var o=this._project,h=o._changes,s=0,u=e.length;s=0;n--)i[n]._remove(!0,!1);return i.length>0&&this._changed(11),i},clear:"#removeChildren",reverseChildren:function(){if(this._children){this._children.reverse();for(var t=0,e=this._children.length;t0},isInserted:function(){return!!this._parent&&this._parent.isInserted()},isAbove:function(t){return-1===this._getOrder(t)},isBelow:function(t){return 1===this._getOrder(t)},isParent:function(t){return this._parent===t},isChild:function(t){return t&&t._parent===this},isDescendant:function(t){for(var e=this;e=e._parent;)if(e===t)return!0;return!1},isAncestor:function(t){return!!t&&t.isDescendant(this)},isSibling:function(t){return this._parent===t._parent},isGroupedWith:function(t){for(var e=this._parent;e;){if(e._parent&&/^(Group|Layer|CompoundPath)$/.test(e._class)&&t.isDescendant(e))return!0;e=e._parent}return!1}},r.each(["rotate","scale","shear","skew"],function(t){var e="rotate"===t;this[t]=function(){var i=(e?r:c).read(arguments),n=c.read(arguments,0,{readNull:!0});return this.transform((new p)[t](i,n||this.getPosition(!0)))}},{translate:function(){var t=new p;return this.transform(t.translate.apply(t,arguments))},transform:function(t,e,i,n){var r=this._matrix,s=t&&!t.isIdentity(),a=(e||this._applyMatrix)&&(!r.isIdentity()||s||e&&i&&this._children);if(!s&&!a)return this;if(s){!t.isInvertible()&&r.isInvertible()&&(r._backup=r.getValues()),r.prepend(t,!0);var o=this._style,h=o.getFillColor(!0),u=o.getStrokeColor(!0);h&&h.transform(t),u&&u.transform(t)}if(a&&(a=this._transformContent(r,i,n))){var l=this._pivot;l&&r._transformPoint(l,l,!0),r.reset(!0),n&&this._canApplyMatrix&&(this._applyMatrix=!0)}var c=this._bounds,f=this._position;(s||a)&&this._changed(9);var d=s&&c&&t.decompose();if(d&&d.skewing.isZero()&&d.rotation%90==0){for(var _ in c){var g=c[_];if(g.nonscaling)delete c[_];else if(a||!g.internal){var v=g.rect;t._transformBounds(v,v)}}this._bounds=c;var p=c[this._getBoundsCacheKey(this._boundsOptions||{})];p&&(this._position=p.rect.getCenter(!0))}else s&&f&&this._pivot&&(this._position=t._transformPoint(f,f));return this},_transformContent:function(t,e,i){var n=this._children;if(n){for(var r=0,s=n.length;rr:n1&&s<4?-1:1,s>2?-1:1),o=a.multiply(r),h=o.subtract(a.multiply(n));if(new g(i?o.add(a.multiply(i)):o,h).contains(e))return{point:h,quadrant:s}}}function e(t,e,i,n){var r=t.divide(e);return(!n||r.isInQuadrant(n))&&r.subtract(r.normalize()).multiply(e).divide(i).length<=1}return{_contains:function e(i){if("rectangle"===this._type){var n=t(this,i);return n?i.subtract(n.point).divide(this._radius).getLength()<=1:e.base.call(this,i)}return i.divide(this.size).getLength()<=.5},_hitTestSelf:function i(n,r,s,a){var o=!1,h=this._style,u=r.stroke&&h.hasStroke(),l=r.fill&&h.hasFill();if(u||l){var c=this._type,f=this._radius,d=u?h.getStrokeWidth()/2:0,_=r._tolerancePadding.add(L._getStrokePadding(d,!h.getStrokeScaling()&&a));if("rectangle"===c){var v=_.multiply(2),p=t(this,n,v);if(p)o=e(n.subtract(p.point),f,_,p.quadrant);else{var m=new g(this._size).setCenter(0,0),y=m.expand(v),w=m.expand(v.negate());o=y._containsPoint(n)&&!w._containsPoint(n)}}else o=e(n,f,_)}return o?new M(u?"stroke":"fill",this):i.base.apply(this,arguments)}}},{statics:new function(){function t(t,e,i,n,s){var a=new C(r.getNamed(s),e);return a._type=t,a._size=i,a._radius=n,a}return{Circle:function(){var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return t("circle",e,new d(2*i),i,arguments)},Rectangle:function(){var e=g.readNamed(arguments,"rectangle"),i=d.min(d.readNamed(arguments,"radius"),e.getSize(!0).divide(2));return t("rectangle",e.getCenter(!0),e.getSize(!0),i,arguments)},Ellipse:function(){var e=C._readEllipse(arguments),i=e.radius;return t("ellipse",e.center,i.multiply(2),i,arguments)},_readEllipse:function(t){var e,i;if(r.hasNamed(t,"radius"))e=c.readNamed(t,"center"),i=d.readNamed(t,"radius");else{var n=g.readNamed(t,"rectangle");e=n.getCenter(!0),i=n.getSize(!0).divide(2)}return{center:e,radius:i}}}}}),S=w.extend({_class:"Raster",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!1,handle:!1},_serializeFields:{crossOrigin:null,source:null},_prioritize:["crossOrigin"],initialize:function(t,i){if(!this._initialize(t,i!==e&&c.read(arguments,1))){var r="string"==typeof t?n.getElementById(t):t;r?this.setImage(r):this.setSource(t)}this._size||(this._size=new d,this._loaded=!1)},_equals:function(t){return this.getSource()===t.getSource()},copyContent:function(t){var e=t._image,i=t._canvas;if(e)this._setImage(e);else if(i){var n=Q.getCanvas(t._size);n.getContext("2d").drawImage(i,0,0),this._setImage(n)}this._crossOrigin=t._crossOrigin},getSize:function(){var t=this._size;return new _(t?t.width:0,t?t.height:0,this,"setSize")},setSize:function(){var t=d.read(arguments);if(!t.equals(this._size))if(t.width>0&&t.height>0){var e=this.getElement();this._setImage(Q.getCanvas(t)),e&&this.getContext(!0).drawImage(e,0,0,t.width,t.height)}else this._canvas&&Q.release(this._canvas),this._size=t.clone()},getWidth:function(){return this._size?this._size.width:0},setWidth:function(t){this.setSize(t,this.getHeight())},getHeight:function(){return this._size?this._size.height:0},setHeight:function(t){this.setSize(this.getWidth(),t)},getLoaded:function(){return this._loaded},isEmpty:function(){var t=this._size;return!t||0===t.width&&0===t.height},getResolution:function(){var t=this._matrix,e=new c(0,0).transform(t),i=new c(1,0).transform(t).subtract(e),n=new c(0,1).transform(t).subtract(e);return new d(72/i.getLength(),72/n.getLength())},getPpi:"#getResolution",getImage:function(){return this._image},setImage:function(t){function e(t){var e=i.getView(),n=t&&t.type||"load";e&&i.responds(n)&&(paper=e._scope,i.emit(n,new G(t)))}var i=this;this._setImage(t),this._loaded?setTimeout(e,0):t&&Z.add(t,{load:function(n){i._setImage(t),e(n)},error:e})},_setImage:function(t){this._canvas&&Q.release(this._canvas),t&&t.getContext?(this._image=null,this._canvas=t,this._loaded=!0):(this._image=t,this._canvas=null,this._loaded=!!(t&&t.src&&t.complete)),this._size=new d(t?t.naturalWidth||t.width:0,t?t.naturalHeight||t.height:0),this._context=null,this._changed(521)},getCanvas:function(){if(!this._canvas){var t=Q.getContext(this._size);try{this._image&&t.drawImage(this._image,0,0),this._canvas=t.canvas}catch(e){Q.release(t)}}return this._canvas},setCanvas:"#setImage",getContext:function(t){return this._context||(this._context=this.getCanvas().getContext("2d")),t&&(this._image=null,this._changed(513)),this._context},setContext:function(t){this._context=t},getSource:function(){var t=this._image;return t&&t.src||this.toDataURL()},setSource:function(e){var i=new t.Image,n=this._crossOrigin;n&&(i.crossOrigin=n),i.src=e,this.setImage(i)},getCrossOrigin:function(){var t=this._image;return t&&t.crossOrigin||this._crossOrigin||""},setCrossOrigin:function(t){this._crossOrigin=t;var e=this._image;e&&(e.crossOrigin=t)},getElement:function(){return this._canvas||this._loaded&&this._image}},{beans:!1,getSubCanvas:function(){var t=g.read(arguments),e=Q.getContext(t.getSize());return e.drawImage(this.getCanvas(),t.x,t.y,t.width,t.height,0,0,t.width,t.height),e.canvas},getSubRaster:function(){var t=g.read(arguments),e=new S(w.NO_INSERT);return e._setImage(this.getSubCanvas(t)),e.translate(t.getCenter().subtract(this.getSize().divide(2))),e._matrix.prepend(this._matrix),e.insertAbove(this),e},toDataURL:function(){var t=this._image,e=t&&t.src;if(/^data:/.test(e))return e;var i=this.getCanvas();return i?i.toDataURL.apply(i,arguments):null},drawImage:function(t){var e=c.read(arguments,1);this.getContext(!0).drawImage(t,e.x,e.y)},getAverageColor:function(t){var e,i;if(t?t instanceof A?(i=t,e=t.getBounds()):"object"==typeof t&&("width"in t?e=new g(t):"x"in t&&(e=new g(t.x-.5,t.y-.5,1,1))):e=this.getBounds(),!e)return null;var n=Math.min(e.width,32),s=Math.min(e.height,32),a=S._sampleContext;a?a.clearRect(0,0,33,33):a=S._sampleContext=Q.getContext(new d(32)),a.save();var o=(new p).scale(n/e.width,s/e.height).translate(-e.x,-e.y);o.applyToContext(a),i&&i.draw(a,new r({clip:!0,matrices:[o]})),this._matrix.applyToContext(a);var h=this.getElement(),u=this._size;h&&a.drawImage(h,-u.width/2,-u.height/2),a.restore();for(var l=a.getImageData(.5,.5,Math.ceil(n),Math.ceil(s)).data,c=[0,0,0],f=0,_=0,v=l.length;_0&&(null==t||"object"==typeof t?1===c&&t&&"point"in t?(o=t.point,h=t.handleIn,u=t.handleOut,l=t.selection):(o=t,h=i,u=n,l=r):(o=[t,i],h=n!==e?[n,r]:null,u=s!==e?[s,a]:null)),new z(o,this,"_point"),new z(h,this,"_handleIn"),new z(u,this,"_handleOut"),l&&this.setSelection(l)},_serialize:function(t,e){var i=this._point,n=this._selection,s=n||this.hasHandles()?[i,this._handleIn,this._handleOut]:i;return n&&s.push(n),r.serialize(s,t,!0,e)},_changed:function(t){var e=this._path;if(e){var i,n=e._curves,r=this._index;n&&(t&&t!==this._point&&t!==this._handleIn||!(i=r>0?n[r-1]:e._closed?n[n.length-1]:null)||i._changed(),t&&t!==this._point&&t!==this._handleOut||!(i=n[r])||i._changed()),e._changed(25)}},getPoint:function(){return this._point},setPoint:function(){this._point.set(c.read(arguments))},getHandleIn:function(){return this._handleIn},setHandleIn:function(){this._handleIn.set(c.read(arguments))},getHandleOut:function(){return this._handleOut},setHandleOut:function(){this._handleOut.set(c.read(arguments))},hasHandles:function(){return!this._handleIn.isZero()||!this._handleOut.isZero()},isSmooth:function(){var t=this._handleIn,e=this._handleOut;return!t.isZero()&&!e.isZero()&&t.isCollinear(e)},clearHandles:function(){this._handleIn._set(0,0),this._handleOut._set(0,0)},getSelection:function(){return this._selection},setSelection:function(t){var e=this._selection,i=this._path;this._selection=t=t||0,i&&t!==e&&(i._updateSelection(this,e,t),i._changed(129))},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){return!!(7&this._selection)},setSelected:function(t){this._changeSelection(7,t)},getIndex:function(){return this._index!==e?this._index:null},getPath:function(){return this._path||null},getCurve:function(){var t=this._path,e=this._index;return t?(e>0&&!t._closed&&e===t._segments.length-1&&e--,t.getCurves()[e]||null):null},getLocation:function(){var t=this.getCurve();return t?new O(t,this===t._segment1?0:1):null},getNext:function(){var t=this._path&&this._path._segments;return t&&(t[this._index+1]||this._path._closed&&t[0])||null},smooth:function(t,i,n){var r=t||{},s=r.type,a=r.factor,o=this.getPrevious(),h=this.getNext(),u=(o||this)._point,l=this._point,f=(h||this)._point,d=u.getDistance(l),_=l.getDistance(f);if(s&&"catmull-rom"!==s){if("geometric"!==s)throw new Error("Smoothing method '"+s+"' not supported.");if(o&&h){var g=u.subtract(f),v=a===e?.4:a,p=v*d/(d+_);i||this.setHandleIn(g.multiply(p)),n||this.setHandleOut(g.multiply(p-v))}}else{var m=a===e?.5:a,y=Math.pow(d,m),w=y*y,x=Math.pow(_,m),b=x*x;if(!i&&o){var C=2*b+3*x*y+w,S=3*x*(x+y);this.setHandleIn(0!==S?new c((b*u._x+C*l._x-w*f._x)/S-l._x,(b*u._y+C*l._y-w*f._y)/S-l._y):new c)}if(!n&&h){var C=2*w+3*y*x+b,S=3*y*(y+x);this.setHandleOut(0!==S?new c((w*f._x+C*l._x-b*u._x)/S-l._x,(w*f._y+C*l._y-b*u._y)/S-l._y):new c)}}},getPrevious:function(){var t=this._path&&this._path._segments;return t&&(t[this._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._index},isLast:function(){var t=this._path;return t&&this._index===t._segments.length-1||!1},reverse:function(){var t=this._handleIn,e=this._handleOut,i=t.clone();t.set(e),e.set(i)},reversed:function(){return new T(this._point,this._handleOut,this._handleIn)},remove:function(){return!!this._path&&!!this._path.removeSegment(this._index)},clone:function(){return new T(this._point,this._handleIn,this._handleOut)},equals:function(t){return t===this||t&&this._class===t._class&&this._point.equals(t._point)&&this._handleIn.equals(t._handleIn)&&this._handleOut.equals(t._handleOut)||!1},toString:function(){var t=["point: "+this._point];return this._handleIn.isZero()||t.push("handleIn: "+this._handleIn),this._handleOut.isZero()||t.push("handleOut: "+this._handleOut),"{ "+t.join(", ")+" }"},transform:function(t){this._transformCoordinates(t,new Array(6),!0),this._changed()},interpolate:function(t,e,i){var n=1-i,r=i,s=t._point,a=e._point,o=t._handleIn,h=e._handleIn,u=e._handleOut,l=t._handleOut;this._point._set(n*s._x+r*a._x,n*s._y+r*a._y,!0),this._handleIn._set(n*o._x+r*h._x,n*o._y+r*h._y,!0),this._handleOut._set(n*l._x+r*u._x,n*l._y+r*u._y,!0),this._changed()},_transformCoordinates:function(t,e,i){var n=this._point,r=i&&this._handleIn.isZero()?null:this._handleIn,s=i&&this._handleOut.isZero()?null:this._handleOut,a=n._x,o=n._y,h=2;return e[0]=a,e[1]=o,r&&(e[h++]=r._x+a,e[h++]=r._y+o),s&&(e[h++]=s._x+a,e[h++]=s._y+o),t&&(t._transformCoordinates(e,e,h/2),a=e[0],o=e[1],i?(n._x=a,n._y=o,h=2,r&&(r._x=e[h++]-a,r._y=e[h++]-o),s&&(s._x=e[h++]-a,s._y=e[h++]-o)):(r||(e[h++]=a,e[h++]=o),s||(e[h++]=a,e[h++]=o))),e}}),z=c.extend({initialize:function(t,i,n){var r,s,a;if(t)if((r=t[0])!==e)s=t[1];else{var o=t;(r=o.x)===e&&(r=(o=c.read(arguments)).x),s=o.y,a=o.selected}else r=s=0;this._x=r,this._y=s,this._owner=i,i[n]=this,a&&this.setSelected(!0)},_set:function(t,e){return this._x=t,this._y=e,this._owner._changed(this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner._changed(this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner._changed(this)},isZero:function(){var t=u.isZero;return t(this._x)&&t(this._y)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){var t=this._owner;return this===t._point?1:this===t._handleIn?2:this===t._handleOut?4:0}}),k=r.extend({_class:"Curve",beans:!0,initialize:function(t,e,i,n,r,s,a,o){var h,u,l,c,f,d,_=arguments.length;3===_?(this._path=t,h=e,u=i):_?1===_?"segment1"in t?(h=new T(t.segment1),u=new T(t.segment2)):"point1"in t?(l=t.point1,f=t.handle1,d=t.handle2,c=t.point2):Array.isArray(t)&&(l=[t[0],t[1]],c=[t[6],t[7]],f=[t[2]-t[0],t[3]-t[1]],d=[t[4]-t[6],t[5]-t[7]]):2===_?(h=new T(t),u=new T(e)):4===_?(l=t,f=e,d=i,c=n):8===_&&(l=[t,e],c=[a,o],f=[i-t,n-e],d=[r-a,s-o]):(h=new T,u=new T),this._segment1=h||new T(l,null,f),this._segment2=u||new T(c,d,null)},_serialize:function(t,e){return r.serialize(this.hasHandles()?[this.getPoint1(),this.getHandle1(),this.getHandle2(),this.getPoint2()]:[this.getPoint1(),this.getPoint2()],t,!0,e)},_changed:function(){this._length=this._bounds=e},clone:function(){return new k(this._segment1,this._segment2)},toString:function(){var t=["point1: "+this._segment1._point];return this._segment1._handleOut.isZero()||t.push("handle1: "+this._segment1._handleOut),this._segment2._handleIn.isZero()||t.push("handle2: "+this._segment2._handleIn),t.push("point2: "+this._segment2._point),"{ "+t.join(", ")+" }"},classify:function(){return k.classify(this.getValues())},remove:function(){var t=!1;if(this._path){var e=this._segment2,i=e._handleOut;(t=e.remove())&&this._segment1._handleOut.set(i)}return t},getPoint1:function(){return this._segment1._point},setPoint1:function(){this._segment1._point.set(c.read(arguments))},getPoint2:function(){return this._segment2._point},setPoint2:function(){this._segment2._point.set(c.read(arguments))},getHandle1:function(){return this._segment1._handleOut},setHandle1:function(){this._segment1._handleOut.set(c.read(arguments))},getHandle2:function(){return this._segment2._handleIn},setHandle2:function(){this._segment2._handleIn.set(c.read(arguments))},getSegment1:function(){return this._segment1},getSegment2:function(){return this._segment2},getPath:function(){return this._path},getIndex:function(){return this._segment1._index},getNext:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index+1]||this._path._closed&&t[0])||null},getPrevious:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._segment1._index},isLast:function(){var t=this._path;return t&&this._segment1._index===t._curves.length-1||!1},isSelected:function(){return this.getPoint1().isSelected()&&this.getHandle1().isSelected()&&this.getHandle2().isSelected()&&this.getPoint2().isSelected()},setSelected:function(t){this.getPoint1().setSelected(t),this.getHandle1().setSelected(t),this.getHandle2().setSelected(t),this.getPoint2().setSelected(t)},getValues:function(t){return k.getValues(this._segment1,this._segment2,t)},getPoints:function(){for(var t=this.getValues(),e=[],i=0;i<8;i+=2)e.push(new c(t[i],t[i+1]));return e}},{getLength:function(){return null==this._length&&(this._length=k.getLength(this.getValues(),0,1)),this._length},getArea:function(){return k.getArea(this.getValues())},getLine:function(){return new m(this._segment1._point,this._segment2._point)},getPart:function(t,e){return new k(k.getPart(this.getValues(),t,e))},getPartLength:function(t,e){return k.getLength(this.getValues(),t,e)},divideAt:function(t){return this.divideAtTime(t&&t.curve===this?t.time:this.getTimeAt(t))},divideAtTime:function(t,e){var i=null;if(t>=1e-8&&t<=1-1e-8){var n=k.subdivide(this.getValues(),t),r=n[0],s=n[1],a=e||this.hasHandles(),o=this._segment1,h=this._segment2,u=this._path;a&&(o._handleOut._set(r[2]-r[0],r[3]-r[1]),h._handleIn._set(s[4]-s[6],s[5]-s[7]));var l=r[6],f=r[7],d=new T(new c(l,f),a&&new c(r[4]-l,r[5]-f),a&&new c(s[2]-l,s[3]-f));u?(u.insert(o._index+1,d),i=this.getNext()):(this._segment2=d,this._changed(),i=new k(d,h))}return i},splitAt:function(t){var e=this._path;return e?e.splitAt(t):null},splitAtTime:function(t){return this.splitAt(this.getLocationAtTime(t))},divide:function(t,i){return this.divideAtTime(t===e?.5:i?t:this.getTimeAt(t))},split:function(t,i){return this.splitAtTime(t===e?.5:i?t:this.getTimeAt(t))},reversed:function(){return new k(this._segment2.reversed(),this._segment1.reversed())},clearHandles:function(){this._segment1._handleOut._set(0,0),this._segment2._handleIn._set(0,0)},statics:{getValues:function(t,e,i,n){var r=t._point,s=t._handleOut,a=e._handleIn,o=e._point,h=r.x,u=r.y,l=o.x,c=o.y,f=n?[h,u,h,u,l,c,l,c]:[h,u,h+s._x,u+s._y,l+a._x,c+a._y,l,c];return i&&i._transformCoordinates(f,f,4),f},subdivide:function(t,i){var n=t[0],r=t[1],s=t[2],a=t[3],o=t[4],h=t[5],u=t[6],l=t[7];i===e&&(i=.5);var c=1-i,f=c*n+i*s,d=c*r+i*a,_=c*s+i*o,g=c*a+i*h,v=c*o+i*u,p=c*h+i*l,m=c*f+i*_,y=c*d+i*g,w=c*_+i*v,x=c*g+i*p,b=c*m+i*w,C=c*y+i*x;return[[n,r,f,d,m,y,b,C],[b,C,w,x,v,p,u,l]]},getMonoCurves:function(t,e){var i=[],n=e?0:1,r=t[n+0],s=t[n+2],a=t[n+4],o=t[n+6];if(r>=s==s>=a&&s>=a==a>=o||k.isStraight(t))i.push(t);else{var h=3*(s-a)-r+o,l=2*(r+a)-4*s,c=s-r,f=[],d=u.solveQuadratic(h,l,c,f,1e-8,1-1e-8);if(d){f.sort();var _=f[0],g=k.subdivide(t,_);i.push(g[0]),d>1&&(_=(f[1]-_)/(1-_),g=k.subdivide(g[1],_),i.push(g[0])),i.push(g[1])}else i.push(t)}return i},solveCubic:function(t,e,i,n,r,s){var a=t[e],o=t[e+2],h=t[e+4],l=t[e+6],c=0;if(!(ai&&l>i&&o>i&&h>i)){var f=3*(o-a),d=3*(h-o)-f,_=l-a-f-d;c=u.solveCubic(_,d,f,a-i,n,r,s)}return c},getTimeOf:function(t,e){var i=new c(t[0],t[1]),n=new c(t[6],t[7]);if(null===(e.isClose(i,1e-12)?0:e.isClose(n,1e-12)?1:null))for(var r=[e.x,e.y],s=[],a=0;a<2;a++)for(var o=k.solveCubic(t,a,r[a],s,0,1),h=0;h=0&&i<=1){var n=e.getDistance(k.getPoint(t,i),!0);if(n.999999999999?1:k.getTimeOf(t,new c(n+h*s,r+h*a))}for(var u=1/0,l=0,f=0;f<=100;f++)i(f/100);for(var d=.005;d>1e-8;)i(l-d)||i(l+d)||(d/=2);return l},getPart:function(t,e,i){var n=e>i;if(n){var r=e;e=i,i=r}return e>0&&(t=k.subdivide(t,e)[1]),i<1&&(t=k.subdivide(t,(i-e)/(1-e))[0]),n?[t[6],t[7],t[4],t[5],t[2],t[3],t[0],t[1]]:t},isFlatEnough:function(t,e){var i=t[0],n=t[1],r=t[2],s=t[3],a=t[4],o=t[5],h=t[6],u=t[7],l=3*r-2*i-h,c=3*s-2*n-u,f=3*a-2*h-i,d=3*o-2*u-n;return Math.max(l*l,f*f)+Math.max(c*c,d*d)<=16*e*e},getArea:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7];return 3*((h-i)*(n+s)-(o-e)*(r+a)+r*(e-s)-n*(i-a)+h*(s+e/3)-o*(a+i/3))/20},getBounds:function(t){for(var e=t.slice(0,2),i=e.slice(),n=[0,0],r=0;r<2;r++)k._addBounds(t[r],t[r+2],t[r+4],t[r+6],r,0,e,i,n);return new g(e[0],e[1],i[0]-e[0],i[1]-e[1])},_addBounds:function(t,e,i,n,r,s,a,o,h){function l(t,e){var i=t-e,n=t+e;io[r]&&(o[r]=n)}s/=2;var c=a[r]-s,f=o[r]+s;if(tf||e>f||i>f||n>f)if(e=0&&o<=1&&h<=0&&h>=-1}}return!1},isLinear:function(t,e,i,n){var r=n.subtract(t).divide(3);return e.equals(r)&&i.negate().equals(r)}},function(t,e){this[e]=function(e){var i=this._segment1,n=this._segment2;return t(i._point,i._handleOut,n._handleIn,n._point,e)},this.statics[e]=function(e,i){var n=e[0],r=e[1],s=e[6],a=e[7];return t(new c(n,r),new c(e[2]-n,e[3]-r),new c(e[4]-s,e[5]-a),new c(s,a),i)}},{statics:{},hasHandles:function(){return!this._segment1._handleOut.isZero()||!this._segment2._handleIn.isZero()},hasLength:function(t){return(!this.getPoint1().equals(this.getPoint2())||this.hasHandles())&&this.getLength()>(t||0)},isCollinear:function(t){return t&&this.isStraight()&&t.isStraight()&&this.getLine().isCollinear(t.getLine())},isHorizontal:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).y)<1e-8},isVertical:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).x)<1e-8}}),{beans:!1,getLocationAt:function(t,e){return this.getLocationAtTime(e?t:this.getTimeAt(t))},getLocationAtTime:function(t){return null!=t&&t>=0&&t<=1?new O(this,t):null},getTimeAt:function(t,e){return k.getTimeAt(this.getValues(),t,e)},getParameterAt:"#getTimeAt",getOffsetAtTime:function(t){return this.getPartLength(0,t)},getLocationOf:function(){return this.getLocationAtTime(this.getTimeOf(c.read(arguments)))},getOffsetOf:function(){var t=this.getLocationOf.apply(this,arguments);return t?t.getOffset():null},getTimeOf:function(){return k.getTimeOf(this.getValues(),c.read(arguments))},getParameterOf:"#getTimeOf",getNearestLocation:function(){var t=c.read(arguments),e=this.getValues(),i=k.getNearestTime(e,t),n=k.getPoint(e,i);return new O(this,i,n,null,t.getDistance(n))},getNearestPoint:function(){var t=this.getNearestLocation.apply(this,arguments);return t?t.getPoint():t}},new function(){var t=["getPoint","getTangent","getNormal","getWeightedTangent","getWeightedNormal","getCurvature"];return r.each(t,function(t){this[t+"At"]=function(e,i){var n=this.getValues();return k[t](n,i?e:k.getTimeAt(n,e))},this[t+"AtTime"]=function(e){return k[t](this.getValues(),e)}},{statics:{_evaluateMethods:t}})},new function(){function t(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=9*(n-s)+3*(t[6]-e),h=6*(e+s)-12*n,u=3*(n-e),l=9*(r-a)+3*(t[7]-i),c=6*(i+a)-12*r,f=3*(r-i);return function(t){var e=(o*t+h)*t+u,i=(l*t+c)*t+f;return Math.sqrt(e*e+i*i)}}function i(t,e){return Math.max(2,Math.min(16,Math.ceil(32*Math.abs(e-t))))}function n(t,e,i,n){if(null==e||e<0||e>1)return null;var r=t[0],s=t[1],a=t[2],o=t[3],h=t[4],l=t[5],f=t[6],d=t[7],_=u.isZero;_(a-r)&&_(o-s)&&(a=r,o=s),_(h-f)&&_(l-d)&&(h=f,l=d);var g,v,p=3*(a-r),m=3*(h-a)-p,y=f-r-p-m,w=3*(o-s),x=3*(l-o)-w,b=d-s-w-x;if(0===i)g=0===e?r:1===e?f:((y*e+m)*e+p)*e+r,v=0===e?s:1===e?d:((b*e+x)*e+w)*e+s;else{if(e<1e-8?(g=p,v=w):e>1-1e-8?(g=3*(f-h),v=3*(d-l)):(g=(3*y*e+2*m)*e+p,v=(3*b*e+2*x)*e+w),n){0===g&&0===v&&(e<1e-8||e>1-1e-8)&&(g=h-a,v=l-o);var C=Math.sqrt(g*g+v*v);C&&(g/=C,v/=C)}if(3===i){var h=6*y*e+2*m,l=6*b*e+2*x,S=Math.pow(g*g+v*v,1.5);g=0!==S?(g*l-v*h)/S:0,v=0}}return 2===i?new c(v,-g):new c(g,v)}return{statics:{classify:function(t){function i(t,i,n){var r=i!==e,s=r&&i>0&&i<1,a=r&&n>0&&n<1;return!r||(s||a)&&("loop"!==t||s&&a)||(t="arch",s=a=!1),{type:t,roots:s||a?s&&a?i0?Math.sqrt(y/3):Math.sqrt(-y),x=2*g;return i(y>0?"serpentine":"loop",(_+w)/x,(_-w)/x)},getLength:function(n,r,s,a){if(r===e&&(r=0),s===e&&(s=1),k.isStraight(n)){var o=n;s<1&&(o=k.subdivide(o,s)[0],r/=s),r>0&&(o=k.subdivide(o,r)[1]);var h=o[6]-o[0],l=o[7]-o[1];return Math.sqrt(h*h+l*l)}return u.integrate(a||t(n),r,s,i(r,s))},getTimeAt:function(n,r,s){if(s===e&&(s=r<0?1:0),0===r)return s;var a=Math.abs,o=r>0,h=o?s:0,l=o?1:s,c=t(n),f=k.getLength(n,h,l,c),d=a(r)-f;if(a(d)<1e-12)return o?l:h;if(d>1e-12)return null;var _=r/f,g=0;return u.findRoot(function(t){return g+=u.integrate(c,s,t,i(s,t)),s=t,g-r},c,s+_,h,l,32,1e-12)},getPoint:function(t,e){return n(t,e,0,!1)},getTangent:function(t,e){return n(t,e,1,!0)},getWeightedTangent:function(t,e){return n(t,e,1,!1)},getNormal:function(t,e){return n(t,e,2,!0)},getWeightedNormal:function(t,e){return n(t,e,2,!1)},getCurvature:function(t,e){return n(t,e,3,!1).x},getPeaks:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=3*n-e-3*s+t[6],h=3*e-6*n+3*s,l=-3*e+3*n,c=3*r-i-3*a+t[7],f=3*i-6*r+3*a,d=-3*i+3*r,_=[];return u.solveCubic(9*(o*o+c*c),9*(o*h+f*c),2*(h*h+f*f)+3*(l*o+d*c),l*h+f*d,_,1e-8,1-1e-8),_.sort()}}}},new function(){function t(t,e,i,n,r,s,a){var o=!a&&i.getPrevious()===r,h=!a&&i!==r&&i.getNext()===r;if(null!==n&&n>=(o?1e-8:0)&&n<=(h?1-1e-8:1)&&null!==s&&s>=(h?1e-8:0)&&s<=(o?1-1e-8:1)){var u=new O(i,n,null,a),l=new O(r,s,null,a);u._intersection=l,l._intersection=u,e&&!e(u)||O.insert(t,u,!0)}}function e(r,s,a,o,h,u,l,c,f,d,_,g,v){if(++f>=4096||++c>=40)return f;var p,y,w=s[0],x=s[1],b=s[6],C=s[7],S=m.getSignedDistance,P=S(w,x,b,C,s[2],s[3]),I=S(w,x,b,C,s[4],s[5]),M=P*I>0?.75:4/9,T=M*Math.min(0,P,I),z=M*Math.max(0,P,I),O=S(w,x,b,C,r[0],r[1]),A=S(w,x,b,C,r[2],r[3]),L=S(w,x,b,C,r[4],r[5]),N=S(w,x,b,C,r[6],r[7]),B=i(O,A,L,N),D=B[0],j=B[1];if(0===P&&0===I&&0===O&&0===A&&0===L&&0===N||null==(p=n(D,j,T,z))||null==(y=n(D.reverse(),j.reverse(),T,z)))return f;var E=d+(_-d)*p,F=d+(_-d)*y;if(Math.max(v-g,F-E)<1e-9){var R=(E+F)/2,q=(g+v)/2;t(h,u,l?o:a,l?q:R,l?a:o,l?R:q)}else if(r=k.getPart(r,p,y),y-p>.8)if(F-E>v-g){R=(E+F)/2;f=e(s,(V=k.subdivide(r,.5))[0],o,a,h,u,!l,c,f,g,v,E,R),f=e(s,V[1],o,a,h,u,!l,c,f,g,v,R,F)}else{var V=k.subdivide(s,.5),q=(g+v)/2;f=e(V[0],r,o,a,h,u,!l,c,f,g,q,E,F),f=e(V[1],r,o,a,h,u,!l,c,f,q,v,E,F)}else f=v-g>=1e-9?e(s,r,o,a,h,u,!l,c,f,g,v,E,F):e(r,s,a,o,h,u,l,c,f,E,F,g,v);return f}function i(t,e,i,n){var r,s=[0,t],a=[1/3,e],o=[2/3,i],h=[1,n],u=e-(2*t+n)/3,l=i-(t+2*n)/3;if(u*l<0)r=[[s,a,h],[s,o,h]];else{var c=u/l;r=[c>=2?[s,a,h]:c<=.5?[s,o,h]:[s,a,o,h],[s,h]]}return(u||l)<0?r.reverse():r}function n(t,e,i,n){return t[0][1]n?r(e,!1,n):t[0][0]}function r(t,e,i){for(var n=t[0][0],r=t[0][1],s=1,a=t.length;s=i:h<=i)return h===i?o:n+(i-r)*(o-n)/(h-r);n=o,r=h}return null}function s(t,e,i,n,r){var s=u.isZero;if(s(n)&&s(r)){var a=k.getTimeOf(t,new c(e,i));return null===a?[]:[a]}for(var o=Math.atan2(-r,n),h=Math.sin(o),l=Math.cos(o),f=[],d=[],_=0;_<8;_+=2){var g=t[_]-e,v=t[_+1]-i;f.push(g*l-v*h,g*h+v*l)}return k.solveCubic(f,1,0,d,0,1),d}function a(e,i,n,r,a,o,h){for(var u=i[0],l=i[1],c=s(e,u,l,i[6]-u,i[7]-l),f=0,d=c.length;fl(n[0],n[2],n[4],n[6])&&l(i[0],i[2],i[4],i[6])-1e-12l(n[1],n[3],n[5],n[7])&&l(i[1],i[3],i[5],i[7])-1e-12>1,C=1&x,S=6*b,P=6*C,I=new c(i[S],i[S+1]),M=new c(n[P],n[P+1]);I.isClose(M,1e-12)&&t(h,u,r,b,s,C)}}}return h}function l(e,i,n,r){var s=k.classify(e);if("loop"===s.type){var a=s.roots;t(n,r,i,a[0],i,a[1])}return n}function f(t,e){function i(t){var e=t[6]-t[0],i=t[7]-t[1];return e*e+i*i}var n=Math.abs,r=m.getDistance,s=k.isStraight(t),a=k.isStraight(e),o=s&&a,h=i(t)>1,C=k.getTimeOf(v[w],new c(v[x][b?6:0],v[x][b?7:1]));if(null!=C){var S=w?[b,C]:[C,b];(!p.length||n(S[0]-p[0][0])>1e-8&&n(S[1]-p[0][1])>1e-8)&&p.push(S)}if(y>2&&!p.length)break}if(2!==p.length)p=null;else if(!o){var P=k.getPart(t,p[0][0],p[1][0]),I=k.getPart(e,p[0][1],p[1][1]);(n(I[2]-P[2])>1e-7||n(I[3]-P[3])>1e-7||n(I[4]-P[4])>1e-7||n(I[5]-P[5])>1e-7)&&(p=null)}return p}return{getIntersections:function(t){var e=this.getValues(),i=t&&t!==this&&t.getValues();return i?h(e,i,this,t,[]):l(e,this,[])},statics:{getOverlaps:f,getIntersections:function(t,e,i,n,r,s){var a=!e;a&&(e=t);for(var o,u,c=t.length,f=e.length,d=[],_=[],g=0;g=.99999999){var s=t.getNext();s&&(e=0,t=s)}this._setCurve(t),this._time=e,this._point=i||t.getPointAtTime(e),this._overlap=n,this._distance=r,this._intersection=this._next=this._previous=null},_setCurve:function(t){var e=t._path;this._path=e,this._version=e?e._version:0,this._curve=t,this._segment=null,this._segment1=t._segment1,this._segment2=t._segment2},_setSegment:function(t){this._setCurve(t.getCurve()),this._segment=t,this._time=t===this._segment1?0:1,this._point=t._point.clone()},getSegment:function(){var t=this._segment;if(!t){var e=this.getCurve(),i=this.getTime();0===i?t=e._segment1:1===i?t=e._segment2:null!=i&&(t=e.getPartLength(0,i)1?n[r-1]:r>0?n[0]:.5;c.push(k.getLength(i,e?s:0,e?1:s)/2)}function e(t,e,i){return ee&&te||t=1e-8&&n<=1-1e-8,a=r>=1e-8&&r<=1-1e-8;if(s&&a)return!this.isTouching();var o=this.getCurve(),h=n<1e-8?o.getPrevious():o,u=i.getCurve(),l=r<1e-8?u.getPrevious():u;if(n>1-1e-8&&(o=o.getNext()),r>1-1e-8&&(u=u.getNext()),!(h&&o&&l&&u))return!1;var c=[];s||(t(h,!0),t(o,!1)),a||(t(l,!0),t(u,!1));var f=this.getPoint(),d=Math.min.apply(Math,c),_=s?o.getTangentAtTime(n):o.getPointAt(d).subtract(f),g=s?_.negate():h.getPointAt(-d).subtract(f),v=a?u.getTangentAtTime(r):u.getPointAt(d).subtract(f),p=a?v.negate():l.getPointAt(-d).subtract(f),m=g.getAngle(),y=_.getAngle(),w=p.getAngle(),x=v.getAngle();return!!(s?e(m,w,x)^e(y,w,x)&&e(m,x,w)^e(y,x,w):e(w,m,y)^e(x,m,y)&&e(w,y,m)^e(x,y,m))},hasOverlap:function(){return!!this._overlap}},r.each(k._evaluateMethods,function(t){var e=t+"At";this[t]=function(){var t=this.getCurve(),i=this.getTime();return null!=i&&t&&t[e](i,!0)}},{preserve:!0}),new function(){function t(t,e,i){function n(i,n){for(var s=i+n;s>=-1&&s<=r;s+=n){var a=t[(s%r+r)%r];if(!e.getPoint().isClose(a.getPoint(),1e-7))break;if(e.equals(a))return a}return null}for(var r=t.length,s=0,a=r-1;s<=a;){var o,h=s+a>>>1,u=t[h];if(i&&(o=e.equals(u)?u:n(h,-1)||n(h,1)))return e._overlap&&(o._overlap=o._intersection._overlap=!0),o;var l=e.getPath(),c=u.getPath();(l!==c?l._id-c._id:e.getIndex()+e.getTime()-(u.getIndex()+u.getTime()))<0?a=h-1:s=h+1}return t.splice(s,0,e),e}return{statics:{insert:t,expand:function(e){for(var i=e.slice(),n=e.length-1;n>=0;n--)t(i,e[n]._intersection,!1);return i}}}}),A=w.extend({_class:"PathItem",_selectBounds:!1,_canScaleStroke:!0,beans:!0,initialize:function(){},statics:{create:function(t){var e,i,n;if(r.isPlainObject(t)?(i=t.segments,e=t.pathData):Array.isArray(t)?i=t:"string"==typeof t&&(e=t),i){var s=i[0];n=s&&Array.isArray(s[0])}else e&&(n=(e.match(/m/gi)||[]).length>1||/z\s*\S+/i.test(e));return new(n?N:L)(t)}},_asPathItem:function(){return this},isClockwise:function(){return this.getArea()>=0},setClockwise:function(t){this.isClockwise()!=(t=!!t)&&this.reverse()},setPathData:function(t){function e(t,e){var i=+n[t];return o&&(i+=h[e]),i}function i(t){return new c(e(t,"x"),e(t+1,"y"))}var n,r,s,a=t&&t.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi),o=!1,h=new c,u=new c;this.clear();for(var l=0,f=a&&a.length;lu&&this[n?"removeSegments":"removeChildren"](u,h);for(c=0;c=0&&e;h--){var u=i[h];e=!1;for(var l=s-1;l>=0&&!e;l--)u.compare(n[l])&&(a[l]||(a[l]=!0,o++),e=!0)}e=e&&o===s}return e}}),L=A.extend({_class:"Path",_serializeFields:{segments:[],closed:!1},initialize:function(t){this._closed=!1,this._segments=[],this._version=0;var i=Array.isArray(t)?"object"==typeof t[0]?t:arguments:!t||t.size!==e||t.x===e&&t.point===e?null:arguments;i&&i.length>0?this.setSegments(i):(this._curves=e,this._segmentSelection=0,i||"string"!=typeof t||(this.setPathData(t),t=null)),this._initialize(!i&&t)},_equals:function(t){return this._closed===t._closed&&r.equals(this._segments,t._segments)},copyContent:function(t){this.setSegments(t._segments),this._closed=t._closed},_changed:function t(i){if(t.base.call(this,i),8&i){if(this._length=this._area=e,16&i)this._version++;else if(this._curves)for(var n=0,r=this._curves.length;n0&&(i(f[0],!0),p.push("z")),p.join("")},isEmpty:function(){return!this._segments.length},_transformContent:function(t){for(var e=this._segments,i=new Array(6),n=0,r=e.length;n0&&e+r-1===u?e-1:e,c=l,f=Math.min(l+r,u);t._curves&&(n.splice.apply(n,[l,0].concat(t._curves)),c+=t._curves.length);for(a=c;a0?t-1:t},add:function(t){return arguments.length>1&&"number"!=typeof t?this._add(T.readList(arguments)):this._add([T.read(arguments)])[0]},insert:function(t,e){return arguments.length>2&&"number"!=typeof e?this._add(T.readList(arguments,1),t):this._add([T.read(arguments,1)],t)[0]},addSegment:function(){return this._add([T.read(arguments)])[0]},insertSegment:function(t){return this._add([T.read(arguments,1)],t)[0]},addSegments:function(t){return this._add(T.readList(t))},insertSegments:function(t,e){return this._add(T.readList(e),t)},removeSegment:function(t){return this.removeSegments(t,t+1)[0]||null},removeSegments:function(t,e,i){t=t||0,e=r.pick(e,this._segments.length);var n=this._segments,s=this._curves,a=n.length,o=n.splice(t,e-t),h=o.length;if(!h)return o;for(l=0;l0&&e===a+(this._closed?1:0)?t-1:t,l=(s=s.splice(f,h)).length-1;l>=0;l--)s[l]._path=null;i&&(o._curves=s.slice(1)),this._adjustCurves(f,f)}return this._changed(25),o},clear:"#removeSegments",hasHandles:function(){for(var t=this._segments,e=0,i=t.length;e0&&this._segmentSelection===7*t},setFullySelected:function(t){t&&this._selectSegments(!0),this.setSelected(t)},setSelection:function t(e){1&e||this._selectSegments(!1),t.base.call(this,e)},_selectSegments:function(t){var e=this._segments,i=e.length,n=t?7:0;this._segmentSelection=n*i;for(var r=0;r0&&this.setSelected(!0)},divideAt:function(t){var e,i=this.getLocationAt(t);return i&&(e=i.getCurve().divideAt(i.getCurveOffset()))?e._segment1:null},splitAt:function(t){var e=this.getLocationAt(t),i=e&&e.index,n=e&&e.time;n>1-1e-8&&(i++,n=0);var r=this.getCurves();if(i>=0&&i=1e-8&&r[i++].divideAtTime(n);var s,a=this.removeSegments(i,this._segments.length,!0);return this._closed?(this.setClosed(!1),s=this):((s=new L(w.NO_INSERT)).insertAbove(this),s.copyAttributes(this)),s._add(a,0),this.addSegment(a[0]),s}return null},split:function(t,i){var n,r=i===e?t:(n=this.getCurves()[t])&&n.getLocationAtTime(i);return null!=r?this.splitAt(r):null},join:function(t,e){var i=e||0;if(t&&t!==this){var n=t._segments,r=this.getLastSegment(),s=t.getLastSegment();if(!s)return this;r&&r._point.isClose(s._point,i)&&t.reverse();var a=t.getFirstSegment();if(r&&r._point.isClose(a._point,i))r.setHandleOut(a._handleOut),this._add(n.slice(1));else{var o=this.getFirstSegment();o&&o._point.isClose(a._point,i)&&t.reverse(),s=t.getLastSegment(),o&&o._point.isClose(s._point,i)?(o.setHandleIn(s._handleIn),this._add(n.slice(0,n.length-1),0)):this._add(n.slice())}t._closed&&this._add([n[0]]),t.remove()}var h=this.getFirstSegment(),u=this.getLastSegment();return h!==u&&h._point.isClose(u._point,i)&&(h.setHandleIn(u._handleIn),u.remove(),this.setClosed(!0)),this},reduce:function(t){for(var e=this.getCurves(),i=t&&t.simplify,n=i?1e-7:0,r=e.length-1;r>=0;r--){var s=e[r];!s.hasHandles()&&(!s.hasLength(n)||i&&s.isCollinear(s.getNext()))&&s.remove()}return this},reverse:function(){this._segments.reverse();for(var t=0,e=this._segments.length;t0&&n.push(new T(e[i-1].curve.slice(6))),this.setSegments(n)},simplify:function(t){var e=new D(this).fit(t||2.5);return e&&this.setSegments(e),!!e},smooth:function(t){function i(t,e){var i=t&&t.index;if(null!=i){var r=t.path;if(r&&r!==n)throw new Error(t._class+" "+i+" of "+r+" is not part of "+n);e&&t instanceof k&&i++}else i="number"==typeof t?t:e;return Math.min(i<0&&h?i%o:i<0?i+o:i,o-1)}var n=this,r=t||{},s=r.type||"asymmetric",a=this._segments,o=a.length,h=this._closed,u=h&&r.from===e&&r.to===e,l=i(r.from,0),c=i(r.to,o-1);if(l>c)if(h)l-=o;else{var f=l;l=c,c=f}if(/^(?:asymmetric|continuous)$/.test(s)){var d="asymmetric"===s,_=Math.min,g=c-l+1,v=g-1,p=u?_(g,4):1,m=p,y=p,w=[];if(h||(m=_(1,l),y=_(1,o-c-1)),(v+=m+y)<=1)return;for(var x=0,b=l-m;x<=v;x++,b++)w[x]=a[(b<0?b+o:b)%o]._point;for(var C=w[0]._x+2*w[1]._x,S=w[0]._y+2*w[1]._y,P=2,I=v-1,M=[C],T=[S],z=[P],O=[],A=[],x=1;x=0;x--)O[x]=(M[x]-O[x+1])/z[x],A[x]=(T[x]-A[x+1])/z[x];O[v]=(3*w[v]._x-O[I])/2,A[v]=(3*w[v]._y-A[I])/2;for(var x=m,F=v-y,b=l;x<=F;x++,b++){var R=a[b<0?b+o:b],q=R._point,V=O[x]-q._x,H=A[x]-q._y;(u||xm)&&R.setHandleIn(-V,-H)}}else for(x=l;x<=c;x++)a[x<0?x+o:x].smooth(r,!u&&x===l,!u&&x===c)},toShape:function(t){function i(t,e){var i=l[t],n=i.getNext(),r=l[e],s=r.getNext();return i._handleOut.isZero()&&n._handleIn.isZero()&&r._handleOut.isZero()&&s._handleIn.isZero()&&n._point.subtract(i._point).isCollinear(s._point.subtract(r._point))}function n(t){var e=l[t],i=e.getNext(),n=e._handleOut,r=i._handleIn;if(n.isOrthogonal(r)){var s=e._point,a=i._point,o=new m(s,n,!0).intersect(new m(a,r,!0),!0);return o&&u.isZero(n.getLength()/o.subtract(s).getLength()-.5522847498307936)&&u.isZero(r.getLength()/o.subtract(a).getLength()-.5522847498307936)}return!1}function r(t,e){return l[t]._point.getDistance(l[e]._point)}if(!this._closed)return null;var s,a,o,h,l=this._segments;if(!this.hasHandles()&&4===l.length&&i(0,2)&&i(1,3)&&function(t){var e=l[t],i=e.getPrevious(),n=e.getNext();return i._handleOut.isZero()&&e._handleIn.isZero()&&e._handleOut.isZero()&&n._handleIn.isZero()&&e._point.subtract(i._point).isOrthogonal(n._point.subtract(e._point))}(1)?(s=C.Rectangle,a=new d(r(0,3),r(0,1)),h=l[1]._point.add(l[2]._point).divide(2)):8===l.length&&n(0)&&n(2)&&n(4)&&n(6)&&i(1,5)&&i(3,7)?(s=C.Rectangle,o=(a=new d(r(1,6),r(0,3))).subtract(new d(r(0,7),r(1,2))).divide(2),h=l[3]._point.add(l[4]._point).divide(2)):4===l.length&&n(0)&&n(1)&&n(2)&&n(3)&&(u.isZero(r(0,2)-r(1,3))?(s=C.Circle,o=r(0,2)/2):(s=C.Ellipse,o=new d(r(2,0)/2,r(3,1)/2)),h=l[1]._point),s){var c=this.getPosition(!0),f=new s({center:c,size:a,radius:o,insert:!1});return f.copyAttributes(this,!0),f._matrix.prepend(this._matrix),f.rotate(h.subtract(c).getAngle()+90),(t===e||t)&&f.insertAbove(this),f}return null},toPath:"#clone",compare:function t(e){if(!e||e instanceof N)return t.base.call(this,e);var i=this.getCurves(),n=e.getCurves(),r=i.length,s=n.length;if(!r||!s)return r==s;for(var a,o,h=i[0].getValues(),u=[],l=0,c=0,f=0;f0?s-1:f,o=v[0][1];break}}for(var d,_=Math.abs,g=u[a];h&&g;){var v=k.getOverlaps(h,g);if(v&&_(v[0][0]-c)<1e-8){1===(c=v[1][0])&&(h=++l=s&&(a=0),g=u[a]||n[a].getValues(),o=0),!h)return d[0]===a&&d[1]===o;continue}}break}return!1},_hitTestSelf:function(t,e,i,n){function r(e,i){return t.subtract(e).divide(i).length<=1}function s(t,i,n){if(!e.selected||i.isSelected()){var s=t._point;if(i!==s&&(i=i.add(s)),r(i,x))return new M(n,g,{segment:t,point:i})}}function a(t,i){return(i||e.segments)&&s(t,t._point,"segment")||!i&&e.handles&&(s(t,t._handleIn,"handle-in")||s(t,t._handleOut,"handle-out"))}function o(t){f.add(t)}function h(e){var i=y||e._index>0&&e._index0||S?0:null;if(null!==P&&(P>0?(u=v.getStrokeJoin(),l=v.getStrokeCap(),c=v.getMiterLimit(),x=x.add(L._getStrokePadding(P,n))):u=l="round"),!e.ends||e.segments||y){if(e.segments||e.handles)for(T=0;T1?h(d.getSegment())||(d=null):r(d.getPoint(),x)||(d=null)}if(!d&&"miter"===u&&m>1)for(var T=0;Tt)return a.getLocationAt(t-s)}if(e.length>0&&t<=this.getLength())return new O(e[e.length-1],1)}else if(t&&t.getPath&&t.getPath()===this)return t;return null}}),new function(){function t(t,e,i,n){function r(e){var i=h[e],n=h[e+1];s==i&&a==n||(t.beginPath(),t.moveTo(s,a),t.lineTo(i,n),t.stroke(),t.beginPath(),t.arc(i,n,o,0,2*Math.PI,!0),t.fill())}for(var s,a,o=n/2,h=new Array(6),u=0,l=e.length;u0&&n(f[0])}return{_draw:function(t,i,n,r){function s(t){return c[(t%f+f)%f]}var a=i.dontStart,o=i.dontFinish||i.clip,h=this.getStyle(),u=h.hasFill(),l=h.hasStroke(),c=h.getDashArray(),f=!paper.support.nativeDash&&l&&c&&c.length;if(a||t.beginPath(),(u||l&&!f||o)&&(e(t,this,r),this._closed&&t.closePath()),!o&&(u||l)&&(this._setStyles(t,i,n),u&&(t.fill(h.getFillRule()),t.shadowColor="rgba(0,0,0,0)"),l)){if(f){a||t.beginPath();var d,_=new B(this,.25,32,!1,r),g=_.length,v=-h.getDashOffset(),p=0;for(v%=g;v>0;)v-=s(p--)+s(p--);for(;v0||d>0)&&_.drawPart(t,Math.max(v,0),Math.max(d,0)),v=d+s(p++)}t.stroke()}},_drawSelected:function(i,n){i.beginPath(),e(i,this,n),i.stroke(),t(i,this._segments,n,paper.settings.handleSize)}}},new function(){function t(t){var e=t._segments;if(!e.length)throw new Error("Use a moveTo() command first");return e[e.length-1]}return{moveTo:function(){var t=this._segments;1===t.length&&this.removeSegment(0),t.length||this._add([new T(c.read(arguments))])},moveBy:function(){throw new Error("moveBy() is unsupported on Path items.")},lineTo:function(){this._add([new T(c.read(arguments))])},cubicCurveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=c.read(arguments),r=t(this);r.setHandleOut(e.subtract(r._point)),this._add([new T(n,i.subtract(n))])},quadraticCurveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=t(this)._point;this.cubicCurveTo(e.add(n.subtract(e).multiply(1/3)),e.add(i.subtract(e).multiply(1/3)),i)},curveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=r.pick(r.read(arguments),.5),s=1-n,a=t(this)._point,o=e.subtract(a.multiply(s*s)).subtract(i.multiply(n*n)).divide(2*n*s);if(o.isNaN())throw new Error("Cannot put a curve through points with parameter = "+n);this.quadraticCurveTo(o,i)},arcTo:function(){var e,i,n,s,a=Math.abs,o=Math.sqrt,h=t(this),l=h._point,f=c.read(arguments),_=r.peek(arguments);if("boolean"==typeof(x=r.pick(_,!0)))var g=(C=l.add(f).divide(2)).add(C.subtract(l).rotate(x?-90:90));else if(r.remain(arguments)<=2)g=f,f=c.read(arguments);else{var v=d.read(arguments),y=u.isZero;if(y(v.width)||y(v.height))return this.lineTo(f);var w=r.read(arguments),x=!!r.read(arguments),b=!!r.read(arguments),C=l.add(f).divide(2),S=(W=l.subtract(C).rotate(-w)).x,P=W.y,I=a(v.width),M=a(v.height),z=I*I,k=M*M,O=S*S,A=P*P,L=o(O/z+A/k);if(L>1&&(z=(I*=L)*I,k=(M*=L)*M),L=(z*k-z*A-k*O)/(z*A+k*O),a(L)<1e-12&&(L=0),L<0)throw new Error("Cannot create an arc with the given arguments");e=new c(I*P/M,-M*S/I).multiply((b===x?-1:1)*o(L)).rotate(w).add(C),i=(n=(s=(new p).translate(e).rotate(w).scale(I,M))._inverseTransform(l)).getDirectedAngle(s._inverseTransform(f)),!x&&i>0?i-=360:x&&i<0&&(i+=360)}if(g){var N=new m(l.add(g).divide(2),g.subtract(l).rotate(90),!0),B=new m(g.add(f).divide(2),f.subtract(g).rotate(90),!0),D=new m(l,f),j=D.getSide(g);if(!(e=N.intersect(B,!0))){if(!j)return this.lineTo(f);throw new Error("Cannot create an arc with the given arguments")}i=(n=l.subtract(e)).getDirectedAngle(f.subtract(e));var E=D.getSide(e);0===E?i=j*a(i):j===E&&(i+=i<0?360:-360)}for(var F=a(i),R=F>=360?4:Math.ceil((F-1e-7)/90),q=i/R,V=q*Math.PI/360,H=4/3*Math.sin(V)/(1+Math.cos(V)),Z=[],U=0;U<=R;U++){var W=f,G=null;if(U0&&(h(t[0],y),h(t[t.length-1],y)),v},_getStrokePadding:function(t,e){if(!e)return[t,t];var i=new c(t,0).transform(e),n=new c(0,t).transform(e),r=i.getAngleInRadians(),s=i.getLength(),a=n.getLength(),o=Math.sin(r),h=Math.cos(r),u=Math.tan(r),l=Math.atan2(a*u,s),f=Math.atan2(a,u*s);return[Math.abs(s*Math.cos(l)*h+a*Math.sin(l)*o),Math.abs(a*Math.sin(f)*h+s*Math.cos(f)*o)]},_addBevelJoin:function(t,e,i,n,r,s,a,o){var h=t.getCurve(),u=h.getPrevious(),l=h.getPoint1().transform(r),f=u.getNormalAtTime(1).multiply(i).transform(s),d=h.getNormalAtTime(0).multiply(i).transform(s);if(f.getDirectedAngle(d)<0&&(f=f.negate(),d=d.negate()),o&&a(l),a(l.add(f)),"miter"===e){var _=new m(l.add(f),new c(-f.y,f.x),!0).intersect(new m(l.add(d),new c(-d.y,d.x),!0),!0);_&&l.getDistance(_)<=n*i&&a(_)}a(l.add(d))},_addSquareCap:function(t,e,i,n,r,s,a){var o=t._point.transform(n),h=t.getLocation(),u=h.getNormal().multiply(0===h.getTime()?i:-i).transform(r);"square"===e&&(a&&(s(o.subtract(u)),s(o.add(u))),o=o.add(u.rotate(-90))),s(o.add(u)),s(o.subtract(u))},getHandleBounds:function(t,e,i,n,r){var s,a,o=i.getStyle();if(r.stroke&&o.hasStroke()){var h=i._getStrokeMatrix(n,r),u=o.getStrokeWidth()/2,l=u;"miter"===o.getStrokeJoin()&&(l=u*o.getMiterLimit()),"square"===o.getStrokeCap()&&(l=Math.max(l,u*Math.SQRT2)),s=L._getStrokePadding(u,h),a=L._getStrokePadding(l,h)}for(var c=new Array(6),f=1/0,d=-f,_=f,v=d,p=0,m=t.length;pd&&(d=I),M<_&&(_=M),T>v&&(v=T)}}return new g(f,_,d-f,v-_)}}});L.inject({statics:new function(){function t(t,e,i){var n=r.getNamed(i),s=new L(n&&0==n.insert&&w.NO_INSERT);return s._add(t),s._closed=e,s.set(n,{insert:!0})}function e(e,i,r){for(var s=new Array(4),a=0;a<4;a++){var o=n[a];s[a]=new T(o._point.multiply(i).add(e),o._handleIn.multiply(i),o._handleOut.multiply(i))}return t(s,!0,r)}var i=.5522847498307936,n=[new T([-1,0],[0,i],[0,-i]),new T([0,-1],[-i,0],[i,0]),new T([1,0],[0,-i],[0,i]),new T([0,1],[i,0],[-i,0])];return{Line:function(){return t([new T(c.readNamed(arguments,"from")),new T(c.readNamed(arguments,"to"))],!1,arguments)},Circle:function(){var t=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return e(t,new d(i),arguments)},Rectangle:function(){var e,n=g.readNamed(arguments,"rectangle"),r=d.readNamed(arguments,"radius",0,{readNull:!0}),s=n.getBottomLeft(!0),a=n.getTopLeft(!0),o=n.getTopRight(!0),h=n.getBottomRight(!0);if(!r||r.isZero())e=[new T(s),new T(a),new T(o),new T(h)];else{var u=(r=d.min(r,n.getSize(!0).divide(2))).width,l=r.height,c=u*i,f=l*i;e=[new T(s.add(u,0),null,[-c,0]),new T(s.subtract(0,l),[0,f]),new T(a.add(0,l),null,[0,-f]),new T(a.add(u,0),[-c,0],null),new T(o.subtract(u,0),null,[c,0]),new T(o.add(0,l),[0,-f],null),new T(h.subtract(0,l),null,[0,f]),new T(h.subtract(u,0),[c,0])]}return t(e,!0,arguments)},RoundRectangle:"#Rectangle",Ellipse:function(){var t=C._readEllipse(arguments);return e(t.center,t.radius,arguments)},Oval:"#Ellipse",Arc:function(){var t=c.readNamed(arguments,"from"),e=c.readNamed(arguments,"through"),i=c.readNamed(arguments,"to"),n=r.getNamed(arguments),s=new L(n&&0==n.insert&&w.NO_INSERT);return s.moveTo(t),s.arcTo(e,i),s.set(n)},RegularPolygon:function(){for(var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"sides"),n=r.readNamed(arguments,"radius"),s=360/i,a=i%3==0,o=new c(0,a?-n:n),h=a?-1:.5,u=new Array(i),l=0;l=0;a--){var o=n[a];n!==i||o instanceof L||(n=r.slice(n)),Array.isArray(o)?n[a]=new L({segments:o,insert:!1}):o instanceof N&&(n.splice.apply(n,[a,1].concat(o.removeChildren())),o.remove())}return t.base.call(this,e,n)},reduce:function t(e){for(var i=this._children,n=i.length-1;n>=0;n--)(r=i[n].reduce(e)).isEmpty()&&r.remove();if(!i.length){var r=new L(w.NO_INSERT);return r.copyAttributes(this),r.insertAbove(this),this.remove(),r}return t.base.call(this)},isClosed:function(){for(var t=this._children,e=0,i=t.length;e=0;d--){var _=h[d].split();_&&(s(_)&&_.getFirstSegment().setHandleIn(0,0),a.getLastSegment().setHandleOut(0,0))}return s(a),i(f,!1,e,n)}function a(t,e){for(var i=t;i;){if(i===e)return;i=i._previous}for(;t._next&&t._next!==e;)t=t._next;if(!t._next){for(;e._previous;)e=e._previous;t._next=e,e._previous=t}}function o(t){for(var e=t.length-1;e>=0;e--)t[e].clearHandles()}function h(t,e,i){var n=t&&t.length;if(n){var s=r.each(t,function(t,e){this[t._id]={container:null,winding:t.isClockwise()?1:-1,index:e}},{}),a=t.slice().sort(function(t,e){return v(e.getArea())-v(t.getArea())}),o=a[0];null==i&&(i=o.isClockwise());for(var h=0;h=0;d--){var _=a[d];if(_.contains(c)){var g=s[_._id];f=g.winding,l.winding+=f,l.container=g.exclude?g.container:_;break}}if(e(l.winding)===e(f))l.exclude=!0,t[l.index]=null;else{var p=l.container;u.setClockwise(p?!p.isClockwise():i)}}}return t}function l(t,e,i){function n(t){return t._path._id+"."+t._segment1._index}for(var r,s,h,u=e&&[],l=!1,c=i||[],f=i&&{},d=(i&&i.length)-1;d>=0;d--)(y=i[d])._path&&(f[n(y)]=!0);for(d=t.length-1;d>=0;d--){var _,g=t[d],v=g._time,p=v,m=e&&!e(g),y=g._curve;if(y&&(y!==s?(l=!y.hasHandles()||f&&f[n(y)],r=[],h=null,s=y):h>=1e-8&&(v/=h)),m)r&&r.push(g);else{if(e&&u.unshift(g),h=p,v<1e-8)_=y._segment1;else if(v>1-1e-8)_=y._segment2;else{var w=y.divideAtTime(v,!0);l&&c.push(y,w),_=w._segment1;for(var x=r.length-1;x>=0;x--){var b=r[x];b._time=(b._time-v)/(1-v)}}g._setSegment(_);var C=_._intersection,S=g._intersection;if(C){a(C,S);for(var P=C;P;)a(P._intersection,C),P=P._next}else _._intersection=S}}return i||o(c),u||t}function c(t,e,i,n,r){function s(s){var a=s[l+0],h=s[l+6];if(!(p<_(a,h)||p>g(a,h))){var f=s[u+0],v=s[u+2],x=s[u+4],b=s[u+6];if(a!==h){var I=p===a?0:p===h?1:y>g(f,v,x,b)||w<_(f,v,x,b)?1:k.solveCubic(s,l,p,T,0,1)>0?T[0]:1,z=0===I?f:1===I?b:k.getPoint(s,I)[i?"y":"x"],O=a>h?1:-1,A=o[l]>o[l+6]?1:-1,L=o[u+6];return p!==a?(zw?S+=O:P=!0,z>d-m&&zw&&(S+=O):f!=L&&(Lw?(S+=O,P=!0):L>y&&zy&&zy||by)&&(P=!0)}}function a(t){var e=t[l+0],n=t[l+2],r=t[l+4],a=t[l+6];if(p<=g(e,n,r,a)&&p>=_(e,n,r,a))for(var o,h=t[u+0],c=t[u+2],f=t[u+4],d=t[u+6],v=y>g(h,c,f,d)||w<_(h,c,f,d)?[t]:k.getMonoCurves(t,i),m=0,x=v.length;ml.quality&&(l=I);break}d-=m}for(_=s.length-1;_>=0;_--)s[_].segment._winding=l}function d(t,e){function i(t){var i;return!(!t||t._visited||e&&(!e[(i=t._winding||{}).winding]||e.unite&&2===i.winding&&i.windingL&&i.windingR))}function n(t){if(t)for(var e=0,i=s.length;e=0;c--){var f=u[c],_=f._path,g=f._segment,v=g.getPrevious(),p=g.getNext();t(v,_)&&t(p,_)&&(g.remove(),v._handleOut._set(0,0),p._handleIn._set(0,0),v===g||v.getCurve().hasLength()||(p._handleIn.set(v._handleIn),v.remove()))}s&&(l(a,n&&function(t){var e=t.getCurve(),i=t.getSegment(),n=t._intersection,r=n._curve,s=n._segment;if(e&&r&&e._path&&r._path)return!0;i&&(i._intersection=null),s&&(s._intersection=null)},h),h&&o(h),i=d(r.each(i,function(t){this.push.apply(this,t._segments)},[])));var m,y=i.length;return y>1&&e?(i!==e&&this.setChildren(i),m=this):1!==y||e||(i[0]!==this&&this.setSegments(i[0].removeSegments()),m=this),m||((m=new N(w.NO_INSERT)).addChildren(i),(m=m.reduce()).copyAttributes(this),this.replaceWith(m)),m},reorient:function(t,i){var n=this._children;return n&&n.length?this.setChildren(h(this.removeChildren(),function(e){return!!(t?e:1&e)},i)):i!==e&&this.setClockwise(i),this},getInteriorPoint:function(){var t=this.getBounds().getCenter(!0);if(!this.contains(t)){for(var e=this.getCurves(),i=t.y,n=[],r=[],s=0,a=e.length;s=_(h,u,l,c)&&i<=g(h,u,l,c))for(var f=k.getMonoCurves(o),d=0,v=f.length;d=m&&i<=y||i>=y&&i<=m)){var w=i===m?p[0]:i===y?p[6]:1===k.solveCubic(p,1,i,r,0,1)?k.getPoint(p,r[0]).x:(p[0]+p[6])/2;n.push(w)}}}n.length>1&&(n.sort(function(t,e){return t-e}),t.x=(n[0]+n[1])/2)}return t}}});var B=r.extend({_class:"PathFlattener",initialize:function(t,e,i,n,r){function s(t,e){var i=k.getValues(t,e,r);h.push(i),a(i,t._index,0,1)}function a(t,i,r,s){if(!(s-r>c)||n&&k.isStraight(t)||k.isFlatEnough(t,e||.25)){var o=t[6]-t[0],h=t[7]-t[1],f=Math.sqrt(o*o+h*h);f>0&&(l+=f,u.push({offset:l,curve:t,index:i,time:s}))}else{var d=k.subdivide(t,.5),_=(r+s)/2;a(d[0],i,r,_),a(d[1],i,_,s)}}for(var o,h=[],u=[],l=0,c=1/(i||32),f=t._segments,d=f[0],_=1,g=f.length;_=t){this.index=e;var a=i[e-1],o=a&&a.index===s.index?a.time:0,h=a?a.offset:0;return{index:s.index,time:o+(s.time-o)*(t-h)/(s.offset-h)}}}return{index:i[n-1].index,time:1}},drawPart:function(t,e,i){for(var n=this._get(e),r=this._get(i),s=n.index,a=r.index;s<=a;s++){var o=k.getPart(this.curves[s],s===n.index?n.time:0,s===r.index?r.time:1);s===n.index&&t.moveTo(o[0],o[1]),t.bezierCurveTo.apply(t,o.slice(2))}}},r.each(k._evaluateMethods,function(t){this[t+"At"]=function(e){var i=this._get(e);return k[t](this.curves[i.index],i.time)}},{})),D=r.extend({initialize:function(t){for(var e,i=this.points=[],n=t._segments,r=t._closed,s=0,a=n.length;s0&&(n=[new T(e[0])],i>1&&(this.fitCubic(n,t,0,i-1,e[1].subtract(e[0]),e[i-2].subtract(e[i-1])),this.closed&&(n.shift(),n.pop()))),n},fitCubic:function(t,e,i,n,r,s){var a=this.points;if(n-i!=1){for(var o,h=this.chordLengthParameterize(i,n),u=Math.max(e,e*e),l=!0,c=0;c<=4;c++){var f=this.generateBezier(i,n,h,r,s),d=this.findMaxError(i,n,f,h);if(d.error=u)break;l=this.reparameterize(i,n,h,f),u=d.error}var _=a[o-1].subtract(a[o+1]);this.fitCubic(t,e,i,o,r,_),this.fitCubic(t,e,o,n,_.negate(),s)}else{var g=a[i],v=a[n],p=g.getDistance(v)/3;this.addCurve(t,[g,g.add(r.normalize(p)),v.add(s.normalize(p)),v])}},addCurve:function(t,e){t[t.length-1].setHandleOut(e[1].subtract(e[0])),t.push(new T(e[3],e[2].subtract(e[3])))},generateBezier:function(t,e,i,n,r){for(var s=Math.abs,a=this.points,o=a[t],h=a[e],u=[[0,0],[0,0]],l=[0,0],c=0,f=e-t+1;c1e-12){var I=u[0][0]*l[1]-u[1][0]*l[0];C=(l[0]*u[1][1]-l[1]*u[0][1])/P,S=I/P}else{var M=u[0][0]+u[0][1],T=u[1][0]+u[1][1];C=S=s(M)>1e-12?l[0]/M:s(T)>1e-12?l[1]/T:0}var z,k,O=h.getDistance(o),A=1e-12*O;if(CO*O&&(C=S=O/3,z=k=null)}return[o,o.add(z||n.normalize(C)),h.add(k||r.normalize(S)),h]},reparameterize:function(t,e,i,n){for(r=t;r<=e;r++)i[r-t]=this.findRoot(n,this.points[r],i[r-t]);for(var r=1,s=i.length;r=s&&(s=h,r=a)}return{error:s,index:r}}}),j=w.extend({_class:"TextItem",_applyMatrix:!1,_canApplyMatrix:!1,_serializeFields:{content:null},_boundsOptions:{stroke:!1,handle:!1},initialize:function(t){this._content="",this._lines=[];var i=t&&r.isPlainObject(t)&&t.x===e&&t.y===e;this._initialize(i&&t,!i&&c.read(arguments))},_equals:function(t){return this._content===t._content},copyContent:function(t){this.setContent(t._content)},getContent:function(){return this._content},setContent:function(t){this._content=""+t,this._lines=this._content.split(/\r\n|\n|\r/gm),this._changed(265)},isEmpty:function(){return!this._content},getCharacterStyle:"#getStyle",setCharacterStyle:"#setStyle",getParagraphStyle:"#getStyle",setParagraphStyle:"#setStyle"}),E=j.extend({_class:"PointText",initialize:function(){j.apply(this,arguments)},getPoint:function(){var t=this._matrix.getTranslation();return new f(t.x,t.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.translate(t.subtract(this._matrix.getTranslation()))},_draw:function(t,e,i){if(this._content){this._setStyles(t,e,i);var n=this._lines,r=this._style,s=r.hasFill(),a=r.hasStroke(),o=r.getLeading(),h=t.shadowColor;t.font=r.getFontStyle(),t.textAlign=r.getJustification();for(var u=0,l=n.length;u1&&(h-=1),a[o]=6*h<1?s+6*(r-s)*h:2*h<1?r:3*h<2?s+(r-s)*(2/3-h)*6:s}return a},"rgb-gray":function(t,e,i){return[.2989*t+.587*e+.114*i]},"gray-rgb":function(t){return[t,t,t]},"gray-hsb":function(t){return[0,0,t]},"gray-hsl":function(t){return[0,0,t]},"gradient-rgb":function(){return[]},"rgb-gradient":function(){return[]}};return r.each(n,function(t,e){s[e]=[],r.each(t,function(t,i){var a=r.capitalize(t),o=/^(hue|saturation)$/.test(t),h=s[e][i]="gradient"===t?function(t){var e=this._components[0];return t=R.read(Array.isArray(t)?t:arguments,0,{readNull:!0}),e!==t&&(e&&e._removeOwner(this),t&&t._addOwner(this)),t}:"gradient"===e?function(){return c.read(arguments,0,{readNull:"highlight"===t,clone:!0})}:function(t){return null==t||isNaN(t)?0:t};this["get"+a]=function(){return this._type===e||o&&/^hs[bl]$/.test(this._type)?this._components[i]:this._convert(e)[i]},this["set"+a]=function(t){this._type===e||o&&/^hs[bl]$/.test(this._type)||(this._components=this._convert(e),this._properties=n[e],this._type=e),this._components[i]=h.call(this,t),this._changed()}},this)},{_class:"Color",_readIndex:!0,initialize:function e(i){var a,o,h,u,l=arguments,c=this.__read,f=0;Array.isArray(i)&&(i=(l=i)[0]);var d=null!=i&&typeof i;if("string"===d&&i in n&&(a=i,i=l[1],Array.isArray(i)?(o=i,h=l[2]):(c&&(f=1),l=r.slice(l,1),d=typeof i)),!o){if(u="number"===d?l:"object"===d&&null!=i.length?i:null){a||(a=u.length>=3?"rgb":"gray");var _=n[a].length;h=u[_],c&&(f+=u===arguments?_+(null!=h?1:0):1),u.length>_&&(u=r.slice(u,0,_))}else if("string"===d)a="rgb",4===(o=t(i)).length&&(h=o[3],o.length--);else if("object"===d)if(i.constructor===e){if(a=i._type,o=i._components.slice(),h=i._alpha,"gradient"===a)for(var g=1,v=o.length;g1?1:t))}var i=this._convert("rgb"),n=t||null==this._alpha?1:this._alpha;return i=[e(i[0]),e(i[1]),e(i[2])],n<1&&i.push(n<0?0:n),t?"#"+((1<<24)+(i[0]<<16)+(i[1]<<8)+i[2]).toString(16).slice(1):(4==i.length?"rgba(":"rgb(")+i.join(",")+")"},toCanvasStyle:function(t,e){if(this._canvasStyle)return this._canvasStyle;if("gradient"!==this._type)return this._canvasStyle=this.toCSS();var i,n=this._components,r=n[0],s=r._stops,a=n[1],o=n[2],h=n[3],u=e&&e.inverted();if(u&&(a=u._transformPoint(a),o=u._transformPoint(o),h&&(h=u._transformPoint(h))),r._radial){var l=o.getDistance(a);if(h){var c=h.subtract(a);c.getLength()>l&&(h=a.add(c.normalize(l-.1)))}var f=h||a;i=t.createRadialGradient(f.x,f.y,0,a.x,a.y,l)}else i=t.createLinearGradient(a.x,a.y,o.x,o.y);for(var d=0,_=s.length;d<_;d++){var g=s[d],v=g._offset;i.addColorStop(null==v?d/(_-1):v,g._color.toCanvasStyle())}return this._canvasStyle=i},transform:function(t){if("gradient"===this._type){for(var e=this._components,i=1,n=e.length;i0&&!(r instanceof N))for(var a=0,o=s.length;a0},hasStroke:function(){var t=this.getStrokeColor();return!!t&&t.alpha>0&&this.getStrokeWidth()>0},hasShadow:function(){var t=this.getShadowColor();return!!t&&t.alpha>0&&(this.getShadowBlur()>0||!this.getShadowOffset().isZero())},getView:function(){return this._project._view},getFontStyle:function(){var t=this.getFontSize();return this.getFontWeight()+" "+t+(/[a-z]/i.test(t+"")?" ":"px ")+this.getFontFamily()},getFont:"#getFontFamily",setFont:"#setFontFamily",getLeading:function t(){var e=t.base.call(this),i=this.getFontSize();return/pt|em|%|px/.test(i)&&(i=this.getView().getPixelSize(i)),null!=e?e:1.2*i}}),H=new function(){function t(t,e,i,n){for(var r=["","webkit","moz","Moz","ms","o"],s=e[0].toUpperCase()+e.substring(1),a=0;a<6;a++){var o=r[a],h=o?o+s:e;if(h in t){if(!i)return t[h];t[h]=n;break}}}return{getStyles:function(t){var e=t&&9!==t.nodeType?t.ownerDocument:t,i=e&&e.defaultView;return i&&i.getComputedStyle(t,"")},getBounds:function(t,e){var i,n=t.ownerDocument,r=n.body,s=n.documentElement;try{i=t.getBoundingClientRect()}catch(t){i={left:0,top:0,width:0,height:0}}var a=i.left-(s.clientLeft||r.clientLeft||0),o=i.top-(s.clientTop||r.clientTop||0);if(!e){var h=n.defaultView;a+=h.pageXOffset||s.scrollLeft||r.scrollLeft,o+=h.pageYOffset||s.scrollTop||r.scrollTop}return new g(a,o,i.width,i.height)},getViewportBounds:function(t){var e=t.ownerDocument,i=e.defaultView,n=e.documentElement;return new g(0,0,i.innerWidth||n.clientWidth,i.innerHeight||n.clientHeight)},getOffset:function(t,e){return H.getBounds(t,e).getPoint()},getSize:function(t){return H.getBounds(t,!0).getSize()},isInvisible:function(t){return H.getSize(t).equals(new d(0,0))},isInView:function(t){return!H.isInvisible(t)&&H.getViewportBounds(t).intersects(H.getBounds(t,!0))},isInserted:function(t){return n.body.contains(t)},getPrefixed:function(e,i){return e&&t(e,i)},setPrefixed:function(e,i,n){if("object"==typeof i)for(var r in i)t(e,r,!0,i[r]);else t(e,i,!0,n)}}},Z={add:function(t,e){if(t)for(var i in e)for(var n=e[i],r=i.split(/[\s,]+/g),s=0,a=r.length;s1?r.hyphenate(i):i.toLowerCase())}function s(t,e,i,n){var o,h=U._focused;if(l[e]=t,t?c[e]=i:delete c[e],e.length>1&&(o=r.camelize(e))in f){f[o]=t;var u=paper&&paper.agent;if("meta"===o&&u&&u.mac)if(t)a={};else{for(var d in a)d in c&&s(!1,d,a[d],n);a=null}}else t&&a&&(a[e]=i);h&&h._handleKeyEvent(t?"keydown":"keyup",n,e,i)}var a,o,h={"\t":"tab"," ":"space","\b":"backspace","":"delete",Spacebar:"space",Del:"delete",Win:"meta",Esc:"escape"},u={tab:"\t",space:" ",enter:"\r"},l={},c={},f=new r({shift:!1,control:!1,alt:!1,meta:!1,capsLock:!1,space:!1}).inject({option:{get:function(){return this.alt}},command:{get:function(){var t=paper&&paper.agent;return t&&t.mac?this.meta:this.control}}});return Z.add(n,{keydown:function(e){var i=t(e),n=paper&&paper.agent;i.length>1||n&&n.chrome&&(e.altKey||n.mac&&e.metaKey||!n.mac&&e.ctrlKey)?s(!0,i,u[i]||(i.length>1?"":i),e):o=i},keypress:function(e){if(o){var i=t(e),n=e.charCode,r=n>=32?String.fromCharCode(n):i.length>1?"":i;i!==o&&(i=r.toLowerCase()),s(!0,i,r,e),o=null}},keyup:function(e){var i=t(e);i in c&&s(!1,i,c[i],e)}}),Z.add(i,{blur:function(t){for(var e in c)s(!1,e,c[e],t)}}),{modifiers:f,isDown:function(t){return!!l[t]}}},X=G.extend({_class:"MouseEvent",initialize:function(t,e,i,n,r){this.type=t,this.event=e,this.point=i,this.target=n,this.delta=r},toString:function(){return"{ type: '"+this.type+"', point: "+this.point+", target: "+this.target+(this.delta?", delta: "+this.delta:"")+", modifiers: "+this.getModifiers()+" }"}}),Y=G.extend({_class:"ToolEvent",_item:null,initialize:function(t,e,i){this.tool=t,this.type=e,this.event=i},_choosePoint:function(t,e){return t||(e?e.clone():null)},getPoint:function(){return this._choosePoint(this._point,this.tool._point)},setPoint:function(t){this._point=t},getLastPoint:function(){return this._choosePoint(this._lastPoint,this.tool._lastPoint)},setLastPoint:function(t){this._lastPoint=t},getDownPoint:function(){return this._choosePoint(this._downPoint,this.tool._downPoint)},setDownPoint:function(t){this._downPoint=t},getMiddlePoint:function(){return!this._middlePoint&&this.tool._lastPoint?this.tool._point.add(this.tool._lastPoint).divide(2):this._middlePoint},setMiddlePoint:function(t){this._middlePoint=t},getDelta:function(){return!this._delta&&this.tool._lastPoint?this.tool._point.subtract(this.tool._lastPoint):this._delta},setDelta:function(t){this._delta=t},getCount:function(){return this.tool[/^mouse(down|up)$/.test(this.type)?"_downCount":"_moveCount"]},setCount:function(t){this.tool[/^mouse(down|up)$/.test(this.type)?"downCount":"count"]=t},getItem:function(){if(!this._item){var t=this.tool._scope.project.hitTest(this.getPoint());if(t){for(var e=t.item,i=e._parent;/^(Group|CompoundPath)$/.test(i._class);)e=i,i=i._parent;this._item=e}}return this._item},setItem:function(t){this._item=t},toString:function(){return"{ type: "+this.type+", point: "+this.getPoint()+", count: "+this.getCount()+", modifiers: "+this.getModifiers()+" }"}}),K=(o.extend({_class:"Tool",_list:"tools",_reference:"tool",_events:["onMouseDown","onMouseUp","onMouseDrag","onMouseMove","onActivate","onDeactivate","onEditOptions","onKeyDown","onKeyUp"],initialize:function(t){o.call(this),this._moveCount=-1,this._downCount=-1,this.set(t)},getMinDistance:function(){return this._minDistance},setMinDistance:function(t){this._minDistance=t,null!=t&&null!=this._maxDistance&&t>this._maxDistance&&(this._maxDistance=t)},getMaxDistance:function(){return this._maxDistance},setMaxDistance:function(t){this._maxDistance=t,null!=this._minDistance&&null!=t&&t255){var u=255-r,l=o-r;d=r+(d-r)*u/l,_=r+(_-r)*u/l,g=r+(g-r)*u/l}}function i(t,e,i){return p(t,e,i)-v(t,e,i)}function n(t,e,i,n){var r,s=[t,e,i],a=p(t,e,i),o=v(t,e,i);r=0===v(o=o===t?0:o===e?1:2,a=a===t?0:a===e?1:2)?1===p(o,a)?2:1:0,s[a]>s[o]?(s[r]=(s[r]-s[o])*n/(s[a]-s[o]),s[a]=n):s[r]=s[a]=0,s[o]=0,d=s[0],_=s[1],g=s[2]}var s,a,o,h,u,l,c,f,d,_,g,v=Math.min,p=Math.max,m=Math.abs,y={multiply:function(){d=u*s/255,_=l*a/255,g=c*o/255},screen:function(){d=u+s-u*s/255,_=l+a-l*a/255,g=c+o-c*o/255},overlay:function(){d=u<128?2*u*s/255:255-2*(255-u)*(255-s)/255,_=l<128?2*l*a/255:255-2*(255-l)*(255-a)/255,g=c<128?2*c*o/255:255-2*(255-c)*(255-o)/255},"soft-light":function(){var t=s*u/255;d=t+u*(255-(255-u)*(255-s)/255-t)/255,_=(t=a*l/255)+l*(255-(255-l)*(255-a)/255-t)/255,g=(t=o*c/255)+c*(255-(255-c)*(255-o)/255-t)/255},"hard-light":function(){d=s<128?2*s*u/255:255-2*(255-s)*(255-u)/255,_=a<128?2*a*l/255:255-2*(255-a)*(255-l)/255,g=o<128?2*o*c/255:255-2*(255-o)*(255-c)/255},"color-dodge":function(){d=0===u?0:255===s?255:v(255,255*u/(255-s)),_=0===l?0:255===a?255:v(255,255*l/(255-a)),g=0===c?0:255===o?255:v(255,255*c/(255-o))},"color-burn":function(){d=255===u?255:0===s?0:p(0,255-255*(255-u)/s),_=255===l?255:0===a?0:p(0,255-255*(255-l)/a),g=255===c?255:0===o?0:p(0,255-255*(255-c)/o)},darken:function(){d=us?u:s,_=l>a?l:a,g=c>o?c:o},difference:function(){(d=u-s)<0&&(d=-d),(_=l-a)<0&&(_=-_),(g=c-o)<0&&(g=-g)},exclusion:function(){d=u+s*(255-u-u)/255,_=l+a*(255-l-l)/255,g=c+o*(255-c-c)/255},hue:function(){n(s,a,o,i(u,l,c)),e(d,_,g,t(u,l,c))},saturation:function(){n(u,l,c,i(s,a,o)),e(d,_,g,t(u,l,c))},luminosity:function(){e(u,l,c,t(s,a,o))},color:function(){e(s,a,o,t(u,l,c))},add:function(){d=v(u+s,255),_=v(l+a,255),g=v(c+o,255)},subtract:function(){d=p(u-s,0),_=p(l-a,0),g=p(c-o,0)},average:function(){d=(u+s)/2,_=(l+a)/2,g=(c+o)/2},negation:function(){d=255-m(255-s-u),_=255-m(255-a-l),g=255-m(255-o-c)}},w=this.nativeModes=r.each(["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","darker","copy","xor"],function(t){this[t]=!0},{}),x=Q.getContext(1,1);x&&(r.each(y,function(t,e){var i="darken"===e,n=!1;x.save();try{x.fillStyle=i?"#300":"#a00",x.fillRect(0,0,1,1),x.globalCompositeOperation=e,x.globalCompositeOperation===e&&(x.fillStyle=i?"#a00":"#300",x.fillRect(0,0,1,1),n=x.getImageData(0,0,1,1).data[0]!==i?170:51)}catch(t){}x.restore(),w[e]=n}),Q.release(x)),this.process=function(t,e,i,n,r){var v=e.canvas,p="normal"===t;if(p||w[t])i.save(),i.setTransform(1,0,0,1,0,0),i.globalAlpha=n,p||(i.globalCompositeOperation=t),i.drawImage(v,r.x,r.y),i.restore();else{var m=y[t];if(!m)return;for(var x=i.getImageData(r.x,r.y,v.width,v.height),b=x.data,C=e.getImageData(0,0,v.width,v.height).data,S=0,P=b.length;S=2&&!t.hasHandles())if(h>2){a=t._closed?"polygon":"polyline";for(var l=[],c=0;c node.w || h > node.h ) return null; if ( w == node.w && h == node.h ) { node.used = true; return { x: node.x, y: node.y }; } node.lft = cloneNode( node ); node.rgt = cloneNode( node ); if ( node.w - w > node.h - h ) { node.lft.w = w; node.rgt.x = node.x + w; node.rgt.w = node.w - w; } else { node.lft.h = h; node.rgt.y = node.y + h; node.rgt.h = node.h - h; } return recursiveFindCoords( node.lft, w, h ); } } var coords = recursiveFindCoords( this.root, w, h ); if (coords) { if ( this.usedWidth < coords.x + w ) this.usedWidth = coords.x + w; if ( this.usedHeight < coords.y + h ) this.usedHeight = coords.y + h; } return coords; } function UnionFind(count) { this.roots = new Array(count); this.ranks = new Array(count); for(var i=0; i>>4)+"."+(k[9]&15),profileClass:n(k,12,4),spaceIn:n(k,16,4),spaceOut:n(k,20,4),date:F(k,24),platform:n(k,40,4),flags:u(k,44),deviceManufac:n(k,48,4),deviceModel:u(k,52),deviceAttribs:[u(k,56),u(k,60)],rendIntent:u(k,64),illuminant:N(k,68),creator:n(k,80,4)}; for(var t=0;t<5;t++)h.date+="."+F(k,26+2*t);return h}function g(k,S){var n=_,u={},h=n(k,S);S+=4;if(h>100)return null; for(var t=0;t>>1)}}function G(k,S,n,u){var h=_(S,n); n+=4;k.j=c(S,n,h-1);n+=h;var t=_(S,n);n+=4;var e=_(S,n);n+=4;k.O=P(S,n,e);n+=e;var Y=F(S,n);n+=2;var J=S[n]; n++;k.f=c(S,n,J)}function I(k,S,n,u){var h=n-8;k.F=S[n];n++;k.I=S[n];n++;n+=2;var t=_(S,n);n+=4;var e=_(S,n); n+=4;var Y=_(S,n);n+=4;var J=_(S,n);n+=4;var A=_(S,n);n+=4;if(t!=0){k.m=[];n=h+t;for(var $=0;$u?Y:(116*e-16)/n,C=t>u?t:(116*h-16)/n,M=$>u?$:(116*J-16)/n,d=M*S[0],R=C*S[1],x=b*S[2],s=m.c,T=[s[0]*d+s[1]*R+s[2]*x,s[3]*d+s[4]*R+s[5]*x,s[6]*d+s[7]*R+s[8]*x]; for(var Z=0;Z<3;Z++)T[Z]=Math.max(0,Math.min(1,m.C(T[Z])));return{u:T[0],s:T[1],q:T[2]}}};m.h=function(){var i=[],N=[]; for(var x=0;x<8e3;x++){var S=x/4e3;i[x]=m.d(S);N[x]=S>.008856?Math.pow(S,1/3):(903.3*S+16)*(1/116)}return[i,N]}(); function F(i){var N=i[0],x=i[1],S=i[2],n=i[3],u=i[4],h=i[5],t=i[6],e=i[7],Y=i[8],J=u*Y-e*h,A=h*t-n*Y,$=n*e-t*u,b=1/(N*J+x*A+S*$),C=[J,S*e-x*Y,x*h-S*u,A,N*Y-S*t,n*S-N*h,$,t*x-N*e,N*u-n*x]; for(var Y=0;Y<9;Y++)C[Y]=C[Y]*b;return C}function K(i,N,x){var S=1/(i-1),n=[],u=[];for(var h=0;h=Y?(Math.pow(n,1/u)-t)/h:n/e;else throw S;return i}if(S==1)n=Math.pow(i,u); else if(S==3)n=i>=-t/h?Math.pow(h*i+t,u):0;else if(S==4)n=i>=-t/h?Math.pow(h*i+t,u)+e:e;else if(S==5)n=i>=Y?Math.pow(h*i+t,u):e*i; else if(S==7)n=i>=Y?Math.pow(h*i+t,u)+J:e*i+A;return n}function r(i,N,x,S,n,u){var h=~~i,t=~~N,e=~~x,Y=S*S,J=e+S*t+S*S*h,A=e+S*(t+1)+S*S*h; z(J,J+1,n,x-e,0,u);z(A,A+1,n,x-e,1,u);z(J+Y,J+1+Y,n,x-e,2,u);z(A+Y,A+1+Y,n,x-e,3,u);z(0,1,u,N-t,0,u); z(2,3,u,N-t,2,u);z(0,2,u,i-h,0,u)}function p(i,N,x,S,n,u){var h=~~i,t=~~N,e=~~x,Y=S*S,J=e+S*t+S*S*h,A=e+S*(t+1)+S*S*h; l(J,J+1,n,x-e,0,u);l(A,A+1,n,x-e,1,u);l(J+Y,J+1+Y,n,x-e,2,u);l(A+Y,A+1+Y,n,x-e,3,u);l(0,1,u,N-t,0,u); l(2,3,u,N-t,2,u);l(0,2,u,i-h,0,u)}function z(i,N,x,S,n,u){i*=3;N*=3;n*=3;u[n]=(1-S)*x[i]+S*x[N];u[n+1]=(1-S)*x[i+1]+S*x[N+1]; u[n+2]=(1-S)*x[i+2]+S*x[N+2]}function l(i,N,x,S,n,u){var h=i<<2,t=N<<2,e=n<<2;u[e]=(1-S)*x[h]+S*x[t]; u[e+1]=(1-S)*x[h+1]+S*x[t+1];u[e+2]=(1-S)*x[h+2]+S*x[t+2];u[e+3]=(1-S)*x[h+3]+S*x[t+3]}function f(i,N){function x(e){return e<0?0:e>1?1:e}var S=N*N*N,n=new Float32Array(S*4); for(var u=0;u>>2]==A){J[$>>>2]=J[($>>>2)-1]; continue}else if(n==8)A=Y[$>>>2];p(t*x[$],t*x[$+1],t*x[$+2],N,i,h);if(n==8){S[$]=~~(.5+h[0]*u);S[$+1]=~~(.5+h[1]*u); S[$+2]=~~(.5+h[2]*u);S[$+3]=~~(.5+h[3]*u)}else if(n==16){S[$]=~~(.5+h[0]*u);S[$+1]=~~(.5+h[1]*u);S[$+2]=~~(.5+h[2]*u); S[$+3]=~~(.5+h[3]*u)}else{S[$]=h[0];S[$+1]=h[1];S[$+2]=h[2];S[$+3]=h[3]}}}function O(i,N,x,S){var n=V(x),u=n==8?255:n==16?65535:1,h=[0,0,0,0,0,0,0,0,0,0,0,0],t=(N-1.000001)/u,e=x.length; for(var Y=0;Y>2]|=t[r]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344?(a[e>>2]|=(224|i>>12)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<=64?(this.block=a[16],this.start=e-64,this.hash(),this.hashed=!0):this.start=e}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},t.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,h=this.lastByteIndex;t[16]=this.block,t[h>>2]|=o[3&h],this.block=t[16],h>=56&&(this.hashed||this.hash(),t[0]=this.block,t[16]=t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=0),t[14]=this.hBytes<<3|this.bytes>>>29,t[15]=this.bytes<<3,this.hash()}},t.prototype.hash=function(){var t,h,s=this.h0,i=this.h1,e=this.h2,r=this.h3,o=this.h4,n=this.blocks;for(t=16;t<80;++t)h=n[t-3]^n[t-8]^n[t-14]^n[t-16],n[t]=h<<1|h>>>31;for(t=0;t<20;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i&e|~i&r)+o+1518500249+n[t]<<0)<<5|o>>>27)+(s&(i=i<<30|i>>>2)|~s&e)+r+1518500249+n[t+1]<<0)<<5|r>>>27)+(o&(s=s<<30|s>>>2)|~o&i)+e+1518500249+n[t+2]<<0)<<5|e>>>27)+(r&(o=o<<30|o>>>2)|~r&s)+i+1518500249+n[t+3]<<0)<<5|i>>>27)+(e&(r=r<<30|r>>>2)|~e&o)+s+1518500249+n[t+4]<<0,e=e<<30|e>>>2;for(;t<40;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i^e^r)+o+1859775393+n[t]<<0)<<5|o>>>27)+(s^(i=i<<30|i>>>2)^e)+r+1859775393+n[t+1]<<0)<<5|r>>>27)+(o^(s=s<<30|s>>>2)^i)+e+1859775393+n[t+2]<<0)<<5|e>>>27)+(r^(o=o<<30|o>>>2)^s)+i+1859775393+n[t+3]<<0)<<5|i>>>27)+(e^(r=r<<30|r>>>2)^o)+s+1859775393+n[t+4]<<0,e=e<<30|e>>>2;for(;t<60;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i&e|i&r|e&r)+o-1894007588+n[t]<<0)<<5|o>>>27)+(s&(i=i<<30|i>>>2)|s&e|i&e)+r-1894007588+n[t+1]<<0)<<5|r>>>27)+(o&(s=s<<30|s>>>2)|o&i|s&i)+e-1894007588+n[t+2]<<0)<<5|e>>>27)+(r&(o=o<<30|o>>>2)|r&s|o&s)+i-1894007588+n[t+3]<<0)<<5|i>>>27)+(e&(r=r<<30|r>>>2)|e&o|r&o)+s-1894007588+n[t+4]<<0,e=e<<30|e>>>2;for(;t<80;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i^e^r)+o-899497514+n[t]<<0)<<5|o>>>27)+(s^(i=i<<30|i>>>2)^e)+r-899497514+n[t+1]<<0)<<5|r>>>27)+(o^(s=s<<30|s>>>2)^i)+e-899497514+n[t+2]<<0)<<5|e>>>27)+(r^(o=o<<30|o>>>2)^s)+i-899497514+n[t+3]<<0)<<5|i>>>27)+(e^(r=r<<30|r>>>2)^o)+s-899497514+n[t+4]<<0,e=e<<30|e>>>2;this.h0=this.h0+s<<0,this.h1=this.h1+i<<0,this.h2=this.h2+e<<0,this.h3=this.h3+r<<0,this.h4=this.h4+o<<0},t.prototype.hex=function(){this.finalize();var t=this.h0,h=this.h1,s=this.h2,i=this.h3,e=this.h4;return r[t>>28&15]+r[t>>24&15]+r[t>>20&15]+r[t>>16&15]+r[t>>12&15]+r[t>>8&15]+r[t>>4&15]+r[15&t]+r[h>>28&15]+r[h>>24&15]+r[h>>20&15]+r[h>>16&15]+r[h>>12&15]+r[h>>8&15]+r[h>>4&15]+r[15&h]+r[s>>28&15]+r[s>>24&15]+r[s>>20&15]+r[s>>16&15]+r[s>>12&15]+r[s>>8&15]+r[s>>4&15]+r[15&s]+r[i>>28&15]+r[i>>24&15]+r[i>>20&15]+r[i>>16&15]+r[i>>12&15]+r[i>>8&15]+r[i>>4&15]+r[15&i]+r[e>>28&15]+r[e>>24&15]+r[e>>20&15]+r[e>>16&15]+r[e>>12&15]+r[e>>8&15]+r[e>>4&15]+r[15&e]},t.prototype.toString=t.prototype.hex,t.prototype.digest=function(){this.finalize();var t=this.h0,h=this.h1,s=this.h2,i=this.h3,e=this.h4;return[t>>24&255,t>>16&255,t>>8&255,255&t,h>>24&255,h>>16&255,h>>8&255,255&h,s>>24&255,s>>16&255,s>>8&255,255&s,i>>24&255,i>>16&255,i>>8&255,255&i,e>>24&255,e>>16&255,e>>8&255,255&e]},t.prototype.array=t.prototype.digest,t.prototype.arrayBuffer=function(){this.finalize();var t=new ArrayBuffer(20),h=new DataView(t);return h.setUint32(0,this.h0),h.setUint32(4,this.h1),h.setUint32(8,this.h2),h.setUint32(12,this.h3),h.setUint32(16,this.h4),t};var y=c();i?module.exports=y:(h.sha1=y,e&&define(function(){return y}))}();var EXRLoader={parse:function(e){var r={FloatType:1,UnsignedByteType:2,HalfFloatType:3,RGBEFormat:4};this.type=r.FloatType;var a=65536,n=a>>3,t=14,i=65537,o=1<>>20&2047;0===r&&(M.setFloat64(0,e*Math.pow(2,64)),r=(M.getUint32(0)>>>20&2047)-64);var a=r-1022;return[function(e,r){for(var a=Math.min(3,Math.ceil(Math.abs(r)/1023)),n=e,t=0;t>a&(1<n)return!1;I(6,u,h,e,l);var w=O.l;if(u=O.c,h=O.lc,f[t]=w,w==v){if(l.value-a.value>n)throw"Something wrong with hufUnpackEncTable";I(8,u,h,e,l);var p=O.l+c;if(u=O.c,h=O.lc,t+p>o+1)throw"Something wrong with hufUnpackEncTable";for(;p--;)f[t++]=0;t--}else if(w>=s){if(t+(p=w-s+2)>o+1)throw"Something wrong with hufUnpackEncTable";for(;p--;)f[t++]=0;t--}}!function(e){for(var r=0;r<=58;++r)E[r]=0;for(r=0;r0;--r){var n=a+E[r]>>1;E[r]=a,a=n}for(r=0;r0&&(e[r]=t|E[t]++<<6)}}(f)}function x(e){return 63&e}function P(e){return e>>6}var z={c:0,lc:0};function N(e,r,a,n){e=e<<8|te(a,n),r+=8,z.c=e,z.lc=r}var T={c:0,lc:0};function k(e,r,a,n,t,i,o,f,l,u){if(e==r){n<8&&(N(a,n,t,o),a=z.c,n=z.lc);var s=a>>(n-=8);s=new Uint8Array([s])[0];if(l.value+s>u)return!1;for(var v=f[l.value-1];s-- >0;)f[l.value++]=v}else{if(!(l.value32767?r-65536:r}var F={a:0,b:0};function B(e,r){var a=D(e),n=D(r),t=a+(1&n)+(n>>1),i=t,o=t-n;F.a=i,F.b=o}function L(e,r){var a=_(e),n=_(r),t=a-(n>>1)&u,i=n+t-l&u;F.a=i,F.b=t}function X(e,r,a,n,t,i,o){for(var f,l=o<16384,u=a>t?t:a,s=1;s<=u;)s<<=1;for(f=s>>=1,s>>=1;s>=1;){for(var v,c,h,w,p=0,y=p+i*(t-f),d=i*s,g=i*f,A=n*s,S=n*f;p<=y;p+=g){for(var U=p,b=p+n*(a-f);U<=b;U+=S){var m=U+A,M=(C=U+d)+A;l?(B(e[U+r],e[C+r]),v=F.a,h=F.b,B(e[m+r],e[M+r]),c=F.a,w=F.b,B(v,c),e[U+r]=F.a,e[m+r]=F.b,B(h,w),e[C+r]=F.a,e[M+r]=F.b):(L(e[U+r],e[C+r]),v=F.a,h=F.b,L(e[m+r],e[M+r]),c=F.a,w=F.b,L(v,c),e[U+r]=F.a,e[m+r]=F.b,L(h,w),e[C+r]=F.a,e[M+r]=F.b)}if(a&s){var C=U+d;l?B(e[U+r],e[C+r]):L(e[U+r],e[C+r]),v=F.a,e[C+r]=F.b,e[U+r]=v}}if(t&s)for(U=p,b=p+n*(a-f);U<=b;U+=S){m=U+A;l?B(e[U+r],e[m+r]):L(e[U+r],e[m+r]),v=F.a,e[m+r]=F.b,e[U+r]=v}f=s,s>>=1}return p}function V(e,r,a,n,l,u){var s=a.value,v=ne(r,a),c=ne(r,a);a.value+=4;var h=ne(r,a);if(a.value+=4,v<0||v>=i||c<0||c>=i)throw"Something wrong with HUF_ENCSIZE";var w=new Array(i),p=new Array(o);if(function(e){for(var r=0;r8*(n-(a.value-s)))throw"Something wrong with hufUncompress";!function(e,r,a,n){for(;r<=a;r++){var i=P(e[r]),o=x(e[r]);if(i>>o)throw"Invalid table entry";if(o>t){if((s=n[i>>o-t]).len)throw"Invalid table entry";if(s.lit++,s.p){var f=s.p;s.p=new Array(s.lit);for(var l=0;l0;l--){var s;if((s=n[(i<=t;)if((A=r[c>>h-t&f]).len)h-=A.len,k(A.lit,l,c,h,a,0,i,s,v,w),c=T.c,h=T.lc;else{if(!A.p)throw"hufDecode issues";var y;for(y=0;y=d&&P(e[A.p[y]])==(c>>h-d&(1<>=g,h-=g;h>0;){var A;if(!(A=r[c<i||(r[t++]=e[a++],t>i));)r[t++]=e[n++]}function W(e){for(var r=e.byteLength,a=new Array,n=0,t=new DataView(e);r>0;){var i=t.getInt8(n++);if(i<0){r-=(f=-i)+1;for(var o=0;o>8==255?t+=255&n:(a[t]=n,t++),e.value++}function Y(e,r){r[0]=le(e[0]),r[1]=le(e[1]),r[2]=le(e[5]),r[3]=le(e[6]),r[4]=le(e[14]),r[5]=le(e[15]),r[6]=le(e[27]),r[7]=le(e[28]),r[8]=le(e[2]),r[9]=le(e[4]),r[10]=le(e[7]),r[11]=le(e[13]),r[12]=le(e[16]),r[13]=le(e[26]),r[14]=le(e[29]),r[15]=le(e[42]),r[16]=le(e[3]),r[17]=le(e[8]),r[18]=le(e[12]),r[19]=le(e[17]),r[20]=le(e[25]),r[21]=le(e[30]),r[22]=le(e[41]),r[23]=le(e[43]),r[24]=le(e[9]),r[25]=le(e[11]),r[26]=le(e[18]),r[27]=le(e[24]),r[28]=le(e[31]),r[29]=le(e[40]),r[30]=le(e[44]),r[31]=le(e[53]),r[32]=le(e[10]),r[33]=le(e[19]),r[34]=le(e[23]),r[35]=le(e[32]),r[36]=le(e[39]),r[37]=le(e[45]),r[38]=le(e[52]),r[39]=le(e[54]),r[40]=le(e[20]),r[41]=le(e[22]),r[42]=le(e[33]),r[43]=le(e[38]),r[44]=le(e[46]),r[45]=le(e[51]),r[46]=le(e[55]),r[47]=le(e[60]),r[48]=le(e[21]),r[49]=le(e[34]),r[50]=le(e[37]),r[51]=le(e[47]),r[52]=le(e[50]),r[53]=le(e[56]),r[54]=le(e[59]),r[55]=le(e[61]),r[56]=le(e[35]),r[57]=le(e[36]),r[58]=le(e[48]),r[59]=le(e[49]),r[60]=le(e[57]),r[61]=le(e[58]),r[62]=le(e[62]),r[63]=le(e[63])}function j(e){for(var r=.5*Math.cos(.7853975),a=.5*Math.cos(.196349375),n=.5*Math.cos(.39269875),t=.5*Math.cos(3*3.14159/16),i=.5*Math.cos(.981746875),o=.5*Math.cos(3*3.14159/8),f=.5*Math.cos(1.374445625),l=new Array(4),u=new Array(4),s=new Array(4),v=new Array(4),c=0;c<8;++c){var h=8*c;l[0]=n*e[h+2],l[1]=o*e[h+2],l[2]=n*e[h+6],l[3]=o*e[h+6],u[0]=a*e[h+1]+t*e[h+3]+i*e[h+5]+f*e[h+7],u[1]=t*e[h+1]-f*e[h+3]-a*e[h+5]-i*e[h+7],u[2]=i*e[h+1]-a*e[h+3]+f*e[h+5]+t*e[h+7],u[3]=f*e[h+1]-i*e[h+3]+t*e[h+5]-a*e[h+7],s[0]=r*(e[h+0]+e[h+4]),s[3]=r*(e[h+0]-e[h+4]),s[1]=l[0]+l[3],s[2]=l[1]-l[2],v[0]=s[0]+s[1],v[1]=s[3]+s[2],v[2]=s[3]-s[2],v[3]=s[0]-s[1],e[h+0]=v[0]+u[0],e[h+1]=v[1]+u[1],e[h+2]=v[2]+u[2],e[h+3]=v[3]+u[3],e[h+4]=v[3]-u[3],e[h+5]=v[2]-u[2],e[h+6]=v[1]-u[1],e[h+7]=v[0]-u[0]}for(var w=0;w<8;++w)l[0]=n*e[16+w],l[1]=o*e[16+w],l[2]=n*e[48+w],l[3]=o*e[48+w],u[0]=a*e[8+w]+t*e[24+w]+i*e[40+w]+f*e[56+w],u[1]=t*e[8+w]-f*e[24+w]-a*e[40+w]-i*e[56+w],u[2]=i*e[8+w]-a*e[24+w]+f*e[40+w]+t*e[56+w],u[3]=f*e[8+w]-i*e[24+w]+t*e[40+w]-a*e[56+w],s[0]=r*(e[w]+e[32+w]),s[3]=r*(e[w]-e[32+w]),s[1]=l[0]+l[3],s[2]=l[1]-l[2],v[0]=s[0]+s[1],v[1]=s[3]+s[2],v[2]=s[3]-s[2],v[3]=s[0]-s[1],e[0+w]=v[0]+u[0],e[8+w]=v[1]+u[1],e[16+w]=v[2]+u[2],e[24+w]=v[3]+u[3],e[32+w]=v[3]-u[3],e[40+w]=v[2]-u[2],e[48+w]=v[1]-u[1],e[56+w]=v[0]-u[0]}function q(e){for(var r=0;r<64;++r){var a=e[0][r],n=e[1][r],t=e[2][r];e[0][r]=a+1.5747*t,e[1][r]=a-.1873*n-.4682*t,e[2][r]=a+1.8556*n}}function J(e,r,a){for(var n=0;n<64;++n)r[a+n]=ue(K(e[n]))}function K(e){return e<=1?Math.sign(e)*Math.pow(Math.abs(e),2.2):Math.sign(e)*Math.pow(m,Math.abs(e)-1)}function Q(e){var r=e.array.slice(e.offset.value,e.offset.value+e.size),a=new Uint8Array(pako.inflate(r).buffer),n=new Uint8Array(a.length);return Z(a),H(a,n),new DataView(n.buffer)}function $(e){var r=e.viewer,a={value:e.offset.value},n=new Uint8Array(e.width*e.lines*(we.channels.length*e.type*y)),t={version:oe(r,a),unknownUncompressedSize:oe(r,a),unknownCompressedSize:oe(r,a),acCompressedSize:oe(r,a),dcCompressedSize:oe(r,a),rleCompressedSize:oe(r,a),rleUncompressedSize:oe(r,a),rleRawSize:oe(r,a),totalAcUncompressedCount:oe(r,a),totalDcUncompressedCount:oe(r,a),acCompression:oe(r,a)};if(t.version<2)throw"EXRLoader.parse: "+we.compression+" version "+t.version+" is unsupported";for(var i=new Array,o=se(r,a)-y;o>0;){var f=ee(r.buffer,a),l=ie(r,a),u=l>>2&3,s=new Int8Array([(l>>4)-1])[0],v=ie(r,a);i.push({name:f,index:s,type:v,compression:u}),o-=f.length+3}for(var c=we.channels,h=new Array(e.channels),w=0;w=0&&(m.idx[C.index]=M),p.offset=M)}if(t.acCompressedSize>0)switch(t.acCompression){case g:var O=new Uint16Array(t.totalAcUncompressedCount);V(e.array,r,a,t.acCompressedSize,O,t.totalAcUncompressedCount);break;case A:var I=e.array.slice(a.value,a.value+t.totalAcUncompressedCount);O=new Uint16Array(pako.inflate(I).buffer);a.value+=t.totalAcUncompressedCount}if(t.dcCompressedSize>0){var E={array:e.array,offset:a,size:t.dcCompressedSize},R=new Uint16Array(Q(E).buffer);a.value+=t.dcCompressedSize}if(t.rleRawSize>0){I=e.array.slice(a.value,a.value+t.rleCompressedSize);var x=W(pako.inflate(I).buffer);a.value+=t.rleCompressedSize}var P=0,z=new Array(h.length);for(w=0;w>10,a=1023&e;return(e>>15?-1:1)*(r?31===r?a?NaN:1/0:Math.pow(2,r-15)*(1+a/1024):a/1024*6103515625e-14)}function ue(e){M.setFloat32(0,e);var r=M.getInt32(0),a=r>>16&32768,n=r>>12&2047,t=r>>23&255;return t<103?a:t>142?(a|=31744,a|=(255==t?0:1)&&8388607&r):t<113?a|=((n|=2048)>>114-t)+(n>>113-t&1):(a|=t-112<<10|n>>1,a+=1&n)}function se(e,r){var a=e.getUint16(r.value,!0);return r.value+=y,a}function ve(e,r,a,n,t){return"string"===n||"stringvector"===n||"iccProfile"===n?function(e,r,a){var n=(new TextDecoder).decode(new Uint8Array(e).slice(r.value,r.value+a));return r.value=r.value+a,n}(r,a,t):"chlist"===n?function(e,r,a,n){for(var t=a.value,i=[];a.value=n)throw"Something is wrong with PIZ_COMPRESSION BITMAP_SIZE";if(v<=c)for(s=0;s>3]&1<<(7&t))&&(r[n++]=t);for(var i=n-1;nRe?Re-ze:Se,ke.offset=pe,ke.size=xe,Ne=Ae(ke),pe.value+=xe;for(var Fe=0;Fe=Re)break;for(var Le=0;Le(We=qe>Je?qe:Je)?Ke:We)<1e-32)Ge[Oe]=Ge[Oe+1]=Ge[Oe+2]=Ge[Oe+3]=0;else{var Qe=C(We);We=256*Qe[0]/We,Ge[Oe]=qe*We,Ge[Oe+1]=Je*We,Ge[Oe+2]=Ke*We,Ge[Oe+3]=Qe[1]+128}}Pe=Ge}var $e=this.type===r.UnsignedByteType?r.RGBEFormat:r.RGBAFormat;return{header:we,width:Ee,height:Re,data:Pe,format:$e,type:this.type}}};