cod-dicomweb-server 1.0.0 → 1.0.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.
- package/dist/430.min.js +7 -0
- package/dist/663.min.js +7 -0
- package/dist/index.html +1 -1
- package/dist/main.min.js +9 -0
- package/package.json +3 -3
- package/dist/assets/js/430.ae979bb9f7321087b4cd.js +0 -2
- package/dist/assets/js/430.ae979bb9f7321087b4cd.js.LICENSE.txt +0 -5
- package/dist/assets/js/663.f8ac8210581651c53c7e.js +0 -2
- package/dist/assets/js/663.f8ac8210581651c53c7e.js.LICENSE.txt +0 -5
- package/dist/assets/js/main.bd27b3d8a119b2e0661f.js +0 -2
- package/dist/assets/js/main.bd27b3d8a119b2e0661f.js.LICENSE.txt +0 -7
- package/dist/classes/CodDicomWebServer.ts +0 -423
- package/dist/classes/utils.ts +0 -176
- package/dist/constants/enums.ts +0 -18
- package/dist/constants/index.ts +0 -8
- package/dist/constants/url.ts +0 -5
- package/dist/constants/worker.ts +0 -4
- package/dist/fileManager.ts +0 -84
- package/dist/index.ts +0 -5
- package/dist/metadataManager.ts +0 -32
- package/dist/types/codDicomWebServerOptions.ts +0 -7
- package/dist/types/fileManagerOptions.ts +0 -3
- package/dist/types/index.ts +0 -7
- package/dist/types/metadata.ts +0 -57
- package/dist/types/metadataUrlCreationParams.ts +0 -9
- package/dist/types/parsedWadoRsUrlDetails.ts +0 -13
- package/dist/types/requestOptions.ts +0 -12
- package/dist/types/workerCustomMessageEvents.ts +0 -11
- package/dist/webWorker/registerWorker.ts +0 -33
- package/dist/webWorker/workerManager.ts +0 -83
- package/dist/webWorker/workers/filePartial.ts +0 -20
- package/dist/webWorker/workers/fileStreaming.ts +0 -130
package/dist/430.min.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
!function(){"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2019 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
const e=Symbol("Comlink.proxy"),t=Symbol("Comlink.endpoint"),n=Symbol("Comlink.releaseProxy"),r=Symbol("Comlink.finalizer"),a=Symbol("Comlink.thrown"),i=e=>"object"==typeof e&&null!==e||"function"==typeof e,s={canHandle:t=>i(t)&&t[e],serialize(e){const{port1:t,port2:n}=new MessageChannel;return c(e,t),[n,[n]]},deserialize(e){return e.start(),function(e,t){const n=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}})),g(e,n,[],t)}(e)}},o=new Map([["proxy",s],["throw",{canHandle:e=>i(e)&&a in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function c(t,n=globalThis,i=["*"]){n.addEventListener("message",(function s(o){if(!o||!o.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(i,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:u,type:h,path:f}=Object.assign({path:[]},o.data),d=(o.data.argumentList||[]).map(w);let g;try{const n=f.slice(0,-1).reduce(((e,t)=>e[t]),t),r=f.reduce(((e,t)=>e[t]),t);switch(h){case"GET":g=r;break;case"SET":n[f.slice(-1)[0]]=w(o.data.value),g=!0;break;case"APPLY":g=r.apply(n,d);break;case"CONSTRUCT":g=function(t){return Object.assign(t,{[e]:!0})}(new r(...d));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;c(t,n),g=function(e,t){return m.set(e,t),e}(e,[e])}break;case"RELEASE":g=void 0;break;default:return}}catch(e){g={value:e,[a]:0}}Promise.resolve(g).catch((e=>({value:e,[a]:0}))).then((e=>{const[a,i]=y(e);n.postMessage(Object.assign(Object.assign({},a),{id:u}),i),"RELEASE"===h&&(n.removeEventListener("message",s),l(n),r in t&&"function"==typeof t[r]&&t[r]())})).catch((e=>{const[t,r]=y({value:new TypeError("Unserializable return value"),[a]:0});n.postMessage(Object.assign(Object.assign({},t),{id:u}),r)}))})),n.start&&n.start()}function l(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function u(e){if(e)throw new Error("Proxy has been released and is not useable")}function h(e){return v(e,new Map,{type:"RELEASE"}).then((()=>{l(e)}))}const f=new WeakMap,d="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(f.get(e)||0)-1;f.set(e,t),0===t&&h(e)}));function g(e,r,a=[],i=function(){}){let s=!1;const o=new Proxy(i,{get(t,i){if(u(s),i===n)return()=>{!function(e){d&&d.unregister(e)}(o),h(e),r.clear(),s=!0};if("then"===i){if(0===a.length)return{then:()=>o};const t=v(e,r,{type:"GET",path:a.map((e=>e.toString()))}).then(w);return t.then.bind(t)}return g(e,r,[...a,i])},set(t,n,i){u(s);const[o,c]=y(i);return v(e,r,{type:"SET",path:[...a,n].map((e=>e.toString())),value:o},c).then(w)},apply(n,i,o){u(s);const c=a[a.length-1];if(c===t)return v(e,r,{type:"ENDPOINT"}).then(w);if("bind"===c)return g(e,r,a.slice(0,-1));const[l,h]=p(o);return v(e,r,{type:"APPLY",path:a.map((e=>e.toString())),argumentList:l},h).then(w)},construct(t,n){u(s);const[i,o]=p(n);return v(e,r,{type:"CONSTRUCT",path:a.map((e=>e.toString())),argumentList:i},o).then(w)}});return function(e,t){const n=(f.get(t)||0)+1;f.set(t,n),d&&d.register(e,t,e)}(o,e),o}function p(e){const t=e.map(y);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const m=new WeakMap;function y(e){for(const[t,n]of o)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},m.get(e)||[]]}function w(e){switch(e.type){case"HANDLER":return o.get(e.name).deserialize(e.value);case"RAW":return e.value}}function v(e,t,n,r){return new Promise((a=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(i,a),e.start&&e.start(),e.postMessage(Object.assign({id:i},n),r)}))}var S=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function o(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,o)}c((r=r.apply(e,t||[])).next())}))};c({maxFetchSize:0,fetchedSize:0,setMaxFetchSize(e){e>0&&(this.maxFetchSize=e)},decreaseFetchedSize(e){e>0&&e<=this.fetchedSize&&(this.fetchedSize-=e)},stream(e){return S(this,void 0,void 0,(function*(){var t;const{url:n,headers:r,useSharedArrayBuffer:a}=e,i=new AbortController;let s=null,o=null;try{const e=yield fetch(n,{headers:Object.assign({},r),signal:i.signal});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const c=null===(t=e.body)||void 0===t?void 0:t.getReader();if(!c)throw new Error("Failed to get reader from response body");let l,u=!1;const h=parseInt(e.headers.get("Content-Length")||"0",10),f=yield c.read();if(u=f.done,!f.value)throw new Error("The fetched chunks does not have value");if(!u){let e=f.value.length;if(this.maxFetchSize&&this.fetchedSize+e>this.maxFetchSize)throw i.abort(),new Error(`Maximum size(${this.maxFetchSize}) for fetching files reached`);for(this.fetchedSize+=e,a?(s=new SharedArrayBuffer(h),o=new Uint8Array(s)):o=new Uint8Array(h),o.set(f.value),postMessage({url:n,position:e,fileArraybuffer:o});!u;){if(l=yield c.read(),l.done){u=!0;continue}const t=l.value;if(this.maxFetchSize&&this.fetchedSize+t.length>this.maxFetchSize)throw s=null,o=null,i.abort(),new Error(`Maximum size(${this.maxFetchSize}) for fetching files reached`);this.fetchedSize+=t.length,o.set(t,e),e+=t.length,postMessage({isAppending:!0,url:n,position:e,chunk:a?null:t})}}}catch(e){const t=new Error("fileStreaming.ts: "+e.message||0);throw console.error(t.message,e),t}finally{s=null,o=null,i.abort()}}))}})}();
|
package/dist/663.min.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
!function(){"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2019 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
const e=Symbol("Comlink.proxy"),t=Symbol("Comlink.endpoint"),n=Symbol("Comlink.releaseProxy"),r=Symbol("Comlink.finalizer"),a=Symbol("Comlink.thrown"),i=e=>"object"==typeof e&&null!==e||"function"==typeof e,o={canHandle:t=>i(t)&&t[e],serialize(e){const{port1:t,port2:n}=new MessageChannel;return c(e,t),[n,[n]]},deserialize(e){return e.start(),function(e,t){const n=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}})),h(e,n,[],t)}(e)}},s=new Map([["proxy",o],["throw",{canHandle:e=>i(e)&&a in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function c(t,n=globalThis,i=["*"]){n.addEventListener("message",(function o(s){if(!s||!s.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(i,s.origin))return void console.warn(`Invalid origin '${s.origin}' for comlink proxy`);const{id:l,type:f,path:p}=Object.assign({path:[]},s.data),g=(s.data.argumentList||[]).map(E);let h;try{const n=p.slice(0,-1).reduce(((e,t)=>e[t]),t),r=p.reduce(((e,t)=>e[t]),t);switch(f){case"GET":h=r;break;case"SET":n[p.slice(-1)[0]]=E(s.data.value),h=!0;break;case"APPLY":h=r.apply(n,g);break;case"CONSTRUCT":h=function(t){return Object.assign(t,{[e]:!0})}(new r(...g));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;c(t,n),h=function(e,t){return m.set(e,t),e}(e,[e])}break;case"RELEASE":h=void 0;break;default:return}}catch(e){h={value:e,[a]:0}}Promise.resolve(h).catch((e=>({value:e,[a]:0}))).then((e=>{const[a,i]=y(e);n.postMessage(Object.assign(Object.assign({},a),{id:l}),i),"RELEASE"===f&&(n.removeEventListener("message",o),u(n),r in t&&"function"==typeof t[r]&&t[r]())})).catch((e=>{const[t,r]=y({value:new TypeError("Unserializable return value"),[a]:0});n.postMessage(Object.assign(Object.assign({},t),{id:l}),r)}))})),n.start&&n.start()}function u(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function l(e){if(e)throw new Error("Proxy has been released and is not useable")}function f(e){return v(e,new Map,{type:"RELEASE"}).then((()=>{u(e)}))}const p=new WeakMap,g="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(p.get(e)||0)-1;p.set(e,t),0===t&&f(e)}));function h(e,r,a=[],i=function(){}){let o=!1;const s=new Proxy(i,{get(t,i){if(l(o),i===n)return()=>{!function(e){g&&g.unregister(e)}(s),f(e),r.clear(),o=!0};if("then"===i){if(0===a.length)return{then:()=>s};const t=v(e,r,{type:"GET",path:a.map((e=>e.toString()))}).then(E);return t.then.bind(t)}return h(e,r,[...a,i])},set(t,n,i){l(o);const[s,c]=y(i);return v(e,r,{type:"SET",path:[...a,n].map((e=>e.toString())),value:s},c).then(E)},apply(n,i,s){l(o);const c=a[a.length-1];if(c===t)return v(e,r,{type:"ENDPOINT"}).then(E);if("bind"===c)return h(e,r,a.slice(0,-1));const[u,f]=d(s);return v(e,r,{type:"APPLY",path:a.map((e=>e.toString())),argumentList:u},f).then(E)},construct(t,n){l(o);const[i,s]=d(n);return v(e,r,{type:"CONSTRUCT",path:a.map((e=>e.toString())),argumentList:i},s).then(E)}});return function(e,t){const n=(p.get(t)||0)+1;p.set(t,n),g&&g.register(e,t,e)}(s,e),s}function d(e){const t=e.map(y);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const m=new WeakMap;function y(e){for(const[t,n]of s)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},m.get(e)||[]]}function E(e){switch(e.type){case"HANDLER":return s.get(e.name).deserialize(e.value);case"RAW":return e.value}}function v(e,t,n,r){return new Promise((a=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(i,a),e.start&&e.start(),e.postMessage(Object.assign({id:i},n),r)}))}var w=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))};c({partial(e){return w(this,void 0,void 0,(function*(){const{url:t,headers:n}=e;return fetch(t,{headers:n}).then((e=>e.arrayBuffer())).catch((e=>{throw new Error("filePartial.ts: Error when fetching file: "+(null==e?void 0:e.message))}))}))}})}();
|
package/dist/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><link rel="icon" href="/favicon.ico" type="image/x-icon"/><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/><title></title></head><body><noscript><strong>We're sorry but doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="root" class="root"></div><script defer="defer" src="/
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><link rel="icon" href="/favicon.ico" type="image/x-icon"/><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/><title></title></head><body><noscript><strong>We're sorry but doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="root" class="root"></div><script defer="defer" src="/main.min.js"></script></body></html>
|
package/dist/main.min.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
!function(){var e={915:function(e,t,r){
|
|
2
|
+
/*! dicom-parser - 1.8.12 - 2023-02-20 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/dicomParser */
|
|
3
|
+
e.exports=function(e){return r=[function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t),r.d(t,"isStringVr",(function(){return n})),r.d(t,"isPrivateTag",(function(){return i})),r.d(t,"parsePN",(function(){return o})),r.d(t,"parseTM",(function(){return s})),r.d(t,"parseDA",(function(){return f})),r.d(t,"explicitElementToString",(function(){return l})),r.d(t,"explicitDataSetToJS",(function(){return u})),r.d(t,"createJPEGBasicOffsetTable",(function(){return p})),r.d(t,"parseDicomDataSetExplicit",(function(){return k})),r.d(t,"parseDicomDataSetImplicit",(function(){return B})),r.d(t,"readFixedString",(function(){return v})),r.d(t,"alloc",(function(){return q})),r.d(t,"version",(function(){return L})),r.d(t,"bigEndianByteArrayParser",(function(){return N})),r.d(t,"ByteStream",(function(){return j})),r.d(t,"sharedCopy",(function(){return M})),r.d(t,"DataSet",(function(){return w})),r.d(t,"findAndSetUNElementLength",(function(){return y})),r.d(t,"findEndOfEncapsulatedElement",(function(){return g})),r.d(t,"findItemDelimitationItemAndSetElementLength",(function(){return E})),r.d(t,"littleEndianByteArrayParser",(function(){return C})),r.d(t,"parseDicom",(function(){return G})),r.d(t,"readDicomElementExplicit",(function(){return U})),r.d(t,"readDicomElementImplicit",(function(){return A})),r.d(t,"readEncapsulatedImageFrame",(function(){return V})),r.d(t,"readEncapsulatedPixelData",(function(){return Y})),r.d(t,"readEncapsulatedPixelDataFromFragments",(function(){return H})),r.d(t,"readPart10Header",(function(){return _})),r.d(t,"readSequenceItemsExplicit",(function(){return T})),r.d(t,"readSequenceItemsImplicit",(function(){return I})),r.d(t,"readSequenceItem",(function(){return S})),r.d(t,"readTag",(function(){return h}));var a={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},n=function(e){return a[e]},i=function(e){if(e=parseInt(e[4],16),isNaN(e))throw"dicomParser.isPrivateTag: cannot parse last character of group";return e%2==1},o=function(e){if(void 0!==e)return{familyName:(e=e.split("^"))[0],givenName:e[1],middleName:e[2],prefix:e[3],suffix:e[4]}};function s(e,t){if(2<=e.length){var r=parseInt(e.substring(0,2),10),a=4<=e.length?parseInt(e.substring(2,4),10):void 0,n=6<=e.length?parseInt(e.substring(4,6),10):void 0,i=(i=8<=e.length?e.substring(7,13):void 0)?parseInt(i,10)*Math.pow(10,6-i.length):void 0;if(t&&(isNaN(r)||void 0!==a&&isNaN(a)||void 0!==n&&isNaN(n)||void 0!==i&&isNaN(i)||r<0||23<r||a&&(a<0||59<a)||n&&(n<0||59<n)||i&&(i<0||999999<i)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:a,seconds:n,fractionalSeconds:i}}if(t)throw"invalid TM '".concat(e,"'")}function d(e,t,r){return!isNaN(r)&&0<t&&t<=12&&0<e&&e<=function(e,t){switch(e){case 2:return t%4==0&&t%100||t%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}(t,r)}function f(e,t){if(e&&8===e.length){var r=parseInt(e.substring(0,4),10),a=parseInt(e.substring(4,6),10),n=parseInt(e.substring(6,8),10);if(t&&!0!==d(n,a,r))throw"invalid DA '".concat(e,"'");return{year:r,month:a,day:n}}if(t)throw"invalid DA '".concat(e,"'")}function l(e,t){if(void 0===e||void 0===t)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===t.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var r,a=t.vr,i=t.tag;function o(t,r){for(var a="",n=0;n<t;n++)0!==n&&(a+="/"),a+=r.call(e,i,n).toString();return a}if(!0===n(a))r=e.string(i);else{if("AT"===a){var s=e.uint32(i);return void 0===s?void 0:"x".concat((s=s<0?4294967295+s+1:s).toString(16).toUpperCase())}"US"===a?r=o(t.length/2,e.uint16):"SS"===a?r=o(t.length/2,e.int16):"UL"===a?r=o(t.length/4,e.uint32):"SL"===a?r=o(t.length/4,e.int32):"FD"===a?r=o(t.length/8,e.double):"FL"===a&&(r=o(t.length/4,e.float))}return r}function u(e,t){if(void 0===e)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";t=t||{omitPrivateAttibutes:!0,maxElementLength:128};var r,a={};for(r in e.elements){var n=e.elements[r];if(!0!==t.omitPrivateAttibutes||!i(r))if(n.items){for(var o=[],s=0;s<n.items.length;s++)o.push(u(n.items[s].dataSet,t));a[r]=o}else{var d=void 0;n.length<t.maxElementLength&&(d=l(e,n)),a[r]=void 0!==d?d:{dataOffset:n.dataOffset,length:n.length}}}return a}function c(e,t){return 255===e.byteArray[t]&&217===e.byteArray[t+1]}function m(e,t,r){for(var a,n,i=r;i<t.fragments.length;i++)if(n=i,c(a=e,(n=t.fragments[n]).position+n.length-2)||c(a,n.position+n.length-3))return i}function p(e,t,r){if(void 0===e)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if(void 0===t)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if("x7fe00010"!==t.tag)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if(!0!==t.encapsulatedPixelData)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(t.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r&&r.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";r=r||t.fragments;for(var a=[],n=0;;){a.push(t.fragments[n].offset);var i=m(e,t,n);if(void 0===i||i===t.fragments.length-1)return a;n=i+1}}function h(e){if(void 0===e)throw"dicomParser.readTag: missing required parameter 'byteStream'";var t=256*e.readUint16()*256;return e=e.readUint16(),"x".concat("00000000".concat((t+e).toString(16)).substr(-8))}function g(e,t,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(t.encapsulatedPixelData=!0,t.basicOffsetTable=[],t.fragments=[],"xfffee000"!==h(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var a=e.readUint32()/4,n=0;n<a;n++){var i=e.readUint32();t.basicOffsetTable.push(i)}for(var o=e.position;e.position<e.byteArray.length;){var s=h(e),d=e.readUint32();if("xfffee0dd"===s)return e.seek(d),void(t.length=e.position-t.dataOffset);if("xfffee000"!==s)return r&&r.push("unexpected tag ".concat(s," while searching for end of pixel data element with undefined length")),d>e.byteArray.length-e.position&&(d=e.byteArray.length-e.position),t.fragments.push({offset:e.position-o-8,position:e.position,length:d}),e.seek(d),void(t.length=e.position-t.dataOffset);t.fragments.push({offset:e.position-o-8,position:e.position,length:d}),e.seek(d)}r&&r.push("pixel data element ".concat(t.tag," missing sequence delimiter tag xfffee0dd"))}function y(e,t){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57565===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(t.tag)),void(t.length=e.position-t.dataOffset);t.length=e.byteArray.length-t.dataOffset,e.seek(e.byteArray.length-e.position)}function v(e,t,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(t+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var a,n="",i=0;i<r;i++){if(0===(a=e[t+i]))return t+=r,n;n+=String.fromCharCode(a)}return n}function b(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function P(e,t){return void 0!==e.parser?e.parser:t}var w=function(){function e(t,r,a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.byteArrayParser=t,this.byteArray=r,this.elements=a}var t,r,a;return t=e,(r=[{key:"uint16",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readUint16(this.byteArray,e.dataOffset+2*t)}},{key:"int16",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readInt16(this.byteArray,e.dataOffset+2*t)}},{key:"uint32",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readUint32(this.byteArray,e.dataOffset+4*t)}},{key:"int32",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readInt32(this.byteArray,e.dataOffset+4*t)}},{key:"float",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readFloat(this.byteArray,e.dataOffset+4*t)}},{key:"double",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readDouble(this.byteArray,e.dataOffset+8*t)}},{key:"numStringValues",value:function(e){if((e=this.elements[e])&&0<e.length)return null===(e=v(this.byteArray,e.dataOffset,e.length).match(/\\/g))?1:e.length+1}},{key:"string",value:function(e,t){return(e=this.elements[e])&&e.Value?e.Value:e&&0<e.length?(e=v(this.byteArray,e.dataOffset,e.length),0<=t?e.split("\\")[t].trim():e.trim()):void 0}},{key:"text",value:function(e,t){if((e=this.elements[e])&&0<e.length)return e=v(this.byteArray,e.dataOffset,e.length),0<=t?e.split("\\")[t].replace(/ +$/,""):e.replace(/ +$/,"")}},{key:"floatString",value:function(e,t){var r=this.elements[e];if(r&&0<r.length&&void 0!==(t=this.string(e,t=void 0!==t?t:0)))return parseFloat(t)}},{key:"intString",value:function(e,t){var r=this.elements[e];if(r&&0<r.length&&void 0!==(t=this.string(e,t=void 0!==t?t:0)))return parseInt(t)}},{key:"attributeTag",value:function(e){if((r=this.elements[e])&&4===r.length){var t=P(r,this.byteArrayParser).readUint16,r=(e=this.byteArray,r.dataOffset);return"x".concat("00000000".concat((256*t(e,r)*256+t(e,r+2)).toString(16)).substr(-8))}}}])&&b(t.prototype,r),a&&b(t,a),Object.defineProperty(t,"prototype",{writable:!1}),e}();function E(e,t){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57357===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(t.tag)),void(t.length=e.position-t.dataOffset);t.length=e.byteArray.length-t.dataOffset,e.seek(e.byteArray.length-e.position)}var x=function(e,t){return void 0!==e.vr?"SQ"===e.vr:t.position+4<=t.byteArray.length?(e=h(t),t.seek(-4),"xfffee000"===e||"xfffee0dd"===e):(t.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1)};function A(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var a;return 4294967295===(a={tag:a=h(e),vr:void 0!==r?r(a):void 0,length:e.readUint32(),dataOffset:e.position}).length&&(a.hadUndefinedLength=!0),a.tag===t||(!x(a,e)||i(a.tag)&&!a.hadUndefinedLength?a.hadUndefinedLength?E(e,a):e.seek(a.length):(I(e,a,r),i(a.tag)&&(a.items=void 0))),a}function S(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var t={tag:h(e),length:e.readUint32(),dataOffset:e.position};if("xfffee000"!==t.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(e.position);return t}function D(e,t){var r=S(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,t){for(var r={};e.position<e.byteArray.length;){var a=A(e,void 0,t);if("xfffee00d"===(r[a.tag]=a).tag)return new w(e.byteArrayParser,e.byteArray,r)}return e.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new w(e.byteArrayParser,e.byteArray,r)}(e,t),r.length=e.position-r.dataOffset):(r.dataSet=new w(e.byteArrayParser,e.byteArray,{}),B(r.dataSet,e,e.position+r.length,{vrCallback:t})),r}function I(e,t,r){if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";t.items=[],(4294967295===t.length?function(e,t,r){for(;e.position+4<=e.byteArray.length;){var a=h(e);if(e.seek(-4),"xfffee0dd"===a)return t.length=e.position-t.dataOffset,e.seek(8);a=D(e,r),t.items.push(a)}e.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),t.length=e.byteArray.length-t.dataOffset}:function(e,t,r){for(var a=t.dataOffset+t.length;e.position<a;){var n=D(e,r);t.items.push(n)}})(e,t,r)}function O(e,t){var r=S(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,t){for(var r={};e.position<e.byteArray.length;){var a=U(e,t);if("xfffee00d"===(r[a.tag]=a).tag)return new w(e.byteArrayParser,e.byteArray,r)}return t.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new w(e.byteArrayParser,e.byteArray,r)}(e,t),r.length=e.position-r.dataOffset):(r.dataSet=new w(e.byteArrayParser,e.byteArray,{}),k(r.dataSet,e,e.position+r.length)),r}function T(e,t,r){if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";t.items=[],(4294967295===t.length?function(e,t,r){for(;e.position+4<=e.byteArray.length;){var a=h(e);if(e.seek(-4),"xfffee0dd"===a)return t.length=e.position-t.dataOffset,e.seek(8);a=O(e,r),t.items.push(a)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),t.length=e.position-t.dataOffset}:function(e,t,r){for(var a=t.dataOffset+t.length;e.position<a;){var n=O(e,r);t.items.push(n)}})(e,t,r)}var F=function(e){return"OB"===e||"OD"===e||"OL"===e||"OW"===e||"SQ"===e||"OF"===e||"UC"===e||"UR"===e||"UT"===e||"UN"===e?4:2};function U(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var a={tag:h(e),vr:e.readFixedString(2)};return 2===F(a.vr)?a.length=e.readUint16():(e.seek(2),a.length=e.readUint32()),a.dataOffset=e.position,4294967295===a.length&&(a.hadUndefinedLength=!0),a.tag===r||("SQ"===a.vr?T(e,a,t):4294967295===a.length?"x7fe00010"===a.tag?g(e,a,t):("UN"===a.vr?I:E)(e,a):e.seek(a.length)),a}function k(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?t.byteArray.length:r,void 0===t)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(r<t.position||r>t.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var n=e.elements;t.position<r;){var i=U(t,e.warnings,a.untilTag);if((n[i.tag]=i).tag===a.untilTag)return}if(t.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function B(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===t)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(r<t.position||r>t.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var n=e.elements;t.position<r;){var i=A(t,a.untilTag,a.vrCallback);if((n[i.tag]=i).tag===a.untilTag)return}}function q(e,t){if("undefined"!=typeof Buffer&&e instanceof Buffer)return Buffer.alloc(t);if(e instanceof Uint8Array)return new Uint8Array(t);throw"dicomParser.alloc: unknown type for byteArray"}var L="1.8.12",N={readUint16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[t]<<8)+e[t+1]},readInt16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";return 32768&(t=(e[t]<<8)+e[t+1])?t-65535-1:t},readUint32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[t]+e[t+1])+e[t+2])+e[t+3]},readInt32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[t]<<24)+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3]},readFloat:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[t],r[2]=e[t+1],r[1]=e[t+2],r[0]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[t],r[6]=e[t+1],r[5]=e[t+2],r[4]=e[t+3],r[3]=e[t+4],r[2]=e[t+5],r[1]=e[t+6],r[0]=e[t+7],new Float64Array(r.buffer)[0]}};function M(e,t,r){if("undefined"!=typeof Buffer&&e instanceof Buffer)return e.slice(t,t+r);if(e instanceof Uint8Array)return new Uint8Array(e.buffer,e.byteOffset+t,r);throw"dicomParser.from: unknown type for byteArray"}function R(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}var j=function(){function e(t,r,a){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),void 0===t)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(void 0===r)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(r instanceof Uint8Array==0&&("undefined"==typeof Buffer||r instanceof Buffer==0))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(a<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(a>=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=t,this.byteArray=r,this.position=a||0,this.warnings=[]}var t,r,a;return t=e,(r=[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(t){if(this.position+t>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=M(this.byteArray,this.position,t);return this.position+=t,new e(this.byteArrayParser,r)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var t=v(this.byteArray,this.position,e);return this.position+=e,t}}])&&R(t.prototype,r),a&&R(t,a),Object.defineProperty(t,"prototype",{writable:!1}),e}(),C={readUint16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[t]+256*e[t+1]},readInt16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";return 32768&(t=e[t]+(e[t+1]<<8))?t-65535-1:t},readUint32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[t]+256*e[t+1]+256*e[t+2]*256+256*e[t+3]*256*256},readInt32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)},readFloat:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],r[4]=e[t+4],r[5]=e[t+5],r[6]=e[t+6],r[7]=e[t+7],new Float64Array(r.buffer)[0]}};function _(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var r=t.TransferSyntaxUID,a=new j(C,e);return function(){var e=function(){if(a.getSize()<=132&&r)return!1;if(a.seek(128),"DICM"===a.readFixedString(4))return!0;if(!(t||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return a.seek(0),!1}(),n=[],i={};if(!e)return a.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:r}},warnings:n};for(;a.position<a.byteArray.length;){var o=a.position,s=U(a,n);if("x0002ffff"<s.tag){a.position=o;break}s.parser=C,i[s.tag]=s}return(e=new w(a.byteArrayParser,a.byteArray,i)).warnings=a.warnings,e.position=a.position,e}()}var z="1.2.840.10008.1.2.2";function G(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var a,n=function(t){if(void 0===t.elements.x00020010)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");return(t=t.elements.x00020010)&&t.Value||v(e,t.dataOffset,t.length)};function i(a){var i="1.2.840.10008.1.2"!==(o=n(a)),o=function(a,n){var i="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"!==a)return new j(a===z?N:C,e,n);if(t&&t.inflater)return a=t.inflater(e,n),new j(C,a,0);if(1==i){var o=r(0),s=M(e,n,e.length-n);return o=o.inflateRawSync(s),s=q(e,o.length+n),e.copy(s,0,0,n),o.copy(s,n),new j(C,s,0)}if("undefined"==typeof pako)throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax";return o=e.slice(n),s=pako.inflateRaw(o),(o=q(e,s.length+n)).set(e.slice(0,n),0),o.set(s,n),new j(C,o,0)}(o,a.position);(a=new w(o.byteArrayParser,o.byteArray,{})).warnings=o.warnings;try{(i?k:B)(a,o,o.byteArray.length,t)}catch(o){throw{exception:o,dataSet:a}}return a}return function(e,t){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(t.elements[r]=e.elements[r]);return void 0!==e.warnings&&(t.warnings=e.warnings.concat(t.warnings)),t}(a=_(e,t),i(a))}var W=function(e,t,r){for(var a=0,n=t;n<t+r;n++)a+=e[n].length;return a};function H(e,t,r,a,n){if(n=n||t.fragments,void 0===e)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if(void 0===(a=a||1))throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(t.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(r>=t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(a<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+a>t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var i=new j(e.byteArrayParser,e.byteArray,t.dataOffset);if("xfffee000"!==(t=S(i)).tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";i.seek(t.length);var o=i.position;if(1===a)return M(i.byteArray,o+n[r].offset+8,n[r].length);t=W(n,r,a);for(var s=q(i.byteArray,t),d=0,f=r;f<r+a;f++)for(var l=o+n[f].offset+8,u=0;u<n[f].length;u++)s[d++]=i.byteArray[l++];return s}var J=function(e,t){for(var r=0;r<e.length;r++)if(e[r].offset===t)return r},$=function(e,t,r,a){if(e===t.length-1)return r.length-a;for(var n=t[e+1],i=a+1;i<r.length;i++)if(r[i].offset===n)return i-a;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function V(e,t,r,a,n){if(a=a||t.basicOffsetTable,n=n||t.fragments,void 0===e)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(void 0===a)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(0===a.length)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(r<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(r>=a.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var i=a[r];if(void 0===(i=J(n,i)))throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return H(e,t,i,$(r,a,n,i),n)}var Q=!1;function Y(e,t,r){if(Q||(Q=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==t.basicOffsetTable.length?V(e,t,r):H(e,t,0,t.fragments.length)}t.default={isStringVr:n,isPrivateTag:i,parsePN:o,parseTM:s,parseDA:f,explicitElementToString:l,explicitDataSetToJS:u,createJPEGBasicOffsetTable:p,parseDicomDataSetExplicit:k,parseDicomDataSetImplicit:B,readFixedString:v,alloc:q,version:L,bigEndianByteArrayParser:N,ByteStream:j,sharedCopy:M,DataSet:w,findAndSetUNElementLength:y,findEndOfEncapsulatedElement:g,findItemDelimitationItemAndSetElementLength:E,littleEndianByteArrayParser:C,parseDicom:G,readDicomElementExplicit:U,readDicomElementImplicit:A,readEncapsulatedImageFrame:V,readEncapsulatedPixelData:Y,readEncapsulatedPixelDataFromFragments:H,readPart10Header:_,readSequenceItemsExplicit:T,readSequenceItemsImplicit:I,readSequenceItem:S,readTag:h,LEI:"1.2.840.10008.1.2",LEE:"1.2.840.10008.1.2.1"}}],a={},t.m=r,t.c=a,t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)t.d(a,n,function(t){return e[t]}.bind(null,n));return a},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1);function t(e){if(a[e])return a[e].exports;var n=a[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r,a}(r(559))},559:function(){}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var i=t[a]={exports:{}};return e[a].call(i.exports,i,i.exports,r),i.exports}r.m=e,r.d=function(e,t){for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.u=function(e){return e+".min.js"},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.b=document.baseURI||self.location.href,function(){"use strict";var e={};r.r(e),r.d(e,{FetchType:function(){return a},RequestType:function(){return n}});var t={};r.r(t),r.d(t,{DOMAIN:function(){return I},FILE_EXTENSIONS:function(){return O},URL_VALIDATION_STRING:function(){return T}});var a,n,i={};r.r(i),r.d(i,{FILE_PARTIAL_WORKER_NAME:function(){return F},FILE_STREAMING_WORKER_NAME:function(){return U},THRESHOLD:function(){return k}}),function(e){e[e.BYTES_OPTIMIZED=0]="BYTES_OPTIMIZED",e[e.API_OPTIMIZED=1]="API_OPTIMIZED"}(a||(a={})),function(e){e[e.FRAME=0]="FRAME",e[e.THUMBNAIL=1]="THUMBNAIL",e[e.SERIES_METADATA=2]="SERIES_METADATA",e[e.INSTANCE_METADATA=3]="INSTANCE_METADATA"}(n||(n={}));r(915);
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright 2019 Google LLC
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
const o=Symbol("Comlink.proxy"),s=Symbol("Comlink.endpoint"),d=Symbol("Comlink.releaseProxy"),f=Symbol("Comlink.finalizer"),l=Symbol("Comlink.thrown"),u=e=>"object"==typeof e&&null!==e||"function"==typeof e,c=new Map([["proxy",{canHandle:e=>u(e)&&e[o],serialize(e){const{port1:t,port2:r}=new MessageChannel;return m(e,t),[r,[r]]},deserialize(e){return e.start(),h(e)}}],["throw",{canHandle:e=>u(e)&&l in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function m(e,t=globalThis,r=["*"]){t.addEventListener("message",(function a(n){if(!n||!n.data)return;if(!function(e,t){for(const r of e){if(t===r||"*"===r)return!0;if(r instanceof RegExp&&r.test(t))return!0}return!1}(r,n.origin))return void console.warn(`Invalid origin '${n.origin}' for comlink proxy`);const{id:i,type:s,path:d}=Object.assign({path:[]},n.data),u=(n.data.argumentList||[]).map(A);let c;try{const t=d.slice(0,-1).reduce(((e,t)=>e[t]),e),r=d.reduce(((e,t)=>e[t]),e);switch(s){case"GET":c=r;break;case"SET":t[d.slice(-1)[0]]=A(n.data.value),c=!0;break;case"APPLY":c=r.apply(t,u);break;case"CONSTRUCT":c=function(e){return Object.assign(e,{[o]:!0})}(new r(...u));break;case"ENDPOINT":{const{port1:t,port2:r}=new MessageChannel;m(e,r),c=function(e,t){return E.set(e,t),e}(t,[t])}break;case"RELEASE":c=void 0;break;default:return}}catch(e){c={value:e,[l]:0}}Promise.resolve(c).catch((e=>({value:e,[l]:0}))).then((r=>{const[n,o]=x(r);t.postMessage(Object.assign(Object.assign({},n),{id:i}),o),"RELEASE"===s&&(t.removeEventListener("message",a),p(t),f in e&&"function"==typeof e[f]&&e[f]())})).catch((e=>{const[r,a]=x({value:new TypeError("Unserializable return value"),[l]:0});t.postMessage(Object.assign(Object.assign({},r),{id:i}),a)}))})),t.start&&t.start()}function p(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function h(e,t){const r=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const a=r.get(t.id);if(a)try{a(t)}finally{r.delete(t.id)}})),P(e,r,[],t)}function g(e){if(e)throw new Error("Proxy has been released and is not useable")}function y(e){return S(e,new Map,{type:"RELEASE"}).then((()=>{p(e)}))}const v=new WeakMap,b="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(v.get(e)||0)-1;v.set(e,t),0===t&&y(e)}));function P(e,t,r=[],a=function(){}){let n=!1;const i=new Proxy(a,{get(a,o){if(g(n),o===d)return()=>{!function(e){b&&b.unregister(e)}(i),y(e),t.clear(),n=!0};if("then"===o){if(0===r.length)return{then:()=>i};const a=S(e,t,{type:"GET",path:r.map((e=>e.toString()))}).then(A);return a.then.bind(a)}return P(e,t,[...r,o])},set(a,i,o){g(n);const[s,d]=x(o);return S(e,t,{type:"SET",path:[...r,i].map((e=>e.toString())),value:s},d).then(A)},apply(a,i,o){g(n);const d=r[r.length-1];if(d===s)return S(e,t,{type:"ENDPOINT"}).then(A);if("bind"===d)return P(e,t,r.slice(0,-1));const[f,l]=w(o);return S(e,t,{type:"APPLY",path:r.map((e=>e.toString())),argumentList:f},l).then(A)},construct(a,i){g(n);const[o,s]=w(i);return S(e,t,{type:"CONSTRUCT",path:r.map((e=>e.toString())),argumentList:o},s).then(A)}});return function(e,t){const r=(v.get(t)||0)+1;v.set(t,r),b&&b.register(e,t,e)}(i,e),i}function w(e){const t=e.map(x);return[t.map((e=>e[0])),(r=t.map((e=>e[1])),Array.prototype.concat.apply([],r))];var r}const E=new WeakMap;function x(e){for(const[t,r]of c)if(r.canHandle(e)){const[a,n]=r.serialize(e);return[{type:"HANDLER",name:t,value:a},n]}return[{type:"RAW",value:e},E.get(e)||[]]}function A(e){switch(e.type){case"HANDLER":return c.get(e.name).deserialize(e.value);case"RAW":return e.value}}function S(e,t,r,a){return new Promise((n=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(i,n),e.start&&e.start(),e.postMessage(Object.assign({id:i},r),a)}))}var D=function(e,t,r,a){return new(r||(r=Promise))((function(n,i){function o(e){try{d(a.next(e))}catch(e){i(e)}}function s(e){try{d(a.throw(e))}catch(e){i(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}d((a=a.apply(e,t||[])).next())}))};new class{constructor(){this.workerRegistry={}}registerWorker(e,t){try{const r=t();if(!r)return;this.workerRegistry[e]={instance:h(r),nativeWorker:r}}catch(e){console.warn(e)}}executeTask(e,t,r){return D(this,void 0,void 0,(function*(){var a;const n=null===(a=this.workerRegistry[e])||void 0===a?void 0:a.instance;if(!n)throw new Error(`Worker ${e} not registered`);try{return yield n[t](r)}catch(r){throw console.error(`Error executing task "${t}" on worker "${e}":`,r),new Error(`Task "${t}" failed: ${r.message}`)}}))}addEventListener(e,t,r){const a=this.workerRegistry[e];a?a.nativeWorker.addEventListener(t,r):console.error(`Worker type '${e}' is not registered.`)}removeEventListener(e,t,r){const a=this.workerRegistry[e];a?a.nativeWorker.removeEventListener(t,r):console.error(`Worker type '${e}' is not registered.`)}};const I="https://storage.googleapis.com",O=[".tar",".zip"],T="/dicomweb/",F="filePartial",U="fileStreaming",k=1e4}()}();
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cod-dicomweb-server",
|
|
3
3
|
"title": "COD Dicomweb server",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.2",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "A wadors server proxy that get data from a COD format.",
|
|
7
7
|
"license": "MIT",
|
|
8
|
-
"author": "Adithyan
|
|
8
|
+
"author": "Adithyan Dinesh",
|
|
9
9
|
"type": "module",
|
|
10
|
-
"main": "./dist/
|
|
10
|
+
"main": "./dist/main.min.js",
|
|
11
11
|
"keywords": [
|
|
12
12
|
"cod-dicomweb-server",
|
|
13
13
|
"server",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 430.ae979bb9f7321087b4cd.js.LICENSE.txt */
|
|
2
|
-
!function(){"use strict";const e=Symbol("Comlink.proxy"),t=Symbol("Comlink.endpoint"),n=Symbol("Comlink.releaseProxy"),r=Symbol("Comlink.finalizer"),a=Symbol("Comlink.thrown"),i=e=>"object"==typeof e&&null!==e||"function"==typeof e,s={canHandle:t=>i(t)&&t[e],serialize(e){const{port1:t,port2:n}=new MessageChannel;return c(e,t),[n,[n]]},deserialize(e){return e.start(),function(e,t){const n=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}})),g(e,n,[],t)}(e)}},o=new Map([["proxy",s],["throw",{canHandle:e=>i(e)&&a in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function c(t,n=globalThis,i=["*"]){n.addEventListener("message",(function s(o){if(!o||!o.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(i,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:u,type:h,path:f}=Object.assign({path:[]},o.data),d=(o.data.argumentList||[]).map(w);let g;try{const n=f.slice(0,-1).reduce(((e,t)=>e[t]),t),r=f.reduce(((e,t)=>e[t]),t);switch(h){case"GET":g=r;break;case"SET":n[f.slice(-1)[0]]=w(o.data.value),g=!0;break;case"APPLY":g=r.apply(n,d);break;case"CONSTRUCT":g=function(t){return Object.assign(t,{[e]:!0})}(new r(...d));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;c(t,n),g=function(e,t){return m.set(e,t),e}(e,[e])}break;case"RELEASE":g=void 0;break;default:return}}catch(e){g={value:e,[a]:0}}Promise.resolve(g).catch((e=>({value:e,[a]:0}))).then((e=>{const[a,i]=y(e);n.postMessage(Object.assign(Object.assign({},a),{id:u}),i),"RELEASE"===h&&(n.removeEventListener("message",s),l(n),r in t&&"function"==typeof t[r]&&t[r]())})).catch((e=>{const[t,r]=y({value:new TypeError("Unserializable return value"),[a]:0});n.postMessage(Object.assign(Object.assign({},t),{id:u}),r)}))})),n.start&&n.start()}function l(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function u(e){if(e)throw new Error("Proxy has been released and is not useable")}function h(e){return v(e,new Map,{type:"RELEASE"}).then((()=>{l(e)}))}const f=new WeakMap,d="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(f.get(e)||0)-1;f.set(e,t),0===t&&h(e)}));function g(e,r,a=[],i=function(){}){let s=!1;const o=new Proxy(i,{get(t,i){if(u(s),i===n)return()=>{!function(e){d&&d.unregister(e)}(o),h(e),r.clear(),s=!0};if("then"===i){if(0===a.length)return{then:()=>o};const t=v(e,r,{type:"GET",path:a.map((e=>e.toString()))}).then(w);return t.then.bind(t)}return g(e,r,[...a,i])},set(t,n,i){u(s);const[o,c]=y(i);return v(e,r,{type:"SET",path:[...a,n].map((e=>e.toString())),value:o},c).then(w)},apply(n,i,o){u(s);const c=a[a.length-1];if(c===t)return v(e,r,{type:"ENDPOINT"}).then(w);if("bind"===c)return g(e,r,a.slice(0,-1));const[l,h]=p(o);return v(e,r,{type:"APPLY",path:a.map((e=>e.toString())),argumentList:l},h).then(w)},construct(t,n){u(s);const[i,o]=p(n);return v(e,r,{type:"CONSTRUCT",path:a.map((e=>e.toString())),argumentList:i},o).then(w)}});return function(e,t){const n=(f.get(t)||0)+1;f.set(t,n),d&&d.register(e,t,e)}(o,e),o}function p(e){const t=e.map(y);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const m=new WeakMap;function y(e){for(const[t,n]of o)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},m.get(e)||[]]}function w(e){switch(e.type){case"HANDLER":return o.get(e.name).deserialize(e.value);case"RAW":return e.value}}function v(e,t,n,r){return new Promise((a=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(i,a),e.start&&e.start(),e.postMessage(Object.assign({id:i},n),r)}))}var S=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function o(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,o)}c((r=r.apply(e,t||[])).next())}))};c({maxFetchSize:0,fetchedSize:0,setMaxFetchSize(e){e>0&&(this.maxFetchSize=e)},decreaseFetchedSize(e){e>0&&e<=this.fetchedSize&&(this.fetchedSize-=e)},stream(e){return S(this,void 0,void 0,(function*(){var t;const{url:n,headers:r,useSharedArrayBuffer:a}=e,i=new AbortController;let s=null,o=null;try{const e=yield fetch(n,{headers:Object.assign({},r),signal:i.signal});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const c=null===(t=e.body)||void 0===t?void 0:t.getReader();if(!c)throw new Error("Failed to get reader from response body");let l,u=!1;const h=parseInt(e.headers.get("Content-Length")||"0",10),f=yield c.read();if(u=f.done,!f.value)throw new Error("The fetched chunks does not have value");if(!u){let e=f.value.length;if(this.maxFetchSize&&this.fetchedSize+e>this.maxFetchSize)throw i.abort(),new Error(`Maximum size(${this.maxFetchSize}) for fetching files reached`);for(this.fetchedSize+=e,a?(s=new SharedArrayBuffer(h),o=new Uint8Array(s)):o=new Uint8Array(h),o.set(f.value),postMessage({url:n,position:e,fileArraybuffer:o});!u;){if(l=yield c.read(),l.done){u=!0;continue}const t=l.value;if(this.maxFetchSize&&this.fetchedSize+t.length>this.maxFetchSize)throw s=null,o=null,i.abort(),new Error(`Maximum size(${this.maxFetchSize}) for fetching files reached`);this.fetchedSize+=t.length,o.set(t,e),e+=t.length,postMessage({isAppending:!0,url:n,position:e,chunk:a?null:t})}}}catch(e){const t=new Error("fileStreaming.ts: "+e.message||0);throw console.error(t.message,e),t}finally{s=null,o=null,i.abort()}}))}})}();
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 663.f8ac8210581651c53c7e.js.LICENSE.txt */
|
|
2
|
-
!function(){"use strict";const e=Symbol("Comlink.proxy"),t=Symbol("Comlink.endpoint"),n=Symbol("Comlink.releaseProxy"),r=Symbol("Comlink.finalizer"),a=Symbol("Comlink.thrown"),i=e=>"object"==typeof e&&null!==e||"function"==typeof e,o={canHandle:t=>i(t)&&t[e],serialize(e){const{port1:t,port2:n}=new MessageChannel;return c(e,t),[n,[n]]},deserialize(e){return e.start(),function(e,t){const n=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}})),h(e,n,[],t)}(e)}},s=new Map([["proxy",o],["throw",{canHandle:e=>i(e)&&a in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function c(t,n=globalThis,i=["*"]){n.addEventListener("message",(function o(s){if(!s||!s.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(i,s.origin))return void console.warn(`Invalid origin '${s.origin}' for comlink proxy`);const{id:l,type:f,path:p}=Object.assign({path:[]},s.data),g=(s.data.argumentList||[]).map(E);let h;try{const n=p.slice(0,-1).reduce(((e,t)=>e[t]),t),r=p.reduce(((e,t)=>e[t]),t);switch(f){case"GET":h=r;break;case"SET":n[p.slice(-1)[0]]=E(s.data.value),h=!0;break;case"APPLY":h=r.apply(n,g);break;case"CONSTRUCT":h=function(t){return Object.assign(t,{[e]:!0})}(new r(...g));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;c(t,n),h=function(e,t){return m.set(e,t),e}(e,[e])}break;case"RELEASE":h=void 0;break;default:return}}catch(e){h={value:e,[a]:0}}Promise.resolve(h).catch((e=>({value:e,[a]:0}))).then((e=>{const[a,i]=y(e);n.postMessage(Object.assign(Object.assign({},a),{id:l}),i),"RELEASE"===f&&(n.removeEventListener("message",o),u(n),r in t&&"function"==typeof t[r]&&t[r]())})).catch((e=>{const[t,r]=y({value:new TypeError("Unserializable return value"),[a]:0});n.postMessage(Object.assign(Object.assign({},t),{id:l}),r)}))})),n.start&&n.start()}function u(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function l(e){if(e)throw new Error("Proxy has been released and is not useable")}function f(e){return v(e,new Map,{type:"RELEASE"}).then((()=>{u(e)}))}const p=new WeakMap,g="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(p.get(e)||0)-1;p.set(e,t),0===t&&f(e)}));function h(e,r,a=[],i=function(){}){let o=!1;const s=new Proxy(i,{get(t,i){if(l(o),i===n)return()=>{!function(e){g&&g.unregister(e)}(s),f(e),r.clear(),o=!0};if("then"===i){if(0===a.length)return{then:()=>s};const t=v(e,r,{type:"GET",path:a.map((e=>e.toString()))}).then(E);return t.then.bind(t)}return h(e,r,[...a,i])},set(t,n,i){l(o);const[s,c]=y(i);return v(e,r,{type:"SET",path:[...a,n].map((e=>e.toString())),value:s},c).then(E)},apply(n,i,s){l(o);const c=a[a.length-1];if(c===t)return v(e,r,{type:"ENDPOINT"}).then(E);if("bind"===c)return h(e,r,a.slice(0,-1));const[u,f]=d(s);return v(e,r,{type:"APPLY",path:a.map((e=>e.toString())),argumentList:u},f).then(E)},construct(t,n){l(o);const[i,s]=d(n);return v(e,r,{type:"CONSTRUCT",path:a.map((e=>e.toString())),argumentList:i},s).then(E)}});return function(e,t){const n=(p.get(t)||0)+1;p.set(t,n),g&&g.register(e,t,e)}(s,e),s}function d(e){const t=e.map(y);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const m=new WeakMap;function y(e){for(const[t,n]of s)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},m.get(e)||[]]}function E(e){switch(e.type){case"HANDLER":return s.get(e.name).deserialize(e.value);case"RAW":return e.value}}function v(e,t,n,r){return new Promise((a=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(i,a),e.start&&e.start(),e.postMessage(Object.assign({id:i},n),r)}))}var w=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))};c({partial(e){return w(this,void 0,void 0,(function*(){const{url:t,headers:n}=e;return fetch(t,{headers:n}).then((e=>e.arrayBuffer())).catch((e=>{throw new Error("filePartial.ts: Error when fetching file: "+(null==e?void 0:e.message))}))}))}})}();
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see main.bd27b3d8a119b2e0661f.js.LICENSE.txt */
|
|
2
|
-
!function(){var e={915:function(e,t,r){e.exports=function(e){return r=[function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t),r.d(t,"isStringVr",(function(){return n})),r.d(t,"isPrivateTag",(function(){return i})),r.d(t,"parsePN",(function(){return o})),r.d(t,"parseTM",(function(){return s})),r.d(t,"parseDA",(function(){return d})),r.d(t,"explicitElementToString",(function(){return l})),r.d(t,"explicitDataSetToJS",(function(){return u})),r.d(t,"createJPEGBasicOffsetTable",(function(){return p})),r.d(t,"parseDicomDataSetExplicit",(function(){return k})),r.d(t,"parseDicomDataSetImplicit",(function(){return B})),r.d(t,"readFixedString",(function(){return v})),r.d(t,"alloc",(function(){return q})),r.d(t,"version",(function(){return L})),r.d(t,"bigEndianByteArrayParser",(function(){return N})),r.d(t,"ByteStream",(function(){return j})),r.d(t,"sharedCopy",(function(){return M})),r.d(t,"DataSet",(function(){return w})),r.d(t,"findAndSetUNElementLength",(function(){return y})),r.d(t,"findEndOfEncapsulatedElement",(function(){return g})),r.d(t,"findItemDelimitationItemAndSetElementLength",(function(){return E})),r.d(t,"littleEndianByteArrayParser",(function(){return C})),r.d(t,"parseDicom",(function(){return G})),r.d(t,"readDicomElementExplicit",(function(){return U})),r.d(t,"readDicomElementImplicit",(function(){return A})),r.d(t,"readEncapsulatedImageFrame",(function(){return V})),r.d(t,"readEncapsulatedPixelData",(function(){return Y})),r.d(t,"readEncapsulatedPixelDataFromFragments",(function(){return H})),r.d(t,"readPart10Header",(function(){return _})),r.d(t,"readSequenceItemsExplicit",(function(){return T})),r.d(t,"readSequenceItemsImplicit",(function(){return I})),r.d(t,"readSequenceItem",(function(){return S})),r.d(t,"readTag",(function(){return h}));var a={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},n=function(e){return a[e]},i=function(e){if(e=parseInt(e[4],16),isNaN(e))throw"dicomParser.isPrivateTag: cannot parse last character of group";return e%2==1},o=function(e){if(void 0!==e)return{familyName:(e=e.split("^"))[0],givenName:e[1],middleName:e[2],prefix:e[3],suffix:e[4]}};function s(e,t){if(2<=e.length){var r=parseInt(e.substring(0,2),10),a=4<=e.length?parseInt(e.substring(2,4),10):void 0,n=6<=e.length?parseInt(e.substring(4,6),10):void 0,i=(i=8<=e.length?e.substring(7,13):void 0)?parseInt(i,10)*Math.pow(10,6-i.length):void 0;if(t&&(isNaN(r)||void 0!==a&&isNaN(a)||void 0!==n&&isNaN(n)||void 0!==i&&isNaN(i)||r<0||23<r||a&&(a<0||59<a)||n&&(n<0||59<n)||i&&(i<0||999999<i)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:a,seconds:n,fractionalSeconds:i}}if(t)throw"invalid TM '".concat(e,"'")}function f(e,t,r){return!isNaN(r)&&0<t&&t<=12&&0<e&&e<=function(e,t){switch(e){case 2:return t%4==0&&t%100||t%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}(t,r)}function d(e,t){if(e&&8===e.length){var r=parseInt(e.substring(0,4),10),a=parseInt(e.substring(4,6),10),n=parseInt(e.substring(6,8),10);if(t&&!0!==f(n,a,r))throw"invalid DA '".concat(e,"'");return{year:r,month:a,day:n}}if(t)throw"invalid DA '".concat(e,"'")}function l(e,t){if(void 0===e||void 0===t)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===t.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var r,a=t.vr,i=t.tag;function o(t,r){for(var a="",n=0;n<t;n++)0!==n&&(a+="/"),a+=r.call(e,i,n).toString();return a}if(!0===n(a))r=e.string(i);else{if("AT"===a){var s=e.uint32(i);return void 0===s?void 0:"x".concat((s=s<0?4294967295+s+1:s).toString(16).toUpperCase())}"US"===a?r=o(t.length/2,e.uint16):"SS"===a?r=o(t.length/2,e.int16):"UL"===a?r=o(t.length/4,e.uint32):"SL"===a?r=o(t.length/4,e.int32):"FD"===a?r=o(t.length/8,e.double):"FL"===a&&(r=o(t.length/4,e.float))}return r}function u(e,t){if(void 0===e)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";t=t||{omitPrivateAttibutes:!0,maxElementLength:128};var r,a={};for(r in e.elements){var n=e.elements[r];if(!0!==t.omitPrivateAttibutes||!i(r))if(n.items){for(var o=[],s=0;s<n.items.length;s++)o.push(u(n.items[s].dataSet,t));a[r]=o}else{var f=void 0;n.length<t.maxElementLength&&(f=l(e,n)),a[r]=void 0!==f?f:{dataOffset:n.dataOffset,length:n.length}}}return a}function c(e,t){return 255===e.byteArray[t]&&217===e.byteArray[t+1]}function m(e,t,r){for(var a,n,i=r;i<t.fragments.length;i++)if(n=i,c(a=e,(n=t.fragments[n]).position+n.length-2)||c(a,n.position+n.length-3))return i}function p(e,t,r){if(void 0===e)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if(void 0===t)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if("x7fe00010"!==t.tag)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if(!0!==t.encapsulatedPixelData)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(t.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r&&r.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";r=r||t.fragments;for(var a=[],n=0;;){a.push(t.fragments[n].offset);var i=m(e,t,n);if(void 0===i||i===t.fragments.length-1)return a;n=i+1}}function h(e){if(void 0===e)throw"dicomParser.readTag: missing required parameter 'byteStream'";var t=256*e.readUint16()*256;return e=e.readUint16(),"x".concat("00000000".concat((t+e).toString(16)).substr(-8))}function g(e,t,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(t.encapsulatedPixelData=!0,t.basicOffsetTable=[],t.fragments=[],"xfffee000"!==h(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var a=e.readUint32()/4,n=0;n<a;n++){var i=e.readUint32();t.basicOffsetTable.push(i)}for(var o=e.position;e.position<e.byteArray.length;){var s=h(e),f=e.readUint32();if("xfffee0dd"===s)return e.seek(f),void(t.length=e.position-t.dataOffset);if("xfffee000"!==s)return r&&r.push("unexpected tag ".concat(s," while searching for end of pixel data element with undefined length")),f>e.byteArray.length-e.position&&(f=e.byteArray.length-e.position),t.fragments.push({offset:e.position-o-8,position:e.position,length:f}),e.seek(f),void(t.length=e.position-t.dataOffset);t.fragments.push({offset:e.position-o-8,position:e.position,length:f}),e.seek(f)}r&&r.push("pixel data element ".concat(t.tag," missing sequence delimiter tag xfffee0dd"))}function y(e,t){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57565===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(t.tag)),void(t.length=e.position-t.dataOffset);t.length=e.byteArray.length-t.dataOffset,e.seek(e.byteArray.length-e.position)}function v(e,t,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(t+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var a,n="",i=0;i<r;i++){if(0===(a=e[t+i]))return t+=r,n;n+=String.fromCharCode(a)}return n}function b(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function P(e,t){return void 0!==e.parser?e.parser:t}var w=function(){function e(t,r,a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.byteArrayParser=t,this.byteArray=r,this.elements=a}var t,r,a;return t=e,(r=[{key:"uint16",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readUint16(this.byteArray,e.dataOffset+2*t)}},{key:"int16",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readInt16(this.byteArray,e.dataOffset+2*t)}},{key:"uint32",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readUint32(this.byteArray,e.dataOffset+4*t)}},{key:"int32",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readInt32(this.byteArray,e.dataOffset+4*t)}},{key:"float",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readFloat(this.byteArray,e.dataOffset+4*t)}},{key:"double",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return P(e,this.byteArrayParser).readDouble(this.byteArray,e.dataOffset+8*t)}},{key:"numStringValues",value:function(e){if((e=this.elements[e])&&0<e.length)return null===(e=v(this.byteArray,e.dataOffset,e.length).match(/\\/g))?1:e.length+1}},{key:"string",value:function(e,t){return(e=this.elements[e])&&e.Value?e.Value:e&&0<e.length?(e=v(this.byteArray,e.dataOffset,e.length),0<=t?e.split("\\")[t].trim():e.trim()):void 0}},{key:"text",value:function(e,t){if((e=this.elements[e])&&0<e.length)return e=v(this.byteArray,e.dataOffset,e.length),0<=t?e.split("\\")[t].replace(/ +$/,""):e.replace(/ +$/,"")}},{key:"floatString",value:function(e,t){var r=this.elements[e];if(r&&0<r.length&&void 0!==(t=this.string(e,t=void 0!==t?t:0)))return parseFloat(t)}},{key:"intString",value:function(e,t){var r=this.elements[e];if(r&&0<r.length&&void 0!==(t=this.string(e,t=void 0!==t?t:0)))return parseInt(t)}},{key:"attributeTag",value:function(e){if((r=this.elements[e])&&4===r.length){var t=P(r,this.byteArrayParser).readUint16,r=(e=this.byteArray,r.dataOffset);return"x".concat("00000000".concat((256*t(e,r)*256+t(e,r+2)).toString(16)).substr(-8))}}}])&&b(t.prototype,r),a&&b(t,a),Object.defineProperty(t,"prototype",{writable:!1}),e}();function E(e,t){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57357===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(t.tag)),void(t.length=e.position-t.dataOffset);t.length=e.byteArray.length-t.dataOffset,e.seek(e.byteArray.length-e.position)}var x=function(e,t){return void 0!==e.vr?"SQ"===e.vr:t.position+4<=t.byteArray.length?(e=h(t),t.seek(-4),"xfffee000"===e||"xfffee0dd"===e):(t.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1)};function A(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var a;return 4294967295===(a={tag:a=h(e),vr:void 0!==r?r(a):void 0,length:e.readUint32(),dataOffset:e.position}).length&&(a.hadUndefinedLength=!0),a.tag===t||(!x(a,e)||i(a.tag)&&!a.hadUndefinedLength?a.hadUndefinedLength?E(e,a):e.seek(a.length):(I(e,a,r),i(a.tag)&&(a.items=void 0))),a}function S(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var t={tag:h(e),length:e.readUint32(),dataOffset:e.position};if("xfffee000"!==t.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(e.position);return t}function D(e,t){var r=S(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,t){for(var r={};e.position<e.byteArray.length;){var a=A(e,void 0,t);if("xfffee00d"===(r[a.tag]=a).tag)return new w(e.byteArrayParser,e.byteArray,r)}return e.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new w(e.byteArrayParser,e.byteArray,r)}(e,t),r.length=e.position-r.dataOffset):(r.dataSet=new w(e.byteArrayParser,e.byteArray,{}),B(r.dataSet,e,e.position+r.length,{vrCallback:t})),r}function I(e,t,r){if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";t.items=[],(4294967295===t.length?function(e,t,r){for(;e.position+4<=e.byteArray.length;){var a=h(e);if(e.seek(-4),"xfffee0dd"===a)return t.length=e.position-t.dataOffset,e.seek(8);a=D(e,r),t.items.push(a)}e.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),t.length=e.byteArray.length-t.dataOffset}:function(e,t,r){for(var a=t.dataOffset+t.length;e.position<a;){var n=D(e,r);t.items.push(n)}})(e,t,r)}function O(e,t){var r=S(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,t){for(var r={};e.position<e.byteArray.length;){var a=U(e,t);if("xfffee00d"===(r[a.tag]=a).tag)return new w(e.byteArrayParser,e.byteArray,r)}return t.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new w(e.byteArrayParser,e.byteArray,r)}(e,t),r.length=e.position-r.dataOffset):(r.dataSet=new w(e.byteArrayParser,e.byteArray,{}),k(r.dataSet,e,e.position+r.length)),r}function T(e,t,r){if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";t.items=[],(4294967295===t.length?function(e,t,r){for(;e.position+4<=e.byteArray.length;){var a=h(e);if(e.seek(-4),"xfffee0dd"===a)return t.length=e.position-t.dataOffset,e.seek(8);a=O(e,r),t.items.push(a)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),t.length=e.position-t.dataOffset}:function(e,t,r){for(var a=t.dataOffset+t.length;e.position<a;){var n=O(e,r);t.items.push(n)}})(e,t,r)}var F=function(e){return"OB"===e||"OD"===e||"OL"===e||"OW"===e||"SQ"===e||"OF"===e||"UC"===e||"UR"===e||"UT"===e||"UN"===e?4:2};function U(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var a={tag:h(e),vr:e.readFixedString(2)};return 2===F(a.vr)?a.length=e.readUint16():(e.seek(2),a.length=e.readUint32()),a.dataOffset=e.position,4294967295===a.length&&(a.hadUndefinedLength=!0),a.tag===r||("SQ"===a.vr?T(e,a,t):4294967295===a.length?"x7fe00010"===a.tag?g(e,a,t):("UN"===a.vr?I:E)(e,a):e.seek(a.length)),a}function k(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?t.byteArray.length:r,void 0===t)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(r<t.position||r>t.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var n=e.elements;t.position<r;){var i=U(t,e.warnings,a.untilTag);if((n[i.tag]=i).tag===a.untilTag)return}if(t.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function B(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===t)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(r<t.position||r>t.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var n=e.elements;t.position<r;){var i=A(t,a.untilTag,a.vrCallback);if((n[i.tag]=i).tag===a.untilTag)return}}function q(e,t){if("undefined"!=typeof Buffer&&e instanceof Buffer)return Buffer.alloc(t);if(e instanceof Uint8Array)return new Uint8Array(t);throw"dicomParser.alloc: unknown type for byteArray"}var L="1.8.12",N={readUint16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[t]<<8)+e[t+1]},readInt16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";return 32768&(t=(e[t]<<8)+e[t+1])?t-65535-1:t},readUint32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[t]+e[t+1])+e[t+2])+e[t+3]},readInt32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[t]<<24)+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3]},readFloat:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[t],r[2]=e[t+1],r[1]=e[t+2],r[0]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[t],r[6]=e[t+1],r[5]=e[t+2],r[4]=e[t+3],r[3]=e[t+4],r[2]=e[t+5],r[1]=e[t+6],r[0]=e[t+7],new Float64Array(r.buffer)[0]}};function M(e,t,r){if("undefined"!=typeof Buffer&&e instanceof Buffer)return e.slice(t,t+r);if(e instanceof Uint8Array)return new Uint8Array(e.buffer,e.byteOffset+t,r);throw"dicomParser.from: unknown type for byteArray"}function R(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}var j=function(){function e(t,r,a){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),void 0===t)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(void 0===r)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(r instanceof Uint8Array==0&&("undefined"==typeof Buffer||r instanceof Buffer==0))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(a<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(a>=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=t,this.byteArray=r,this.position=a||0,this.warnings=[]}var t,r,a;return t=e,(r=[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(t){if(this.position+t>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=M(this.byteArray,this.position,t);return this.position+=t,new e(this.byteArrayParser,r)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var t=v(this.byteArray,this.position,e);return this.position+=e,t}}])&&R(t.prototype,r),a&&R(t,a),Object.defineProperty(t,"prototype",{writable:!1}),e}(),C={readUint16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[t]+256*e[t+1]},readInt16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";return 32768&(t=e[t]+(e[t+1]<<8))?t-65535-1:t},readUint32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[t]+256*e[t+1]+256*e[t+2]*256+256*e[t+3]*256*256},readInt32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)},readFloat:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],r[4]=e[t+4],r[5]=e[t+5],r[6]=e[t+6],r[7]=e[t+7],new Float64Array(r.buffer)[0]}};function _(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var r=t.TransferSyntaxUID,a=new j(C,e);return function(){var e=function(){if(a.getSize()<=132&&r)return!1;if(a.seek(128),"DICM"===a.readFixedString(4))return!0;if(!(t||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return a.seek(0),!1}(),n=[],i={};if(!e)return a.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:r}},warnings:n};for(;a.position<a.byteArray.length;){var o=a.position,s=U(a,n);if("x0002ffff"<s.tag){a.position=o;break}s.parser=C,i[s.tag]=s}return(e=new w(a.byteArrayParser,a.byteArray,i)).warnings=a.warnings,e.position=a.position,e}()}var z="1.2.840.10008.1.2.2";function G(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var a,n=function(t){if(void 0===t.elements.x00020010)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");return(t=t.elements.x00020010)&&t.Value||v(e,t.dataOffset,t.length)};function i(a){var i="1.2.840.10008.1.2"!==(o=n(a)),o=function(a,n){var i="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"!==a)return new j(a===z?N:C,e,n);if(t&&t.inflater)return a=t.inflater(e,n),new j(C,a,0);if(1==i){var o=r(0),s=M(e,n,e.length-n);return o=o.inflateRawSync(s),s=q(e,o.length+n),e.copy(s,0,0,n),o.copy(s,n),new j(C,s,0)}if("undefined"==typeof pako)throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax";return o=e.slice(n),s=pako.inflateRaw(o),(o=q(e,s.length+n)).set(e.slice(0,n),0),o.set(s,n),new j(C,o,0)}(o,a.position);(a=new w(o.byteArrayParser,o.byteArray,{})).warnings=o.warnings;try{(i?k:B)(a,o,o.byteArray.length,t)}catch(o){throw{exception:o,dataSet:a}}return a}return function(e,t){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(t.elements[r]=e.elements[r]);return void 0!==e.warnings&&(t.warnings=e.warnings.concat(t.warnings)),t}(a=_(e,t),i(a))}var W=function(e,t,r){for(var a=0,n=t;n<t+r;n++)a+=e[n].length;return a};function H(e,t,r,a,n){if(n=n||t.fragments,void 0===e)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if(void 0===(a=a||1))throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(t.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(r>=t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(a<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+a>t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var i=new j(e.byteArrayParser,e.byteArray,t.dataOffset);if("xfffee000"!==(t=S(i)).tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";i.seek(t.length);var o=i.position;if(1===a)return M(i.byteArray,o+n[r].offset+8,n[r].length);t=W(n,r,a);for(var s=q(i.byteArray,t),f=0,d=r;d<r+a;d++)for(var l=o+n[d].offset+8,u=0;u<n[d].length;u++)s[f++]=i.byteArray[l++];return s}var J=function(e,t){for(var r=0;r<e.length;r++)if(e[r].offset===t)return r},$=function(e,t,r,a){if(e===t.length-1)return r.length-a;for(var n=t[e+1],i=a+1;i<r.length;i++)if(r[i].offset===n)return i-a;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function V(e,t,r,a,n){if(a=a||t.basicOffsetTable,n=n||t.fragments,void 0===e)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(void 0===a)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(0===a.length)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(r<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(r>=a.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var i=a[r];if(void 0===(i=J(n,i)))throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return H(e,t,i,$(r,a,n,i),n)}var Q=!1;function Y(e,t,r){if(Q||(Q=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==t.basicOffsetTable.length?V(e,t,r):H(e,t,0,t.fragments.length)}t.default={isStringVr:n,isPrivateTag:i,parsePN:o,parseTM:s,parseDA:d,explicitElementToString:l,explicitDataSetToJS:u,createJPEGBasicOffsetTable:p,parseDicomDataSetExplicit:k,parseDicomDataSetImplicit:B,readFixedString:v,alloc:q,version:L,bigEndianByteArrayParser:N,ByteStream:j,sharedCopy:M,DataSet:w,findAndSetUNElementLength:y,findEndOfEncapsulatedElement:g,findItemDelimitationItemAndSetElementLength:E,littleEndianByteArrayParser:C,parseDicom:G,readDicomElementExplicit:U,readDicomElementImplicit:A,readEncapsulatedImageFrame:V,readEncapsulatedPixelData:Y,readEncapsulatedPixelDataFromFragments:H,readPart10Header:_,readSequenceItemsExplicit:T,readSequenceItemsImplicit:I,readSequenceItem:S,readTag:h,LEI:"1.2.840.10008.1.2",LEE:"1.2.840.10008.1.2.1"}}],a={},t.m=r,t.c=a,t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)t.d(a,n,function(t){return e[t]}.bind(null,n));return a},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1);function t(e){if(a[e])return a[e].exports;var n=a[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r,a}(r(559))},559:function(){}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var i=t[a]={exports:{}};return e[a].call(i.exports,i,i.exports,r),i.exports}r.m=e,r.d=function(e,t){for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.u=function(e){return"assets/js/"+e+"."+{430:"ae979bb9f7321087b4cd",663:"f8ac8210581651c53c7e"}[e]+".js"},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.b=document.baseURI||self.location.href,function(){"use strict";var e={};r.r(e),r.d(e,{FetchType:function(){return a},RequestType:function(){return n}});var t={};r.r(t),r.d(t,{DOMAIN:function(){return I},FILE_EXTENSIONS:function(){return O},URL_VALIDATION_STRING:function(){return T}});var a,n,i={};r.r(i),r.d(i,{FILE_PARTIAL_WORKER_NAME:function(){return F},FILE_STREAMING_WORKER_NAME:function(){return U},THRESHOLD:function(){return k}}),function(e){e[e.BYTES_OPTIMIZED=0]="BYTES_OPTIMIZED",e[e.API_OPTIMIZED=1]="API_OPTIMIZED"}(a||(a={})),function(e){e[e.FRAME=0]="FRAME",e[e.THUMBNAIL=1]="THUMBNAIL",e[e.SERIES_METADATA=2]="SERIES_METADATA",e[e.INSTANCE_METADATA=3]="INSTANCE_METADATA"}(n||(n={}));r(915);const o=Symbol("Comlink.proxy"),s=Symbol("Comlink.endpoint"),f=Symbol("Comlink.releaseProxy"),d=Symbol("Comlink.finalizer"),l=Symbol("Comlink.thrown"),u=e=>"object"==typeof e&&null!==e||"function"==typeof e,c=new Map([["proxy",{canHandle:e=>u(e)&&e[o],serialize(e){const{port1:t,port2:r}=new MessageChannel;return m(e,t),[r,[r]]},deserialize(e){return e.start(),h(e)}}],["throw",{canHandle:e=>u(e)&&l in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function m(e,t=globalThis,r=["*"]){t.addEventListener("message",(function a(n){if(!n||!n.data)return;if(!function(e,t){for(const r of e){if(t===r||"*"===r)return!0;if(r instanceof RegExp&&r.test(t))return!0}return!1}(r,n.origin))return void console.warn(`Invalid origin '${n.origin}' for comlink proxy`);const{id:i,type:s,path:f}=Object.assign({path:[]},n.data),u=(n.data.argumentList||[]).map(A);let c;try{const t=f.slice(0,-1).reduce(((e,t)=>e[t]),e),r=f.reduce(((e,t)=>e[t]),e);switch(s){case"GET":c=r;break;case"SET":t[f.slice(-1)[0]]=A(n.data.value),c=!0;break;case"APPLY":c=r.apply(t,u);break;case"CONSTRUCT":c=function(e){return Object.assign(e,{[o]:!0})}(new r(...u));break;case"ENDPOINT":{const{port1:t,port2:r}=new MessageChannel;m(e,r),c=function(e,t){return E.set(e,t),e}(t,[t])}break;case"RELEASE":c=void 0;break;default:return}}catch(e){c={value:e,[l]:0}}Promise.resolve(c).catch((e=>({value:e,[l]:0}))).then((r=>{const[n,o]=x(r);t.postMessage(Object.assign(Object.assign({},n),{id:i}),o),"RELEASE"===s&&(t.removeEventListener("message",a),p(t),d in e&&"function"==typeof e[d]&&e[d]())})).catch((e=>{const[r,a]=x({value:new TypeError("Unserializable return value"),[l]:0});t.postMessage(Object.assign(Object.assign({},r),{id:i}),a)}))})),t.start&&t.start()}function p(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function h(e,t){const r=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const a=r.get(t.id);if(a)try{a(t)}finally{r.delete(t.id)}})),P(e,r,[],t)}function g(e){if(e)throw new Error("Proxy has been released and is not useable")}function y(e){return S(e,new Map,{type:"RELEASE"}).then((()=>{p(e)}))}const v=new WeakMap,b="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(v.get(e)||0)-1;v.set(e,t),0===t&&y(e)}));function P(e,t,r=[],a=function(){}){let n=!1;const i=new Proxy(a,{get(a,o){if(g(n),o===f)return()=>{!function(e){b&&b.unregister(e)}(i),y(e),t.clear(),n=!0};if("then"===o){if(0===r.length)return{then:()=>i};const a=S(e,t,{type:"GET",path:r.map((e=>e.toString()))}).then(A);return a.then.bind(a)}return P(e,t,[...r,o])},set(a,i,o){g(n);const[s,f]=x(o);return S(e,t,{type:"SET",path:[...r,i].map((e=>e.toString())),value:s},f).then(A)},apply(a,i,o){g(n);const f=r[r.length-1];if(f===s)return S(e,t,{type:"ENDPOINT"}).then(A);if("bind"===f)return P(e,t,r.slice(0,-1));const[d,l]=w(o);return S(e,t,{type:"APPLY",path:r.map((e=>e.toString())),argumentList:d},l).then(A)},construct(a,i){g(n);const[o,s]=w(i);return S(e,t,{type:"CONSTRUCT",path:r.map((e=>e.toString())),argumentList:o},s).then(A)}});return function(e,t){const r=(v.get(t)||0)+1;v.set(t,r),b&&b.register(e,t,e)}(i,e),i}function w(e){const t=e.map(x);return[t.map((e=>e[0])),(r=t.map((e=>e[1])),Array.prototype.concat.apply([],r))];var r}const E=new WeakMap;function x(e){for(const[t,r]of c)if(r.canHandle(e)){const[a,n]=r.serialize(e);return[{type:"HANDLER",name:t,value:a},n]}return[{type:"RAW",value:e},E.get(e)||[]]}function A(e){switch(e.type){case"HANDLER":return c.get(e.name).deserialize(e.value);case"RAW":return e.value}}function S(e,t,r,a){return new Promise((n=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(i,n),e.start&&e.start(),e.postMessage(Object.assign({id:i},r),a)}))}var D=function(e,t,r,a){return new(r||(r=Promise))((function(n,i){function o(e){try{f(a.next(e))}catch(e){i(e)}}function s(e){try{f(a.throw(e))}catch(e){i(e)}}function f(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}f((a=a.apply(e,t||[])).next())}))};new class{constructor(){this.workerRegistry={}}registerWorker(e,t){try{const r=t();if(!r)return;this.workerRegistry[e]={instance:h(r),nativeWorker:r}}catch(e){console.warn(e)}}executeTask(e,t,r){return D(this,void 0,void 0,(function*(){var a;const n=null===(a=this.workerRegistry[e])||void 0===a?void 0:a.instance;if(!n)throw new Error(`Worker ${e} not registered`);try{return yield n[t](r)}catch(r){throw console.error(`Error executing task "${t}" on worker "${e}":`,r),new Error(`Task "${t}" failed: ${r.message}`)}}))}addEventListener(e,t,r){const a=this.workerRegistry[e];a?a.nativeWorker.addEventListener(t,r):console.error(`Worker type '${e}' is not registered.`)}removeEventListener(e,t,r){const a=this.workerRegistry[e];a?a.nativeWorker.removeEventListener(t,r):console.error(`Worker type '${e}' is not registered.`)}};const I="https://storage.googleapis.com",O=[".tar",".zip"],T="/dicomweb/",F="filePartial",U="fileStreaming",k=1e4}()}();
|