@fnndsc/argus 0.7.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/assets/ChRISlogo-color-t-i99soF.svg +164 -0
  2. package/dist/assets/MesloLGS-NF-Bold-DbxbaV6p.ttf +0 -0
  3. package/dist/assets/MesloLGS-NF-Regular-DAUcZJjt.ttf +0 -0
  4. package/dist/assets/Settings-B_WPNkCE.js +4407 -0
  5. package/dist/assets/_commonjsHelpers-CE1G-McA.js +1 -0
  6. package/dist/assets/addVolumesToViewports-kPbPUzG1.js +1 -0
  7. package/dist/assets/antonio-latin-400-normal-CZjzwNAN.woff2 +0 -0
  8. package/dist/assets/antonio-latin-700-normal-DSH-lEDG.woff2 +0 -0
  9. package/dist/assets/arrive-ClURnB_N.wav +0 -0
  10. package/dist/assets/blosc-CrUiACa7.js +17 -0
  11. package/dist/assets/chakra-petch-latin-400-normal-SafcrIr2.woff2 +0 -0
  12. package/dist/assets/chakra-petch-latin-500-normal-BR1ody1F.woff2 +0 -0
  13. package/dist/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2 +0 -0
  14. package/dist/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2 +0 -0
  15. package/dist/assets/charlswasm_decode-BrO4esUm.wasm +0 -0
  16. package/dist/assets/chunk-INHXZS53-D3tQiqtZ.js +1 -0
  17. package/dist/assets/computeWorker-D8XJyv-f.js +4095 -0
  18. package/dist/assets/cornerstoneEngine-COmMRWtq.js +2 -0
  19. package/dist/assets/dcmjs.es-DfWkgqfk.js +18 -0
  20. package/dist/assets/decodeImageFrameWorker-BtcTb_T6.js +5 -0
  21. package/dist/assets/index-B1IRr1ii.js +4145 -0
  22. package/dist/assets/index-BEqlmVJ8.js +2456 -0
  23. package/dist/assets/index-BbgujRGq.css +1 -0
  24. package/dist/assets/index-BivV2-EJ.js +9 -0
  25. package/dist/assets/index-CH659Lsh.js +1 -0
  26. package/dist/assets/index-DRvbvdZm.js +320 -0
  27. package/dist/assets/index-Ddoc1eo6.js +1 -0
  28. package/dist/assets/index-WxcTPiRU.js +2 -0
  29. package/dist/assets/index-oaz5IMVa.js +1 -0
  30. package/dist/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  31. package/dist/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  32. package/dist/assets/jpeg-B-x1txLf.js +1 -0
  33. package/dist/assets/libjpegturbowasm_decode-7ZJ2wGuU.wasm +0 -0
  34. package/dist/assets/lossless-CyYqoyFe.js +1 -0
  35. package/dist/assets/lz4-B_Exjfmr.js +15 -0
  36. package/dist/assets/niivueEngine-B2PDgoH7.js +2 -0
  37. package/dist/assets/openjpegwasm_decode-B3gWTHpv.wasm +0 -0
  38. package/dist/assets/openjphjs-B5O5ikHp.wasm +0 -0
  39. package/dist/assets/press-Cr6-1MeH.wav +0 -0
  40. package/dist/assets/refuse-DQOeTs-N.wav +0 -0
  41. package/dist/assets/retreat-CxfXQVOC.wav +0 -0
  42. package/dist/assets/throttle-CjIII7Yf.js +1 -0
  43. package/dist/assets/zstd-u5eweWyS.js +15 -0
  44. package/dist/index.html +626 -0
  45. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ import{cG as Jf,cH as Ai,cI as Xo,cJ as Yf,cK as Xf,cL as Kf,cM as Qf,cN as ec,cO as tc,cP as rc,cQ as nc,cR as ac,cS as ic,cT as oc,cU as sc,cV as lc,cW as fc,cX as cc,cY as uc,cZ as dc,c_ as hc,bk as vn,c$ as ei,t as Pa,e as xa,ah as _n,d0 as ll,aN as fl,au as pc,aV as vc,K as gc,b_ as _c,d1 as cl,d2 as ul,d3 as lo,aX as ca,d4 as yc,bW as mc,aQ as bc,at as wc,d5 as Pc,d6 as xc}from"./Settings-B_WPNkCE.js";import{u as dl}from"./index-Ddoc1eo6.js";import{c as gn,g as Ci}from"./_commonjsHelpers-CE1G-McA.js";import{_ as hl}from"./index-B1IRr1ii.js";import"./dcmjs.es-DfWkgqfk.js";const pl=["PixelData","FramePixelData","FloatPixelData","7FE00010","7fe00010","7FE00008","7fe00008"],Ec=["FloatPixelData","7FE00008","7fe00008"];function Tc(e){for(const r of pl){const t=e[r];if(t!=null&&Array.isArray(t)&&t.length>0)return t}}function $c(e){for(const r of pl){const t=e[r];if(t!=null&&Array.isArray(t)&&t.length>0)return r}}function Ac(e){const r=$c(e);return r!==void 0&&Ec.includes(r)}function fo(e){return e instanceof ArrayBuffer?new Uint8Array(e):e}function Cc(e){return e instanceof ArrayBuffer,e.byteLength}function Ko(e,r){const t=e[r];if(t!=null)return Array.isArray(t)?t.map(fo):fo(t)}function Sc(e,r,t,n){if(e.length!==1||!Ac(n))return;const i=e[0];if(i==null)return;const l=fo(i),a=Cc(i);if(t<=0||a%t!==0)return;const d=a/t,P=r*d;return P+d>a?void 0:(console.warn("[compressedFrameData] Splitting single-buffer pixel data by numberOfFrames for paramap-type image; frameIndex=",r,", numberOfFrames=",t,", frameSize=",d),[(l instanceof Uint8Array?l:new Uint8Array(l.buffer,l.byteOffset,l.byteLength)).subarray(P,P+d)])}function Dc(e,r){if(!e)return;const t=Tc(e);if(!t)return;const{TransferSyntaxUID:n}=e;if(!n)return;const i=r??0,l=i+1,a=e.NumberOfFrames!=null?Number(e.NumberOfFrames):1;let d;if(t.length===a?d=Ko(t,i):(d=Sc(t,i,a,e),d===void 0&&(d=Ko(t,i))),d!==void 0)return{transferSyntaxUid:n,frameOfInterest:i,frameNumber:l,pixelData:d}}const Rc=Ai.COMPRESSED_FRAME_DATA,Ic=(e,r,t,n)=>{const i=n?.frameIndex??0,l=Dc(t,i);return l||e(r,t,n)};function Oc(){Jf(Rc,Ic)}const kc=-1e3;function vl(){Xo(Yf,kc),Xo(Xf.get),Kf(),Qf(),ec(),tc(),rc(),nc(),ac(),ic(),oc(),sc(),lc(),fc(),cc(),uc(),dc(),Oc(),hc()}function Do(e,r,t){if(e===void 0)throw new Error("decodeRGB: rgbBuffer must be defined");if(e.length%3!==0)throw new Error(`decodeRGB: rgbBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0;if(t){for(let a=0;a<n;a++)r[l++]=e[i++],r[l++]=e[i++],r[l++]=e[i++],r[l++]=255;return}r.set(e)}function gl(e,r,t){if(e===void 0)throw new Error("decodeRGB: rgbBuffer must be defined");if(e.length%3!==0)throw new Error(`decodeRGB: rgbBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0,a=n,d=n*2;if(t)for(let P=0;P<n;P++)r[i++]=e[l++],r[i++]=e[a++],r[i++]=e[d++],r[i++]=255;else for(let P=0;P<n;P++)r[i++]=e[l++],r[i++]=e[a++],r[i++]=e[d++]}function _l(e,r,t){if(e===void 0)throw new Error("convertYBRFullByPixel: ybrBuffer must be defined");if(e.length%3!==0)throw new Error(`convertYBRFullByPixel: ybrBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0;if(t){for(let a=0;a<n;a++){const d=e[i++],P=e[i++],y=e[i++];r[l++]=d+1.402*(y-128),r[l++]=d-.34414*(P-128)-.71414*(y-128),r[l++]=d+1.772*(P-128),r[l++]=255}return}for(let a=0;a<n;a++){const d=e[i++],P=e[i++],y=e[i++];r[l++]=d+1.402*(y-128),r[l++]=d-.34414*(P-128)-.71414*(y-128),r[l++]=d+1.772*(P-128)}}function yl(e,r,t){if(e===void 0)throw new Error("convertYBRFullByPlane: ybrBuffer must be defined");if(e.length%3!==0)throw new Error(`convertYBRFullByPlane: ybrBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0,a=n,d=n*2;if(t){for(let P=0;P<n;P++){const y=e[l++],w=e[a++],W=e[d++];r[i++]=y+1.402*(W-128),r[i++]=y-.34414*(w-128)-.71414*(W-128),r[i++]=y+1.772*(w-128),r[i++]=255}return}for(let P=0;P<n;P++){const y=e[l++],w=e[a++],W=e[d++];r[i++]=y+1.402*(W-128),r[i++]=y-.34414*(w-128)-.71414*(W-128),r[i++]=y+1.772*(w-128)}}function Lc(e,r,t){if(e===void 0)throw new Error("convertYBRFull422ByPixel: ybrBuffer must be defined");if(e.length%2!==0)throw new Error(`convertYBRFull422ByPixel: ybrBuffer length ${e.length} must be divisible by 2`);const n=e.length/2;let i=0,l=0;if(t){for(let a=0;a<n;a+=2){const d=e[i++],P=e[i++],y=e[i++],w=e[i++];r[l++]=d+1.402*(w-128),r[l++]=d-.34414*(y-128)-.71414*(w-128),r[l++]=d+1.772*(y-128),r[l++]=255,r[l++]=P+1.402*(w-128),r[l++]=P-.34414*(y-128)-.71414*(w-128),r[l++]=P+1.772*(y-128),r[l++]=255}return}for(let a=0;a<n;a+=2){const d=e[i++],P=e[i++],y=e[i++],w=e[i++];r[l++]=d+1.402*(w-128),r[l++]=d-.34414*(y-128)-.71414*(w-128),r[l++]=d+1.772*(y-128),r[l++]=P+1.402*(w-128),r[l++]=P-.34414*(y-128)-.71414*(w-128),r[l++]=P+1.772*(y-128)}}function Ea(e,r,t){const n=e[`${r}PaletteColorLookupTableData`];if(n)return Promise.resolve(n);const i=vn("imagePixelModule",e.imageId);return i&&typeof i.then=="function"?i.then(l=>l?l[`${r}PaletteColorLookupTableData`]:t):Promise.resolve(i?i[`${r}PaletteColorLookupTableData`]:t)}async function Uc(e){const r=[];if(!e.redPaletteColorLookupTableData||!e.greenPaletteColorLookupTableData||!e.bluePaletteColorLookupTableData){const n=Promise.all([Ea(e,"red",null),Ea(e,"green",null),Ea(e,"blue",null)]).then(([i,l,a])=>{e.redPaletteColorLookupTableData=i,e.greenPaletteColorLookupTableData=l,e.bluePaletteColorLookupTableData=a});r.push(n)}r.length>0&&await Promise.all(r)}function Bi(e,r){const t=e.length,n=new Uint8ClampedArray(t);for(let i=0;i<t;++i)n[i]=e[i]>>r;return n}function Ro(e,r,t){const n=e.columns*e.rows,i=e.pixelData,l=e.redPaletteColorLookupTableData,a=e.greenPaletteColorLookupTableData,d=e.bluePaletteColorLookupTableData;if(!l||!a||!d)throw new Error("The image does not have a complete color palette. R, G, and B palette data are required.");const P=l.length;let y=0,w=0;const W=e.redPaletteColorLookupTableDescriptor[1],k=e.redPaletteColorLookupTableDescriptor[2]>8&&l.some(ee=>ee>255)?8:0,j=Bi(l,k),Y=Bi(a,k),K=Bi(d,k);if(t){for(let ee=0;ee<n;++ee){let X=i[y++];X<W?X=0:X>W+P-1?X=P-1:X-=W,r[w++]=j[X],r[w++]=Y[X],r[w++]=K[X],r[w++]=255}return}for(let ee=0;ee<n;++ee){let X=i[y++];X<W?X=0:X>W+P-1?X=P-1:X-=W,r[w++]=j[X],r[w++]=Y[X],r[w++]=K[X]}}async function Mc(e,r,t){await Uc(e),Ro(e,r,t)}function ji(e,r){if(!(!e.elements[r]||e.elements[r].length!==6))return[e.uint16(r,0),e.uint16(r,1),e.uint16(r,2)]}function Hi(e,r,t){const n=[],i=e.elements[r];for(let l=0;l<t[0];l++)t[2]===16?n[l]=e.uint16(r,l):n[l]=e.byteArray[l+i.dataOffset];return n}function Fc(e,r){r.redPaletteColorLookupTableDescriptor=ji(e,"x00281101"),r.greenPaletteColorLookupTableDescriptor=ji(e,"x00281102"),r.bluePaletteColorLookupTableDescriptor=ji(e,"x00281103"),r.redPaletteColorLookupTableDescriptor[0]===0&&(r.redPaletteColorLookupTableDescriptor[0]=65536,r.greenPaletteColorLookupTableDescriptor[0]=65536,r.bluePaletteColorLookupTableDescriptor[0]=65536);const t=r.redPaletteColorLookupTableDescriptor[0],i=e.elements.x00281201.length===t?8:16;r.redPaletteColorLookupTableDescriptor[2]!==i&&(r.redPaletteColorLookupTableDescriptor[2]=i,r.greenPaletteColorLookupTableDescriptor[2]=i,r.bluePaletteColorLookupTableDescriptor[2]=i),r.redPaletteColorLookupTableData=Hi(e,"x00281201",r.redPaletteColorLookupTableDescriptor),r.greenPaletteColorLookupTableData=Hi(e,"x00281202",r.greenPaletteColorLookupTableDescriptor),r.bluePaletteColorLookupTableData=Hi(e,"x00281203",r.bluePaletteColorLookupTableDescriptor)}function Nc(e,r){e.uint16("x00280103")===0?(r.smallestPixelValue=e.uint16("x00280106"),r.largestPixelValue=e.uint16("x00280107")):(r.smallestPixelValue=e.int16("x00280106"),r.largestPixelValue=e.int16("x00280107"))}function ml(e){const r={samplesPerPixel:e.uint16("x00280002"),photometricInterpretation:e.string("x00280004"),rows:e.uint16("x00280010"),columns:e.uint16("x00280011"),bitsAllocated:e.uint16("x00280100"),bitsStored:e.uint16("x00280101"),highBit:e.uint16("x00280102"),pixelRepresentation:e.uint16("x00280103"),planarConfiguration:e.uint16("x00280006"),pixelAspectRatio:e.string("x00280034")};return Nc(e,r),r.photometricInterpretation==="PALETTE COLOR"&&e.elements.x00281101&&Fc(e,r),r}function Wc(e,r){let t=r.uint16("x00283002",0);t===0&&(t=65535);let n=0;e===0?n=r.uint16("x00283002",1):n=r.int16("x00283002",1);const i=r.uint16("x00283002",2),l={id:"1",firstValueMapped:n,numBitsPerEntry:i,lut:[]};for(let a=0;a<t;a++)e===0?l.lut[a]=r.uint16("x00283006",a):l.lut[a]=r.int16("x00283006",a);return l}function co(e,r){if(!r||!r.items||!r.items.length)return;const t=[];for(let n=0;n<r.items.length;n++){const i=r.items[n].dataSet,l=Wc(e,i);l&&t.push(l)}return t}function Bc(e){const r=e.uint16("x00280103"),t=e.uint16("x00280101");return r===0?0:-1<<t-1}function bl(e){const r=e.string("x00080016");if(r==="1.2.840.10008.5.1.4.1.1.2"||r==="1.2.840.10008.5.1.4.1.1.2.1")return 1;const t=e.floatString("x00281052"),n=e.floatString("x00281053");return t!==void 0&&n!==void 0?Bc(e)*n+t<0?1:0:e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")}function Ar(e,r,t){const n=[],i=e.string(r);if(!i)return;const l=i.split("\\");if(!(t&&l.length<t)){for(let a=0;a<l.length;a++)n.push(parseFloat(l[a]));return n}}var yi={exports:{}};var jc=yi.exports,Qo;function Hc(){return Qo||(Qo=1,(function(e,r){(function(t,n){e.exports=n(ei)})(jc,function(t){return i=[function(a,d){a.exports=t},function(a,d,P){P.r(d),P.d(d,"isStringVr",function(){return w}),P.d(d,"isPrivateTag",function(){return W}),P.d(d,"parsePN",function(){return F}),P.d(d,"parseTM",function(){return k}),P.d(d,"parseDA",function(){return Y}),P.d(d,"explicitElementToString",function(){return K}),P.d(d,"explicitDataSetToJS",function(){return ee}),P.d(d,"createJPEGBasicOffsetTable",function(){return J}),P.d(d,"parseDicomDataSetExplicit",function(){return Ke}),P.d(d,"parseDicomDataSetImplicit",function(){return ft}),P.d(d,"readFixedString",function(){return le}),P.d(d,"alloc",function(){return bt}),P.d(d,"version",function(){return ot}),P.d(d,"bigEndianByteArrayParser",function(){return Ze}),P.d(d,"ByteStream",function(){return Qe}),P.d(d,"sharedCopy",function(){return He}),P.d(d,"DataSet",function(){return oe}),P.d(d,"findAndSetUNElementLength",function(){return re}),P.d(d,"findEndOfEncapsulatedElement",function(){return he}),P.d(d,"findItemDelimitationItemAndSetElementLength",function(){return be}),P.d(d,"littleEndianByteArrayParser",function(){return vt}),P.d(d,"parseDicom",function(){return Bt}),P.d(d,"readDicomElementExplicit",function(){return Ce}),P.d(d,"readDicomElementImplicit",function(){return ve}),P.d(d,"readEncapsulatedImageFrame",function(){return vr}),P.d(d,"readEncapsulatedPixelData",function(){return Sr}),P.d(d,"readEncapsulatedPixelDataFromFragments",function(){return wt}),P.d(d,"readPart10Header",function(){return Zt}),P.d(d,"readSequenceItemsExplicit",function(){return Be}),P.d(d,"readSequenceItemsImplicit",function(){return Fe}),P.d(d,"readSequenceItem",function(){return ge}),P.d(d,"readTag",function(){return ce});var y={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},w=function(m){return y[m]},W=function(m){if(m=parseInt(m[4],16),isNaN(m))throw"dicomParser.isPrivateTag: cannot parse last character of group";return m%2==1},F=function(m){if(m!==void 0)return m=m.split("^"),{familyName:m[0],givenName:m[1],middleName:m[2],prefix:m[3],suffix:m[4]}};function k(m,$){if(2<=m.length){var I=parseInt(m.substring(0,2),10),T=4<=m.length?parseInt(m.substring(2,4),10):void 0,L=6<=m.length?parseInt(m.substring(4,6),10):void 0,Z=8<=m.length?m.substring(7,13):void 0,Z=Z?parseInt(Z,10)*Math.pow(10,6-Z.length):void 0;if($&&(isNaN(I)||T!==void 0&&isNaN(T)||L!==void 0&&isNaN(L)||Z!==void 0&&isNaN(Z)||I<0||23<I||T&&(T<0||59<T)||L&&(L<0||59<L)||Z&&(Z<0||999999<Z)))throw"invalid TM '".concat(m,"'");return{hours:I,minutes:T,seconds:L,fractionalSeconds:Z}}if($)throw"invalid TM '".concat(m,"'")}function j(m,$,I){return!isNaN(I)&&0<$&&$<=12&&0<m&&m<=(function(T,L){switch(T){case 2:return L%4==0&&L%100||L%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}})($,I)}function Y(m,$){if(m&&m.length===8){var I=parseInt(m.substring(0,4),10),T=parseInt(m.substring(4,6),10),L=parseInt(m.substring(6,8),10);if($&&j(L,T,I)!==!0)throw"invalid DA '".concat(m,"'");return{year:I,month:T,day:L}}if($)throw"invalid DA '".concat(m,"'")}function K(m,$){if(m===void 0||$===void 0)throw"dicomParser.explicitElementToString: missing required parameters";if($.vr===void 0)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var I,T=$.vr,L=$.tag;function Z(xe,De){for(var ze="",Ee=0;Ee<xe;Ee++)Ee!==0&&(ze+="/"),ze+=De.call(m,L,Ee).toString();return ze}if(w(T)===!0)I=m.string(L);else{if(T==="AT"){var fe=m.uint32(L);return fe===void 0?void 0:"x".concat((fe=fe<0?4294967295+fe+1:fe).toString(16).toUpperCase())}T==="US"?I=Z($.length/2,m.uint16):T==="SS"?I=Z($.length/2,m.int16):T==="UL"?I=Z($.length/4,m.uint32):T==="SL"?I=Z($.length/4,m.int32):T==="FD"?I=Z($.length/8,m.double):T==="FL"&&(I=Z($.length/4,m.float))}return I}function ee(m,$){if(m===void 0)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";$=$||{omitPrivateAttibutes:!0,maxElementLength:128};var I,T={};for(I in m.elements){var L=m.elements[I];if($.omitPrivateAttibutes!==!0||!W(I))if(L.items){for(var Z=[],fe=0;fe<L.items.length;fe++)Z.push(ee(L.items[fe].dataSet,$));T[I]=Z}else{var xe=void 0;L.length<$.maxElementLength&&(xe=K(m,L)),T[I]=xe!==void 0?xe:{dataOffset:L.dataOffset,length:L.length}}}return T}function X(m,$){return m.byteArray[$]===255&&m.byteArray[$+1]===217}function H(m,$,I){for(var T,L,Z=I;Z<$.fragments.length;Z++)if(T=m,L=Z,L=$.fragments[L],!(!X(T,L.position+L.length-2)&&!X(T,L.position+L.length-3)))return Z}function J(m,$,I){if(m===void 0)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if($===void 0)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if($.tag!=="x7fe00010")throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if($.encapsulatedPixelData!==!0||$.hadUndefinedLength!==!0||$.basicOffsetTable===void 0||$.fragments===void 0||$.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(I&&I.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";I=I||$.fragments;for(var T=[],L=0;;){T.push($.fragments[L].offset);var Z=H(m,$,L);if(Z===void 0||Z===$.fragments.length-1)return T;L=Z+1}}function ce(I){if(I===void 0)throw"dicomParser.readTag: missing required parameter 'byteStream'";var $=256*I.readUint16()*256,I=I.readUint16();return"x".concat("00000000".concat(($+I).toString(16)).substr(-8))}function he(m,$,I){if(m===void 0)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if($.encapsulatedPixelData=!0,$.basicOffsetTable=[],$.fragments=[],ce(m)!=="xfffee000")throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var T=m.readUint32()/4,L=0;L<T;L++){var Z=m.readUint32();$.basicOffsetTable.push(Z)}for(var fe=m.position;m.position<m.byteArray.length;){var xe=ce(m),De=m.readUint32();if(xe==="xfffee0dd")return m.seek(De),void($.length=m.position-$.dataOffset);if(xe!=="xfffee000")return I&&I.push("unexpected tag ".concat(xe," while searching for end of pixel data element with undefined length")),De>m.byteArray.length-m.position&&(De=m.byteArray.length-m.position),$.fragments.push({offset:m.position-fe-8,position:m.position,length:De}),m.seek(De),void($.length=m.position-$.dataOffset);$.fragments.push({offset:m.position-fe-8,position:m.position,length:De}),m.seek(De)}I&&I.push("pixel data element ".concat($.tag," missing sequence delimiter tag xfffee0dd"))}function re(m,$){if(m===void 0)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var I=m.byteArray.length-8;m.position<=I;)if(m.readUint16()===65534){var T=m.readUint16();if(T===57565)return m.readUint32()!==0&&m.warnings("encountered non zero length following item delimiter at position ".concat(m.position-4," while reading element of undefined length with tag ").concat($.tag)),void($.length=m.position-$.dataOffset)}$.length=m.byteArray.length-$.dataOffset,m.seek(m.byteArray.length-m.position)}function le(m,$,I){if(I<0)throw"dicomParser.readFixedString - length cannot be less than 0";if($+I>m.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var T,L="",Z=0;Z<I;Z++){if((T=m[$+Z])===0)return $+=I,L;L+=String.fromCharCode(T)}return L}function ie(m,$){for(var I=0;I<$.length;I++){var T=$[I];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(m,T.key,T)}}function te(m,$){return m.parser!==void 0?m.parser:$}var oe=(function(){function m(T,L,Z){(function(fe,xe){if(!(fe instanceof xe))throw new TypeError("Cannot call a class as a function")})(this,m),this.byteArrayParser=T,this.byteArray=L,this.elements=Z}var $,I;return $=m,(I=[{key:"uint16",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readUint16(this.byteArray,T.dataOffset+2*L)}},{key:"int16",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readInt16(this.byteArray,T.dataOffset+2*L)}},{key:"uint32",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readUint32(this.byteArray,T.dataOffset+4*L)}},{key:"int32",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readInt32(this.byteArray,T.dataOffset+4*L)}},{key:"float",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readFloat(this.byteArray,T.dataOffset+4*L)}},{key:"double",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readDouble(this.byteArray,T.dataOffset+8*L)}},{key:"numStringValues",value:function(T){if(T=this.elements[T],T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length).match(/\\/g),T===null?1:T.length+1}},{key:"string",value:function(T,L){if(T=this.elements[T],T&&T.Value)return T.Value;if(T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length),0<=L?T.split("\\")[L].trim():T.trim()}},{key:"text",value:function(T,L){if(T=this.elements[T],T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length),0<=L?T.split("\\")[L].replace(/ +$/,""):T.replace(/ +$/,"")}},{key:"floatString",value:function(T,L){var Z=this.elements[T];if(Z&&0<Z.length&&(L=this.string(T,L=L!==void 0?L:0),L!==void 0))return parseFloat(L)}},{key:"intString",value:function(T,L){var Z=this.elements[T];if(Z&&0<Z.length&&(L=this.string(T,L=L!==void 0?L:0),L!==void 0))return parseInt(L)}},{key:"attributeTag",value:function(T){var L=this.elements[T];if(L&&L.length===4){var Z=te(L,this.byteArrayParser).readUint16,T=this.byteArray,L=L.dataOffset;return"x".concat("00000000".concat((256*Z(T,L)*256+Z(T,L+2)).toString(16)).substr(-8))}}}])&&ie($.prototype,I),Object.defineProperty($,"prototype",{writable:!1}),m})();function be(m,$){if(m===void 0)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var I=m.byteArray.length-8;m.position<=I;)if(m.readUint16()===65534){var T=m.readUint16();if(T===57357)return m.readUint32()!==0&&m.warnings("encountered non zero length following item delimiter at position ".concat(m.position-4," while reading element of undefined length with tag ").concat($.tag)),void($.length=m.position-$.dataOffset)}$.length=m.byteArray.length-$.dataOffset,m.seek(m.byteArray.length-m.position)}var Te=function(m,$){return m.vr!==void 0?m.vr==="SQ":$.position+4<=$.byteArray.length?(m=ce($),$.seek(-4),m==="xfffee000"||m==="xfffee0dd"):($.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1)};function ve(m,$,I){if(m===void 0)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var T=ce(m),T={tag:T,vr:I!==void 0?I(T):void 0,length:m.readUint32(),dataOffset:m.position};return T.length===4294967295&&(T.hadUndefinedLength=!0),T.tag===$||(!Te(T,m)||W(T.tag)&&!T.hadUndefinedLength?T.hadUndefinedLength?be(m,T):m.seek(T.length):(Fe(m,T,I),W(T.tag)&&(T.items=void 0))),T}function ge(m){if(m===void 0)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var $={tag:ce(m),length:m.readUint32(),dataOffset:m.position};if($.tag!=="xfffee000")throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(m.position);return $}function Re(m,$){var I=ge(m);return I.length===4294967295?(I.hadUndefinedLength=!0,I.dataSet=(function(T,L){for(var Z={};T.position<T.byteArray.length;){var fe=ve(T,void 0,L);if((Z[fe.tag]=fe).tag==="xfffee00d")return new oe(T.byteArrayParser,T.byteArray,Z)}return T.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new oe(T.byteArrayParser,T.byteArray,Z)})(m,$),I.length=m.position-I.dataOffset):(I.dataSet=new oe(m.byteArrayParser,m.byteArray,{}),ft(I.dataSet,m,m.position+I.length,{vrCallback:$})),I}function Fe(m,$,I){if(m===void 0)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";$.items=[],($.length===4294967295?function(T,L,Z){for(;T.position+4<=T.byteArray.length;){var fe=ce(T);if(T.seek(-4),fe==="xfffee0dd")return L.length=T.position-L.dataOffset,T.seek(8);fe=Re(T,Z),L.items.push(fe)}T.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),L.length=T.byteArray.length-L.dataOffset}:function(T,L,Z){for(var fe=L.dataOffset+L.length;T.position<fe;){var xe=Re(T,Z);L.items.push(xe)}})(m,$,I)}function Ie(m,$){var I=ge(m);return I.length===4294967295?(I.hadUndefinedLength=!0,I.dataSet=(function(T,L){for(var Z={};T.position<T.byteArray.length;){var fe=Ce(T,L);if((Z[fe.tag]=fe).tag==="xfffee00d")return new oe(T.byteArrayParser,T.byteArray,Z)}return L.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new oe(T.byteArrayParser,T.byteArray,Z)})(m,$),I.length=m.position-I.dataOffset):(I.dataSet=new oe(m.byteArrayParser,m.byteArray,{}),Ke(I.dataSet,m,m.position+I.length)),I}function Be(m,$,I){if(m===void 0)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";$.items=[],($.length===4294967295?function(T,L,Z){for(;T.position+4<=T.byteArray.length;){var fe=ce(T);if(T.seek(-4),fe==="xfffee0dd")return L.length=T.position-L.dataOffset,T.seek(8);fe=Ie(T,Z),L.items.push(fe)}Z.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),L.length=T.position-L.dataOffset}:function(T,L,Z){for(var fe=L.dataOffset+L.length;T.position<fe;){var xe=Ie(T,Z);L.items.push(xe)}})(m,$,I)}var je=function(m){return m==="OB"||m==="OD"||m==="OL"||m==="OW"||m==="SQ"||m==="OF"||m==="UC"||m==="UR"||m==="UT"||m==="UN"?4:2};function Ce(m,$,I){if(m===void 0)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var T={tag:ce(m),vr:m.readFixedString(2)};return je(T.vr)===2?T.length=m.readUint16():(m.seek(2),T.length=m.readUint32()),T.dataOffset=m.position,T.length===4294967295&&(T.hadUndefinedLength=!0),T.tag===I||(T.vr==="SQ"?Be(m,T,$):T.length===4294967295?T.tag==="x7fe00010"?he(m,T,$):(T.vr==="UN"?Fe:be)(m,T):m.seek(T.length)),T}function Ke(m,$,I){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:{};if(I=I===void 0?$.byteArray.length:I,$===void 0)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(I<$.position||I>$.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var L=m.elements;$.position<I;){var Z=Ce($,m.warnings,T.untilTag);if((L[Z.tag]=Z).tag===T.untilTag)return}if($.position>I)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function ft(m,$,I){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:{};if(I=I===void 0?m.byteArray.length:I,$===void 0)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(I<$.position||I>$.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var L=m.elements;$.position<I;){var Z=ve($,T.untilTag,T.vrCallback);if((L[Z.tag]=Z).tag===T.untilTag)return}}function bt(m,$){if(typeof Buffer<"u"&&m instanceof Buffer)return Buffer.alloc($);if(m instanceof Uint8Array)return new Uint8Array($);throw"dicomParser.alloc: unknown type for byteArray"}var ot="1.8.12",Ze={readUint16:function(m,$){if($<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if($+2>m.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(m[$]<<8)+m[$+1]},readInt16:function(m,$){if($<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if($+2>m.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";return $=(m[$]<<8)+m[$+1],$=32768&$?$-65535-1:$},readUint32:function(m,$){if($<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*m[$]+m[$+1])+m[$+2])+m[$+3]},readInt32:function(m,$){if($<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(m[$]<<24)+(m[$+1]<<16)+(m[$+2]<<8)+m[$+3]},readFloat:function(m,$){if($<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var I=new Uint8Array(4);return I[3]=m[$],I[2]=m[$+1],I[1]=m[$+2],I[0]=m[$+3],new Float32Array(I.buffer)[0]},readDouble:function(m,$){if($<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if($+8>m.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var I=new Uint8Array(8);return I[7]=m[$],I[6]=m[$+1],I[5]=m[$+2],I[4]=m[$+3],I[3]=m[$+4],I[2]=m[$+5],I[1]=m[$+6],I[0]=m[$+7],new Float64Array(I.buffer)[0]}};function He(m,$,I){if(typeof Buffer<"u"&&m instanceof Buffer)return m.slice($,$+I);if(m instanceof Uint8Array)return new Uint8Array(m.buffer,m.byteOffset+$,I);throw"dicomParser.from: unknown type for byteArray"}function ke(m,$){for(var I=0;I<$.length;I++){var T=$[I];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(m,T.key,T)}}var Qe=(function(){function m(T,L,Z){if((function(fe,xe){if(!(fe instanceof xe))throw new TypeError("Cannot call a class as a function")})(this,m),T===void 0)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(L===void 0)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(!(L instanceof Uint8Array)&&(typeof Buffer>"u"||!(L instanceof Buffer)))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(Z<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(Z>=L.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=T,this.byteArray=L,this.position=Z||0,this.warnings=[]}var $,I;return $=m,(I=[{key:"seek",value:function(T){if(this.position+T<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=T}},{key:"readByteStream",value:function(T){if(this.position+T>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var L=He(this.byteArray,this.position,T);return this.position+=T,new m(this.byteArrayParser,L)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var T=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,T}},{key:"readUint32",value:function(){var T=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,T}},{key:"readFixedString",value:function(T){var L=le(this.byteArray,this.position,T);return this.position+=T,L}}])&&ke($.prototype,I),Object.defineProperty($,"prototype",{writable:!1}),m})(),vt={readUint16:function(m,$){if($<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if($+2>m.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return m[$]+256*m[$+1]},readInt16:function(m,$){if($<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if($+2>m.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";return $=m[$]+(m[$+1]<<8),$=32768&$?$-65535-1:$},readUint32:function(m,$){if($<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return m[$]+256*m[$+1]+256*m[$+2]*256+256*m[$+3]*256*256},readInt32:function(m,$){if($<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return m[$]+(m[$+1]<<8)+(m[$+2]<<16)+(m[$+3]<<24)},readFloat:function(m,$){if($<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var I=new Uint8Array(4);return I[0]=m[$],I[1]=m[$+1],I[2]=m[$+2],I[3]=m[$+3],new Float32Array(I.buffer)[0]},readDouble:function(m,$){if($<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if($+8>m.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var I=new Uint8Array(8);return I[0]=m[$],I[1]=m[$+1],I[2]=m[$+2],I[3]=m[$+3],I[4]=m[$+4],I[5]=m[$+5],I[6]=m[$+6],I[7]=m[$+7],new Float64Array(I.buffer)[0]}};function Zt(m){var $=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};if(m===void 0)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var I=$.TransferSyntaxUID,T=new Qe(vt,m);return(function(){var L=(function(){if(T.getSize()<=132&&I)return!1;if(T.seek(128),T.readFixedString(4)==="DICM")return!0;if(!($||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return T.seek(0),!1})(),Z=[],fe={};if(!L)return T.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:I}},warnings:Z};for(;T.position<T.byteArray.length;){var xe=T.position,De=Ce(T,Z);if("x0002ffff"<De.tag){T.position=xe;break}De.parser=vt,fe[De.tag]=De}return(L=new oe(T.byteArrayParser,T.byteArray,fe)).warnings=T.warnings,L.position=T.position,L})()}var Wt="1.2.840.10008.1.2.2";function Bt(m){var $=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};if(m===void 0)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var I,T=function(Z){if(Z.elements.x00020010===void 0)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");return Z=Z.elements.x00020010,Z&&Z.Value||le(m,Z.dataOffset,Z.length)};function L(De){var xe=T(De),fe=xe!=="1.2.840.10008.1.2",xe=(function(ze,Ee){var qe=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";if(ze!=="1.2.840.10008.1.2.1.99")return new Qe(ze===Wt?Ze:vt,m,Ee);if($&&$.inflater)return ze=$.inflater(m,Ee),new Qe(vt,ze,0);if(qe==!0){var Ne=P(0),Ve=He(m,Ee,m.length-Ee),Ne=Ne.inflateRawSync(Ve),Ve=bt(m,Ne.length+Ee);return m.copy(Ve,0,0,Ee),Ne.copy(Ve,Ee),new Qe(vt,Ve,0)}if(typeof pako>"u")throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax";return Ne=m.slice(Ee),Ve=pako.inflateRaw(Ne),(Ne=bt(m,Ve.length+Ee)).set(m.slice(0,Ee),0),Ne.set(Ve,Ee),new Qe(vt,Ne,0)})(xe,De.position),De=new oe(xe.byteArrayParser,xe.byteArray,{});De.warnings=xe.warnings;try{(fe?Ke:ft)(De,xe,xe.byteArray.length,$)}catch(ze){throw{exception:ze,dataSet:De}}return De}return(function(Z,fe){for(var xe in Z.elements)Z.elements.hasOwnProperty(xe)&&(fe.elements[xe]=Z.elements[xe]);return Z.warnings!==void 0&&(fe.warnings=Z.warnings.concat(fe.warnings)),fe})(I=Zt(m,$),L(I))}var kt=function(m,$,I){for(var T=0,L=$;L<$+I;L++)T+=m[L].length;return T};function wt(m,fe,I,T,L){if(L=L||fe.fragments,m===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(fe===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(I===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if((T=T||1)===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if(fe.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(fe.encapsulatedPixelData!==!0||fe.hadUndefinedLength!==!0||fe.basicOffsetTable===void 0||fe.fragments===void 0||fe.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(I<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(I>=fe.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(T<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(I+T>fe.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var Z=new Qe(m.byteArrayParser,m.byteArray,fe.dataOffset),fe=ge(Z);if(fe.tag!=="xfffee000")throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";Z.seek(fe.length);var xe=Z.position;if(T===1)return He(Z.byteArray,xe+L[I].offset+8,L[I].length);for(var fe=kt(L,I,T),De=bt(Z.byteArray,fe),ze=0,Ee=I;Ee<I+T;Ee++)for(var qe=xe+L[Ee].offset+8,Ne=0;Ne<L[Ee].length;Ne++)De[ze++]=Z.byteArray[qe++];return De}var hr=function(m,$){for(var I=0;I<m.length;I++)if(m[I].offset===$)return I},pr=function(m,$,I,T){if(m===$.length-1)return I.length-T;for(var L=$[m+1],Z=T+1;Z<I.length;Z++)if(I[Z].offset===L)return Z-T;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function vr(m,$,I,T,L){if(T=T||$.basicOffsetTable,L=L||$.fragments,m===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if($===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(I===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(T===void 0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if($.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if($.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if($.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if($.fragments===void 0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(T.length===0)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(I<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(I>=T.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var Z=T[I],Z=hr(L,Z);if(Z===void 0)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return wt(m,$,Z,pr(I,T,L,Z),L)}var Cr=!1;function Sr(m,$,I){if(Cr||(Cr=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),m===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if($===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(I===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if($.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if($.encapsulatedPixelData!==!0||$.hadUndefinedLength!==!0||$.basicOffsetTable===void 0||$.fragments===void 0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(I<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return $.basicOffsetTable.length!==0?vr(m,$,I):wt(m,$,0,$.fragments.length)}d.default={isStringVr:w,isPrivateTag:W,parsePN:F,parseTM:k,parseDA:Y,explicitElementToString:K,explicitDataSetToJS:ee,createJPEGBasicOffsetTable:J,parseDicomDataSetExplicit:Ke,parseDicomDataSetImplicit:ft,readFixedString:le,alloc:bt,version:ot,bigEndianByteArrayParser:Ze,ByteStream:Qe,sharedCopy:He,DataSet:oe,findAndSetUNElementLength:re,findEndOfEncapsulatedElement:he,findItemDelimitationItemAndSetElementLength:be,littleEndianByteArrayParser:vt,parseDicom:Bt,readDicomElementExplicit:Ce,readDicomElementImplicit:ve,readEncapsulatedImageFrame:vr,readEncapsulatedPixelData:Sr,readEncapsulatedPixelDataFromFragments:wt,readPart10Header:Zt,readSequenceItemsExplicit:Be,readSequenceItemsImplicit:Fe,readSequenceItem:ge,readTag:ce,LEI:"1.2.840.10008.1.2",LEE:"1.2.840.10008.1.2.1"}}],l={},n.m=i,n.c=l,n.d=function(a,d,P){n.o(a,d)||Object.defineProperty(a,d,{enumerable:!0,get:P})},n.r=function(a){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},n.t=function(a,d){if(1&d&&(a=n(a)),8&d||4&d&&typeof a=="object"&&a&&a.__esModule)return a;var P=Object.create(null);if(n.r(P),Object.defineProperty(P,"default",{enumerable:!0,value:a}),2&d&&typeof a!="string")for(var y in a)n.d(P,y,(function(w){return a[w]}).bind(null,y));return P},n.n=function(a){var d=a&&a.__esModule?function(){return a.default}:function(){return a};return n.d(d,"a",d),d},n.o=function(a,d){return Object.prototype.hasOwnProperty.call(a,d)},n.p="",n(n.s=1);function n(a){if(l[a])return l[a].exports;var d=l[a]={i:a,l:!1,exports:{}};return i[a].call(d.exports,d,d.exports,n),d.l=!0,d.exports}var i,l})})(yi)),yi.exports}var ar=Hc();function Da(e){const r=e.indexOf(":");let t=e.substring(r+1);const n=t.indexOf("frame=");let i;if(n!==-1){const d=t.substring(n+6);i=parseInt(d,10),t=t.substring(0,n-1)}const l=e.substring(0,r),a=i!==void 0?i-1:void 0;return{scheme:l,url:t,frame:i,pixelDataFrame:a}}let uo={open(e,r){e.open("get",r,!0)},beforeSend:async()=>{},beforeProcessing(e){return Promise.resolve(e.response)},imageCreated(){},strict:!1};function wl(e){uo=Object.assign(uo,e)}function ti(){return uo}function Si(e,r,t={},n={}){const i=ti(),l=P=>{if(typeof i.errorInterceptor=="function"){const y=new Error("request failed");y.request=P,y.response=P.response,y.status=P.status,i.errorInterceptor(y)}},a=new XMLHttpRequest,d=new Promise(async(P,y)=>{i.open(a,e,t,n);const w=await i.beforeSend(a,r,t,n);a.responseType="arraybuffer";const W=Object.assign({},t,w);Object.keys(W).forEach(function(F){W[F]!==null&&(F==="Accept"&&e.indexOf("accept=")!==-1||a.setRequestHeader(F,W[F]))}),n.deferred={resolve:P,reject:y},n.url=e,n.imageId=r,a.onloadstart=function(F){i.onloadstart&&i.onloadstart(F,n),Pa(xa,"cornerstoneimageloadstart",{url:e,imageId:r})},a.onloadend=function(F){i.onloadend&&i.onloadend(F,n),Pa(xa,"cornerstoneimageloadend",{url:e,imageId:r})},a.onreadystatechange=function(F){i.onreadystatechange&&i.onreadystatechange(F,n),a.readyState===4&&(a.status===200||a.status===206?i.beforeProcessing(a).then(P).catch(()=>{l(a),y(a)}):(l(a),y(a)))},a.onprogress=function(F){const k=F.loaded;let j,Y;F.lengthComputable&&(j=F.total,Y=Math.round(k/j*100)),Pa(xa,"cornerstoneimageloadprogress",{url:e,imageId:r,loaded:k,total:j,percentComplete:Y}),i.onprogress&&i.onprogress(F,n)},a.onerror=function(){l(a),y(a)},a.onabort=function(){l(a),y(a)},a.send()});return d.xhr=a,d}function zc(e,r,t){if(t+e.length>r.length)return!1;let n=t;for(let i=0;i<e.length;i++)if(e[i]!==r[n++])return!1;return!0}function Vc(e){const r=new Uint8Array(e.length);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return r}function ho(e,r,t){t=t||0;const n=Vc(r);for(let i=t;i<e.length;i++)if(n[0]===e[i]&&zc(n,e,i))return i;return-1}const{ImageQualityStatus:es}=_n;function Io(e,r,t){t||={};const n=new Uint8Array(r),i=!!t?.isPartial;if(e.indexOf("multipart")===-1)return{contentType:e,imageQualityStatus:i?es.SUBRESOLUTION:es.FULL_RESOLUTION,pixelData:n};let{tokenIndex:l,responseHeaders:a,boundary:d,multipartContentType:P}=t;if(l||=ho(n,`\r
2
+ \r
3
+ `),l===-1)throw new Error("invalid response - no multipart mime header");if(!d&&(a=qc(n,0,l).split(`\r
4
+ `),d=Gc(a),!d))throw new Error("invalid response - no boundary marker");const y=l+4,w=ho(n,d,y);if(w===-1&&!i)throw new Error("invalid response - terminating boundary not found");return P||=Zc(a),t.tokenIndex=l,t.boundary=d,t.responseHeaders=a,t.multipartContentType=P,t.isPartial=w===-1,{contentType:P,extractDone:!i||w!==-1,tokenIndex:l,responseHeaders:a,boundary:d,multipartContentType:P,pixelData:r.slice(y,w-2)}}function Gc(e){for(let r=0;r<e.length;r++)if(e[r].substr(0,2)==="--")return e[r]}function Zc(e){for(let r=0;r<e.length;r++)if(e[r].substr(0,13)==="Content-Type:")return e[r].substr(13).trim()}function qc(e,r,t){r=r||0,t=t||e.length-r;let n="";for(let i=r;i<r+t;i++)n+=String.fromCharCode(e[i]);return n}const{ImageQualityStatus:ts}=_n;function Oo(e,r=!0){return r?e.imageQualityStatus??ts.FULL_RESOLUTION:ts.SUBRESOLUTION}const{ProgressiveIterator:Jc}=dl;function Pl(e,r,t={},n={}){const i=ti(),{retrieveOptions:l={},streamingData:a={}}=n,d=l.minChunkSize||128*1024,P=w=>{if(typeof i.errorInterceptor=="function"){const W=new Error("request failed");i.errorInterceptor(W)}},y=new Jc("streamRequest");return y.generate(async(w,W)=>{const F=await i.beforeSend?.(null,e,t,{}),k=Object.assign({},t,F);Object.keys(k).forEach(function(j){k[j]===null&&(k[j]=void 0),j==="Accept"&&e.indexOf("accept=")!==-1&&(k[j]=void 0)});try{const j=await fetch(e,{headers:k,signal:void 0});if(j.status!==200)throw new Error(`Couldn't retrieve ${e} got status ${j.status}`);const Y=j.body.getReader(),K=j.headers,ee=K.get("content-type"),X=Number(K.get("Content-Length"));let H=!1,J=a.encodedData,ce=a.lastSize||0;for(a.isPartial=!0;!H;){const{done:he,value:re}=await Y.read();if(J=Yc(J,re),!J){if(H)throw new Error(`Done but no image frame available ${r}`);continue}if(H=he||J.byteLength===X,!H&&J.length<ce+d)continue;ce=J.length,a.isPartial=!he;const le=Io(ee,J,a),ie=Oo(l,H),te={url:e,imageId:r,...le,percentComplete:he?100:le.pixelData?.length*100/X,imageQualityStatus:ie,done:H};w.add(te,H)}}catch(j){P(),console.error(j),W(j)}}),y.getNextPromise()}function Yc(e,r){if(!e)return r;if(!r)return e;const t=new Uint8Array(e.length+r.length);return t.set(e,0),t.set(r,e.length),t}const Xc={xhrRequest:Si,streamRequest:Pl,setOptions:wl,getOptions:ti};const Kc=4,rs=0,ns=1,Qc=2;function Ra(e){let r=e.length;for(;--r>=0;)e[r]=0}const eu=0,xl=1,tu=2,ru=3,nu=258,ko=29,ri=256,Ga=ri+1+ko,Ta=30,Lo=19,El=2*Ga+1,da=15,zi=16,au=7,Uo=256,Tl=16,$l=17,Al=18,po=new Uint8Array([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]),mi=new Uint8Array([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]),iu=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Cl=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ou=512,hn=new Array((Ga+2)*2);Ra(hn);const Ba=new Array(Ta*2);Ra(Ba);const Za=new Array(ou);Ra(Za);const qa=new Array(nu-ru+1);Ra(qa);const Mo=new Array(ko);Ra(Mo);const xi=new Array(Ta);Ra(xi);function Vi(e,r,t,n,i){this.static_tree=e,this.extra_bits=r,this.extra_base=t,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}let Sl,Dl,Rl;function Gi(e,r){this.dyn_tree=e,this.max_code=0,this.stat_desc=r}const Il=e=>e<256?Za[e]:Za[256+(e>>>7)],Ja=(e,r)=>{e.pending_buf[e.pending++]=r&255,e.pending_buf[e.pending++]=r>>>8&255},Gt=(e,r,t)=>{e.bi_valid>zi-t?(e.bi_buf|=r<<e.bi_valid&65535,Ja(e,e.bi_buf),e.bi_buf=r>>zi-e.bi_valid,e.bi_valid+=t-zi):(e.bi_buf|=r<<e.bi_valid&65535,e.bi_valid+=t)},Br=(e,r,t)=>{Gt(e,t[r*2],t[r*2+1])},Ol=(e,r)=>{let t=0;do t|=e&1,e>>>=1,t<<=1;while(--r>0);return t>>>1},su=e=>{e.bi_valid===16?(Ja(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},lu=(e,r)=>{const t=r.dyn_tree,n=r.max_code,i=r.stat_desc.static_tree,l=r.stat_desc.has_stree,a=r.stat_desc.extra_bits,d=r.stat_desc.extra_base,P=r.stat_desc.max_length;let y,w,W,F,k,j,Y=0;for(F=0;F<=da;F++)e.bl_count[F]=0;for(t[e.heap[e.heap_max]*2+1]=0,y=e.heap_max+1;y<El;y++)w=e.heap[y],F=t[t[w*2+1]*2+1]+1,F>P&&(F=P,Y++),t[w*2+1]=F,!(w>n)&&(e.bl_count[F]++,k=0,w>=d&&(k=a[w-d]),j=t[w*2],e.opt_len+=j*(F+k),l&&(e.static_len+=j*(i[w*2+1]+k)));if(Y!==0){do{for(F=P-1;e.bl_count[F]===0;)F--;e.bl_count[F]--,e.bl_count[F+1]+=2,e.bl_count[P]--,Y-=2}while(Y>0);for(F=P;F!==0;F--)for(w=e.bl_count[F];w!==0;)W=e.heap[--y],!(W>n)&&(t[W*2+1]!==F&&(e.opt_len+=(F-t[W*2+1])*t[W*2],t[W*2+1]=F),w--)}},kl=(e,r,t)=>{const n=new Array(da+1);let i=0,l,a;for(l=1;l<=da;l++)i=i+t[l-1]<<1,n[l]=i;for(a=0;a<=r;a++){let d=e[a*2+1];d!==0&&(e[a*2]=Ol(n[d]++,d))}},fu=()=>{let e,r,t,n,i;const l=new Array(da+1);for(t=0,n=0;n<ko-1;n++)for(Mo[n]=t,e=0;e<1<<po[n];e++)qa[t++]=n;for(qa[t-1]=n,i=0,n=0;n<16;n++)for(xi[n]=i,e=0;e<1<<mi[n];e++)Za[i++]=n;for(i>>=7;n<Ta;n++)for(xi[n]=i<<7,e=0;e<1<<mi[n]-7;e++)Za[256+i++]=n;for(r=0;r<=da;r++)l[r]=0;for(e=0;e<=143;)hn[e*2+1]=8,e++,l[8]++;for(;e<=255;)hn[e*2+1]=9,e++,l[9]++;for(;e<=279;)hn[e*2+1]=7,e++,l[7]++;for(;e<=287;)hn[e*2+1]=8,e++,l[8]++;for(kl(hn,Ga+1,l),e=0;e<Ta;e++)Ba[e*2+1]=5,Ba[e*2]=Ol(e,5);Sl=new Vi(hn,po,ri+1,Ga,da),Dl=new Vi(Ba,mi,0,Ta,da),Rl=new Vi(new Array(0),iu,0,Lo,au)},Ll=e=>{let r;for(r=0;r<Ga;r++)e.dyn_ltree[r*2]=0;for(r=0;r<Ta;r++)e.dyn_dtree[r*2]=0;for(r=0;r<Lo;r++)e.bl_tree[r*2]=0;e.dyn_ltree[Uo*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},Ul=e=>{e.bi_valid>8?Ja(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},as=(e,r,t,n)=>{const i=r*2,l=t*2;return e[i]<e[l]||e[i]===e[l]&&n[r]<=n[t]},Zi=(e,r,t)=>{const n=e.heap[t];let i=t<<1;for(;i<=e.heap_len&&(i<e.heap_len&&as(r,e.heap[i+1],e.heap[i],e.depth)&&i++,!as(r,n,e.heap[i],e.depth));)e.heap[t]=e.heap[i],t=i,i<<=1;e.heap[t]=n},is=(e,r,t)=>{let n,i,l=0,a,d;if(e.sym_next!==0)do n=e.pending_buf[e.sym_buf+l++]&255,n+=(e.pending_buf[e.sym_buf+l++]&255)<<8,i=e.pending_buf[e.sym_buf+l++],n===0?Br(e,i,r):(a=qa[i],Br(e,a+ri+1,r),d=po[a],d!==0&&(i-=Mo[a],Gt(e,i,d)),n--,a=Il(n),Br(e,a,t),d=mi[a],d!==0&&(n-=xi[a],Gt(e,n,d)));while(l<e.sym_next);Br(e,Uo,r)},vo=(e,r)=>{const t=r.dyn_tree,n=r.stat_desc.static_tree,i=r.stat_desc.has_stree,l=r.stat_desc.elems;let a,d,P=-1,y;for(e.heap_len=0,e.heap_max=El,a=0;a<l;a++)t[a*2]!==0?(e.heap[++e.heap_len]=P=a,e.depth[a]=0):t[a*2+1]=0;for(;e.heap_len<2;)y=e.heap[++e.heap_len]=P<2?++P:0,t[y*2]=1,e.depth[y]=0,e.opt_len--,i&&(e.static_len-=n[y*2+1]);for(r.max_code=P,a=e.heap_len>>1;a>=1;a--)Zi(e,t,a);y=l;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Zi(e,t,1),d=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=d,t[y*2]=t[a*2]+t[d*2],e.depth[y]=(e.depth[a]>=e.depth[d]?e.depth[a]:e.depth[d])+1,t[a*2+1]=t[d*2+1]=y,e.heap[1]=y++,Zi(e,t,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],lu(e,r),kl(t,P,e.bl_count)},os=(e,r,t)=>{let n,i=-1,l,a=r[1],d=0,P=7,y=4;for(a===0&&(P=138,y=3),r[(t+1)*2+1]=65535,n=0;n<=t;n++)l=a,a=r[(n+1)*2+1],!(++d<P&&l===a)&&(d<y?e.bl_tree[l*2]+=d:l!==0?(l!==i&&e.bl_tree[l*2]++,e.bl_tree[Tl*2]++):d<=10?e.bl_tree[$l*2]++:e.bl_tree[Al*2]++,d=0,i=l,a===0?(P=138,y=3):l===a?(P=6,y=3):(P=7,y=4))},ss=(e,r,t)=>{let n,i=-1,l,a=r[1],d=0,P=7,y=4;for(a===0&&(P=138,y=3),n=0;n<=t;n++)if(l=a,a=r[(n+1)*2+1],!(++d<P&&l===a)){if(d<y)do Br(e,l,e.bl_tree);while(--d!==0);else l!==0?(l!==i&&(Br(e,l,e.bl_tree),d--),Br(e,Tl,e.bl_tree),Gt(e,d-3,2)):d<=10?(Br(e,$l,e.bl_tree),Gt(e,d-3,3)):(Br(e,Al,e.bl_tree),Gt(e,d-11,7));d=0,i=l,a===0?(P=138,y=3):l===a?(P=6,y=3):(P=7,y=4)}},cu=e=>{let r;for(os(e,e.dyn_ltree,e.l_desc.max_code),os(e,e.dyn_dtree,e.d_desc.max_code),vo(e,e.bl_desc),r=Lo-1;r>=3&&e.bl_tree[Cl[r]*2+1]===0;r--);return e.opt_len+=3*(r+1)+5+5+4,r},uu=(e,r,t,n)=>{let i;for(Gt(e,r-257,5),Gt(e,t-1,5),Gt(e,n-4,4),i=0;i<n;i++)Gt(e,e.bl_tree[Cl[i]*2+1],3);ss(e,e.dyn_ltree,r-1),ss(e,e.dyn_dtree,t-1)},du=e=>{let r=4093624447,t;for(t=0;t<=31;t++,r>>>=1)if(r&1&&e.dyn_ltree[t*2]!==0)return rs;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return ns;for(t=32;t<ri;t++)if(e.dyn_ltree[t*2]!==0)return ns;return rs};let ls=!1;const hu=e=>{ls||(fu(),ls=!0),e.l_desc=new Gi(e.dyn_ltree,Sl),e.d_desc=new Gi(e.dyn_dtree,Dl),e.bl_desc=new Gi(e.bl_tree,Rl),e.bi_buf=0,e.bi_valid=0,Ll(e)},Ml=(e,r,t,n)=>{Gt(e,(eu<<1)+(n?1:0),3),Ul(e),Ja(e,t),Ja(e,~t),t&&e.pending_buf.set(e.window.subarray(r,r+t),e.pending),e.pending+=t},pu=e=>{Gt(e,xl<<1,3),Br(e,Uo,hn),su(e)},vu=(e,r,t,n)=>{let i,l,a=0;e.level>0?(e.strm.data_type===Qc&&(e.strm.data_type=du(e)),vo(e,e.l_desc),vo(e,e.d_desc),a=cu(e),i=e.opt_len+3+7>>>3,l=e.static_len+3+7>>>3,l<=i&&(i=l)):i=l=t+5,t+4<=i&&r!==-1?Ml(e,r,t,n):e.strategy===Kc||l===i?(Gt(e,(xl<<1)+(n?1:0),3),is(e,hn,Ba)):(Gt(e,(tu<<1)+(n?1:0),3),uu(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),is(e,e.dyn_ltree,e.dyn_dtree)),Ll(e),n&&Ul(e)},gu=(e,r,t)=>(e.pending_buf[e.sym_buf+e.sym_next++]=r,e.pending_buf[e.sym_buf+e.sym_next++]=r>>8,e.pending_buf[e.sym_buf+e.sym_next++]=t,r===0?e.dyn_ltree[t*2]++:(e.matches++,r--,e.dyn_ltree[(qa[t]+ri+1)*2]++,e.dyn_dtree[Il(r)*2]++),e.sym_next===e.sym_end);var _u=hu,yu=Ml,mu=vu,bu=gu,wu=pu,Pu={_tr_init:_u,_tr_stored_block:yu,_tr_flush_block:mu,_tr_tally:bu,_tr_align:wu};const xu=(e,r,t,n)=>{let i=e&65535|0,l=e>>>16&65535|0,a=0;for(;t!==0;){a=t>2e3?2e3:t,t-=a;do i=i+r[n++]|0,l=l+i|0;while(--a);i%=65521,l%=65521}return i|l<<16|0};var Ya=xu;const Eu=()=>{let e,r=[];for(var t=0;t<256;t++){e=t;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;r[t]=e}return r},Tu=new Uint32Array(Eu()),$u=(e,r,t,n)=>{const i=Tu,l=n+t;e^=-1;for(let a=n;a<l;a++)e=e>>>8^i[(e^r[a])&255];return e^-1};var mt=$u,va={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"},ni={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_MEM_ERROR:-4,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};const{_tr_init:Au,_tr_stored_block:go,_tr_flush_block:Cu,_tr_tally:Fn,_tr_align:Su}=Pu,{Z_NO_FLUSH:Nn,Z_PARTIAL_FLUSH:Du,Z_FULL_FLUSH:Ru,Z_FINISH:ur,Z_BLOCK:fs,Z_OK:Ct,Z_STREAM_END:cs,Z_STREAM_ERROR:jr,Z_DATA_ERROR:Iu,Z_BUF_ERROR:qi,Z_DEFAULT_COMPRESSION:Ou,Z_FILTERED:ku,Z_HUFFMAN_ONLY:ui,Z_RLE:Lu,Z_FIXED:Uu,Z_DEFAULT_STRATEGY:Mu,Z_UNKNOWN:Fu,Z_DEFLATED:Di}=ni,Nu=9,Wu=15,Bu=8,ju=29,Hu=256,_o=Hu+1+ju,zu=30,Vu=19,Gu=2*_o+1,Zu=15,Oe=3,Mn=258,Hr=Mn+Oe+1,qu=32,Aa=42,Fo=57,yo=69,mo=73,bo=91,wo=103,ha=113,Ua=666,Nt=1,Ia=2,ga=3,Oa=4,Ju=3,pa=(e,r)=>(e.msg=va[r],r),us=e=>e*2-(e>4?9:0),Un=e=>{let r=e.length;for(;--r>=0;)e[r]=0},Yu=e=>{let r,t,n,i=e.w_size;r=e.hash_size,n=r;do t=e.head[--n],e.head[n]=t>=i?t-i:0;while(--r);r=i,n=r;do t=e.prev[--n],e.prev[n]=t>=i?t-i:0;while(--r)};let Xu=(e,r,t)=>(r<<e.hash_shift^t)&e.hash_mask,Wn=Xu;const nr=e=>{const r=e.state;let t=r.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.output.set(r.pending_buf.subarray(r.pending_out,r.pending_out+t),e.next_out),e.next_out+=t,r.pending_out+=t,e.total_out+=t,e.avail_out-=t,r.pending-=t,r.pending===0&&(r.pending_out=0))},ir=(e,r)=>{Cu(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,r),e.block_start=e.strstart,nr(e.strm)},We=(e,r)=>{e.pending_buf[e.pending++]=r},La=(e,r)=>{e.pending_buf[e.pending++]=r>>>8&255,e.pending_buf[e.pending++]=r&255},Po=(e,r,t,n)=>{let i=e.avail_in;return i>n&&(i=n),i===0?0:(e.avail_in-=i,r.set(e.input.subarray(e.next_in,e.next_in+i),t),e.state.wrap===1?e.adler=Ya(e.adler,r,i,t):e.state.wrap===2&&(e.adler=mt(e.adler,r,i,t)),e.next_in+=i,e.total_in+=i,i)},Fl=(e,r)=>{let t=e.max_chain_length,n=e.strstart,i,l,a=e.prev_length,d=e.nice_match;const P=e.strstart>e.w_size-Hr?e.strstart-(e.w_size-Hr):0,y=e.window,w=e.w_mask,W=e.prev,F=e.strstart+Mn;let k=y[n+a-1],j=y[n+a];e.prev_length>=e.good_match&&(t>>=2),d>e.lookahead&&(d=e.lookahead);do if(i=r,!(y[i+a]!==j||y[i+a-1]!==k||y[i]!==y[n]||y[++i]!==y[n+1])){n+=2,i++;do;while(y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&n<F);if(l=Mn-(F-n),n=F-Mn,l>a){if(e.match_start=r,a=l,l>=d)break;k=y[n+a-1],j=y[n+a]}}while((r=W[r&w])>P&&--t!==0);return a<=e.lookahead?a:e.lookahead},Ca=e=>{const r=e.w_size;let t,n,i;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=r+(r-Hr)&&(e.window.set(e.window.subarray(r,r+r-n),0),e.match_start-=r,e.strstart-=r,e.block_start-=r,e.insert>e.strstart&&(e.insert=e.strstart),Yu(e),n+=r),e.strm.avail_in===0)break;if(t=Po(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=t,e.lookahead+e.insert>=Oe)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=Wn(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=Wn(e,e.ins_h,e.window[i+Oe-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<Oe)););}while(e.lookahead<Hr&&e.strm.avail_in!==0)},Nl=(e,r)=>{let t=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,n,i,l,a=0,d=e.strm.avail_in;do{if(n=65535,l=e.bi_valid+42>>3,e.strm.avail_out<l||(l=e.strm.avail_out-l,i=e.strstart-e.block_start,n>i+e.strm.avail_in&&(n=i+e.strm.avail_in),n>l&&(n=l),n<t&&(n===0&&r!==ur||r===Nn||n!==i+e.strm.avail_in)))break;a=r===ur&&n===i+e.strm.avail_in?1:0,go(e,0,0,a),e.pending_buf[e.pending-4]=n,e.pending_buf[e.pending-3]=n>>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,nr(e.strm),i&&(i>n&&(i=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,n-=i),n&&(Po(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(a===0);return d-=e.strm.avail_in,d&&(d>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=d&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-d,e.strm.next_in),e.strstart),e.strstart+=d,e.insert+=d>e.w_size-e.insert?e.w_size-e.insert:d),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),a?Oa:r!==Nn&&r!==ur&&e.strm.avail_in===0&&e.strstart===e.block_start?Ia:(l=e.window_size-e.strstart,e.strm.avail_in>l&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,l+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),l>e.strm.avail_in&&(l=e.strm.avail_in),l&&(Po(e.strm,e.window,e.strstart,l),e.strstart+=l,e.insert+=l>e.w_size-e.insert?e.w_size-e.insert:l),e.high_water<e.strstart&&(e.high_water=e.strstart),l=e.bi_valid+42>>3,l=e.pending_buf_size-l>65535?65535:e.pending_buf_size-l,t=l>e.w_size?e.w_size:l,i=e.strstart-e.block_start,(i>=t||(i||r===ur)&&r!==Nn&&e.strm.avail_in===0&&i<=l)&&(n=i>l?l:i,a=r===ur&&e.strm.avail_in===0&&n===i?1:0,go(e,e.block_start,n,a),e.block_start+=n,nr(e.strm)),a?ga:Nt)},Ji=(e,r)=>{let t,n;for(;;){if(e.lookahead<Hr){if(Ca(e),e.lookahead<Hr&&r===Nn)return Nt;if(e.lookahead===0)break}if(t=0,e.lookahead>=Oe&&(e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+Oe-1]),t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),t!==0&&e.strstart-t<=e.w_size-Hr&&(e.match_length=Fl(e,t)),e.match_length>=Oe)if(n=Fn(e,e.strstart-e.match_start,e.match_length-Oe),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Oe){e.match_length--;do e.strstart++,e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+Oe-1]),t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+1]);else n=Fn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(ir(e,!1),e.strm.avail_out===0))return Nt}return e.insert=e.strstart<Oe-1?e.strstart:Oe-1,r===ur?(ir(e,!0),e.strm.avail_out===0?ga:Oa):e.sym_next&&(ir(e,!1),e.strm.avail_out===0)?Nt:Ia},ma=(e,r)=>{let t,n,i;for(;;){if(e.lookahead<Hr){if(Ca(e),e.lookahead<Hr&&r===Nn)return Nt;if(e.lookahead===0)break}if(t=0,e.lookahead>=Oe&&(e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+Oe-1]),t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Oe-1,t!==0&&e.prev_length<e.max_lazy_match&&e.strstart-t<=e.w_size-Hr&&(e.match_length=Fl(e,t),e.match_length<=5&&(e.strategy===ku||e.match_length===Oe&&e.strstart-e.match_start>4096)&&(e.match_length=Oe-1)),e.prev_length>=Oe&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-Oe,n=Fn(e,e.strstart-1-e.prev_match,e.prev_length-Oe),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+Oe-1]),t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Oe-1,e.strstart++,n&&(ir(e,!1),e.strm.avail_out===0))return Nt}else if(e.match_available){if(n=Fn(e,0,e.window[e.strstart-1]),n&&ir(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return Nt}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Fn(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Oe-1?e.strstart:Oe-1,r===ur?(ir(e,!0),e.strm.avail_out===0?ga:Oa):e.sym_next&&(ir(e,!1),e.strm.avail_out===0)?Nt:Ia},Ku=(e,r)=>{let t,n,i,l;const a=e.window;for(;;){if(e.lookahead<=Mn){if(Ca(e),e.lookahead<=Mn&&r===Nn)return Nt;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Oe&&e.strstart>0&&(i=e.strstart-1,n=a[i],n===a[++i]&&n===a[++i]&&n===a[++i])){l=e.strstart+Mn;do;while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<l);e.match_length=Mn-(l-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Oe?(t=Fn(e,1,e.match_length-Oe),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(t=Fn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),t&&(ir(e,!1),e.strm.avail_out===0))return Nt}return e.insert=0,r===ur?(ir(e,!0),e.strm.avail_out===0?ga:Oa):e.sym_next&&(ir(e,!1),e.strm.avail_out===0)?Nt:Ia},Qu=(e,r)=>{let t;for(;;){if(e.lookahead===0&&(Ca(e),e.lookahead===0)){if(r===Nn)return Nt;break}if(e.match_length=0,t=Fn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,t&&(ir(e,!1),e.strm.avail_out===0))return Nt}return e.insert=0,r===ur?(ir(e,!0),e.strm.avail_out===0?ga:Oa):e.sym_next&&(ir(e,!1),e.strm.avail_out===0)?Nt:Ia};function Wr(e,r,t,n,i){this.good_length=e,this.max_lazy=r,this.nice_length=t,this.max_chain=n,this.func=i}const Ma=[new Wr(0,0,0,0,Nl),new Wr(4,4,8,4,Ji),new Wr(4,5,16,8,Ji),new Wr(4,6,32,32,Ji),new Wr(4,4,16,16,ma),new Wr(8,16,32,32,ma),new Wr(8,16,128,128,ma),new Wr(8,32,128,256,ma),new Wr(32,128,258,1024,ma),new Wr(32,258,258,4096,ma)],ed=e=>{e.window_size=2*e.w_size,Un(e.head),e.max_lazy_match=Ma[e.level].max_lazy,e.good_match=Ma[e.level].good_length,e.nice_match=Ma[e.level].nice_length,e.max_chain_length=Ma[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Oe-1,e.match_available=0,e.ins_h=0};function td(){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=Di,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 Uint16Array(Gu*2),this.dyn_dtree=new Uint16Array((2*zu+1)*2),this.bl_tree=new Uint16Array((2*Vu+1)*2),Un(this.dyn_ltree),Un(this.dyn_dtree),Un(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Zu+1),this.heap=new Uint16Array(2*_o+1),Un(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*_o+1),Un(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const ai=e=>{if(!e)return 1;const r=e.state;return!r||r.strm!==e||r.status!==Aa&&r.status!==Fo&&r.status!==yo&&r.status!==mo&&r.status!==bo&&r.status!==wo&&r.status!==ha&&r.status!==Ua?1:0},Wl=e=>{if(ai(e))return pa(e,jr);e.total_in=e.total_out=0,e.data_type=Fu;const r=e.state;return r.pending=0,r.pending_out=0,r.wrap<0&&(r.wrap=-r.wrap),r.status=r.wrap===2?Fo:r.wrap?Aa:ha,e.adler=r.wrap===2?0:1,r.last_flush=-2,Au(r),Ct},Bl=e=>{const r=Wl(e);return r===Ct&&ed(e.state),r},rd=(e,r)=>ai(e)||e.state.wrap!==2?jr:(e.state.gzhead=r,Ct),jl=(e,r,t,n,i,l)=>{if(!e)return jr;let a=1;if(r===Ou&&(r=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),i<1||i>Nu||t!==Di||n<8||n>15||r<0||r>9||l<0||l>Uu||n===8&&a!==1)return pa(e,jr);n===8&&(n=9);const d=new td;return e.state=d,d.strm=e,d.status=Aa,d.wrap=a,d.gzhead=null,d.w_bits=n,d.w_size=1<<d.w_bits,d.w_mask=d.w_size-1,d.hash_bits=i+7,d.hash_size=1<<d.hash_bits,d.hash_mask=d.hash_size-1,d.hash_shift=~~((d.hash_bits+Oe-1)/Oe),d.window=new Uint8Array(d.w_size*2),d.head=new Uint16Array(d.hash_size),d.prev=new Uint16Array(d.w_size),d.lit_bufsize=1<<i+6,d.pending_buf_size=d.lit_bufsize*4,d.pending_buf=new Uint8Array(d.pending_buf_size),d.sym_buf=d.lit_bufsize,d.sym_end=(d.lit_bufsize-1)*3,d.level=r,d.strategy=l,d.method=t,Bl(e)},nd=(e,r)=>jl(e,r,Di,Wu,Bu,Mu),ad=(e,r)=>{if(ai(e)||r>fs||r<0)return e?pa(e,jr):jr;const t=e.state;if(!e.output||e.avail_in!==0&&!e.input||t.status===Ua&&r!==ur)return pa(e,e.avail_out===0?qi:jr);const n=t.last_flush;if(t.last_flush=r,t.pending!==0){if(nr(e),e.avail_out===0)return t.last_flush=-1,Ct}else if(e.avail_in===0&&us(r)<=us(n)&&r!==ur)return pa(e,qi);if(t.status===Ua&&e.avail_in!==0)return pa(e,qi);if(t.status===Aa&&t.wrap===0&&(t.status=ha),t.status===Aa){let i=Di+(t.w_bits-8<<4)<<8,l=-1;if(t.strategy>=ui||t.level<2?l=0:t.level<6?l=1:t.level===6?l=2:l=3,i|=l<<6,t.strstart!==0&&(i|=qu),i+=31-i%31,La(t,i),t.strstart!==0&&(La(t,e.adler>>>16),La(t,e.adler&65535)),e.adler=1,t.status=ha,nr(e),t.pending!==0)return t.last_flush=-1,Ct}if(t.status===Fo){if(e.adler=0,We(t,31),We(t,139),We(t,8),t.gzhead)We(t,(t.gzhead.text?1:0)+(t.gzhead.hcrc?2:0)+(t.gzhead.extra?4:0)+(t.gzhead.name?8:0)+(t.gzhead.comment?16:0)),We(t,t.gzhead.time&255),We(t,t.gzhead.time>>8&255),We(t,t.gzhead.time>>16&255),We(t,t.gzhead.time>>24&255),We(t,t.level===9?2:t.strategy>=ui||t.level<2?4:0),We(t,t.gzhead.os&255),t.gzhead.extra&&t.gzhead.extra.length&&(We(t,t.gzhead.extra.length&255),We(t,t.gzhead.extra.length>>8&255)),t.gzhead.hcrc&&(e.adler=mt(e.adler,t.pending_buf,t.pending,0)),t.gzindex=0,t.status=yo;else if(We(t,0),We(t,0),We(t,0),We(t,0),We(t,0),We(t,t.level===9?2:t.strategy>=ui||t.level<2?4:0),We(t,Ju),t.status=ha,nr(e),t.pending!==0)return t.last_flush=-1,Ct}if(t.status===yo){if(t.gzhead.extra){let i=t.pending,l=(t.gzhead.extra.length&65535)-t.gzindex;for(;t.pending+l>t.pending_buf_size;){let d=t.pending_buf_size-t.pending;if(t.pending_buf.set(t.gzhead.extra.subarray(t.gzindex,t.gzindex+d),t.pending),t.pending=t.pending_buf_size,t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),t.gzindex+=d,nr(e),t.pending!==0)return t.last_flush=-1,Ct;i=0,l-=d}let a=new Uint8Array(t.gzhead.extra);t.pending_buf.set(a.subarray(t.gzindex,t.gzindex+l),t.pending),t.pending+=l,t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),t.gzindex=0}t.status=mo}if(t.status===mo){if(t.gzhead.name){let i=t.pending,l;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),nr(e),t.pending!==0)return t.last_flush=-1,Ct;i=0}t.gzindex<t.gzhead.name.length?l=t.gzhead.name.charCodeAt(t.gzindex++)&255:l=0,We(t,l)}while(l!==0);t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),t.gzindex=0}t.status=bo}if(t.status===bo){if(t.gzhead.comment){let i=t.pending,l;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),nr(e),t.pending!==0)return t.last_flush=-1,Ct;i=0}t.gzindex<t.gzhead.comment.length?l=t.gzhead.comment.charCodeAt(t.gzindex++)&255:l=0,We(t,l)}while(l!==0);t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i))}t.status=wo}if(t.status===wo){if(t.gzhead.hcrc){if(t.pending+2>t.pending_buf_size&&(nr(e),t.pending!==0))return t.last_flush=-1,Ct;We(t,e.adler&255),We(t,e.adler>>8&255),e.adler=0}if(t.status=ha,nr(e),t.pending!==0)return t.last_flush=-1,Ct}if(e.avail_in!==0||t.lookahead!==0||r!==Nn&&t.status!==Ua){let i=t.level===0?Nl(t,r):t.strategy===ui?Qu(t,r):t.strategy===Lu?Ku(t,r):Ma[t.level].func(t,r);if((i===ga||i===Oa)&&(t.status=Ua),i===Nt||i===ga)return e.avail_out===0&&(t.last_flush=-1),Ct;if(i===Ia&&(r===Du?Su(t):r!==fs&&(go(t,0,0,!1),r===Ru&&(Un(t.head),t.lookahead===0&&(t.strstart=0,t.block_start=0,t.insert=0))),nr(e),e.avail_out===0))return t.last_flush=-1,Ct}return r!==ur?Ct:t.wrap<=0?cs:(t.wrap===2?(We(t,e.adler&255),We(t,e.adler>>8&255),We(t,e.adler>>16&255),We(t,e.adler>>24&255),We(t,e.total_in&255),We(t,e.total_in>>8&255),We(t,e.total_in>>16&255),We(t,e.total_in>>24&255)):(La(t,e.adler>>>16),La(t,e.adler&65535)),nr(e),t.wrap>0&&(t.wrap=-t.wrap),t.pending!==0?Ct:cs)},id=e=>{if(ai(e))return jr;const r=e.state.status;return e.state=null,r===ha?pa(e,Iu):Ct},od=(e,r)=>{let t=r.length;if(ai(e))return jr;const n=e.state,i=n.wrap;if(i===2||i===1&&n.status!==Aa||n.lookahead)return jr;if(i===1&&(e.adler=Ya(e.adler,r,t,0)),n.wrap=0,t>=n.w_size){i===0&&(Un(n.head),n.strstart=0,n.block_start=0,n.insert=0);let P=new Uint8Array(n.w_size);P.set(r.subarray(t-n.w_size,t),0),r=P,t=n.w_size}const l=e.avail_in,a=e.next_in,d=e.input;for(e.avail_in=t,e.next_in=0,e.input=r,Ca(n);n.lookahead>=Oe;){let P=n.strstart,y=n.lookahead-(Oe-1);do n.ins_h=Wn(n,n.ins_h,n.window[P+Oe-1]),n.prev[P&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=P,P++;while(--y);n.strstart=P,n.lookahead=Oe-1,Ca(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=Oe-1,n.match_available=0,e.next_in=a,e.input=d,e.avail_in=l,n.wrap=i,Ct};var sd=nd,ld=jl,fd=Bl,cd=Wl,ud=rd,dd=ad,hd=id,pd=od,vd="pako deflate (from Nodeca project)",ja={deflateInit:sd,deflateInit2:ld,deflateReset:fd,deflateResetKeep:cd,deflateSetHeader:ud,deflate:dd,deflateEnd:hd,deflateSetDictionary:pd,deflateInfo:vd};const gd=(e,r)=>Object.prototype.hasOwnProperty.call(e,r);var _d=function(e){const r=Array.prototype.slice.call(arguments,1);for(;r.length;){const t=r.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(const n in t)gd(t,n)&&(e[n]=t[n])}}return e},yd=e=>{let r=0;for(let n=0,i=e.length;n<i;n++)r+=e[n].length;const t=new Uint8Array(r);for(let n=0,i=0,l=e.length;n<l;n++){let a=e[n];t.set(a,i),i+=a.length}return t},Ri={assign:_d,flattenChunks:yd};let Hl=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Hl=!1}const Xa=new Uint8Array(256);for(let e=0;e<256;e++)Xa[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Xa[254]=Xa[254]=1;var md=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let r,t,n,i,l,a=e.length,d=0;for(i=0;i<a;i++)t=e.charCodeAt(i),(t&64512)===55296&&i+1<a&&(n=e.charCodeAt(i+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),i++)),d+=t<128?1:t<2048?2:t<65536?3:4;for(r=new Uint8Array(d),l=0,i=0;l<d;i++)t=e.charCodeAt(i),(t&64512)===55296&&i+1<a&&(n=e.charCodeAt(i+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),i++)),t<128?r[l++]=t:t<2048?(r[l++]=192|t>>>6,r[l++]=128|t&63):t<65536?(r[l++]=224|t>>>12,r[l++]=128|t>>>6&63,r[l++]=128|t&63):(r[l++]=240|t>>>18,r[l++]=128|t>>>12&63,r[l++]=128|t>>>6&63,r[l++]=128|t&63);return r};const bd=(e,r)=>{if(r<65534&&e.subarray&&Hl)return String.fromCharCode.apply(null,e.length===r?e:e.subarray(0,r));let t="";for(let n=0;n<r;n++)t+=String.fromCharCode(e[n]);return t};var wd=(e,r)=>{const t=r||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,r));let n,i;const l=new Array(t*2);for(i=0,n=0;n<t;){let a=e[n++];if(a<128){l[i++]=a;continue}let d=Xa[a];if(d>4){l[i++]=65533,n+=d-1;continue}for(a&=d===2?31:d===3?15:7;d>1&&n<t;)a=a<<6|e[n++]&63,d--;if(d>1){l[i++]=65533;continue}a<65536?l[i++]=a:(a-=65536,l[i++]=55296|a>>10&1023,l[i++]=56320|a&1023)}return bd(l,i)},Pd=(e,r)=>{r=r||e.length,r>e.length&&(r=e.length);let t=r-1;for(;t>=0&&(e[t]&192)===128;)t--;return t<0||t===0?r:t+Xa[e[t]]>r?t:r},Ka={string2buf:md,buf2string:wd,utf8border:Pd};function xd(){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}var zl=xd;const Vl=Object.prototype.toString,{Z_NO_FLUSH:Ed,Z_SYNC_FLUSH:Td,Z_FULL_FLUSH:$d,Z_FINISH:Ad,Z_OK:Ei,Z_STREAM_END:Cd,Z_DEFAULT_COMPRESSION:Sd,Z_DEFAULT_STRATEGY:Dd,Z_DEFLATED:Rd}=ni;function ii(e){this.options=Ri.assign({level:Sd,method:Rd,chunkSize:16384,windowBits:15,memLevel:8,strategy:Dd},e||{});let r=this.options;r.raw&&r.windowBits>0?r.windowBits=-r.windowBits:r.gzip&&r.windowBits>0&&r.windowBits<16&&(r.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zl,this.strm.avail_out=0;let t=ja.deflateInit2(this.strm,r.level,r.method,r.windowBits,r.memLevel,r.strategy);if(t!==Ei)throw new Error(va[t]);if(r.header&&ja.deflateSetHeader(this.strm,r.header),r.dictionary){let n;if(typeof r.dictionary=="string"?n=Ka.string2buf(r.dictionary):Vl.call(r.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(r.dictionary):n=r.dictionary,t=ja.deflateSetDictionary(this.strm,n),t!==Ei)throw new Error(va[t]);this._dict_set=!0}}ii.prototype.push=function(e,r){const t=this.strm,n=this.options.chunkSize;let i,l;if(this.ended)return!1;for(r===~~r?l=r:l=r===!0?Ad:Ed,typeof e=="string"?t.input=Ka.string2buf(e):Vl.call(e)==="[object ArrayBuffer]"?t.input=new Uint8Array(e):t.input=e,t.next_in=0,t.avail_in=t.input.length;;){if(t.avail_out===0&&(t.output=new Uint8Array(n),t.next_out=0,t.avail_out=n),(l===Td||l===$d)&&t.avail_out<=6){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(i=ja.deflate(t,l),i===Cd)return t.next_out>0&&this.onData(t.output.subarray(0,t.next_out)),i=ja.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Ei;if(t.avail_out===0){this.onData(t.output);continue}if(l>0&&t.next_out>0){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(t.avail_in===0)break}return!0};ii.prototype.onData=function(e){this.chunks.push(e)};ii.prototype.onEnd=function(e){e===Ei&&(this.result=Ri.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function No(e,r){const t=new ii(r);if(t.push(e,!0),t.err)throw t.msg||va[t.err];return t.result}function Id(e,r){return r=r||{},r.raw=!0,No(e,r)}function Od(e,r){return r=r||{},r.gzip=!0,No(e,r)}var kd=ii,Ld=No,Ud=Id,Md=Od,Fd={Deflate:kd,deflate:Ld,deflateRaw:Ud,gzip:Md};const di=16209,Nd=16191;var Wd=function(r,t){let n,i,l,a,d,P,y,w,W,F,k,j,Y,K,ee,X,H,J,ce,he,re,le,ie,te;const oe=r.state;n=r.next_in,ie=r.input,i=n+(r.avail_in-5),l=r.next_out,te=r.output,a=l-(t-r.avail_out),d=l+(r.avail_out-257),P=oe.dmax,y=oe.wsize,w=oe.whave,W=oe.wnext,F=oe.window,k=oe.hold,j=oe.bits,Y=oe.lencode,K=oe.distcode,ee=(1<<oe.lenbits)-1,X=(1<<oe.distbits)-1;e:do{j<15&&(k+=ie[n++]<<j,j+=8,k+=ie[n++]<<j,j+=8),H=Y[k&ee];t:for(;;){if(J=H>>>24,k>>>=J,j-=J,J=H>>>16&255,J===0)te[l++]=H&65535;else if(J&16){ce=H&65535,J&=15,J&&(j<J&&(k+=ie[n++]<<j,j+=8),ce+=k&(1<<J)-1,k>>>=J,j-=J),j<15&&(k+=ie[n++]<<j,j+=8,k+=ie[n++]<<j,j+=8),H=K[k&X];r:for(;;){if(J=H>>>24,k>>>=J,j-=J,J=H>>>16&255,J&16){if(he=H&65535,J&=15,j<J&&(k+=ie[n++]<<j,j+=8,j<J&&(k+=ie[n++]<<j,j+=8)),he+=k&(1<<J)-1,he>P){r.msg="invalid distance too far back",oe.mode=di;break e}if(k>>>=J,j-=J,J=l-a,he>J){if(J=he-J,J>w&&oe.sane){r.msg="invalid distance too far back",oe.mode=di;break e}if(re=0,le=F,W===0){if(re+=y-J,J<ce){ce-=J;do te[l++]=F[re++];while(--J);re=l-he,le=te}}else if(W<J){if(re+=y+W-J,J-=W,J<ce){ce-=J;do te[l++]=F[re++];while(--J);if(re=0,W<ce){J=W,ce-=J;do te[l++]=F[re++];while(--J);re=l-he,le=te}}}else if(re+=W-J,J<ce){ce-=J;do te[l++]=F[re++];while(--J);re=l-he,le=te}for(;ce>2;)te[l++]=le[re++],te[l++]=le[re++],te[l++]=le[re++],ce-=3;ce&&(te[l++]=le[re++],ce>1&&(te[l++]=le[re++]))}else{re=l-he;do te[l++]=te[re++],te[l++]=te[re++],te[l++]=te[re++],ce-=3;while(ce>2);ce&&(te[l++]=te[re++],ce>1&&(te[l++]=te[re++]))}}else if((J&64)===0){H=K[(H&65535)+(k&(1<<J)-1)];continue r}else{r.msg="invalid distance code",oe.mode=di;break e}break}}else if((J&64)===0){H=Y[(H&65535)+(k&(1<<J)-1)];continue t}else if(J&32){oe.mode=Nd;break e}else{r.msg="invalid literal/length code",oe.mode=di;break e}break}}while(n<i&&l<d);ce=j>>3,n-=ce,j-=ce<<3,k&=(1<<j)-1,r.next_in=n,r.next_out=l,r.avail_in=n<i?5+(i-n):5-(n-i),r.avail_out=l<d?257+(d-l):257-(l-d),oe.hold=k,oe.bits=j};const ba=15,ds=852,hs=592,ps=0,Yi=1,vs=2,Bd=new Uint16Array([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]),jd=new Uint8Array([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]),Hd=new Uint16Array([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]),zd=new Uint8Array([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]),Vd=(e,r,t,n,i,l,a,d)=>{const P=d.bits;let y=0,w=0,W=0,F=0,k=0,j=0,Y=0,K=0,ee=0,X=0,H,J,ce,he,re,le=null,ie;const te=new Uint16Array(ba+1),oe=new Uint16Array(ba+1);let be=null,Te,ve,ge;for(y=0;y<=ba;y++)te[y]=0;for(w=0;w<n;w++)te[r[t+w]]++;for(k=P,F=ba;F>=1&&te[F]===0;F--);if(k>F&&(k=F),F===0)return i[l++]=1<<24|64<<16|0,i[l++]=1<<24|64<<16|0,d.bits=1,0;for(W=1;W<F&&te[W]===0;W++);for(k<W&&(k=W),K=1,y=1;y<=ba;y++)if(K<<=1,K-=te[y],K<0)return-1;if(K>0&&(e===ps||F!==1))return-1;for(oe[1]=0,y=1;y<ba;y++)oe[y+1]=oe[y]+te[y];for(w=0;w<n;w++)r[t+w]!==0&&(a[oe[r[t+w]]++]=w);if(e===ps?(le=be=a,ie=20):e===Yi?(le=Bd,be=jd,ie=257):(le=Hd,be=zd,ie=0),X=0,w=0,y=W,re=l,j=k,Y=0,ce=-1,ee=1<<k,he=ee-1,e===Yi&&ee>ds||e===vs&&ee>hs)return 1;for(;;){Te=y-Y,a[w]+1<ie?(ve=0,ge=a[w]):a[w]>=ie?(ve=be[a[w]-ie],ge=le[a[w]-ie]):(ve=96,ge=0),H=1<<y-Y,J=1<<j,W=J;do J-=H,i[re+(X>>Y)+J]=Te<<24|ve<<16|ge|0;while(J!==0);for(H=1<<y-1;X&H;)H>>=1;if(H!==0?(X&=H-1,X+=H):X=0,w++,--te[y]===0){if(y===F)break;y=r[t+a[w]]}if(y>k&&(X&he)!==ce){for(Y===0&&(Y=k),re+=W,j=y-Y,K=1<<j;j+Y<F&&(K-=te[j+Y],!(K<=0));)j++,K<<=1;if(ee+=1<<j,e===Yi&&ee>ds||e===vs&&ee>hs)return 1;ce=X&he,i[ce]=k<<24|j<<16|re-l|0}}return X!==0&&(i[re+X]=y-Y<<24|64<<16|0),d.bits=k,0};var Ha=Vd;const Gd=0,Gl=1,Zl=2,{Z_FINISH:gs,Z_BLOCK:Zd,Z_TREES:hi,Z_OK:_a,Z_STREAM_END:qd,Z_NEED_DICT:Jd,Z_STREAM_ERROR:dr,Z_DATA_ERROR:ql,Z_MEM_ERROR:Jl,Z_BUF_ERROR:Yd,Z_DEFLATED:_s}=ni,Ii=16180,ys=16181,ms=16182,bs=16183,ws=16184,Ps=16185,xs=16186,Es=16187,Ts=16188,$s=16189,Ti=16190,dn=16191,Xi=16192,As=16193,Ki=16194,Cs=16195,Ss=16196,Ds=16197,Rs=16198,pi=16199,vi=16200,Is=16201,Os=16202,ks=16203,Ls=16204,Us=16205,Qi=16206,Ms=16207,Fs=16208,Xe=16209,Yl=16210,Xl=16211,Xd=852,Kd=592,Qd=15,e0=Qd,Ns=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function t0(){this.strm=null,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 Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const ya=e=>{if(!e)return 1;const r=e.state;return!r||r.strm!==e||r.mode<Ii||r.mode>Xl?1:0},Kl=e=>{if(ya(e))return dr;const r=e.state;return e.total_in=e.total_out=r.total=0,e.msg="",r.wrap&&(e.adler=r.wrap&1),r.mode=Ii,r.last=0,r.havedict=0,r.flags=-1,r.dmax=32768,r.head=null,r.hold=0,r.bits=0,r.lencode=r.lendyn=new Int32Array(Xd),r.distcode=r.distdyn=new Int32Array(Kd),r.sane=1,r.back=-1,_a},Ql=e=>{if(ya(e))return dr;const r=e.state;return r.wsize=0,r.whave=0,r.wnext=0,Kl(e)},ef=(e,r)=>{let t;if(ya(e))return dr;const n=e.state;return r<0?(t=0,r=-r):(t=(r>>4)+5,r<48&&(r&=15)),r&&(r<8||r>15)?dr:(n.window!==null&&n.wbits!==r&&(n.window=null),n.wrap=t,n.wbits=r,Ql(e))},tf=(e,r)=>{if(!e)return dr;const t=new t0;e.state=t,t.strm=e,t.window=null,t.mode=Ii;const n=ef(e,r);return n!==_a&&(e.state=null),n},r0=e=>tf(e,e0);let Ws=!0,eo,to;const n0=e=>{if(Ws){eo=new Int32Array(512),to=new Int32Array(32);let r=0;for(;r<144;)e.lens[r++]=8;for(;r<256;)e.lens[r++]=9;for(;r<280;)e.lens[r++]=7;for(;r<288;)e.lens[r++]=8;for(Ha(Gl,e.lens,0,288,eo,0,e.work,{bits:9}),r=0;r<32;)e.lens[r++]=5;Ha(Zl,e.lens,0,32,to,0,e.work,{bits:5}),Ws=!1}e.lencode=eo,e.lenbits=9,e.distcode=to,e.distbits=5},rf=(e,r,t,n)=>{let i;const l=e.state;return l.window===null&&(l.wsize=1<<l.wbits,l.wnext=0,l.whave=0,l.window=new Uint8Array(l.wsize)),n>=l.wsize?(l.window.set(r.subarray(t-l.wsize,t),0),l.wnext=0,l.whave=l.wsize):(i=l.wsize-l.wnext,i>n&&(i=n),l.window.set(r.subarray(t-n,t-n+i),l.wnext),n-=i,n?(l.window.set(r.subarray(t-n,t),0),l.wnext=n,l.whave=l.wsize):(l.wnext+=i,l.wnext===l.wsize&&(l.wnext=0),l.whave<l.wsize&&(l.whave+=i))),0},a0=(e,r)=>{let t,n,i,l,a,d,P,y,w,W,F,k,j,Y,K=0,ee,X,H,J,ce,he,re,le;const ie=new Uint8Array(4);let te,oe;const be=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ya(e)||!e.output||!e.input&&e.avail_in!==0)return dr;t=e.state,t.mode===dn&&(t.mode=Xi),a=e.next_out,i=e.output,P=e.avail_out,l=e.next_in,n=e.input,d=e.avail_in,y=t.hold,w=t.bits,W=d,F=P,le=_a;e:for(;;)switch(t.mode){case Ii:if(t.wrap===0){t.mode=Xi;break}for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.wrap&2&&y===35615){t.wbits===0&&(t.wbits=15),t.check=0,ie[0]=y&255,ie[1]=y>>>8&255,t.check=mt(t.check,ie,2,0),y=0,w=0,t.mode=ys;break}if(t.head&&(t.head.done=!1),!(t.wrap&1)||(((y&255)<<8)+(y>>8))%31){e.msg="incorrect header check",t.mode=Xe;break}if((y&15)!==_s){e.msg="unknown compression method",t.mode=Xe;break}if(y>>>=4,w-=4,re=(y&15)+8,t.wbits===0&&(t.wbits=re),re>15||re>t.wbits){e.msg="invalid window size",t.mode=Xe;break}t.dmax=1<<t.wbits,t.flags=0,e.adler=t.check=1,t.mode=y&512?$s:dn,y=0,w=0;break;case ys:for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.flags=y,(t.flags&255)!==_s){e.msg="unknown compression method",t.mode=Xe;break}if(t.flags&57344){e.msg="unknown header flags set",t.mode=Xe;break}t.head&&(t.head.text=y>>8&1),t.flags&512&&t.wrap&4&&(ie[0]=y&255,ie[1]=y>>>8&255,t.check=mt(t.check,ie,2,0)),y=0,w=0,t.mode=ms;case ms:for(;w<32;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.head&&(t.head.time=y),t.flags&512&&t.wrap&4&&(ie[0]=y&255,ie[1]=y>>>8&255,ie[2]=y>>>16&255,ie[3]=y>>>24&255,t.check=mt(t.check,ie,4,0)),y=0,w=0,t.mode=bs;case bs:for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.head&&(t.head.xflags=y&255,t.head.os=y>>8),t.flags&512&&t.wrap&4&&(ie[0]=y&255,ie[1]=y>>>8&255,t.check=mt(t.check,ie,2,0)),y=0,w=0,t.mode=ws;case ws:if(t.flags&1024){for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.length=y,t.head&&(t.head.extra_len=y),t.flags&512&&t.wrap&4&&(ie[0]=y&255,ie[1]=y>>>8&255,t.check=mt(t.check,ie,2,0)),y=0,w=0}else t.head&&(t.head.extra=null);t.mode=Ps;case Ps:if(t.flags&1024&&(k=t.length,k>d&&(k=d),k&&(t.head&&(re=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(n.subarray(l,l+k),re)),t.flags&512&&t.wrap&4&&(t.check=mt(t.check,n,k,l)),d-=k,l+=k,t.length-=k),t.length))break e;t.length=0,t.mode=xs;case xs:if(t.flags&2048){if(d===0)break e;k=0;do re=n[l+k++],t.head&&re&&t.length<65536&&(t.head.name+=String.fromCharCode(re));while(re&&k<d);if(t.flags&512&&t.wrap&4&&(t.check=mt(t.check,n,k,l)),d-=k,l+=k,re)break e}else t.head&&(t.head.name=null);t.length=0,t.mode=Es;case Es:if(t.flags&4096){if(d===0)break e;k=0;do re=n[l+k++],t.head&&re&&t.length<65536&&(t.head.comment+=String.fromCharCode(re));while(re&&k<d);if(t.flags&512&&t.wrap&4&&(t.check=mt(t.check,n,k,l)),d-=k,l+=k,re)break e}else t.head&&(t.head.comment=null);t.mode=Ts;case Ts:if(t.flags&512){for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.wrap&4&&y!==(t.check&65535)){e.msg="header crc mismatch",t.mode=Xe;break}y=0,w=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),e.adler=t.check=0,t.mode=dn;break;case $s:for(;w<32;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}e.adler=t.check=Ns(y),y=0,w=0,t.mode=Ti;case Ti:if(t.havedict===0)return e.next_out=a,e.avail_out=P,e.next_in=l,e.avail_in=d,t.hold=y,t.bits=w,Jd;e.adler=t.check=1,t.mode=dn;case dn:if(r===Zd||r===hi)break e;case Xi:if(t.last){y>>>=w&7,w-=w&7,t.mode=Qi;break}for(;w<3;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}switch(t.last=y&1,y>>>=1,w-=1,y&3){case 0:t.mode=As;break;case 1:if(n0(t),t.mode=pi,r===hi){y>>>=2,w-=2;break e}break;case 2:t.mode=Ss;break;case 3:e.msg="invalid block type",t.mode=Xe}y>>>=2,w-=2;break;case As:for(y>>>=w&7,w-=w&7;w<32;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if((y&65535)!==(y>>>16^65535)){e.msg="invalid stored block lengths",t.mode=Xe;break}if(t.length=y&65535,y=0,w=0,t.mode=Ki,r===hi)break e;case Ki:t.mode=Cs;case Cs:if(k=t.length,k){if(k>d&&(k=d),k>P&&(k=P),k===0)break e;i.set(n.subarray(l,l+k),a),d-=k,l+=k,P-=k,a+=k,t.length-=k;break}t.mode=dn;break;case Ss:for(;w<14;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.nlen=(y&31)+257,y>>>=5,w-=5,t.ndist=(y&31)+1,y>>>=5,w-=5,t.ncode=(y&15)+4,y>>>=4,w-=4,t.nlen>286||t.ndist>30){e.msg="too many length or distance symbols",t.mode=Xe;break}t.have=0,t.mode=Ds;case Ds:for(;t.have<t.ncode;){for(;w<3;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.lens[be[t.have++]]=y&7,y>>>=3,w-=3}for(;t.have<19;)t.lens[be[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,te={bits:t.lenbits},le=Ha(Gd,t.lens,0,19,t.lencode,0,t.work,te),t.lenbits=te.bits,le){e.msg="invalid code lengths set",t.mode=Xe;break}t.have=0,t.mode=Rs;case Rs:for(;t.have<t.nlen+t.ndist;){for(;K=t.lencode[y&(1<<t.lenbits)-1],ee=K>>>24,X=K>>>16&255,H=K&65535,!(ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(H<16)y>>>=ee,w-=ee,t.lens[t.have++]=H;else{if(H===16){for(oe=ee+2;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(y>>>=ee,w-=ee,t.have===0){e.msg="invalid bit length repeat",t.mode=Xe;break}re=t.lens[t.have-1],k=3+(y&3),y>>>=2,w-=2}else if(H===17){for(oe=ee+3;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}y>>>=ee,w-=ee,re=0,k=3+(y&7),y>>>=3,w-=3}else{for(oe=ee+7;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}y>>>=ee,w-=ee,re=0,k=11+(y&127),y>>>=7,w-=7}if(t.have+k>t.nlen+t.ndist){e.msg="invalid bit length repeat",t.mode=Xe;break}for(;k--;)t.lens[t.have++]=re}}if(t.mode===Xe)break;if(t.lens[256]===0){e.msg="invalid code -- missing end-of-block",t.mode=Xe;break}if(t.lenbits=9,te={bits:t.lenbits},le=Ha(Gl,t.lens,0,t.nlen,t.lencode,0,t.work,te),t.lenbits=te.bits,le){e.msg="invalid literal/lengths set",t.mode=Xe;break}if(t.distbits=6,t.distcode=t.distdyn,te={bits:t.distbits},le=Ha(Zl,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,te),t.distbits=te.bits,le){e.msg="invalid distances set",t.mode=Xe;break}if(t.mode=pi,r===hi)break e;case pi:t.mode=vi;case vi:if(d>=6&&P>=258){e.next_out=a,e.avail_out=P,e.next_in=l,e.avail_in=d,t.hold=y,t.bits=w,Wd(e,F),a=e.next_out,i=e.output,P=e.avail_out,l=e.next_in,n=e.input,d=e.avail_in,y=t.hold,w=t.bits,t.mode===dn&&(t.back=-1);break}for(t.back=0;K=t.lencode[y&(1<<t.lenbits)-1],ee=K>>>24,X=K>>>16&255,H=K&65535,!(ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(X&&(X&240)===0){for(J=ee,ce=X,he=H;K=t.lencode[he+((y&(1<<J+ce)-1)>>J)],ee=K>>>24,X=K>>>16&255,H=K&65535,!(J+ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}y>>>=J,w-=J,t.back+=J}if(y>>>=ee,w-=ee,t.back+=ee,t.length=H,X===0){t.mode=Us;break}if(X&32){t.back=-1,t.mode=dn;break}if(X&64){e.msg="invalid literal/length code",t.mode=Xe;break}t.extra=X&15,t.mode=Is;case Is:if(t.extra){for(oe=t.extra;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.length+=y&(1<<t.extra)-1,y>>>=t.extra,w-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=Os;case Os:for(;K=t.distcode[y&(1<<t.distbits)-1],ee=K>>>24,X=K>>>16&255,H=K&65535,!(ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if((X&240)===0){for(J=ee,ce=X,he=H;K=t.distcode[he+((y&(1<<J+ce)-1)>>J)],ee=K>>>24,X=K>>>16&255,H=K&65535,!(J+ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}y>>>=J,w-=J,t.back+=J}if(y>>>=ee,w-=ee,t.back+=ee,X&64){e.msg="invalid distance code",t.mode=Xe;break}t.offset=H,t.extra=X&15,t.mode=ks;case ks:if(t.extra){for(oe=t.extra;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.offset+=y&(1<<t.extra)-1,y>>>=t.extra,w-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){e.msg="invalid distance too far back",t.mode=Xe;break}t.mode=Ls;case Ls:if(P===0)break e;if(k=F-P,t.offset>k){if(k=t.offset-k,k>t.whave&&t.sane){e.msg="invalid distance too far back",t.mode=Xe;break}k>t.wnext?(k-=t.wnext,j=t.wsize-k):j=t.wnext-k,k>t.length&&(k=t.length),Y=t.window}else Y=i,j=a-t.offset,k=t.length;k>P&&(k=P),P-=k,t.length-=k;do i[a++]=Y[j++];while(--k);t.length===0&&(t.mode=vi);break;case Us:if(P===0)break e;i[a++]=t.length,P--,t.mode=vi;break;case Qi:if(t.wrap){for(;w<32;){if(d===0)break e;d--,y|=n[l++]<<w,w+=8}if(F-=P,e.total_out+=F,t.total+=F,t.wrap&4&&F&&(e.adler=t.check=t.flags?mt(t.check,i,F,a-F):Ya(t.check,i,F,a-F)),F=P,t.wrap&4&&(t.flags?y:Ns(y))!==t.check){e.msg="incorrect data check",t.mode=Xe;break}y=0,w=0}t.mode=Ms;case Ms:if(t.wrap&&t.flags){for(;w<32;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.wrap&4&&y!==(t.total&4294967295)){e.msg="incorrect length check",t.mode=Xe;break}y=0,w=0}t.mode=Fs;case Fs:le=qd;break e;case Xe:le=ql;break e;case Yl:return Jl;case Xl:default:return dr}return e.next_out=a,e.avail_out=P,e.next_in=l,e.avail_in=d,t.hold=y,t.bits=w,(t.wsize||F!==e.avail_out&&t.mode<Xe&&(t.mode<Qi||r!==gs))&&rf(e,e.output,e.next_out,F-e.avail_out),W-=e.avail_in,F-=e.avail_out,e.total_in+=W,e.total_out+=F,t.total+=F,t.wrap&4&&F&&(e.adler=t.check=t.flags?mt(t.check,i,F,e.next_out-F):Ya(t.check,i,F,e.next_out-F)),e.data_type=t.bits+(t.last?64:0)+(t.mode===dn?128:0)+(t.mode===pi||t.mode===Ki?256:0),(W===0&&F===0||r===gs)&&le===_a&&(le=Yd),le},i0=e=>{if(ya(e))return dr;let r=e.state;return r.window&&(r.window=null),e.state=null,_a},o0=(e,r)=>{if(ya(e))return dr;const t=e.state;return(t.wrap&2)===0?dr:(t.head=r,r.done=!1,_a)},s0=(e,r)=>{const t=r.length;let n,i,l;return ya(e)||(n=e.state,n.wrap!==0&&n.mode!==Ti)?dr:n.mode===Ti&&(i=1,i=Ya(i,r,t,0),i!==n.check)?ql:(l=rf(e,r,t,t),l?(n.mode=Yl,Jl):(n.havedict=1,_a))};var l0=Ql,f0=ef,c0=Kl,u0=r0,d0=tf,h0=a0,p0=i0,v0=o0,g0=s0,_0="pako inflate (from Nodeca project)",pn={inflateReset:l0,inflateReset2:f0,inflateResetKeep:c0,inflateInit:u0,inflateInit2:d0,inflate:h0,inflateEnd:p0,inflateGetHeader:v0,inflateSetDictionary:g0,inflateInfo:_0};function y0(){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}var m0=y0;const nf=Object.prototype.toString,{Z_NO_FLUSH:b0,Z_FINISH:w0,Z_OK:Qa,Z_STREAM_END:ro,Z_NEED_DICT:no,Z_STREAM_ERROR:P0,Z_DATA_ERROR:Bs,Z_MEM_ERROR:x0}=ni;function oi(e){this.options=Ri.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});const r=this.options;r.raw&&r.windowBits>=0&&r.windowBits<16&&(r.windowBits=-r.windowBits,r.windowBits===0&&(r.windowBits=-15)),r.windowBits>=0&&r.windowBits<16&&!(e&&e.windowBits)&&(r.windowBits+=32),r.windowBits>15&&r.windowBits<48&&(r.windowBits&15)===0&&(r.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zl,this.strm.avail_out=0;let t=pn.inflateInit2(this.strm,r.windowBits);if(t!==Qa)throw new Error(va[t]);if(this.header=new m0,pn.inflateGetHeader(this.strm,this.header),r.dictionary&&(typeof r.dictionary=="string"?r.dictionary=Ka.string2buf(r.dictionary):nf.call(r.dictionary)==="[object ArrayBuffer]"&&(r.dictionary=new Uint8Array(r.dictionary)),r.raw&&(t=pn.inflateSetDictionary(this.strm,r.dictionary),t!==Qa)))throw new Error(va[t])}oi.prototype.push=function(e,r){const t=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let l,a,d;if(this.ended)return!1;for(r===~~r?a=r:a=r===!0?w0:b0,nf.call(e)==="[object ArrayBuffer]"?t.input=new Uint8Array(e):t.input=e,t.next_in=0,t.avail_in=t.input.length;;){for(t.avail_out===0&&(t.output=new Uint8Array(n),t.next_out=0,t.avail_out=n),l=pn.inflate(t,a),l===no&&i&&(l=pn.inflateSetDictionary(t,i),l===Qa?l=pn.inflate(t,a):l===Bs&&(l=no));t.avail_in>0&&l===ro&&t.state.wrap>0&&e[t.next_in]!==0;)pn.inflateReset(t),l=pn.inflate(t,a);switch(l){case P0:case Bs:case no:case x0:return this.onEnd(l),this.ended=!0,!1}if(d=t.avail_out,t.next_out&&(t.avail_out===0||l===ro))if(this.options.to==="string"){let P=Ka.utf8border(t.output,t.next_out),y=t.next_out-P,w=Ka.buf2string(t.output,P);t.next_out=y,t.avail_out=n-y,y&&t.output.set(t.output.subarray(P,P+y),0),this.onData(w)}else this.onData(t.output.length===t.next_out?t.output:t.output.subarray(0,t.next_out));if(!(l===Qa&&d===0)){if(l===ro)return l=pn.inflateEnd(this.strm),this.onEnd(l),this.ended=!0,!0;if(t.avail_in===0)break}}return!0};oi.prototype.onData=function(e){this.chunks.push(e)};oi.prototype.onEnd=function(e){e===Qa&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Ri.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Wo(e,r){const t=new oi(r);if(t.push(e),t.err)throw t.msg||va[t.err];return t.result}function E0(e,r){return r=r||{},r.raw=!0,Wo(e,r)}var T0=oi,$0=Wo,A0=E0,C0=Wo,S0={Inflate:T0,inflate:$0,inflateRaw:A0,ungzip:C0};const{Deflate:D0,deflate:R0,deflateRaw:I0,gzip:O0}=Fd,{Inflate:k0,inflate:L0,inflateRaw:U0,ungzip:M0}=S0;var F0=D0,N0=R0,W0=I0,B0=O0,j0=k0,H0=L0,z0=U0,V0=M0,G0=ni,Z0={Deflate:F0,deflate:N0,deflateRaw:W0,gzip:B0,Inflate:j0,inflate:H0,inflateRaw:z0,ungzip:V0,constants:G0};function q0(e,r){const t=e.slice(r),n=Z0.inflateRaw(t),i=new Uint8Array(n.length+r);return i.set(e.slice(0,r),0),i.set(n,r),i}const J0={inflater:q0};function xo(e,r){return ar.parseDicom(e,{...J0,...r})}function Y0(e){const r=e.elements.x7fe00010.fragments,t=e.byteArray.length;for(const n of r){const{position:i,length:l}=n;l>t-i&&(console.log(`Truncated fragment, changing fragment length from ${n.length} to ${t-i}`),n.length=t-i)}return e}function X0(e){let r=xo(e,{untilTag:"x7fe00010"});r.elements.x7fe00010||console.warn("Pixel data not found!");let t;try{t=xo(e)}catch(n){console.error(n),console.log("pixel data dataset:",n.dataSet),t=n.dataSet}return r.elements.x7fe00010=t.elements.x7fe00010,r=Y0(r),r}async function af(e,r,t){const n=X0(e),{uri:i,imageId:l,fileTotalLength:a}=t;return n.fetchMore=async function(d){const P=Object.assign({uri:i,imageId:l,fetchedLength:e.length,lengthToFetch:a-e.length},d),{fetchedLength:y,lengthToFetch:w}=P,{arrayBuffer:W}=await r(i,l,{byteRange:`${y}-${y+w}`}),F=new Uint8Array(W),k=new Uint8Array(n.byteArray.length+F.length);return k.set(n.byteArray),k.set(F,n.byteArray.length),af(k,r,t)},n}function K0(e,r){if(!e)return;const{NumberOfFrames:t,PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:i}=sf(e);if(n||t>1){const{shared:l,perFrame:a}=of(n,i,r);return{NumberOfFrames:t,PerFrameFunctionalInformation:a,SharedFunctionalInformation:l}}return{NumberOfFrames:t}}function of(e,r,t){const n={};(r?Object.values(r.items[0].dataSet.elements):[]).map(l=>n[l.tag]=l);const i={};return(e?Object.values(e.items[t-1].dataSet.elements):[]).map(l=>i[l.tag]=l),{shared:n,perFrame:i}}function sf(e){if(!e)return;const{elements:r,...t}=e,{x52009230:n,x52009229:i,...l}=r;return{NumberOfFrames:e.intString("x00280008"),PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:i,otherElements:l,otherAttributtes:t}}function Q0(e,r){if(!r)return;const{NumberOfFrames:t,PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:i,otherElements:l}=sf(r);if(n||t>1){const{shared:a,perFrame:d}=of(n,i,e),P={elements:{...l,...a,...d}},y=Object.create(r);return Object.assign(y,P)}return r}let pt={};const eh=()=>{pt={}};function Bo(e){if(pt[e])return pt[e]}function th(e){const r=Bo(e);return lf(r)}function lf(e){if(!e)return!1;const r=e.intString("x00280008");return r&&r>1}function rh(e){const r=e.match(/[?&]frame=/);return r?r.index:-1}function nh(e){const r=rh(e),t=r===-1?e:e.slice(0,r),n=parseInt(e.slice(r+7),10)||1;let i;return pt[t]?i=pt[t].dataSet:i=void 0,{dataSet:i,frame:n}}function ah(e){const r=[],t=Bo(e);if(lf(t)){const n=t.intString("x00280008");for(let i=1;i<=n;i++)r.push(`${e}&frame=${i}`)}else r.push(e);return r}const ff={_get:Bo,generateMultiframeWADOURIs:ah,retrieveMultiframeDataset:nh,isMultiframeDataset:th};let Sa=0,ua={};function ih(e){return pt[e]!==void 0}function oh(e){let r;if(/[?&]frame=/.test(e)){const{frame:t,dataSet:n}=ff.retrieveMultiframeDataset(e);r=Q0(t,n)}else pt[e]&&(r=pt[e].dataSet);return r}function sh(e,r){const t=pt[e];if(!t){console.error(`No loaded dataSet for uri ${e}`);return}Sa-=t.dataSet.byteArray.length,t.dataSet=r,Sa+=r.byteArray.length,Pa(xa,"datasetscachechanged",{uri:e,action:"updated",cacheInfo:Oi()})}function lh(e,r=Si,t){if(pt[e])return new Promise(l=>{pt[e].cacheCount++,l(pt[e].dataSet)});if(ua[e])return ua[e].cacheCount++,ua[e];const n=r(e,t),i=new Promise((l,a)=>{n.then(async function(d){const P={isPartialContent:!1,fileTotalLength:null};if(!(d instanceof ArrayBuffer)){if(!d.arrayBuffer)return a(new Error("If not returning ArrayBuffer, must return object with `arrayBuffer` parameter"));P.isPartialContent=d.flags.isPartialContent,P.fileTotalLength=d.flags.fileTotalLength,d=d.arrayBuffer}const y=new Uint8Array(d);let w;try{P.isPartialContent?w=await af(y,r,{uri:e,imageId:t,fileTotalLength:P.fileTotalLength}):w=xo(y)}catch(W){return a(W)}pt[e]={dataSet:w,cacheCount:i.cacheCount},Sa+=w.byteArray.length,l(w),Pa(xa,"datasetscachechanged",{uri:e,action:"loaded",cacheInfo:Oi()})},a).then(()=>{delete ua[e]},()=>{delete ua[e]})});return i.cacheCount=1,ua[e]=i,i}function fh(e){pt[e]&&(pt[e].cacheCount--,pt[e].cacheCount===0&&(Sa-=pt[e].dataSet.byteArray.length,delete pt[e],Pa(xa,"datasetscachechanged",{uri:e,action:"unloaded",cacheInfo:Oi()})))}function Oi(){return{cacheSizeInBytes:Sa,numberOfDataSetsCached:Object.keys(pt).length}}function ch(){eh(),ua={},Sa=0}const si={isLoaded:ih,load:lh,unload:fh,getInfo:Oi,purge:ch,get:oh,update:sh};function uh(e){const r=[];for(let t=0;t<=30;t+=2){let n=`x60${t.toString(16)}`;n.length===4&&(n=`x600${t.toString(16)}`);const i=e.elements[`${n}3000`];if(!i)continue;const l=[];for(let a=0;a<i.length;a++)for(let d=0;d<8;d++){const P=e.byteArray[i.dataOffset+a];l[a*8+d]=P>>d&1}r.push({rows:e.uint16(`${n}0010`),columns:e.uint16(`${n}0011`),type:e.string(`${n}0040`),x:e.int16(`${n}0050`,1)-1,y:e.int16(`${n}0050`,0)-1,pixelData:l,description:e.string(`${n}0022`),label:e.string(`${n}1500`),roiArea:e.string(`${n}1301`),roiMean:e.string(`${n}1302`),roiStandardDeviation:e.string(`${n}1303`)})}return{overlays:r}}function ka(e){return e==="RECON TOMO"||e==="RECON GATED TOMO"}function jo(e,r){const t=e.string("x00080008");if(t){const n=t.split("\\");if(n.length>r)return n[r]}}function dh(e){let r;if(e.string("x00080060")?.includes("NM")){const n=jo(e,2);n&&ka(n)&&e.elements.x00540022&&(r=Ar(e.elements.x00540022.items[0].dataSet,"x00200037",6))}return r}function hh(e){let r;if(e.string("x00080060")?.includes("NM")){const n=jo(e,2);n&&ka(n)&&e.elements.x00540022&&(r=Ar(e.elements.x00540022.items[0].dataSet,"x00200032",3))}return r}function js(e){let r=Ar(e,"x00200037",6);return!r&&e.elements.x00209116?.items?.[0]?.dataSet&&(r=Ar(e.elements.x00209116.items[0].dataSet,"x00200037",6)),r||(r=dh(e)),r}function Hs(e){let r=Ar(e,"x00200032",3);return!r&&e.elements.x00209113?.items?.[0]?.dataSet&&(r=Ar(e.elements.x00209113.items[0].dataSet,"x00200032",3)),r||(r=hh(e)),r}function zs(e){let r=Ar(e,"x00280030",2);return!r&&e.elements.x00289110?.items?.[0]?.dataSet&&(r=Ar(e.elements.x00289110.items[0].dataSet,"x00280030",2)),r}function Vs(e){let r;return e.elements.x00180050?r=e.floatString("x00180050"):e.elements.x00289110&&e.elements.x00289110.items.length&&e.elements.x00289110.items[0].dataSet.elements.x00180050&&(r=e.elements.x00289110.items[0].dataSet.floatString("x00180050")),r}const cf=["multiframeModule","generalSeriesModule","patientStudyModule","imagePixelModule","modalityLutModule","voiLutModule","sopCommonModule","petIsotopeModule","overlayPlaneModule","transferSyntax","petSeriesModule","petImageModule"];function Gs(e){const r=e.elements.x00186011;return!r||!r.items?[]:r.items.map(n=>{const i=n.dataSet.double("x0018602c"),l=n.dataSet.double("x0018602e"),a=n.dataSet.uint16("x00186024"),d=n.dataSet.uint16("x00186026"),P=n.dataSet.uint16("x0018601a"),y=n.dataSet.uint16("x0018601e"),w=n.dataSet.uint16("x00186018"),W=n.dataSet.uint16("x0018601c"),F=n.dataSet.int32("x00186020")||null,k=n.dataSet.int32("x00186022")||null,j=n.dataSet.uint16("x0018602a"),Y=n.dataSet.uint16("x00186028"),K=n.dataSet.uint16("x00186012"),ee=n.dataSet.uint16("x00186014"),X=n.dataSet.uint16("x00186016"),H=n.dataSet.uint16("x00186030");return{regionLocationMinY0:P,regionLocationMaxY1:y,regionLocationMinX0:w,regionLocationMaxX1:W,referencePixelX0:F,referencePixelY0:k,physicalDeltaX:i,physicalDeltaY:l,physicalUnitsXDirection:a,physicalUnitsYDirection:d,referencePhysicalPixelValueY:j,referencePhysicalPixelValueX:Y,regionSpatialFormat:K,regionDataType:ee,regionFlags:X,transducerFrequency:H}})}function uf(e,r){const{MetadataModules:t}=_n;if(Array.isArray(r))return;const n=Da(r);if(e===t.MULTIFRAME){const a=ff.retrieveMultiframeDataset(n.url);return a.dataSet?K0(a.dataSet,a.frame):void 0}let i=n.url;n.frame&&(i=`${i}&frame=${n.frame}`);const l=si.get(i);if(l)return df(e,r,l)}function df(e,r,t){const{MetadataModules:n}=_n;if(e===n.GENERAL_STUDY)return{studyDescription:t.string("x00081030"),studyDate:ar.parseDA(t.string("x00080020")),studyTime:ar.parseTM(t.string("x00080030")||""),accessionNumber:t.string("x00080050")};if(e===n.GENERAL_SERIES)return{modality:t.string("x00080060"),seriesInstanceUID:t.string("x0020000e"),seriesDescription:t.string("x0008103e"),seriesNumber:t.intString("x00200011"),studyInstanceUID:t.string("x0020000d"),seriesDate:ar.parseDA(t.string("x00080021")),seriesTime:ar.parseTM(t.string("x00080031")||""),acquisitionDate:ar.parseDA(t.string("x00080022")),acquisitionTime:ar.parseTM(t.string("x00080032")||"")};if(e===n.GENERAL_IMAGE)return{sopInstanceUID:t.string("x00080018"),instanceNumber:t.intString("x00200013"),lossyImageCompression:t.string("x00282110"),lossyImageCompressionRatio:t.floatString("x00282112"),lossyImageCompressionMethod:t.string("x00282114")};if(e===n.PATIENT)return{patientID:t.string("x00100020"),patientName:t.string("x00100010")};if(e===n.PATIENT_STUDY)return{patientAge:t.intString("x00101010"),patientSize:t.floatString("x00101020"),patientSex:t.string("x00100040"),patientWeight:t.floatString("x00101030")};if(e===n.NM_MULTIFRAME_GEOMETRY){const i=t.string("x00080060"),l=jo(t,2);return{modality:i,imageType:t.string("x00080008"),imageSubType:l,imageOrientationPatient:js(t),imagePositionPatient:Hs(t),sliceThickness:Vs(t),pixelSpacing:zs(t),numberOfFrames:t.uint16("x00280008"),isNMReconstructable:ka(l)&&i.includes("NM")}}if(e===n.IMAGE_PLANE){const i=js(t),l=Hs(t),a=zs(t),d=Vs(t);let P=null,y=null,w=!1;a?(y=a[0],P=a[1]):(w=!0,y=1,P=1);let W=null,F=null;return i&&(W=[parseFloat(i[0]),parseFloat(i[1]),parseFloat(i[2])],F=[parseFloat(i[3]),parseFloat(i[4]),parseFloat(i[5])]),{frameOfReferenceUID:t.string("x00200052"),rows:t.uint16("x00280010"),columns:t.uint16("x00280011"),imageOrientationPatient:i,rowCosines:W,columnCosines:F,imagePositionPatient:l,sliceThickness:d,sliceLocation:t.floatString("x00201041"),pixelSpacing:a,rowPixelSpacing:y,columnPixelSpacing:P,usingDefaultValues:w}}if(e===n.CINE)return{frameTime:t.floatString("x00181063")};if(e===n.IMAGE_PIXEL)return ml(t);if(e===n.VOI_LUT){const i=bl(t);return{windowCenter:Ar(t,"x00281050",1),windowWidth:Ar(t,"x00281051",1),voiLUTSequence:co(i,t.elements.x00283010),voiLUTFunction:t.string("x00281056")}}if(e===n.MODALITY_LUT)return{rescaleIntercept:t.floatString("x00281052"),rescaleSlope:t.floatString("x00281053"),rescaleType:t.string("x00281054"),modalityLUTSequence:co(t.uint16("x00280103"),t.elements.x00283000)};if(e===n.SOP_COMMON)return{sopClassUID:t.string("x00080016"),sopInstanceUID:t.string("x00080018")};if(e===n.PET_ISOTOPE){const i=t.elements.x00540016;if(i===void 0)return;const l=i.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:ar.parseTM(l.string("x00181072")||""),radionuclideTotalDose:l.floatString("x00181074"),radionuclideHalfLife:l.floatString("x00181075")}}}if(e===n.OVERLAY_PLANE)return uh(t);if(e==="transferSyntax"){let i;try{i=t.string("x00020010")}catch{}return{transferSyntaxUID:i}}if(e===n.PET_SERIES)return{correctedImage:t.string("x00280051"),units:t.string("x00541001"),decayCorrection:t.string("x00541102")};if(e===n.PET_IMAGE)return{frameReferenceTime:t.floatString(t.string("x00541300")||""),actualFrameDuration:t.intString(t.string("x00181242"))};if(e===n.ULTRASOUND_ENHANCED_REGION)return Gs(t);if(e===n.CALIBRATION&&t.string("x00080060")==="US")return{sequenceOfUltrasoundRegions:Gs(t)};if(e==="instance")return ll(r,cf)}let ki=[];function ph(e){return`dicomfile:${ki.push(e)-1}`}function vh(e){return ki[e]}function gh(e){ki[e]=void 0}function _h(){ki=[]}const hf={add:ph,get:vh,remove:gh,purge:_h};function yh(e){const r=e.intString("x00280008"),t=e.elements.x7fe00010;return r!==t.fragments.length}function pf(e,r){if(e.elements.x7fe00010&&e.elements.x7fe00010.basicOffsetTable.length)return ar.readEncapsulatedImageFrame(e,e.elements.x7fe00010,r);if(yh(e)){const y=ar.createJPEGBasicOffsetTable(e,e.elements.x7fe00010);return ar.readEncapsulatedImageFrame(e,e.elements.x7fe00010,r,y)}const t=e.elements.x7fe00010.fragments,n=new ar.ByteStream(e.byteArrayParser,e.byteArray,e.elements.x7fe00010.dataOffset),i=ar.readSequenceItem(n);if(i.tag!=="xfffee000")throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";n.seek(i.length);const l=n.position;if(r+1>t.length)throw"dicomParser.readEncapsulatedPixelData: frame exceeds number of fragments";const d=l+t[r].offset+8,P=t[r].length;return new Uint8Array(n.byteArray.buffer.slice(n.byteArray.byteOffset+d,n.byteArray.byteOffset+d+P))}function mh(e,r){return e&1<<r}function vf(e,r,t){const n=new Uint8Array(t);for(let i=0;i<t;i++){const l=Math.floor(i/8),a=e[l+r],d=i%8;n[i]=mh(a,d)?1:0}return n}function gf(e,r){const t=e.elements.x7fe00010||e.elements.x7fe00008,n=e.uint16("x00280100"),i=e.uint16("x00280010"),l=e.uint16("x00280011");let a=e.uint16("x00280002");e.string("x00280004")==="YBR_FULL_422"&&(a=2,console.warn(`Using SamplesPerPixel of 2 for YBR_FULL_422 photometric interpretation.
5
+ See http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.3.html for more information.`));const P=t.dataOffset,y=i*l*a;let w;if(n===8){if(w=P+r*y,w>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(w,w+y))}else if(n===16){if(w=P+r*y*2,w>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(w,w+y*2))}else if(n===1){if(w=P+r*y*.125,w>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return vf(e.byteArray,w,y)}else if(n===32){if(w=P+r*y*4,w>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer.slice(w,w+y*4))}throw new Error("unsupported pixel format")}function _f(e){const r=Da(e),t=parseInt(r.url,10),n=hf.get(t);return new Promise((i,l)=>{const a=new FileReader;a.onload=d=>{const P=d.target.result;i(P)},a.onerror=l,a.readAsArrayBuffer(n)})}function yf(e,r=0){const t=e.elements.x7fe00010||e.elements.x7fe00008;return t?t.encapsulatedPixelData?pf(e,r):gf(e,r):null}function Li(e){let r=e[0],t=e[0],n;const i=e.length;for(let l=1;l<i;l++)n=e[l],r=Math.min(r,n),t=Math.max(t,n);return{min:r,max:t}}function bh(e,r,t){e.planarConfiguration===0?Do(e.pixelData,r,t):gl(e.pixelData,r,t)}function wh(e,r,t){e.planarConfiguration===0?_l(e.pixelData,r,t):yl(e.pixelData,r,t)}function mf(e,r,t){const{photometricInterpretation:n}=e;if(e.photometricInterpretation==="RGB")bh(e,r,t);else if(n==="YBR_RCT"||n==="YBR_ICT"||n==="YBR_PARTIAL_420")Do(e.pixelData,r,t);else if(e.photometricInterpretation==="PALETTE COLOR")Ro(e,r,t);else if(e.photometricInterpretation==="YBR_FULL_422")Lc(e.pixelData,r,t);else if(e.photometricInterpretation==="YBR_FULL")wh(e,r,t);else throw new Error(`No color space conversion for photometric interpretation ${e.photometricInterpretation}`)}function Ph(e){if(e===void 0)return!1;const{rows:r,columns:t,photometricInterpretation:n,pixelDataLength:i,planarConfiguration:l}=e;return i===4*t*r?!1:n==="PALETTE COLOR"?!0:n.endsWith("420")?i===(3*Math.ceil(t/2)+Math.floor(t/2))*r:n.endsWith("422")?i===(3*Math.ceil(t/2)+Math.floor(t/2))*Math.ceil(r/2)+Math.floor(r/2)*t:n!=="RGB"||l===1}function xh(e){return Eh(String.fromCharCode.apply(null,Array.prototype.slice.apply(new Uint8Array(e))))}function Eh(e){let r;try{return decodeURIComponent(escape(e))}catch(t){if(r=t,r instanceof URIError)return e;throw r}}function bf(e,r,t){const n=new Date().getTime(),i=new Blob([r],{type:"image/jpeg"});return new Promise((l,a)=>{const d=new FileReader;d.readAsBinaryString===void 0?d.readAsArrayBuffer(i):d.readAsBinaryString(i),d.onload=function(){const P=new Image;P.onload=function(){t.height=P.height,t.width=P.width,e.rows=P.height,e.columns=P.width;const y=t.getContext("2d");y.drawImage(this,0,0);const w=y.getImageData(0,0,P.width,P.height),W=new Date().getTime();e.pixelData=new Uint8Array(w.data.buffer),e.imageData=w,e.decodeTimeInMS=W-n;const F=Li(e.pixelData);e.smallestPixelValue=F.min,e.largestPixelValue=F.max,e.pixelDataLength=e.pixelData.length,l(e)},P.onerror=function(y){a(y)},d.readAsBinaryString===void 0?P.src=`data:image/jpeg;base64,${window.btoa(xh(d.result))}`:P.src=`data:image/jpeg;base64,${window.btoa(d.result)}`},d.onerror=P=>{a(P)}})}function Vt(e,r,t,n,i){const l={...n};delete l.loader,delete l.streamingData;const a=fl(),d=l.priority||void 0;return l.transferPixelData&&t.buffer,a.executeTask("dicomImageLoader","decodeTask",{imageFrame:e,transferSyntax:r,pixelData:t,options:l,decodeConfig:i},{priority:d,requestType:l?.requestType})}function Th(e,r,t,n,i={},l){switch(r){case"1.2.840.10008.1.2":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.1":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.2":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.1.99":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.5":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.4.50":return e.bitsAllocated===8&&(e.samplesPerPixel===3||e.samplesPerPixel===4)?bf(e,t,n):Vt(e,r,t,i,l);case"1.2.840.10008.1.2.4.51":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.4.57":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.4.70":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.4.80":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.4.81":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.4.90":return Vt(e,r,t,i,l);case"1.2.840.10008.1.2.4.91":return Vt(e,r,t,i,l);case"3.2.840.10008.1.2.4.96":case"1.2.840.10008.1.2.4.201":case"1.2.840.10008.1.2.4.202":case"1.2.840.10008.1.2.4.203":return Vt(e,r,t,i,l)}return Promise.reject(new Error(`No decoder for transfer syntax ${r}`))}function wf(e){const r=vn("imagePixelModule",e);return{samplesPerPixel:r.samplesPerPixel,photometricInterpretation:r.photometricInterpretation,planarConfiguration:r.planarConfiguration,rows:r.rows,columns:r.columns,bitsAllocated:r.bitsAllocated,bitsStored:r.bitsStored,pixelRepresentation:r.pixelRepresentation,smallestPixelValue:r.smallestPixelValue,largestPixelValue:r.largestPixelValue,redPaletteColorLookupTableDescriptor:r.redPaletteColorLookupTableDescriptor,greenPaletteColorLookupTableDescriptor:r.greenPaletteColorLookupTableDescriptor,bluePaletteColorLookupTableDescriptor:r.bluePaletteColorLookupTableDescriptor,redPaletteColorLookupTableData:r.redPaletteColorLookupTableData,greenPaletteColorLookupTableData:r.greenPaletteColorLookupTableData,bluePaletteColorLookupTableData:r.bluePaletteColorLookupTableData,pixelData:void 0,imageId:e}}function $h(e,r){const t=e.get("modalityLutModule",r)||{},n=e.get("generalSeriesModule",r)||{},{modality:i}=n,l=t.rescaleSlope,a=t.rescaleIntercept,d=l??1,P=a??0,y=e.get("scalingModule",r)||{},w=i==="PT"&&typeof y.suvbw=="number"&&!isNaN(y.suvbw),W=i==="RTDOSE"&&typeof y.DoseGridScaling=="number"&&!isNaN(y.DoseGridScaling);return d===1&&P===0&&!w&&!W?void 0:{...{rescaleSlope:d,rescaleIntercept:P,modality:i},...i==="PT"&&{suvbw:y.suvbw},...i==="RTDOSE"&&{doseGridScaling:y.DoseGridScaling,doseSummation:y.DoseSummation,doseType:y.DoseType,doseUnit:y.DoseUnit}}}function Ho(e){return e==="RGB"||e==="PALETTE COLOR"||e==="YBR_FULL"||e==="YBR_FULL_422"||e==="YBR_PARTIAL_422"||e==="YBR_PARTIAL_420"||e==="YBR_RCT"||e==="YBR_ICT"}function Ah(e,r){const t=e.length/4;let n=0,i=0;for(let l=0;l<t;l++)r[i++]=e[n++],r[i++]=e[n++],r[i++]=e[n++],n++;return r}function Ch(e){return e!=="1.2.840.10008.5.1.4.1.1.12.1"&&e!=="1.2.840.10008.5.1.4.1.1.12.2.1"}function zo(e,r){let t;return Number.isInteger(e)&&Number.isInteger(r)&&(e>=0?r<=255?t=Uint8Array:r<=65535?t=Uint16Array:r<=4294967295&&(t=Uint32Array):e>=-128&&r<=127?t=Int8Array:e>=-32768&&r<=32767&&(t=Int16Array)),t||Float32Array}function Sh(e,r,t){return zo(e,r)===t}function Dh(e){const r=e.smallestPixelValue,t=e.largestPixelValue,n=zo(r,t);if(n){const i=new n(e.pixelData);e.pixelData=i}else throw new Error("Could not apply a typed array to the pixel data")}let Zs="";async function li(e,r,t,n={}){const i=n.useRGBA;if(n.preScale={enabled:n.preScale&&n.preScale.enabled!==void 0?n.preScale.enabled:!0},!r?.length)return Promise.reject(new Error("The pixel data is missing"));const{MetadataModules:l}=_n,a=document.createElement("canvas"),d=wf(e);d.decodeLevel=n.decodeLevel,n.allowFloatRendering=pc();let P,y,w;const W=d.photometricInterpretation==="PALETTE COLOR"?{red:d.redPaletteColorLookupTableDescriptor,green:d.greenPaletteColorLookupTableDescriptor,blue:d.bluePaletteColorLookupTableDescriptor}:null;if(d.photometricInterpretation==="PALETTE COLOR"&&([P,y,w]=await Promise.all([Ea(d,"red",null),Ea(d,"green",null),Ea(d,"blue",null)])),n.preScale.enabled){const ee=$h(vc,e);ee?n.preScale={...n.preScale,scalingParameters:ee}:n.preScale.enabled=!1}const{decodeConfig:F,wasmBasePath:k}=ti(),j=k===void 0?F:{...F,wasmBasePath:k};Object.keys(d).forEach(ee=>{(typeof d[ee]=="function"||d[ee]instanceof Promise)&&delete d[ee]});const Y=Th(d,t,r,a,n,j),K=Ho(d.photometricInterpretation);return new Promise((ee,X)=>{Y.then(function(H){let J=!1;if(n.targetBuffer&&n.targetBuffer.type&&!K){const{arrayBuffer:ge,type:Re,offset:Fe=0,length:Ie}=n.targetBuffer,Be=H.pixelDataLength,je=Fe,Ce=Ie??Be-je,Ke={Uint8Array,Uint16Array,Int16Array,Float32Array,Uint32Array};if(Ce!==H.pixelDataLength)throw new Error(`target array for image does not have the same length (${Ce}) as the decoded image length (${H.pixelDataLength}).`);const ft=Ke[Re],bt=ge?new ft(ge,je,Ce):new ft(H.pixelData);if(Ce!==H.pixelDataLength)throw new Error("target array for image does not have the same length as the decoded image length.");H.pixelData=bt,J=!0}J||Dh(H);const ce=vn(l.IMAGE_PLANE,e)||{},he=vn(l.VOI_LUT,e)||{},re=vn(l.MODALITY_LUT,e)||{},le=vn(l.SOP_COMMON,e)||{},ie=vn(l.CALIBRATION,e)||{},{rows:te,columns:oe}=H;if(H.photometricInterpretation==="PALETTE COLOR"&&W){const ge=(Re,Fe)=>{if(Re==null||!Fe||Fe.length<3)return Re;const Ie=Fe[0];if(Fe[2]!==16||Ie<=0)return Re;const je=Ie*2;let Ce=null;if(Array.isArray(Re)&&Re.length>0){const Ke=Re[0];Ke instanceof ArrayBuffer?Ce=new Uint8Array(Ke):ArrayBuffer.isView(Ke)&&(Ce=Ke)}else Re instanceof ArrayBuffer?Ce=new Uint8Array(Re):ArrayBuffer.isView(Re)&&(Ce=Re);return Ce&&Ce.byteLength===je?new Uint16Array(Ce.buffer,Ce.byteOffset,Ie):Re};H.redPaletteColorLookupTableData=ge(P,W.red),H.greenPaletteColorLookupTableData=ge(y,W.green),H.bluePaletteColorLookupTableData=ge(w,W.blue)}else H.photometricInterpretation==="PALETTE COLOR"&&(H.redPaletteColorLookupTableData=P,H.greenPaletteColorLookupTableData=y,H.bluePaletteColorLookupTableData=w);if(K){if(Ph(H)){a.height=H.rows,a.width=H.columns;let Fe=a.getContext("2d").createImageData(H.columns,H.rows);if(i||(Fe={...Fe,data:new Uint8ClampedArray(3*H.columns*H.rows)}),H.photometricInterpretation==="PALETTE COLOR"){const Ie=H.pixelData,Be=Ie?.length??0,je=Math.min(40,Be),Ce=H.redPaletteColorLookupTableData,Ke=H.greenPaletteColorLookupTableData,ft=H.bluePaletteColorLookupTableData,bt=H.redPaletteColorLookupTableDescriptor,ot=ke=>ke!=null&&typeof ke.length=="number"?ke.length:null,Ze=ke=>ke==null?null:ke instanceof ArrayBuffer||ArrayBuffer.isView(ke)?ke.byteLength:null,He=ke=>ke!=null&&typeof ke.length=="number"?Array.from(ke).slice(0,10):null;console.log("[createImage] PALETTE COLOR before convertColorSpace",{imageId:e,descriptor:bt,pixelDataLength:Be,pixelDataSlice:je>0&&Ie?Array.from({length:je},(ke,Qe)=>Ie[Qe]):[],redLUT:{length:ot(Ce),byteLength:Ze(Ce),first10:He(Ce)},greenLUT:{length:ot(Ke),byteLength:Ze(Ke),first10:He(Ke)},blueLUT:{length:ot(ft),byteLength:Ze(ft),first10:He(ft)}})}mf(H,Fe.data,i),H.imageData=Fe,H.pixelData=Fe.data,H.pixelDataLength=Fe.data.length}else if(!i&&H.pixelDataLength===4*te*oe){const Re=new Uint8Array(H.pixelData.length/4*3);H.pixelData=Ah(H.pixelData,Re),H.pixelDataLength=H.pixelData.length}const ge=Li(H.pixelData);H.smallestPixelValue=ge.min,H.largestPixelValue=ge.max}let be=H.samplesPerPixel;H.photometricInterpretation==="PALETTE COLOR"&&(be=i?4:3);const Te=gc.createImageVoxelManager({scalarData:H.pixelData,width:H.columns,height:H.rows,numberOfComponents:be}),ve={imageId:e,dataType:H.pixelData.constructor.name,color:K,calibration:ie,columnPixelSpacing:ce.columnPixelSpacing,columns:H.columns,height:H.rows,preScale:H.preScale,intercept:re.rescaleIntercept?re.rescaleIntercept:0,slope:re.rescaleSlope?re.rescaleSlope:1,invert:H.photometricInterpretation==="MONOCHROME1",minPixelValue:H.smallestPixelValue,maxPixelValue:H.largestPixelValue,rowPixelSpacing:ce.rowPixelSpacing,rows:H.rows,sizeInBytes:H.pixelData.byteLength,width:H.columns,windowCenter:he.windowCenter?he.windowCenter[0]:void 0,windowWidth:he.windowWidth?he.windowWidth[0]:void 0,voiLUTFunction:he.voiLUTFunction?.length&&he.voiLUTFunction[0]||he.voiLutFunction||void 0,decodeTimeInMS:H.decodeTimeInMS,floatPixelData:void 0,imageFrame:H,voxelManager:Te,rgba:K&&i,getPixelData:()=>H.pixelData,getCanvas:void 0,numberOfComponents:be};if(ve.color&&(ve.getCanvas=function(){if(Zs===e)return a;const ge=ve.columns,Re=ve.rows;a.height=Re,a.width=ge;const Fe=a.getContext("2d"),Ie=Fe.createImageData(ge,Re),Be=H.pixelData;if(Be.length===ge*Re*4)for(let je=0;je<Be.length;je++)Ie.data[je]=Be[je];else if(Be.length===ge*Re*3){let je=0;for(let Ce=0;Ce<Be.length;Ce+=3)Ie.data[je++]=Be[Ce],Ie.data[je++]=Be[Ce+1],Ie.data[je++]=Be[Ce+2],Ie.data[je++]=255}return H.pixelData=Ie.data,H.pixelDataLength=Ie.data.length,H.imageData=Ie,Fe.putImageData(H.imageData,0,0),Zs=e,a}),re.modalityLUTSequence&&re.modalityLUTSequence.length>0&&Ch(le.sopClassUID)&&(ve.modalityLUT=re.modalityLUTSequence[0]),he.voiLUTSequence&&he.voiLUTSequence.length>0&&(ve.voiLUT=he.voiLUTSequence[0]),ve.color&&(ve.windowWidth=256,ve.windowCenter=128),ve.windowCenter===void 0||ve.windowWidth===void 0){const ge=_c(ve.imageFrame.smallestPixelValue,ve.imageFrame.largestPixelValue);ve.windowWidth=ge.windowWidth,ve.windowCenter=ge.windowCenter}ee(ve)},X)})}const{ImageQualityStatus:Pf}=_n,{addDicomPart10Instance:Rh}=ul,qs=Ai.NATURALIZED;function Ih(e,r){e.decache=function(){const t=Da(r);si.unload(t.url)}}function xf(e,r,t=0,n,i,l){const a=new Date().getTime(),d={cancelFn:void 0,promise:void 0};return d.promise=new Promise((P,y)=>{e.then(w=>{const W=yf(w,t),F=w.string("x00020010"),k=new Date().getTime(),j=li(r,W,F,i);Ih(d,r),j.then(Y=>{Y=Y,Y.data=w;const K=new Date().getTime();Y.loadTimeInMS=k-a,Y.totalTimeInMS=K-a,Y.imageQualityStatus=Pf.FULL_RESOLUTION,l!==void 0&&l.imageDoneCallback!==void 0&&l.imageDoneCallback(Y),P(Y)},function(Y){y({error:Y,dataSet:w})})},function(w){y({error:w})})}),d}function Vo(e){if(e==="dicomweb"||e==="wadouri")return Si;if(e==="dicomfile")return _f}const gi=e=>e instanceof ArrayBuffer?new Uint8Array(e):e;function Oh(e){if(!Array.isArray(e))return gi(e);if(e.length===0)return;if(e.length===1)return gi(e[0]);let r=0;for(const i of e)r+=gi(i).length;const t=new Uint8Array(r);let n=0;for(const i of e){const l=gi(i);t.set(l,n),n+=l.length}return t}function bi(e,r={}){const t=Da(e);r=Object.assign({},r),delete r.loader;const n=Vo(t.scheme),i=t.pixelDataFrame!==void 0?t.pixelDataFrame:0;return{promise:(async()=>{const a=Date.now();console.log("[dicomImageLoader/wadouri] loadImageFromNaturalizedMetadata: start",{imageId:e,scheme:t.scheme,url:t.url,frameIndex:i});let d=vn(qs,e);if(!d){if(console.log("[dicomImageLoader/wadouri] loadImageFromNaturalizedMetadata: no NATURALIZED metadata, attempting to fetch and populate",{imageId:e}),!n)throw new Error(`loadImageFromNaturalizedMetadata: no NATURALIZED cache and unknown scheme ${t.scheme}`);const K=await n(t.url,e),ee=K instanceof ArrayBuffer?K:K.arrayBuffer,X=`${t.scheme}:${t.url}`;await Rh(X,ee),d=vn(qs,e)}const P=Date.now(),y=cl(Ai.COMPRESSED_FRAME_DATA,e,{frameIndex:i});if(!y)throw console.warn("[dicomImageLoader/wadouri] loadImageFromNaturalizedMetadata: no COMPRESSED_FRAME_DATA for imageId",{imageId:e,frameIndex:i}),new Error(`loadImageFromNaturalizedMetadata: no pixel data in NATURALIZED for imageId ${e}`);const{pixelData:w,transferSyntaxUid:W}=y,F=Oh(w),k=await li(e,F,W,r),j=Date.now(),Y=k;return Y.imageQualityStatus=Pf.FULL_RESOLUTION,Y.data=d,Y.loadTimeInMS=P-a,Y.totalTimeInMS=j-a,Y})()}}const wi=(e,r={})=>{const t=Da(e),n=Vo(t.scheme);if(!n)throw new Error(`wadouri loadImage: no loader for scheme '${t.scheme}'`);const i=t.pixelDataFrame!==void 0?t.pixelDataFrame:0,l=t.url,a=si.load(t.url,n,e);return xf(a,e,i,l,r)};function Ef(e){if(e?.useLegacyMetadataProvider===!0){console.warn("wadouri metaDataProvider is deprecated. Use registerMetadataProvider module from @cornerstonejs/metadata instead."),ca("dicomweb",wi),ca("wadouri",wi),ca("dicomfile",wi),lo(uf);return}ca("dicomweb",bi),ca("wadouri",bi),ca("dicomfile",bi),vl()}const kh={getImagePixelModule:ml,getLUTs:co,getModalityLUTOutputPixelRepresentation:bl,getNumberValues:Ar,metaDataProvider:uf,metadataForDataset:df},Lh={metaData:kh,dataSetCacheManager:si,fileManager:hf,getEncapsulatedImageFrame:pf,getUncompressedImageFrame:gf,loadFileRequest:_f,loadImageFromPromise:xf,getLoaderForScheme:Vo,getPixelData:yf,loadImage:wi,loadImageFromNaturalizedMetadata:bi,parseImageId:Da,unpackBinaryFrame:vf,register:Ef};function we(e,r,t){return r=r||0,!e||!e.Value||Array.isArray(e.Value)&&e.Value.length<=r?t:e.Value[r]}function Uh(e,r,t){const n=we(e,r,t);if(n!==void 0)return parseFloat(String(n))}function Me(e,r){const t=we(e,r);if(t!==void 0)return parseFloat(t)}function Ot(e,r){if(!e||!e.Value||!Array.isArray(e.Value)||r&&e.Value.length<r)return;const t=[];for(let n=0;n<e.Value.length;n++)t.push(parseFloat(e.Value[n]));return t}function Mh(e){const r=[];for(let t=0;t<=30;t+=2){let n=`x60${t.toString(16)}`;n.length===4&&(n=`x600${t.toString(16)}`);const i=we(e[`${n}3000`]);if(!i)continue;const l=[];for(let a=0;a<i.length;a++)for(let d=0;d<8;d++){const P=e.Value[i.dataOffset+a];l[a*8+d]=P>>d&1}r.push({rows:Me(e[`${n}0010`]),columns:Me(e[`${n}0011`]),type:we(e[`${n}0040`]),x:Me(e[`${n}0050`],1)-1,y:Me(e[`${n}0050`],0)-1,pixelData:l,description:we(e[`${n}0022`]),label:we(e[`${n}1500`]),roiArea:we(e[`${n}1301`]),roiMean:we(e[`${n}1302`]),roiStandardDeviation:we(e[`${n}1303`])})}return{overlays:r}}function Ui(e){const r=e.indexOf(":");return e.substring(r+1)}function $a(e,r=!0){return e&&e.Value?e.Value[0]&&r?e.Value[0]:e.Value:e}function Tf(e,r,t){const n=(r?Object.values(r[0]):[]).map(l=>l.Value?.[0]).filter(l=>l!==void 0&&typeof l=="object"),i=(e?Object.values(e[t-1]):[]).map(l=>l.Value?.[0]).filter(l=>l!==void 0&&typeof l=="object");return{shared:n,perFrame:i}}function $f(e){let{52009230:r,52009229:t,"00280008":n,...i}=e;return r=$a(r,!1),t=$a(t,!1),n=$a(n),{PerFrameFunctionalGroupsSequence:r,SharedFunctionalGroupsSequence:t,NumberOfFrames:n,rest:i}}function Fh(e,r){const{PerFrameFunctionalGroupsSequence:t,SharedFunctionalGroupsSequence:n,NumberOfFrames:i,rest:l}=$f(r);if(t||i>1){const{shared:a,perFrame:d}=Tf(t,n,e),P=Object.assign(r,{frameNumber:e});return[...a,...d].forEach(y=>{Object.entries(y).forEach(([w,W])=>{P[w]=W})}),Object.assign(l,{"00280008":i},P)}return r}let fi=[],$i={};function Af(e){const r=e.indexOf("/frames/")+8,t=e.slice(0,r),n=parseInt(e.slice(r),10);return{metadata:fi[`${t}1`],frame:n}}function Nh(e){const r=Ui(e);return Af(r)}function Wh(e){if(e[52009230]!==void 0||e[52009229]!==void 0)return!0;const r=we(e["00280008"]);return r&&r>1}function Bh(e,r){const t=Ui(e);Object.defineProperty(r,"isMultiframe",{value:Wh(r),enumerable:!1}),fi[t]=r}function jh(e){const r=Ui(e),t=fi[r];if(t&&!t?.isMultiframe)return t;const n=$i[r];if(n)return n;const i=Af(r);if(!i||!i.metadata)return;const{metadata:l,frame:a}=i;if(l){const d=Fh(a,l);return $i[r]=d,d}}function Hh(e){const r=Ui(e);fi[r]=void 0,$i[r]=void 0}function zh(){fi=[],$i={}}const Mi={add:Bh,get:jh,remove:Hh,purge:zh};function Cf(e){return we(e["00080060"]).includes("NM")}function Go(e,r){const t=$a(e["00080008"],!1);if(t)return t[r]}function Vh(e){let r;const t=Go(e,2);if(t&&ka(t)){const n=$a(e["00540022"]);n&&(r=Ot(n["00200037"],6))}return r}function Gh(e){let r;const t=Go(e,2);if(t&&ka(t)){const n=$a(e["00540022"]);n&&(r=Ot(n["00200032"],3))}return r}function Js(e){let r=Ot(e["00200037"],6);return!r&&Cf(e)&&(r=Vh(e)),r}function Ys(e){let r=Ot(e["00200032"],3);return!r&&Cf(e)&&(r=Gh(e)),r}function It(e,r){const t=Ot(e[r]);return t?t[0]:null}function Zh(e){return e?.Value?.length?Array.isArray(e.Value)?e.Value:typeof e.Value=="object"?(console.warn("Warning: Value should be an array, but an object was found. Encapsulating the object in an array."),[e.Value]):[]:[]}function Xs(e){const r=Zh(e["00186011"]);return!r||!r.length?null:r.map(n=>{const i=It(n,"0018602C"),l=It(n,"0018602E"),a=It(n,"00186024"),d=It(n,"00186026"),P=It(n,"0018601A"),y=It(n,"0018601E"),w=It(n,"00186018"),W=It(n,"0018601C"),F=It(n,"00186020"),k=It(n,"00186022"),j=It(n,"0018602A"),Y=It(n,"00186028"),K=It(n,"00186012"),ee=It(n,"00186014"),X=It(n,"00186016"),H=It(n,"00186030");return{regionLocationMinY0:P,regionLocationMaxY1:y,regionLocationMinX0:w,regionLocationMaxX1:W,referencePixelX0:F,referencePixelY0:k,physicalDeltaX:i,physicalDeltaY:l,physicalUnitsXDirection:a,physicalUnitsYDirection:d,referencePhysicalPixelValueY:j,referencePhysicalPixelValueX:Y,regionSpatialFormat:K,regionDataType:ee,regionFlags:X,transducerFrequency:H}})}function Eo(e,r){const{MetadataModules:t}=_n;if(e===t.MULTIFRAME){const{metadata:i,frame:l}=Nh(r);if(!i)return;const{PerFrameFunctionalGroupsSequence:a,SharedFunctionalGroupsSequence:d,NumberOfFrames:P}=$f(i);if(a||P>1){const{shared:y,perFrame:w}=Tf(a,d,l);return{NumberOfFrames:P,PerFrameFunctionalInformation:w,SharedFunctionalInformation:y}}return{NumberOfFrames:P}}const n=Mi.get(r);if(n){if(e===t.GENERAL_STUDY)return{studyDescription:we(n["00081030"]),studyDate:we(n["00080020"]),studyTime:we(n["00080030"]),accessionNumber:we(n["00080050"])};if(e===t.GENERAL_SERIES)return{modality:we(n["00080060"]),seriesInstanceUID:we(n["0020000E"]),seriesDescription:we(n["0008103E"]),seriesNumber:Me(n["00200011"]),studyInstanceUID:we(n["0020000D"]),seriesDate:we(n["00080021"]),seriesTime:we(n["00080031"]),acquisitionDate:we(n["00080022"]),acquisitionTime:we(n["00080032"])};if(e===t.GENERAL_IMAGE)return{sopInstanceUID:we(n["00080018"]),instanceNumber:Me(n["00200013"]),lossyImageCompression:we(n["00282110"]),lossyImageCompressionRatio:Me(n["00282112"]),lossyImageCompressionMethod:we(n["00282114"])};if(e===t.PATIENT)return{patientID:we(n["00100020"]),patientName:we(n["00100010"])};if(e===t.PATIENT_STUDY)return{patientAge:Me(n["00101010"]),patientSize:Me(n["00101020"]),patientSex:we(n["00100040"]),patientWeight:Me(n["00101030"])};if(e===t.NM_MULTIFRAME_GEOMETRY){const i=we(n["00080060"]),l=Go(n,2);return{modality:i,imageType:we(n["00080008"]),imageSubType:l,imageOrientationPatient:Js(n),imagePositionPatient:Ys(n),sliceThickness:Me(n["00180050"]),spacingBetweenSlices:Me(n["00180088"]),pixelSpacing:Ot(n["00280030"],2),numberOfFrames:Me(n["00280008"]),isNMReconstructable:ka(l)&&i.includes("NM")}}if(e===t.IMAGE_PLANE){let i=Js(n),l=Ys(n);const a=Ot(n["00280030"],2);let d=null,P=null,y=null,w=null,W=!1;return a?(P=a[0],d=a[1]):(W=!0,P=1,d=1),i?(y=[parseFloat(i[0]),parseFloat(i[1]),parseFloat(i[2])],w=[parseFloat(i[3]),parseFloat(i[4]),parseFloat(i[5])]):(y=[1,0,0],w=[0,1,0],W=!0,i=[...y,...w]),l||(l=[0,0,0],W=!0),{frameOfReferenceUID:we(n["00200052"]),rows:Me(n["00280010"]),columns:Me(n["00280011"]),imageOrientationPatient:i,rowCosines:y,columnCosines:w,imagePositionPatient:l,sliceThickness:Me(n["00180050"]),sliceLocation:Me(n["00201041"]),pixelSpacing:a,rowPixelSpacing:P,columnPixelSpacing:d,usingDefaultValues:W}}if(e===t.ULTRASOUND_ENHANCED_REGION)return Xs(n);if(e===t.CALIBRATION&&we(n["00080060"])==="US")return{sequenceOfUltrasoundRegions:Xs(n)};if(e===t.IMAGE_URL)return qh(r,n);if(e===t.CINE)return Jh(r,n);if(e===t.IMAGE_PIXEL)return{samplesPerPixel:Me(n["00280002"]),photometricInterpretation:we(n["00280004"]),rows:Me(n["00280010"]),columns:Me(n["00280011"]),bitsAllocated:Me(n["00280100"]),bitsStored:Me(n["00280101"]),highBit:we(n["00280102"]),pixelRepresentation:Me(n["00280103"]),planarConfiguration:Me(n["00280006"]),pixelAspectRatio:we(n["00280034"]),smallestPixelValue:Me(n["00280106"]),largestPixelValue:Me(n["00280107"]),redPaletteColorLookupTableDescriptor:Ot(n["00281101"]),greenPaletteColorLookupTableDescriptor:Ot(n["00281102"]),bluePaletteColorLookupTableDescriptor:Ot(n["00281103"]),redPaletteColorLookupTableData:Ot(n["00281201"]),greenPaletteColorLookupTableData:Ot(n["00281202"]),bluePaletteColorLookupTableData:Ot(n["00281203"])};if(e===t.VOI_LUT)return{windowCenter:Ot(n["00281050"],1),windowWidth:Ot(n["00281051"],1),voiLUTFunction:we(n["00281056"])};if(e===t.MODALITY_LUT)return{rescaleIntercept:Me(n["00281052"]),rescaleSlope:Me(n["00281053"]),rescaleType:we(n["00281054"])};if(e===t.SOP_COMMON)return{sopClassUID:we(n["00080016"]),sopInstanceUID:we(n["00080018"])};if(e===t.PET_ISOTOPE){const i=we(n["00540016"]);return i===void 0?void 0:{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:we(i["00181072"],0,""),radiopharmaceuticalStartDateTime:we(i["00181078"],0,""),radionuclideTotalDose:Me(i["00181074"]),radionuclideHalfLife:Me(i["00181075"])}}}if(e===t.OVERLAY_PLANE)return Mh(n);if(e==="transferSyntax")return Sf(r,n);if(e===t.PET_SERIES){let i=n["00280051"],l=we(n["00280051"]);return i&&i.Value&&Array.isArray(i.Value)&&(l=i.Value.join("\\")),{correctedImage:l,units:we(n["00541001"]),decayCorrection:we(n["00541102"])}}if(e===t.PET_IMAGE)return{frameReferenceTime:Me(n["00541300"]),actualFrameDuration:Me(n["00181242"])};if(e==="instance")return ll(r,cf)}}function qh(e,r){const{transferSyntaxUID:t}=Sf(e,r),n=yc(t),i=e.substring(7),l=i.replace("/frames/","/thumbnail/");let a=i.replace("/frames/","/rendered/");return n&&(a=a.replace("/rendered/1","/rendered")),{isVideo:n,rendered:a,thumbnail:l}}function Jh(e,r){return{cineRate:we(r["00180040"]),numberOfFrames:Me(r["00280008"])}}function Sf(e,r){return{transferSyntaxUID:we(r["00020010"])||we(r["00083002"])}}function Yh(e,r,t={},n={}){const i=ti(),{retrieveOptions:l={},streamingData:a}=n,d=a.chunkSize||Kh(r,l,"chunkSize")||65536,P=w=>{if(typeof i.errorInterceptor=="function"){const W=new Error("request failed");i.errorInterceptor(W)}else console.warn("rangeRequest:Caught",w)};return new Promise(async(w,W)=>{const F=Object.assign({},t);Object.keys(F).forEach(function(k){(F[k]===null||F[k]===void 0)&&delete F[k]});try{a.encodedData||(a.chunkSize=d,a.rangesFetched=0);const k=Qh(a,l),{encodedData:j,responseHeaders:Y}=await Xh(e,F,k,a),K=Y.get("content-type"),{totalBytes:ee}=a,X=ee===j.byteLength,H=Io(K,j,{isPartial:!0}),J=Oo(l,X||H.extractDone===!0);w({...H,imageQualityStatus:J,percentComplete:H.extractDone?100:j.byteLength*100/ee})}catch(k){P(k),console.error(k),W(k)}})}async function Xh(e,r,t,n){t&&(r=Object.assign(r,{Range:`bytes=${t[0]}-${t[1]}`}));let{encodedData:i}=n;if(t[1]&&i?.byteLength>t[1])return n;const l=await fetch(e,{headers:r,signal:void 0}),a=await l.arrayBuffer(),d=new Uint8Array(a),{status:P}=l;let y;i?(y=new Uint8Array(i.length+d.length),y.set(i,0),y.set(d,i.length),n.rangesFetched=1):(y=new Uint8Array(d.length),y.set(d,0),n.rangesFetched++),n.encodedData=i=y,n.responseHeaders=l.headers;const w=l.headers.get("Content-Range");return w?n.totalBytes=Number(w.split("/")[1]):P!==206||!t?n.totalBytes=i?.byteLength:t[1]===""||i?.length<t[1]?n.totalBytes=i.byteLength:n.totalBytes=Number.MAX_SAFE_INTEGER,n}function Kh(e,r,t){const n=r[t];if(typeof n!="function")return n;const i=Mi.get(e);return n(i,e)}function Qh(e,r){const{totalBytes:t,encodedData:n,chunkSize:i=65536}=e,{rangeIndex:l=0}=r;return l===-1&&(!t||!n)?[0,""]:l===-1||n?.byteLength>t-i?[n?.byteLength||0,""]:[n?.byteLength||0,i*(l+1)-1]}function Zo(e,r,t="application/octet-stream",n){const{streamingData:i,retrieveOptions:l={}}=n||{},a={Accept:t};let d=l.urlArguments?`${e}${e.indexOf("?")===-1?"?":"&"}${l.urlArguments}`:e;if(l.framesPath&&(d=d.replace("/frames/",l.framesPath)),i?.url!==d&&(n.streamingData={url:d}),l.rangeIndex!==void 0)return Yh(d,r,a,n);if(l.streaming)return Pl(d,r,a,n);const P=Si(d,r,a),{xhr:y}=P;return P.then(function(w){const W=y.getResponseHeader("Content-Type")||"application/octet-stream",F=Io(W,new Uint8Array(w));return F.imageQualityStatus=Oo(l,!0),F})}const{ImageQualityStatus:ep}=_n,tp=Ai.COMPRESSED_FRAME_DATA;function rp(e){const r=e.match(/\/frames\/(\d+)/);return r?Math.max(0,Number(r[1])-1):0}const _i=e=>e instanceof ArrayBuffer?new Uint8Array(e):e;function np(e){if(!Array.isArray(e))return _i(e);if(e.length===0)return;if(e.length===1)return _i(e[0]);let r=0;for(const i of e)r+=_i(i).length;const t=new Uint8Array(r);let n=0;for(const i of e){const l=_i(i);t.set(l,n),n+=l.length}return t}function ap(e,r={}){const t=rp(e);let n;try{n=cl(tp,e,{frameIndex:t})}catch{return}if(!n?.pixelData)return;const{pixelData:i,transferSyntaxUid:l}=n,a=np(i);if(!a?.length||!l)return;const d=Date.now();return li(e,a,l,r).then(P=>{const y=P;return y.imageQualityStatus=ep.FULL_RESOLUTION,y.transferSyntaxUID=l,y.loadTimeInMS=Date.now()-d,y})}const{ProgressiveIterator:Ks}=dl,{ImageQualityStatus:Qs}=_n,ip=new Set(["3.2.840.10008.1.2.4.96","1.2.840.10008.1.2.4.202","1.2.840.10008.1.2.4.203"]);function op(e){const r="1.2.840.10008.1.2";if(!e)return r;const t=e.split(";"),n={};t.forEach(l=>{const a=l.split("=");if(a.length!==2)return;const d=a[1].trim().replace(/"/g,"");n[a[0].trim()]=d});const i={"image/jpeg":"1.2.840.10008.1.2.4.50","image/x-dicom-rle":"1.2.840.10008.1.2.5","image/x-jls":"1.2.840.10008.1.2.4.80","image/jls":"1.2.840.10008.1.2.4.80","image/jll":"1.2.840.10008.1.2.4.70","image/jp2":"1.2.840.10008.1.2.4.90","image/jpx":"1.2.840.10008.1.2.4.92","image/jphc":"3.2.840.10008.1.2.4.96","image/jxl":"1.2.840.10008.1.2.4.140"};return n["transfer-syntax"]?n["transfer-syntax"]:e&&!Object.keys(n).length&&i[e]?i[e]:n.type&&i[n.type]?i[n.type]:i[e]?i[e]:r}function sp(){return bc}const lp="multipart/related; type=application/octet-stream; transfer-syntax=*";function Df(e,r={}){const t=ap(e,r);return t?{promise:t.catch(n=>(console.warn(`Failed to decode registry frame data for ${e}; falling back to network retrieval`,n),el(e,r).promise)),cancelFn:void 0}:el(e,r)}function el(e,r={}){const t=sp(),n=new Date().getTime(),i=new Ks("decompress");async function l(w,W,F){i.generate(async k=>{const j=Ks.as(Zo(w,W,F,r));let Y=10;for await(const K of j){const{pixelData:ee,imageQualityStatus:X=Qs.FULL_RESOLUTION,percentComplete:H,done:J=!0,extractDone:ce=!0}=K,he=op(K.contentType);if(!ce&&!ip.has(he))continue;const re=K.decodeLevel??(X===Qs.FULL_RESOLUTION?0:fp(H,r.retrieveOptions?.decodeLevel));if(!(!J&&Y<=re))try{const le={...r,decodeLevel:re},ie=await li(W,ee,he,le),te=new Date().getTime();ie.loadTimeInMS=te-n,ie.transferSyntaxUID=he,ie.imageQualityStatus=X,k.add(ie,J),Y=re}catch(le){if(ce)throw console.warn("Couldn't decode",le),le}}})}const a=r.requestType||mc.Interaction,d=r.additionalDetails||{imageId:e},P=r.priority===void 0?5:r.priority,y=e.substring(7);return t.addRequest(l.bind(this,y,e,lp),a,d,P),{promise:i.getDonePromise(),cancelFn:void 0}}function fp(e,r=4){const t=e/100-.02;return t>1/4?Math.min(r,0):t>1/16?Math.min(r,1):t>1/64?Math.min(r,2):Math.min(r,3)}function Rf(e){if(ca("wadors",Df),e?.useLegacyMetadataProvider){console.warn("wadors metaDataProvider is deprecated. Use addDicomWebInstance from @cornerstonejs/metadata instead."),lo(Eo);return}vl(),lo(Eo)}const cp={getNumberString:Uh,getNumberValue:Me,getNumberValues:Ot,getValue:we,metaDataProvider:Eo},up={metaData:cp,findIndexOfString:ho,getPixelData:Zo,loadImage:Df,metaDataManager:Mi,register:Rf};function dp(e){wc.purgeCache(),si.purge(),Mi.purge(),Pc(),Rf(e),Ef(e)}const hp=()=>new Worker(new URL(""+new URL("decodeImageFrameWorker-BtcTb_T6.js",import.meta.url).href,import.meta.url),{type:"module"});function pp(e={}){wl(e),dp(e);const r=fl(),t=e?.maxWebWorkers||vp();r.registerWorker("dicomImageLoader",hp,{maxWorkerInstances:t})}function vp(){return typeof navigator<"u"&&navigator.hardwareConcurrency?Math.max(1,Math.floor(navigator.hardwareConcurrency/2)):1}function gp(e,r){if(r=r||e.transferSyntax,e.bitsAllocated===8&&r==="1.2.840.10008.1.2.4.50"&&(e.samplesPerPixel===3||e.samplesPerPixel===4))return!0}const{addDicomPart10Instance:_p}=ul;function yp(e,r){return _p(e,r)}const mp={IMPLICIT_VR_LITTLE_ENDIAN:"1.2.840.10008.1.2",EXPLICIT_VR_LITTLE_ENDIAN:"1.2.840.10008.1.2.1",DEFLATED_EXPLICIT_VR_LITTLE_ENDIAN:"1.2.840.10008.1.2.1.99",EXPLICIT_VR_BIG_ENDIAN:"1.2.840.10008.1.2.2",JPEG_BASELINE_PROCESS_1:"1.2.840.10008.1.2.4.50",JPEG_EXTENDED_PROCESS_2_4:"1.2.840.10008.1.2.4.51",JPEG_EXTENDED_PROCESSES_3_5:"1.2.840.10008.1.2.4.52",JPEG_SPECTRAL_SELECTION_NONHIERARCHICAL_PROCESSES_6_8:"1.2.840.10008.1.2.4.53",JPEG_SPECTRAL_SELECTION_NONHIERARCHICAL_PROCESSES_7_9:"1.2.840.10008.1.2.4.54",JPEG_FULL_PROGRESSION_NONHIERARCHICAL_PROCESSES_10_12:"1.2.840.10008.1.2.4.55",JPEG_FULL_PROGRESSION_NONHIERARCHICAL_PROCESSES_11_13:"1.2.840.10008.1.2.4.56",JPEG_LOSSLESS_NONHIERARCHICAL_PROCESS_14:"1.2.840.10008.1.2.4.57",JPEG_LOSSLESS_NONHIERARCHICAL_PROCESS_15:"1.2.840.10008.1.2.4.58",JPEG_EXTENDED_HIERARCHICAL_PROCESSES_16_18:"1.2.840.10008.1.2.4.59",JPEG_EXTENDED_HIERARCHICAL_PROCESSES_17_19:"1.2.840.10008.1.2.4.60",JPEG_SPECTRAL_SELECTION_HIERARCHICAL_PROCESSES_20_22:"1.2.840.10008.1.2.4.61",JPEG_SPECTRAL_SELECTION_HIERARCHICAL_PROCESSES_21_23:"1.2.840.10008.1.2.4.62",JPEG_FULL_PROGRESSION_HIERARCHICAL_PROCESSES_24_26:"1.2.840.10008.1.2.4.63",JPEG_FULL_PROGRESSION_HIERARCHICAL_PROCESSES_25_27:"1.2.840.10008.1.2.4.64",JPEG_LOSSLESS_NONHIERARCHICAL_PROCESS_28:"1.2.840.10008.1.2.4.65",JPEG_LOSSLESS_NONHIERARCHICAL_PROCESS_29:"1.2.840.10008.1.2.4.66",JPEG_LOSSLESS_NONHIERARCHICAL_FIRST_ORDER_PREDICTION_PROCESS_14:"1.2.840.10008.1.2.4.70",JPEG_LS_LOSSLESS_IMAGE_COMPRESSION:"1.2.840.10008.1.2.4.80",JPEG_LS_LOSSY_NEAR_LOSSLESS_IMAGE_COMPRESSION:"1.2.840.10008.1.2.4.81",JPEG_2000_IMAGE_COMPRESSION_LOSSLESS_ONLY:"1.2.840.10008.1.2.4.90",JPEG_2000_IMAGE_COMPRESSION:"1.2.840.10008.1.2.4.91",JPEG_2000_PART_2_MULTICOMPONENT_IMAGE_COMPRESSION_LOSSLESS_ONLY:"1.2.840.10008.1.2.4.92",JPEG_2000_PART_2_MULTICOMPONENT_IMAGE_COMPRESSION:"1.2.840.10008.1.2.4.93",JPIP_REFERENCED:"1.2.840.10008.1.2.4.94",JPIP_REFERENCED_DEFLATE:"1.2.840.10008.1.2.4.95",MPEG2_MAIN_PROFILE_MAIN_LEVEL:"1.2.840.10008.1.2.4.100",MPEG4_AVC_H264_HIGH_PROFILE_LEVEL_4_1:"1.2.840.10008.1.2.4.101",MPEG4_AVC_H264_BD_COMPATIBLE_HIGH_PROFILE_LEVEL_4_1:"1.2.840.10008.1.2.4.102",MPEG4_AVC_H264_HIGH_PROFILE_FOR_2D_VIDEO:"1.2.840.10008.1.2.4.103",MPEG4_AVC_H264_HIGH_PROFILE_FOR_3D_VIDEO:"1.2.840.10008.1.2.4.104",JPIP_LOSSLESS:"1.2.840.10008.1.2.4.96",JPIP_PART2_MULTICOMPONENT_IMAGE_COMPRESSION:"1.2.840.10008.1.2.4.97",RFC_2557_MIME_ENCAPSULATION:"1.2.840.10008.1.2.6.1",JPEG_XR_IMAGE_COMPRESSION:"1.2.840.10008.1.2.6.2",JPEG_2000_IMAGE_COMPRESSION_LOSSLESS_ONLY_RETIRED:"1.2.840.10008.1.2.4.90R",JPEG_2000_IMAGE_COMPRESSION_RETIRED:"1.2.840.10008.1.2.4.91R",JPEG_2000_PART_2_MULTICOMPONENT_IMAGE_COMPRESSION_LOSSLESS_ONLY_RETIRED:"1.2.840.10008.1.2.4.92R",JPEG_2000_PART_2_MULTICOMPONENT_IMAGE_COMPRESSION_RETIRED:"1.2.840.10008.1.2.4.93R"},bp=Object.freeze(Object.defineProperty({__proto__:null,transferSyntaxes:mp},Symbol.toStringTag,{value:"Module"}));function wp(e,r){const{rows:t,columns:n,data:i}=e,{rows:l,columns:a,data:d}=r,P=[],y=[],w=[];for(let W=0;W<a;W++){const F=W*(n-1)/(a-1);P[W]=Math.floor(F),y[W]=Math.min(P[W]+1,n-1),w[W]=F-P[W]}for(let W=0;W<l;W++){const F=W*(t-1)/(l-1),k=Math.floor(F)*n,j=Math.min(k+n,(t-1)*n),Y=F-Math.floor(F),K=1-Y,ee=W*a;for(let X=0;X<a;X++){const H=i[k+P[X]],J=i[k+y[X]],ce=i[j+P[X]],he=i[j+y[X]],re=1-w[X];d[ee+X]=(H*re+J*w[X])*K+(ce*re+he*w[X])*Y}}return d}function Pp(e,r){const{rows:t,columns:n,pixelData:i,samplesPerPixel:l=1}=e,{rows:a,columns:d,pixelData:P}=r,y=[];for(let w=0;w<d;w++){const W=w*(n-1)/(d-1);y[w]=Math.floor(W)*l}for(let w=0;w<a;w++){const W=w*(t-1)/(a-1),F=Math.floor(W)*n*l,k=w*d;for(let j=0;j<d;j++)for(let Y=0;Y<l;Y++)P[k+j+Y]=i[F+y[j]+Y]}return P}async function To(e,r){let t=r.buffer,n=r.byteOffset;const i=r.length;if(e.bitsAllocated===16)n%2&&(t=t.slice(n),n=0),e.pixelRepresentation===0?e.pixelData=new Uint16Array(t,n,i/2):e.pixelData=new Int16Array(t,n,i/2);else if(e.bitsAllocated===8||e.bitsAllocated===1)e.pixelData=r;else if(e.bitsAllocated===32){if(n%2&&(t=t.slice(n),n=0),e.floatPixelData||e.doubleFloatPixelData)throw new Error("Float pixel data is not supported for parsing into ImageFrame");e.pixelRepresentation===0?e.pixelData=new Uint32Array(t,n,i/4):e.pixelRepresentation===1?e.pixelData=new Int32Array(t,n,i/4):e.pixelData=new Float32Array(t,n,i/4)}return e}function xp(e){return(e&255)<<8|e>>8&255}async function If(e,r){if(e.bitsAllocated===16){let t=r.buffer,n=r.byteOffset;const i=r.length;n%2&&(t=t.slice(n),n=0),e.pixelRepresentation===0?e.pixelData=new Uint16Array(t,n,i/2):e.pixelData=new Int16Array(t,n,i/2);for(let l=0;l<e.pixelData.length;l++)e.pixelData[l]=xp(e.pixelData[l])}else e.bitsAllocated===8&&(e.pixelData=r);return e}async function Of(e,r){if(e.bitsAllocated===8)return e.planarConfiguration?tl(e,r):Tp(e,r);if(e.bitsAllocated===16)return $p(e,r);if(e.bitsAllocated===1)return tl(e,r,!0);throw new Error("unsupported pixel format for RLE")}function kf(e,r=!1){const t=e.rows*e.columns;return r?Math.ceil(t/8):t}function Ep(e,r,t){const n=r.rows*r.columns,i=new Uint8Array(n*r.samplesPerPixel);for(let l=0;l<r.samplesPerPixel;l++){const a=l*t;for(let d=0;d<n;d++){const P=a+Math.floor(d/8),y=d%8;i[l*n+d]=e[P]&1<<y?1:0}}return i}function Tp(e,r,t=!1){const n=r,i=kf(e,t),l=new ArrayBuffer(i*e.samplesPerPixel),a=new DataView(n.buffer,n.byteOffset),d=new Int8Array(n.buffer,n.byteOffset),P=new Int8Array(l);let y=0;const w=a.getInt32(0,!0);for(let W=0;W<w;++W){y=W;let F=a.getInt32((W+1)*4,!0),k=a.getInt32((W+2)*4,!0);k===0&&(k=n.length);const j=i*w;for(;F<k;){const Y=d[F++];if(Y>=0&&Y<=127)for(let K=0;K<Y+1&&y<j;++K)P[y]=d[F++],y+=e.samplesPerPixel;else if(Y<=-1&&Y>=-127){const K=d[F++];for(let ee=0;ee<-Y+1&&y<j;++ee)P[y]=K,y+=e.samplesPerPixel}}}return e.pixelData=new Uint8Array(l),e}function tl(e,r,t=!1){const n=r,i=kf(e,t),l=new ArrayBuffer(i*e.samplesPerPixel),a=new DataView(n.buffer,n.byteOffset),d=new Int8Array(n.buffer,n.byteOffset),P=new Int8Array(l);let y=0;const w=a.getInt32(0,!0);for(let W=0;W<w;++W){y=W*i;let F=a.getInt32((W+1)*4,!0),k=a.getInt32((W+2)*4,!0);k===0&&(k=n.length);const j=i*w;for(;F<k;){const Y=d[F++];if(Y>=0&&Y<=127)for(let K=0;K<Y+1&&y<j;++K)P[y]=d[F++],y++;else if(Y<=-1&&Y>=-127){const K=d[F++];for(let ee=0;ee<-Y+1&&y<j;++ee)P[y]=K,y++}}}return e.pixelData=new Uint8Array(l),t&&(e.pixelData=Ep(e.pixelData,e,i)),e}function $p(e,r){const t=r,n=e.rows*e.columns,i=new ArrayBuffer(n*e.samplesPerPixel*2),l=new DataView(t.buffer,t.byteOffset),a=new Int8Array(t.buffer,t.byteOffset),d=new Int8Array(i),P=l.getInt32(0,!0);for(let y=0;y<P;++y){let w=0;const W=y===0?1:0;let F=l.getInt32((y+1)*4,!0),k=l.getInt32((y+2)*4,!0);for(k===0&&(k=t.length);F<k;){const j=a[F++];if(j>=0&&j<=127)for(let Y=0;Y<j+1&&w<n;++Y)d[w*2+W]=a[F++],w++;else if(j<=-1&&j>=-127){const Y=a[F++];for(let K=0;K<-j+1&&w<n;++K)d[w*2+W]=Y,w++}}}return e.pixelRepresentation===0?e.pixelData=new Uint16Array(i):e.pixelData=new Int16Array(i),e}var ao={exports:{}},rl;function Ap(){return rl||(rl=1,(function(e,r){var t=(()=>{var n=typeof document<"u"?document.currentScript?.src:void 0;return typeof __filename<"u"&&(n=n||__filename),(function(i={}){var l,a=i,d,P,y=new Promise((o,s)=>{d=o,P=s}),w=typeof window=="object",W=typeof WorkerGlobalScope<"u",F=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",k=Object.assign({},a),j="./this.program",Y=(o,s)=>{throw s},K="";function ee(o){return a.locateFile?a.locateFile(o,K):K+o}var X,H;if(F){var J=ei;K=__dirname+"/",H=o=>{o=wt(o)?new URL(o):o;var s=J.readFileSync(o);return s},X=async(o,s=!0)=>{o=wt(o)?new URL(o):o;var _=J.readFileSync(o,s?void 0:"utf8");return _},!a.thisProgram&&process.argv.length>1&&(j=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),Y=(o,s)=>{throw process.exitCode=o,s}}else(w||W)&&(W?K=self.location.href:typeof document<"u"&&document.currentScript&&(K=document.currentScript.src),n&&(K=n),K.startsWith("blob:")?K="":K=K.substr(0,K.replace(/[?#].*/,"").lastIndexOf("/")+1),W&&(H=o=>{var s=new XMLHttpRequest;return s.open("GET",o,!1),s.responseType="arraybuffer",s.send(null),new Uint8Array(s.response)}),X=async o=>{if(wt(o))return new Promise((_,b)=>{var C=new XMLHttpRequest;C.open("GET",o,!0),C.responseType="arraybuffer",C.onload=()=>{if(C.status==200||C.status==0&&C.response){_(C.response);return}b(C.status)},C.onerror=b,C.send(null)});var s=await fetch(o,{credentials:"same-origin"});if(s.ok)return s.arrayBuffer();throw new Error(s.status+" : "+s.url)});var ce=a.print||console.log.bind(console),he=a.printErr||console.error.bind(console);Object.assign(a,k),k=null,a.arguments&&a.arguments,a.thisProgram&&(j=a.thisProgram);var re=a.wasmBinary,le,ie=!1,te,oe,be,Te,ve,ge,Re,Fe;function Ie(){var o=le.buffer;a.HEAP8=te=new Int8Array(o),a.HEAP16=be=new Int16Array(o),a.HEAPU8=oe=new Uint8Array(o),a.HEAPU16=Te=new Uint16Array(o),a.HEAP32=ve=new Int32Array(o),a.HEAPU32=ge=new Uint32Array(o),a.HEAPF32=Re=new Float32Array(o),a.HEAPF64=Fe=new Float64Array(o)}var Be=[],je=[],Ce=[];function Ke(){if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;)ot(a.preRun.shift());L(Be)}function ft(){L(je)}function bt(){if(a.postRun)for(typeof a.postRun=="function"&&(a.postRun=[a.postRun]);a.postRun.length;)He(a.postRun.shift());L(Ce)}function ot(o){Be.unshift(o)}function Ze(o){je.unshift(o)}function He(o){Ce.unshift(o)}var ke=0,Qe=null;function vt(o){ke++,a.monitorRunDependencies?.(ke)}function Zt(o){if(ke--,a.monitorRunDependencies?.(ke),ke==0&&Qe){var s=Qe;Qe=null,s()}}function Wt(o){a.onAbort?.(o),o="Aborted("+o+")",he(o),ie=!0,o+=". Build with -sASSERTIONS for more info.";var s=new WebAssembly.RuntimeError(o);throw P(s),s}var Bt="data:application/octet-stream;base64,",kt=o=>o.startsWith(Bt),wt=o=>o.startsWith("file://");function hr(){var o="libjpegturbowasm_decode.wasm";return kt(o)?o:ee(o)}var pr;function vr(o){if(o==pr&&re)return new Uint8Array(re);if(H)return H(o);throw"both async and sync fetching of the wasm failed"}async function Cr(o){if(!re)try{var s=await X(o);return new Uint8Array(s)}catch{}return vr(o)}async function Sr(o,s){try{var _=await Cr(o),b=await WebAssembly.instantiate(_,s);return b}catch(C){he(`failed to asynchronously prepare wasm: ${C}`),Wt(C)}}async function m(o,s,_){if(!o&&typeof WebAssembly.instantiateStreaming=="function"&&!kt(s)&&!wt(s)&&!F&&typeof fetch=="function")try{var b=fetch(s,{credentials:"same-origin"}),C=await WebAssembly.instantiateStreaming(b,_);return C}catch(U){he(`wasm streaming compile failed: ${U}`),he("falling back to ArrayBuffer instantiation")}return Sr(s,_)}function $(){return{a:ne}}async function I(){function o(C,U){return ae=C.exports,le=ae.L,Ie(),st=ae.O,Ze(ae.M),Zt(),ae}vt();function s(C){o(C.instance)}var _=$();if(a.instantiateWasm)try{return a.instantiateWasm(_,o)}catch(C){he(`Module.instantiateWasm callback failed with error: ${C}`),P(C)}pr??=hr();try{var b=await m(re,pr,_);return s(b),b}catch(C){P(C);return}}class T{name="ExitStatus";constructor(s){this.message=`Program terminated with exit(${s})`,this.status=s}}var L=o=>{for(;o.length>0;)o.shift()(a)};a.noExitRuntime;var Z=o=>u(o),fe=()=>D();class xe{constructor(s){this.excPtr=s,this.ptr=s-24}set_type(s){ge[this.ptr+4>>2]=s}get_type(){return ge[this.ptr+4>>2]}set_destructor(s){ge[this.ptr+8>>2]=s}get_destructor(){return ge[this.ptr+8>>2]}set_caught(s){s=s?1:0,te[this.ptr+12]=s}get_caught(){return te[this.ptr+12]!=0}set_rethrown(s){s=s?1:0,te[this.ptr+13]=s}get_rethrown(){return te[this.ptr+13]!=0}init(s,_){this.set_adjusted_ptr(0),this.set_type(s),this.set_destructor(_)}set_adjusted_ptr(s){ge[this.ptr+16>>2]=s}get_adjusted_ptr(){return ge[this.ptr+16>>2]}}var De=0,ze=(o,s,_)=>{var b=new xe(o);throw b.init(s,_),De=o,De},Ee=()=>Wt(""),qe={},Ne=o=>{for(;o.length;){var s=o.pop(),_=o.pop();_(s)}};function Ve(o){return this.fromWireType(ge[o>>2])}var at={},it={},qt={},Jt,Dr=o=>{throw new Jt(o)},Yt=(o,s,_)=>{o.forEach(B=>qt[B]=s);function b(B){var G=_(B);G.length!==o.length&&Dr("Mismatched type converter count");for(var se=0;se<o.length;++se)tt(o[se],G[se])}var C=new Array(s.length),U=[],V=0;s.forEach((B,G)=>{it.hasOwnProperty(B)?C[G]=it[B]:(U.push(B),at.hasOwnProperty(B)||(at[B]=[]),at[B].push(()=>{C[G]=it[B],++V,V===U.length&&b(C)}))}),U.length===0&&b(C)},Je=o=>{var s=qe[o];delete qe[o];var _=s.rawConstructor,b=s.rawDestructor,C=s.fields,U=C.map(V=>V.getterReturnType).concat(C.map(V=>V.setterArgumentType));Yt([o],U,V=>{var B={};return C.forEach((G,se)=>{var de=G.fieldName,_e=V[se],Le=G.getter,Se=G.getterContext,Ue=V[se+C.length],ht=G.setter,Nr=G.setterContext;B[de]={read:Rt=>_e.fromWireType(Le(Se,Rt)),write:(Rt,Ln)=>{var rr=[];ht(Nr,Rt,Ue.toWireType(rr,Ln)),Ne(rr)}}}),[{name:s.name,fromWireType:G=>{var se={};for(var de in B)se[de]=B[de].read(G);return b(G),se},toWireType:(G,se)=>{for(var de in B)if(!(de in se))throw new TypeError(`Missing field: "${de}"`);var _e=_();for(de in B)B[de].write(_e,se[de]);return G!==null&&G.push(b,_e),_e},argPackAdvance:Pt,readValueFromPointer:Ve,destructorFunction:b}]})},jt=(o,s,_,b,C)=>{},me=()=>{for(var o=new Array(256),s=0;s<256;++s)o[s]=String.fromCharCode(s);gt=o},gt,pe=o=>{for(var s="",_=o;oe[_];)s+=gt[oe[_++]];return s},et,Pe=o=>{throw new et(o)};function _t(o,s,_={}){var b=s.name;if(o||Pe(`type "${b}" must have a positive integer typeid pointer`),it.hasOwnProperty(o)){if(_.ignoreDuplicateRegistrations)return;Pe(`Cannot register type '${b}' twice`)}if(it[o]=s,delete qt[o],at.hasOwnProperty(o)){var C=at[o];delete at[o],C.forEach(U=>U())}}function tt(o,s,_={}){return _t(o,s,_)}var Pt=8,Rr=(o,s,_,b)=>{s=pe(s),tt(o,{name:s,fromWireType:function(C){return!!C},toWireType:function(C,U){return U?_:b},argPackAdvance:Pt,readValueFromPointer:function(C){return this.fromWireType(oe[C])},destructorFunction:null})},zr=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}),or=o=>{function s(_){return _.$$.ptrType.registeredClass.name}Pe(s(o)+" instance already deleted")},rt=!1,Lt=o=>{},$e=o=>{o.smartPtr?o.smartPtrType.rawDestructor(o.smartPtr):o.ptrType.registeredClass.rawDestructor(o.ptr)},Vr=o=>{o.count.value-=1;var s=o.count.value===0;s&&$e(o)},St=(o,s,_)=>{if(s===_)return o;if(_.baseClass===void 0)return null;var b=St(o,s,_.baseClass);return b===null?null:_.downcast(b)},ct={},Bn={},Ht=(o,s)=>{for(s===void 0&&Pe("ptr should not be undefined");o.baseClass;)s=o.upcast(s),o=o.baseClass;return s},Gr=(o,s)=>(s=Ht(o,s),Bn[s]),ut=(o,s)=>{(!s.ptrType||!s.ptr)&&Dr("makeClassHandle requires ptr and ptrType");var _=!!s.smartPtrType,b=!!s.smartPtr;return _!==b&&Dr("Both smartPtrType and smartPtr must be specified"),s.count={value:1},Ut(Object.create(o,{$$:{value:s,writable:!0}}))};function gr(o){var s=this.getPointee(o);if(!s)return this.destructor(o),null;var _=Gr(this.registeredClass,s);if(_!==void 0){if(_.$$.count.value===0)return _.$$.ptr=s,_.$$.smartPtr=o,_.clone();var b=_.clone();return this.destructor(o),b}function C(){return this.isSmartPointer?ut(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:s,smartPtrType:this,smartPtr:o}):ut(this.registeredClass.instancePrototype,{ptrType:this,ptr:o})}var U=this.registeredClass.getActualType(s),V=ct[U];if(!V)return C.call(this);var B;this.isConst?B=V.constPointerType:B=V.pointerType;var G=St(s,this.registeredClass,B.registeredClass);return G===null?C.call(this):this.isSmartPointer?ut(B.registeredClass.instancePrototype,{ptrType:B,ptr:G,smartPtrType:this,smartPtr:o}):ut(B.registeredClass.instancePrototype,{ptrType:B,ptr:G})}var Ut=o=>typeof FinalizationRegistry>"u"?(Ut=s=>s,o):(rt=new FinalizationRegistry(s=>{Vr(s.$$)}),Ut=s=>{var _=s.$$,b=!!_.smartPtr;if(b){var C={$$:_};rt.register(s,C,s)}return s},Lt=s=>rt.unregister(s),Ut(o)),sr=()=>{Object.assign(lr.prototype,{isAliasOf(o){if(!(this instanceof lr)||!(o instanceof lr))return!1;var s=this.$$.ptrType.registeredClass,_=this.$$.ptr;o.$$=o.$$;for(var b=o.$$.ptrType.registeredClass,C=o.$$.ptr;s.baseClass;)_=s.upcast(_),s=s.baseClass;for(;b.baseClass;)C=b.upcast(C),b=b.baseClass;return s===b&&_===C},clone(){if(this.$$.ptr||or(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var o=Ut(Object.create(Object.getPrototypeOf(this),{$$:{value:zr(this.$$)}}));return o.$$.count.value+=1,o.$$.deleteScheduled=!1,o},delete(){this.$$.ptr||or(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Pe("Object already scheduled for deletion"),Lt(this),Vr(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||or(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Pe("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}})};function lr(){}var _r=(o,s)=>Object.defineProperty(s,"name",{value:o}),yn=(o,s,_)=>{if(o[s].overloadTable===void 0){var b=o[s];o[s]=function(...C){return o[s].overloadTable.hasOwnProperty(C.length)||Pe(`Function '${_}' called with an invalid number of arguments (${C.length}) - expects one of (${o[s].overloadTable})!`),o[s].overloadTable[C.length].apply(this,C)},o[s].overloadTable=[],o[s].overloadTable[b.argCount]=b}},jn=(o,s,_)=>{a.hasOwnProperty(o)?(Pe(`Cannot register public name '${o}' twice`),yn(a,o,o),a[o].overloadTable.hasOwnProperty(_)&&Pe(`Cannot register multiple overloads of a function with the same number of arguments (${_})!`),a[o].overloadTable[_]=s):(a[o]=s,a[o].argCount=_)},Zr=48,Ir=57,qr=o=>{o=o.replace(/[^a-zA-Z0-9_]/g,"$");var s=o.charCodeAt(0);return s>=Zr&&s<=Ir?`_${o}`:o};function yr(o,s,_,b,C,U,V,B){this.name=o,this.constructor=s,this.instancePrototype=_,this.rawDestructor=b,this.baseClass=C,this.getActualType=U,this.upcast=V,this.downcast=B,this.pureVirtualFunctions=[]}var Jr=(o,s,_)=>{for(;s!==_;)s.upcast||Pe(`Expected null or instance of ${_.name}, got an instance of ${s.name}`),o=s.upcast(o),s=s.baseClass;return o};function Xt(o,s){if(s===null)return this.isReference&&Pe(`null is not a valid ${this.name}`),0;s.$$||Pe(`Cannot pass "${en(s)}" as a ${this.name}`),s.$$.ptr||Pe(`Cannot pass deleted object as a pointer of type ${this.name}`);var _=s.$$.ptrType.registeredClass,b=Jr(s.$$.ptr,_,this.registeredClass);return b}function Or(o,s){var _;if(s===null)return this.isReference&&Pe(`null is not a valid ${this.name}`),this.isSmartPointer?(_=this.rawConstructor(),o!==null&&o.push(this.rawDestructor,_),_):0;(!s||!s.$$)&&Pe(`Cannot pass "${en(s)}" as a ${this.name}`),s.$$.ptr||Pe(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&s.$$.ptrType.isConst&&Pe(`Cannot convert argument of type ${s.$$.smartPtrType?s.$$.smartPtrType.name:s.$$.ptrType.name} to parameter type ${this.name}`);var b=s.$$.ptrType.registeredClass;if(_=Jr(s.$$.ptr,b,this.registeredClass),this.isSmartPointer)switch(s.$$.smartPtr===void 0&&Pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:s.$$.smartPtrType===this?_=s.$$.smartPtr:Pe(`Cannot convert argument of type ${s.$$.smartPtrType?s.$$.smartPtrType.name:s.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:_=s.$$.smartPtr;break;case 2:if(s.$$.smartPtrType===this)_=s.$$.smartPtr;else{var C=s.clone();_=this.rawShare(_,$t.toHandle(()=>C.delete())),o!==null&&o.push(this.rawDestructor,_)}break;default:Pe("Unsupporting sharing policy")}return _}function mr(o,s){if(s===null)return this.isReference&&Pe(`null is not a valid ${this.name}`),0;s.$$||Pe(`Cannot pass "${en(s)}" as a ${this.name}`),s.$$.ptr||Pe(`Cannot pass deleted object as a pointer of type ${this.name}`),s.$$.ptrType.isConst&&Pe(`Cannot convert argument of type ${s.$$.ptrType.name} to parameter type ${this.name}`);var _=s.$$.ptrType.registeredClass,b=Jr(s.$$.ptr,_,this.registeredClass);return b}var br=()=>{Object.assign(wr.prototype,{getPointee(o){return this.rawGetPointee&&(o=this.rawGetPointee(o)),o},destructor(o){this.rawDestructor?.(o)},argPackAdvance:Pt,readValueFromPointer:Ve,fromWireType:gr})};function wr(o,s,_,b,C,U,V,B,G,se,de){this.name=o,this.registeredClass=s,this.isReference=_,this.isConst=b,this.isSmartPointer=C,this.pointeeType=U,this.sharingPolicy=V,this.rawGetPointee=B,this.rawConstructor=G,this.rawShare=se,this.rawDestructor=de,!C&&s.baseClass===void 0?b?(this.toWireType=Xt,this.destructorFunction=null):(this.toWireType=mr,this.destructorFunction=null):this.toWireType=Or}var Pr=(o,s,_)=>{a.hasOwnProperty(o)||Dr("Replacing nonexistent public symbol"),a[o].overloadTable!==void 0&&_!==void 0||(a[o]=s,a[o].argCount=_)},mn=(o,s,_)=>{o=o.replace(/p/g,"i");var b=a["dynCall_"+o];return b(s,..._)},xr=[],st,Kt=o=>{var s=xr[o];return s||(o>=xr.length&&(xr.length=o+1),xr[o]=s=st.get(o)),s},xt=(o,s,_=[])=>{if(o.includes("j"))return mn(o,s,_);var b=Kt(s)(..._);return b},bn=(o,s)=>(..._)=>xt(o,s,_),lt=(o,s)=>{o=pe(o);function _(){return o.includes("j")?bn(o,s):Kt(s)}var b=_();return typeof b!="function"&&Pe(`unknown function pointer with signature ${o}: ${s}`),b},Er=(o,s)=>{var _=_r(s,function(b){this.name=s,this.message=b;var C=new Error(b).stack;C!==void 0&&(this.stack=this.toString()+`
6
+ `+C.replace(/^Error(:[^\n]*)?\n/,""))});return _.prototype=Object.create(o.prototype),_.prototype.constructor=_,_.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},_},Qt,wn=o=>{var s=ue(o),_=pe(s);return Ae(s),_},er=(o,s)=>{var _=[],b={};function C(U){if(!b[U]&&!it[U]){if(qt[U]){qt[U].forEach(C);return}_.push(U),b[U]=!0}}throw s.forEach(C),new Qt(`${o}: `+_.map(wn).join([", "]))},Pn=(o,s,_,b,C,U,V,B,G,se,de,_e,Le)=>{de=pe(de),U=lt(C,U),B&&=lt(V,B),se&&=lt(G,se),Le=lt(_e,Le);var Se=qr(de);jn(Se,function(){er(`Cannot construct ${de} due to unbound types`,[b])}),Yt([o,s,_],b?[b]:[],Ue=>{Ue=Ue[0];var ht,Nr;b?(ht=Ue.registeredClass,Nr=ht.instancePrototype):Nr=lr.prototype;var Rt=_r(de,function(...Wi){if(Object.getPrototypeOf(this)!==Ln)throw new et("Use 'new' to construct "+de);if(rr.constructor_body===void 0)throw new et(de+" has no accessible constructor");var Yo=rr.constructor_body[Wi.length];if(Yo===void 0)throw new et(`Tried to invoke ctor of ${de} with invalid number of parameters (${Wi.length}) - expected (${Object.keys(rr.constructor_body).toString()}) parameters instead!`);return Yo.apply(this,Wi)}),Ln=Object.create(Nr,{constructor:{value:Rt}});Rt.prototype=Ln;var rr=new yr(de,Rt,Ln,Le,ht,U,B,se);rr.baseClass&&(rr.baseClass.__derivedClasses??=[],rr.baseClass.__derivedClasses.push(rr));var qf=new wr(de,rr,!0,!1,!1),qo=new wr(de+"*",rr,!1,!1,!1),Jo=new wr(de+" const*",rr,!1,!0,!1);return ct[o]={pointerType:qo,constPointerType:Jo},Pr(Se,Rt),[qf,qo,Jo]})},dt=(o,s)=>{for(var _=[],b=0;b<o;b++)_.push(ge[s+b*4>>2]);return _};function Hn(o){for(var s=1;s<o.length;++s)if(o[s]!==null&&o[s].destructorFunction===void 0)return!0;return!1}var Yr={ftf:function(o,s,_,b,C,U,V){return function(){var B=_(b),G=U.fromWireType(B);return G}},ttfnn:function(o,s,_,b,C,U,V,B){return function(G){var se=V.toWireType(null,this),de=B.toWireType(null,G),_e=_(b,se,de),Le=U.fromWireType(_e);return Le}},ttfn:function(o,s,_,b,C,U,V){return function(){var B=V.toWireType(null,this),G=_(b,B),se=U.fromWireType(G);return se}},tffn:function(o,s,_,b,C,U,V){return function(){var B=V.toWireType(null,this);_(b,B)}}};function Et(o,s,_,b){const C=[s?"t":"f",_?"t":"f",b?"t":"f"];for(let U=s?1:2;U<o.length;++U){const V=o[U];let B="";V.destructorFunction===void 0?B="u":V.destructorFunction===null?B="n":B="t",C.push(B)}return C.join("")}function kr(o,s,_,b,C,U){var V=s.length;V<2&&Pe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var B=s[1]!==null&&_!==null,G=Hn(s),se=s[0].name!=="void",de=[o,Pe,b,C,Ne,s[0],s[1]],_e=0;_e<V-2;++_e)de.push(s[_e+2]);if(!G)for(var _e=B?1:2;_e<s.length;++_e)s[_e].destructorFunction!==null&&de.push(s[_e].destructorFunction);var Le=Et(s,B,se,U),Se=Yr[Le](...de);return _r(o,Se)}var Mt=(o,s,_,b,C,U)=>{var V=dt(s,_);C=lt(b,C),Yt([],[o],B=>{B=B[0];var G=`constructor ${B.name}`;if(B.registeredClass.constructor_body===void 0&&(B.registeredClass.constructor_body=[]),B.registeredClass.constructor_body[s-1]!==void 0)throw new et(`Cannot register multiple constructors with identical number of parameters (${s-1}) for class '${B.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return B.registeredClass.constructor_body[s-1]=()=>{er(`Cannot construct ${B.name} due to unbound types`,V)},Yt([],V,se=>(se.splice(1,0,null),B.registeredClass.constructor_body[s-1]=kr(G,se,null,C,U),[])),[]})},fr=o=>{o=o.trim();const s=o.indexOf("(");return s!==-1?o.substr(0,s):o},Tt=(o,s,_,b,C,U,V,B,G,se)=>{var de=dt(_,b);s=pe(s),s=fr(s),U=lt(C,U),Yt([],[o],_e=>{_e=_e[0];var Le=`${_e.name}.${s}`;s.startsWith("@@")&&(s=Symbol[s.substring(2)]),B&&_e.registeredClass.pureVirtualFunctions.push(s);function Se(){er(`Cannot call ${Le} due to unbound types`,de)}var Ue=_e.registeredClass.instancePrototype,ht=Ue[s];return ht===void 0||ht.overloadTable===void 0&&ht.className!==_e.name&&ht.argCount===_-2?(Se.argCount=_-2,Se.className=_e.name,Ue[s]=Se):(yn(Ue,s,Le),Ue[s].overloadTable[_-2]=Se),Yt([],de,Nr=>{var Rt=kr(Le,Nr,_e,U,V,G);return Ue[s].overloadTable===void 0?(Rt.argCount=_-2,Ue[s]=Rt):Ue[s].overloadTable[_-2]=Rt,[]}),[]})},Tr=[],Ye=[],Xr=o=>{o>9&&--Ye[o+1]===0&&(Ye[o]=void 0,Tr.push(o))},Ft=()=>Ye.length/2-5-Tr.length,Kr=()=>{Ye.push(0,1,void 0,1,null,1,!0,1,!1,1),a.count_emval_handles=Ft},$t={toValue:o=>(o||Pe("Cannot use deleted val. handle = "+o),Ye[o]),toHandle:o=>{switch(o){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const s=Tr.pop()||Ye.length;return Ye[s]=o,Ye[s+1]=1,s}}}},Qr={name:"emscripten::val",fromWireType:o=>{var s=$t.toValue(o);return Xr(o),s},toWireType:(o,s)=>$t.toHandle(s),argPackAdvance:Pt,readValueFromPointer:Ve,destructorFunction:null},xn=o=>tt(o,Qr),en=o=>{if(o===null)return"null";var s=typeof o;return s==="object"||s==="array"||s==="function"?o.toString():""+o},tn=(o,s)=>{switch(s){case 4:return function(_){return this.fromWireType(Re[_>>2])};case 8:return function(_){return this.fromWireType(Fe[_>>3])};default:throw new TypeError(`invalid float width (${s}): ${o}`)}},zt=(o,s,_)=>{s=pe(s),tt(o,{name:s,fromWireType:b=>b,toWireType:(b,C)=>C,argPackAdvance:Pt,readValueFromPointer:tn(s,_),destructorFunction:null})},En=(o,s,_)=>{switch(s){case 1:return _?b=>te[b]:b=>oe[b];case 2:return _?b=>be[b>>1]:b=>Te[b>>1];case 4:return _?b=>ve[b>>2]:b=>ge[b>>2];default:throw new TypeError(`invalid integer width (${s}): ${o}`)}},Tn=(o,s,_,b,C)=>{s=pe(s);var U=de=>de;if(b===0){var V=32-8*_;U=de=>de<<V>>>V}var B=s.includes("unsigned"),G=(de,_e)=>{},se;B?se=function(de,_e){return G(_e,this.name),_e>>>0}:se=function(de,_e){return G(_e,this.name),_e},tt(o,{name:s,fromWireType:U,toWireType:se,argPackAdvance:Pt,readValueFromPointer:En(s,_,b!==0),destructorFunction:null})},rn=(o,s,_)=>{var b=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],C=b[s];function U(V){var B=ge[V>>2],G=ge[V+4>>2];return new C(te.buffer,G,B)}_=pe(_),tt(o,{name:_,fromWireType:U,argPackAdvance:Pt,readValueFromPointer:U},{ignoreDuplicateRegistrations:!0})},cr=(o,s,_,b)=>{if(!(b>0))return 0;for(var C=_,U=_+b-1,V=0;V<o.length;++V){var B=o.charCodeAt(V);if(B>=55296&&B<=57343){var G=o.charCodeAt(++V);B=65536+((B&1023)<<10)|G&1023}if(B<=127){if(_>=U)break;s[_++]=B}else if(B<=2047){if(_+1>=U)break;s[_++]=192|B>>6,s[_++]=128|B&63}else if(B<=65535){if(_+2>=U)break;s[_++]=224|B>>12,s[_++]=128|B>>6&63,s[_++]=128|B&63}else{if(_+3>=U)break;s[_++]=240|B>>18,s[_++]=128|B>>12&63,s[_++]=128|B>>6&63,s[_++]=128|B&63}}return s[_]=0,_-C},nn=(o,s,_)=>cr(o,oe,s,_),Lr=o=>{for(var s=0,_=0;_<o.length;++_){var b=o.charCodeAt(_);b<=127?s++:b<=2047?s+=2:b>=55296&&b<=57343?(s+=4,++_):s+=3}return s},$r=typeof TextDecoder<"u"?new TextDecoder:void 0,an=(o,s=0,_=NaN)=>{for(var b=s+_,C=s;o[C]&&!(C>=b);)++C;if(C-s>16&&o.buffer&&$r)return $r.decode(o.subarray(s,C));for(var U="";s<C;){var V=o[s++];if(!(V&128)){U+=String.fromCharCode(V);continue}var B=o[s++]&63;if((V&224)==192){U+=String.fromCharCode((V&31)<<6|B);continue}var G=o[s++]&63;if((V&240)==224?V=(V&15)<<12|B<<6|G:V=(V&7)<<18|B<<12|G<<6|o[s++]&63,V<65536)U+=String.fromCharCode(V);else{var se=V-65536;U+=String.fromCharCode(55296|se>>10,56320|se&1023)}}return U},on=(o,s)=>o?an(oe,o,s):"",zn=(o,s)=>{s=pe(s),tt(o,{name:s,fromWireType(_){for(var b=ge[_>>2],C=_+4,U,V,B=C,V=0;V<=b;++V){var G=C+V;if(V==b||oe[G]==0){var se=G-B,de=on(B,se);U===void 0?U=de:(U+="\0",U+=de),B=G+1}}return Ae(_),U},toWireType(_,b){b instanceof ArrayBuffer&&(b=new Uint8Array(b));var C,U=typeof b=="string";U||b instanceof Uint8Array||b instanceof Uint8ClampedArray||b instanceof Int8Array||Pe("Cannot pass non-string to std::string"),U?C=Lr(b):C=b.length;var V=ye(4+C+1),B=V+4;if(ge[V>>2]=C,U)nn(b,B,C+1);else if(U)for(var G=0;G<C;++G){var se=b.charCodeAt(G);se>255&&(Ae(B),Pe("String has UTF-16 code units that do not fit in 8 bits")),oe[B+G]=se}else for(var G=0;G<C;++G)oe[B+G]=b[G];return _!==null&&_.push(Ae,V),V},argPackAdvance:Pt,readValueFromPointer:Ve,destructorFunction(_){Ae(_)}})},$n=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,Vn=(o,s)=>{for(var _=o,b=_>>1,C=b+s/2;!(b>=C)&&Te[b];)++b;if(_=b<<1,_-o>32&&$n)return $n.decode(oe.subarray(o,_));for(var U="",V=0;!(V>=s/2);++V){var B=be[o+V*2>>1];if(B==0)break;U+=String.fromCharCode(B)}return U},Gn=(o,s,_)=>{if(_??=2147483647,_<2)return 0;_-=2;for(var b=s,C=_<o.length*2?_/2:o.length,U=0;U<C;++U){var V=o.charCodeAt(U);be[s>>1]=V,s+=2}return be[s>>1]=0,s-b},Zn=o=>o.length*2,An=(o,s)=>{for(var _=0,b="";!(_>=s/4);){var C=ve[o+_*4>>2];if(C==0)break;if(++_,C>=65536){var U=C-65536;b+=String.fromCharCode(55296|U>>10,56320|U&1023)}else b+=String.fromCharCode(C)}return b},Cn=(o,s,_)=>{if(_??=2147483647,_<4)return 0;for(var b=s,C=b+_-4,U=0;U<o.length;++U){var V=o.charCodeAt(U);if(V>=55296&&V<=57343){var B=o.charCodeAt(++U);V=65536+((V&1023)<<10)|B&1023}if(ve[s>>2]=V,s+=4,s+4>C)break}return ve[s>>2]=0,s-b},qn=o=>{for(var s=0,_=0;_<o.length;++_){var b=o.charCodeAt(_);b>=55296&&b<=57343&&++_,s+=4}return s},Sn=(o,s,_)=>{_=pe(_);var b,C,U,V;s===2?(b=Vn,C=Gn,V=Zn,U=B=>Te[B>>1]):s===4&&(b=An,C=Cn,V=qn,U=B=>ge[B>>2]),tt(o,{name:_,fromWireType:B=>{for(var G=ge[B>>2],se,de=B+4,_e=0;_e<=G;++_e){var Le=B+4+_e*s;if(_e==G||U(Le)==0){var Se=Le-de,Ue=b(de,Se);se===void 0?se=Ue:(se+="\0",se+=Ue),de=Le+s}}return Ae(B),se},toWireType:(B,G)=>{typeof G!="string"&&Pe(`Cannot pass non-string to C++ string type ${_}`);var se=V(G),de=ye(4+se+s);return ge[de>>2]=se/s,C(G,de+4,se+s),B!==null&&B.push(Ae,de),de},argPackAdvance:Pt,readValueFromPointer:Ve,destructorFunction(B){Ae(B)}})},Jn=(o,s,_,b,C,U)=>{qe[o]={name:pe(s),rawConstructor:lt(_,b),rawDestructor:lt(C,U),fields:[]}},sn=(o,s,_,b,C,U,V,B,G,se)=>{qe[o].fields.push({fieldName:pe(s),getterReturnType:_,getter:lt(b,C),getterContext:U,setterArgumentType:V,setter:lt(B,G),setterContext:se})},ln=(o,s)=>{s=pe(s),tt(o,{isVoid:!0,name:s,argPackAdvance:0,fromWireType:()=>{},toWireType:(_,b)=>{}})},Yn=(o,s,_)=>oe.copyWithin(o,s,s+_),Xn=()=>{throw 1/0},Ur=[],Dn=(o,s,_,b)=>(o=Ur[o],s=$t.toValue(s),o(null,s,_,b)),Kn={},Rn=o=>{var s=Kn[o];return s===void 0?pe(o):s},fn=()=>{if(typeof globalThis=="object")return globalThis;function o(s){s.$$$embind_global$$$=s;var _=typeof $$$embind_global$$$=="object"&&s.$$$embind_global$$$==s;return _||delete s.$$$embind_global$$$,_}if(typeof $$$embind_global$$$=="object"||(typeof gn=="object"&&o(gn)?$$$embind_global$$$=gn:typeof self=="object"&&o(self)&&($$$embind_global$$$=self),typeof $$$embind_global$$$=="object"))return $$$embind_global$$$;throw Error("unable to get global object.")},Qn=o=>o===0?$t.toHandle(fn()):(o=Rn(o),$t.toHandle(fn()[o])),ea=o=>{var s=Ur.length;return Ur.push(o),s},In=(o,s)=>{var _=it[o];return _===void 0&&Pe(`${s} has unknown type ${wn(o)}`),_},ta=(o,s)=>{for(var _=new Array(o),b=0;b<o;++b)_[b]=In(ge[s+b*4>>2],"parameter "+b);return _},ra=Reflect.construct,na=(o,s,_)=>{var b=[],C=o.toWireType(b,_);return b.length&&(ge[s>>2]=$t.toHandle(b)),C},On=(o,s,_)=>{var b=ta(o,s),C=b.shift();o--;var U=new Array(o),V=(G,se,de,_e)=>{for(var Le=0,Se=0;Se<o;++Se)U[Se]=b[Se].readValueFromPointer(_e+Le),Le+=b[Se].argPackAdvance;var Ue=_===1?ra(se,U):se.apply(G,U);return na(C,de,Ue)},B=`methodCaller<(${b.map(G=>G.name).join(", ")}) => ${C.name}>`;return ea(_r(B,V))},aa=o=>{var s=$t.toValue(o);Ne(s),Xr(o)},ia=(o,s)=>{o=In(o,"_emval_take_value");var _=o.readValueFromPointer(s);return $t.toHandle(_)},oa=()=>2147483648,sa=(o,s)=>Math.ceil(o/s)*s,Mr=o=>{var s=le.buffer,_=(o-s.byteLength+65535)/65536|0;try{return le.grow(_),Ie(),1}catch{}},la=o=>{var s=oe.length;o>>>=0;var _=oa();if(o>_)return!1;for(var b=1;b<=4;b*=2){var C=s*(1+.2/b);C=Math.min(C,o+100663296);var U=Math.min(_,sa(Math.max(o,C),65536)),V=Mr(U);if(V)return!0}return!1},tr={},fa=()=>j||"./this.program",nt=()=>{if(!nt.strings){var o=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",s={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:o,_:fa()};for(var _ in tr)tr[_]===void 0?delete s[_]:s[_]=tr[_];var b=[];for(var _ in s)b.push(`${_}=${s[_]}`);nt.strings=b}return nt.strings},kn=(o,s)=>{for(var _=0;_<o.length;++_)te[s++]=o.charCodeAt(_);te[s]=0},cn=(o,s)=>{var _=0;return nt().forEach((b,C)=>{var U=s+_;ge[o+C*4>>2]=U,kn(b,U),_+=b.length+1}),0},Dt=(o,s)=>{var _=nt();ge[o>>2]=_.length;var b=0;return _.forEach(C=>b+=C.length+1),ge[s>>2]=b,0},Ge=o=>{Y(o,new T(o))},un=(o,s)=>{Ge(o)},Fr=un,yt=o=>52;function At(o,s,_,b,C){return 70}var p=[null,[],[]],v=(o,s)=>{var _=p[o];s===0||s===10?((o===1?ce:he)(an(_)),_.length=0):_.push(s)},A=(o,s,_,b)=>{for(var C=0,U=0;U<_;U++){var V=ge[s>>2],B=ge[s+4>>2];s+=8;for(var G=0;G<B;G++)v(o,oe[V+G]);C+=B}return ge[b>>2]=C,0},R=o=>{var s=a["_"+o];return s},N=(o,s)=>{te.set(o,s)},q=o=>x(o),Q=o=>{var s=Lr(o)+1,_=q(s);return nn(o,_,s),_},z=(o,s,_,b,C)=>{var U={string:Ue=>{var ht=0;return Ue!=null&&Ue!==0&&(ht=Q(Ue)),ht},array:Ue=>{var ht=q(Ue.length);return N(Ue,ht),ht}};function V(Ue){return s==="string"?on(Ue):s==="boolean"?!!Ue:Ue}var B=R(o),G=[],se=0;if(b)for(var de=0;de<b.length;de++){var _e=U[_[de]];_e?(se===0&&(se=fe()),G[de]=_e(b[de])):G[de]=b[de]}var Le=B(...G);function Se(Ue){return se!==0&&Z(se),V(Ue)}return Le=Se(Le),Le};Jt=a.InternalError=class extends Error{constructor(s){super(s),this.name="InternalError"}},me(),et=a.BindingError=class extends Error{constructor(s){super(s),this.name="BindingError"}},sr(),br(),Qt=a.UnboundTypeError=Er(Error,"UnboundTypeError"),Kr();var ne={g:ze,t:Ee,q:Je,s:jt,F:Rr,p:Pn,o:Mt,c:Tt,D:xn,l:zt,b:Tn,a:rn,E:zn,h:Sn,C:Jn,d:sn,G:ln,z:Yn,u:Xn,I:Dn,J:Xr,K:Qn,m:On,H:aa,n:ia,v:la,w:cn,x:Dt,B:Fr,y:yt,r:At,i:A,k:f,j:E,A:g,f:M,e:c},ae;I();var ue=o=>(ue=ae.N)(o),ye=o=>(ye=ae.P)(o),Ae=o=>(Ae=ae.Q)(o),h=(o,s)=>(h=ae.R)(o,s),u=o=>(u=ae.S)(o),x=o=>(x=ae.T)(o),D=()=>(D=ae.U)();a.dynCall_jiji=(o,s,_,b,C)=>(a.dynCall_jiji=ae.V)(o,s,_,b,C);function M(o,s){var _=fe();try{Kt(o)(s)}catch(b){if(Z(_),b!==b+0)throw b;h(1,0)}}function f(o,s){var _=fe();try{return Kt(o)(s)}catch(b){if(Z(_),b!==b+0)throw b;h(1,0)}}function c(o,s,_,b){var C=fe();try{Kt(o)(s,_,b)}catch(U){if(Z(C),U!==U+0)throw U;h(1,0)}}function g(o,s,_,b){var C=fe();try{return Kt(o)(s,_,b)}catch(U){if(Z(C),U!==U+0)throw U;h(1,0)}}function E(o,s,_){var b=fe();try{return Kt(o)(s,_)}catch(C){if(Z(b),C!==C+0)throw C;h(1,0)}}a.ccall=z;var S;Qe=function o(){S||O(),S||(Qe=o)};function O(){if(ke>0||(Ke(),ke>0))return;function o(){S||(S=!0,a.calledRun=!0,!ie&&(ft(),d(a),a.onRuntimeInitialized?.(),bt()))}a.setStatus?(a.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>a.setStatus(""),1),o()},1)):o()}if(a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return O(),l=y,l})})();e.exports=t,e.exports.default=t})(ao)),ao.exports}var Cp=Ap();const Sp=Ci(Cp);function Dp(e){return(e?.isSigned===!0||e?.isSigned===1)&&e.componentCount===1}function Fi(e,r,t){const n=Dp({isSigned:t??e?.isSigned,componentCount:e?.componentCount});return e?.bitsPerSample>8?n?new Int16Array(r.buffer,r.byteOffset,r.byteLength/2):new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2):n?new Int8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}let Fa;function Rp(e){Fa=e||void 0}function ci(e){e?.wasmBasePath!==void 0&&Rp(e.wasmBasePath)}function Ni(e,r){if(!Fa)return r.toString();const n=`${Fa.endsWith("/")?Fa:`${Fa}/`}${e}`,i=typeof self<"u"?self.location?.href:void 0;if(!i)return n;try{return new URL(n,i).toString()}catch{return n}}const Ip=new URL(""+new URL("libjpegturbowasm_decode-7ZJ2wGuU.wasm",import.meta.url).href,import.meta.url),Pi={codec:void 0,decoder:void 0};function Lf(e){if(ci(e),Pi.codec)return Promise.resolve();const r=Sp({locateFile:t=>t.endsWith(".wasm")?Ni("libjpegturbowasm_decode.wasm",Ip):t});return new Promise((t,n)=>{r.then(i=>{Pi.codec=i,Pi.decoder=new i.JPEGDecoder,t()},n)})}async function Uf(e,r){await Lf();const t=Pi.decoder;t.getEncodedBuffer(e.length).set(e),t.decode();const i=t.getFrameInfo(),l=t.getDecodedBuffer(),a={columns:i.width,rows:i.height,bitsPerPixel:i.bitsPerSample,signed:r.signed,bytesPerPixel:r.bytesPerPixel,componentsPerPixel:i.componentCount},d=Fi(i,l),P={frameInfo:i};return{...r,pixelData:d,imageInfo:a,encodeOptions:P,...P,...a}}const Op=Lf,za={JpegImage:void 0,decodeConfig:{}};function Mf(e){return za.decodeConfig=e,za.JpegImage?Promise.resolve():new Promise((r,t)=>{hl(()=>import("./jpeg-B-x1txLf.js"),[],import.meta.url).then(n=>{za.JpegImage=n.default,r()}).catch(t)})}async function Ff(e,r){if(await Mf(),typeof za.JpegImage>"u")throw new Error("No JPEG Baseline decoder loaded");const t=new za.JpegImage;if(t.parse(r),t.colorTransform=!1,e.bitsAllocated===8)return e.pixelData=t.getData(e.columns,e.rows),e;if(e.bitsAllocated===16)return e.pixelData=t.getData16(e.columns,e.rows),e}const Va={DecoderClass:void 0,decodeConfig:{}};function Nf(e){return Va.decodeConfig=e,Va.DecoderClass?Promise.resolve():new Promise((r,t)=>{hl(async()=>{const{Decoder:n}=await import("./lossless-CyYqoyFe.js");return{Decoder:n}},[],import.meta.url).then(({Decoder:n})=>{Va.DecoderClass=n,r()},t)})}async function $o(e,r){if(await Nf(),typeof Va.DecoderClass>"u")throw new Error("No JPEG Lossless decoder loaded");const t=new Va.DecoderClass,n=e.bitsAllocated<=8?1:2,i=r.buffer,l=t.decode(i,r.byteOffset,r.length,n);return e.planarConfiguration=0,e.pixelRepresentation===0?e.bitsAllocated===16?(e.pixelData=new Uint16Array(l.buffer),e):(e.pixelData=new Uint8Array(l.buffer),e):(e.pixelData=new Int16Array(l.buffer),e)}var io={exports:{}},nl;function kp(){return nl||(nl=1,(function(e,r){var t=(()=>{var n=typeof document<"u"?document.currentScript?.src:void 0;return typeof __filename<"u"&&(n=n||__filename),(function(i={}){var l,a=i,d,P,y=new Promise((p,v)=>{d=p,P=v}),w=typeof window=="object",W=typeof WorkerGlobalScope<"u",F=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",k=Object.assign({},a),j="";function Y(p){return a.locateFile?a.locateFile(p,j):j+p}var K,ee;if(F){var X=ei;j=__dirname+"/",ee=p=>{p=Wt(p)?new URL(p):p;var v=X.readFileSync(p);return v},K=async(p,v=!0)=>{p=Wt(p)?new URL(p):p;var A=X.readFileSync(p,v?void 0:"utf8");return A},!a.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2)}else(w||W)&&(W?j=self.location.href:typeof document<"u"&&document.currentScript&&(j=document.currentScript.src),n&&(j=n),j.startsWith("blob:")?j="":j=j.substr(0,j.replace(/[?#].*/,"").lastIndexOf("/")+1),W&&(ee=p=>{var v=new XMLHttpRequest;return v.open("GET",p,!1),v.responseType="arraybuffer",v.send(null),new Uint8Array(v.response)}),K=async p=>{if(Wt(p))return new Promise((A,R)=>{var N=new XMLHttpRequest;N.open("GET",p,!0),N.responseType="arraybuffer",N.onload=()=>{if(N.status==200||N.status==0&&N.response){A(N.response);return}R(N.status)},N.onerror=R,N.send(null)});var v=await fetch(p,{credentials:"same-origin"});if(v.ok)return v.arrayBuffer();throw new Error(v.status+" : "+v.url)});a.print||console.log.bind(console);var H=a.printErr||console.error.bind(console);Object.assign(a,k),k=null,a.arguments&&a.arguments,a.thisProgram&&a.thisProgram;var J=a.wasmBinary,ce,he=!1,re,le,ie,te,oe,be,Te,ve;function ge(){var p=ce.buffer;a.HEAP8=re=new Int8Array(p),a.HEAP16=ie=new Int16Array(p),a.HEAPU8=le=new Uint8Array(p),a.HEAPU16=te=new Uint16Array(p),a.HEAP32=oe=new Int32Array(p),a.HEAPU32=be=new Uint32Array(p),a.HEAPF32=Te=new Float32Array(p),a.HEAPF64=ve=new Float64Array(p)}var Re=[],Fe=[],Ie=[];function Be(){if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;)Ke(a.preRun.shift());m(Re)}function je(){m(Fe)}function Ce(){if(a.postRun)for(typeof a.postRun=="function"&&(a.postRun=[a.postRun]);a.postRun.length;)bt(a.postRun.shift());m(Ie)}function Ke(p){Re.unshift(p)}function ft(p){Fe.unshift(p)}function bt(p){Ie.unshift(p)}var ot=0,Ze=null;function He(p){ot++,a.monitorRunDependencies?.(ot)}function ke(p){if(ot--,a.monitorRunDependencies?.(ot),ot==0&&Ze){var v=Ze;Ze=null,v()}}function Qe(p){a.onAbort?.(p),p="Aborted("+p+")",H(p),he=!0,p+=". Build with -sASSERTIONS for more info.";var v=new WebAssembly.RuntimeError(p);throw P(v),v}var vt="data:application/octet-stream;base64,",Zt=p=>p.startsWith(vt),Wt=p=>p.startsWith("file://");function Bt(){var p="charlswasm_decode.wasm";return Zt(p)?p:Y(p)}var kt;function wt(p){if(p==kt&&J)return new Uint8Array(J);if(ee)return ee(p);throw"both async and sync fetching of the wasm failed"}async function hr(p){if(!J)try{var v=await K(p);return new Uint8Array(v)}catch{}return wt(p)}async function pr(p,v){try{var A=await hr(p),R=await WebAssembly.instantiate(A,v);return R}catch(N){H(`failed to asynchronously prepare wasm: ${N}`),Qe(N)}}async function vr(p,v,A){if(!p&&typeof WebAssembly.instantiateStreaming=="function"&&!Zt(v)&&!Wt(v)&&!F&&typeof fetch=="function")try{var R=fetch(v,{credentials:"same-origin"}),N=await WebAssembly.instantiateStreaming(R,A);return N}catch(q){H(`wasm streaming compile failed: ${q}`),H("falling back to ArrayBuffer instantiation")}return pr(v,A)}function Cr(){return{a:fa}}async function Sr(){function p(N,q){return nt=N.exports,ce=nt.A,ge(),wr=nt.D,ft(nt.B),ke(),nt}He();function v(N){p(N.instance)}var A=Cr();if(a.instantiateWasm)try{return a.instantiateWasm(A,p)}catch(N){H(`Module.instantiateWasm callback failed with error: ${N}`),P(N)}kt??=Bt();try{var R=await vr(J,kt,A);return v(R),R}catch(N){P(N);return}}var m=p=>{for(;p.length>0;)p.shift()(a)};a.noExitRuntime;var $=p=>Ge(p),I=()=>Fr();class T{constructor(v){this.excPtr=v,this.ptr=v-24}set_type(v){be[this.ptr+4>>2]=v}get_type(){return be[this.ptr+4>>2]}set_destructor(v){be[this.ptr+8>>2]=v}get_destructor(){return be[this.ptr+8>>2]}set_caught(v){v=v?1:0,re[this.ptr+12]=v}get_caught(){return re[this.ptr+12]!=0}set_rethrown(v){v=v?1:0,re[this.ptr+13]=v}get_rethrown(){return re[this.ptr+13]!=0}init(v,A){this.set_adjusted_ptr(0),this.set_type(v),this.set_destructor(A)}set_adjusted_ptr(v){be[this.ptr+16>>2]=v}get_adjusted_ptr(){return be[this.ptr+16>>2]}}var L=0,Z=(p,v,A)=>{var R=new T(p);throw R.init(v,A),L=p,L},fe=()=>Qe(""),xe={},De=p=>{for(;p.length;){var v=p.pop(),A=p.pop();A(v)}};function ze(p){return this.fromWireType(be[p>>2])}var Ee={},qe={},Ne={},Ve,at=p=>{throw new Ve(p)},it=(p,v,A)=>{p.forEach(z=>Ne[z]=v);function R(z){var ne=A(z);ne.length!==p.length&&at("Mismatched type converter count");for(var ae=0;ae<p.length;++ae)pe(p[ae],ne[ae])}var N=new Array(v.length),q=[],Q=0;v.forEach((z,ne)=>{qe.hasOwnProperty(z)?N[ne]=qe[z]:(q.push(z),Ee.hasOwnProperty(z)||(Ee[z]=[]),Ee[z].push(()=>{N[ne]=qe[z],++Q,Q===q.length&&R(N)}))}),q.length===0&&R(N)},qt=p=>{var v=xe[p];delete xe[p];var A=v.rawConstructor,R=v.rawDestructor,N=v.fields,q=N.map(Q=>Q.getterReturnType).concat(N.map(Q=>Q.setterArgumentType));it([p],q,Q=>{var z={};return N.forEach((ne,ae)=>{var ue=ne.fieldName,ye=Q[ae],Ae=ne.getter,h=ne.getterContext,u=Q[ae+N.length],x=ne.setter,D=ne.setterContext;z[ue]={read:M=>ye.fromWireType(Ae(h,M)),write:(M,f)=>{var c=[];x(D,M,u.toWireType(c,f)),De(c)}}}),[{name:v.name,fromWireType:ne=>{var ae={};for(var ue in z)ae[ue]=z[ue].read(ne);return R(ne),ae},toWireType:(ne,ae)=>{for(var ue in z)if(!(ue in ae))throw new TypeError(`Missing field: "${ue}"`);var ye=A();for(ue in z)z[ue].write(ye,ae[ue]);return ne!==null&&ne.push(R,ye),ye},argPackAdvance:et,readValueFromPointer:ze,destructorFunction:R}]})},Jt=(p,v,A,R,N)=>{},Dr=()=>{for(var p=new Array(256),v=0;v<256;++v)p[v]=String.fromCharCode(v);Yt=p},Yt,Je=p=>{for(var v="",A=p;le[A];)v+=Yt[le[A++]];return v},jt,me=p=>{throw new jt(p)};function gt(p,v,A={}){var R=v.name;if(p||me(`type "${R}" must have a positive integer typeid pointer`),qe.hasOwnProperty(p)){if(A.ignoreDuplicateRegistrations)return;me(`Cannot register type '${R}' twice`)}if(qe[p]=v,delete Ne[p],Ee.hasOwnProperty(p)){var N=Ee[p];delete Ee[p],N.forEach(q=>q())}}function pe(p,v,A={}){return gt(p,v,A)}var et=8,Pe=(p,v,A,R)=>{v=Je(v),pe(p,{name:v,fromWireType:function(N){return!!N},toWireType:function(N,q){return q?A:R},argPackAdvance:et,readValueFromPointer:function(N){return this.fromWireType(le[N])},destructorFunction:null})},_t=p=>({count:p.count,deleteScheduled:p.deleteScheduled,preservePointerOnDelete:p.preservePointerOnDelete,ptr:p.ptr,ptrType:p.ptrType,smartPtr:p.smartPtr,smartPtrType:p.smartPtrType}),tt=p=>{function v(A){return A.$$.ptrType.registeredClass.name}me(v(p)+" instance already deleted")},Pt=!1,Rr=p=>{},zr=p=>{p.smartPtr?p.smartPtrType.rawDestructor(p.smartPtr):p.ptrType.registeredClass.rawDestructor(p.ptr)},or=p=>{p.count.value-=1;var v=p.count.value===0;v&&zr(p)},rt=(p,v,A)=>{if(v===A)return p;if(A.baseClass===void 0)return null;var R=rt(p,v,A.baseClass);return R===null?null:A.downcast(R)},Lt={},$e={},Vr=(p,v)=>{for(v===void 0&&me("ptr should not be undefined");p.baseClass;)v=p.upcast(v),p=p.baseClass;return v},St=(p,v)=>(v=Vr(p,v),$e[v]),ct=(p,v)=>{(!v.ptrType||!v.ptr)&&at("makeClassHandle requires ptr and ptrType");var A=!!v.smartPtrType,R=!!v.smartPtr;return A!==R&&at("Both smartPtrType and smartPtr must be specified"),v.count={value:1},Ht(Object.create(p,{$$:{value:v,writable:!0}}))};function Bn(p){var v=this.getPointee(p);if(!v)return this.destructor(p),null;var A=St(this.registeredClass,v);if(A!==void 0){if(A.$$.count.value===0)return A.$$.ptr=v,A.$$.smartPtr=p,A.clone();var R=A.clone();return this.destructor(p),R}function N(){return this.isSmartPointer?ct(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:v,smartPtrType:this,smartPtr:p}):ct(this.registeredClass.instancePrototype,{ptrType:this,ptr:p})}var q=this.registeredClass.getActualType(v),Q=Lt[q];if(!Q)return N.call(this);var z;this.isConst?z=Q.constPointerType:z=Q.pointerType;var ne=rt(v,this.registeredClass,z.registeredClass);return ne===null?N.call(this):this.isSmartPointer?ct(z.registeredClass.instancePrototype,{ptrType:z,ptr:ne,smartPtrType:this,smartPtr:p}):ct(z.registeredClass.instancePrototype,{ptrType:z,ptr:ne})}var Ht=p=>typeof FinalizationRegistry>"u"?(Ht=v=>v,p):(Pt=new FinalizationRegistry(v=>{or(v.$$)}),Ht=v=>{var A=v.$$,R=!!A.smartPtr;if(R){var N={$$:A};Pt.register(v,N,v)}return v},Rr=v=>Pt.unregister(v),Ht(p)),Gr=()=>{Object.assign(ut.prototype,{isAliasOf(p){if(!(this instanceof ut)||!(p instanceof ut))return!1;var v=this.$$.ptrType.registeredClass,A=this.$$.ptr;p.$$=p.$$;for(var R=p.$$.ptrType.registeredClass,N=p.$$.ptr;v.baseClass;)A=v.upcast(A),v=v.baseClass;for(;R.baseClass;)N=R.upcast(N),R=R.baseClass;return v===R&&A===N},clone(){if(this.$$.ptr||tt(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var p=Ht(Object.create(Object.getPrototypeOf(this),{$$:{value:_t(this.$$)}}));return p.$$.count.value+=1,p.$$.deleteScheduled=!1,p},delete(){this.$$.ptr||tt(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&me("Object already scheduled for deletion"),Rr(this),or(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||tt(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&me("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}})};function ut(){}var gr=(p,v)=>Object.defineProperty(v,"name",{value:p}),Ut=(p,v,A)=>{if(p[v].overloadTable===void 0){var R=p[v];p[v]=function(...N){return p[v].overloadTable.hasOwnProperty(N.length)||me(`Function '${A}' called with an invalid number of arguments (${N.length}) - expects one of (${p[v].overloadTable})!`),p[v].overloadTable[N.length].apply(this,N)},p[v].overloadTable=[],p[v].overloadTable[R.argCount]=R}},sr=(p,v,A)=>{a.hasOwnProperty(p)?((A===void 0||a[p].overloadTable!==void 0&&a[p].overloadTable[A]!==void 0)&&me(`Cannot register public name '${p}' twice`),Ut(a,p,p),a[p].overloadTable.hasOwnProperty(A)&&me(`Cannot register multiple overloads of a function with the same number of arguments (${A})!`),a[p].overloadTable[A]=v):(a[p]=v,a[p].argCount=A)},lr=48,_r=57,yn=p=>{p=p.replace(/[^a-zA-Z0-9_]/g,"$");var v=p.charCodeAt(0);return v>=lr&&v<=_r?`_${p}`:p};function jn(p,v,A,R,N,q,Q,z){this.name=p,this.constructor=v,this.instancePrototype=A,this.rawDestructor=R,this.baseClass=N,this.getActualType=q,this.upcast=Q,this.downcast=z,this.pureVirtualFunctions=[]}var Zr=(p,v,A)=>{for(;v!==A;)v.upcast||me(`Expected null or instance of ${A.name}, got an instance of ${v.name}`),p=v.upcast(p),v=v.baseClass;return p};function Ir(p,v){if(v===null)return this.isReference&&me(`null is not a valid ${this.name}`),0;v.$$||me(`Cannot pass "${Kr(v)}" as a ${this.name}`),v.$$.ptr||me(`Cannot pass deleted object as a pointer of type ${this.name}`);var A=v.$$.ptrType.registeredClass,R=Zr(v.$$.ptr,A,this.registeredClass);return R}function qr(p,v){var A;if(v===null)return this.isReference&&me(`null is not a valid ${this.name}`),this.isSmartPointer?(A=this.rawConstructor(),p!==null&&p.push(this.rawDestructor,A),A):0;(!v||!v.$$)&&me(`Cannot pass "${Kr(v)}" as a ${this.name}`),v.$$.ptr||me(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&v.$$.ptrType.isConst&&me(`Cannot convert argument of type ${v.$$.smartPtrType?v.$$.smartPtrType.name:v.$$.ptrType.name} to parameter type ${this.name}`);var R=v.$$.ptrType.registeredClass;if(A=Zr(v.$$.ptr,R,this.registeredClass),this.isSmartPointer)switch(v.$$.smartPtr===void 0&&me("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:v.$$.smartPtrType===this?A=v.$$.smartPtr:me(`Cannot convert argument of type ${v.$$.smartPtrType?v.$$.smartPtrType.name:v.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:A=v.$$.smartPtr;break;case 2:if(v.$$.smartPtrType===this)A=v.$$.smartPtr;else{var N=v.clone();A=this.rawShare(A,Ye.toHandle(()=>N.delete())),p!==null&&p.push(this.rawDestructor,A)}break;default:me("Unsupporting sharing policy")}return A}function yr(p,v){if(v===null)return this.isReference&&me(`null is not a valid ${this.name}`),0;v.$$||me(`Cannot pass "${Kr(v)}" as a ${this.name}`),v.$$.ptr||me(`Cannot pass deleted object as a pointer of type ${this.name}`),v.$$.ptrType.isConst&&me(`Cannot convert argument of type ${v.$$.ptrType.name} to parameter type ${this.name}`);var A=v.$$.ptrType.registeredClass,R=Zr(v.$$.ptr,A,this.registeredClass);return R}var Jr=()=>{Object.assign(Xt.prototype,{getPointee(p){return this.rawGetPointee&&(p=this.rawGetPointee(p)),p},destructor(p){this.rawDestructor?.(p)},argPackAdvance:et,readValueFromPointer:ze,fromWireType:Bn})};function Xt(p,v,A,R,N,q,Q,z,ne,ae,ue){this.name=p,this.registeredClass=v,this.isReference=A,this.isConst=R,this.isSmartPointer=N,this.pointeeType=q,this.sharingPolicy=Q,this.rawGetPointee=z,this.rawConstructor=ne,this.rawShare=ae,this.rawDestructor=ue,!N&&v.baseClass===void 0?R?(this.toWireType=Ir,this.destructorFunction=null):(this.toWireType=yr,this.destructorFunction=null):this.toWireType=qr}var Or=(p,v,A)=>{a.hasOwnProperty(p)||at("Replacing nonexistent public symbol"),a[p].overloadTable!==void 0&&A!==void 0?a[p].overloadTable[A]=v:(a[p]=v,a[p].argCount=A)},mr=(p,v,A)=>{p=p.replace(/p/g,"i");var R=a["dynCall_"+p];return R(v,...A)},br=[],wr,Pr=p=>{var v=br[p];return v||(p>=br.length&&(br.length=p+1),br[p]=v=wr.get(p)),v},mn=(p,v,A=[])=>{if(p.includes("j"))return mr(p,v,A);var R=Pr(v)(...A);return R},xr=(p,v)=>(...A)=>mn(p,v,A),st=(p,v)=>{p=Je(p);function A(){return p.includes("j")?xr(p,v):Pr(v)}var R=A();return typeof R!="function"&&me(`unknown function pointer with signature ${p}: ${v}`),R},Kt=(p,v)=>{var A=gr(v,function(R){this.name=v,this.message=R;var N=new Error(R).stack;N!==void 0&&(this.stack=this.toString()+`
7
+ `+N.replace(/^Error(:[^\n]*)?\n/,""))});return A.prototype=Object.create(p.prototype),A.prototype.constructor=A,A.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},A},xt,bn=p=>{var v=kn(p),A=Je(v);return Dt(v),A},lt=(p,v)=>{var A=[],R={};function N(q){if(!R[q]&&!qe[q]){if(Ne[q]){Ne[q].forEach(N);return}A.push(q),R[q]=!0}}throw v.forEach(N),new xt(`${p}: `+A.map(bn).join([", "]))},Er=(p,v,A,R,N,q,Q,z,ne,ae,ue,ye,Ae)=>{ue=Je(ue),q=st(N,q),z&&=st(Q,z),ae&&=st(ne,ae),Ae=st(ye,Ae);var h=yn(ue);sr(h,function(){lt(`Cannot construct ${ue} due to unbound types`,[R])}),it([p,v,A],R?[R]:[],u=>{u=u[0];var x,D;R?(x=u.registeredClass,D=x.instancePrototype):D=ut.prototype;var M=gr(ue,function(...O){if(Object.getPrototypeOf(this)!==f)throw new jt("Use 'new' to construct "+ue);if(c.constructor_body===void 0)throw new jt(ue+" has no accessible constructor");var o=c.constructor_body[O.length];if(o===void 0)throw new jt(`Tried to invoke ctor of ${ue} with invalid number of parameters (${O.length}) - expected (${Object.keys(c.constructor_body).toString()}) parameters instead!`);return o.apply(this,O)}),f=Object.create(D,{constructor:{value:M}});M.prototype=f;var c=new jn(ue,M,f,Ae,x,q,z,ae);c.baseClass&&(c.baseClass.__derivedClasses??=[],c.baseClass.__derivedClasses.push(c));var g=new Xt(ue,c,!0,!1,!1),E=new Xt(ue+"*",c,!1,!1,!1),S=new Xt(ue+" const*",c,!1,!0,!1);return Lt[p]={pointerType:E,constPointerType:S},Or(h,M),[g,E,S]})},Qt=(p,v)=>{for(var A=[],R=0;R<p;R++)A.push(be[v+R*4>>2]);return A};function wn(p){for(var v=1;v<p.length;++v)if(p[v]!==null&&p[v].destructorFunction===void 0)return!0;return!1}var er={ftf:function(p,v,A,R,N,q,Q){return function(){var z=A(R),ne=q.fromWireType(z);return ne}},ttfnn:function(p,v,A,R,N,q,Q,z){return function(ne){var ae=Q.toWireType(null,this),ue=z.toWireType(null,ne),ye=A(R,ae,ue),Ae=q.fromWireType(ye);return Ae}},ttfn:function(p,v,A,R,N,q,Q){return function(){var z=Q.toWireType(null,this),ne=A(R,z),ae=q.fromWireType(ne);return ae}},tffn:function(p,v,A,R,N,q,Q){return function(){var z=Q.toWireType(null,this);A(R,z)}},ftfn:function(p,v,A,R,N,q,Q,z){return function(ne){var ae=z.toWireType(null,ne),ue=A(R,ae),ye=q.fromWireType(ue);return ye}}};function Pn(p,v,A,R){const N=[v?"t":"f",A?"t":"f",R?"t":"f"];for(let q=v?1:2;q<p.length;++q){const Q=p[q];let z="";Q.destructorFunction===void 0?z="u":Q.destructorFunction===null?z="n":z="t",N.push(z)}return N.join("")}function dt(p,v,A,R,N,q){var Q=v.length;Q<2&&me("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var z=v[1]!==null&&A!==null,ne=wn(v),ae=v[0].name!=="void",ue=[p,me,R,N,De,v[0],v[1]],ye=0;ye<Q-2;++ye)ue.push(v[ye+2]);if(!ne)for(var ye=z?1:2;ye<v.length;++ye)v[ye].destructorFunction!==null&&ue.push(v[ye].destructorFunction);var Ae=Pn(v,z,ae,q),h=er[Ae](...ue);return gr(p,h)}var Hn=(p,v,A,R,N,q)=>{var Q=Qt(v,A);N=st(R,N),it([],[p],z=>{z=z[0];var ne=`constructor ${z.name}`;if(z.registeredClass.constructor_body===void 0&&(z.registeredClass.constructor_body=[]),z.registeredClass.constructor_body[v-1]!==void 0)throw new jt(`Cannot register multiple constructors with identical number of parameters (${v-1}) for class '${z.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return z.registeredClass.constructor_body[v-1]=()=>{lt(`Cannot construct ${z.name} due to unbound types`,Q)},it([],Q,ae=>(ae.splice(1,0,null),z.registeredClass.constructor_body[v-1]=dt(ne,ae,null,N,q),[])),[]})},Yr=p=>{p=p.trim();const v=p.indexOf("(");return v!==-1?p.substr(0,v):p},Et=(p,v,A,R,N,q,Q,z,ne,ae)=>{var ue=Qt(A,R);v=Je(v),v=Yr(v),q=st(N,q),it([],[p],ye=>{ye=ye[0];var Ae=`${ye.name}.${v}`;v.startsWith("@@")&&(v=Symbol[v.substring(2)]),z&&ye.registeredClass.pureVirtualFunctions.push(v);function h(){lt(`Cannot call ${Ae} due to unbound types`,ue)}var u=ye.registeredClass.instancePrototype,x=u[v];return x===void 0||x.overloadTable===void 0&&x.className!==ye.name&&x.argCount===A-2?(h.argCount=A-2,h.className=ye.name,u[v]=h):(Ut(u,v,Ae),u[v].overloadTable[A-2]=h),it([],ue,D=>{var M=dt(Ae,D,ye,q,Q,ne);return u[v].overloadTable===void 0?(M.argCount=A-2,u[v]=M):u[v].overloadTable[A-2]=M,[]}),[]})},kr=[],Mt=[],fr=p=>{p>9&&--Mt[p+1]===0&&(Mt[p]=void 0,kr.push(p))},Tt=()=>Mt.length/2-5-kr.length,Tr=()=>{Mt.push(0,1,void 0,1,null,1,!0,1,!1,1),a.count_emval_handles=Tt},Ye={toValue:p=>(p||me("Cannot use deleted val. handle = "+p),Mt[p]),toHandle:p=>{switch(p){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const v=kr.pop()||Mt.length;return Mt[v]=p,Mt[v+1]=1,v}}}},Xr={name:"emscripten::val",fromWireType:p=>{var v=Ye.toValue(p);return fr(p),v},toWireType:(p,v)=>Ye.toHandle(v),argPackAdvance:et,readValueFromPointer:ze,destructorFunction:null},Ft=p=>pe(p,Xr),Kr=p=>{if(p===null)return"null";var v=typeof p;return v==="object"||v==="array"||v==="function"?p.toString():""+p},$t=(p,v)=>{switch(v){case 4:return function(A){return this.fromWireType(Te[A>>2])};case 8:return function(A){return this.fromWireType(ve[A>>3])};default:throw new TypeError(`invalid float width (${v}): ${p}`)}},Qr=(p,v,A)=>{v=Je(v),pe(p,{name:v,fromWireType:R=>R,toWireType:(R,N)=>N,argPackAdvance:et,readValueFromPointer:$t(v,A),destructorFunction:null})},xn=(p,v,A,R,N,q,Q,z)=>{var ne=Qt(v,A);p=Je(p),p=Yr(p),N=st(R,N),sr(p,function(){lt(`Cannot call ${p} due to unbound types`,ne)},v-1),it([],ne,ae=>{var ue=[ae[0],null].concat(ae.slice(1));return Or(p,dt(p,ue,null,N,q,Q),v-1),[]})},en=(p,v,A)=>{switch(v){case 1:return A?R=>re[R]:R=>le[R];case 2:return A?R=>ie[R>>1]:R=>te[R>>1];case 4:return A?R=>oe[R>>2]:R=>be[R>>2];default:throw new TypeError(`invalid integer width (${v}): ${p}`)}},tn=(p,v,A,R,N)=>{v=Je(v);var q=ue=>ue;if(R===0){var Q=32-8*A;q=ue=>ue<<Q>>>Q}var z=v.includes("unsigned"),ne=(ue,ye)=>{},ae;z?ae=function(ue,ye){return ne(ye,this.name),ye>>>0}:ae=function(ue,ye){return ne(ye,this.name),ye},pe(p,{name:v,fromWireType:q,toWireType:ae,argPackAdvance:et,readValueFromPointer:en(v,A,R!==0),destructorFunction:null})},zt=(p,v,A)=>{var R=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],N=R[v];function q(Q){var z=be[Q>>2],ne=be[Q+4>>2];return new N(re.buffer,ne,z)}A=Je(A),pe(p,{name:A,fromWireType:q,argPackAdvance:et,readValueFromPointer:q},{ignoreDuplicateRegistrations:!0})},En=(p,v,A,R)=>{if(!(R>0))return 0;for(var N=A,q=A+R-1,Q=0;Q<p.length;++Q){var z=p.charCodeAt(Q);if(z>=55296&&z<=57343){var ne=p.charCodeAt(++Q);z=65536+((z&1023)<<10)|ne&1023}if(z<=127){if(A>=q)break;v[A++]=z}else if(z<=2047){if(A+1>=q)break;v[A++]=192|z>>6,v[A++]=128|z&63}else if(z<=65535){if(A+2>=q)break;v[A++]=224|z>>12,v[A++]=128|z>>6&63,v[A++]=128|z&63}else{if(A+3>=q)break;v[A++]=240|z>>18,v[A++]=128|z>>12&63,v[A++]=128|z>>6&63,v[A++]=128|z&63}}return v[A]=0,A-N},Tn=(p,v,A)=>En(p,le,v,A),rn=p=>{for(var v=0,A=0;A<p.length;++A){var R=p.charCodeAt(A);R<=127?v++:R<=2047?v+=2:R>=55296&&R<=57343?(v+=4,++A):v+=3}return v},cr=typeof TextDecoder<"u"?new TextDecoder:void 0,nn=(p,v=0,A=NaN)=>{for(var R=v+A,N=v;p[N]&&!(N>=R);)++N;if(N-v>16&&p.buffer&&cr)return cr.decode(p.subarray(v,N));for(var q="";v<N;){var Q=p[v++];if(!(Q&128)){q+=String.fromCharCode(Q);continue}var z=p[v++]&63;if((Q&224)==192){q+=String.fromCharCode((Q&31)<<6|z);continue}var ne=p[v++]&63;if((Q&240)==224?Q=(Q&15)<<12|z<<6|ne:Q=(Q&7)<<18|z<<12|ne<<6|p[v++]&63,Q<65536)q+=String.fromCharCode(Q);else{var ae=Q-65536;q+=String.fromCharCode(55296|ae>>10,56320|ae&1023)}}return q},Lr=(p,v)=>p?nn(le,p,v):"",$r=(p,v)=>{v=Je(v),pe(p,{name:v,fromWireType(A){for(var R=be[A>>2],N=A+4,q,Q,z=N,Q=0;Q<=R;++Q){var ne=N+Q;if(Q==R||le[ne]==0){var ae=ne-z,ue=Lr(z,ae);q===void 0?q=ue:(q+="\0",q+=ue),z=ne+1}}return Dt(A),q},toWireType(A,R){R instanceof ArrayBuffer&&(R=new Uint8Array(R));var N,q=typeof R=="string";q||R instanceof Uint8Array||R instanceof Uint8ClampedArray||R instanceof Int8Array||me("Cannot pass non-string to std::string"),q?N=rn(R):N=R.length;var Q=cn(4+N+1),z=Q+4;if(be[Q>>2]=N,q)Tn(R,z,N+1);else if(q)for(var ne=0;ne<N;++ne){var ae=R.charCodeAt(ne);ae>255&&(Dt(z),me("String has UTF-16 code units that do not fit in 8 bits")),le[z+ne]=ae}else for(var ne=0;ne<N;++ne)le[z+ne]=R[ne];return A!==null&&A.push(Dt,Q),Q},argPackAdvance:et,readValueFromPointer:ze,destructorFunction(A){Dt(A)}})},an=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,on=(p,v)=>{for(var A=p,R=A>>1,N=R+v/2;!(R>=N)&&te[R];)++R;if(A=R<<1,A-p>32&&an)return an.decode(le.subarray(p,A));for(var q="",Q=0;!(Q>=v/2);++Q){var z=ie[p+Q*2>>1];if(z==0)break;q+=String.fromCharCode(z)}return q},zn=(p,v,A)=>{if(A??=2147483647,A<2)return 0;A-=2;for(var R=v,N=A<p.length*2?A/2:p.length,q=0;q<N;++q){var Q=p.charCodeAt(q);ie[v>>1]=Q,v+=2}return ie[v>>1]=0,v-R},$n=p=>p.length*2,Vn=(p,v)=>{for(var A=0,R="";!(A>=v/4);){var N=oe[p+A*4>>2];if(N==0)break;if(++A,N>=65536){var q=N-65536;R+=String.fromCharCode(55296|q>>10,56320|q&1023)}else R+=String.fromCharCode(N)}return R},Gn=(p,v,A)=>{if(A??=2147483647,A<4)return 0;for(var R=v,N=R+A-4,q=0;q<p.length;++q){var Q=p.charCodeAt(q);if(Q>=55296&&Q<=57343){var z=p.charCodeAt(++q);Q=65536+((Q&1023)<<10)|z&1023}if(oe[v>>2]=Q,v+=4,v+4>N)break}return oe[v>>2]=0,v-R},Zn=p=>{for(var v=0,A=0;A<p.length;++A){var R=p.charCodeAt(A);R>=55296&&R<=57343&&++A,v+=4}return v},An=(p,v,A)=>{A=Je(A);var R,N,q,Q;v===2?(R=on,N=zn,Q=$n,q=z=>te[z>>1]):v===4&&(R=Vn,N=Gn,Q=Zn,q=z=>be[z>>2]),pe(p,{name:A,fromWireType:z=>{for(var ne=be[z>>2],ae,ue=z+4,ye=0;ye<=ne;++ye){var Ae=z+4+ye*v;if(ye==ne||q(Ae)==0){var h=Ae-ue,u=R(ue,h);ae===void 0?ae=u:(ae+="\0",ae+=u),ue=Ae+v}}return Dt(z),ae},toWireType:(z,ne)=>{typeof ne!="string"&&me(`Cannot pass non-string to C++ string type ${A}`);var ae=Q(ne),ue=cn(4+ae+v);return be[ue>>2]=ae/v,N(ne,ue+4,ae+v),z!==null&&z.push(Dt,ue),ue},argPackAdvance:et,readValueFromPointer:ze,destructorFunction(z){Dt(z)}})},Cn=(p,v,A,R,N,q)=>{xe[p]={name:Je(v),rawConstructor:st(A,R),rawDestructor:st(N,q),fields:[]}},qn=(p,v,A,R,N,q,Q,z,ne,ae)=>{xe[p].fields.push({fieldName:Je(v),getterReturnType:A,getter:st(R,N),getterContext:q,setterArgumentType:Q,setter:st(z,ne),setterContext:ae})},Sn=(p,v)=>{v=Je(v),pe(p,{isVoid:!0,name:v,argPackAdvance:0,fromWireType:()=>{},toWireType:(A,R)=>{}})},Jn=(p,v,A)=>le.copyWithin(p,v,v+A),sn=[],ln=(p,v,A,R)=>(p=sn[p],v=Ye.toValue(v),p(null,v,A,R)),Yn={},Xn=p=>{var v=Yn[p];return v===void 0?Je(p):v},Ur=()=>{if(typeof globalThis=="object")return globalThis;function p(v){v.$$$embind_global$$$=v;var A=typeof $$$embind_global$$$=="object"&&v.$$$embind_global$$$==v;return A||delete v.$$$embind_global$$$,A}if(typeof $$$embind_global$$$=="object"||(typeof gn=="object"&&p(gn)?$$$embind_global$$$=gn:typeof self=="object"&&p(self)&&($$$embind_global$$$=self),typeof $$$embind_global$$$=="object"))return $$$embind_global$$$;throw Error("unable to get global object.")},Dn=p=>p===0?Ye.toHandle(Ur()):(p=Xn(p),Ye.toHandle(Ur()[p])),Kn=p=>{var v=sn.length;return sn.push(p),v},Rn=(p,v)=>{var A=qe[p];return A===void 0&&me(`${v} has unknown type ${bn(p)}`),A},fn=(p,v)=>{for(var A=new Array(p),R=0;R<p;++R)A[R]=Rn(be[v+R*4>>2],"parameter "+R);return A},Qn=Reflect.construct,ea=(p,v,A)=>{var R=[],N=p.toWireType(R,A);return R.length&&(be[v>>2]=Ye.toHandle(R)),N},In=(p,v,A)=>{var R=fn(p,v),N=R.shift();p--;var q=new Array(p),Q=(ne,ae,ue,ye)=>{for(var Ae=0,h=0;h<p;++h)q[h]=R[h].readValueFromPointer(ye+Ae),Ae+=R[h].argPackAdvance;var u=A===1?Qn(ae,q):ae.apply(ne,q);return ea(N,ue,u)},z=`methodCaller<(${R.map(ne=>ne.name).join(", ")}) => ${N.name}>`;return Kn(gr(z,Q))},ta=p=>{var v=Ye.toValue(p);De(v),fr(p)},ra=(p,v)=>{p=Rn(p,"_emval_take_value");var A=p.readValueFromPointer(v);return Ye.toHandle(A)},na=()=>2147483648,On=(p,v)=>Math.ceil(p/v)*v,aa=p=>{var v=ce.buffer,A=(p-v.byteLength+65535)/65536|0;try{return ce.grow(A),ge(),1}catch{}},ia=p=>{var v=le.length;p>>>=0;var A=na();if(p>A)return!1;for(var R=1;R<=4;R*=2){var N=v*(1+.2/R);N=Math.min(N,p+100663296);var q=Math.min(A,On(Math.max(p,N),65536)),Q=aa(q);if(Q)return!0}return!1},oa=p=>{var v=a["_"+p];return v},sa=(p,v)=>{re.set(p,v)},Mr=p=>un(p),la=p=>{var v=rn(p)+1,A=Mr(v);return Tn(p,A,v),A},tr=(p,v,A,R,N)=>{var q={string:u=>{var x=0;return u!=null&&u!==0&&(x=la(u)),x},array:u=>{var x=Mr(u.length);return sa(u,x),x}};function Q(u){return v==="string"?Lr(u):v==="boolean"?!!u:u}var z=oa(p),ne=[],ae=0;if(R)for(var ue=0;ue<R.length;ue++){var ye=q[A[ue]];ye?(ae===0&&(ae=I()),ne[ue]=ye(R[ue])):ne[ue]=R[ue]}var Ae=z(...ne);function h(u){return ae!==0&&$(ae),Q(u)}return Ae=h(Ae),Ae};Ve=a.InternalError=class extends Error{constructor(v){super(v),this.name="InternalError"}},Dr(),jt=a.BindingError=class extends Error{constructor(v){super(v),this.name="BindingError"}},Gr(),Jr(),xt=a.UnboundTypeError=Kt(Error,"UnboundTypeError"),Tr();var fa={g:Z,o:fe,l:qt,n:Jt,t:Pe,k:Er,j:Hn,c:Et,r:Ft,h:Qr,e:xn,b:tn,a:zt,s:$r,f:An,m:Cn,d:qn,u:Sn,q:Jn,w:ln,y:fr,z:Dn,x:In,v:ta,i:ra,p:ia},nt;Sr();var kn=p=>(kn=nt.C)(p),cn=p=>(cn=nt.E)(p),Dt=p=>(Dt=nt.F)(p),Ge=p=>(Ge=nt.G)(p),un=p=>(un=nt.H)(p),Fr=()=>(Fr=nt.I)();a.ccall=tr;var yt;Ze=function p(){yt||At(),yt||(Ze=p)};function At(){if(ot>0||(Be(),ot>0))return;function p(){yt||(yt=!0,a.calledRun=!0,!he&&(je(),d(a),a.onRuntimeInitialized?.(),Ce()))}a.setStatus?(a.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>a.setStatus(""),1),p()},1)):p()}if(a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return At(),l=y,l})})();e.exports=t,e.exports.default=t})(io)),io.exports}var Lp=kp();const Up=Ci(Lp),Mp=new URL(""+new URL("charlswasm_decode-BrO4esUm.wasm",import.meta.url).href,import.meta.url),wa={codec:void 0,decoder:void 0,decodeConfig:{}};function Fp(e){return typeof e=="number"?wa.codec.getExceptionMessage(e):e}function Wf(e){if(wa.decodeConfig=e,ci(e),wa.codec)return Promise.resolve();const r=Up({locateFile:t=>t.endsWith(".wasm")?Ni("charlswasm_decode.wasm",Mp):t});return new Promise((t,n)=>{r.then(i=>{wa.codec=i,wa.decoder=new i.JpegLSDecoder,t()},n)})}async function Ao(e,r){try{await Wf();const t=wa.decoder;t.getEncodedBuffer(e.length).set(e),t.decode();const i=t.getFrameInfo(),l=t.getInterleaveMode(),a=t.getNearLossless(),d=t.getDecodedBuffer(),P={columns:i.width,rows:i.height,bitsPerPixel:i.bitsPerSample,signed:r.signed,bytesPerPixel:r.bytesPerPixel,componentsPerPixel:i.componentCount},y=Fi(i,d,r.signed),w={nearLossless:a,interleaveMode:l,frameInfo:i};return{...r,pixelData:y,imageInfo:P,encodeOptions:w,...w,...P}}catch(t){throw Fp(t)}}var oo={exports:{}},al;function Np(){return al||(al=1,(function(e,r){var t=(()=>{var n=typeof document<"u"?document.currentScript?.src:void 0;return typeof __filename<"u"&&(n=n||__filename),(function(i={}){var l,a=i,d,P,y=new Promise((h,u)=>{d=h,P=u}),w=typeof window=="object",W=typeof WorkerGlobalScope<"u",F=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",k=Object.assign({},a),j="./this.program",Y="";function K(h){return a.locateFile?a.locateFile(h,Y):Y+h}var ee,X;if(F){var H=ei;Y=__dirname+"/",X=h=>{h=kt(h)?new URL(h):h;var u=H.readFileSync(h);return u},ee=async(h,u=!0)=>{h=kt(h)?new URL(h):h;var x=H.readFileSync(h,u?void 0:"utf8");return x},!a.thisProgram&&process.argv.length>1&&(j=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else(w||W)&&(W?Y=self.location.href:typeof document<"u"&&document.currentScript&&(Y=document.currentScript.src),n&&(Y=n),Y.startsWith("blob:")?Y="":Y=Y.substr(0,Y.replace(/[?#].*/,"").lastIndexOf("/")+1),W&&(X=h=>{var u=new XMLHttpRequest;return u.open("GET",h,!1),u.responseType="arraybuffer",u.send(null),new Uint8Array(u.response)}),ee=async h=>{if(kt(h))return new Promise((x,D)=>{var M=new XMLHttpRequest;M.open("GET",h,!0),M.responseType="arraybuffer",M.onload=()=>{if(M.status==200||M.status==0&&M.response){x(M.response);return}D(M.status)},M.onerror=D,M.send(null)});var u=await fetch(h,{credentials:"same-origin"});if(u.ok)return u.arrayBuffer();throw new Error(u.status+" : "+u.url)});var J=a.print||console.log.bind(console),ce=a.printErr||console.error.bind(console);Object.assign(a,k),k=null,a.arguments&&a.arguments,a.thisProgram&&(j=a.thisProgram);var he=a.wasmBinary,re,le=!1,ie,te,oe,be,Te,ve,ge,Re;function Fe(){var h=re.buffer;a.HEAP8=ie=new Int8Array(h),a.HEAP16=oe=new Int16Array(h),a.HEAPU8=te=new Uint8Array(h),a.HEAPU16=be=new Uint16Array(h),a.HEAP32=Te=new Int32Array(h),a.HEAPU32=ve=new Uint32Array(h),a.HEAPF32=ge=new Float32Array(h),a.HEAPF64=Re=new Float64Array(h)}var Ie=[],Be=[],je=[];function Ce(){if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;)bt(a.preRun.shift());I(Ie)}function Ke(){I(Be)}function ft(){if(a.postRun)for(typeof a.postRun=="function"&&(a.postRun=[a.postRun]);a.postRun.length;)Ze(a.postRun.shift());I(je)}function bt(h){Ie.unshift(h)}function ot(h){Be.unshift(h)}function Ze(h){je.unshift(h)}var He=0,ke=null;function Qe(h){He++,a.monitorRunDependencies?.(He)}function vt(h){if(He--,a.monitorRunDependencies?.(He),He==0&&ke){var u=ke;ke=null,u()}}function Zt(h){a.onAbort?.(h),h="Aborted("+h+")",ce(h),le=!0,h+=". Build with -sASSERTIONS for more info.";var u=new WebAssembly.RuntimeError(h);throw P(u),u}var Wt="data:application/octet-stream;base64,",Bt=h=>h.startsWith(Wt),kt=h=>h.startsWith("file://");function wt(){var h="openjpegwasm_decode.wasm";return Bt(h)?h:K(h)}var hr;function pr(h){if(h==hr&&he)return new Uint8Array(he);if(X)return X(h);throw"both async and sync fetching of the wasm failed"}async function vr(h){if(!he)try{var u=await ee(h);return new Uint8Array(u)}catch{}return pr(h)}async function Cr(h,u){try{var x=await vr(h),D=await WebAssembly.instantiate(x,u);return D}catch(M){ce(`failed to asynchronously prepare wasm: ${M}`),Zt(M)}}async function Sr(h,u,x){if(!h&&typeof WebAssembly.instantiateStreaming=="function"&&!Bt(u)&&!kt(u)&&!F&&typeof fetch=="function")try{var D=fetch(u,{credentials:"same-origin"}),M=await WebAssembly.instantiateStreaming(D,x);return M}catch(f){ce(`wasm streaming compile failed: ${f}`),ce("falling back to ArrayBuffer instantiation")}return Cr(u,x)}function m(){return{a:R}}async function $(){function h(M,f){return N=M.exports,re=N.F,Fe(),mn=N.I,ot(N.G),vt(),N}Qe();function u(M){h(M.instance)}var x=m();if(a.instantiateWasm)try{return a.instantiateWasm(x,h)}catch(M){ce(`Module.instantiateWasm callback failed with error: ${M}`),P(M)}hr??=wt();try{var D=await Sr(he,hr,x);return u(D),D}catch(M){P(M);return}}var I=h=>{for(;h.length>0;)h.shift()(a)};a.noExitRuntime;var T=h=>ne(h),L=()=>ue();class Z{constructor(u){this.excPtr=u,this.ptr=u-24}set_type(u){ve[this.ptr+4>>2]=u}get_type(){return ve[this.ptr+4>>2]}set_destructor(u){ve[this.ptr+8>>2]=u}get_destructor(){return ve[this.ptr+8>>2]}set_caught(u){u=u?1:0,ie[this.ptr+12]=u}get_caught(){return ie[this.ptr+12]!=0}set_rethrown(u){u=u?1:0,ie[this.ptr+13]=u}get_rethrown(){return ie[this.ptr+13]!=0}init(u,x){this.set_adjusted_ptr(0),this.set_type(u),this.set_destructor(x)}set_adjusted_ptr(u){ve[this.ptr+16>>2]=u}get_adjusted_ptr(){return ve[this.ptr+16>>2]}}var fe=0,xe=(h,u,x)=>{var D=new Z(h);throw D.init(u,x),fe=h,fe},De=()=>Zt(""),ze={},Ee=h=>{for(;h.length;){var u=h.pop(),x=h.pop();x(u)}};function qe(h){return this.fromWireType(ve[h>>2])}var Ne={},Ve={},at={},it,qt=h=>{throw new it(h)},Jt=(h,u,x)=>{h.forEach(g=>at[g]=u);function D(g){var E=x(g);E.length!==h.length&&qt("Mismatched type converter count");for(var S=0;S<h.length;++S)Pe(h[S],E[S])}var M=new Array(u.length),f=[],c=0;u.forEach((g,E)=>{Ve.hasOwnProperty(g)?M[E]=Ve[g]:(f.push(g),Ne.hasOwnProperty(g)||(Ne[g]=[]),Ne[g].push(()=>{M[E]=Ve[g],++c,c===f.length&&D(M)}))}),f.length===0&&D(M)},Dr=h=>{var u=ze[h];delete ze[h];var x=u.rawConstructor,D=u.rawDestructor,M=u.fields,f=M.map(c=>c.getterReturnType).concat(M.map(c=>c.setterArgumentType));Jt([h],f,c=>{var g={};return M.forEach((E,S)=>{var O=E.fieldName,o=c[S],s=E.getter,_=E.getterContext,b=c[S+M.length],C=E.setter,U=E.setterContext;g[O]={read:V=>o.fromWireType(s(_,V)),write:(V,B)=>{var G=[];C(U,V,b.toWireType(G,B)),Ee(G)}}}),[{name:u.name,fromWireType:E=>{var S={};for(var O in g)S[O]=g[O].read(E);return D(E),S},toWireType:(E,S)=>{for(var O in g)if(!(O in S))throw new TypeError(`Missing field: "${O}"`);var o=x();for(O in g)g[O].write(o,S[O]);return E!==null&&E.push(D,o),o},argPackAdvance:_t,readValueFromPointer:qe,destructorFunction:D}]})},Yt=(h,u,x,D,M)=>{},Je=()=>{for(var h=new Array(256),u=0;u<256;++u)h[u]=String.fromCharCode(u);jt=h},jt,me=h=>{for(var u="",x=h;te[x];)u+=jt[te[x++]];return u},gt,pe=h=>{throw new gt(h)};function et(h,u,x={}){var D=u.name;if(h||pe(`type "${D}" must have a positive integer typeid pointer`),Ve.hasOwnProperty(h)){if(x.ignoreDuplicateRegistrations)return;pe(`Cannot register type '${D}' twice`)}if(Ve[h]=u,delete at[h],Ne.hasOwnProperty(h)){var M=Ne[h];delete Ne[h],M.forEach(f=>f())}}function Pe(h,u,x={}){return et(h,u,x)}var _t=8,tt=(h,u,x,D)=>{u=me(u),Pe(h,{name:u,fromWireType:function(M){return!!M},toWireType:function(M,f){return f?x:D},argPackAdvance:_t,readValueFromPointer:function(M){return this.fromWireType(te[M])},destructorFunction:null})},Pt=h=>({count:h.count,deleteScheduled:h.deleteScheduled,preservePointerOnDelete:h.preservePointerOnDelete,ptr:h.ptr,ptrType:h.ptrType,smartPtr:h.smartPtr,smartPtrType:h.smartPtrType}),Rr=h=>{function u(x){return x.$$.ptrType.registeredClass.name}pe(u(h)+" instance already deleted")},zr=!1,or=h=>{},rt=h=>{h.smartPtr?h.smartPtrType.rawDestructor(h.smartPtr):h.ptrType.registeredClass.rawDestructor(h.ptr)},Lt=h=>{h.count.value-=1;var u=h.count.value===0;u&&rt(h)},$e=(h,u,x)=>{if(u===x)return h;if(x.baseClass===void 0)return null;var D=$e(h,u,x.baseClass);return D===null?null:x.downcast(D)},Vr={},St={},ct=(h,u)=>{for(u===void 0&&pe("ptr should not be undefined");h.baseClass;)u=h.upcast(u),h=h.baseClass;return u},Bn=(h,u)=>(u=ct(h,u),St[u]),Ht=(h,u)=>{(!u.ptrType||!u.ptr)&&qt("makeClassHandle requires ptr and ptrType");var x=!!u.smartPtrType,D=!!u.smartPtr;return x!==D&&qt("Both smartPtrType and smartPtr must be specified"),u.count={value:1},ut(Object.create(h,{$$:{value:u,writable:!0}}))};function Gr(h){var u=this.getPointee(h);if(!u)return this.destructor(h),null;var x=Bn(this.registeredClass,u);if(x!==void 0){if(x.$$.count.value===0)return x.$$.ptr=u,x.$$.smartPtr=h,x.clone();var D=x.clone();return this.destructor(h),D}function M(){return this.isSmartPointer?Ht(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:u,smartPtrType:this,smartPtr:h}):Ht(this.registeredClass.instancePrototype,{ptrType:this,ptr:h})}var f=this.registeredClass.getActualType(u),c=Vr[f];if(!c)return M.call(this);var g;this.isConst?g=c.constPointerType:g=c.pointerType;var E=$e(u,this.registeredClass,g.registeredClass);return E===null?M.call(this):this.isSmartPointer?Ht(g.registeredClass.instancePrototype,{ptrType:g,ptr:E,smartPtrType:this,smartPtr:h}):Ht(g.registeredClass.instancePrototype,{ptrType:g,ptr:E})}var ut=h=>typeof FinalizationRegistry>"u"?(ut=u=>u,h):(zr=new FinalizationRegistry(u=>{Lt(u.$$)}),ut=u=>{var x=u.$$,D=!!x.smartPtr;if(D){var M={$$:x};zr.register(u,M,u)}return u},or=u=>zr.unregister(u),ut(h)),gr=()=>{Object.assign(Ut.prototype,{isAliasOf(h){if(!(this instanceof Ut)||!(h instanceof Ut))return!1;var u=this.$$.ptrType.registeredClass,x=this.$$.ptr;h.$$=h.$$;for(var D=h.$$.ptrType.registeredClass,M=h.$$.ptr;u.baseClass;)x=u.upcast(x),u=u.baseClass;for(;D.baseClass;)M=D.upcast(M),D=D.baseClass;return u===D&&x===M},clone(){if(this.$$.ptr||Rr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var h=ut(Object.create(Object.getPrototypeOf(this),{$$:{value:Pt(this.$$)}}));return h.$$.count.value+=1,h.$$.deleteScheduled=!1,h},delete(){this.$$.ptr||Rr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),or(this),Lt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Rr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}})};function Ut(){}var sr=(h,u)=>Object.defineProperty(u,"name",{value:h}),lr=(h,u,x)=>{if(h[u].overloadTable===void 0){var D=h[u];h[u]=function(...M){return h[u].overloadTable.hasOwnProperty(M.length)||pe(`Function '${x}' called with an invalid number of arguments (${M.length}) - expects one of (${h[u].overloadTable})!`),h[u].overloadTable[M.length].apply(this,M)},h[u].overloadTable=[],h[u].overloadTable[D.argCount]=D}},_r=(h,u,x)=>{a.hasOwnProperty(h)?(pe(`Cannot register public name '${h}' twice`),lr(a,h,h),a[h].overloadTable.hasOwnProperty(x)&&pe(`Cannot register multiple overloads of a function with the same number of arguments (${x})!`),a[h].overloadTable[x]=u):(a[h]=u,a[h].argCount=x)},yn=48,jn=57,Zr=h=>{h=h.replace(/[^a-zA-Z0-9_]/g,"$");var u=h.charCodeAt(0);return u>=yn&&u<=jn?`_${h}`:h};function Ir(h,u,x,D,M,f,c,g){this.name=h,this.constructor=u,this.instancePrototype=x,this.rawDestructor=D,this.baseClass=M,this.getActualType=f,this.upcast=c,this.downcast=g,this.pureVirtualFunctions=[]}var qr=(h,u,x)=>{for(;u!==x;)u.upcast||pe(`Expected null or instance of ${x.name}, got an instance of ${u.name}`),h=u.upcast(h),u=u.baseClass;return h};function yr(h,u){if(u===null)return this.isReference&&pe(`null is not a valid ${this.name}`),0;u.$$||pe(`Cannot pass "${Qr(u)}" as a ${this.name}`),u.$$.ptr||pe(`Cannot pass deleted object as a pointer of type ${this.name}`);var x=u.$$.ptrType.registeredClass,D=qr(u.$$.ptr,x,this.registeredClass);return D}function Jr(h,u){var x;if(u===null)return this.isReference&&pe(`null is not a valid ${this.name}`),this.isSmartPointer?(x=this.rawConstructor(),h!==null&&h.push(this.rawDestructor,x),x):0;(!u||!u.$$)&&pe(`Cannot pass "${Qr(u)}" as a ${this.name}`),u.$$.ptr||pe(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&u.$$.ptrType.isConst&&pe(`Cannot convert argument of type ${u.$$.smartPtrType?u.$$.smartPtrType.name:u.$$.ptrType.name} to parameter type ${this.name}`);var D=u.$$.ptrType.registeredClass;if(x=qr(u.$$.ptr,D,this.registeredClass),this.isSmartPointer)switch(u.$$.smartPtr===void 0&&pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:u.$$.smartPtrType===this?x=u.$$.smartPtr:pe(`Cannot convert argument of type ${u.$$.smartPtrType?u.$$.smartPtrType.name:u.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:x=u.$$.smartPtr;break;case 2:if(u.$$.smartPtrType===this)x=u.$$.smartPtr;else{var M=u.clone();x=this.rawShare(x,Ft.toHandle(()=>M.delete())),h!==null&&h.push(this.rawDestructor,x)}break;default:pe("Unsupporting sharing policy")}return x}function Xt(h,u){if(u===null)return this.isReference&&pe(`null is not a valid ${this.name}`),0;u.$$||pe(`Cannot pass "${Qr(u)}" as a ${this.name}`),u.$$.ptr||pe(`Cannot pass deleted object as a pointer of type ${this.name}`),u.$$.ptrType.isConst&&pe(`Cannot convert argument of type ${u.$$.ptrType.name} to parameter type ${this.name}`);var x=u.$$.ptrType.registeredClass,D=qr(u.$$.ptr,x,this.registeredClass);return D}var Or=()=>{Object.assign(mr.prototype,{getPointee(h){return this.rawGetPointee&&(h=this.rawGetPointee(h)),h},destructor(h){this.rawDestructor?.(h)},argPackAdvance:_t,readValueFromPointer:qe,fromWireType:Gr})};function mr(h,u,x,D,M,f,c,g,E,S,O){this.name=h,this.registeredClass=u,this.isReference=x,this.isConst=D,this.isSmartPointer=M,this.pointeeType=f,this.sharingPolicy=c,this.rawGetPointee=g,this.rawConstructor=E,this.rawShare=S,this.rawDestructor=O,!M&&u.baseClass===void 0?D?(this.toWireType=yr,this.destructorFunction=null):(this.toWireType=Xt,this.destructorFunction=null):this.toWireType=Jr}var br=(h,u,x)=>{a.hasOwnProperty(h)||qt("Replacing nonexistent public symbol"),a[h].overloadTable!==void 0&&x!==void 0||(a[h]=u,a[h].argCount=x)},wr=(h,u,x)=>{h=h.replace(/p/g,"i");var D=a["dynCall_"+h];return D(u,...x)},Pr=[],mn,xr=h=>{var u=Pr[h];return u||(h>=Pr.length&&(Pr.length=h+1),Pr[h]=u=mn.get(h)),u},st=(h,u,x=[])=>{if(h.includes("j"))return wr(h,u,x);var D=xr(u)(...x);return D},Kt=(h,u)=>(...x)=>st(h,u,x),xt=(h,u)=>{h=me(h);function x(){return h.includes("j")?Kt(h,u):xr(u)}var D=x();return typeof D!="function"&&pe(`unknown function pointer with signature ${h}: ${u}`),D},bn=(h,u)=>{var x=sr(u,function(D){this.name=u,this.message=D;var M=new Error(D).stack;M!==void 0&&(this.stack=this.toString()+`
8
+ `+M.replace(/^Error(:[^\n]*)?\n/,""))});return x.prototype=Object.create(h.prototype),x.prototype.constructor=x,x.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},x},lt,Er=h=>{var u=q(h),x=me(u);return z(u),x},Qt=(h,u)=>{var x=[],D={};function M(f){if(!D[f]&&!Ve[f]){if(at[f]){at[f].forEach(M);return}x.push(f),D[f]=!0}}throw u.forEach(M),new lt(`${h}: `+x.map(Er).join([", "]))},wn=(h,u,x,D,M,f,c,g,E,S,O,o,s)=>{O=me(O),f=xt(M,f),g&&=xt(c,g),S&&=xt(E,S),s=xt(o,s);var _=Zr(O);_r(_,function(){Qt(`Cannot construct ${O} due to unbound types`,[D])}),Jt([h,u,x],D?[D]:[],b=>{b=b[0];var C,U;D?(C=b.registeredClass,U=C.instancePrototype):U=Ut.prototype;var V=sr(O,function(...Le){if(Object.getPrototypeOf(this)!==B)throw new gt("Use 'new' to construct "+O);if(G.constructor_body===void 0)throw new gt(O+" has no accessible constructor");var Se=G.constructor_body[Le.length];if(Se===void 0)throw new gt(`Tried to invoke ctor of ${O} with invalid number of parameters (${Le.length}) - expected (${Object.keys(G.constructor_body).toString()}) parameters instead!`);return Se.apply(this,Le)}),B=Object.create(U,{constructor:{value:V}});V.prototype=B;var G=new Ir(O,V,B,s,C,f,g,S);G.baseClass&&(G.baseClass.__derivedClasses??=[],G.baseClass.__derivedClasses.push(G));var se=new mr(O,G,!0,!1,!1),de=new mr(O+"*",G,!1,!1,!1),_e=new mr(O+" const*",G,!1,!0,!1);return Vr[h]={pointerType:de,constPointerType:_e},br(_,V),[se,de,_e]})},er=(h,u)=>{for(var x=[],D=0;D<h;D++)x.push(ve[u+D*4>>2]);return x};function Pn(h){for(var u=1;u<h.length;++u)if(h[u]!==null&&h[u].destructorFunction===void 0)return!0;return!1}var dt={ftf:function(h,u,x,D,M,f,c){return function(){var g=x(D),E=f.fromWireType(g);return E}},ttfnn:function(h,u,x,D,M,f,c,g){return function(E){var S=c.toWireType(null,this),O=g.toWireType(null,E),o=x(D,S,O),s=f.fromWireType(o);return s}},ttfn:function(h,u,x,D,M,f,c){return function(){var g=c.toWireType(null,this),E=x(D,g),S=f.fromWireType(E);return S}},tffn:function(h,u,x,D,M,f,c){return function(){var g=c.toWireType(null,this);x(D,g)}},tffnnn:function(h,u,x,D,M,f,c,g,E){return function(S,O){var o=c.toWireType(null,this),s=g.toWireType(null,S),_=E.toWireType(null,O);x(D,o,s,_)}}};function Hn(h,u,x,D){const M=[u?"t":"f",x?"t":"f",D?"t":"f"];for(let f=u?1:2;f<h.length;++f){const c=h[f];let g="";c.destructorFunction===void 0?g="u":c.destructorFunction===null?g="n":g="t",M.push(g)}return M.join("")}function Yr(h,u,x,D,M,f){var c=u.length;c<2&&pe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var g=u[1]!==null&&x!==null,E=Pn(u),S=u[0].name!=="void",O=[h,pe,D,M,Ee,u[0],u[1]],o=0;o<c-2;++o)O.push(u[o+2]);if(!E)for(var o=g?1:2;o<u.length;++o)u[o].destructorFunction!==null&&O.push(u[o].destructorFunction);var s=Hn(u,g,S,f),_=dt[s](...O);return sr(h,_)}var Et=(h,u,x,D,M,f)=>{var c=er(u,x);M=xt(D,M),Jt([],[h],g=>{g=g[0];var E=`constructor ${g.name}`;if(g.registeredClass.constructor_body===void 0&&(g.registeredClass.constructor_body=[]),g.registeredClass.constructor_body[u-1]!==void 0)throw new gt(`Cannot register multiple constructors with identical number of parameters (${u-1}) for class '${g.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return g.registeredClass.constructor_body[u-1]=()=>{Qt(`Cannot construct ${g.name} due to unbound types`,c)},Jt([],c,S=>(S.splice(1,0,null),g.registeredClass.constructor_body[u-1]=Yr(E,S,null,M,f),[])),[]})},kr=h=>{h=h.trim();const u=h.indexOf("(");return u!==-1?h.substr(0,u):h},Mt=(h,u,x,D,M,f,c,g,E,S)=>{var O=er(x,D);u=me(u),u=kr(u),f=xt(M,f),Jt([],[h],o=>{o=o[0];var s=`${o.name}.${u}`;u.startsWith("@@")&&(u=Symbol[u.substring(2)]),g&&o.registeredClass.pureVirtualFunctions.push(u);function _(){Qt(`Cannot call ${s} due to unbound types`,O)}var b=o.registeredClass.instancePrototype,C=b[u];return C===void 0||C.overloadTable===void 0&&C.className!==o.name&&C.argCount===x-2?(_.argCount=x-2,_.className=o.name,b[u]=_):(lr(b,u,s),b[u].overloadTable[x-2]=_),Jt([],O,U=>{var V=Yr(s,U,o,f,c,E);return b[u].overloadTable===void 0?(V.argCount=x-2,b[u]=V):b[u].overloadTable[x-2]=V,[]}),[]})},fr=[],Tt=[],Tr=h=>{h>9&&--Tt[h+1]===0&&(Tt[h]=void 0,fr.push(h))},Ye=()=>Tt.length/2-5-fr.length,Xr=()=>{Tt.push(0,1,void 0,1,null,1,!0,1,!1,1),a.count_emval_handles=Ye},Ft={toValue:h=>(h||pe("Cannot use deleted val. handle = "+h),Tt[h]),toHandle:h=>{switch(h){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const u=fr.pop()||Tt.length;return Tt[u]=h,Tt[u+1]=1,u}}}},Kr={name:"emscripten::val",fromWireType:h=>{var u=Ft.toValue(h);return Tr(h),u},toWireType:(h,u)=>Ft.toHandle(u),argPackAdvance:_t,readValueFromPointer:qe,destructorFunction:null},$t=h=>Pe(h,Kr),Qr=h=>{if(h===null)return"null";var u=typeof h;return u==="object"||u==="array"||u==="function"?h.toString():""+h},xn=(h,u)=>{switch(u){case 4:return function(x){return this.fromWireType(ge[x>>2])};case 8:return function(x){return this.fromWireType(Re[x>>3])};default:throw new TypeError(`invalid float width (${u}): ${h}`)}},en=(h,u,x)=>{u=me(u),Pe(h,{name:u,fromWireType:D=>D,toWireType:(D,M)=>M,argPackAdvance:_t,readValueFromPointer:xn(u,x),destructorFunction:null})},tn=(h,u,x)=>{switch(u){case 1:return x?D=>ie[D]:D=>te[D];case 2:return x?D=>oe[D>>1]:D=>be[D>>1];case 4:return x?D=>Te[D>>2]:D=>ve[D>>2];default:throw new TypeError(`invalid integer width (${u}): ${h}`)}},zt=(h,u,x,D,M)=>{u=me(u);var f=O=>O;if(D===0){var c=32-8*x;f=O=>O<<c>>>c}var g=u.includes("unsigned"),E=(O,o)=>{},S;g?S=function(O,o){return E(o,this.name),o>>>0}:S=function(O,o){return E(o,this.name),o},Pe(h,{name:u,fromWireType:f,toWireType:S,argPackAdvance:_t,readValueFromPointer:tn(u,x,D!==0),destructorFunction:null})},En=(h,u,x)=>{var D=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],M=D[u];function f(c){var g=ve[c>>2],E=ve[c+4>>2];return new M(ie.buffer,E,g)}x=me(x),Pe(h,{name:x,fromWireType:f,argPackAdvance:_t,readValueFromPointer:f},{ignoreDuplicateRegistrations:!0})},Tn=(h,u,x,D)=>{if(!(D>0))return 0;for(var M=x,f=x+D-1,c=0;c<h.length;++c){var g=h.charCodeAt(c);if(g>=55296&&g<=57343){var E=h.charCodeAt(++c);g=65536+((g&1023)<<10)|E&1023}if(g<=127){if(x>=f)break;u[x++]=g}else if(g<=2047){if(x+1>=f)break;u[x++]=192|g>>6,u[x++]=128|g&63}else if(g<=65535){if(x+2>=f)break;u[x++]=224|g>>12,u[x++]=128|g>>6&63,u[x++]=128|g&63}else{if(x+3>=f)break;u[x++]=240|g>>18,u[x++]=128|g>>12&63,u[x++]=128|g>>6&63,u[x++]=128|g&63}}return u[x]=0,x-M},rn=(h,u,x)=>Tn(h,te,u,x),cr=h=>{for(var u=0,x=0;x<h.length;++x){var D=h.charCodeAt(x);D<=127?u++:D<=2047?u+=2:D>=55296&&D<=57343?(u+=4,++x):u+=3}return u},nn=typeof TextDecoder<"u"?new TextDecoder:void 0,Lr=(h,u=0,x=NaN)=>{for(var D=u+x,M=u;h[M]&&!(M>=D);)++M;if(M-u>16&&h.buffer&&nn)return nn.decode(h.subarray(u,M));for(var f="";u<M;){var c=h[u++];if(!(c&128)){f+=String.fromCharCode(c);continue}var g=h[u++]&63;if((c&224)==192){f+=String.fromCharCode((c&31)<<6|g);continue}var E=h[u++]&63;if((c&240)==224?c=(c&15)<<12|g<<6|E:c=(c&7)<<18|g<<12|E<<6|h[u++]&63,c<65536)f+=String.fromCharCode(c);else{var S=c-65536;f+=String.fromCharCode(55296|S>>10,56320|S&1023)}}return f},$r=(h,u)=>h?Lr(te,h,u):"",an=(h,u)=>{u=me(u),Pe(h,{name:u,fromWireType(x){for(var D=ve[x>>2],M=x+4,f,c,g=M,c=0;c<=D;++c){var E=M+c;if(c==D||te[E]==0){var S=E-g,O=$r(g,S);f===void 0?f=O:(f+="\0",f+=O),g=E+1}}return z(x),f},toWireType(x,D){D instanceof ArrayBuffer&&(D=new Uint8Array(D));var M,f=typeof D=="string";f||D instanceof Uint8Array||D instanceof Uint8ClampedArray||D instanceof Int8Array||pe("Cannot pass non-string to std::string"),f?M=cr(D):M=D.length;var c=Q(4+M+1),g=c+4;if(ve[c>>2]=M,f)rn(D,g,M+1);else if(f)for(var E=0;E<M;++E){var S=D.charCodeAt(E);S>255&&(z(g),pe("String has UTF-16 code units that do not fit in 8 bits")),te[g+E]=S}else for(var E=0;E<M;++E)te[g+E]=D[E];return x!==null&&x.push(z,c),c},argPackAdvance:_t,readValueFromPointer:qe,destructorFunction(x){z(x)}})},on=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,zn=(h,u)=>{for(var x=h,D=x>>1,M=D+u/2;!(D>=M)&&be[D];)++D;if(x=D<<1,x-h>32&&on)return on.decode(te.subarray(h,x));for(var f="",c=0;!(c>=u/2);++c){var g=oe[h+c*2>>1];if(g==0)break;f+=String.fromCharCode(g)}return f},$n=(h,u,x)=>{if(x??=2147483647,x<2)return 0;x-=2;for(var D=u,M=x<h.length*2?x/2:h.length,f=0;f<M;++f){var c=h.charCodeAt(f);oe[u>>1]=c,u+=2}return oe[u>>1]=0,u-D},Vn=h=>h.length*2,Gn=(h,u)=>{for(var x=0,D="";!(x>=u/4);){var M=Te[h+x*4>>2];if(M==0)break;if(++x,M>=65536){var f=M-65536;D+=String.fromCharCode(55296|f>>10,56320|f&1023)}else D+=String.fromCharCode(M)}return D},Zn=(h,u,x)=>{if(x??=2147483647,x<4)return 0;for(var D=u,M=D+x-4,f=0;f<h.length;++f){var c=h.charCodeAt(f);if(c>=55296&&c<=57343){var g=h.charCodeAt(++f);c=65536+((c&1023)<<10)|g&1023}if(Te[u>>2]=c,u+=4,u+4>M)break}return Te[u>>2]=0,u-D},An=h=>{for(var u=0,x=0;x<h.length;++x){var D=h.charCodeAt(x);D>=55296&&D<=57343&&++x,u+=4}return u},Cn=(h,u,x)=>{x=me(x);var D,M,f,c;u===2?(D=zn,M=$n,c=Vn,f=g=>be[g>>1]):u===4&&(D=Gn,M=Zn,c=An,f=g=>ve[g>>2]),Pe(h,{name:x,fromWireType:g=>{for(var E=ve[g>>2],S,O=g+4,o=0;o<=E;++o){var s=g+4+o*u;if(o==E||f(s)==0){var _=s-O,b=D(O,_);S===void 0?S=b:(S+="\0",S+=b),O=s+u}}return z(g),S},toWireType:(g,E)=>{typeof E!="string"&&pe(`Cannot pass non-string to C++ string type ${x}`);var S=c(E),O=Q(4+S+u);return ve[O>>2]=S/u,M(E,O+4,S+u),g!==null&&g.push(z,O),O},argPackAdvance:_t,readValueFromPointer:qe,destructorFunction(g){z(g)}})},qn=(h,u,x,D,M,f)=>{ze[h]={name:me(u),rawConstructor:xt(x,D),rawDestructor:xt(M,f),fields:[]}},Sn=(h,u,x,D,M,f,c,g,E,S)=>{ze[h].fields.push({fieldName:me(u),getterReturnType:x,getter:xt(D,M),getterContext:f,setterArgumentType:c,setter:xt(g,E),setterContext:S})},Jn=(h,u)=>{u=me(u),Pe(h,{isVoid:!0,name:u,argPackAdvance:0,fromWireType:()=>{},toWireType:(x,D)=>{}})},sn=(h,u,x)=>te.copyWithin(h,u,u+x),ln=[],Yn=(h,u,x,D)=>(h=ln[h],u=Ft.toValue(u),h(null,u,x,D)),Xn={},Ur=h=>{var u=Xn[h];return u===void 0?me(h):u},Dn=()=>{if(typeof globalThis=="object")return globalThis;function h(u){u.$$$embind_global$$$=u;var x=typeof $$$embind_global$$$=="object"&&u.$$$embind_global$$$==u;return x||delete u.$$$embind_global$$$,x}if(typeof $$$embind_global$$$=="object"||(typeof gn=="object"&&h(gn)?$$$embind_global$$$=gn:typeof self=="object"&&h(self)&&($$$embind_global$$$=self),typeof $$$embind_global$$$=="object"))return $$$embind_global$$$;throw Error("unable to get global object.")},Kn=h=>h===0?Ft.toHandle(Dn()):(h=Ur(h),Ft.toHandle(Dn()[h])),Rn=h=>{var u=ln.length;return ln.push(h),u},fn=(h,u)=>{var x=Ve[h];return x===void 0&&pe(`${u} has unknown type ${Er(h)}`),x},Qn=(h,u)=>{for(var x=new Array(h),D=0;D<h;++D)x[D]=fn(ve[u+D*4>>2],"parameter "+D);return x},ea=Reflect.construct,In=(h,u,x)=>{var D=[],M=h.toWireType(D,x);return D.length&&(ve[u>>2]=Ft.toHandle(D)),M},ta=(h,u,x)=>{var D=Qn(h,u),M=D.shift();h--;var f=new Array(h),c=(E,S,O,o)=>{for(var s=0,_=0;_<h;++_)f[_]=D[_].readValueFromPointer(o+s),s+=D[_].argPackAdvance;var b=x===1?ea(S,f):S.apply(E,f);return In(M,O,b)},g=`methodCaller<(${D.map(E=>E.name).join(", ")}) => ${M.name}>`;return Rn(sr(g,c))},ra=h=>{var u=Ft.toValue(h);Ee(u),Tr(h)},na=(h,u)=>{h=fn(h,"_emval_take_value");var x=h.readValueFromPointer(u);return Ft.toHandle(x)},On=()=>2147483648,aa=()=>On(),ia=(h,u)=>Math.ceil(h/u)*u,oa=h=>{var u=re.buffer,x=(h-u.byteLength+65535)/65536|0;try{return re.grow(x),Fe(),1}catch{}},sa=h=>{var u=te.length;h>>>=0;var x=On();if(h>x)return!1;for(var D=1;D<=4;D*=2){var M=u*(1+.2/D);M=Math.min(M,h+100663296);var f=Math.min(x,ia(Math.max(h,M),65536)),c=oa(f);if(c)return!0}return!1},Mr={},la=()=>j||"./this.program",tr=()=>{if(!tr.strings){var h=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",u={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:h,_:la()};for(var x in Mr)Mr[x]===void 0?delete u[x]:u[x]=Mr[x];var D=[];for(var x in u)D.push(`${x}=${u[x]}`);tr.strings=D}return tr.strings},fa=(h,u)=>{for(var x=0;x<h.length;++x)ie[u++]=h.charCodeAt(x);ie[u]=0},nt=(h,u)=>{var x=0;return tr().forEach((D,M)=>{var f=u+x;ve[h+M*4>>2]=f,fa(D,f),x+=D.length+1}),0},kn=(h,u)=>{var x=tr();ve[h>>2]=x.length;var D=0;return x.forEach(M=>D+=M.length+1),ve[u>>2]=D,0},cn=h=>52;function Dt(h,u,x,D,M){return 70}var Ge=[null,[],[]],un=(h,u)=>{var x=Ge[h];u===0||u===10?((h===1?J:ce)(Lr(x)),x.length=0):x.push(u)},Fr=(h,u,x,D)=>{for(var M=0,f=0;f<x;f++){var c=ve[u>>2],g=ve[u+4>>2];u+=8;for(var E=0;E<g;E++)un(h,te[c+E]);M+=g}return ve[D>>2]=M,0},yt=h=>{var u=a["_"+h];return u},At=(h,u)=>{ie.set(h,u)},p=h=>ae(h),v=h=>{var u=cr(h)+1,x=p(u);return rn(h,x,u),x},A=(h,u,x,D,M)=>{var f={string:b=>{var C=0;return b!=null&&b!==0&&(C=v(b)),C},array:b=>{var C=p(b.length);return At(b,C),C}};function c(b){return u==="string"?$r(b):u==="boolean"?!!b:b}var g=yt(h),E=[],S=0;if(D)for(var O=0;O<D.length;O++){var o=f[x[O]];o?(S===0&&(S=L()),E[O]=o(D[O])):E[O]=D[O]}var s=g(...E);function _(b){return S!==0&&T(S),c(b)}return s=_(s),s};it=a.InternalError=class extends Error{constructor(u){super(u),this.name="InternalError"}},Je(),gt=a.BindingError=class extends Error{constructor(u){super(u),this.name="BindingError"}},gr(),Or(),lt=a.UnboundTypeError=bn(Error,"UnboundTypeError"),Xr();var R={A:xe,p:De,e:Dr,o:Yt,y:tt,m:wn,l:Et,b:Mt,w:$t,i:en,d:zt,a:En,x:an,g:Cn,f:qn,c:Sn,z:Jn,v:sn,C:Yn,D:Tr,E:Kn,j:ta,B:ra,k:na,r:aa,q:sa,s:nt,t:kn,u:cn,n:Dt,h:Fr},N;$();var q=h=>(q=N.H)(h),Q=h=>(Q=N.J)(h),z=h=>(z=N.K)(h),ne=h=>(ne=N.L)(h),ae=h=>(ae=N.M)(h),ue=()=>(ue=N.N)();a.dynCall_iji=(h,u,x,D)=>(a.dynCall_iji=N.O)(h,u,x,D),a.dynCall_jji=(h,u,x,D)=>(a.dynCall_jji=N.P)(h,u,x,D),a.dynCall_iiji=(h,u,x,D,M)=>(a.dynCall_iiji=N.Q)(h,u,x,D,M),a.dynCall_jiji=(h,u,x,D,M)=>(a.dynCall_jiji=N.R)(h,u,x,D,M),a.ccall=A;var ye;ke=function h(){ye||Ae(),ye||(ke=h)};function Ae(){if(He>0||(Ce(),He>0))return;function h(){ye||(ye=!0,a.calledRun=!0,!le&&(Ke(),d(a),a.onRuntimeInitialized?.(),ft()))}a.setStatus?(a.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>a.setStatus(""),1),h()},1)):h()}if(a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return Ae(),l=y,l})})();e.exports=t,e.exports.default=t})(oo)),oo.exports}var Wp=Np();const Bp=Ci(Wp),jp=new URL(""+new URL("openjpegwasm_decode-B3gWTHpv.wasm",import.meta.url).href,import.meta.url),Na={codec:void 0,decoder:void 0,decodeConfig:{}};function Bf(e){if(Na.decodeConfig=e,ci(e),Na.codec)return Promise.resolve();const r=Bp({locateFile:t=>t.endsWith(".wasm")?Ni("openjpegwasm_decode.wasm",jp):t});return new Promise((t,n)=>{r.then(i=>{Na.codec=i,Na.decoder=new i.J2KDecoder,t()},n)})}async function Co(e,r){await Bf();const t=Na.decoder,n=t.getEncodedBuffer(e.length);n.set(e),t.decode();const i=t.getFrameInfo(),l=t.getDecodedBuffer();new Uint8Array(l.length).set(l);const d=`x: ${t.getImageOffset().x}, y: ${t.getImageOffset().y}`,P=t.getNumDecompositions(),y=t.getNumLayers(),w=["unknown","LRCP","RLCP","RPCL","PCRL","CPRL"][t.getProgressionOrder()+1],W=t.getIsReversible(),F=`${t.getBlockDimensions().width} x ${t.getBlockDimensions().height}`,k=`${t.getTileSize().width} x ${t.getTileSize().height}`,j=`${t.getTileOffset().x}, ${t.getTileOffset().y}`,Y=t.getColorSpace(),K=`${l.length.toLocaleString()} bytes`,ee=`${(l.length/n.length).toFixed(2)}:1`,X={columns:i.width,rows:i.height,bitsPerPixel:i.bitsPerSample,signed:i.isSigned,bytesPerPixel:r.bytesPerPixel,componentsPerPixel:i.componentCount},H=Fi(i,l),J={imageOffset:d,numDecompositions:P,numLayers:y,progessionOrder:w,reversible:W,blockDimensions:F,tileSize:k,tileOffset:j,colorTransform:Y,decodedSize:K,compressionRatio:ee};return{...r,pixelData:H,imageInfo:X,encodeOptions:J,...J,...X}}var so={exports:{}},il;function Hp(){return il||(il=1,(function(e,r){var t=(()=>{var n=typeof document<"u"?document.currentScript?.src:void 0;return typeof __filename<"u"&&(n=n||__filename),(function(i={}){var l,a=i,d,P,y=new Promise((f,c)=>{d=f,P=c}),w=typeof window=="object",W=typeof WorkerGlobalScope<"u",F=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",k=Object.assign({},a),j="";function Y(f){return a.locateFile?a.locateFile(f,j):j+f}var K,ee;if(F){var X=ei;j=__dirname+"/",ee=f=>{f=Bt(f)?new URL(f):f;var c=X.readFileSync(f);return c},K=async(f,c=!0)=>{f=Bt(f)?new URL(f):f;var g=X.readFileSync(f,c?void 0:"utf8");return g},!a.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2)}else(w||W)&&(W?j=self.location.href:typeof document<"u"&&document.currentScript&&(j=document.currentScript.src),n&&(j=n),j.startsWith("blob:")?j="":j=j.substr(0,j.replace(/[?#].*/,"").lastIndexOf("/")+1),W&&(ee=f=>{var c=new XMLHttpRequest;return c.open("GET",f,!1),c.responseType="arraybuffer",c.send(null),new Uint8Array(c.response)}),K=async f=>{if(Bt(f))return new Promise((g,E)=>{var S=new XMLHttpRequest;S.open("GET",f,!0),S.responseType="arraybuffer",S.onload=()=>{if(S.status==200||S.status==0&&S.response){g(S.response);return}E(S.status)},S.onerror=E,S.send(null)});var c=await fetch(f,{credentials:"same-origin"});if(c.ok)return c.arrayBuffer();throw new Error(c.status+" : "+c.url)});var H=a.print||console.log.bind(console),J=a.printErr||console.error.bind(console);Object.assign(a,k),k=null,a.arguments&&a.arguments,a.thisProgram&&a.thisProgram;var ce=a.wasmBinary,he,re=!1,le,ie,te,oe,be,Te,ve,ge;function Re(){var f=he.buffer;a.HEAP8=le=new Int8Array(f),a.HEAP16=te=new Int16Array(f),a.HEAPU8=ie=new Uint8Array(f),a.HEAPU16=oe=new Uint16Array(f),a.HEAP32=be=new Int32Array(f),a.HEAPU32=Te=new Uint32Array(f),a.HEAPF32=ve=new Float32Array(f),a.HEAPF64=ge=new Float64Array(f)}var Fe=[],Ie=[],Be=[];function je(){if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;)ft(a.preRun.shift());$(Fe)}function Ce(){$(Ie)}function Ke(){if(a.postRun)for(typeof a.postRun=="function"&&(a.postRun=[a.postRun]);a.postRun.length;)ot(a.postRun.shift());$(Be)}function ft(f){Fe.unshift(f)}function bt(f){Ie.unshift(f)}function ot(f){Be.unshift(f)}var Ze=0,He=null;function ke(f){Ze++,a.monitorRunDependencies?.(Ze)}function Qe(f){if(Ze--,a.monitorRunDependencies?.(Ze),Ze==0&&He){var c=He;He=null,c()}}function vt(f){a.onAbort?.(f),f="Aborted("+f+")",J(f),re=!0,f+=". Build with -sASSERTIONS for more info.";var c=new WebAssembly.RuntimeError(f);throw P(c),c}var Zt="data:application/octet-stream;base64,",Wt=f=>f.startsWith(Zt),Bt=f=>f.startsWith("file://");function kt(){var f="openjphjs.wasm";return Wt(f)?f:Y(f)}var wt;function hr(f){if(f==wt&&ce)return new Uint8Array(ce);if(ee)return ee(f);throw"both async and sync fetching of the wasm failed"}async function pr(f){if(!ce)try{var c=await K(f);return new Uint8Array(c)}catch{}return hr(f)}async function vr(f,c){try{var g=await pr(f),E=await WebAssembly.instantiate(g,c);return E}catch(S){J(`failed to asynchronously prepare wasm: ${S}`),vt(S)}}async function Cr(f,c,g){if(!f&&typeof WebAssembly.instantiateStreaming=="function"&&!Wt(c)&&!Bt(c)&&!F&&typeof fetch=="function")try{var E=fetch(c,{credentials:"same-origin"}),S=await WebAssembly.instantiateStreaming(E,g);return S}catch(O){J(`wasm streaming compile failed: ${O}`),J("falling back to ArrayBuffer instantiation")}return vr(c,g)}function Sr(){return{env:Dt,wasi_snapshot_preview1:Dt}}async function m(){function f(S,O){return Ge=S.exports,he=Ge.memory,Re(),Pn=Ge.__indirect_function_table,bt(Ge.__wasm_call_ctors),Qe(),Ge}ke();function c(S){f(S.instance)}var g=Sr();if(a.instantiateWasm)try{return a.instantiateWasm(g,f)}catch(S){J(`Module.instantiateWasm callback failed with error: ${S}`),P(S)}wt??=kt();try{var E=await Cr(ce,wt,g);return c(E),E}catch(S){P(S);return}}var $=f=>{for(;f.length>0;)f.shift()(a)};a.noExitRuntime;var I=f=>v(f),T=()=>R(),L=typeof TextDecoder<"u"?new TextDecoder:void 0,Z=(f,c=0,g=NaN)=>{for(var E=c+g,S=c;f[S]&&!(S>=E);)++S;if(S-c>16&&f.buffer&&L)return L.decode(f.subarray(c,S));for(var O="";c<S;){var o=f[c++];if(!(o&128)){O+=String.fromCharCode(o);continue}var s=f[c++]&63;if((o&224)==192){O+=String.fromCharCode((o&31)<<6|s);continue}var _=f[c++]&63;if((o&240)==224?o=(o&15)<<12|s<<6|_:o=(o&7)<<18|s<<12|_<<6|f[c++]&63,o<65536)O+=String.fromCharCode(o);else{var b=o-65536;O+=String.fromCharCode(55296|b>>10,56320|b&1023)}}return O},fe=(f,c)=>f?Z(ie,f,c):"",xe=(f,c,g,E)=>vt(`Assertion failed: ${fe(f)}, at: `+[c?fe(c):"unknown filename",g,E?fe(E):"unknown function"]),De=[],ze=f=>{var c=new Ne(f);return c.get_caught()||c.set_caught(!0),c.set_rethrown(!1),De.push(c),N(f),z(f)},Ee=0,qe=()=>{At(0,0);var f=De.pop();q(f.excPtr),Ee=0};class Ne{constructor(c){this.excPtr=c,this.ptr=c-24}set_type(c){Te[this.ptr+4>>2]=c}get_type(){return Te[this.ptr+4>>2]}set_destructor(c){Te[this.ptr+8>>2]=c}get_destructor(){return Te[this.ptr+8>>2]}set_caught(c){c=c?1:0,le[this.ptr+12]=c}get_caught(){return le[this.ptr+12]!=0}set_rethrown(c){c=c?1:0,le[this.ptr+13]=c}get_rethrown(){return le[this.ptr+13]!=0}init(c,g){this.set_adjusted_ptr(0),this.set_type(c),this.set_destructor(g)}set_adjusted_ptr(c){Te[this.ptr+16>>2]=c}get_adjusted_ptr(){return Te[this.ptr+16>>2]}}var Ve=f=>{throw Ee||(Ee=f),Ee},at=f=>p(f),it=f=>{var c=Ee;if(!c)return at(0),0;var g=new Ne(c);g.set_adjusted_ptr(c);var E=g.get_type();if(!E)return at(0),c;for(var S of f){if(S===0||S===E)break;var O=g.ptr+16;if(Q(S,E,O))return at(S),c}return at(E),c},qt=()=>it([]),Jt=f=>it([f]),Dr=(f,c,g)=>{var E=new Ne(f);throw E.init(c,g),Ee=f,Ee},Yt=()=>vt(""),Je={},jt=f=>{for(;f.length;){var c=f.pop(),g=f.pop();g(c)}};function me(f){return this.fromWireType(Te[f>>2])}var gt={},pe={},et={},Pe,_t=f=>{throw new Pe(f)},tt=(f,c,g)=>{f.forEach(s=>et[s]=c);function E(s){var _=g(s);_.length!==f.length&&_t("Mismatched type converter count");for(var b=0;b<f.length;++b)St(f[b],_[b])}var S=new Array(c.length),O=[],o=0;c.forEach((s,_)=>{pe.hasOwnProperty(s)?S[_]=pe[s]:(O.push(s),gt.hasOwnProperty(s)||(gt[s]=[]),gt[s].push(()=>{S[_]=pe[s],++o,o===O.length&&E(S)}))}),O.length===0&&E(S)},Pt=f=>{var c=Je[f];delete Je[f];var g=c.rawConstructor,E=c.rawDestructor,S=c.fields,O=S.map(o=>o.getterReturnType).concat(S.map(o=>o.setterArgumentType));tt([f],O,o=>{var s={};return S.forEach((_,b)=>{var C=_.fieldName,U=o[b],V=_.getter,B=_.getterContext,G=o[b+S.length],se=_.setter,de=_.setterContext;s[C]={read:_e=>U.fromWireType(V(B,_e)),write:(_e,Le)=>{var Se=[];se(de,_e,G.toWireType(Se,Le)),jt(Se)}}}),[{name:c.name,fromWireType:_=>{var b={};for(var C in s)b[C]=s[C].read(_);return E(_),b},toWireType:(_,b)=>{for(var C in s)if(!(C in b))throw new TypeError(`Missing field: "${C}"`);var U=g();for(C in s)s[C].write(U,b[C]);return _!==null&&_.push(E,U),U},argPackAdvance:ct,readValueFromPointer:me,destructorFunction:E}]})},Rr=(f,c,g,E,S)=>{},zr=()=>{for(var f=new Array(256),c=0;c<256;++c)f[c]=String.fromCharCode(c);or=f},or,rt=f=>{for(var c="",g=f;ie[g];)c+=or[ie[g++]];return c},Lt,$e=f=>{throw new Lt(f)};function Vr(f,c,g={}){var E=c.name;if(f||$e(`type "${E}" must have a positive integer typeid pointer`),pe.hasOwnProperty(f)){if(g.ignoreDuplicateRegistrations)return;$e(`Cannot register type '${E}' twice`)}if(pe[f]=c,delete et[f],gt.hasOwnProperty(f)){var S=gt[f];delete gt[f],S.forEach(O=>O())}}function St(f,c,g={}){return Vr(f,c,g)}var ct=8,Bn=(f,c,g,E)=>{c=rt(c),St(f,{name:c,fromWireType:function(S){return!!S},toWireType:function(S,O){return O?g:E},argPackAdvance:ct,readValueFromPointer:function(S){return this.fromWireType(ie[S])},destructorFunction:null})},Ht=f=>({count:f.count,deleteScheduled:f.deleteScheduled,preservePointerOnDelete:f.preservePointerOnDelete,ptr:f.ptr,ptrType:f.ptrType,smartPtr:f.smartPtr,smartPtrType:f.smartPtrType}),Gr=f=>{function c(g){return g.$$.ptrType.registeredClass.name}$e(c(f)+" instance already deleted")},ut=!1,gr=f=>{},Ut=f=>{f.smartPtr?f.smartPtrType.rawDestructor(f.smartPtr):f.ptrType.registeredClass.rawDestructor(f.ptr)},sr=f=>{f.count.value-=1;var c=f.count.value===0;c&&Ut(f)},lr=(f,c,g)=>{if(c===g)return f;if(g.baseClass===void 0)return null;var E=lr(f,c,g.baseClass);return E===null?null:g.downcast(E)},_r={},yn={},jn=(f,c)=>{for(c===void 0&&$e("ptr should not be undefined");f.baseClass;)c=f.upcast(c),f=f.baseClass;return c},Zr=(f,c)=>(c=jn(f,c),yn[c]),Ir=(f,c)=>{(!c.ptrType||!c.ptr)&&_t("makeClassHandle requires ptr and ptrType");var g=!!c.smartPtrType,E=!!c.smartPtr;return g!==E&&_t("Both smartPtrType and smartPtr must be specified"),c.count={value:1},yr(Object.create(f,{$$:{value:c,writable:!0}}))};function qr(f){var c=this.getPointee(f);if(!c)return this.destructor(f),null;var g=Zr(this.registeredClass,c);if(g!==void 0){if(g.$$.count.value===0)return g.$$.ptr=c,g.$$.smartPtr=f,g.clone();var E=g.clone();return this.destructor(f),E}function S(){return this.isSmartPointer?Ir(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:c,smartPtrType:this,smartPtr:f}):Ir(this.registeredClass.instancePrototype,{ptrType:this,ptr:f})}var O=this.registeredClass.getActualType(c),o=_r[O];if(!o)return S.call(this);var s;this.isConst?s=o.constPointerType:s=o.pointerType;var _=lr(c,this.registeredClass,s.registeredClass);return _===null?S.call(this):this.isSmartPointer?Ir(s.registeredClass.instancePrototype,{ptrType:s,ptr:_,smartPtrType:this,smartPtr:f}):Ir(s.registeredClass.instancePrototype,{ptrType:s,ptr:_})}var yr=f=>typeof FinalizationRegistry>"u"?(yr=c=>c,f):(ut=new FinalizationRegistry(c=>{sr(c.$$)}),yr=c=>{var g=c.$$,E=!!g.smartPtr;if(E){var S={$$:g};ut.register(c,S,c)}return c},gr=c=>ut.unregister(c),yr(f)),Jr=()=>{Object.assign(Xt.prototype,{isAliasOf(f){if(!(this instanceof Xt)||!(f instanceof Xt))return!1;var c=this.$$.ptrType.registeredClass,g=this.$$.ptr;f.$$=f.$$;for(var E=f.$$.ptrType.registeredClass,S=f.$$.ptr;c.baseClass;)g=c.upcast(g),c=c.baseClass;for(;E.baseClass;)S=E.upcast(S),E=E.baseClass;return c===E&&g===S},clone(){if(this.$$.ptr||Gr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var f=yr(Object.create(Object.getPrototypeOf(this),{$$:{value:Ht(this.$$)}}));return f.$$.count.value+=1,f.$$.deleteScheduled=!1,f},delete(){this.$$.ptr||Gr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$e("Object already scheduled for deletion"),gr(this),sr(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Gr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$e("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}})};function Xt(){}var Or=(f,c)=>Object.defineProperty(c,"name",{value:f}),mr=(f,c,g)=>{if(f[c].overloadTable===void 0){var E=f[c];f[c]=function(...S){return f[c].overloadTable.hasOwnProperty(S.length)||$e(`Function '${g}' called with an invalid number of arguments (${S.length}) - expects one of (${f[c].overloadTable})!`),f[c].overloadTable[S.length].apply(this,S)},f[c].overloadTable=[],f[c].overloadTable[E.argCount]=E}},br=(f,c,g)=>{a.hasOwnProperty(f)?((g===void 0||a[f].overloadTable!==void 0&&a[f].overloadTable[g]!==void 0)&&$e(`Cannot register public name '${f}' twice`),mr(a,f,f),a[f].overloadTable.hasOwnProperty(g)&&$e(`Cannot register multiple overloads of a function with the same number of arguments (${g})!`),a[f].overloadTable[g]=c):(a[f]=c,a[f].argCount=g)},wr=48,Pr=57,mn=f=>{f=f.replace(/[^a-zA-Z0-9_]/g,"$");var c=f.charCodeAt(0);return c>=wr&&c<=Pr?`_${f}`:f};function xr(f,c,g,E,S,O,o,s){this.name=f,this.constructor=c,this.instancePrototype=g,this.rawDestructor=E,this.baseClass=S,this.getActualType=O,this.upcast=o,this.downcast=s,this.pureVirtualFunctions=[]}var st=(f,c,g)=>{for(;c!==g;)c.upcast||$e(`Expected null or instance of ${g.name}, got an instance of ${c.name}`),f=c.upcast(f),c=c.baseClass;return f};function Kt(f,c){if(c===null)return this.isReference&&$e(`null is not a valid ${this.name}`),0;c.$$||$e(`Cannot pass "${$r(c)}" as a ${this.name}`),c.$$.ptr||$e(`Cannot pass deleted object as a pointer of type ${this.name}`);var g=c.$$.ptrType.registeredClass,E=st(c.$$.ptr,g,this.registeredClass);return E}function xt(f,c){var g;if(c===null)return this.isReference&&$e(`null is not a valid ${this.name}`),this.isSmartPointer?(g=this.rawConstructor(),f!==null&&f.push(this.rawDestructor,g),g):0;(!c||!c.$$)&&$e(`Cannot pass "${$r(c)}" as a ${this.name}`),c.$$.ptr||$e(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&c.$$.ptrType.isConst&&$e(`Cannot convert argument of type ${c.$$.smartPtrType?c.$$.smartPtrType.name:c.$$.ptrType.name} to parameter type ${this.name}`);var E=c.$$.ptrType.registeredClass;if(g=st(c.$$.ptr,E,this.registeredClass),this.isSmartPointer)switch(c.$$.smartPtr===void 0&&$e("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:c.$$.smartPtrType===this?g=c.$$.smartPtr:$e(`Cannot convert argument of type ${c.$$.smartPtrType?c.$$.smartPtrType.name:c.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:g=c.$$.smartPtr;break;case 2:if(c.$$.smartPtrType===this)g=c.$$.smartPtr;else{var S=c.clone();g=this.rawShare(g,cr.toHandle(()=>S.delete())),f!==null&&f.push(this.rawDestructor,g)}break;default:$e("Unsupporting sharing policy")}return g}function bn(f,c){if(c===null)return this.isReference&&$e(`null is not a valid ${this.name}`),0;c.$$||$e(`Cannot pass "${$r(c)}" as a ${this.name}`),c.$$.ptr||$e(`Cannot pass deleted object as a pointer of type ${this.name}`),c.$$.ptrType.isConst&&$e(`Cannot convert argument of type ${c.$$.ptrType.name} to parameter type ${this.name}`);var g=c.$$.ptrType.registeredClass,E=st(c.$$.ptr,g,this.registeredClass);return E}var lt=()=>{Object.assign(Er.prototype,{getPointee(f){return this.rawGetPointee&&(f=this.rawGetPointee(f)),f},destructor(f){this.rawDestructor?.(f)},argPackAdvance:ct,readValueFromPointer:me,fromWireType:qr})};function Er(f,c,g,E,S,O,o,s,_,b,C){this.name=f,this.registeredClass=c,this.isReference=g,this.isConst=E,this.isSmartPointer=S,this.pointeeType=O,this.sharingPolicy=o,this.rawGetPointee=s,this.rawConstructor=_,this.rawShare=b,this.rawDestructor=C,!S&&c.baseClass===void 0?E?(this.toWireType=Kt,this.destructorFunction=null):(this.toWireType=bn,this.destructorFunction=null):this.toWireType=xt}var Qt=(f,c,g)=>{a.hasOwnProperty(f)||_t("Replacing nonexistent public symbol"),a[f].overloadTable!==void 0&&g!==void 0?a[f].overloadTable[g]=c:(a[f]=c,a[f].argCount=g)},wn=(f,c,g)=>{f=f.replace(/p/g,"i");var E=a["dynCall_"+f];return E(c,...g)},er=[],Pn,dt=f=>{var c=er[f];return c||(f>=er.length&&(er.length=f+1),er[f]=c=Pn.get(f)),c},Hn=(f,c,g=[])=>{if(f.includes("j"))return wn(f,c,g);var E=dt(c)(...g);return E},Yr=(f,c)=>(...g)=>Hn(f,c,g),Et=(f,c)=>{f=rt(f);function g(){return f.includes("j")?Yr(f,c):dt(c)}var E=g();return typeof E!="function"&&$e(`unknown function pointer with signature ${f}: ${c}`),E},kr=(f,c)=>{var g=Or(c,function(E){this.name=c,this.message=E;var S=new Error(E).stack;S!==void 0&&(this.stack=this.toString()+`
9
+ `+S.replace(/^Error(:[^\n]*)?\n/,""))});return g.prototype=Object.create(f.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},g},Mt,fr=f=>{var c=un(f),g=rt(c);return yt(c),g},Tt=(f,c)=>{var g=[],E={};function S(O){if(!E[O]&&!pe[O]){if(et[O]){et[O].forEach(S);return}g.push(O),E[O]=!0}}throw c.forEach(S),new Mt(`${f}: `+g.map(fr).join([", "]))},Tr=(f,c,g,E,S,O,o,s,_,b,C,U,V)=>{C=rt(C),O=Et(S,O),s&&=Et(o,s),b&&=Et(_,b),V=Et(U,V);var B=mn(C);br(B,function(){Tt(`Cannot construct ${C} due to unbound types`,[E])}),tt([f,c,g],E?[E]:[],G=>{G=G[0];var se,de;E?(se=G.registeredClass,de=se.instancePrototype):de=Xt.prototype;var _e=Or(C,function(...Rt){if(Object.getPrototypeOf(this)!==Le)throw new Lt("Use 'new' to construct "+C);if(Se.constructor_body===void 0)throw new Lt(C+" has no accessible constructor");var Ln=Se.constructor_body[Rt.length];if(Ln===void 0)throw new Lt(`Tried to invoke ctor of ${C} with invalid number of parameters (${Rt.length}) - expected (${Object.keys(Se.constructor_body).toString()}) parameters instead!`);return Ln.apply(this,Rt)}),Le=Object.create(de,{constructor:{value:_e}});_e.prototype=Le;var Se=new xr(C,_e,Le,V,se,O,s,b);Se.baseClass&&(Se.baseClass.__derivedClasses??=[],Se.baseClass.__derivedClasses.push(Se));var Ue=new Er(C,Se,!0,!1,!1),ht=new Er(C+"*",Se,!1,!1,!1),Nr=new Er(C+" const*",Se,!1,!0,!1);return _r[f]={pointerType:ht,constPointerType:Nr},Qt(B,_e),[Ue,ht,Nr]})},Ye=(f,c)=>{for(var g=[],E=0;E<f;E++)g.push(Te[c+E*4>>2]);return g};function Xr(f){for(var c=1;c<f.length;++c)if(f[c]!==null&&f[c].destructorFunction===void 0)return!0;return!1}var Ft={ftf:function(f,c,g,E,S,O,o){return function(){var s=g(E),_=O.fromWireType(s);return _}},ttfnn:function(f,c,g,E,S,O,o,s){return function(_){var b=o.toWireType(null,this),C=s.toWireType(null,_),U=g(E,b,C),V=O.fromWireType(U);return V}},ttfn:function(f,c,g,E,S,O,o){return function(){var s=o.toWireType(null,this),_=g(E,s),b=O.fromWireType(_);return b}},tffn:function(f,c,g,E,S,O,o){return function(){var s=o.toWireType(null,this);g(E,s)}},tffnn:function(f,c,g,E,S,O,o,s){return function(_){var b=o.toWireType(null,this),C=s.toWireType(null,_);g(E,b,C)}},ttfnt:function(f,c,g,E,S,O,o,s,_){return function(b){var C=o.toWireType(null,this),U=s.toWireType(null,b),V=g(E,C,U);_(U);var B=O.fromWireType(V);return B}},tffnnn:function(f,c,g,E,S,O,o,s,_){return function(b,C){var U=o.toWireType(null,this),V=s.toWireType(null,b),B=_.toWireType(null,C);g(E,U,V,B)}},tffnnt:function(f,c,g,E,S,O,o,s,_,b){return function(C,U){var V=o.toWireType(null,this),B=s.toWireType(null,C),G=_.toWireType(null,U);g(E,V,B,G),b(G)}},tffnt:function(f,c,g,E,S,O,o,s,_){return function(b){var C=o.toWireType(null,this),U=s.toWireType(null,b);g(E,C,U),_(U)}}};function Kr(f,c,g,E){const S=[c?"t":"f",g?"t":"f",E?"t":"f"];for(let O=c?1:2;O<f.length;++O){const o=f[O];let s="";o.destructorFunction===void 0?s="u":o.destructorFunction===null?s="n":s="t",S.push(s)}return S.join("")}function $t(f,c,g,E,S,O){var o=c.length;o<2&&$e("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=c[1]!==null&&g!==null,_=Xr(c),b=c[0].name!=="void",C=[f,$e,E,S,jt,c[0],c[1]],U=0;U<o-2;++U)C.push(c[U+2]);if(!_)for(var U=s?1:2;U<c.length;++U)c[U].destructorFunction!==null&&C.push(c[U].destructorFunction);var V=Kr(c,s,b,O),B=Ft[V](...C);return Or(f,B)}var Qr=(f,c,g,E,S,O)=>{var o=Ye(c,g);S=Et(E,S),tt([],[f],s=>{s=s[0];var _=`constructor ${s.name}`;if(s.registeredClass.constructor_body===void 0&&(s.registeredClass.constructor_body=[]),s.registeredClass.constructor_body[c-1]!==void 0)throw new Lt(`Cannot register multiple constructors with identical number of parameters (${c-1}) for class '${s.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return s.registeredClass.constructor_body[c-1]=()=>{Tt(`Cannot construct ${s.name} due to unbound types`,o)},tt([],o,b=>(b.splice(1,0,null),s.registeredClass.constructor_body[c-1]=$t(_,b,null,S,O),[])),[]})},xn=f=>{f=f.trim();const c=f.indexOf("(");return c!==-1?f.substr(0,c):f},en=(f,c,g,E,S,O,o,s,_,b)=>{var C=Ye(g,E);c=rt(c),c=xn(c),O=Et(S,O),tt([],[f],U=>{U=U[0];var V=`${U.name}.${c}`;c.startsWith("@@")&&(c=Symbol[c.substring(2)]),s&&U.registeredClass.pureVirtualFunctions.push(c);function B(){Tt(`Cannot call ${V} due to unbound types`,C)}var G=U.registeredClass.instancePrototype,se=G[c];return se===void 0||se.overloadTable===void 0&&se.className!==U.name&&se.argCount===g-2?(B.argCount=g-2,B.className=U.name,G[c]=B):(mr(G,c,V),G[c].overloadTable[g-2]=B),tt([],C,de=>{var _e=$t(V,de,U,O,o,_);return G[c].overloadTable===void 0?(_e.argCount=g-2,G[c]=_e):G[c].overloadTable[g-2]=_e,[]}),[]})},tn=[],zt=[],En=f=>{f>9&&--zt[f+1]===0&&(zt[f]=void 0,tn.push(f))},Tn=()=>zt.length/2-5-tn.length,rn=()=>{zt.push(0,1,void 0,1,null,1,!0,1,!1,1),a.count_emval_handles=Tn},cr={toValue:f=>(f||$e("Cannot use deleted val. handle = "+f),zt[f]),toHandle:f=>{switch(f){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const c=tn.pop()||zt.length;return zt[c]=f,zt[c+1]=1,c}}}},nn={name:"emscripten::val",fromWireType:f=>{var c=cr.toValue(f);return En(f),c},toWireType:(f,c)=>cr.toHandle(c),argPackAdvance:ct,readValueFromPointer:me,destructorFunction:null},Lr=f=>St(f,nn),$r=f=>{if(f===null)return"null";var c=typeof f;return c==="object"||c==="array"||c==="function"?f.toString():""+f},an=(f,c)=>{switch(c){case 4:return function(g){return this.fromWireType(ve[g>>2])};case 8:return function(g){return this.fromWireType(ge[g>>3])};default:throw new TypeError(`invalid float width (${c}): ${f}`)}},on=(f,c,g)=>{c=rt(c),St(f,{name:c,fromWireType:E=>E,toWireType:(E,S)=>S,argPackAdvance:ct,readValueFromPointer:an(c,g),destructorFunction:null})},zn=(f,c,g,E,S,O,o,s)=>{var _=Ye(c,g);f=rt(f),f=xn(f),S=Et(E,S),br(f,function(){Tt(`Cannot call ${f} due to unbound types`,_)},c-1),tt([],_,b=>{var C=[b[0],null].concat(b.slice(1));return Qt(f,$t(f,C,null,S,O,o),c-1),[]})},$n=(f,c,g)=>{switch(c){case 1:return g?E=>le[E]:E=>ie[E];case 2:return g?E=>te[E>>1]:E=>oe[E>>1];case 4:return g?E=>be[E>>2]:E=>Te[E>>2];default:throw new TypeError(`invalid integer width (${c}): ${f}`)}},Vn=(f,c,g,E,S)=>{c=rt(c);var O=C=>C;if(E===0){var o=32-8*g;O=C=>C<<o>>>o}var s=c.includes("unsigned"),_=(C,U)=>{},b;s?b=function(C,U){return _(U,this.name),U>>>0}:b=function(C,U){return _(U,this.name),U},St(f,{name:c,fromWireType:O,toWireType:b,argPackAdvance:ct,readValueFromPointer:$n(c,g,E!==0),destructorFunction:null})},Gn=(f,c,g)=>{var E=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],S=E[c];function O(o){var s=Te[o>>2],_=Te[o+4>>2];return new S(le.buffer,_,s)}g=rt(g),St(f,{name:g,fromWireType:O,argPackAdvance:ct,readValueFromPointer:O},{ignoreDuplicateRegistrations:!0})},Zn=(f,c,g,E)=>{if(!(E>0))return 0;for(var S=g,O=g+E-1,o=0;o<f.length;++o){var s=f.charCodeAt(o);if(s>=55296&&s<=57343){var _=f.charCodeAt(++o);s=65536+((s&1023)<<10)|_&1023}if(s<=127){if(g>=O)break;c[g++]=s}else if(s<=2047){if(g+1>=O)break;c[g++]=192|s>>6,c[g++]=128|s&63}else if(s<=65535){if(g+2>=O)break;c[g++]=224|s>>12,c[g++]=128|s>>6&63,c[g++]=128|s&63}else{if(g+3>=O)break;c[g++]=240|s>>18,c[g++]=128|s>>12&63,c[g++]=128|s>>6&63,c[g++]=128|s&63}}return c[g]=0,g-S},An=(f,c,g)=>Zn(f,ie,c,g),Cn=f=>{for(var c=0,g=0;g<f.length;++g){var E=f.charCodeAt(g);E<=127?c++:E<=2047?c+=2:E>=55296&&E<=57343?(c+=4,++g):c+=3}return c},qn=(f,c)=>{c=rt(c),St(f,{name:c,fromWireType(g){for(var E=Te[g>>2],S=g+4,O,o,s=S,o=0;o<=E;++o){var _=S+o;if(o==E||ie[_]==0){var b=_-s,C=fe(s,b);O===void 0?O=C:(O+="\0",O+=C),s=_+1}}return yt(g),O},toWireType(g,E){E instanceof ArrayBuffer&&(E=new Uint8Array(E));var S,O=typeof E=="string";O||E instanceof Uint8Array||E instanceof Uint8ClampedArray||E instanceof Int8Array||$e("Cannot pass non-string to std::string"),O?S=Cn(E):S=E.length;var o=Fr(4+S+1),s=o+4;if(Te[o>>2]=S,O)An(E,s,S+1);else if(O)for(var _=0;_<S;++_){var b=E.charCodeAt(_);b>255&&(yt(s),$e("String has UTF-16 code units that do not fit in 8 bits")),ie[s+_]=b}else for(var _=0;_<S;++_)ie[s+_]=E[_];return g!==null&&g.push(yt,o),o},argPackAdvance:ct,readValueFromPointer:me,destructorFunction(g){yt(g)}})},Sn=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,Jn=(f,c)=>{for(var g=f,E=g>>1,S=E+c/2;!(E>=S)&&oe[E];)++E;if(g=E<<1,g-f>32&&Sn)return Sn.decode(ie.subarray(f,g));for(var O="",o=0;!(o>=c/2);++o){var s=te[f+o*2>>1];if(s==0)break;O+=String.fromCharCode(s)}return O},sn=(f,c,g)=>{if(g??=2147483647,g<2)return 0;g-=2;for(var E=c,S=g<f.length*2?g/2:f.length,O=0;O<S;++O){var o=f.charCodeAt(O);te[c>>1]=o,c+=2}return te[c>>1]=0,c-E},ln=f=>f.length*2,Yn=(f,c)=>{for(var g=0,E="";!(g>=c/4);){var S=be[f+g*4>>2];if(S==0)break;if(++g,S>=65536){var O=S-65536;E+=String.fromCharCode(55296|O>>10,56320|O&1023)}else E+=String.fromCharCode(S)}return E},Xn=(f,c,g)=>{if(g??=2147483647,g<4)return 0;for(var E=c,S=E+g-4,O=0;O<f.length;++O){var o=f.charCodeAt(O);if(o>=55296&&o<=57343){var s=f.charCodeAt(++O);o=65536+((o&1023)<<10)|s&1023}if(be[c>>2]=o,c+=4,c+4>S)break}return be[c>>2]=0,c-E},Ur=f=>{for(var c=0,g=0;g<f.length;++g){var E=f.charCodeAt(g);E>=55296&&E<=57343&&++g,c+=4}return c},Dn=(f,c,g)=>{g=rt(g);var E,S,O,o;c===2?(E=Jn,S=sn,o=ln,O=s=>oe[s>>1]):c===4&&(E=Yn,S=Xn,o=Ur,O=s=>Te[s>>2]),St(f,{name:g,fromWireType:s=>{for(var _=Te[s>>2],b,C=s+4,U=0;U<=_;++U){var V=s+4+U*c;if(U==_||O(V)==0){var B=V-C,G=E(C,B);b===void 0?b=G:(b+="\0",b+=G),C=V+c}}return yt(s),b},toWireType:(s,_)=>{typeof _!="string"&&$e(`Cannot pass non-string to C++ string type ${g}`);var b=o(_),C=Fr(4+b+c);return Te[C>>2]=b/c,S(_,C+4,b+c),s!==null&&s.push(yt,C),C},argPackAdvance:ct,readValueFromPointer:me,destructorFunction(s){yt(s)}})},Kn=(f,c,g,E,S,O)=>{Je[f]={name:rt(c),rawConstructor:Et(g,E),rawDestructor:Et(S,O),fields:[]}},Rn=(f,c,g,E,S,O,o,s,_,b)=>{Je[f].fields.push({fieldName:rt(c),getterReturnType:g,getter:Et(E,S),getterContext:O,setterArgumentType:o,setter:Et(s,_),setterContext:b})},fn=(f,c)=>{c=rt(c),St(f,{isVoid:!0,name:c,argPackAdvance:0,fromWireType:()=>{},toWireType:(g,E)=>{}})},Qn=(f,c,g)=>ie.copyWithin(f,c,c+g),ea=(f,c)=>{var g=pe[f];return g===void 0&&$e(`${c} has unknown type ${fr(f)}`),g},In=(f,c)=>{f=ea(f,"_emval_take_value");var g=f.readValueFromPointer(c);return cr.toHandle(g)},ta=()=>2147483648,ra=(f,c)=>Math.ceil(f/c)*c,na=f=>{var c=he.buffer,g=(f-c.byteLength+65535)/65536|0;try{return he.grow(g),Re(),1}catch{}},On=f=>{var c=ie.length;f>>>=0;var g=ta();if(f>g)return!1;for(var E=1;E<=4;E*=2){var S=c*(1+.2/E);S=Math.min(S,f+100663296);var O=Math.min(g,ra(Math.max(f,S),65536)),o=na(O);if(o)return!0}return!1},aa=f=>52;function ia(f,c,g,E,S){return 70}var oa=[null,[],[]],sa=(f,c)=>{var g=oa[f];c===0||c===10?((f===1?H:J)(Z(g)),g.length=0):g.push(c)},Mr=(f,c,g,E)=>{for(var S=0,O=0;O<g;O++){var o=Te[c>>2],s=Te[c+4>>2];c+=8;for(var _=0;_<s;_++)sa(f,ie[o+_]);S+=s}return Te[E>>2]=S,0},la=f=>f,tr=f=>{var c=a["_"+f];return c},fa=(f,c)=>{le.set(f,c)},nt=f=>A(f),kn=f=>{var c=Cn(f)+1,g=nt(c);return An(f,g,c),g},cn=(f,c,g,E,S)=>{var O={string:G=>{var se=0;return G!=null&&G!==0&&(se=kn(G)),se},array:G=>{var se=nt(G.length);return fa(G,se),se}};function o(G){return c==="string"?fe(G):c==="boolean"?!!G:G}var s=tr(f),_=[],b=0;if(E)for(var C=0;C<E.length;C++){var U=O[g[C]];U?(b===0&&(b=T()),_[C]=U(E[C])):_[C]=E[C]}var V=s(..._);function B(G){return b!==0&&I(b),o(G)}return V=B(V),V};Pe=a.InternalError=class extends Error{constructor(c){super(c),this.name="InternalError"}},zr(),Lt=a.BindingError=class extends Error{constructor(c){super(c),this.name="BindingError"}},Jr(),lt(),Mt=a.UnboundTypeError=kr(Error,"UnboundTypeError"),rn();var Dt={__assert_fail:xe,__cxa_begin_catch:ze,__cxa_end_catch:qe,__cxa_find_matching_catch_2:qt,__cxa_find_matching_catch_3:Jt,__cxa_throw:Dr,__resumeException:Ve,_abort_js:Yt,_embind_finalize_value_object:Pt,_embind_register_bigint:Rr,_embind_register_bool:Bn,_embind_register_class:Tr,_embind_register_class_constructor:Qr,_embind_register_class_function:en,_embind_register_emval:Lr,_embind_register_float:on,_embind_register_function:zn,_embind_register_integer:Vn,_embind_register_memory_view:Gn,_embind_register_std_string:qn,_embind_register_std_wstring:Dn,_embind_register_value_object:Kn,_embind_register_value_object_field:Rn,_embind_register_void:fn,_emscripten_memcpy_js:Qn,_emval_decref:En,_emval_take_value:In,emscripten_resize_heap:On,fd_close:aa,fd_seek:ia,fd_write:Mr,invoke_i:h,invoke_ii:ne,invoke_iii:x,invoke_iiii:Ae,invoke_v:ye,invoke_vi:ae,invoke_viiii:ue,invoke_viiiiii:u,llvm_eh_typeid_for:la},Ge;m();var un=f=>(un=Ge.__getTypeName)(f),Fr=f=>(Fr=Ge.malloc)(f),yt=f=>(yt=Ge.free)(f),At=(f,c)=>(At=Ge.setThrew)(f,c),p=f=>(p=Ge._emscripten_tempret_set)(f),v=f=>(v=Ge._emscripten_stack_restore)(f),A=f=>(A=Ge._emscripten_stack_alloc)(f),R=()=>(R=Ge.emscripten_stack_get_current)(),N=f=>(N=Ge.__cxa_increment_exception_refcount)(f),q=f=>(q=Ge.__cxa_decrement_exception_refcount)(f),Q=(f,c,g)=>(Q=Ge.__cxa_can_catch)(f,c,g),z=f=>(z=Ge.__cxa_get_exception_ptr)(f);a.dynCall_ji=(f,c)=>(a.dynCall_ji=Ge.dynCall_ji)(f,c),a.dynCall_iiji=(f,c,g,E,S)=>(a.dynCall_iiji=Ge.dynCall_iiji)(f,c,g,E,S),a.dynCall_jiji=(f,c,g,E,S)=>(a.dynCall_jiji=Ge.dynCall_jiji)(f,c,g,E,S);function ne(f,c){var g=T();try{return dt(f)(c)}catch(E){if(I(g),E!==E+0)throw E;At(1,0)}}function ae(f,c){var g=T();try{dt(f)(c)}catch(E){if(I(g),E!==E+0)throw E;At(1,0)}}function ue(f,c,g,E,S){var O=T();try{dt(f)(c,g,E,S)}catch(o){if(I(O),o!==o+0)throw o;At(1,0)}}function ye(f){var c=T();try{dt(f)()}catch(g){if(I(c),g!==g+0)throw g;At(1,0)}}function Ae(f,c,g,E){var S=T();try{return dt(f)(c,g,E)}catch(O){if(I(S),O!==O+0)throw O;At(1,0)}}function h(f){var c=T();try{return dt(f)()}catch(g){if(I(c),g!==g+0)throw g;At(1,0)}}function u(f,c,g,E,S,O,o){var s=T();try{dt(f)(c,g,E,S,O,o)}catch(_){if(I(s),_!==_+0)throw _;At(1,0)}}function x(f,c,g){var E=T();try{return dt(f)(c,g)}catch(S){if(I(E),S!==S+0)throw S;At(1,0)}}a.ccall=cn;var D;He=function f(){D||M(),D||(He=f)};function M(){if(Ze>0||(je(),Ze>0))return;function f(){D||(D=!0,a.calledRun=!0,!re&&(Ce(),d(a),a.onRuntimeInitialized?.(),Ke()))}a.setStatus?(a.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>a.setStatus(""),1),f()},1)):f()}if(a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return M(),l=y,l})})();e.exports=t,e.exports.default=t})(so)),so.exports}var zp=Hp();const Vp=Ci(zp),Gp=new URL(""+new URL("openjphjs-B5O5ikHp.wasm",import.meta.url).href,import.meta.url),Wa={codec:void 0,decoder:void 0,decodeConfig:{}};function Zp(e,r,t){const n={width:r,height:t};for(;e>0;)n.width=Math.ceil(n.width/2),n.height=Math.ceil(n.height/2),e--;return n}function jf(e){if(Wa.decodeConfig=e,ci(e),Wa.codec)return Promise.resolve();const r=Vp({locateFile:t=>t.endsWith(".wasm")?Ni("openjphjs.wasm",Gp):t});return new Promise((t,n)=>{r.then(i=>{Wa.codec=i,Wa.decoder=new i.HTJ2KDecoder,t()},n)})}async function Hf(e,r){await jf();const t=new Wa.codec.HTJ2KDecoder,n=t.getEncodedBuffer(e.length);n.set(e);const i=r.decodeLevel||0;t.decodeSubResolution(i);const l=t.getFrameInfo();if(r.decodeLevel>0){const{width:ie,height:te}=Zp(r.decodeLevel,l.width,l.height);l.width=ie,l.height=te}const a=t.getDecodedBuffer();new Uint8Array(a.length).set(a);const P=`x: ${t.getImageOffset().x}, y: ${t.getImageOffset().y}`,y=t.getNumDecompositions(),w=t.getNumLayers(),W=["unknown","LRCP","RLCP","RPCL","PCRL","CPRL"][t.getProgressionOrder()+1],F=t.getIsReversible(),k=`${t.getBlockDimensions().width} x ${t.getBlockDimensions().height}`,j=`${t.getTileSize().width} x ${t.getTileSize().height}`,Y=`${t.getTileOffset().x}, ${t.getTileOffset().y}`,K=`${a.length.toLocaleString()} bytes`,ee=`${(a.length/n.length).toFixed(2)}:1`,X={columns:l.width,rows:l.height,bitsPerPixel:l.bitsPerSample,signed:l.isSigned,bytesPerPixel:r.bytesPerPixel,componentsPerPixel:l.componentCount};let H=Fi(l,a);const{buffer:J,byteOffset:ce,byteLength:he}=H,re=J.slice(ce,ce+he);H=new H.constructor(re);const le={imageOffset:P,numDecompositions:y,numLayers:w,progessionOrder:W,reversible:F,blockDimensions:k,tileSize:j,tileOffset:Y,decodedSize:K,compressionRatio:ee};return{...r,pixelData:H,imageInfo:X,encodeOptions:le,...le,...X}}function qp(e,r){const t=e.length,{rescaleSlope:n,rescaleIntercept:i,suvbw:l,doseGridScaling:a}=r;if(r.modality==="PT"&&typeof l=="number"&&!isNaN(l))for(let d=0;d<t;d++)e[d]=l*(e[d]*n+i);else if(r.modality==="RTDOSE"&&typeof a=="number"&&!isNaN(a))for(let d=0;d<t;d++)e[d]=e[d]*a;else for(let d=0;d<t;d++)e[d]=e[d]*n+i;return!0}const Jp={bilinear:wp,replicate:Pp},ol={Uint8Array,Uint16Array,Int16Array,Float32Array,Uint32Array};function zf(e,r,t,n){const i=e.pixelRepresentation!==void 0&&e.pixelRepresentation===1,l=i&&e.bitsStored!==void 0?32-e.bitsStored:void 0;if(i&&l!==void 0)for(let X=0;X<e.pixelData.length;X++)e.pixelData[X]=e.pixelData[X]<<l>>l;let a=e.pixelData;e.pixelDataLength=e.pixelData.length;const{min:d,max:P}=Li(e.pixelData),y=typeof r.allowFloatRendering<"u"?r.allowFloatRendering:!0;let w=Ho(e.photometricInterpretation)&&r.targetBuffer?.offset===void 0;const F=r.preScale?.enabled&&Object.values(r.preScale.scalingParameters).some(X=>typeof X=="number"&&!Number.isInteger(X)),k=!r.preScale.enabled||!y&&F,j=r.targetBuffer?.type;if(j&&r.preScale.enabled&&!k){const X=r.preScale.scalingParameters,H=So(d,P,X);w=!Sh(H.min,H.max,ol[j])}j&&!w?a=Xp(r,e,ol,a):r.preScale.enabled&&!k?a=Kp(r,d,P,e):a=Vf(d,P,e);let Y=d,K=P;if(r.preScale.enabled&&!k){const X=r.preScale.scalingParameters;if(Gf(X),Yp(X)){qp(a,X),e.preScale={...r.preScale,scaled:!0};const J=So(d,P,X);Y=J.min,K=J.max}}else k&&(Y=d,K=P);e.pixelData=a,e.smallestPixelValue=Y,e.largestPixelValue=K;const ee=new Date().getTime();return e.decodeTimeInMS=ee-t,e}function Yp(e){const{rescaleSlope:r,rescaleIntercept:t,modality:n,doseGridScaling:i,suvbw:l}=e;return typeof r=="number"&&typeof t=="number"||n==="RTDOSE"&&typeof i=="number"||n==="PT"&&typeof l=="number"}function Xp(e,r,t,n){const{arrayBuffer:i,type:l,offset:a=0,length:d,rows:P}=e.targetBuffer,y=t[l];if(!y)throw new Error(`target array ${l} is not supported, or doesn't exist.`);P&&P!=r.rows&&ev(r,e.targetBuffer,y);const w=r.pixelDataLength,W=a,F=d??w-W,k=r.pixelData;if(F!==k.length)throw new Error(`target array for image does not have the same length (${F}) as the decoded image length (${k.length}).`);const j=i?new y(i,W,F):new y(F);return j.set(k,0),n=j,n}function Kp(e,r,t,n){const i=e.preScale.scalingParameters;Gf(i);const l=So(r,t,i);return Vf(l.min,l.max,n)}function Vf(e,r,t){const n=zo(e,r),i=new n(t.pixelData.length);return i.set(t.pixelData,0),i}function So(e,r,t){const{rescaleSlope:n,rescaleIntercept:i,modality:l,doseGridScaling:a,suvbw:d}=t;return l==="PT"&&typeof d=="number"&&!isNaN(d)?{min:d*(e*n+i),max:d*(r*n+i)}:l==="RTDOSE"&&typeof a=="number"&&!isNaN(a)?{min:e*a,max:r*a}:typeof n=="number"&&typeof i=="number"?{min:n*e+i,max:n*r+i}:{min:e,max:r}}function Gf(e){if(!e)throw new Error("options.preScale.scalingParameters must be defined if preScale.enabled is true, and scalingParameters cannot be derived from the metadata providers.")}function Qp(e,r,t){const{samplesPerPixel:n}=e,{rows:i,columns:l}=r,a=i*l*n,d=new t(a),P=d.byteLength/a;return{pixelData:d,rows:i,columns:l,frameInfo:{...e.frameInfo,rows:i,columns:l},imageInfo:{...e.imageInfo,rows:i,columns:l,bytesPerPixel:P}}}function ev(e,r,t){const n=Qp(e,r,t),{scalingType:i="replicate"}=r;return Jp[i](e,n),Object.assign(e,n),e.pixelDataLength=e.pixelData.length,e}async function Zf(e,r,t,n,i,l){const a=new Date().getTime();ci(n);let d=null,P;switch(r){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":d=To(e,t);break;case"1.2.840.10008.1.2.2":d=If(e,t);break;case"1.2.840.10008.1.2.1.99":d=To(e,t);break;case"1.2.840.10008.1.2.5":d=Of(e,t);break;case"1.2.840.10008.1.2.4.50":P={...e},d=Uf(t,P);break;case"1.2.840.10008.1.2.4.51":d=Ff(e,t);break;case"1.2.840.10008.1.2.4.57":d=$o(e,t);break;case"1.2.840.10008.1.2.4.70":d=$o(e,t);break;case"1.2.840.10008.1.2.4.80":P={signed:e.pixelRepresentation===1,bytesPerPixel:e.bitsAllocated<=8?1:2,...e},d=Ao(t,P);break;case"1.2.840.10008.1.2.4.81":P={signed:e.pixelRepresentation===1,bytesPerPixel:e.bitsAllocated<=8?1:2,...e},d=Ao(t,P);break;case"1.2.840.10008.1.2.4.90":P={...e},d=Co(t,P);break;case"1.2.840.10008.1.2.4.91":P={...e},d=Co(t,P);break;case"3.2.840.10008.1.2.4.96":case"1.2.840.10008.1.2.4.201":case"1.2.840.10008.1.2.4.202":case"1.2.840.10008.1.2.4.203":P={...e},d=Hf(t,P);break;default:throw new Error(`no decoder for transfer syntax ${r}`)}if(!d)throw new Error("decodePromise not defined");const y=await d,w=zf(y,i,a);return l?.(w),w}const tv={decodeTask({imageFrame:e,transferSyntax:r,decodeConfig:t,options:n,pixelData:i,callbackFn:l}){return Zf(e,r,i,t,n,l)}},sl=typeof self<"u"&&typeof self.addEventListener=="function"&&typeof self.postMessage=="function"&&typeof self.document>"u"?self:void 0;sl&&xc(tv,sl);const rv={HTJ2K:jf,JPEG2000:Bf,JPEGLS:Wf,JPEGBaseline12Bit:Mf,JPEGLossless:Nf,JPEGBaseline8Bit:Op},nv={HTJ2K:Hf,JPEG2000:Co,JPEGLS:Ao,JPEGBaseline12Bit:Ff,JPEGLossless:$o,JPEGBaseline8Bit:Uf,BigEndian:If,LittleEndian:To,RLE:Of},_v={constants:bp,convertRGBColorByPixel:Do,convertRGBColorByPlane:gl,convertYBRFullByPixel:_l,convertYBRFullByPlane:yl,convertPaletteColor:Ro,convertPaletteColorWithFetch:Mc,wadouri:Lh,wadors:up,init:pp,convertColorSpace:mf,createImage:li,decodeJPEGBaseline8BitColor:bf,getImageFrame:wf,getPixelData:Zo,prefetchPart10Instance:yp,getMinMax:Li,isColorImage:Ho,isJPEGBaseline8BitColor:gp,internal:Xc,decodeImageFrame:Zf,postProcessDecodedPixels:zf,initializers:rv,decoders:nv};export{bp as constants,mf as convertColorSpace,Ro as convertPaletteColor,Mc as convertPaletteColorWithFetch,Do as convertRGBColorByPixel,gl as convertRGBColorByPlane,_l as convertYBRFullByPixel,yl as convertYBRFullByPlane,li as createImage,Zf as decodeImageFrame,bf as decodeJPEGBaseline8BitColor,nv as decoders,_v as default,wf as getImageFrame,Li as getMinMax,Zo as getPixelData,pp as init,rv as initializers,Xc as internal,Ho as isColorImage,gp as isJPEGBaseline8BitColor,zf as postProcessDecodedPixels,yp as prefetchPart10Instance,up as wadors,Lh as wadouri};