1(function(global){var PNG;PNG=(function(){var APNG_BLEND_OP_OVER,APNG_BLEND_OP_SOURCE,APNG_DISPOSE_OP_BACKGROUND,APNG_DISPOSE_OP_NONE,APNG_DISPOSE_OP_PREVIOUS,makeImage,scratchCanvas,scratchCtx;PNG2.load=function(url,canvas,callback){var xhr,_this=this;return typeof canvas=="function"&&(callback=canvas),xhr=new XMLHttpRequest,xhr.open("GET",url,!0),xhr.responseType="arraybuffer",xhr.onload=function(){var data,png;return data=new Uint8Array(xhr.response||xhr.mozResponseArrayBuffer),png=new PNG2(data),typeof(canvas!=null?canvas.getContext:void 0)=="function"&&png.render(canvas),typeof callback=="function"?callback(png):void 0},xhr.send(null)},APNG_DISPOSE_OP_NONE=0,APNG_DISPOSE_OP_BACKGROUND=1,APNG_DISPOSE_OP_PREVIOUS=2,APNG_BLEND_OP_SOURCE=0,APNG_BLEND_OP_OVER=1;function PNG2(data){var chunkSize,colors,palLen,delayDen,delayNum,frame,i,index,key,section,palShort,text,_i,_j,_ref;for(this.data=data,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},frame=null;;){switch(chunkSize=this.readUInt32(),section=(function(){var _i2,_results;for(_results=[],i=_i2=0;_i2<4;i=++_i2)_results.push(String.fromCharCode(this.data[this.pos++]));return _results}).call(this).join(""),section){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(chunkSize);break;case"fcTL":frame&&this.animation.frames.push(frame),this.pos+=4,frame={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},delayNum=this.readUInt16(),delayDen=this.readUInt16()||100,frame.delay=1e3*delayNum/delayDen,frame.disposeOp=this.data[this.pos++],frame.blendOp=this.data[this.pos++],frame.data=[];break;case"IDAT":case"fdAT":for(section==="fdAT"&&(this.pos+=4,chunkSize-=4),data=(frame!=null?frame.data:void 0)||this.imgData,i=_i=0;0<=chunkSize?_i<chunkSize:_i>chunkSize;i=0<=chunkSize?++_i:--_i)data.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(palLen=this.palette.length/3,this.transparency.indexed=this.read(chunkSize),this.transparency.indexed.length>palLen)throw new Error("More transparent colors than palette size");if(palShort=palLen-this.transparency.indexed.length,palShort>0)for(i=_j=0;0<=palShort?_j<palShort:_j>palShort;i=0<=palShort?++_j:--_j)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(chunkSize)[0];break;case 2:this.transparency.rgb=this.read(chunkSize)}break;case"tEXt":text=this.read(chunkSize),index=text.indexOf(0),key=String.fromCharCode.apply(String,text.slice(0,index)),this.text[key]=String.fromCharCode.apply(String,text.slice(index+1));break;case"IEND":frame&&this.animation.frames.push(frame),this.colors=(function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}).call(this),this.hasAlphaChannel=(_ref=this.colorType)===4||_ref===6,colors=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*colors,this.colorSpace=(function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}).call(this),this.imgData=new Uint8Array(this.imgData);return;default:this.pos+=chunkSize}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}PNG2.prototype.read=function(bytes){var i,_i,_results;for(_results=[],i=_i=0;0<=bytes?_i<bytes:_i>bytes;i=0<=bytes?++_i:--_i)_results.push(this.data[this.pos++]);return _results},PNG2.prototype.readUInt32=function(){var b1,b2,b3,b4;return b1=this.data[this.pos++]<<24,b2=this.data[this.pos++]<<16,b3=this.data[this.pos++]<<8,b4=this.data[this.pos++],b1|b2|b3|b4},PNG2.prototype.readUInt16=function(){var b1,b2;return b1=this.data[this.pos++]<<8,b2=this.data[this.pos++],b1|b2},PNG2.prototype.decodePixels=function(data){var abyte,c,col,i,left,length,p,pa,paeth,pb,pc,pixelBytes,pixels,pos,row,scanlineLength,upper,upperLeft,_i,_j,_k,_l,_m;if(data==null&&(data=this.imgData),data.length===0)return new Uint8Array(0);for(data=new FlateStream(data),data=data.getBytes(),pixelBytes=this.pixelBitlength/8,scanlineLength=pixelBytes*this.width,pixels=new Uint8Array(scanlineLength*this.height),length=data.length,row=0,pos=0,c=0;pos<length;){switch(data[pos++]){case 0:for(i=_i=0;
1_i<scanlineLength;i=_i+=1)pixels[c++]=data[pos++];break;case 1:for(i=_j=0;_j<scanlineLength;i=_j+=1)abyte=data[pos++],left=i<pixelBytes?0:pixels[c-pixelBytes],pixels[c++]=(abyte+left)%256;break;case 2:for(i=_k=0;_k<scanlineLength;i=_k+=1)abyte=data[pos++],col=(i-i%pixelBytes)/pixelBytes,upper=row&&pixels[(row-1)*scanlineLength+col*pixelBytes+i%pixelBytes],pixels[c++]=(upper+abyte)%256;break;case 3:for(i=_l=0;_l<scanlineLength;i=_l+=1)abyte=data[pos++],col=(i-i%pixelBytes)/pixelBytes,left=i<pixelBytes?0:pixels[c-pixelBytes],upper=row&&pixels[(row-1)*scanlineLength+col*pixelBytes+i%pixelBytes],pixels[c++]=(abyte+Math.floor((left+upper)/2))%256;break;case 4:for(i=_m=0;_m<scanlineLength;i=_m+=1)abyte=data[pos++],col=(i-i%pixelBytes)/pixelBytes,left=i<pixelBytes?0:pixels[c-pixelBytes],row===0?upper=upperLeft=0:(upper=pixels[(row-1)*scanlineLength+col*pixelBytes+i%pixelBytes],upperLeft=col&&pixels[(row-1)*scanlineLength+(col-1)*pixelBytes+i%pixelBytes]),p=left+upper-upperLeft,pa=Math.abs(p-left),pb=Math.abs(p-upper),pc=Math.abs(p-upperLeft),pa<=pb&&pa<=pc?paeth=left:pb<=pc?paeth=upper:paeth=upperLeft,pixels[c++]=(abyte+paeth)%256;break;default:throw new Error("Invalid filter algorithm: "+data[pos-1])}row++}return pixels},PNG2.prototype.decodePalette=function(){var c,i,length,palette,pos,ret,transparency,_i,_ref,_ref1;for(palette=this.palette,transparency=this.transparency.indexed||[],ret=new Uint8Array((transparency.length||0)+palette.length),pos=0,length=palette.length,c=0,i=_i=0,_ref=palette.length;_i<_ref;i=_i+=3)ret[pos++]=palette[i],ret[pos++]=palette[i+1],ret[pos++]=palette[i+2],ret[pos++]=(_ref1=transparency[c++])!=null?_ref1:255;return ret},PNG2.prototype.copyToImageData=function(imageData,pixels){var alpha,colors,data,i,input,j,k,length,palette,v,_ref;if(colors=this.colors,palette=null,alpha=this.hasAlphaChannel,this.palette.length&&(palette=(_ref=this._decodedPalette)!=null?_ref:this._decodedPalette=this.decodePalette(),colors=4,alpha=!0),data=imageData.data||imageData,length=data.length,input=palette||pixels,i=j=0,colors===1)for(;i<length;)k=palette?pixels[i/4]*4:j,v=input[k++],data[i++]=v,data[i++]=v,data[i++]=v,data[i++]=alpha?input[k++]:255,j=k;else for(;i<length;)k=palette?pixels[i/4]*4:j,data[i++]=input[k++],data[i++]=input[k++],data[i++]=input[k++],data[i++]=alpha?input[k++]:255,j=k},PNG2.prototype.decode=function(){var ret;return ret=new Uint8Array(this.width*this.height*4),this.copyToImageData(ret,this.decodePixels()),ret};try{scratchCanvas=global.document.createElement("canvas"),scratchCtx=scratchCanvas.getContext("2d")}catch(e){return-1}return makeImage=function(imageData){var img;return scratchCtx.width=imageData.width,scratchCtx.height=imageData.height,scratchCtx.clearRect(0,0,imageData.width,imageData.height),scratchCtx.putImageData(imageData,0,0),img=new Image,img.src=scratchCanvas.toDataURL(),img},PNG2.prototype.decodeFrames=function(ctx){var frame,i,imageData,pixels,_i,_len,_ref,_results;if(this.animation){for(_ref=this.animation.frames,_results=[],i=_i=0,_len=_ref.length;_i<_len;i=++_i)frame=_ref[i],imageData=ctx.createImageData(frame.width,frame.height),pixels=this.decodePixels(new Uint8Array(frame.data)),this.copyToImageData(imageData,pixels),frame.imageData=imageData,_results.push(frame.image=makeImage(imageData));return _results}},PNG2.prototype.renderFrame=function(ctx,number){var frame,frames,prev;return frames=this.animation.frames,frame=frames[number],prev=frames[number-1],number===0&&ctx.clearRect(0,0,this.width,this.height),(prev!=null?prev.disposeOp:void 0)===APNG_DISPOSE_OP_BACKGROUND?ctx.clearRect(prev.xOffset,prev.yOffset,prev.width,prev.height):(prev!=null?prev.disposeOp:void 0)===APNG_DISPOSE_OP_PREVIOUS&&ctx.putImageData(prev.imageData,prev.xOffset,prev.yOffset),frame.blendOp===APNG_BLEND_OP_SOURCE&&ctx.clearRect(frame.xOffset,frame.yOffset,frame.width,frame.height),ctx.drawImage(frame.image,frame.xOffset,frame.yOffset)},PNG2.prototype.animate=function(ctx){var doFrame,frameNumber,frames,numFrames,numPlays,_ref,_this=this;return frameNumber=0,_ref=this.animation,numFrames=_ref.numFrames,frames=_ref.frames,numPlays=_ref.numPlays,(doFrame=function(){var f,frame;if(f=frameNumber++%numFrames,frame=frames[f],_this.renderFrame(ctx,f),numFrames>1&&frameNumber/numFrames<numPlays)return _this.animation._timeout=setTimeout(doFrame,frame.delay)})()},PNG2.prototype.stopAnimation=function(){var _ref;return clearTimeout((_ref=this.animation)!=null?_ref._timeout:void 0)},PNG2.prototype.render=function(canvas){var ctx,data;return canvas._png&&canvas._png.stopAnimation(),canvas._png=this,canvas.width=this.width,canvas.height=this.height,ctx=canvas.getContext("2d"),this.animation?(this.decodeFrames(ctx),this.animate(ctx)):(data=ctx.createImageData(this.width,this.height),this.copyToImageData(data,this.decodePixels()),ctx.putImageData(data,0,0))},PNG2})(),global.PNG=PNG})(typeof window!="undefined"&&window||this); 2//# sourceMappingURL=/cdn/shop/t/3/assets/png.js.map?v=95736149034205631579157559
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.