| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- class Wt{constructor(e,t){this.x=e,this.y=t}}class vt{constructor(e,t,a,d){this.x=e,this.y=t,this.width=a,this.height=d}get center(){return new Wt(this.x+this.width/2,this.y+this.height/2)}static fromCenter(e,t,a){return new vt(e.x-t/2,e.y-a/2,t,a)}toString(){return`Rect(${this.x}, ${this.y},${this.width}, ${this.height})`}vertex(){var e=this.x,t=this.x+this.width,a=this.y,d=this.y+this.height;return[e,a,t,a,e,d,e,d,t,a,t,d]}coverRadius(e,t){var a,d;e>this.x+this.width/2?a=this.x:a=this.x+this.width,t>this.y+this.height/2?d=this.y:d=this.y+this.height;var s=e-a,c=t-d;return Math.sqrt(s*s+c*c)}centerFitTo(e){const t=Math.min(e.width/this.width,e.height/this.height),a=t*this.width,d=t*this.height,s=e.width/2-a/2,c=e.height/2-d/2;return new vt(e.x+s,e.y+c,a,d)}}function zt(_,e,t){var a,d;e>_.x+_.width/2?a=_.x:a=_.x+_.width,t>_.y+_.height/2?d=_.y:d=_.y+_.height;var s=e-a,c=t-d;return Math.sqrt(s*s+c*c)}function pt(_,e,t,a,d,s){_[e]=t,_[e+1]=a,_[e+2]=t+d,_[e+3]=a,_[e+4]=t,_[e+5]=a+s,_[e+6]=t,_[e+7]=a+s,_[e+8]=t+d,_[e+9]=a,_[e+10]=t+d,_[e+11]=a+s}function Gt(_,e,t,a){const d=new Float32Array(12),s=0;return d[s]=_,d[s+1]=e,d[s+2]=_+t,d[s+3]=e,d[s+4]=_,d[s+5]=e+a,d[s+6]=_,d[s+7]=e+a,d[s+8]=_+t,d[s+9]=e,d[s+10]=_+t,d[s+11]=e+a,d}class Ut{constructor(e,t,a,d){this.duration=e,this.onUpdate=t,this.onEnd=a,this.interpolator=d,this.startTime=new Date().getTime(),this._progress=0,this.running=!0,this.ended=!1,this.canceled=!1}get progress(){return this._progress}update(){if(this.removable())return;const e=new Date().getTime()-this.startTime;e<this.duration?(this._progress=e/this.duration,this.onUpdate(this)):e>=this.duration&&(this.running?(this._progress=1,this.onUpdate(this),this.running=!1):this.end())}removable(){return this.ended||this.canceled}cancel(){this.canceled||(this.canceled=!0,this.end())}end(){this.ended||(this.onEnd(this),this.ended=!0)}value(){return this.interpolator!=null?this.interpolator.getInterpolation(this._progress):this._progress}}class Xt{constructor(e,t){this.touches=[],this.distance=0,this.callbacks=t,this.el=e}removeTouch(e){let t=this.touches.findIndex(a=>a.identifier==e);t>=0&&this.touches.splice(t,1)}getTouch(e){let t=this.touches.findIndex(a=>a.identifier==e);return t>=0?this.touches[t]:null}getX(e){return e.pageX}getY(e){return e.pageY}start(e){for(var t=0;t<e.length;t++){let a=e[t];this.removeTouch(a.identifier),this.touches.push({lastX:this.getX(a),lastY:this.getY(a),dx:0,dy:0,identifier:a.identifier})}this.touches.length==1&&(this.distance=0),this.updateFocus()}updateFocus(){if(this.touches.length<2){this.scaleTracker=void 0;return}let e=this.touches[0],t=this.touches[1],a=(e.lastX+t.lastX)/2,d=(e.lastY+t.lastY)/2,s=Math.sqrt(Math.pow(t.lastX-e.lastX,2)+Math.pow(t.lastY-e.lastY,2));this.scaleTracker={focusX:a,focusY:d,distance:s}}end(e){var a,d;console.log("end");for(var t=0;t<e.length;t++)this.removeTouch(e[t].identifier);if(this.updateFocus(),this.touches.length<=0&&this.distance==0){let s=e[0];s.target,(d=(a=this.callbacks)==null?void 0:a.tap)==null||d.call(a,s.clientX,s.clientY)}}move(e){var a,d,s,c,o,i;for(var t=0;t<e.length;t++){let x=e[t],b=this.getTouch(x.identifier);if(b!=null)if(b.dx=this.getX(x)-b.lastX,b.dy=this.getY(x)-b.lastY,b.lastX=this.getX(x),b.lastY=this.getY(x),this.scaleTracker){let v=this.touches[0],A=this.touches[1],p=(v.lastX+A.lastX)/2,l=(v.lastY+A.lastY)/2,n=Math.sqrt(Math.pow(A.lastX-v.lastX,2)+Math.pow(A.lastY-v.lastY,2)),f=p-this.scaleTracker.focusX,u=l-this.scaleTracker.focusY,m=n/this.scaleTracker.distance;console.log(`dx=${f}, dy=${u}, scale=${m}, distance=${n}`),(d=(a=this.callbacks).drag)==null||d.call(a,f,u),(c=(s=this.callbacks).zoom)==null||c.call(s,m,p,l),this.scaleTracker.focusX=p,this.scaleTracker.focusY=l,this.scaleTracker.distance=n,this.distance+=Math.abs(f)+Math.abs(u)}else(i=(o=this.callbacks).drag)==null||i.call(o,b.dx,b.dy),this.distance+=Math.abs(b.dx)+Math.abs(b.dy)}}}class Yt{constructor(e,t){var a,d,s=!1,c=0,o=0,i=0;e.addEventListener("mousedown",b=>{s=!0,c=b.clientX,o=b.clientY,i=0}),document.addEventListener("mouseup",b=>{var v;s=!1,i==0&&b.target==e&&((v=t.tap)==null||v.call(t,b.offsetX,b.offsetY))}),document.addEventListener("mousemove",b=>{var v;s&&(b.preventDefault(),a=b.clientX-c,d=b.clientY-o,c=b.clientX,o=b.clientY,i+=Math.abs(a)+Math.abs(d),(v=t==null?void 0:t.drag)==null||v.call(t,a,d))}),e.addEventListener("wheel",b=>{var A;b.preventDefault();let v=b.deltaY*-.01+1;(A=t.zoom)==null||A.call(t,v,b.offsetX,b.offsetY)}),e.addEventListener("click",b=>{b.preventDefault()});const x=new Xt(e,t);e.addEventListener("touchstart",b=>{b.preventDefault(),x.start(b.changedTouches)}),e.addEventListener("touchmove",b=>{x.move(b.changedTouches)}),e.addEventListener("touchend",b=>{x.end(b.changedTouches)}),e.addEventListener("touchcancel",b=>{x.end(b.changedTouches)})}}var ut;(_=>{let e=Float32Array;function t(l,n,f=null){f=f||new e(16);var u=n[0*4+0],m=n[0*4+1],E=n[0*4+2],R=n[0*4+3],C=n[1*4+0],L=n[1*4+1],D=n[1*4+2],P=n[1*4+3],B=n[2*4+0],M=n[2*4+1],K=n[2*4+2],w=n[2*4+3],z=n[3*4+0],h=n[3*4+1],U=n[3*4+2],J=n[3*4+3],W=l[0*4+0],tt=l[0*4+1],X=l[0*4+2],q=l[0*4+3],S=l[1*4+0],F=l[1*4+1],$=l[1*4+2],V=l[1*4+3],j=l[2*4+0],at=l[2*4+1],ot=l[2*4+2],et=l[2*4+3],rt=l[3*4+0],st=l[3*4+1],nt=l[3*4+2],ct=l[3*4+3];return f[0]=u*W+m*S+E*j+R*rt,f[1]=u*tt+m*F+E*at+R*st,f[2]=u*X+m*$+E*ot+R*nt,f[3]=u*q+m*V+E*et+R*ct,f[4]=C*W+L*S+D*j+P*rt,f[5]=C*tt+L*F+D*at+P*st,f[6]=C*X+L*$+D*ot+P*nt,f[7]=C*q+L*V+D*et+P*ct,f[8]=B*W+M*S+K*j+w*rt,f[9]=B*tt+M*F+K*at+w*st,f[10]=B*X+M*$+K*ot+w*nt,f[11]=B*q+M*V+K*et+w*ct,f[12]=z*W+h*S+U*j+J*rt,f[13]=z*tt+h*F+U*at+J*st,f[14]=z*X+h*$+U*ot+J*nt,f[15]=z*q+h*V+U*et+J*ct,f}_.multiply=t;function a(l=null){return l=l||new e(16),l[0]=1,l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[5]=1,l[6]=0,l[7]=0,l[8]=0,l[9]=0,l[10]=1,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,l}_.identity=a;function d(l,n,f,u=null){return u=u||new e(16),u[0]=1,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=l,u[13]=n,u[14]=f,u[15]=1,u}_.translation=d;function s(l,n,f,u){return u=u||new e(16),u[0]=l,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=n,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=f,u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u}_.scaling=s;function c(l,n,f,u,m){return m=m||new e(16),m[0]=n*l[0*4+0],m[1]=n*l[0*4+1],m[2]=n*l[0*4+2],m[3]=n*l[0*4+3],m[4]=f*l[1*4+0],m[5]=f*l[1*4+1],m[6]=f*l[1*4+2],m[7]=f*l[1*4+3],m[8]=u*l[2*4+0],m[9]=u*l[2*4+1],m[10]=u*l[2*4+2],m[11]=u*l[2*4+3],l!==m&&(m[12]=l[12],m[13]=l[13],m[14]=l[14],m[15]=l[15]),m}_.scale=c;function o(l,n=null){n=n||new e(16);var f=l[0*4+0],u=l[0*4+1],m=l[0*4+2],E=l[0*4+3],R=l[1*4+0],C=l[1*4+1],L=l[1*4+2],D=l[1*4+3],P=l[2*4+0],B=l[2*4+1],M=l[2*4+2],K=l[2*4+3],w=l[3*4+0],z=l[3*4+1],h=l[3*4+2],U=l[3*4+3],J=M*U,W=h*K,tt=L*U,X=h*D,q=L*K,S=M*D,F=m*U,$=h*E,V=m*K,j=M*E,at=m*D,ot=L*E,et=P*z,rt=w*B,st=R*z,nt=w*C,ct=R*B,ft=P*C,r=f*z,O=w*u,I=f*B,y=P*u,g=f*C,T=R*u,N=J*C+X*B+q*z-(W*C+tt*B+S*z),G=W*u+F*B+j*z-(J*u+$*B+V*z),k=tt*u+$*C+at*z-(X*u+F*C+ot*z),Y=S*u+V*C+ot*B-(q*u+j*C+at*B),Z=1/(f*N+R*G+P*k+w*Y);return n[0]=Z*N,n[1]=Z*G,n[2]=Z*k,n[3]=Z*Y,n[4]=Z*(W*R+tt*P+S*w-(J*R+X*P+q*w)),n[5]=Z*(J*f+$*P+V*w-(W*f+F*P+j*w)),n[6]=Z*(X*f+F*R+ot*w-(tt*f+$*R+at*w)),n[7]=Z*(q*f+j*R+at*P-(S*f+V*R+ot*P)),n[8]=Z*(et*D+nt*K+ct*U-(rt*D+st*K+ft*U)),n[9]=Z*(rt*E+r*K+y*U-(et*E+O*K+I*U)),n[10]=Z*(st*E+O*D+g*U-(nt*E+r*D+T*U)),n[11]=Z*(ft*E+I*D+T*K-(ct*E+y*D+g*K)),n[12]=Z*(st*M+ft*h+rt*L-(ct*h+et*L+nt*M)),n[13]=Z*(I*h+et*m+O*M-(r*M+y*h+rt*m)),n[14]=Z*(r*L+T*h+nt*m-(g*h+st*m+O*L)),n[15]=Z*(g*M+ct*m+y*L-(I*L+T*M+ft*m)),n}_.inverse=o;function i(l,n,f=null){f=f||new e(3);var u=n[0],m=n[1],E=n[2],R=u*l[0*4+3]+m*l[1*4+3]+E*l[2*4+3]+l[3*4+3];return f[0]=(u*l[0*4+0]+m*l[1*4+0]+E*l[2*4+0]+l[3*4+0])/R,f[1]=(u*l[0*4+1]+m*l[1*4+1]+E*l[2*4+1]+l[3*4+1])/R,f[2]=(u*l[0*4+2]+m*l[1*4+2]+E*l[2*4+2]+l[3*4+2])/R,f}_.transformPoint=i;function x(l,n=null){return n=n||new e(16),n[0]=l[0],n[1]=l[1],n[2]=l[2],n[3]=l[3],n[4]=l[4],n[5]=l[5],n[6]=l[6],n[7]=l[7],n[8]=l[8],n[9]=l[9],n[10]=l[10],n[11]=l[11],n[12]=l[12],n[13]=l[13],n[14]=l[14],n[15]=l[15],n}_.copy=x;function b(l,n,f=null){return f=a(f),f[0]=2/l,f[5]=-2/n,f[12]=-1,f[13]=1,f}_.projection=b;function v(l,n,f=null){return f=a(f),f[0]=2/l,f[5]=2/n,f[12]=-1,f[13]=-1,f}_.projectionNoflipY=v;function A(l,n,f,u){let m=a();return m[0]=l,m[5]=n,m[12]=-l*f+f,m[13]=-n*u+u,m}_.scaleAt=A;function p(l,n,f,u){for(var m=0;m<16;m++)f[m]=l[m]+(n[m]-l[m])*u}_.lerp=p})(ut||(ut={}));class kt{preDraw(){}draw(){}tap(e,t,a,d){}scale(e){}dispose(){}}class jt{constructor(e,t,a,d){this.left=e,this.top=t,this.right=a,this.bottom=d}equals(e){return this.left==e.left&&this.top==e.top&&this.right==e.right&&this.bottom==e.bottom}}class Zt{constructor(e,t,a=window){this.gl=e,this.ratio=t,this.animationFrameProvider=a,this.layers=[],this.testLayers=[],this.animators=[],this.userMat=ut.identity(),this.bestFitMat=ut.identity(),this.projectionMat=ut.identity(),this.resultMat=ut.identity(),this.width=0,this.height=0,this.contentWidth=0,this.contentHeight=0,this.padding=new jt(0,0,0,0),this.pendingDraw=!1,this.isBestMatSet=!1,this.updateViewport();let d=this;window&&new Yt(e.canvas,{drag:d.drag.bind(d),zoom:d.scaleAt.bind(d),tap:d.tap.bind(d)}),ut.identity()}updateViewport(){console.log("viewport update.");const t=this.gl.canvas;this.invalidate(),(t.width!=this.width||t.height!=this.height)&&(this.width=t.width,this.height=t.height,ut.projection(this.width,this.height,this.projectionMat),this.updateBestFit(),this.updateResultMat())}updateBestFit(){if(this.contentWidth==0||this.width==0)return;const e=new vt(this.padding.left,this.padding.top,this.width-this.padding.right-this.padding.left,this.height-this.padding.top-this.padding.bottom),t=Math.min(e.width/this.contentWidth,e.height/this.contentHeight),a=e.center.x-this.contentWidth*t/2,d=e.center.y-this.contentHeight*t/2;ut.identity(this.bestFitMat),this.bestFitMat[0]=t,this.bestFitMat[5]=t,this.bestFitMat[12]=a,this.bestFitMat[13]=d,this.isBestMatSet||(ut.copy(this.bestFitMat,this.userMat),this.invalidate(),this.isBestMatSet=!0)}updateResultMat(){if(this.contentWidth==0||this.width==0)return;const e=new vt(this.padding.left,this.padding.top,this.width-this.padding.right-this.padding.left,this.height-this.padding.top-this.padding.bottom);let t=this.width>this.height?.6:.7,a=this.width*t/this.contentWidth,d=this.height*t/this.contentHeight,s=Math.min(a,d);const c=e.center.x-this.contentWidth*s/2,o=e.center.y-this.contentHeight*s/(this.width>this.height?1.5:1.2);ut.identity(this.resultMat),this.resultMat[0]=s,this.resultMat[5]=s,this.resultMat[12]=c,this.resultMat[13]=o}setContentPadding(e){this.padding.equals(e)||(this.padding=e,this.updateBestFit(),this.updateResultMat())}setContentSize(e,t){(e!=this.contentWidth||t!=this.contentWidth)&&(this.contentWidth=e,this.contentHeight=t,this.updateBestFit(),this.updateResultMat())}addLayer(e){this.layers.push(e),this.invalidate()}invalidate(){this.pendingDraw||(this.pendingDraw=!0,this.animationFrameProvider.requestAnimationFrame(()=>{this.draw()}))}draw(){this.animators.forEach(a=>a.update()),this.layers.forEach(a=>a.preDraw());const e=this.gl;e.viewport(0,0,this.width,this.height);let t=239/255;e.clearColor(t,t,t,1),e.clear(e.COLOR_BUFFER_BIT),e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),e.enable(e.BLEND),e.disable(e.DEPTH_TEST),this.layers.forEach(a=>a.draw()),this.pendingDraw=!1,this.animators=this.animators.filter(a=>!a.removable()),this.animators.length>0&&this.invalidate()}get drawMatrix(){return ut.multiply(this.projectionMat,this.userMat)}drag(e,t){let a=ut.translation(e*this.ratio,t*this.ratio,0);this.userMat=ut.multiply(a,this.userMat),this.invalidate()}scaleAt(e,t,a){t*=this.ratio,a*=this.ratio;let d=ut.scaleAt(e,e,t,a);this.userMat=ut.multiply(d,this.userMat),this.layers.forEach(s=>s.scale(this.userMat[0])),this.invalidate()}tap(e,t){let a=e*this.ratio,d=t*this.ratio,[s,c]=ut.transformPoint(ut.inverse(this.userMat),new Float32Array([a,d,0]));this.layers.forEach(o=>o.tap(s,c,a,d))}addAnimator(e){this.animators.push(e),this.invalidate()}addTestLayer(e){this.testLayers.push(e),this.testLayers.length<=1&&this.layers.push(e),this.invalidate()}toggleTestLayer(){if(this.testLayers.length==0)return;let e=this.testLayers.findIndex(d=>this.layers.indexOf(d)>=0),t=(e+1)%this.testLayers.length,a=this.testLayers[t];e>=0&&(this.layers=this.layers.filter(d=>d!=this.testLayers[e])),console.log(`toggleTestLayer, layer=${a}`),this.layers.push(a),this.invalidate()}setScale(e){ut.scaling(e,e,1,this.userMat),this.invalidate()}updateUserMat(e){ut.copy(e,this.userMat),this.invalidate()}matrixAnimationTo(e,t,a,d){const s=ut.copy(this.userMat),c=new Float32Array(16),o=new Ut(t,()=>{ut.lerp(s,e,c,o.value()),this.updateUserMat(c)},()=>{d==null||d()},a);this.addAnimator(o)}resetToBestFit(){this.matrixAnimationTo(this.bestFitMat,600)}dispose(){for(;this.layers.length>0;){let e=this.layers.pop();e==null||e.dispose()}}}function mt(_,e,t){var a=_.createShader(e);_.shaderSource(a,t),_.compileShader(a);var d=_.getShaderParameter(a,_.COMPILE_STATUS);if(d)return a;console.log("error",_.getShaderInfoLog(a)),_.deleteShader(a)}function bt(_,e,t){var a=_.createProgram();_.attachShader(a,e),_.attachShader(a,t),_.linkProgram(a);var d=_.getProgramParameter(a,_.LINK_STATUS);if(d)return a;console.log("error",_.getProgramInfoLog(a)),_.deleteProgram(a)}function Ht(_){return new Promise((e,t)=>{let a=new Image;a.src=_,a.onload=()=>e(a),a.onerror=t})}function Vt(_,e,t){return _<e?e:_>t?t:_}function Kt(_){const[e,t,a,d]=_.map(b=>b/255),s=Math.max(e,t,a),c=Math.min(e,t,a);let o,i,x=(s+c)/2;if(s===c)o=i=0;else{const b=s-c;switch(i=x>.5?b/(2-s-c):b/(s+c),s){case e:o=(t-a)/b+(t<a?6:0);break;case t:o=(a-e)/b+2;break;case a:o=(e-t)/b+4;break}o/=6}return[o*360,i*100,x*100,d]}function $t(_){let[e,t,a,d]=_;t/=100,a/=100;const s=(1-Math.abs(2*a-1))*t,c=s*(1-Math.abs(e/60%2-1)),o=a-s/2;let i,x,b;return 0<=e&&e<60?(i=s,x=c,b=0):60<=e&&e<120?(i=c,x=s,b=0):120<=e&&e<180?(i=0,x=s,b=c):180<=e&&e<240?(i=0,x=c,b=s):240<=e&&e<300?(i=c,x=0,b=s):300<=e&&e<360&&(i=s,x=0,b=c),[Math.round((i+o)*255),Math.round((x+o)*255),Math.round((b+o)*255),d]}function qt(_){const e=/rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/,t=_.match(e);return t?t.slice(1).map(Number):null}function Jt(_){return`rgba(${_[0]}, ${_[1]}, ${_[2]}, ${_[3]})`}function ge(_,e){const t=qt(_);if(!t)return[];const a=Kt(t),d=[];for(let s=0;s<e;s++){const c=Math.random()*60-30,o=Math.random()*40-20,i=Math.random()*40-20,x=(a[0]+c)%360,b=Math.max(0,Math.min(100,a[1]+o)),v=Math.max(0,Math.min(100,a[2]+i));d.push(Jt($t([x,b,v,a[3]])))}return d}var Qt=(_=>(_[_.FitCenter=0]="FitCenter",_[_.Repeat=1]="Repeat",_))(Qt||{});class ve extends kt{constructor(e,t,a,d,s=0,c=t.width,o=t.height){super(),this.scene=e,this.image=t,this.width=a,this.height=d,this.texWidth=c,this.texHeight=o,this.vertexShaderCode=`
- attribute vec2 a_position;
- attribute vec2 a_texCoord;
- uniform mat4 u_matrix;
- varying vec2 v_texCoord;
- void main() {
- gl_Position = u_matrix * vec4(a_position, 0, 1);
- v_texCoord = a_texCoord;
- }
- `,this.fragmentShaderCode=`
- precision mediump float;
- uniform sampler2D u_image;
- varying vec2 v_texCoord;
- void main() {
- vec4 color = texture2D(u_image, v_texCoord);
- gl_FragColor = color;
- }
-
- `,this.vertexArray=new Float32Array(12),this.texCoordArray=new Float32Array(12);const i=e.gl;if(this.program=bt(i,mt(i,i.VERTEX_SHADER,this.vertexShaderCode),mt(i,i.FRAGMENT_SHADER,this.fragmentShaderCode)),this.aPositionLoc=i.getAttribLocation(this.program,"a_position"),this.aTexcoordLoc=i.getAttribLocation(this.program,"a_texCoord"),this.uMatrixLoc=i.getUniformLocation(this.program,"u_matrix"),pt(this.vertexArray,0,0,0,a,d),s==0){const x=new vt(0,0,a,d),b=new vt(0,0,c,o),v=x.centerFitTo(b);pt(this.texCoordArray,0,v.x/c,v.y/o,v.width/c,v.height/o)}else pt(this.texCoordArray,0,0,0,a/c,d/o);this.vertexBuffer=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,this.vertexBuffer),i.bufferData(i.ARRAY_BUFFER,this.vertexArray,i.STATIC_DRAW),this.texcoordBuffer=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,this.texcoordBuffer),i.bufferData(i.ARRAY_BUFFER,this.texCoordArray,i.STATIC_DRAW),this.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,this.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.REPEAT),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.REPEAT),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,t)}draw(){const e=this.scene.gl;e.useProgram(this.program),e.enableVertexAttribArray(this.aPositionLoc),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.vertexAttribPointer(this.aPositionLoc,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(this.aTexcoordLoc),e.bindBuffer(e.ARRAY_BUFFER,this.texcoordBuffer),e.vertexAttribPointer(this.aTexcoordLoc,2,e.FLOAT,!1,0,0),e.uniformMatrix4fv(this.uMatrixLoc,!1,this.scene.projectionMat),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this.texture),e.drawArrays(e.TRIANGLES,0,6)}}class At{constructor(e){this.color=e,this.parts=new Uint8Array(4);let t=new Uint32Array(this.parts.buffer);t[0]=e}toFloatArray(){let e=this.parts,t=new Float32Array(4);return t[0]=e[0]/255,t[1]=e[1]/255,t[2]=e[2]/255,t[3]=e[3]/255,t}fillFloatArray(e,t,a=1){let d=this.parts;const s=d[0]/255,c=d[1]/255,o=d[2]/255,i=d[3]/255;for(var x=0;x<a;x++)e[t+4*x]=s,e[t+4*x+1]=c,e[t+4*x+2]=o,e[t+4*x+3]=i}css(){let e=this.parts;return`rgba(${e[0]},${e[1]},${e[2]},${e[3]})`}get gray(){let e=this.parts,t=e[0]*.299,a=e[1]*.587,d=e[2]*.114;return t+a+d}}class te{constructor(e,t,a,d){this.center=e,this.rect=t,this.id=a,this.colored=d}}class ee{constructor(e,t){this.areas=e,this.color=t}get isAllColored(){return this.areas.every(e=>e.colored)}get firstUncoloredArea(){return this.areas.find(e=>!e.colored)}get progressPercent(){let e=this.areas.filter(d=>d.colored).length,t=this.areas.length;return e*100/t}}class re{constructor(e){this.areaGroups=e,this.areaHash=new Map,this.groupHash=new Map,e.forEach(t=>{Object.setPrototypeOf(t,ee.prototype),t.areas.forEach(a=>{Object.setPrototypeOf(a,te.prototype),this.areaHash.set(a.id,a),this.groupHash.set(a.id,t)})})}get areaCount(){return this.areaGroups.reduce((e,t)=>e+t.areas.length,0)}get maxAreaCountOfGroup(){return this.areaGroups.reduce((e,t)=>Math.max(e,t.areas.length),0)}groupAreaHash(e){return e.areas.reduce((t,a)=>t.set(a.id,a),new Map)}get coloredPercent(){let e=[...this.areaHash.values()].reduce((t,a)=>a.colored===!0?t+1:t,0);return Math.round(e*100/this.areaHash.size)}}function It(_,e,t=_.NEAREST){let a=_.createTexture();return _.bindTexture(_.TEXTURE_2D,a),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_WRAP_S,_.CLAMP_TO_EDGE),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_WRAP_T,_.CLAMP_TO_EDGE),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MIN_FILTER,t),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MAG_FILTER,t),_.texImage2D(_.TEXTURE_2D,0,_.RGBA,_.RGBA,_.UNSIGNED_BYTE,e),a}function ie(_,e){let t=_.createFramebuffer();_.bindFramebuffer(_.FRAMEBUFFER,t),_.framebufferTexture2D(_.FRAMEBUFFER,_.COLOR_ATTACHMENT0,_.TEXTURE_2D,e,0);let a=_.checkFramebufferStatus(_.FRAMEBUFFER)==_.FRAMEBUFFER_COMPLETE;return console.log(`canRead=${a}`),_.bindFramebuffer(_.FRAMEBUFFER,null),t}function Lt(_,e,t,a,d){let s=Gt(e,t,a,d),c=_.createBuffer();return _.bindBuffer(_.ARRAY_BUFFER,c),_.bufferData(_.ARRAY_BUFFER,s,_.STATIC_DRAW),_.bindBuffer(_.ARRAY_BUFFER,null),c}class be extends kt{constructor(e,t,a,d,s,c=4294967295,o=null){super(),this.scene=e,this.x=t,this.y=a,this.width=d,this.height=s,this.color=c,this.fragmentShader=o,this.vertexShaderCode=`
- attribute vec2 a_position;
- uniform mat4 u_matrix;
- void main() {
- gl_Position = u_matrix * vec4(a_position, 0, 1);
- }
- `,this.fragmentShaderCode=`
- precision mediump float;
- uniform vec4 u_color;
- void main() {
- gl_FragColor = u_color;
- }
-
- `,this.vertexArray=new Float32Array(12);const i=e.gl;this.program=bt(i,mt(i,i.VERTEX_SHADER,this.vertexShaderCode),mt(i,i.FRAGMENT_SHADER,o||this.fragmentShaderCode)),this.aPositionLoc=i.getAttribLocation(this.program,"a_position"),this.uMatrixLoc=i.getUniformLocation(this.program,"u_matrix"),this.uColorLoc=i.getUniformLocation(this.program,"u_color"),pt(this.vertexArray,0,t,a,d,s),this.vertexBuffer=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,this.vertexBuffer),i.bufferData(i.ARRAY_BUFFER,this.vertexArray,i.STATIC_DRAW),this.colorArray=new At(c).toFloatArray()}draw(){const e=this.scene.gl;e.useProgram(this.program),e.enableVertexAttribArray(this.aPositionLoc),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.vertexAttribPointer(this.aPositionLoc,2,e.FLOAT,!1,0,0),e.uniformMatrix4fv(this.uMatrixLoc,!1,this.scene.drawMatrix),e.uniform4fv(this.uColorLoc,this.colorArray),e.drawArrays(e.TRIANGLES,0,6)}toString(){return"BoxLayer()"}}function ae(_,e,t,a,d){const o=bt(_,mt(_,_.VERTEX_SHADER,`
- attribute vec2 a_position;
- attribute vec2 a_texCoord;
- attribute vec4 a_color;
- attribute vec4 a_destColor;
- uniform mat4 u_matrix;
- varying vec2 v_texCoord;
- varying vec4 v_color;
- varying vec4 v_destColor;
- void main() {
- gl_Position = u_matrix * vec4(a_position, 0, 1);
- v_texCoord = a_texCoord;
- v_color = a_color;
- v_destColor = a_destColor;
- }
- `),mt(_,_.FRAGMENT_SHADER,`
- precision mediump float;
- uniform sampler2D u_image;
- //uniform vec4 u_color;
- varying vec2 v_texCoord;
- varying vec4 v_color;
- varying vec4 v_destColor;
- void main() {
- vec4 color = texture2D(u_image, v_texCoord);
- float dist = distance(color, v_color);
- if(dist < 0.001) {
- gl_FragColor = v_destColor;
- }else{
- gl_FragColor = vec4(0,0,0,0);
- }
- }
- `)),i=_.createTexture();_.bindTexture(_.TEXTURE_2D,i),_.texImage2D(_.TEXTURE_2D,0,_.RGBA,a,d,0,_.RGBA,_.UNSIGNED_BYTE,null),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MAG_FILTER,_.LINEAR),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MIN_FILTER,_.LINEAR),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_WRAP_S,_.CLAMP_TO_EDGE),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_WRAP_T,_.CLAMP_TO_EDGE);const x=_.createFramebuffer();_.bindFramebuffer(_.FRAMEBUFFER,x),_.framebufferTexture2D(_.FRAMEBUFFER,_.COLOR_ATTACHMENT0,_.TEXTURE_2D,i,0);let b=_.getAttribLocation(o,"a_position"),v=_.getAttribLocation(o,"a_texCoord"),A=_.getAttribLocation(o,"a_color"),p=_.getAttribLocation(o,"a_destColor"),l=_.getUniformLocation(o,"u_matrix");const n=t.areaCount,f=new Float32Array(12*n),u=new Float32Array(12*n),m=new Float32Array(24*n),E=new Float32Array(24*n);for(var R=0,C=0,L=0;L<t.areaGroups.length;L++)for(var D=t.areaGroups[L],P=new At(D.color),B=0;B<D.areas.length;B++){var M=D.areas[B];pt(f,R,M.rect.x,M.rect.y,M.rect.width,M.rect.height),pt(u,R,M.rect.x/a,M.rect.y/d,M.rect.width/a,M.rect.height/d);var K=new At(M.id);K.fillFloatArray(m,C,6),P.fillFloatArray(E,C,6),R+=12,C+=24}_.useProgram(o);let w=_.createBuffer();_.bindBuffer(_.ARRAY_BUFFER,w),_.bufferData(_.ARRAY_BUFFER,m,_.STATIC_DRAW),_.enableVertexAttribArray(A),_.vertexAttribPointer(A,4,_.FLOAT,!1,0,0);let z=_.createBuffer();_.bindBuffer(_.ARRAY_BUFFER,z),_.bufferData(_.ARRAY_BUFFER,E,_.STATIC_DRAW),_.enableVertexAttribArray(p),_.vertexAttribPointer(p,4,_.FLOAT,!1,0,0);let h=_.createBuffer();_.bindBuffer(_.ARRAY_BUFFER,h),_.bufferData(_.ARRAY_BUFFER,f,_.STATIC_DRAW),_.enableVertexAttribArray(b),_.vertexAttribPointer(b,2,_.FLOAT,!1,0,0);let U=_.createBuffer();return _.bindBuffer(_.ARRAY_BUFFER,U),_.bufferData(_.ARRAY_BUFFER,u,_.STATIC_DRAW),_.enableVertexAttribArray(v),_.vertexAttribPointer(v,2,_.FLOAT,!1,0,0),_.viewport(0,0,a,d),_.uniformMatrix4fv(l,!1,ut.projectionNoflipY(a,d)),_.activeTexture(_.TEXTURE0),_.bindTexture(_.TEXTURE_2D,e),_.blendFunc(_.SRC_ALPHA,_.ONE_MINUS_SRC_ALPHA),_.enable(_.BLEND),_.disable(_.DEPTH_TEST),_.drawArrays(_.TRIANGLES,0,f.length/2),_.disableVertexAttribArray(A),_.disableVertexAttribArray(v),_.disableVertexAttribArray(b),_.disableVertexAttribArray(p),_.deleteBuffer(h),_.deleteBuffer(U),_.deleteBuffer(w),_.deleteBuffer(z),_.bindFramebuffer(_.FRAMEBUFFER,null),_.deleteFramebuffer(x),i}class ne{constructor(e,t,a,d,s,c,o){this.config=e,this.page=t,this.map=a,this.numberImage=d,this.taskList=s,this.special=c,this.bg=o,this.fillAreaInfo(e)}fillAreaInfo(e){for(var t=0;t<e.length;t++)for(var a=e[t],d=`${t+1}`,s=0;s<a.areas.length;s++){var c=a.areas[s];c.center.label=d,c.center.offset=0,c.center.fontHeight=0,c.colored=!1}}}class ye{constructor(e,t=10,a=30,d=4292730333,s=4289374890){this.settings=e,this.maxScale=t,this.visibleFontSize=a,this.hintColorDark=d,this.hintColorLight=s}}class xe{constructor(e,t,a,d=[],s=null){this.config=e,this.gl=a,this.taskList=d,this.callback=s,this.listeners=[],this._currentGroup=null,this.width=t.map.width,this.height=t.map.height,this.mapTexure=It(a,t.map,a.NEAREST),this.data=new re(t.config),this.colored=t.special?It(a,t.special,a.LINEAR):ae(a,this.mapTexure,this.data,this.width,this.height),this.fb=ie(a,this.mapTexure);for(let o of d){let i=this.data.areaHash.get(o);i&&(i.colored=!0)}let c=this.data.areaGroups.find(o=>!o.isAllColored);c&&(this.currentGroup=c)}get currentGroup(){return this._currentGroup}set currentGroup(e){this._currentGroup=e,this.listeners.forEach(t=>t.onGroupChange(e))}get currentGroupIndex(){return this.currentGroup?this.data.areaGroups.findIndex(e=>e==this.currentGroup):-1}get doneBeforeCount(){let e=0;for(let t=0;t<this.currentGroupIndex;t++)this.data.areaGroups[t].isAllColored&&e++;return e}addListener(e){this.listeners.push(e)}setCurrentGroup(e){this.currentGroup=this.data.areaGroups[e]}setColored(e,t,a,d){e.colored=!0,this.taskList.push(e.id)}switchToNextGroup(){if(!this.currentGroup)return null;let e=this.data.areaGroups.findIndex(a=>a==this.currentGroup),t=!1;for(let a=0;a<this.data.areaGroups.length;a++)if(this.data.areaGroups[e].isAllColored)e=++e%this.data.areaGroups.length;else{t=!0;break}return t?(this.currentGroup=this.data.areaGroups[e],this.currentGroup):null}getArea(e,t,a,d){e=Math.round(e),t=Math.round(t);let s=e-a,c=t-a,o=a*2+1,i=a*2+1,x=o*i,b=new Uint8Array(x*4),v=a,A=a,p=this.gl,l=this.fb;p.bindFramebuffer(p.FRAMEBUFFER,l),p.readPixels(s,c,o,i,p.RGBA,p.UNSIGNED_BYTE,b),p.bindFramebuffer(p.FRAMEBUFFER,null);let n=new Uint32Array(b.buffer),f=new Map;for(var u=0,m=0,E=0,R=0,C=0,L=0,D=0,P=0;P<n.length;P++)if(D=n[P],D!=0&&(u=P%o,m=Math.floor(P/o),E=u-v,R=m-A,C=Math.sqrt(E*E+R*R),!(C>a))){L=1/Math.exp(C);var B=f.get(D);B==null?f.set(D,L):f.set(D,L+B)}let M=0,K;return f.forEach((w,z)=>{console.log(`id=${z}, count=${w}`);var h=d.get(z);h!=null&&!h.colored&&w>M&&(K=h,M=w)}),console.log("Area hit:",K),K}dispose(){this.gl.deleteFramebuffer(this.fb),this.gl.deleteTexture(this.colored),this.gl.deleteTexture(this.mapTexure),this.listeners=[]}}class we extends Zt{constructor(e,t,a=window){super(e,t,a)}focusToArea(e){if(this.fillerData==null)return;const t=e.center.radius*4,a=Vt(Math.min(this.width/t,this.height/t),1,this.fillerData.config.maxScale),d=this.width/2,s=this.height/2,c=ut.identity();c[0]=a,c[5]=a,c[12]=-a*e.center.x+d,c[13]=-a*e.center.y+s,this.matrixAnimationTo(c,600)}resetToResult(){this.matrixAnimationTo(this.resultMat,800)}hint(){if(console.log("hint"),this.fillerData==null||this.fillerData.currentGroup==null)return;let t=this.fillerData.currentGroup.firstUncoloredArea;t&&(console.log("find area:",t),this.focusToArea(t))}}class se extends kt{constructor(e,t,a,d,s,c,o=null){super(),this.scene=e,this.texture=t,this.texWidth=a,this.texHeight=d,this.width=s,this.height=c,this.fragmentShader=o,this.vertexShaderCode=`
- attribute vec2 a_position;
- attribute vec2 a_texCoord;
- uniform mat4 u_matrix;
- varying vec2 v_texCoord;
- void main() {
- gl_Position = u_matrix * vec4(a_position, 0, 1);
- v_texCoord = a_texCoord;
- }
- `,this.fragmentShaderCode=`
- precision mediump float;
- uniform sampler2D u_image;
- varying vec2 v_texCoord;
- void main() {
- vec4 color = texture2D(u_image, v_texCoord);
- gl_FragColor = color;
- }
-
- `,this.vertexArray=new Float32Array(12),this.texCoordArray=new Float32Array(12);const i=e.gl;this.program=bt(i,mt(i,i.VERTEX_SHADER,this.vertexShaderCode),mt(i,i.FRAGMENT_SHADER,o||this.fragmentShaderCode)),this.aPositionLoc=i.getAttribLocation(this.program,"a_position"),this.aTexcoordLoc=i.getAttribLocation(this.program,"a_texCoord"),this.uMatrixLoc=i.getUniformLocation(this.program,"u_matrix"),this.uScaleLoc=i.getUniformLocation(this.program,"u_scale"),this.uTexSizeLoc=i.getUniformLocation(this.program,"u_texSize"),pt(this.vertexArray,0,0,0,s,c),pt(this.texCoordArray,0,0,0,1,1),this.vertexBuffer=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,this.vertexBuffer),i.bufferData(i.ARRAY_BUFFER,this.vertexArray,i.STATIC_DRAW),this.texcoordBuffer=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,this.texcoordBuffer),i.bufferData(i.ARRAY_BUFFER,this.texCoordArray,i.STATIC_DRAW)}dispose(){let e=this.scene.gl;e.deleteProgram(this.program),e.deleteTexture(this.texture),e.deleteBuffer(this.texcoordBuffer),e.deleteBuffer(this.vertexBuffer)}get currentScale(){return this.scene.userMat[0]*(this.width/this.texWidth)}draw(){const e=this.scene.gl;e.useProgram(this.program),e.enableVertexAttribArray(this.aPositionLoc),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.vertexAttribPointer(this.aPositionLoc,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(this.aTexcoordLoc),e.bindBuffer(e.ARRAY_BUFFER,this.texcoordBuffer),e.vertexAttribPointer(this.aTexcoordLoc,2,e.FLOAT,!1,0,0),e.uniformMatrix4fv(this.uMatrixLoc,!1,this.scene.drawMatrix),e.uniform1f(this.uScaleLoc,this.currentScale),e.uniform2f(this.uTexSizeLoc,1/this.texWidth,1/this.texHeight),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this.texture),e.drawArrays(e.TRIANGLES,0,6)}scale(e){}toString(){return"TextureLayer()"}}const oe=`
- precision highp float;
- uniform sampler2D u_image;
- uniform float u_scale;
- uniform vec2 u_texSize;
- varying vec2 v_texCoord;
- const float w1 = 0.147761;
- const float w2 = 0.118318;
- const float w3 = 0.0947416;
- vec4 GaussianBlur(in sampler2D image, in vec2 texCoord, in vec2 pixelSize) {
- vec4 C00 = texture2D(image, texCoord + vec2(-pixelSize.x, -pixelSize.y)) * w3 ;
- vec4 C01 = texture2D(image, texCoord + vec2(0.0, -pixelSize.y)) * w2;
- vec4 C02 = texture2D(image, texCoord + vec2(pixelSize.x, -pixelSize.y)) * w3 ;
- vec4 C10 = texture2D(image, texCoord + vec2(-pixelSize.x, 0.0)) * w2;
- vec4 C11 = texture2D(image, texCoord + vec2(0.0, 0.0)) * w1;
- vec4 C12 = texture2D(image, texCoord + vec2(pixelSize.x, 0.0)) * w2;
- vec4 C20 = texture2D(image, texCoord + vec2(-pixelSize.x, pixelSize.y)) * w3;
- vec4 C21 = texture2D(image, texCoord + vec2(0.0, pixelSize.y)) * w2;
- vec4 C22 = texture2D(image, texCoord + vec2(pixelSize.x, pixelSize.y)) * w3;
- return
- C00 + C01 + C02 +
- C10 + C11 + C12 +
- C20 + C21 + C22 ;
- }
- void main() {
- vec4 color = GaussianBlur(u_image, v_texCoord, u_texSize);
- //vec4 color = texture2D(u_image, v_texCoord);
- //if(u_scale > 100. ) {
- if(color.a >= 0.4) {
- gl_FragColor = vec4(0.15, 0.15, 0.15, 1);
- }else{
- gl_FragColor = vec4(0, 0, 0, 0);
- }
- //}else{
- // gl_FragColor = vec4(.15, 0.15, 0.15, color.a);
- //}
- }
- `;class Ae extends se{constructor(e,t,a,d){const s=e.gl;let c=s.createTexture();s.bindTexture(s.TEXTURE_2D,c),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texImage2D(s.TEXTURE_2D,0,s.ALPHA,s.ALPHA,s.UNSIGNED_BYTE,t),super(e,c,t.width,t.height,a,d,oe)}}var Ct=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function he(_){return _&&_.__esModule&&Object.prototype.hasOwnProperty.call(_,"default")?_.default:_}function Tt(_){throw new Error('Could not dynamically require "'+_+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ot={exports:{}};/*!
- JSZip v3.10.1 - A JavaScript class for generating and reading zip files
- <http://stuartk.com/jszip>
- (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
- Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
- JSZip uses the library pako released under the MIT license :
- https://github.com/nodeca/pako/blob/main/LICENSE
- */(function(_,e){(function(t){_.exports=t()})(function(){return function t(a,d,s){function c(x,b){if(!d[x]){if(!a[x]){var v=typeof Tt=="function"&&Tt;if(!b&&v)return v(x,!0);if(o)return o(x,!0);var A=new Error("Cannot find module '"+x+"'");throw A.code="MODULE_NOT_FOUND",A}var p=d[x]={exports:{}};a[x][0].call(p.exports,function(l){var n=a[x][1][l];return c(n||l)},p,p.exports,t,a,d,s)}return d[x].exports}for(var o=typeof Tt=="function"&&Tt,i=0;i<s.length;i++)c(s[i]);return c}({1:[function(t,a,d){var s=t("./utils"),c=t("./support"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.encode=function(i){for(var x,b,v,A,p,l,n,f=[],u=0,m=i.length,E=m,R=s.getTypeOf(i)!=="string";u<i.length;)E=m-u,v=R?(x=i[u++],b=u<m?i[u++]:0,u<m?i[u++]:0):(x=i.charCodeAt(u++),b=u<m?i.charCodeAt(u++):0,u<m?i.charCodeAt(u++):0),A=x>>2,p=(3&x)<<4|b>>4,l=1<E?(15&b)<<2|v>>6:64,n=2<E?63&v:64,f.push(o.charAt(A)+o.charAt(p)+o.charAt(l)+o.charAt(n));return f.join("")},d.decode=function(i){var x,b,v,A,p,l,n=0,f=0,u="data:";if(i.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var m,E=3*(i=i.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(i.charAt(i.length-1)===o.charAt(64)&&E--,i.charAt(i.length-2)===o.charAt(64)&&E--,E%1!=0)throw new Error("Invalid base64 input, bad content length.");for(m=c.uint8array?new Uint8Array(0|E):new Array(0|E);n<i.length;)x=o.indexOf(i.charAt(n++))<<2|(A=o.indexOf(i.charAt(n++)))>>4,b=(15&A)<<4|(p=o.indexOf(i.charAt(n++)))>>2,v=(3&p)<<6|(l=o.indexOf(i.charAt(n++))),m[f++]=x,p!==64&&(m[f++]=b),l!==64&&(m[f++]=v);return m}},{"./support":30,"./utils":32}],2:[function(t,a,d){var s=t("./external"),c=t("./stream/DataWorker"),o=t("./stream/Crc32Probe"),i=t("./stream/DataLengthProbe");function x(b,v,A,p,l){this.compressedSize=b,this.uncompressedSize=v,this.crc32=A,this.compression=p,this.compressedContent=l}x.prototype={getContentWorker:function(){var b=new c(s.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new i("data_length")),v=this;return b.on("end",function(){if(this.streamInfo.data_length!==v.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),b},getCompressedWorker:function(){return new c(s.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},x.createWorkerFrom=function(b,v,A){return b.pipe(new o).pipe(new i("uncompressedSize")).pipe(v.compressWorker(A)).pipe(new i("compressedSize")).withStreamInfo("compression",v)},a.exports=x},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,a,d){var s=t("./stream/GenericWorker");d.STORE={magic:"\0\0",compressWorker:function(){return new s("STORE compression")},uncompressWorker:function(){return new s("STORE decompression")}},d.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,a,d){var s=t("./utils"),c=function(){for(var o,i=[],x=0;x<256;x++){o=x;for(var b=0;b<8;b++)o=1&o?3988292384^o>>>1:o>>>1;i[x]=o}return i}();a.exports=function(o,i){return o!==void 0&&o.length?s.getTypeOf(o)!=="string"?function(x,b,v,A){var p=c,l=A+v;x^=-1;for(var n=A;n<l;n++)x=x>>>8^p[255&(x^b[n])];return-1^x}(0|i,o,o.length,0):function(x,b,v,A){var p=c,l=A+v;x^=-1;for(var n=A;n<l;n++)x=x>>>8^p[255&(x^b.charCodeAt(n))];return-1^x}(0|i,o,o.length,0):0}},{"./utils":32}],5:[function(t,a,d){d.base64=!1,d.binary=!1,d.dir=!1,d.createFolders=!0,d.date=null,d.compression=null,d.compressionOptions=null,d.comment=null,d.unixPermissions=null,d.dosPermissions=null},{}],6:[function(t,a,d){var s=null;s=typeof Promise<"u"?Promise:t("lie"),a.exports={Promise:s}},{lie:37}],7:[function(t,a,d){var s=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",c=t("pako"),o=t("./utils"),i=t("./stream/GenericWorker"),x=s?"uint8array":"array";function b(v,A){i.call(this,"FlateWorker/"+v),this._pako=null,this._pakoAction=v,this._pakoOptions=A,this.meta={}}d.magic="\b\0",o.inherits(b,i),b.prototype.processChunk=function(v){this.meta=v.meta,this._pako===null&&this._createPako(),this._pako.push(o.transformTo(x,v.data),!1)},b.prototype.flush=function(){i.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},b.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this._pako=null},b.prototype._createPako=function(){this._pako=new c[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var v=this;this._pako.onData=function(A){v.push({data:A,meta:v.meta})}},d.compressWorker=function(v){return new b("Deflate",v)},d.uncompressWorker=function(){return new b("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,a,d){function s(p,l){var n,f="";for(n=0;n<l;n++)f+=String.fromCharCode(255&p),p>>>=8;return f}function c(p,l,n,f,u,m){var E,R,C=p.file,L=p.compression,D=m!==x.utf8encode,P=o.transformTo("string",m(C.name)),B=o.transformTo("string",x.utf8encode(C.name)),M=C.comment,K=o.transformTo("string",m(M)),w=o.transformTo("string",x.utf8encode(M)),z=B.length!==C.name.length,h=w.length!==M.length,U="",J="",W="",tt=C.dir,X=C.date,q={crc32:0,compressedSize:0,uncompressedSize:0};l&&!n||(q.crc32=p.crc32,q.compressedSize=p.compressedSize,q.uncompressedSize=p.uncompressedSize);var S=0;l&&(S|=8),D||!z&&!h||(S|=2048);var F=0,$=0;tt&&(F|=16),u==="UNIX"?($=798,F|=function(j,at){var ot=j;return j||(ot=at?16893:33204),(65535&ot)<<16}(C.unixPermissions,tt)):($=20,F|=function(j){return 63&(j||0)}(C.dosPermissions)),E=X.getUTCHours(),E<<=6,E|=X.getUTCMinutes(),E<<=5,E|=X.getUTCSeconds()/2,R=X.getUTCFullYear()-1980,R<<=4,R|=X.getUTCMonth()+1,R<<=5,R|=X.getUTCDate(),z&&(J=s(1,1)+s(b(P),4)+B,U+="up"+s(J.length,2)+J),h&&(W=s(1,1)+s(b(K),4)+w,U+="uc"+s(W.length,2)+W);var V="";return V+=`
- \0`,V+=s(S,2),V+=L.magic,V+=s(E,2),V+=s(R,2),V+=s(q.crc32,4),V+=s(q.compressedSize,4),V+=s(q.uncompressedSize,4),V+=s(P.length,2),V+=s(U.length,2),{fileRecord:v.LOCAL_FILE_HEADER+V+P+U,dirRecord:v.CENTRAL_FILE_HEADER+s($,2)+V+s(K.length,2)+"\0\0\0\0"+s(F,4)+s(f,4)+P+U+K}}var o=t("../utils"),i=t("../stream/GenericWorker"),x=t("../utf8"),b=t("../crc32"),v=t("../signature");function A(p,l,n,f){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=l,this.zipPlatform=n,this.encodeFileName=f,this.streamFiles=p,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}o.inherits(A,i),A.prototype.push=function(p){var l=p.meta.percent||0,n=this.entriesCount,f=this._sources.length;this.accumulate?this.contentBuffer.push(p):(this.bytesWritten+=p.data.length,i.prototype.push.call(this,{data:p.data,meta:{currentFile:this.currentFile,percent:n?(l+100*(n-f-1))/n:100}}))},A.prototype.openedSource=function(p){this.currentSourceOffset=this.bytesWritten,this.currentFile=p.file.name;var l=this.streamFiles&&!p.file.dir;if(l){var n=c(p,l,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},A.prototype.closedSource=function(p){this.accumulate=!1;var l=this.streamFiles&&!p.file.dir,n=c(p,l,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),l)this.push({data:function(f){return v.DATA_DESCRIPTOR+s(f.crc32,4)+s(f.compressedSize,4)+s(f.uncompressedSize,4)}(p),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},A.prototype.flush=function(){for(var p=this.bytesWritten,l=0;l<this.dirRecords.length;l++)this.push({data:this.dirRecords[l],meta:{percent:100}});var n=this.bytesWritten-p,f=function(u,m,E,R,C){var L=o.transformTo("string",C(R));return v.CENTRAL_DIRECTORY_END+"\0\0\0\0"+s(u,2)+s(u,2)+s(m,4)+s(E,4)+s(L.length,2)+L}(this.dirRecords.length,n,p,this.zipComment,this.encodeFileName);this.push({data:f,meta:{percent:100}})},A.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},A.prototype.registerPrevious=function(p){this._sources.push(p);var l=this;return p.on("data",function(n){l.processChunk(n)}),p.on("end",function(){l.closedSource(l.previous.streamInfo),l._sources.length?l.prepareNextSource():l.end()}),p.on("error",function(n){l.error(n)}),this},A.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},A.prototype.error=function(p){var l=this._sources;if(!i.prototype.error.call(this,p))return!1;for(var n=0;n<l.length;n++)try{l[n].error(p)}catch{}return!0},A.prototype.lock=function(){i.prototype.lock.call(this);for(var p=this._sources,l=0;l<p.length;l++)p[l].lock()},a.exports=A},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,a,d){var s=t("../compressions"),c=t("./ZipFileWorker");d.generateWorker=function(o,i,x){var b=new c(i.streamFiles,x,i.platform,i.encodeFileName),v=0;try{o.forEach(function(A,p){v++;var l=function(m,E){var R=m||E,C=s[R];if(!C)throw new Error(R+" is not a valid compression method !");return C}(p.options.compression,i.compression),n=p.options.compressionOptions||i.compressionOptions||{},f=p.dir,u=p.date;p._compressWorker(l,n).withStreamInfo("file",{name:A,dir:f,date:u,comment:p.comment||"",unixPermissions:p.unixPermissions,dosPermissions:p.dosPermissions}).pipe(b)}),b.entriesCount=v}catch(A){b.error(A)}return b}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,a,d){function s(){if(!(this instanceof s))return new s;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var c=new s;for(var o in this)typeof this[o]!="function"&&(c[o]=this[o]);return c}}(s.prototype=t("./object")).loadAsync=t("./load"),s.support=t("./support"),s.defaults=t("./defaults"),s.version="3.10.1",s.loadAsync=function(c,o){return new s().loadAsync(c,o)},s.external=t("./external"),a.exports=s},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,a,d){var s=t("./utils"),c=t("./external"),o=t("./utf8"),i=t("./zipEntries"),x=t("./stream/Crc32Probe"),b=t("./nodejsUtils");function v(A){return new c.Promise(function(p,l){var n=A.decompressed.getContentWorker().pipe(new x);n.on("error",function(f){l(f)}).on("end",function(){n.streamInfo.crc32!==A.decompressed.crc32?l(new Error("Corrupted zip : CRC32 mismatch")):p()}).resume()})}a.exports=function(A,p){var l=this;return p=s.extend(p||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),b.isNode&&b.isStream(A)?c.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):s.prepareContent("the loaded zip file",A,!0,p.optimizedBinaryString,p.base64).then(function(n){var f=new i(p);return f.load(n),f}).then(function(n){var f=[c.Promise.resolve(n)],u=n.files;if(p.checkCRC32)for(var m=0;m<u.length;m++)f.push(v(u[m]));return c.Promise.all(f)}).then(function(n){for(var f=n.shift(),u=f.files,m=0;m<u.length;m++){var E=u[m],R=E.fileNameStr,C=s.resolve(E.fileNameStr);l.file(C,E.decompressed,{binary:!0,optimizedBinaryString:!0,date:E.date,dir:E.dir,comment:E.fileCommentStr.length?E.fileCommentStr:null,unixPermissions:E.unixPermissions,dosPermissions:E.dosPermissions,createFolders:p.createFolders}),E.dir||(l.file(C).unsafeOriginalName=R)}return f.zipComment.length&&(l.comment=f.zipComment),l})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,a,d){var s=t("../utils"),c=t("../stream/GenericWorker");function o(i,x){c.call(this,"Nodejs stream input adapter for "+i),this._upstreamEnded=!1,this._bindStream(x)}s.inherits(o,c),o.prototype._bindStream=function(i){var x=this;(this._stream=i).pause(),i.on("data",function(b){x.push({data:b,meta:{percent:0}})}).on("error",function(b){x.isPaused?this.generatedError=b:x.error(b)}).on("end",function(){x.isPaused?x._upstreamEnded=!0:x.end()})},o.prototype.pause=function(){return!!c.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!c.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},a.exports=o},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,a,d){var s=t("readable-stream").Readable;function c(o,i,x){s.call(this,i),this._helper=o;var b=this;o.on("data",function(v,A){b.push(v)||b._helper.pause(),x&&x(A)}).on("error",function(v){b.emit("error",v)}).on("end",function(){b.push(null)})}t("../utils").inherits(c,s),c.prototype._read=function(){this._helper.resume()},a.exports=c},{"../utils":32,"readable-stream":16}],14:[function(t,a,d){a.exports={isNode:typeof Buffer<"u",newBufferFrom:function(s,c){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(s,c);if(typeof s=="number")throw new Error('The "data" argument must not be a number');return new Buffer(s,c)},allocBuffer:function(s){if(Buffer.alloc)return Buffer.alloc(s);var c=new Buffer(s);return c.fill(0),c},isBuffer:function(s){return Buffer.isBuffer(s)},isStream:function(s){return s&&typeof s.on=="function"&&typeof s.pause=="function"&&typeof s.resume=="function"}}},{}],15:[function(t,a,d){function s(C,L,D){var P,B=o.getTypeOf(L),M=o.extend(D||{},b);M.date=M.date||new Date,M.compression!==null&&(M.compression=M.compression.toUpperCase()),typeof M.unixPermissions=="string"&&(M.unixPermissions=parseInt(M.unixPermissions,8)),M.unixPermissions&&16384&M.unixPermissions&&(M.dir=!0),M.dosPermissions&&16&M.dosPermissions&&(M.dir=!0),M.dir&&(C=u(C)),M.createFolders&&(P=f(C))&&m.call(this,P,!0);var K=B==="string"&&M.binary===!1&&M.base64===!1;D&&D.binary!==void 0||(M.binary=!K),(L instanceof v&&L.uncompressedSize===0||M.dir||!L||L.length===0)&&(M.base64=!1,M.binary=!0,L="",M.compression="STORE",B="string");var w=null;w=L instanceof v||L instanceof i?L:l.isNode&&l.isStream(L)?new n(C,L):o.prepareContent(C,L,M.binary,M.optimizedBinaryString,M.base64);var z=new A(C,w,M);this.files[C]=z}var c=t("./utf8"),o=t("./utils"),i=t("./stream/GenericWorker"),x=t("./stream/StreamHelper"),b=t("./defaults"),v=t("./compressedObject"),A=t("./zipObject"),p=t("./generate"),l=t("./nodejsUtils"),n=t("./nodejs/NodejsStreamInputAdapter"),f=function(C){C.slice(-1)==="/"&&(C=C.substring(0,C.length-1));var L=C.lastIndexOf("/");return 0<L?C.substring(0,L):""},u=function(C){return C.slice(-1)!=="/"&&(C+="/"),C},m=function(C,L){return L=L!==void 0?L:b.createFolders,C=u(C),this.files[C]||s.call(this,C,null,{dir:!0,createFolders:L}),this.files[C]};function E(C){return Object.prototype.toString.call(C)==="[object RegExp]"}var R={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(C){var L,D,P;for(L in this.files)P=this.files[L],(D=L.slice(this.root.length,L.length))&&L.slice(0,this.root.length)===this.root&&C(D,P)},filter:function(C){var L=[];return this.forEach(function(D,P){C(D,P)&&L.push(P)}),L},file:function(C,L,D){if(arguments.length!==1)return C=this.root+C,s.call(this,C,L,D),this;if(E(C)){var P=C;return this.filter(function(M,K){return!K.dir&&P.test(M)})}var B=this.files[this.root+C];return B&&!B.dir?B:null},folder:function(C){if(!C)return this;if(E(C))return this.filter(function(B,M){return M.dir&&C.test(B)});var L=this.root+C,D=m.call(this,L),P=this.clone();return P.root=D.name,P},remove:function(C){C=this.root+C;var L=this.files[C];if(L||(C.slice(-1)!=="/"&&(C+="/"),L=this.files[C]),L&&!L.dir)delete this.files[C];else for(var D=this.filter(function(B,M){return M.name.slice(0,C.length)===C}),P=0;P<D.length;P++)delete this.files[D[P].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(C){var L,D={};try{if((D=o.extend(C||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:c.utf8encode})).type=D.type.toLowerCase(),D.compression=D.compression.toUpperCase(),D.type==="binarystring"&&(D.type="string"),!D.type)throw new Error("No output type specified.");o.checkSupport(D.type),D.platform!=="darwin"&&D.platform!=="freebsd"&&D.platform!=="linux"&&D.platform!=="sunos"||(D.platform="UNIX"),D.platform==="win32"&&(D.platform="DOS");var P=D.comment||this.comment||"";L=p.generateWorker(this,D,P)}catch(B){(L=new i("error")).error(B)}return new x(L,D.type||"string",D.mimeType)},generateAsync:function(C,L){return this.generateInternalStream(C).accumulate(L)},generateNodeStream:function(C,L){return(C=C||{}).type||(C.type="nodebuffer"),this.generateInternalStream(C).toNodejsStream(L)}};a.exports=R},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,a,d){a.exports=t("stream")},{stream:void 0}],17:[function(t,a,d){var s=t("./DataReader");function c(o){s.call(this,o);for(var i=0;i<this.data.length;i++)o[i]=255&o[i]}t("../utils").inherits(c,s),c.prototype.byteAt=function(o){return this.data[this.zero+o]},c.prototype.lastIndexOfSignature=function(o){for(var i=o.charCodeAt(0),x=o.charCodeAt(1),b=o.charCodeAt(2),v=o.charCodeAt(3),A=this.length-4;0<=A;--A)if(this.data[A]===i&&this.data[A+1]===x&&this.data[A+2]===b&&this.data[A+3]===v)return A-this.zero;return-1},c.prototype.readAndCheckSignature=function(o){var i=o.charCodeAt(0),x=o.charCodeAt(1),b=o.charCodeAt(2),v=o.charCodeAt(3),A=this.readData(4);return i===A[0]&&x===A[1]&&b===A[2]&&v===A[3]},c.prototype.readData=function(o){if(this.checkOffset(o),o===0)return[];var i=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,i},a.exports=c},{"../utils":32,"./DataReader":18}],18:[function(t,a,d){var s=t("../utils");function c(o){this.data=o,this.length=o.length,this.index=0,this.zero=0}c.prototype={checkOffset:function(o){this.checkIndex(this.index+o)},checkIndex:function(o){if(this.length<this.zero+o||o<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+o+"). Corrupted zip ?")},setIndex:function(o){this.checkIndex(o),this.index=o},skip:function(o){this.setIndex(this.index+o)},byteAt:function(){},readInt:function(o){var i,x=0;for(this.checkOffset(o),i=this.index+o-1;i>=this.index;i--)x=(x<<8)+this.byteAt(i);return this.index+=o,x},readString:function(o){return s.transformTo("string",this.readData(o))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var o=this.readInt(4);return new Date(Date.UTC(1980+(o>>25&127),(o>>21&15)-1,o>>16&31,o>>11&31,o>>5&63,(31&o)<<1))}},a.exports=c},{"../utils":32}],19:[function(t,a,d){var s=t("./Uint8ArrayReader");function c(o){s.call(this,o)}t("../utils").inherits(c,s),c.prototype.readData=function(o){this.checkOffset(o);var i=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,i},a.exports=c},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,a,d){var s=t("./DataReader");function c(o){s.call(this,o)}t("../utils").inherits(c,s),c.prototype.byteAt=function(o){return this.data.charCodeAt(this.zero+o)},c.prototype.lastIndexOfSignature=function(o){return this.data.lastIndexOf(o)-this.zero},c.prototype.readAndCheckSignature=function(o){return o===this.readData(4)},c.prototype.readData=function(o){this.checkOffset(o);var i=this.data.slice(this.zero+this.index,this.zero+this.index+o);return this.index+=o,i},a.exports=c},{"../utils":32,"./DataReader":18}],21:[function(t,a,d){var s=t("./ArrayReader");function c(o){s.call(this,o)}t("../utils").inherits(c,s),c.prototype.readData=function(o){if(this.checkOffset(o),o===0)return new Uint8Array(0);var i=this.data.subarray(this.zero+this.index,this.zero+this.index+o);return this.index+=o,i},a.exports=c},{"../utils":32,"./ArrayReader":17}],22:[function(t,a,d){var s=t("../utils"),c=t("../support"),o=t("./ArrayReader"),i=t("./StringReader"),x=t("./NodeBufferReader"),b=t("./Uint8ArrayReader");a.exports=function(v){var A=s.getTypeOf(v);return s.checkSupport(A),A!=="string"||c.uint8array?A==="nodebuffer"?new x(v):c.uint8array?new b(s.transformTo("uint8array",v)):new o(s.transformTo("array",v)):new i(v)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,a,d){d.LOCAL_FILE_HEADER="PK",d.CENTRAL_FILE_HEADER="PK",d.CENTRAL_DIRECTORY_END="PK",d.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",d.ZIP64_CENTRAL_DIRECTORY_END="PK",d.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,a,d){var s=t("./GenericWorker"),c=t("../utils");function o(i){s.call(this,"ConvertWorker to "+i),this.destType=i}c.inherits(o,s),o.prototype.processChunk=function(i){this.push({data:c.transformTo(this.destType,i.data),meta:i.meta})},a.exports=o},{"../utils":32,"./GenericWorker":28}],25:[function(t,a,d){var s=t("./GenericWorker"),c=t("../crc32");function o(){s.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(o,s),o.prototype.processChunk=function(i){this.streamInfo.crc32=c(i.data,this.streamInfo.crc32||0),this.push(i)},a.exports=o},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,a,d){var s=t("../utils"),c=t("./GenericWorker");function o(i){c.call(this,"DataLengthProbe for "+i),this.propName=i,this.withStreamInfo(i,0)}s.inherits(o,c),o.prototype.processChunk=function(i){if(i){var x=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=x+i.data.length}c.prototype.processChunk.call(this,i)},a.exports=o},{"../utils":32,"./GenericWorker":28}],27:[function(t,a,d){var s=t("../utils"),c=t("./GenericWorker");function o(i){c.call(this,"DataWorker");var x=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,i.then(function(b){x.dataIsReady=!0,x.data=b,x.max=b&&b.length||0,x.type=s.getTypeOf(b),x.isPaused||x._tickAndRepeat()},function(b){x.error(b)})}s.inherits(o,c),o.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!c.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,s.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(s.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var i=null,x=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":i=this.data.substring(this.index,x);break;case"uint8array":i=this.data.subarray(this.index,x);break;case"array":case"nodebuffer":i=this.data.slice(this.index,x)}return this.index=x,this.push({data:i,meta:{percent:this.max?this.index/this.max*100:0}})},a.exports=o},{"../utils":32,"./GenericWorker":28}],28:[function(t,a,d){function s(c){this.name=c||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}s.prototype={push:function(c){this.emit("data",c)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(c){this.emit("error",c)}return!0},error:function(c){return!this.isFinished&&(this.isPaused?this.generatedError=c:(this.isFinished=!0,this.emit("error",c),this.previous&&this.previous.error(c),this.cleanUp()),!0)},on:function(c,o){return this._listeners[c].push(o),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(c,o){if(this._listeners[c])for(var i=0;i<this._listeners[c].length;i++)this._listeners[c][i].call(this,o)},pipe:function(c){return c.registerPrevious(this)},registerPrevious:function(c){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=c.streamInfo,this.mergeStreamInfo(),this.previous=c;var o=this;return c.on("data",function(i){o.processChunk(i)}),c.on("end",function(){o.end()}),c.on("error",function(i){o.error(i)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var c=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),c=!0),this.previous&&this.previous.resume(),!c},flush:function(){},processChunk:function(c){this.push(c)},withStreamInfo:function(c,o){return this.extraStreamInfo[c]=o,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var c in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,c)&&(this.streamInfo[c]=this.extraStreamInfo[c])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var c="Worker "+this.name;return this.previous?this.previous+" -> "+c:c}},a.exports=s},{}],29:[function(t,a,d){var s=t("../utils"),c=t("./ConvertWorker"),o=t("./GenericWorker"),i=t("../base64"),x=t("../support"),b=t("../external"),v=null;if(x.nodestream)try{v=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function A(l,n){return new b.Promise(function(f,u){var m=[],E=l._internalType,R=l._outputType,C=l._mimeType;l.on("data",function(L,D){m.push(L),n&&n(D)}).on("error",function(L){m=[],u(L)}).on("end",function(){try{var L=function(D,P,B){switch(D){case"blob":return s.newBlob(s.transformTo("arraybuffer",P),B);case"base64":return i.encode(P);default:return s.transformTo(D,P)}}(R,function(D,P){var B,M=0,K=null,w=0;for(B=0;B<P.length;B++)w+=P[B].length;switch(D){case"string":return P.join("");case"array":return Array.prototype.concat.apply([],P);case"uint8array":for(K=new Uint8Array(w),B=0;B<P.length;B++)K.set(P[B],M),M+=P[B].length;return K;case"nodebuffer":return Buffer.concat(P);default:throw new Error("concat : unsupported type '"+D+"'")}}(E,m),C);f(L)}catch(D){u(D)}m=[]}).resume()})}function p(l,n,f){var u=n;switch(n){case"blob":case"arraybuffer":u="uint8array";break;case"base64":u="string"}try{this._internalType=u,this._outputType=n,this._mimeType=f,s.checkSupport(u),this._worker=l.pipe(new c(u)),l.lock()}catch(m){this._worker=new o("error"),this._worker.error(m)}}p.prototype={accumulate:function(l){return A(this,l)},on:function(l,n){var f=this;return l==="data"?this._worker.on(l,function(u){n.call(f,u.data,u.meta)}):this._worker.on(l,function(){s.delay(n,arguments,f)}),this},resume:function(){return s.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(l){if(s.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new v(this,{objectMode:this._outputType!=="nodebuffer"},l)}},a.exports=p},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,a,d){if(d.base64=!0,d.array=!0,d.string=!0,d.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",d.nodebuffer=typeof Buffer<"u",d.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")d.blob=!1;else{var s=new ArrayBuffer(0);try{d.blob=new Blob([s],{type:"application/zip"}).size===0}catch{try{var c=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);c.append(s),d.blob=c.getBlob("application/zip").size===0}catch{d.blob=!1}}}try{d.nodestream=!!t("readable-stream").Readable}catch{d.nodestream=!1}},{"readable-stream":16}],31:[function(t,a,d){for(var s=t("./utils"),c=t("./support"),o=t("./nodejsUtils"),i=t("./stream/GenericWorker"),x=new Array(256),b=0;b<256;b++)x[b]=252<=b?6:248<=b?5:240<=b?4:224<=b?3:192<=b?2:1;x[254]=x[254]=1;function v(){i.call(this,"utf-8 decode"),this.leftOver=null}function A(){i.call(this,"utf-8 encode")}d.utf8encode=function(p){return c.nodebuffer?o.newBufferFrom(p,"utf-8"):function(l){var n,f,u,m,E,R=l.length,C=0;for(m=0;m<R;m++)(64512&(f=l.charCodeAt(m)))==55296&&m+1<R&&(64512&(u=l.charCodeAt(m+1)))==56320&&(f=65536+(f-55296<<10)+(u-56320),m++),C+=f<128?1:f<2048?2:f<65536?3:4;for(n=c.uint8array?new Uint8Array(C):new Array(C),m=E=0;E<C;m++)(64512&(f=l.charCodeAt(m)))==55296&&m+1<R&&(64512&(u=l.charCodeAt(m+1)))==56320&&(f=65536+(f-55296<<10)+(u-56320),m++),f<128?n[E++]=f:(f<2048?n[E++]=192|f>>>6:(f<65536?n[E++]=224|f>>>12:(n[E++]=240|f>>>18,n[E++]=128|f>>>12&63),n[E++]=128|f>>>6&63),n[E++]=128|63&f);return n}(p)},d.utf8decode=function(p){return c.nodebuffer?s.transformTo("nodebuffer",p).toString("utf-8"):function(l){var n,f,u,m,E=l.length,R=new Array(2*E);for(n=f=0;n<E;)if((u=l[n++])<128)R[f++]=u;else if(4<(m=x[u]))R[f++]=65533,n+=m-1;else{for(u&=m===2?31:m===3?15:7;1<m&&n<E;)u=u<<6|63&l[n++],m--;1<m?R[f++]=65533:u<65536?R[f++]=u:(u-=65536,R[f++]=55296|u>>10&1023,R[f++]=56320|1023&u)}return R.length!==f&&(R.subarray?R=R.subarray(0,f):R.length=f),s.applyFromCharCode(R)}(p=s.transformTo(c.uint8array?"uint8array":"array",p))},s.inherits(v,i),v.prototype.processChunk=function(p){var l=s.transformTo(c.uint8array?"uint8array":"array",p.data);if(this.leftOver&&this.leftOver.length){if(c.uint8array){var n=l;(l=new Uint8Array(n.length+this.leftOver.length)).set(this.leftOver,0),l.set(n,this.leftOver.length)}else l=this.leftOver.concat(l);this.leftOver=null}var f=function(m,E){var R;for((E=E||m.length)>m.length&&(E=m.length),R=E-1;0<=R&&(192&m[R])==128;)R--;return R<0||R===0?E:R+x[m[R]]>E?R:E}(l),u=l;f!==l.length&&(c.uint8array?(u=l.subarray(0,f),this.leftOver=l.subarray(f,l.length)):(u=l.slice(0,f),this.leftOver=l.slice(f,l.length))),this.push({data:d.utf8decode(u),meta:p.meta})},v.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:d.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},d.Utf8DecodeWorker=v,s.inherits(A,i),A.prototype.processChunk=function(p){this.push({data:d.utf8encode(p.data),meta:p.meta})},d.Utf8EncodeWorker=A},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,a,d){var s=t("./support"),c=t("./base64"),o=t("./nodejsUtils"),i=t("./external");function x(n){return n}function b(n,f){for(var u=0;u<n.length;++u)f[u]=255&n.charCodeAt(u);return f}t("setimmediate"),d.newBlob=function(n,f){d.checkSupport("blob");try{return new Blob([n],{type:f})}catch{try{var u=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return u.append(n),u.getBlob(f)}catch{throw new Error("Bug : can't construct the Blob.")}}};var v={stringifyByChunk:function(n,f,u){var m=[],E=0,R=n.length;if(R<=u)return String.fromCharCode.apply(null,n);for(;E<R;)f==="array"||f==="nodebuffer"?m.push(String.fromCharCode.apply(null,n.slice(E,Math.min(E+u,R)))):m.push(String.fromCharCode.apply(null,n.subarray(E,Math.min(E+u,R)))),E+=u;return m.join("")},stringifyByChar:function(n){for(var f="",u=0;u<n.length;u++)f+=String.fromCharCode(n[u]);return f},applyCanBeUsed:{uint8array:function(){try{return s.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}}(),nodebuffer:function(){try{return s.nodebuffer&&String.fromCharCode.apply(null,o.allocBuffer(1)).length===1}catch{return!1}}()}};function A(n){var f=65536,u=d.getTypeOf(n),m=!0;if(u==="uint8array"?m=v.applyCanBeUsed.uint8array:u==="nodebuffer"&&(m=v.applyCanBeUsed.nodebuffer),m)for(;1<f;)try{return v.stringifyByChunk(n,u,f)}catch{f=Math.floor(f/2)}return v.stringifyByChar(n)}function p(n,f){for(var u=0;u<n.length;u++)f[u]=n[u];return f}d.applyFromCharCode=A;var l={};l.string={string:x,array:function(n){return b(n,new Array(n.length))},arraybuffer:function(n){return l.string.uint8array(n).buffer},uint8array:function(n){return b(n,new Uint8Array(n.length))},nodebuffer:function(n){return b(n,o.allocBuffer(n.length))}},l.array={string:A,array:x,arraybuffer:function(n){return new Uint8Array(n).buffer},uint8array:function(n){return new Uint8Array(n)},nodebuffer:function(n){return o.newBufferFrom(n)}},l.arraybuffer={string:function(n){return A(new Uint8Array(n))},array:function(n){return p(new Uint8Array(n),new Array(n.byteLength))},arraybuffer:x,uint8array:function(n){return new Uint8Array(n)},nodebuffer:function(n){return o.newBufferFrom(new Uint8Array(n))}},l.uint8array={string:A,array:function(n){return p(n,new Array(n.length))},arraybuffer:function(n){return n.buffer},uint8array:x,nodebuffer:function(n){return o.newBufferFrom(n)}},l.nodebuffer={string:A,array:function(n){return p(n,new Array(n.length))},arraybuffer:function(n){return l.nodebuffer.uint8array(n).buffer},uint8array:function(n){return p(n,new Uint8Array(n.length))},nodebuffer:x},d.transformTo=function(n,f){if(f=f||"",!n)return f;d.checkSupport(n);var u=d.getTypeOf(f);return l[u][n](f)},d.resolve=function(n){for(var f=n.split("/"),u=[],m=0;m<f.length;m++){var E=f[m];E==="."||E===""&&m!==0&&m!==f.length-1||(E===".."?u.pop():u.push(E))}return u.join("/")},d.getTypeOf=function(n){return typeof n=="string"?"string":Object.prototype.toString.call(n)==="[object Array]"?"array":s.nodebuffer&&o.isBuffer(n)?"nodebuffer":s.uint8array&&n instanceof Uint8Array?"uint8array":s.arraybuffer&&n instanceof ArrayBuffer?"arraybuffer":void 0},d.checkSupport=function(n){if(!s[n.toLowerCase()])throw new Error(n+" is not supported by this platform")},d.MAX_VALUE_16BITS=65535,d.MAX_VALUE_32BITS=-1,d.pretty=function(n){var f,u,m="";for(u=0;u<(n||"").length;u++)m+="\\x"+((f=n.charCodeAt(u))<16?"0":"")+f.toString(16).toUpperCase();return m},d.delay=function(n,f,u){setImmediate(function(){n.apply(u||null,f||[])})},d.inherits=function(n,f){function u(){}u.prototype=f.prototype,n.prototype=new u},d.extend=function(){var n,f,u={};for(n=0;n<arguments.length;n++)for(f in arguments[n])Object.prototype.hasOwnProperty.call(arguments[n],f)&&u[f]===void 0&&(u[f]=arguments[n][f]);return u},d.prepareContent=function(n,f,u,m,E){return i.Promise.resolve(f).then(function(R){return s.blob&&(R instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(R))!==-1)&&typeof FileReader<"u"?new i.Promise(function(C,L){var D=new FileReader;D.onload=function(P){C(P.target.result)},D.onerror=function(P){L(P.target.error)},D.readAsArrayBuffer(R)}):R}).then(function(R){var C=d.getTypeOf(R);return C?(C==="arraybuffer"?R=d.transformTo("uint8array",R):C==="string"&&(E?R=c.decode(R):u&&m!==!0&&(R=function(L){return b(L,s.uint8array?new Uint8Array(L.length):new Array(L.length))}(R))),R):i.Promise.reject(new Error("Can't read the data of '"+n+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(t,a,d){var s=t("./reader/readerFor"),c=t("./utils"),o=t("./signature"),i=t("./zipEntry"),x=t("./support");function b(v){this.files=[],this.loadOptions=v}b.prototype={checkSignature:function(v){if(!this.reader.readAndCheckSignature(v)){this.reader.index-=4;var A=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+c.pretty(A)+", expected "+c.pretty(v)+")")}},isSignature:function(v,A){var p=this.reader.index;this.reader.setIndex(v);var l=this.reader.readString(4)===A;return this.reader.setIndex(p),l},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var v=this.reader.readData(this.zipCommentLength),A=x.uint8array?"uint8array":"array",p=c.transformTo(A,v);this.zipComment=this.loadOptions.decodeFileName(p)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var v,A,p,l=this.zip64EndOfCentralSize-44;0<l;)v=this.reader.readInt(2),A=this.reader.readInt(4),p=this.reader.readData(A),this.zip64ExtensibleData[v]={id:v,length:A,value:p}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var v,A;for(v=0;v<this.files.length;v++)A=this.files[v],this.reader.setIndex(A.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),A.readLocalPart(this.reader),A.handleUTF8(),A.processAttributes()},readCentralDir:function(){var v;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(v=new i({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(v);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var v=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(v<0)throw this.isSignature(0,o.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(v);var A=v;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===c.MAX_VALUE_16BITS||this.diskWithCentralDirStart===c.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===c.MAX_VALUE_16BITS||this.centralDirRecords===c.MAX_VALUE_16BITS||this.centralDirSize===c.MAX_VALUE_32BITS||this.centralDirOffset===c.MAX_VALUE_32BITS){if(this.zip64=!0,(v=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(v),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var p=this.centralDirOffset+this.centralDirSize;this.zip64&&(p+=20,p+=12+this.zip64EndOfCentralSize);var l=A-p;if(0<l)this.isSignature(A,o.CENTRAL_FILE_HEADER)||(this.reader.zero=l);else if(l<0)throw new Error("Corrupted zip: missing "+Math.abs(l)+" bytes.")},prepareReader:function(v){this.reader=s(v)},load:function(v){this.prepareReader(v),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},a.exports=b},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(t,a,d){var s=t("./reader/readerFor"),c=t("./utils"),o=t("./compressedObject"),i=t("./crc32"),x=t("./utf8"),b=t("./compressions"),v=t("./support");function A(p,l){this.options=p,this.loadOptions=l}A.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(p){var l,n;if(p.skip(22),this.fileNameLength=p.readInt(2),n=p.readInt(2),this.fileName=p.readData(this.fileNameLength),p.skip(n),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((l=function(f){for(var u in b)if(Object.prototype.hasOwnProperty.call(b,u)&&b[u].magic===f)return b[u];return null}(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+c.pretty(this.compressionMethod)+" unknown (inner file : "+c.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,l,p.readData(this.compressedSize))},readCentralPart:function(p){this.versionMadeBy=p.readInt(2),p.skip(2),this.bitFlag=p.readInt(2),this.compressionMethod=p.readString(2),this.date=p.readDate(),this.crc32=p.readInt(4),this.compressedSize=p.readInt(4),this.uncompressedSize=p.readInt(4);var l=p.readInt(2);if(this.extraFieldsLength=p.readInt(2),this.fileCommentLength=p.readInt(2),this.diskNumberStart=p.readInt(2),this.internalFileAttributes=p.readInt(2),this.externalFileAttributes=p.readInt(4),this.localHeaderOffset=p.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");p.skip(l),this.readExtraFields(p),this.parseZIP64ExtraField(p),this.fileComment=p.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var p=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),p==0&&(this.dosPermissions=63&this.externalFileAttributes),p==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var p=s(this.extraFields[1].value);this.uncompressedSize===c.MAX_VALUE_32BITS&&(this.uncompressedSize=p.readInt(8)),this.compressedSize===c.MAX_VALUE_32BITS&&(this.compressedSize=p.readInt(8)),this.localHeaderOffset===c.MAX_VALUE_32BITS&&(this.localHeaderOffset=p.readInt(8)),this.diskNumberStart===c.MAX_VALUE_32BITS&&(this.diskNumberStart=p.readInt(4))}},readExtraFields:function(p){var l,n,f,u=p.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});p.index+4<u;)l=p.readInt(2),n=p.readInt(2),f=p.readData(n),this.extraFields[l]={id:l,length:n,value:f};p.setIndex(u)},handleUTF8:function(){var p=v.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=x.utf8decode(this.fileName),this.fileCommentStr=x.utf8decode(this.fileComment);else{var l=this.findExtraFieldUnicodePath();if(l!==null)this.fileNameStr=l;else{var n=c.transformTo(p,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(n)}var f=this.findExtraFieldUnicodeComment();if(f!==null)this.fileCommentStr=f;else{var u=c.transformTo(p,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(u)}}},findExtraFieldUnicodePath:function(){var p=this.extraFields[28789];if(p){var l=s(p.value);return l.readInt(1)!==1||i(this.fileName)!==l.readInt(4)?null:x.utf8decode(l.readData(p.length-5))}return null},findExtraFieldUnicodeComment:function(){var p=this.extraFields[25461];if(p){var l=s(p.value);return l.readInt(1)!==1||i(this.fileComment)!==l.readInt(4)?null:x.utf8decode(l.readData(p.length-5))}return null}},a.exports=A},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,a,d){function s(l,n,f){this.name=l,this.dir=f.dir,this.date=f.date,this.comment=f.comment,this.unixPermissions=f.unixPermissions,this.dosPermissions=f.dosPermissions,this._data=n,this._dataBinary=f.binary,this.options={compression:f.compression,compressionOptions:f.compressionOptions}}var c=t("./stream/StreamHelper"),o=t("./stream/DataWorker"),i=t("./utf8"),x=t("./compressedObject"),b=t("./stream/GenericWorker");s.prototype={internalStream:function(l){var n=null,f="string";try{if(!l)throw new Error("No output type specified.");var u=(f=l.toLowerCase())==="string"||f==="text";f!=="binarystring"&&f!=="text"||(f="string"),n=this._decompressWorker();var m=!this._dataBinary;m&&!u&&(n=n.pipe(new i.Utf8EncodeWorker)),!m&&u&&(n=n.pipe(new i.Utf8DecodeWorker))}catch(E){(n=new b("error")).error(E)}return new c(n,f,"")},async:function(l,n){return this.internalStream(l).accumulate(n)},nodeStream:function(l,n){return this.internalStream(l||"nodebuffer").toNodejsStream(n)},_compressWorker:function(l,n){if(this._data instanceof x&&this._data.compression.magic===l.magic)return this._data.getCompressedWorker();var f=this._decompressWorker();return this._dataBinary||(f=f.pipe(new i.Utf8EncodeWorker)),x.createWorkerFrom(f,l,n)},_decompressWorker:function(){return this._data instanceof x?this._data.getContentWorker():this._data instanceof b?this._data:new o(this._data)}};for(var v=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],A=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},p=0;p<v.length;p++)s.prototype[v[p]]=A;a.exports=s},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,a,d){(function(s){var c,o,i=s.MutationObserver||s.WebKitMutationObserver;if(i){var x=0,b=new i(l),v=s.document.createTextNode("");b.observe(v,{characterData:!0}),c=function(){v.data=x=++x%2}}else if(s.setImmediate||s.MessageChannel===void 0)c="document"in s&&"onreadystatechange"in s.document.createElement("script")?function(){var n=s.document.createElement("script");n.onreadystatechange=function(){l(),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},s.document.documentElement.appendChild(n)}:function(){setTimeout(l,0)};else{var A=new s.MessageChannel;A.port1.onmessage=l,c=function(){A.port2.postMessage(0)}}var p=[];function l(){var n,f;o=!0;for(var u=p.length;u;){for(f=p,p=[],n=-1;++n<u;)f[n]();u=p.length}o=!1}a.exports=function(n){p.push(n)!==1||o||c()}}).call(this,typeof Ct<"u"?Ct:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(t,a,d){var s=t("immediate");function c(){}var o={},i=["REJECTED"],x=["FULFILLED"],b=["PENDING"];function v(u){if(typeof u!="function")throw new TypeError("resolver must be a function");this.state=b,this.queue=[],this.outcome=void 0,u!==c&&n(this,u)}function A(u,m,E){this.promise=u,typeof m=="function"&&(this.onFulfilled=m,this.callFulfilled=this.otherCallFulfilled),typeof E=="function"&&(this.onRejected=E,this.callRejected=this.otherCallRejected)}function p(u,m,E){s(function(){var R;try{R=m(E)}catch(C){return o.reject(u,C)}R===u?o.reject(u,new TypeError("Cannot resolve promise with itself")):o.resolve(u,R)})}function l(u){var m=u&&u.then;if(u&&(typeof u=="object"||typeof u=="function")&&typeof m=="function")return function(){m.apply(u,arguments)}}function n(u,m){var E=!1;function R(D){E||(E=!0,o.reject(u,D))}function C(D){E||(E=!0,o.resolve(u,D))}var L=f(function(){m(C,R)});L.status==="error"&&R(L.value)}function f(u,m){var E={};try{E.value=u(m),E.status="success"}catch(R){E.status="error",E.value=R}return E}(a.exports=v).prototype.finally=function(u){if(typeof u!="function")return this;var m=this.constructor;return this.then(function(E){return m.resolve(u()).then(function(){return E})},function(E){return m.resolve(u()).then(function(){throw E})})},v.prototype.catch=function(u){return this.then(null,u)},v.prototype.then=function(u,m){if(typeof u!="function"&&this.state===x||typeof m!="function"&&this.state===i)return this;var E=new this.constructor(c);return this.state!==b?p(E,this.state===x?u:m,this.outcome):this.queue.push(new A(E,u,m)),E},A.prototype.callFulfilled=function(u){o.resolve(this.promise,u)},A.prototype.otherCallFulfilled=function(u){p(this.promise,this.onFulfilled,u)},A.prototype.callRejected=function(u){o.reject(this.promise,u)},A.prototype.otherCallRejected=function(u){p(this.promise,this.onRejected,u)},o.resolve=function(u,m){var E=f(l,m);if(E.status==="error")return o.reject(u,E.value);var R=E.value;if(R)n(u,R);else{u.state=x,u.outcome=m;for(var C=-1,L=u.queue.length;++C<L;)u.queue[C].callFulfilled(m)}return u},o.reject=function(u,m){u.state=i,u.outcome=m;for(var E=-1,R=u.queue.length;++E<R;)u.queue[E].callRejected(m);return u},v.resolve=function(u){return u instanceof this?u:o.resolve(new this(c),u)},v.reject=function(u){var m=new this(c);return o.reject(m,u)},v.all=function(u){var m=this;if(Object.prototype.toString.call(u)!=="[object Array]")return this.reject(new TypeError("must be an array"));var E=u.length,R=!1;if(!E)return this.resolve([]);for(var C=new Array(E),L=0,D=-1,P=new this(c);++D<E;)B(u[D],D);return P;function B(M,K){m.resolve(M).then(function(w){C[K]=w,++L!==E||R||(R=!0,o.resolve(P,C))},function(w){R||(R=!0,o.reject(P,w))})}},v.race=function(u){var m=this;if(Object.prototype.toString.call(u)!=="[object Array]")return this.reject(new TypeError("must be an array"));var E=u.length,R=!1;if(!E)return this.resolve([]);for(var C=-1,L=new this(c);++C<E;)D=u[C],m.resolve(D).then(function(P){R||(R=!0,o.resolve(L,P))},function(P){R||(R=!0,o.reject(L,P))});var D;return L}},{immediate:36}],38:[function(t,a,d){var s={};(0,t("./lib/utils/common").assign)(s,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),a.exports=s},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,a,d){var s=t("./zlib/deflate"),c=t("./utils/common"),o=t("./utils/strings"),i=t("./zlib/messages"),x=t("./zlib/zstream"),b=Object.prototype.toString,v=0,A=-1,p=0,l=8;function n(u){if(!(this instanceof n))return new n(u);this.options=c.assign({level:A,method:l,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:""},u||{});var m=this.options;m.raw&&0<m.windowBits?m.windowBits=-m.windowBits:m.gzip&&0<m.windowBits&&m.windowBits<16&&(m.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new x,this.strm.avail_out=0;var E=s.deflateInit2(this.strm,m.level,m.method,m.windowBits,m.memLevel,m.strategy);if(E!==v)throw new Error(i[E]);if(m.header&&s.deflateSetHeader(this.strm,m.header),m.dictionary){var R;if(R=typeof m.dictionary=="string"?o.string2buf(m.dictionary):b.call(m.dictionary)==="[object ArrayBuffer]"?new Uint8Array(m.dictionary):m.dictionary,(E=s.deflateSetDictionary(this.strm,R))!==v)throw new Error(i[E]);this._dict_set=!0}}function f(u,m){var E=new n(m);if(E.push(u,!0),E.err)throw E.msg||i[E.err];return E.result}n.prototype.push=function(u,m){var E,R,C=this.strm,L=this.options.chunkSize;if(this.ended)return!1;R=m===~~m?m:m===!0?4:0,typeof u=="string"?C.input=o.string2buf(u):b.call(u)==="[object ArrayBuffer]"?C.input=new Uint8Array(u):C.input=u,C.next_in=0,C.avail_in=C.input.length;do{if(C.avail_out===0&&(C.output=new c.Buf8(L),C.next_out=0,C.avail_out=L),(E=s.deflate(C,R))!==1&&E!==v)return this.onEnd(E),!(this.ended=!0);C.avail_out!==0&&(C.avail_in!==0||R!==4&&R!==2)||(this.options.to==="string"?this.onData(o.buf2binstring(c.shrinkBuf(C.output,C.next_out))):this.onData(c.shrinkBuf(C.output,C.next_out)))}while((0<C.avail_in||C.avail_out===0)&&E!==1);return R===4?(E=s.deflateEnd(this.strm),this.onEnd(E),this.ended=!0,E===v):R!==2||(this.onEnd(v),!(C.avail_out=0))},n.prototype.onData=function(u){this.chunks.push(u)},n.prototype.onEnd=function(u){u===v&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=u,this.msg=this.strm.msg},d.Deflate=n,d.deflate=f,d.deflateRaw=function(u,m){return(m=m||{}).raw=!0,f(u,m)},d.gzip=function(u,m){return(m=m||{}).gzip=!0,f(u,m)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,a,d){var s=t("./zlib/inflate"),c=t("./utils/common"),o=t("./utils/strings"),i=t("./zlib/constants"),x=t("./zlib/messages"),b=t("./zlib/zstream"),v=t("./zlib/gzheader"),A=Object.prototype.toString;function p(n){if(!(this instanceof p))return new p(n);this.options=c.assign({chunkSize:16384,windowBits:0,to:""},n||{});var f=this.options;f.raw&&0<=f.windowBits&&f.windowBits<16&&(f.windowBits=-f.windowBits,f.windowBits===0&&(f.windowBits=-15)),!(0<=f.windowBits&&f.windowBits<16)||n&&n.windowBits||(f.windowBits+=32),15<f.windowBits&&f.windowBits<48&&!(15&f.windowBits)&&(f.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b,this.strm.avail_out=0;var u=s.inflateInit2(this.strm,f.windowBits);if(u!==i.Z_OK)throw new Error(x[u]);this.header=new v,s.inflateGetHeader(this.strm,this.header)}function l(n,f){var u=new p(f);if(u.push(n,!0),u.err)throw u.msg||x[u.err];return u.result}p.prototype.push=function(n,f){var u,m,E,R,C,L,D=this.strm,P=this.options.chunkSize,B=this.options.dictionary,M=!1;if(this.ended)return!1;m=f===~~f?f:f===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof n=="string"?D.input=o.binstring2buf(n):A.call(n)==="[object ArrayBuffer]"?D.input=new Uint8Array(n):D.input=n,D.next_in=0,D.avail_in=D.input.length;do{if(D.avail_out===0&&(D.output=new c.Buf8(P),D.next_out=0,D.avail_out=P),(u=s.inflate(D,i.Z_NO_FLUSH))===i.Z_NEED_DICT&&B&&(L=typeof B=="string"?o.string2buf(B):A.call(B)==="[object ArrayBuffer]"?new Uint8Array(B):B,u=s.inflateSetDictionary(this.strm,L)),u===i.Z_BUF_ERROR&&M===!0&&(u=i.Z_OK,M=!1),u!==i.Z_STREAM_END&&u!==i.Z_OK)return this.onEnd(u),!(this.ended=!0);D.next_out&&(D.avail_out!==0&&u!==i.Z_STREAM_END&&(D.avail_in!==0||m!==i.Z_FINISH&&m!==i.Z_SYNC_FLUSH)||(this.options.to==="string"?(E=o.utf8border(D.output,D.next_out),R=D.next_out-E,C=o.buf2string(D.output,E),D.next_out=R,D.avail_out=P-R,R&&c.arraySet(D.output,D.output,E,R,0),this.onData(C)):this.onData(c.shrinkBuf(D.output,D.next_out)))),D.avail_in===0&&D.avail_out===0&&(M=!0)}while((0<D.avail_in||D.avail_out===0)&&u!==i.Z_STREAM_END);return u===i.Z_STREAM_END&&(m=i.Z_FINISH),m===i.Z_FINISH?(u=s.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===i.Z_OK):m!==i.Z_SYNC_FLUSH||(this.onEnd(i.Z_OK),!(D.avail_out=0))},p.prototype.onData=function(n){this.chunks.push(n)},p.prototype.onEnd=function(n){n===i.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=n,this.msg=this.strm.msg},d.Inflate=p,d.inflate=l,d.inflateRaw=function(n,f){return(f=f||{}).raw=!0,l(n,f)},d.ungzip=l},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,a,d){var s=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";d.assign=function(i){for(var x=Array.prototype.slice.call(arguments,1);x.length;){var b=x.shift();if(b){if(typeof b!="object")throw new TypeError(b+"must be non-object");for(var v in b)b.hasOwnProperty(v)&&(i[v]=b[v])}}return i},d.shrinkBuf=function(i,x){return i.length===x?i:i.subarray?i.subarray(0,x):(i.length=x,i)};var c={arraySet:function(i,x,b,v,A){if(x.subarray&&i.subarray)i.set(x.subarray(b,b+v),A);else for(var p=0;p<v;p++)i[A+p]=x[b+p]},flattenChunks:function(i){var x,b,v,A,p,l;for(x=v=0,b=i.length;x<b;x++)v+=i[x].length;for(l=new Uint8Array(v),x=A=0,b=i.length;x<b;x++)p=i[x],l.set(p,A),A+=p.length;return l}},o={arraySet:function(i,x,b,v,A){for(var p=0;p<v;p++)i[A+p]=x[b+p]},flattenChunks:function(i){return[].concat.apply([],i)}};d.setTyped=function(i){i?(d.Buf8=Uint8Array,d.Buf16=Uint16Array,d.Buf32=Int32Array,d.assign(d,c)):(d.Buf8=Array,d.Buf16=Array,d.Buf32=Array,d.assign(d,o))},d.setTyped(s)},{}],42:[function(t,a,d){var s=t("./common"),c=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch{c=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{o=!1}for(var i=new s.Buf8(256),x=0;x<256;x++)i[x]=252<=x?6:248<=x?5:240<=x?4:224<=x?3:192<=x?2:1;function b(v,A){if(A<65537&&(v.subarray&&o||!v.subarray&&c))return String.fromCharCode.apply(null,s.shrinkBuf(v,A));for(var p="",l=0;l<A;l++)p+=String.fromCharCode(v[l]);return p}i[254]=i[254]=1,d.string2buf=function(v){var A,p,l,n,f,u=v.length,m=0;for(n=0;n<u;n++)(64512&(p=v.charCodeAt(n)))==55296&&n+1<u&&(64512&(l=v.charCodeAt(n+1)))==56320&&(p=65536+(p-55296<<10)+(l-56320),n++),m+=p<128?1:p<2048?2:p<65536?3:4;for(A=new s.Buf8(m),n=f=0;f<m;n++)(64512&(p=v.charCodeAt(n)))==55296&&n+1<u&&(64512&(l=v.charCodeAt(n+1)))==56320&&(p=65536+(p-55296<<10)+(l-56320),n++),p<128?A[f++]=p:(p<2048?A[f++]=192|p>>>6:(p<65536?A[f++]=224|p>>>12:(A[f++]=240|p>>>18,A[f++]=128|p>>>12&63),A[f++]=128|p>>>6&63),A[f++]=128|63&p);return A},d.buf2binstring=function(v){return b(v,v.length)},d.binstring2buf=function(v){for(var A=new s.Buf8(v.length),p=0,l=A.length;p<l;p++)A[p]=v.charCodeAt(p);return A},d.buf2string=function(v,A){var p,l,n,f,u=A||v.length,m=new Array(2*u);for(p=l=0;p<u;)if((n=v[p++])<128)m[l++]=n;else if(4<(f=i[n]))m[l++]=65533,p+=f-1;else{for(n&=f===2?31:f===3?15:7;1<f&&p<u;)n=n<<6|63&v[p++],f--;1<f?m[l++]=65533:n<65536?m[l++]=n:(n-=65536,m[l++]=55296|n>>10&1023,m[l++]=56320|1023&n)}return b(m,l)},d.utf8border=function(v,A){var p;for((A=A||v.length)>v.length&&(A=v.length),p=A-1;0<=p&&(192&v[p])==128;)p--;return p<0||p===0?A:p+i[v[p]]>A?p:A}},{"./common":41}],43:[function(t,a,d){a.exports=function(s,c,o,i){for(var x=65535&s|0,b=s>>>16&65535|0,v=0;o!==0;){for(o-=v=2e3<o?2e3:o;b=b+(x=x+c[i++]|0)|0,--v;);x%=65521,b%=65521}return x|b<<16|0}},{}],44:[function(t,a,d){a.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}},{}],45:[function(t,a,d){var s=function(){for(var c,o=[],i=0;i<256;i++){c=i;for(var x=0;x<8;x++)c=1&c?3988292384^c>>>1:c>>>1;o[i]=c}return o}();a.exports=function(c,o,i,x){var b=s,v=x+i;c^=-1;for(var A=x;A<v;A++)c=c>>>8^b[255&(c^o[A])];return-1^c}},{}],46:[function(t,a,d){var s,c=t("../utils/common"),o=t("./trees"),i=t("./adler32"),x=t("./crc32"),b=t("./messages"),v=0,A=4,p=0,l=-2,n=-1,f=4,u=2,m=8,E=9,R=286,C=30,L=19,D=2*R+1,P=15,B=3,M=258,K=M+B+1,w=42,z=113,h=1,U=2,J=3,W=4;function tt(r,O){return r.msg=b[O],O}function X(r){return(r<<1)-(4<r?9:0)}function q(r){for(var O=r.length;0<=--O;)r[O]=0}function S(r){var O=r.state,I=O.pending;I>r.avail_out&&(I=r.avail_out),I!==0&&(c.arraySet(r.output,O.pending_buf,O.pending_out,I,r.next_out),r.next_out+=I,O.pending_out+=I,r.total_out+=I,r.avail_out-=I,O.pending-=I,O.pending===0&&(O.pending_out=0))}function F(r,O){o._tr_flush_block(r,0<=r.block_start?r.block_start:-1,r.strstart-r.block_start,O),r.block_start=r.strstart,S(r.strm)}function $(r,O){r.pending_buf[r.pending++]=O}function V(r,O){r.pending_buf[r.pending++]=O>>>8&255,r.pending_buf[r.pending++]=255&O}function j(r,O){var I,y,g=r.max_chain_length,T=r.strstart,N=r.prev_length,G=r.nice_match,k=r.strstart>r.w_size-K?r.strstart-(r.w_size-K):0,Y=r.window,Z=r.w_mask,H=r.prev,Q=r.strstart+M,ht=Y[T+N-1],it=Y[T+N];r.prev_length>=r.good_match&&(g>>=2),G>r.lookahead&&(G=r.lookahead);do if(Y[(I=O)+N]===it&&Y[I+N-1]===ht&&Y[I]===Y[T]&&Y[++I]===Y[T+1]){T+=2,I++;do;while(Y[++T]===Y[++I]&&Y[++T]===Y[++I]&&Y[++T]===Y[++I]&&Y[++T]===Y[++I]&&Y[++T]===Y[++I]&&Y[++T]===Y[++I]&&Y[++T]===Y[++I]&&Y[++T]===Y[++I]&&T<Q);if(y=M-(Q-T),T=Q-M,N<y){if(r.match_start=O,G<=(N=y))break;ht=Y[T+N-1],it=Y[T+N]}}while((O=H[O&Z])>k&&--g!=0);return N<=r.lookahead?N:r.lookahead}function at(r){var O,I,y,g,T,N,G,k,Y,Z,H=r.w_size;do{if(g=r.window_size-r.lookahead-r.strstart,r.strstart>=H+(H-K)){for(c.arraySet(r.window,r.window,H,H,0),r.match_start-=H,r.strstart-=H,r.block_start-=H,O=I=r.hash_size;y=r.head[--O],r.head[O]=H<=y?y-H:0,--I;);for(O=I=H;y=r.prev[--O],r.prev[O]=H<=y?y-H:0,--I;);g+=H}if(r.strm.avail_in===0)break;if(N=r.strm,G=r.window,k=r.strstart+r.lookahead,Y=g,Z=void 0,Z=N.avail_in,Y<Z&&(Z=Y),I=Z===0?0:(N.avail_in-=Z,c.arraySet(G,N.input,N.next_in,Z,k),N.state.wrap===1?N.adler=i(N.adler,G,Z,k):N.state.wrap===2&&(N.adler=x(N.adler,G,Z,k)),N.next_in+=Z,N.total_in+=Z,Z),r.lookahead+=I,r.lookahead+r.insert>=B)for(T=r.strstart-r.insert,r.ins_h=r.window[T],r.ins_h=(r.ins_h<<r.hash_shift^r.window[T+1])&r.hash_mask;r.insert&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[T+B-1])&r.hash_mask,r.prev[T&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=T,T++,r.insert--,!(r.lookahead+r.insert<B)););}while(r.lookahead<K&&r.strm.avail_in!==0)}function ot(r,O){for(var I,y;;){if(r.lookahead<K){if(at(r),r.lookahead<K&&O===v)return h;if(r.lookahead===0)break}if(I=0,r.lookahead>=B&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+B-1])&r.hash_mask,I=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),I!==0&&r.strstart-I<=r.w_size-K&&(r.match_length=j(r,I)),r.match_length>=B)if(y=o._tr_tally(r,r.strstart-r.match_start,r.match_length-B),r.lookahead-=r.match_length,r.match_length<=r.max_lazy_match&&r.lookahead>=B){for(r.match_length--;r.strstart++,r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+B-1])&r.hash_mask,I=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart,--r.match_length!=0;);r.strstart++}else r.strstart+=r.match_length,r.match_length=0,r.ins_h=r.window[r.strstart],r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+1])&r.hash_mask;else y=o._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++;if(y&&(F(r,!1),r.strm.avail_out===0))return h}return r.insert=r.strstart<B-1?r.strstart:B-1,O===A?(F(r,!0),r.strm.avail_out===0?J:W):r.last_lit&&(F(r,!1),r.strm.avail_out===0)?h:U}function et(r,O){for(var I,y,g;;){if(r.lookahead<K){if(at(r),r.lookahead<K&&O===v)return h;if(r.lookahead===0)break}if(I=0,r.lookahead>=B&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+B-1])&r.hash_mask,I=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),r.prev_length=r.match_length,r.prev_match=r.match_start,r.match_length=B-1,I!==0&&r.prev_length<r.max_lazy_match&&r.strstart-I<=r.w_size-K&&(r.match_length=j(r,I),r.match_length<=5&&(r.strategy===1||r.match_length===B&&4096<r.strstart-r.match_start)&&(r.match_length=B-1)),r.prev_length>=B&&r.match_length<=r.prev_length){for(g=r.strstart+r.lookahead-B,y=o._tr_tally(r,r.strstart-1-r.prev_match,r.prev_length-B),r.lookahead-=r.prev_length-1,r.prev_length-=2;++r.strstart<=g&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+B-1])&r.hash_mask,I=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),--r.prev_length!=0;);if(r.match_available=0,r.match_length=B-1,r.strstart++,y&&(F(r,!1),r.strm.avail_out===0))return h}else if(r.match_available){if((y=o._tr_tally(r,0,r.window[r.strstart-1]))&&F(r,!1),r.strstart++,r.lookahead--,r.strm.avail_out===0)return h}else r.match_available=1,r.strstart++,r.lookahead--}return r.match_available&&(y=o._tr_tally(r,0,r.window[r.strstart-1]),r.match_available=0),r.insert=r.strstart<B-1?r.strstart:B-1,O===A?(F(r,!0),r.strm.avail_out===0?J:W):r.last_lit&&(F(r,!1),r.strm.avail_out===0)?h:U}function rt(r,O,I,y,g){this.good_length=r,this.max_lazy=O,this.nice_length=I,this.max_chain=y,this.func=g}function st(){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=m,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 c.Buf16(2*D),this.dyn_dtree=new c.Buf16(2*(2*C+1)),this.bl_tree=new c.Buf16(2*(2*L+1)),q(this.dyn_ltree),q(this.dyn_dtree),q(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(P+1),this.heap=new c.Buf16(2*R+1),q(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*R+1),q(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 nt(r){var O;return r&&r.state?(r.total_in=r.total_out=0,r.data_type=u,(O=r.state).pending=0,O.pending_out=0,O.wrap<0&&(O.wrap=-O.wrap),O.status=O.wrap?w:z,r.adler=O.wrap===2?0:1,O.last_flush=v,o._tr_init(O),p):tt(r,l)}function ct(r){var O=nt(r);return O===p&&function(I){I.window_size=2*I.w_size,q(I.head),I.max_lazy_match=s[I.level].max_lazy,I.good_match=s[I.level].good_length,I.nice_match=s[I.level].nice_length,I.max_chain_length=s[I.level].max_chain,I.strstart=0,I.block_start=0,I.lookahead=0,I.insert=0,I.match_length=I.prev_length=B-1,I.match_available=0,I.ins_h=0}(r.state),O}function ft(r,O,I,y,g,T){if(!r)return l;var N=1;if(O===n&&(O=6),y<0?(N=0,y=-y):15<y&&(N=2,y-=16),g<1||E<g||I!==m||y<8||15<y||O<0||9<O||T<0||f<T)return tt(r,l);y===8&&(y=9);var G=new st;return(r.state=G).strm=r,G.wrap=N,G.gzhead=null,G.w_bits=y,G.w_size=1<<G.w_bits,G.w_mask=G.w_size-1,G.hash_bits=g+7,G.hash_size=1<<G.hash_bits,G.hash_mask=G.hash_size-1,G.hash_shift=~~((G.hash_bits+B-1)/B),G.window=new c.Buf8(2*G.w_size),G.head=new c.Buf16(G.hash_size),G.prev=new c.Buf16(G.w_size),G.lit_bufsize=1<<g+6,G.pending_buf_size=4*G.lit_bufsize,G.pending_buf=new c.Buf8(G.pending_buf_size),G.d_buf=1*G.lit_bufsize,G.l_buf=3*G.lit_bufsize,G.level=O,G.strategy=T,G.method=I,ct(r)}s=[new rt(0,0,0,0,function(r,O){var I=65535;for(I>r.pending_buf_size-5&&(I=r.pending_buf_size-5);;){if(r.lookahead<=1){if(at(r),r.lookahead===0&&O===v)return h;if(r.lookahead===0)break}r.strstart+=r.lookahead,r.lookahead=0;var y=r.block_start+I;if((r.strstart===0||r.strstart>=y)&&(r.lookahead=r.strstart-y,r.strstart=y,F(r,!1),r.strm.avail_out===0)||r.strstart-r.block_start>=r.w_size-K&&(F(r,!1),r.strm.avail_out===0))return h}return r.insert=0,O===A?(F(r,!0),r.strm.avail_out===0?J:W):(r.strstart>r.block_start&&(F(r,!1),r.strm.avail_out),h)}),new rt(4,4,8,4,ot),new rt(4,5,16,8,ot),new rt(4,6,32,32,ot),new rt(4,4,16,16,et),new rt(8,16,32,32,et),new rt(8,16,128,128,et),new rt(8,32,128,256,et),new rt(32,128,258,1024,et),new rt(32,258,258,4096,et)],d.deflateInit=function(r,O){return ft(r,O,m,15,8,0)},d.deflateInit2=ft,d.deflateReset=ct,d.deflateResetKeep=nt,d.deflateSetHeader=function(r,O){return r&&r.state?r.state.wrap!==2?l:(r.state.gzhead=O,p):l},d.deflate=function(r,O){var I,y,g,T;if(!r||!r.state||5<O||O<0)return r?tt(r,l):l;if(y=r.state,!r.output||!r.input&&r.avail_in!==0||y.status===666&&O!==A)return tt(r,r.avail_out===0?-5:l);if(y.strm=r,I=y.last_flush,y.last_flush=O,y.status===w)if(y.wrap===2)r.adler=0,$(y,31),$(y,139),$(y,8),y.gzhead?($(y,(y.gzhead.text?1:0)+(y.gzhead.hcrc?2:0)+(y.gzhead.extra?4:0)+(y.gzhead.name?8:0)+(y.gzhead.comment?16:0)),$(y,255&y.gzhead.time),$(y,y.gzhead.time>>8&255),$(y,y.gzhead.time>>16&255),$(y,y.gzhead.time>>24&255),$(y,y.level===9?2:2<=y.strategy||y.level<2?4:0),$(y,255&y.gzhead.os),y.gzhead.extra&&y.gzhead.extra.length&&($(y,255&y.gzhead.extra.length),$(y,y.gzhead.extra.length>>8&255)),y.gzhead.hcrc&&(r.adler=x(r.adler,y.pending_buf,y.pending,0)),y.gzindex=0,y.status=69):($(y,0),$(y,0),$(y,0),$(y,0),$(y,0),$(y,y.level===9?2:2<=y.strategy||y.level<2?4:0),$(y,3),y.status=z);else{var N=m+(y.w_bits-8<<4)<<8;N|=(2<=y.strategy||y.level<2?0:y.level<6?1:y.level===6?2:3)<<6,y.strstart!==0&&(N|=32),N+=31-N%31,y.status=z,V(y,N),y.strstart!==0&&(V(y,r.adler>>>16),V(y,65535&r.adler)),r.adler=1}if(y.status===69)if(y.gzhead.extra){for(g=y.pending;y.gzindex<(65535&y.gzhead.extra.length)&&(y.pending!==y.pending_buf_size||(y.gzhead.hcrc&&y.pending>g&&(r.adler=x(r.adler,y.pending_buf,y.pending-g,g)),S(r),g=y.pending,y.pending!==y.pending_buf_size));)$(y,255&y.gzhead.extra[y.gzindex]),y.gzindex++;y.gzhead.hcrc&&y.pending>g&&(r.adler=x(r.adler,y.pending_buf,y.pending-g,g)),y.gzindex===y.gzhead.extra.length&&(y.gzindex=0,y.status=73)}else y.status=73;if(y.status===73)if(y.gzhead.name){g=y.pending;do{if(y.pending===y.pending_buf_size&&(y.gzhead.hcrc&&y.pending>g&&(r.adler=x(r.adler,y.pending_buf,y.pending-g,g)),S(r),g=y.pending,y.pending===y.pending_buf_size)){T=1;break}T=y.gzindex<y.gzhead.name.length?255&y.gzhead.name.charCodeAt(y.gzindex++):0,$(y,T)}while(T!==0);y.gzhead.hcrc&&y.pending>g&&(r.adler=x(r.adler,y.pending_buf,y.pending-g,g)),T===0&&(y.gzindex=0,y.status=91)}else y.status=91;if(y.status===91)if(y.gzhead.comment){g=y.pending;do{if(y.pending===y.pending_buf_size&&(y.gzhead.hcrc&&y.pending>g&&(r.adler=x(r.adler,y.pending_buf,y.pending-g,g)),S(r),g=y.pending,y.pending===y.pending_buf_size)){T=1;break}T=y.gzindex<y.gzhead.comment.length?255&y.gzhead.comment.charCodeAt(y.gzindex++):0,$(y,T)}while(T!==0);y.gzhead.hcrc&&y.pending>g&&(r.adler=x(r.adler,y.pending_buf,y.pending-g,g)),T===0&&(y.status=103)}else y.status=103;if(y.status===103&&(y.gzhead.hcrc?(y.pending+2>y.pending_buf_size&&S(r),y.pending+2<=y.pending_buf_size&&($(y,255&r.adler),$(y,r.adler>>8&255),r.adler=0,y.status=z)):y.status=z),y.pending!==0){if(S(r),r.avail_out===0)return y.last_flush=-1,p}else if(r.avail_in===0&&X(O)<=X(I)&&O!==A)return tt(r,-5);if(y.status===666&&r.avail_in!==0)return tt(r,-5);if(r.avail_in!==0||y.lookahead!==0||O!==v&&y.status!==666){var G=y.strategy===2?function(k,Y){for(var Z;;){if(k.lookahead===0&&(at(k),k.lookahead===0)){if(Y===v)return h;break}if(k.match_length=0,Z=o._tr_tally(k,0,k.window[k.strstart]),k.lookahead--,k.strstart++,Z&&(F(k,!1),k.strm.avail_out===0))return h}return k.insert=0,Y===A?(F(k,!0),k.strm.avail_out===0?J:W):k.last_lit&&(F(k,!1),k.strm.avail_out===0)?h:U}(y,O):y.strategy===3?function(k,Y){for(var Z,H,Q,ht,it=k.window;;){if(k.lookahead<=M){if(at(k),k.lookahead<=M&&Y===v)return h;if(k.lookahead===0)break}if(k.match_length=0,k.lookahead>=B&&0<k.strstart&&(H=it[Q=k.strstart-1])===it[++Q]&&H===it[++Q]&&H===it[++Q]){ht=k.strstart+M;do;while(H===it[++Q]&&H===it[++Q]&&H===it[++Q]&&H===it[++Q]&&H===it[++Q]&&H===it[++Q]&&H===it[++Q]&&H===it[++Q]&&Q<ht);k.match_length=M-(ht-Q),k.match_length>k.lookahead&&(k.match_length=k.lookahead)}if(k.match_length>=B?(Z=o._tr_tally(k,1,k.match_length-B),k.lookahead-=k.match_length,k.strstart+=k.match_length,k.match_length=0):(Z=o._tr_tally(k,0,k.window[k.strstart]),k.lookahead--,k.strstart++),Z&&(F(k,!1),k.strm.avail_out===0))return h}return k.insert=0,Y===A?(F(k,!0),k.strm.avail_out===0?J:W):k.last_lit&&(F(k,!1),k.strm.avail_out===0)?h:U}(y,O):s[y.level].func(y,O);if(G!==J&&G!==W||(y.status=666),G===h||G===J)return r.avail_out===0&&(y.last_flush=-1),p;if(G===U&&(O===1?o._tr_align(y):O!==5&&(o._tr_stored_block(y,0,0,!1),O===3&&(q(y.head),y.lookahead===0&&(y.strstart=0,y.block_start=0,y.insert=0))),S(r),r.avail_out===0))return y.last_flush=-1,p}return O!==A?p:y.wrap<=0?1:(y.wrap===2?($(y,255&r.adler),$(y,r.adler>>8&255),$(y,r.adler>>16&255),$(y,r.adler>>24&255),$(y,255&r.total_in),$(y,r.total_in>>8&255),$(y,r.total_in>>16&255),$(y,r.total_in>>24&255)):(V(y,r.adler>>>16),V(y,65535&r.adler)),S(r),0<y.wrap&&(y.wrap=-y.wrap),y.pending!==0?p:1)},d.deflateEnd=function(r){var O;return r&&r.state?(O=r.state.status)!==w&&O!==69&&O!==73&&O!==91&&O!==103&&O!==z&&O!==666?tt(r,l):(r.state=null,O===z?tt(r,-3):p):l},d.deflateSetDictionary=function(r,O){var I,y,g,T,N,G,k,Y,Z=O.length;if(!r||!r.state||(T=(I=r.state).wrap)===2||T===1&&I.status!==w||I.lookahead)return l;for(T===1&&(r.adler=i(r.adler,O,Z,0)),I.wrap=0,Z>=I.w_size&&(T===0&&(q(I.head),I.strstart=0,I.block_start=0,I.insert=0),Y=new c.Buf8(I.w_size),c.arraySet(Y,O,Z-I.w_size,I.w_size,0),O=Y,Z=I.w_size),N=r.avail_in,G=r.next_in,k=r.input,r.avail_in=Z,r.next_in=0,r.input=O,at(I);I.lookahead>=B;){for(y=I.strstart,g=I.lookahead-(B-1);I.ins_h=(I.ins_h<<I.hash_shift^I.window[y+B-1])&I.hash_mask,I.prev[y&I.w_mask]=I.head[I.ins_h],I.head[I.ins_h]=y,y++,--g;);I.strstart=y,I.lookahead=B-1,at(I)}return I.strstart+=I.lookahead,I.block_start=I.strstart,I.insert=I.lookahead,I.lookahead=0,I.match_length=I.prev_length=B-1,I.match_available=0,r.next_in=G,r.input=k,r.avail_in=N,I.wrap=T,p},d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,a,d){a.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,a,d){a.exports=function(s,c){var o,i,x,b,v,A,p,l,n,f,u,m,E,R,C,L,D,P,B,M,K,w,z,h,U;o=s.state,i=s.next_in,h=s.input,x=i+(s.avail_in-5),b=s.next_out,U=s.output,v=b-(c-s.avail_out),A=b+(s.avail_out-257),p=o.dmax,l=o.wsize,n=o.whave,f=o.wnext,u=o.window,m=o.hold,E=o.bits,R=o.lencode,C=o.distcode,L=(1<<o.lenbits)-1,D=(1<<o.distbits)-1;t:do{E<15&&(m+=h[i++]<<E,E+=8,m+=h[i++]<<E,E+=8),P=R[m&L];e:for(;;){if(m>>>=B=P>>>24,E-=B,(B=P>>>16&255)===0)U[b++]=65535&P;else{if(!(16&B)){if(!(64&B)){P=R[(65535&P)+(m&(1<<B)-1)];continue e}if(32&B){o.mode=12;break t}s.msg="invalid literal/length code",o.mode=30;break t}M=65535&P,(B&=15)&&(E<B&&(m+=h[i++]<<E,E+=8),M+=m&(1<<B)-1,m>>>=B,E-=B),E<15&&(m+=h[i++]<<E,E+=8,m+=h[i++]<<E,E+=8),P=C[m&D];r:for(;;){if(m>>>=B=P>>>24,E-=B,!(16&(B=P>>>16&255))){if(!(64&B)){P=C[(65535&P)+(m&(1<<B)-1)];continue r}s.msg="invalid distance code",o.mode=30;break t}if(K=65535&P,E<(B&=15)&&(m+=h[i++]<<E,(E+=8)<B&&(m+=h[i++]<<E,E+=8)),p<(K+=m&(1<<B)-1)){s.msg="invalid distance too far back",o.mode=30;break t}if(m>>>=B,E-=B,(B=b-v)<K){if(n<(B=K-B)&&o.sane){s.msg="invalid distance too far back",o.mode=30;break t}if(z=u,(w=0)===f){if(w+=l-B,B<M){for(M-=B;U[b++]=u[w++],--B;);w=b-K,z=U}}else if(f<B){if(w+=l+f-B,(B-=f)<M){for(M-=B;U[b++]=u[w++],--B;);if(w=0,f<M){for(M-=B=f;U[b++]=u[w++],--B;);w=b-K,z=U}}}else if(w+=f-B,B<M){for(M-=B;U[b++]=u[w++],--B;);w=b-K,z=U}for(;2<M;)U[b++]=z[w++],U[b++]=z[w++],U[b++]=z[w++],M-=3;M&&(U[b++]=z[w++],1<M&&(U[b++]=z[w++]))}else{for(w=b-K;U[b++]=U[w++],U[b++]=U[w++],U[b++]=U[w++],2<(M-=3););M&&(U[b++]=U[w++],1<M&&(U[b++]=U[w++]))}break}}break}}while(i<x&&b<A);i-=M=E>>3,m&=(1<<(E-=M<<3))-1,s.next_in=i,s.next_out=b,s.avail_in=i<x?x-i+5:5-(i-x),s.avail_out=b<A?A-b+257:257-(b-A),o.hold=m,o.bits=E}},{}],49:[function(t,a,d){var s=t("../utils/common"),c=t("./adler32"),o=t("./crc32"),i=t("./inffast"),x=t("./inftrees"),b=1,v=2,A=0,p=-2,l=1,n=852,f=592;function u(w){return(w>>>24&255)+(w>>>8&65280)+((65280&w)<<8)+((255&w)<<24)}function m(){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 s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function E(w){var z;return w&&w.state?(z=w.state,w.total_in=w.total_out=z.total=0,w.msg="",z.wrap&&(w.adler=1&z.wrap),z.mode=l,z.last=0,z.havedict=0,z.dmax=32768,z.head=null,z.hold=0,z.bits=0,z.lencode=z.lendyn=new s.Buf32(n),z.distcode=z.distdyn=new s.Buf32(f),z.sane=1,z.back=-1,A):p}function R(w){var z;return w&&w.state?((z=w.state).wsize=0,z.whave=0,z.wnext=0,E(w)):p}function C(w,z){var h,U;return w&&w.state?(U=w.state,z<0?(h=0,z=-z):(h=1+(z>>4),z<48&&(z&=15)),z&&(z<8||15<z)?p:(U.window!==null&&U.wbits!==z&&(U.window=null),U.wrap=h,U.wbits=z,R(w))):p}function L(w,z){var h,U;return w?(U=new m,(w.state=U).window=null,(h=C(w,z))!==A&&(w.state=null),h):p}var D,P,B=!0;function M(w){if(B){var z;for(D=new s.Buf32(512),P=new s.Buf32(32),z=0;z<144;)w.lens[z++]=8;for(;z<256;)w.lens[z++]=9;for(;z<280;)w.lens[z++]=7;for(;z<288;)w.lens[z++]=8;for(x(b,w.lens,0,288,D,0,w.work,{bits:9}),z=0;z<32;)w.lens[z++]=5;x(v,w.lens,0,32,P,0,w.work,{bits:5}),B=!1}w.lencode=D,w.lenbits=9,w.distcode=P,w.distbits=5}function K(w,z,h,U){var J,W=w.state;return W.window===null&&(W.wsize=1<<W.wbits,W.wnext=0,W.whave=0,W.window=new s.Buf8(W.wsize)),U>=W.wsize?(s.arraySet(W.window,z,h-W.wsize,W.wsize,0),W.wnext=0,W.whave=W.wsize):(U<(J=W.wsize-W.wnext)&&(J=U),s.arraySet(W.window,z,h-U,J,W.wnext),(U-=J)?(s.arraySet(W.window,z,h-U,U,0),W.wnext=U,W.whave=W.wsize):(W.wnext+=J,W.wnext===W.wsize&&(W.wnext=0),W.whave<W.wsize&&(W.whave+=J))),0}d.inflateReset=R,d.inflateReset2=C,d.inflateResetKeep=E,d.inflateInit=function(w){return L(w,15)},d.inflateInit2=L,d.inflate=function(w,z){var h,U,J,W,tt,X,q,S,F,$,V,j,at,ot,et,rt,st,nt,ct,ft,r,O,I,y,g=0,T=new s.Buf8(4),N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!w||!w.state||!w.output||!w.input&&w.avail_in!==0)return p;(h=w.state).mode===12&&(h.mode=13),tt=w.next_out,J=w.output,q=w.avail_out,W=w.next_in,U=w.input,X=w.avail_in,S=h.hold,F=h.bits,$=X,V=q,O=A;t:for(;;)switch(h.mode){case l:if(h.wrap===0){h.mode=13;break}for(;F<16;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(2&h.wrap&&S===35615){T[h.check=0]=255&S,T[1]=S>>>8&255,h.check=o(h.check,T,2,0),F=S=0,h.mode=2;break}if(h.flags=0,h.head&&(h.head.done=!1),!(1&h.wrap)||(((255&S)<<8)+(S>>8))%31){w.msg="incorrect header check",h.mode=30;break}if((15&S)!=8){w.msg="unknown compression method",h.mode=30;break}if(F-=4,r=8+(15&(S>>>=4)),h.wbits===0)h.wbits=r;else if(r>h.wbits){w.msg="invalid window size",h.mode=30;break}h.dmax=1<<r,w.adler=h.check=1,h.mode=512&S?10:12,F=S=0;break;case 2:for(;F<16;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(h.flags=S,(255&h.flags)!=8){w.msg="unknown compression method",h.mode=30;break}if(57344&h.flags){w.msg="unknown header flags set",h.mode=30;break}h.head&&(h.head.text=S>>8&1),512&h.flags&&(T[0]=255&S,T[1]=S>>>8&255,h.check=o(h.check,T,2,0)),F=S=0,h.mode=3;case 3:for(;F<32;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}h.head&&(h.head.time=S),512&h.flags&&(T[0]=255&S,T[1]=S>>>8&255,T[2]=S>>>16&255,T[3]=S>>>24&255,h.check=o(h.check,T,4,0)),F=S=0,h.mode=4;case 4:for(;F<16;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}h.head&&(h.head.xflags=255&S,h.head.os=S>>8),512&h.flags&&(T[0]=255&S,T[1]=S>>>8&255,h.check=o(h.check,T,2,0)),F=S=0,h.mode=5;case 5:if(1024&h.flags){for(;F<16;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}h.length=S,h.head&&(h.head.extra_len=S),512&h.flags&&(T[0]=255&S,T[1]=S>>>8&255,h.check=o(h.check,T,2,0)),F=S=0}else h.head&&(h.head.extra=null);h.mode=6;case 6:if(1024&h.flags&&(X<(j=h.length)&&(j=X),j&&(h.head&&(r=h.head.extra_len-h.length,h.head.extra||(h.head.extra=new Array(h.head.extra_len)),s.arraySet(h.head.extra,U,W,j,r)),512&h.flags&&(h.check=o(h.check,U,j,W)),X-=j,W+=j,h.length-=j),h.length))break t;h.length=0,h.mode=7;case 7:if(2048&h.flags){if(X===0)break t;for(j=0;r=U[W+j++],h.head&&r&&h.length<65536&&(h.head.name+=String.fromCharCode(r)),r&&j<X;);if(512&h.flags&&(h.check=o(h.check,U,j,W)),X-=j,W+=j,r)break t}else h.head&&(h.head.name=null);h.length=0,h.mode=8;case 8:if(4096&h.flags){if(X===0)break t;for(j=0;r=U[W+j++],h.head&&r&&h.length<65536&&(h.head.comment+=String.fromCharCode(r)),r&&j<X;);if(512&h.flags&&(h.check=o(h.check,U,j,W)),X-=j,W+=j,r)break t}else h.head&&(h.head.comment=null);h.mode=9;case 9:if(512&h.flags){for(;F<16;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(S!==(65535&h.check)){w.msg="header crc mismatch",h.mode=30;break}F=S=0}h.head&&(h.head.hcrc=h.flags>>9&1,h.head.done=!0),w.adler=h.check=0,h.mode=12;break;case 10:for(;F<32;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}w.adler=h.check=u(S),F=S=0,h.mode=11;case 11:if(h.havedict===0)return w.next_out=tt,w.avail_out=q,w.next_in=W,w.avail_in=X,h.hold=S,h.bits=F,2;w.adler=h.check=1,h.mode=12;case 12:if(z===5||z===6)break t;case 13:if(h.last){S>>>=7&F,F-=7&F,h.mode=27;break}for(;F<3;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}switch(h.last=1&S,F-=1,3&(S>>>=1)){case 0:h.mode=14;break;case 1:if(M(h),h.mode=20,z!==6)break;S>>>=2,F-=2;break t;case 2:h.mode=17;break;case 3:w.msg="invalid block type",h.mode=30}S>>>=2,F-=2;break;case 14:for(S>>>=7&F,F-=7&F;F<32;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if((65535&S)!=(S>>>16^65535)){w.msg="invalid stored block lengths",h.mode=30;break}if(h.length=65535&S,F=S=0,h.mode=15,z===6)break t;case 15:h.mode=16;case 16:if(j=h.length){if(X<j&&(j=X),q<j&&(j=q),j===0)break t;s.arraySet(J,U,W,j,tt),X-=j,W+=j,q-=j,tt+=j,h.length-=j;break}h.mode=12;break;case 17:for(;F<14;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(h.nlen=257+(31&S),S>>>=5,F-=5,h.ndist=1+(31&S),S>>>=5,F-=5,h.ncode=4+(15&S),S>>>=4,F-=4,286<h.nlen||30<h.ndist){w.msg="too many length or distance symbols",h.mode=30;break}h.have=0,h.mode=18;case 18:for(;h.have<h.ncode;){for(;F<3;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}h.lens[N[h.have++]]=7&S,S>>>=3,F-=3}for(;h.have<19;)h.lens[N[h.have++]]=0;if(h.lencode=h.lendyn,h.lenbits=7,I={bits:h.lenbits},O=x(0,h.lens,0,19,h.lencode,0,h.work,I),h.lenbits=I.bits,O){w.msg="invalid code lengths set",h.mode=30;break}h.have=0,h.mode=19;case 19:for(;h.have<h.nlen+h.ndist;){for(;rt=(g=h.lencode[S&(1<<h.lenbits)-1])>>>16&255,st=65535&g,!((et=g>>>24)<=F);){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(st<16)S>>>=et,F-=et,h.lens[h.have++]=st;else{if(st===16){for(y=et+2;F<y;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(S>>>=et,F-=et,h.have===0){w.msg="invalid bit length repeat",h.mode=30;break}r=h.lens[h.have-1],j=3+(3&S),S>>>=2,F-=2}else if(st===17){for(y=et+3;F<y;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}F-=et,r=0,j=3+(7&(S>>>=et)),S>>>=3,F-=3}else{for(y=et+7;F<y;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}F-=et,r=0,j=11+(127&(S>>>=et)),S>>>=7,F-=7}if(h.have+j>h.nlen+h.ndist){w.msg="invalid bit length repeat",h.mode=30;break}for(;j--;)h.lens[h.have++]=r}}if(h.mode===30)break;if(h.lens[256]===0){w.msg="invalid code -- missing end-of-block",h.mode=30;break}if(h.lenbits=9,I={bits:h.lenbits},O=x(b,h.lens,0,h.nlen,h.lencode,0,h.work,I),h.lenbits=I.bits,O){w.msg="invalid literal/lengths set",h.mode=30;break}if(h.distbits=6,h.distcode=h.distdyn,I={bits:h.distbits},O=x(v,h.lens,h.nlen,h.ndist,h.distcode,0,h.work,I),h.distbits=I.bits,O){w.msg="invalid distances set",h.mode=30;break}if(h.mode=20,z===6)break t;case 20:h.mode=21;case 21:if(6<=X&&258<=q){w.next_out=tt,w.avail_out=q,w.next_in=W,w.avail_in=X,h.hold=S,h.bits=F,i(w,V),tt=w.next_out,J=w.output,q=w.avail_out,W=w.next_in,U=w.input,X=w.avail_in,S=h.hold,F=h.bits,h.mode===12&&(h.back=-1);break}for(h.back=0;rt=(g=h.lencode[S&(1<<h.lenbits)-1])>>>16&255,st=65535&g,!((et=g>>>24)<=F);){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(rt&&!(240&rt)){for(nt=et,ct=rt,ft=st;rt=(g=h.lencode[ft+((S&(1<<nt+ct)-1)>>nt)])>>>16&255,st=65535&g,!(nt+(et=g>>>24)<=F);){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}S>>>=nt,F-=nt,h.back+=nt}if(S>>>=et,F-=et,h.back+=et,h.length=st,rt===0){h.mode=26;break}if(32&rt){h.back=-1,h.mode=12;break}if(64&rt){w.msg="invalid literal/length code",h.mode=30;break}h.extra=15&rt,h.mode=22;case 22:if(h.extra){for(y=h.extra;F<y;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}h.length+=S&(1<<h.extra)-1,S>>>=h.extra,F-=h.extra,h.back+=h.extra}h.was=h.length,h.mode=23;case 23:for(;rt=(g=h.distcode[S&(1<<h.distbits)-1])>>>16&255,st=65535&g,!((et=g>>>24)<=F);){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(!(240&rt)){for(nt=et,ct=rt,ft=st;rt=(g=h.distcode[ft+((S&(1<<nt+ct)-1)>>nt)])>>>16&255,st=65535&g,!(nt+(et=g>>>24)<=F);){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}S>>>=nt,F-=nt,h.back+=nt}if(S>>>=et,F-=et,h.back+=et,64&rt){w.msg="invalid distance code",h.mode=30;break}h.offset=st,h.extra=15&rt,h.mode=24;case 24:if(h.extra){for(y=h.extra;F<y;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}h.offset+=S&(1<<h.extra)-1,S>>>=h.extra,F-=h.extra,h.back+=h.extra}if(h.offset>h.dmax){w.msg="invalid distance too far back",h.mode=30;break}h.mode=25;case 25:if(q===0)break t;if(j=V-q,h.offset>j){if((j=h.offset-j)>h.whave&&h.sane){w.msg="invalid distance too far back",h.mode=30;break}at=j>h.wnext?(j-=h.wnext,h.wsize-j):h.wnext-j,j>h.length&&(j=h.length),ot=h.window}else ot=J,at=tt-h.offset,j=h.length;for(q<j&&(j=q),q-=j,h.length-=j;J[tt++]=ot[at++],--j;);h.length===0&&(h.mode=21);break;case 26:if(q===0)break t;J[tt++]=h.length,q--,h.mode=21;break;case 27:if(h.wrap){for(;F<32;){if(X===0)break t;X--,S|=U[W++]<<F,F+=8}if(V-=q,w.total_out+=V,h.total+=V,V&&(w.adler=h.check=h.flags?o(h.check,J,V,tt-V):c(h.check,J,V,tt-V)),V=q,(h.flags?S:u(S))!==h.check){w.msg="incorrect data check",h.mode=30;break}F=S=0}h.mode=28;case 28:if(h.wrap&&h.flags){for(;F<32;){if(X===0)break t;X--,S+=U[W++]<<F,F+=8}if(S!==(4294967295&h.total)){w.msg="incorrect length check",h.mode=30;break}F=S=0}h.mode=29;case 29:O=1;break t;case 30:O=-3;break t;case 31:return-4;case 32:default:return p}return w.next_out=tt,w.avail_out=q,w.next_in=W,w.avail_in=X,h.hold=S,h.bits=F,(h.wsize||V!==w.avail_out&&h.mode<30&&(h.mode<27||z!==4))&&K(w,w.output,w.next_out,V-w.avail_out)?(h.mode=31,-4):($-=w.avail_in,V-=w.avail_out,w.total_in+=$,w.total_out+=V,h.total+=V,h.wrap&&V&&(w.adler=h.check=h.flags?o(h.check,J,V,w.next_out-V):c(h.check,J,V,w.next_out-V)),w.data_type=h.bits+(h.last?64:0)+(h.mode===12?128:0)+(h.mode===20||h.mode===15?256:0),($==0&&V===0||z===4)&&O===A&&(O=-5),O)},d.inflateEnd=function(w){if(!w||!w.state)return p;var z=w.state;return z.window&&(z.window=null),w.state=null,A},d.inflateGetHeader=function(w,z){var h;return w&&w.state&&2&(h=w.state).wrap?((h.head=z).done=!1,A):p},d.inflateSetDictionary=function(w,z){var h,U=z.length;return w&&w.state?(h=w.state).wrap!==0&&h.mode!==11?p:h.mode===11&&c(1,z,U,0)!==h.check?-3:K(w,z,U,U)?(h.mode=31,-4):(h.havedict=1,A):p},d.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,a,d){var s=t("../utils/common"),c=[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,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],i=[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,0,0],x=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];a.exports=function(b,v,A,p,l,n,f,u){var m,E,R,C,L,D,P,B,M,K=u.bits,w=0,z=0,h=0,U=0,J=0,W=0,tt=0,X=0,q=0,S=0,F=null,$=0,V=new s.Buf16(16),j=new s.Buf16(16),at=null,ot=0;for(w=0;w<=15;w++)V[w]=0;for(z=0;z<p;z++)V[v[A+z]]++;for(J=K,U=15;1<=U&&V[U]===0;U--);if(U<J&&(J=U),U===0)return l[n++]=20971520,l[n++]=20971520,u.bits=1,0;for(h=1;h<U&&V[h]===0;h++);for(J<h&&(J=h),w=X=1;w<=15;w++)if(X<<=1,(X-=V[w])<0)return-1;if(0<X&&(b===0||U!==1))return-1;for(j[1]=0,w=1;w<15;w++)j[w+1]=j[w]+V[w];for(z=0;z<p;z++)v[A+z]!==0&&(f[j[v[A+z]]++]=z);if(D=b===0?(F=at=f,19):b===1?(F=c,$-=257,at=o,ot-=257,256):(F=i,at=x,-1),w=h,L=n,tt=z=S=0,R=-1,C=(q=1<<(W=J))-1,b===1&&852<q||b===2&&592<q)return 1;for(;;){for(P=w-tt,M=f[z]<D?(B=0,f[z]):f[z]>D?(B=at[ot+f[z]],F[$+f[z]]):(B=96,0),m=1<<w-tt,h=E=1<<W;l[L+(S>>tt)+(E-=m)]=P<<24|B<<16|M|0,E!==0;);for(m=1<<w-1;S&m;)m>>=1;if(m!==0?(S&=m-1,S+=m):S=0,z++,--V[w]==0){if(w===U)break;w=v[A+f[z]]}if(J<w&&(S&C)!==R){for(tt===0&&(tt=J),L+=h,X=1<<(W=w-tt);W+tt<U&&!((X-=V[W+tt])<=0);)W++,X<<=1;if(q+=1<<W,b===1&&852<q||b===2&&592<q)return 1;l[R=S&C]=J<<24|W<<16|L-n|0}}return S!==0&&(l[L+S]=w-tt<<24|64<<16|0),u.bits=J,0}},{"../utils/common":41}],51:[function(t,a,d){a.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"}},{}],52:[function(t,a,d){var s=t("../utils/common"),c=0,o=1;function i(g){for(var T=g.length;0<=--T;)g[T]=0}var x=0,b=29,v=256,A=v+1+b,p=30,l=19,n=2*A+1,f=15,u=16,m=7,E=256,R=16,C=17,L=18,D=[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],P=[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],B=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],M=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],K=new Array(2*(A+2));i(K);var w=new Array(2*p);i(w);var z=new Array(512);i(z);var h=new Array(256);i(h);var U=new Array(b);i(U);var J,W,tt,X=new Array(p);function q(g,T,N,G,k){this.static_tree=g,this.extra_bits=T,this.extra_base=N,this.elems=G,this.max_length=k,this.has_stree=g&&g.length}function S(g,T){this.dyn_tree=g,this.max_code=0,this.stat_desc=T}function F(g){return g<256?z[g]:z[256+(g>>>7)]}function $(g,T){g.pending_buf[g.pending++]=255&T,g.pending_buf[g.pending++]=T>>>8&255}function V(g,T,N){g.bi_valid>u-N?(g.bi_buf|=T<<g.bi_valid&65535,$(g,g.bi_buf),g.bi_buf=T>>u-g.bi_valid,g.bi_valid+=N-u):(g.bi_buf|=T<<g.bi_valid&65535,g.bi_valid+=N)}function j(g,T,N){V(g,N[2*T],N[2*T+1])}function at(g,T){for(var N=0;N|=1&g,g>>>=1,N<<=1,0<--T;);return N>>>1}function ot(g,T,N){var G,k,Y=new Array(f+1),Z=0;for(G=1;G<=f;G++)Y[G]=Z=Z+N[G-1]<<1;for(k=0;k<=T;k++){var H=g[2*k+1];H!==0&&(g[2*k]=at(Y[H]++,H))}}function et(g){var T;for(T=0;T<A;T++)g.dyn_ltree[2*T]=0;for(T=0;T<p;T++)g.dyn_dtree[2*T]=0;for(T=0;T<l;T++)g.bl_tree[2*T]=0;g.dyn_ltree[2*E]=1,g.opt_len=g.static_len=0,g.last_lit=g.matches=0}function rt(g){8<g.bi_valid?$(g,g.bi_buf):0<g.bi_valid&&(g.pending_buf[g.pending++]=g.bi_buf),g.bi_buf=0,g.bi_valid=0}function st(g,T,N,G){var k=2*T,Y=2*N;return g[k]<g[Y]||g[k]===g[Y]&&G[T]<=G[N]}function nt(g,T,N){for(var G=g.heap[N],k=N<<1;k<=g.heap_len&&(k<g.heap_len&&st(T,g.heap[k+1],g.heap[k],g.depth)&&k++,!st(T,G,g.heap[k],g.depth));)g.heap[N]=g.heap[k],N=k,k<<=1;g.heap[N]=G}function ct(g,T,N){var G,k,Y,Z,H=0;if(g.last_lit!==0)for(;G=g.pending_buf[g.d_buf+2*H]<<8|g.pending_buf[g.d_buf+2*H+1],k=g.pending_buf[g.l_buf+H],H++,G===0?j(g,k,T):(j(g,(Y=h[k])+v+1,T),(Z=D[Y])!==0&&V(g,k-=U[Y],Z),j(g,Y=F(--G),N),(Z=P[Y])!==0&&V(g,G-=X[Y],Z)),H<g.last_lit;);j(g,E,T)}function ft(g,T){var N,G,k,Y=T.dyn_tree,Z=T.stat_desc.static_tree,H=T.stat_desc.has_stree,Q=T.stat_desc.elems,ht=-1;for(g.heap_len=0,g.heap_max=n,N=0;N<Q;N++)Y[2*N]!==0?(g.heap[++g.heap_len]=ht=N,g.depth[N]=0):Y[2*N+1]=0;for(;g.heap_len<2;)Y[2*(k=g.heap[++g.heap_len]=ht<2?++ht:0)]=1,g.depth[k]=0,g.opt_len--,H&&(g.static_len-=Z[2*k+1]);for(T.max_code=ht,N=g.heap_len>>1;1<=N;N--)nt(g,Y,N);for(k=Q;N=g.heap[1],g.heap[1]=g.heap[g.heap_len--],nt(g,Y,1),G=g.heap[1],g.heap[--g.heap_max]=N,g.heap[--g.heap_max]=G,Y[2*k]=Y[2*N]+Y[2*G],g.depth[k]=(g.depth[N]>=g.depth[G]?g.depth[N]:g.depth[G])+1,Y[2*N+1]=Y[2*G+1]=k,g.heap[1]=k++,nt(g,Y,1),2<=g.heap_len;);g.heap[--g.heap_max]=g.heap[1],function(it,dt){var yt,_t,xt,lt,Et,Ft,gt=dt.dyn_tree,Bt=dt.max_code,Pt=dt.stat_desc.static_tree,Mt=dt.stat_desc.has_stree,Nt=dt.stat_desc.extra_bits,Dt=dt.stat_desc.extra_base,wt=dt.stat_desc.max_length,Rt=0;for(lt=0;lt<=f;lt++)it.bl_count[lt]=0;for(gt[2*it.heap[it.heap_max]+1]=0,yt=it.heap_max+1;yt<n;yt++)wt<(lt=gt[2*gt[2*(_t=it.heap[yt])+1]+1]+1)&&(lt=wt,Rt++),gt[2*_t+1]=lt,Bt<_t||(it.bl_count[lt]++,Et=0,Dt<=_t&&(Et=Nt[_t-Dt]),Ft=gt[2*_t],it.opt_len+=Ft*(lt+Et),Mt&&(it.static_len+=Ft*(Pt[2*_t+1]+Et)));if(Rt!==0){do{for(lt=wt-1;it.bl_count[lt]===0;)lt--;it.bl_count[lt]--,it.bl_count[lt+1]+=2,it.bl_count[wt]--,Rt-=2}while(0<Rt);for(lt=wt;lt!==0;lt--)for(_t=it.bl_count[lt];_t!==0;)Bt<(xt=it.heap[--yt])||(gt[2*xt+1]!==lt&&(it.opt_len+=(lt-gt[2*xt+1])*gt[2*xt],gt[2*xt+1]=lt),_t--)}}(g,T),ot(Y,ht,g.bl_count)}function r(g,T,N){var G,k,Y=-1,Z=T[1],H=0,Q=7,ht=4;for(Z===0&&(Q=138,ht=3),T[2*(N+1)+1]=65535,G=0;G<=N;G++)k=Z,Z=T[2*(G+1)+1],++H<Q&&k===Z||(H<ht?g.bl_tree[2*k]+=H:k!==0?(k!==Y&&g.bl_tree[2*k]++,g.bl_tree[2*R]++):H<=10?g.bl_tree[2*C]++:g.bl_tree[2*L]++,Y=k,ht=(H=0)===Z?(Q=138,3):k===Z?(Q=6,3):(Q=7,4))}function O(g,T,N){var G,k,Y=-1,Z=T[1],H=0,Q=7,ht=4;for(Z===0&&(Q=138,ht=3),G=0;G<=N;G++)if(k=Z,Z=T[2*(G+1)+1],!(++H<Q&&k===Z)){if(H<ht)for(;j(g,k,g.bl_tree),--H!=0;);else k!==0?(k!==Y&&(j(g,k,g.bl_tree),H--),j(g,R,g.bl_tree),V(g,H-3,2)):H<=10?(j(g,C,g.bl_tree),V(g,H-3,3)):(j(g,L,g.bl_tree),V(g,H-11,7));Y=k,ht=(H=0)===Z?(Q=138,3):k===Z?(Q=6,3):(Q=7,4)}}i(X);var I=!1;function y(g,T,N,G){V(g,(x<<1)+(G?1:0),3),function(k,Y,Z,H){rt(k),$(k,Z),$(k,~Z),s.arraySet(k.pending_buf,k.window,Y,Z,k.pending),k.pending+=Z}(g,T,N)}d._tr_init=function(g){I||(function(){var T,N,G,k,Y,Z=new Array(f+1);for(k=G=0;k<b-1;k++)for(U[k]=G,T=0;T<1<<D[k];T++)h[G++]=k;for(h[G-1]=k,k=Y=0;k<16;k++)for(X[k]=Y,T=0;T<1<<P[k];T++)z[Y++]=k;for(Y>>=7;k<p;k++)for(X[k]=Y<<7,T=0;T<1<<P[k]-7;T++)z[256+Y++]=k;for(N=0;N<=f;N++)Z[N]=0;for(T=0;T<=143;)K[2*T+1]=8,T++,Z[8]++;for(;T<=255;)K[2*T+1]=9,T++,Z[9]++;for(;T<=279;)K[2*T+1]=7,T++,Z[7]++;for(;T<=287;)K[2*T+1]=8,T++,Z[8]++;for(ot(K,A+1,Z),T=0;T<p;T++)w[2*T+1]=5,w[2*T]=at(T,5);J=new q(K,D,v+1,A,f),W=new q(w,P,0,p,f),tt=new q(new Array(0),B,0,l,m)}(),I=!0),g.l_desc=new S(g.dyn_ltree,J),g.d_desc=new S(g.dyn_dtree,W),g.bl_desc=new S(g.bl_tree,tt),g.bi_buf=0,g.bi_valid=0,et(g)},d._tr_stored_block=y,d._tr_flush_block=function(g,T,N,G){var k,Y,Z=0;0<g.level?(g.strm.data_type===2&&(g.strm.data_type=function(H){var Q,ht=4093624447;for(Q=0;Q<=31;Q++,ht>>>=1)if(1&ht&&H.dyn_ltree[2*Q]!==0)return c;if(H.dyn_ltree[18]!==0||H.dyn_ltree[20]!==0||H.dyn_ltree[26]!==0)return o;for(Q=32;Q<v;Q++)if(H.dyn_ltree[2*Q]!==0)return o;return c}(g)),ft(g,g.l_desc),ft(g,g.d_desc),Z=function(H){var Q;for(r(H,H.dyn_ltree,H.l_desc.max_code),r(H,H.dyn_dtree,H.d_desc.max_code),ft(H,H.bl_desc),Q=l-1;3<=Q&&H.bl_tree[2*M[Q]+1]===0;Q--);return H.opt_len+=3*(Q+1)+5+5+4,Q}(g),k=g.opt_len+3+7>>>3,(Y=g.static_len+3+7>>>3)<=k&&(k=Y)):k=Y=N+5,N+4<=k&&T!==-1?y(g,T,N,G):g.strategy===4||Y===k?(V(g,2+(G?1:0),3),ct(g,K,w)):(V(g,4+(G?1:0),3),function(H,Q,ht,it){var dt;for(V(H,Q-257,5),V(H,ht-1,5),V(H,it-4,4),dt=0;dt<it;dt++)V(H,H.bl_tree[2*M[dt]+1],3);O(H,H.dyn_ltree,Q-1),O(H,H.dyn_dtree,ht-1)}(g,g.l_desc.max_code+1,g.d_desc.max_code+1,Z+1),ct(g,g.dyn_ltree,g.dyn_dtree)),et(g),G&&rt(g)},d._tr_tally=function(g,T,N){return g.pending_buf[g.d_buf+2*g.last_lit]=T>>>8&255,g.pending_buf[g.d_buf+2*g.last_lit+1]=255&T,g.pending_buf[g.l_buf+g.last_lit]=255&N,g.last_lit++,T===0?g.dyn_ltree[2*N]++:(g.matches++,T--,g.dyn_ltree[2*(h[N]+v+1)]++,g.dyn_dtree[2*F(T)]++),g.last_lit===g.lit_bufsize-1},d._tr_align=function(g){V(g,2,3),j(g,E,K),function(T){T.bi_valid===16?($(T,T.bi_buf),T.bi_buf=0,T.bi_valid=0):8<=T.bi_valid&&(T.pending_buf[T.pending++]=255&T.bi_buf,T.bi_buf>>=8,T.bi_valid-=8)}(g)}},{"../utils/common":41}],53:[function(t,a,d){a.exports=function(){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}},{}],54:[function(t,a,d){(function(s){(function(c,o){if(!c.setImmediate){var i,x,b,v,A=1,p={},l=!1,n=c.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(c);f=f&&f.setTimeout?f:c,i={}.toString.call(c.process)==="[object process]"?function(R){process.nextTick(function(){m(R)})}:function(){if(c.postMessage&&!c.importScripts){var R=!0,C=c.onmessage;return c.onmessage=function(){R=!1},c.postMessage("","*"),c.onmessage=C,R}}()?(v="setImmediate$"+Math.random()+"$",c.addEventListener?c.addEventListener("message",E,!1):c.attachEvent("onmessage",E),function(R){c.postMessage(v+R,"*")}):c.MessageChannel?((b=new MessageChannel).port1.onmessage=function(R){m(R.data)},function(R){b.port2.postMessage(R)}):n&&"onreadystatechange"in n.createElement("script")?(x=n.documentElement,function(R){var C=n.createElement("script");C.onreadystatechange=function(){m(R),C.onreadystatechange=null,x.removeChild(C),C=null},x.appendChild(C)}):function(R){setTimeout(m,0,R)},f.setImmediate=function(R){typeof R!="function"&&(R=new Function(""+R));for(var C=new Array(arguments.length-1),L=0;L<C.length;L++)C[L]=arguments[L+1];var D={callback:R,args:C};return p[A]=D,i(A),A++},f.clearImmediate=u}function u(R){delete p[R]}function m(R){if(l)setTimeout(m,0,R);else{var C=p[R];if(C){l=!0;try{(function(L){var D=L.callback,P=L.args;switch(P.length){case 0:D();break;case 1:D(P[0]);break;case 2:D(P[0],P[1]);break;case 3:D(P[0],P[1],P[2]);break;default:D.apply(o,P)}})(C)}finally{u(R),l=!1}}}}function E(R){R.source===c&&typeof R.data=="string"&&R.data.indexOf(v)===0&&m(+R.data.slice(v.length))}})(typeof self>"u"?s===void 0?this:s:self)}).call(this,typeof Ct<"u"?Ct:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(Ot);var ue=Ot.exports;const le=he(ue);async function Ee(_,e=void 0){let t=await fetch(_);t.headers.get("Content-Length");let a=await t.arrayBuffer();return ce(a,fe(_))}async function ce(_,e=void 0){var v,A,p,l;let t=new Uint8Array(_);if(console.log("firstByte:",t[0]),t[0]!=80){let n=de(e);console.log("key=",e),console.log("keyBuf=",n);let f=0;for(var a=0;a<t.length;a++)f=f%n.length,t[a]=t[a]^n[f],f++}console.log("firstByte:",t[0],"length=",t.length);let d=new le;await d.loadAsync(t);let s=Object.keys(d.files);for(var c,o,i,x,b,a=0;a<s.length;a++){let f=s[a];if(!f.startsWith("__MACOSX")){if(console.log("file=",f),f.startsWith("map")){let u=await((v=d.file(f))==null?void 0:v.async("base64"));c=await St("image/png",u)}else if(f.startsWith("page")){let u=await((A=d.file(f))==null?void 0:A.async("base64"));o=await St("image/png",u)}else if(f.startsWith("special")){let u=await((p=d.file(f))==null?void 0:p.async("base64")),m=f.endsWith("png")?"image/png":"image/jpeg";x=await St(m,u)}else if(f.endsWith("json")){let u=await((l=d.file(f))==null?void 0:l.async("string"));i=JSON.parse(u)}}}return console.log("config:",i),b=await Ht("/assets/fonts/numbers_roboto_500.png"),new ne(i,o,c,b,[],x)}async function St(_,e){return new Promise((t,a)=>{let d=new Image;d.src=`data:${_};base64, ${e}`,d.onload=()=>{t(d)},d.onerror=a})}function fe(_){let t=/[0-9a-z]{24}/i.exec(_);if(t!=null)return t[0]}function de(_){for(var e=new ArrayBuffer(_.length*2),t=new Uint16Array(e),a=0,d=_.length;a<d;a++)t[a]=_.charCodeAt(a);return t}class pe{constructor(e,t,a,d){this.area=e,this.x=t,this.y=a,this.progress=d}}class me{constructor(e,t){this.scene=e,this.fillerData=t,this.vertexShaderCode=`
- attribute vec2 a_position;
- attribute vec2 a_texCoord;
-
- attribute vec4 a_areaId;
- attribute vec2 a_center;
- attribute float a_progress;
- attribute float a_maxRadius;
-
- uniform mat4 u_matrix;
-
- varying vec4 v_areaId;
- varying vec2 v_center;
- varying float v_progress;
- varying float v_maxRadius;
- varying vec2 v_texCoord;
- varying vec2 v_position;
- void main() {
- gl_Position = u_matrix * vec4(a_position, 0, 1);
- v_areaId = a_areaId;
- v_center = a_center;
- v_progress = a_progress;
- v_maxRadius = a_maxRadius;
- v_texCoord = a_texCoord;
- v_position = a_position;
-
- }
- `,this.fragmentShaderCode=`
- precision mediump float;
- uniform sampler2D u_map;
- //uniform sampler2D u_colored;
- //uniform sampler2D u_mask;
- varying vec4 v_areaId;
- varying vec2 v_center;
- varying float v_progress;
- varying float v_maxRadius;
- varying vec2 v_texCoord;
- varying vec2 v_position;
-
- void main() {
- vec4 map = texture2D(u_map, v_texCoord);
- float dist = distance(map, v_areaId);
- /*
- if(dist < 0.001) {
- if(v_progress >= 1.0 ) {
- gl_FragColor = vec4(1, 1, 0, 1);
- }else{
- float dist2 = distance(v_position, v_center);
- if(dist2 < v_maxRadius * v_progress) {
- gl_FragColor = vec4(1, 1, 0, 1);
- }else{
- gl_FragColor = vec4(0, 0, 0, 0);
- }
- }
- }else{
- gl_FragColor = vec4(0, 0, 0, 0);
- }
- */
- //gl_FragColor = vec4(1, 1, 0, 1);
- //gl_FragColor = map;
- vec4 colored = vec4(1, 1, 0, 1);
-
- if(dist < 0.001) {
- if( v_progress < 1.0 ) {
- float dist2 = distance(v_position, v_center);
- float r = v_maxRadius * v_progress + 0.001;
- if(dist2 < r) {
- float f = dist2 / r;
- if(f < v_progress) {
- gl_FragColor = colored;
- }else if(v_progress < 1.0){
- float a = (f - 1.0) / (v_progress - 1.0);
- gl_FragColor = vec4(colored.xyz, a);
- }else{
- gl_FragColor = colored;
- }
- }else {
- gl_FragColor = vec4(0,0,0,0);
- }
- }else{
- gl_FragColor = colored;
- }
- }else{
- gl_FragColor = vec4(0, 0, 0, 0);
- }
- }
-
- `,this.animatingAreas=[];const a=e.gl;this.program=bt(a,mt(a,a.VERTEX_SHADER,this.vertexShaderCode),mt(a,a.FRAGMENT_SHADER,this.fragmentShaderCode)),this.aPositionLoc=a.getAttribLocation(this.program,"a_position"),this.aTexcoordLoc=a.getAttribLocation(this.program,"a_texCoord"),this.aAreaIdLoc=a.getAttribLocation(this.program,"a_areaId"),this.aCenterLoc=a.getAttribLocation(this.program,"a_center"),this.aProgressLoc=a.getAttribLocation(this.program,"a_progress"),this.aMaxRadiusLoc=a.getAttribLocation(this.program,"a_maxRadius"),this.uMatrixLoc=a.getUniformLocation(this.program,"u_matrix"),this.maxCount=t.data.maxAreaCountOfGroup,this.positionBuffer=a.createBuffer(),this.texCoordBuffer=a.createBuffer(),this.areaIdBuffer=a.createBuffer(),this.centerBuffer=a.createBuffer(),this.progressBuffer=a.createBuffer(),this.maxRadiusBuffer=a.createBuffer(),this.matrix=ut.projectionNoflipY(t.width,t.height),this.texture=a.createTexture(),a.bindTexture(a.TEXTURE_2D,this.texture),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,this.fillerData.width,this.fillerData.height,0,a.RGBA,a.UNSIGNED_BYTE,null),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),this.fb=a.createFramebuffer(),a.bindFramebuffer(a.FRAMEBUFFER,this.fb),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,this.texture,0),a.bindFramebuffer(a.FRAMEBUFFER,null),this.positionArray=new Float32Array(this.maxCount*12),this.texCoordArray=new Float32Array(this.maxCount*12),this.areaIdArray=new Float32Array(this.maxCount*24),this.centerArray=new Float32Array(this.maxCount*12),this.progressArray=new Float32Array(this.maxCount*6),this.maxRadiusArray=new Float32Array(this.maxCount*6)}dispose(){let e=this.scene.gl;e.deleteBuffer(this.positionBuffer),e.deleteBuffer(this.texCoordBuffer),e.deleteBuffer(this.areaIdBuffer),e.deleteBuffer(this.centerBuffer),e.deleteBuffer(this.progressBuffer),e.deleteBuffer(this.maxRadiusBuffer),e.deleteProgram(this.program)}get width(){return this.fillerData.width}get height(){return this.fillerData.height}addArea(e,t,a,d=800){let s=new pe(e,t,a,0),c=new Ut(d,()=>{s.progress=c.value()},()=>{});this.scene.addAnimator(c),this.animatingAreas.push(s)}fillPoint(e,t,a,d,s){for(var c=0;c<s;c++)e[t+c*2]=a,e[t+c*2+1]=d}fillNumber(e,t,a,d){for(var s=0;s<d;s++)e[t+s]=a}flush(){if(this.animatingAreas.length<=0)return;var e=0,t=0,a=0;const d=this.fillerData.width,s=this.fillerData.height;for(var c=0;c<this.animatingAreas.length;c++){var o=this.animatingAreas[c],i=o.area;pt(this.positionArray,e,i.rect.x,i.rect.y,i.rect.width,i.rect.height),pt(this.texCoordArray,e,i.rect.x/d,i.rect.y/s,i.rect.width/d,i.rect.height/s),this.fillPoint(this.centerArray,e,o.x,o.y,6);var x=new At(i.id);x.fillFloatArray(this.areaIdArray,t,6);var b=zt(i.rect,o.x,o.y);this.fillNumber(this.progressArray,a,o.progress,6),this.fillNumber(this.maxRadiusArray,a,b,6),e+=12,t+=24,a+=6}const v=this.scene.gl;v.bindBuffer(v.ARRAY_BUFFER,this.positionBuffer),v.bufferData(v.ARRAY_BUFFER,this.positionArray,v.STATIC_DRAW),v.bindBuffer(v.ARRAY_BUFFER,this.texCoordBuffer),v.bufferData(v.ARRAY_BUFFER,this.texCoordArray,v.STATIC_DRAW),v.bindBuffer(v.ARRAY_BUFFER,this.areaIdBuffer),v.bufferData(v.ARRAY_BUFFER,this.areaIdArray,v.STATIC_DRAW),v.bindBuffer(v.ARRAY_BUFFER,this.centerBuffer),v.bufferData(v.ARRAY_BUFFER,this.centerArray,v.STATIC_DRAW),v.bindBuffer(v.ARRAY_BUFFER,this.progressBuffer),v.bufferData(v.ARRAY_BUFFER,this.progressArray,v.STATIC_DRAW),v.bindBuffer(v.ARRAY_BUFFER,this.maxRadiusBuffer),v.bufferData(v.ARRAY_BUFFER,this.maxRadiusArray,v.STATIC_DRAW),this.draw(this.animatingAreas.length*6),this.animatingAreas=this.animatingAreas.filter(A=>A.progress<1)}draw(e){const t=this.scene.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.fb),t.useProgram(this.program),t.viewport(0,0,this.fillerData.width,this.fillerData.height),t.enableVertexAttribArray(this.aPositionLoc),t.bindBuffer(t.ARRAY_BUFFER,this.positionBuffer),t.vertexAttribPointer(this.aPositionLoc,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(this.aTexcoordLoc),t.bindBuffer(t.ARRAY_BUFFER,this.texCoordBuffer),t.vertexAttribPointer(this.aTexcoordLoc,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(this.aAreaIdLoc),t.bindBuffer(t.ARRAY_BUFFER,this.areaIdBuffer),t.vertexAttribPointer(this.aAreaIdLoc,4,t.FLOAT,!1,0,0),t.enableVertexAttribArray(this.aCenterLoc),t.bindBuffer(t.ARRAY_BUFFER,this.centerBuffer),t.vertexAttribPointer(this.aCenterLoc,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(this.aProgressLoc),t.bindBuffer(t.ARRAY_BUFFER,this.progressBuffer),t.vertexAttribPointer(this.aProgressLoc,1,t.FLOAT,!1,0,0),t.enableVertexAttribArray(this.aMaxRadiusLoc),t.bindBuffer(t.ARRAY_BUFFER,this.maxRadiusBuffer),t.vertexAttribPointer(this.aMaxRadiusLoc,1,t.FLOAT,!1,0,0),t.uniformMatrix4fv(this.uMatrixLoc,!1,this.matrix),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this.fillerData.mapTexure),t.drawArrays(t.TRIANGLES,0,e),t.bindFramebuffer(t.FRAMEBUFFER,null)}initTask(){let e=this.fillerData.taskList;const t=this.fillerData.width,a=this.fillerData.height;for(let c of e){let o=this.fillerData.data.areaHash.get(c);if(o){pt(this.positionArray,0,o.rect.x,o.rect.y,o.rect.width,o.rect.height),pt(this.texCoordArray,0,o.rect.x/t,o.rect.y/a,o.rect.width/t,o.rect.height/a),this.fillPoint(this.centerArray,0,o.center.x,o.center.y,6);var d=new At(o.id);d.fillFloatArray(this.areaIdArray,0,6);var s=zt(o.rect,o.center.x,o.center.y);console.log("rect=",o.rect,s,o.center.x,o.center.y),this.fillNumber(this.progressArray,0,1,6),this.fillNumber(this.maxRadiusArray,0,s,6);const i=this.scene.gl;i.bindBuffer(i.ARRAY_BUFFER,this.positionBuffer),i.bufferData(i.ARRAY_BUFFER,this.positionArray,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,this.texCoordBuffer),i.bufferData(i.ARRAY_BUFFER,this.texCoordArray,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,this.areaIdBuffer),i.bufferData(i.ARRAY_BUFFER,this.areaIdArray,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,this.centerBuffer),i.bufferData(i.ARRAY_BUFFER,this.centerArray,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,this.progressBuffer),i.bufferData(i.ARRAY_BUFFER,this.progressArray,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,this.maxRadiusBuffer),i.bufferData(i.ARRAY_BUFFER,this.maxRadiusArray,i.STATIC_DRAW),this.draw(6)}}}}class Re extends kt{constructor(e,t){super(),this.scene=e,this.fillerData=t,this.vertexShaderCode=`
- attribute vec2 a_position;
- attribute vec2 a_texCoord;
- uniform mat4 u_matrix;
- varying vec2 v_texCoord;
- void main() {
- gl_Position = u_matrix * vec4(a_position, 0, 1);
- v_texCoord = a_texCoord;
- }
- `,this.fragmentShaderCode=`
- precision mediump float;
- uniform sampler2D u_colored;
- uniform sampler2D u_mask;
- uniform vec2 u_pixelSize;
- varying vec2 v_texCoord;
- const float w1 = 0.147761;
- const float w2 = 0.118318;
- const float w3 = 0.0947416;
-
-
- vec4 GaussianBlur(in sampler2D image, in vec2 texCoord, in vec2 pixelSize) {
- vec4 C00 = texture2D(image, texCoord + vec2(-pixelSize.x, -pixelSize.y)) * w3 ;
- vec4 C01 = texture2D(image, texCoord + vec2(0.0, -pixelSize.y)) * w2;
- vec4 C02 = texture2D(image, texCoord + vec2(pixelSize.x, -pixelSize.y)) * w3 ;
-
- vec4 C10 = texture2D(image, texCoord + vec2(-pixelSize.x, 0.0)) * w2;
- vec4 C11 = texture2D(image, texCoord + vec2(0.0, 0.0)) * w1;
- vec4 C12 = texture2D(image, texCoord + vec2(pixelSize.x, 0.0)) * w2;
-
- vec4 C20 = texture2D(image, texCoord + vec2(-pixelSize.x, pixelSize.y)) * w3;
- vec4 C21 = texture2D(image, texCoord + vec2(0.0, pixelSize.y)) * w2;
- vec4 C22 = texture2D(image, texCoord + vec2(pixelSize.x, pixelSize.y)) * w3;
-
- return
- C00 + C01 + C02 +
- C10 + C11 + C12 +
- C20 + C21 + C22 ;
- }
-
- vec4 GaussianBlurR(in sampler2D image, in vec2 texCoord, in vec2 pixelSize) {
- vec4 C00 = texture2D(image, texCoord + vec2(-pixelSize.x, -pixelSize.y)) * w3 ;
- vec4 C01 = texture2D(image, texCoord + vec2(0.0, -pixelSize.y)) * w2;
- vec4 C02 = texture2D(image, texCoord + vec2(pixelSize.x, -pixelSize.y)) * w3 ;
-
- vec4 C10 = texture2D(image, texCoord + vec2(-pixelSize.x, 0.0)) * w2;
- vec4 C11 = texture2D(image, texCoord + vec2(0.0, 0.0)) * w1;
- vec4 C12 = texture2D(image, texCoord + vec2(pixelSize.x, 0.0)) * w2;
-
- vec4 C20 = texture2D(image, texCoord + vec2(-pixelSize.x, pixelSize.y)) * w3;
- vec4 C21 = texture2D(image, texCoord + vec2(0.0, pixelSize.y)) * w2;
- vec4 C22 = texture2D(image, texCoord + vec2(pixelSize.x, pixelSize.y)) * w3;
- vec4 g =
- C00 + C01 + C02 +
- C10 + C11 + C12 +
- C20 + C21 + C22 ;
- return g;
- }
-
- void main() {
- vec4 mask = GaussianBlurR(u_mask, v_texCoord, u_pixelSize);
- vec4 colored = GaussianBlur(u_colored, v_texCoord, u_pixelSize);
- //vec4 colored = texture2D(u_colored, v_texCoord);
- //gl_FragColor = vec4(colored.rgb, mask.a);
- if(mask.r >= 0.4) {
- gl_FragColor = vec4(colored.rgb, 1);
- //gl_FragColor = colored;
- }else{
- gl_FragColor = vec4(0, 0, 0, 0);
- }
- }
-
- `,this.animatableMask=new me(e,t);const a=e.gl;this.program=bt(a,mt(a,a.VERTEX_SHADER,this.vertexShaderCode),mt(a,a.FRAGMENT_SHADER,this.fragmentShaderCode)),this.aPositionLoc=a.getAttribLocation(this.program,"a_position"),this.aTexcoordLoc=a.getAttribLocation(this.program,"a_texCoord"),this.uMatrixLoc=a.getUniformLocation(this.program,"u_matrix"),this.uMaskLoc=a.getUniformLocation(this.program,"u_mask"),this.uColoredLoc=a.getUniformLocation(this.program,"u_colored"),this.uPixelSizeLoc=a.getUniformLocation(this.program,"u_pixelSize"),this.positionBuffer=Lt(a,0,0,t.width,t.height),this.texCoordBuffer=Lt(a,0,0,1,1)}dispose(){let e=this.scene.gl;this.animatableMask.dispose(),e.deleteProgram(this.program),e.deleteBuffer(this.positionBuffer),e.deleteBuffer(this.texCoordBuffer)}initTask(){this.animatableMask.initTask(),this.scene.invalidate()}draw(){console.log("WorkLayer draw()");const e=this.scene.gl;e.useProgram(this.program),e.enableVertexAttribArray(this.aPositionLoc),e.bindBuffer(e.ARRAY_BUFFER,this.positionBuffer),e.vertexAttribPointer(this.aPositionLoc,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(this.aTexcoordLoc),e.bindBuffer(e.ARRAY_BUFFER,this.texCoordBuffer),e.vertexAttribPointer(this.aTexcoordLoc,2,e.FLOAT,!1,0,0),e.uniformMatrix4fv(this.uMatrixLoc,!1,this.scene.drawMatrix),e.uniform2f(this.uPixelSizeLoc,1/this.fillerData.width,1/this.fillerData.height),e.uniform1i(this.uMaskLoc,0),e.uniform1i(this.uColoredLoc,1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this.animatableMask.texture),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,this.fillerData.colored),e.drawArrays(e.TRIANGLES,0,6)}preDraw(){this.animatableMask.flush()}tap(e,t,a,d){var i,x,b;let s=this.fillerData;if(s.currentGroup==null){(i=s.callback)==null||i.onFillFailed();return}const c=s.data.groupAreaHash(s.currentGroup);let o=this.fillerData.getArea(e,t,50,c);o!=null&&(this.animatableMask.addArea(o,e,t),s.setColored(o,s.currentGroup.color,e,t),(x=s.callback)==null||x.onFillSuccess(),s.currentGroup.isAllColored&&(s.switchToNextGroup()||(b=s.callback)==null||b.onFinish()))}async replay(){const e=this.scene.gl;e.bindFramebuffer(e.FRAMEBUFFER,this.animatableMask.fb),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.bindFramebuffer(e.FRAMEBUFFER,null);for(let t of this.fillerData.taskList){let a=this.fillerData.data.areaHash.get(t);a&&(this.animatableMask.addArea(a,a.center.x,a.center.y,200),this.scene.invalidate(),await _e(200))}}}const _e=_=>new Promise(e=>setTimeout(e,_));export{ve as B,At as C,we as F,kt as L,jt as P,Re as W,mt as a,It as b,bt as c,xe as d,ye as e,pt as f,ge as g,Qt as h,be as i,Ae as j,Ht as k,Ee as l,ut as m,ne as n,Gt as r};
|