import{C as yn,a as Sn,f as G}from"./Viewer-DVCEMRp5.js";import"./vuetify-Ce4WN_Dg.js";import"./overlayscrollbars-CiKU261J.js";import"./index-Bku7SJna.js";import"./echarts-DzoUeqWp.js";import"./codemirror-ZSHHXwGs.js";const ln=4,X=4,an=1,R=2,En=8,H=65536,j=H>>3,xn=16,T=14,F=(1<>-a-14,l[i|256]=1024>>-a-14|32768,r[i]=-a-1,r[i|256]=-a-1):a<=15?(l[i]=a+15<<10,l[i|256]=a+15<<10|32768,r[i]=13,r[i|256]=13):a<128?(l[i]=31744,l[i|256]=64512,r[i]=24,r[i|256]=24):(l[i]=31744,l[i|256]=64512,r[i]=13,r[i|256]=13)}const c=new Uint32Array(2048),s=new Uint32Array(64),o=new Uint32Array(64);for(let i=1;i<1024;++i){let a=i<<13,u=0;for(;!(a&8388608);)a<<=1,u-=8388608;a&=-8388609,u+=947912704,c[i]=a|u}for(let i=1024;i<2048;++i)c[i]=939524096+(i-1024<<13);for(let i=1;i<31;++i)s[i]=i<<23;s[31]=1199570944,s[32]=2147483648;for(let i=33;i<63;++i)s[i]=2147483648+(i-32<<23);s[63]=3347054592;for(let i=1;i<64;++i)i!==32&&(o[i]=1024);return{floatView:t,uint32View:e,baseTable:l,shiftTable:r,mantissaTable:c,exponentTable:s,offsetTable:o}}function $(n,t){const e=new Uint8Array(n);let l=0;for(;e[t.value+l]!=0;)l+=1;const r=new TextDecoder().decode(e.slice(t.value,t.value+l));return t.value=t.value+l+1,r}function P(n,t){const e=n.getInt32(t.value,!0);return t.value+=ln,e}function _(n,t){const e=n.getUint32(t.value,!0);return t.value+=ln,e}function Z(n,t){const e=n.getUint8(t.value);return t.value+=an,e}function B(n,t){const e=n.getUint16(t.value,!0);return t.value+=R,e}function cn(n,t){const e=n[t.value];return t.value+=an,e}function gn(n,t){let e;return"getBigInt64"in DataView.prototype?e=Number(n.getBigInt64(t.value,!0)):e=n.getUint32(t.value+4,!0)+Number(n.getUint32(t.value,!0)<<32),t.value+=En,e}function b(n,t){const e=n.getFloat32(t.value,!0);return t.value+=X,e}function In(n,t){return On(B(n,t))}function On(n){const t=(n&31744)>>10,e=n&1023;return(n>>15?-1:1)*(t?t===31?e?NaN:1/0:Math.pow(2,t-15)*(1+e/1024):6103515625e-14*(e/1024))}function An(n){if(Math.abs(n)>65504)throw new Error("Value out of range.Consider using float instead of half-float.");n=yn(n,-65504,65504),z.floatView[0]=n;const t=z.uint32View[0],e=t>>23&511;return z.baseTable[e]+((t&8388607)>>z.shiftTable[e])}function Pn(n,t){return An(b(n,t))}function Un(n,t,e){const l=new TextDecoder().decode(new Uint8Array(n).slice(t.value,t.value+e));return t.value=t.value+e,l}function mn(n,t){const e=P(n,t),l=_(n,t);return[e,l]}function _n(n,t){const e=_(n,t),l=_(n,t);return[e,l]}function Tn(n,t){const e=b(n,t),l=b(n,t);return[e,l]}function Nn(n,t){const e=b(n,t),l=b(n,t),r=b(n,t);return[e,l,r]}function Cn(n,t,e){const l=t.value,r=[];for(;t.valuec||(t[r++]=n[e++],r>c));)t[r++]=n[l++]}const kn=20000630;function zn(n,t){if(n.getUint32(0,!0)!=kn)throw new Error("Incorrect OpenEXR format");const e=n.getUint8(4),l=n.getUint8(5),r={singleTile:!!(l&2),longName:!!(l&4),deepFormat:!!(l&8),multiPart:!!(l&16)};t.value=8;const c={};let s=!0;for(;s;){const o=$(n.buffer,t);if(!o)s=!1;else{const i=$(n.buffer,t),a=_(n,t),u=Ln(n,t,i,a);u===void 0?Sn.Warn("Unknown header attribute type ".concat(i,"'.")):c[o]=u}}if(l&-5)throw new Error("Unsupported file format");return{version:e,spec:r,...c}}const pn=16,Hn=1<>3]&1<<(r&7))&&(t[e++]=r);const l=e-1;for(;e>e&(1<>l;if(a=new Uint8Array([a])[0],o.value+a>i)return null;const u=s[o.value-1];for(;a-- >0;)s[o.value++]=u}else if(o.value0;--e){const l=t+D[e]>>1;D[e]=t,t=l}for(let e=0;e0&&(n[e]=l|D[l]++<<6)}}function Gn(n,t,e,l,r,c){const s=t;let o=0,i=0;for(;l<=r;l++){if(s.value-t.value>e)return;let a=tn(6,o,i,n,s);const u=a.l;if(o=a.c,i=a.lc,c[l]=u,u==sn){if(s.value-t.value>e)throw new Error("Error in HufUnpackEncTable");a=tn(8,o,i,n,s);let f=a.l+vn;if(o=a.c,i=a.lc,l+f>r+1)throw new Error("Error in HufUnpackEncTable");for(;f--;)c[l++]=0;l--}else if(u>=K){let f=u-K+2;if(l+f>r+1)throw new Error("Error in HufUnpackEncTable");for(;f--;)c[l++]=0;l--}}Wn(c)}function fn(n){return n&63}function hn(n){return n>>6}function Yn(n,t,e,l){for(;t<=e;t++){const r=hn(n[t]),c=fn(n[t]);if(r>>c)throw new Error("Invalid table entry");if(c>T){const s=l[r>>c-T];if(s.len)throw new Error("Invalid table entry");if(s.lit++,s.p){const o=s.p;s.p=new Array(s.lit);for(let i=0;i0;o--){const i=l[(r<=T;){const w=a>>u-T&d,y=t[w];if(y.len){u-=y.len;const h=Y(y.lit,c,a,u,e,l,o,i,f);h&&(a=h.c,u=h.lc)}else{if(!y.p)throw new Error("hufDecode issues");let h;for(h=0;h=v&&hn(n[y.p[h]])==(a>>u-v&(1<>=I,u-=I;u>0;){const p=t[a<=F||a<0||a>=F)throw new Error("Wrong HUF_ENCSIZE");const f=new Array(F),x=new Array(V);Zn(x);const I=l-(e.value-o);if(Gn(n,e,I,i,a,f),u>8*(l-(e.value-o)))throw new Error("Wrong hufUncompress");Yn(f,i,a,x),Xn(f,x,n,e,u,a,c,r,s)}function Q(n){return n&65535}function en(n){const t=Q(n);return t>32767?t-65536:t}function N(n,t){const e=en(n),r=en(t),c=e+(r&1)+(r>>1),s=c,o=c-r;return{a:s,b:o}}function C(n,t){const e=Q(n),l=Q(t),r=e-(l>>1)&nn;return{a:l+r-Hn&nn,b:r}}function qn(n,t,e,l,r,c,s){const o=s<16384,i=e>r?r:e;let a=1,u,f;for(;a<=i;)a<<=1;for(a>>=1,u=a,a>>=1;a>=1;){f=0;const x=f+c*(r-u),I=c*a,p=c*u,w=l*a,y=l*u;let h,v,A,L;for(;f<=x;f+=p){let E=f;const W=f+l*(e-u);for(;E<=W;E+=y){const O=E+w,g=E+I,k=g+w;if(o){let S=N(n[E+t],n[g+t]);h=S.a,A=S.b,S=N(n[O+t],n[k+t]),v=S.a,L=S.b,S=N(h,v),n[E+t]=S.a,n[O+t]=S.b,S=N(A,L),n[g+t]=S.a,n[k+t]=S.b}else{let S=C(n[E+t],n[g+t]);h=S.a,A=S.b,S=C(n[O+t],n[k+t]),v=S.a,L=S.b,S=C(h,v),n[E+t]=S.a,n[O+t]=S.b,S=C(A,L),n[g+t]=S.a,n[k+t]=S.b}}if(e&a){const O=E+I;let g;o?g=N(n[E+t],n[O+t]):g=C(n[E+t],n[O+t]),h=g.a,n[O+t]=g.b,n[E+t]=h}}if(r&a){let E=f;const W=f+l*(e-u);for(;E<=W;E+=y){const O=E+w;let g;o?g=N(n[E+t],n[O+t]):g=C(n[E+t],n[O+t]),h=g.a,n[O+t]=g.b,n[E+t]=h}}u=a,a>>=1}return f}function $n(n,t,e){for(let l=0;l0;){const c=r.getInt8(l++);if(c<0){const s=-c;t-=s+1;for(let o=0;o=j)throw new Error("Wrong PIZ_COMPRESSION BITMAP_SIZE");if(o<=i)for(let p=0;p0,bytesPerLine:0,outLineWidth:0,lines:0,scanlineBlockSize:0,inputSize:null,type:0,uncompress:null,getter:()=>0,format:5,outputChannels:0,decodeChannels:{},blockCount:null,byteArray:null,linearSpace:!1,textureType:0};switch(n.compression){case U.NO_COMPRESSION:r.lines=1,r.uncompress=wn;break;case U.RLE_COMPRESSION:r.lines=1,r.uncompress=Qn;break;case U.ZIPS_COMPRESSION:r.lines=1,r.uncompress=rn,await G.LoadScriptAsync(M.FFLATEUrl);break;case U.ZIP_COMPRESSION:r.lines=16,r.uncompress=rn,await G.LoadScriptAsync(M.FFLATEUrl);break;case U.PIZ_COMPRESSION:r.lines=32,r.uncompress=jn;break;case U.PXR24_COMPRESSION:r.lines=16,r.uncompress=Vn,await G.LoadScriptAsync(M.FFLATEUrl);break;default:throw new Error(U[n.compression]+" is unsupported")}r.scanlineBlockSize=r.lines;const c={};for(const a of n.channels)switch(a.name){case"Y":case"R":case"G":case"B":case"A":c[a.name]=!0,r.type=a.pixelType}let s=!1;if(c.R&&c.G&&c.B)s=!c.A,r.outputChannels=4,r.decodeChannels={R:0,G:1,B:2,A:3};else if(c.Y)r.outputChannels=1,r.decodeChannels={Y:0};else throw new Error("EXRLoader.parse: file contains unsupported data channels.");if(r.type===1)switch(l){case m.Float:r.getter=In,r.inputSize=R;break;case m.HalfFloat:r.getter=B,r.inputSize=R;break}else if(r.type===2)switch(l){case m.Float:r.getter=b,r.inputSize=X;break;case m.HalfFloat:r.getter=Pn,r.inputSize=X}else throw new Error("Unsupported pixelType "+r.type+" for "+n.compression);r.blockCount=r.height/r.scanlineBlockSize;for(let a=0;aa:r.scanOrder=a=>r.height-1-a,r.outputChannels==4?(r.format=5,r.linearSpace=!0):(r.format=6,r.linearSpace=!1),r}function nt(n,t,e,l){const r={value:0};for(let c=0;cn.height?n.height-s:n.scanlineBlockSize;const i=n.size=n.height)continue;const x=a*n.bytesPerLine,I=(n.height-1-f)*n.outLineWidth;for(let p=0;p{const u=e.getEngine();e.format=s.format,e.type=o.textureType,e.invertY=!1,e._gammaSpace=!s.linearSpace,o.byteArray&&u._uploadDataToTextureDirectly(e,o.byteArray,0,0,void 0,!0)})}}export{st as _ExrTextureLoader};