modified-dicom-pacs
Version:
A modified version of DICOM PACS implementation
2 lines • 99.8 kB
JavaScript
/*! For license information please see 644.bundle.c70c16f4b6b2f3deb6e8.js.LICENSE.txt */
(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[644],{36922:(t,n,e)=>{"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,u=void 0,"symbol"==typeof(u=function(t,n){if("object"!=typeof t||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(i,"string"))?u:String(u)),r)}var i,u}function u(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,n){if(!t)return;if("string"==typeof t)return a(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return a(t,n)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function o(t){for(var n=new Uint8Array(t.length),e=0,r=t.length;e<r;e++)n[e]=t.charCodeAt(e);return n}function c(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(e+n.length>t.length)return!1;for(var r=e,i=0;i<n.length;i++){if(n[i]!==t[r])return!1;r+=1}return!0}function s(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,i=t.length;r&&(i=Math.min(e+r,t.length));for(var u=e;u<i;u++)if(t[u]===n[0]&&c(t,n,u))return u;return-1}function f(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return"".concat(t()+t(),"-").concat(t(),"-").concat(t(),"-").concat(t(),"-").concat(t()).concat(t()).concat(t())}(),e="Content-Type: ".concat(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/dicom"),r="\r\n--".concat(n,"\r\n").concat(e,"\r\n\r\n"),i="\r\n--".concat(n,"--"),u=o(r),a=o(i),c=u.length,s=a.length,f=0,l=t.map((function(t){var n=new Uint8Array(t),e=n.length;return f+=c+e+s,n})),p=new Uint8Array(f);p.set(u,0);var h=0;return l.forEach((function(t){p.set(u,h),p.set(t,h+c),h+=c+t.length})),p.set(a,h),{data:p.buffer,boundary:n}}function l(t){var n=ArrayBuffer.isView(t)?t:new Uint8Array(t),e=o("\r\n\r\n"),r=s(n,e,0,1e3);if(-1===r)throw new Error("Response message has no multipart mime header");var i=function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,e=(arguments.length>2?arguments[2]:void 0)||t.length-n,r="",i=n;i<n+e;i++)r+=String.fromCharCode(t[i]);return r}(n,0,r),u=function(t){for(var n=t.split("\r\n"),e=0;e<n.length;e++)if("--"===n[e].substr(0,2))return n[e];return null}(i);if(!u)throw new Error("Header of response message does not specify boundary");for(var a,c=o(u),f=c.length,l=[],p=f;-1!==a&&-1!==(a=s(n,c,p));){var h=s(n,e,p,1e3);if(-1===h)throw new Error("Response message part has no mime header");p=h+e.length;var v=t.slice(p,a-2);l.push(v),p=a+f}return l}function p(t){return"object"===r(t)&&null!==t}function h(t){return 0===Object.keys(t).length&&t.constructor===Object}e.d(n,{FH:()=>_});var v=function(t){return t[0]},d={DICOM:"application/dicom",DICOM_JSON:"application/dicom+json",OCTET_STREAM:"application/octet-stream",PDF:"application/pdf",JPEG:"image/jpeg",PNG:"image/png"},g=function(){};var _={DICOMwebClient:function(){function t(n){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),this.baseURL=n.url,this.baseURL||console.error("no DICOMweb base url provided - calls that require a URL will fail"),"username"in n&&(this.username=n.username,"password"in n||console.error("no password provided to authenticate with DICOMweb service"),this.password=n.password),"qidoURLPrefix"in n?(g("use URL prefix for QIDO-RS: ".concat(n.qidoURLPrefix)),this.qidoURL="".concat(this.baseURL,"/").concat(n.qidoURLPrefix)):this.qidoURL=this.baseURL,"wadoURLPrefix"in n?(g("use URL prefix for WADO-RS: ".concat(n.wadoURLPrefix)),this.wadoURL="".concat(this.baseURL,"/").concat(n.wadoURLPrefix)):this.wadoURL=this.baseURL,"stowURLPrefix"in n?(g("use URL prefix for STOW-RS: ".concat(n.stowURLPrefix)),this.stowURL="".concat(this.baseURL,"/").concat(n.stowURLPrefix)):this.stowURL=this.baseURL,n.singlepart?(g("use singlepart",n.singlepart),this.singlepart=!0===n.singlepart?"bulkdata,video,image":n.singlepart):this.singlepart="","requestHooks"in n&&(this.requestHooks=n.requestHooks),this.headers=n.headers||{},this.errorInterceptor=n.errorInterceptor||function(){},this.verbose=!1!==n.verbose,this.setDebug(n.debug)}var n,e,a;return n=t,e=[{key:"setDebug",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.debugLevel=!!t,g=n||t?console.log:function(){}}},{key:"getDebug",value:function(){return this.debugLevel}},{key:"setVerbose",value:function(t){this.verbose=t}},{key:"getVerbose",value:function(){return this.verbose}},{key:"_httpRequest",value:function(t,n){var e=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=this.errorInterceptor,o=this.requestHooks;return new Promise((function(c,s){var f=u.request?u.request:new XMLHttpRequest;f.open(n,t,!0),"responseType"in u&&(f.responseType=u.responseType),"object"===r(i)&&Object.keys(i).forEach((function(t){f.setRequestHeader(t,i[t])}));var p,h=e.headers;if(Object.keys(h).forEach((function(t){f.setRequestHeader(t,h[t])})),f.onloadstart=function(){g("upload started: ",t)},f.onloadend=function(){g("upload finished")},f.onreadystatechange=function(){if(4===f.readyState)if(200===f.status){var t=f.getResponseHeader("Content-Type");t&&-1!==t.indexOf("multipart")?c(l(f.response)):"arraybuffer"===f.responseType?c([f.response]):c(f.response)}else if(202===f.status)e.verbose&&console.warn("some resources already existed: ",f),c(f.response);else if(204===f.status)e.verbose&&console.warn("empty response for request: ",f),c([]);else{var n=new Error("request failed");n.request=f,n.response=f.response,n.status=f.status,e.verbose&&(console.error("request failed: ",f),console.error(n),console.error(n.response)),a(n),s(n)}},"progressCallback"in u&&"function"==typeof u.progressCallback&&(f.onprogress=u.progressCallback),o&&function(t){var n=Array.isArray(t)&&t.every((function(t){return"function"==typeof t&&2===t.length}));return n||console.warn("Request hooks should have the following signature: function requestHook(request, metadata) { return request; }"),n}(o)){var v=Object.assign({},i,e.headers),d={method:n,url:t,headers:v},_=(p=o,function(t){return p.reduce((function(t,n){return n(t,d)}),t)});f=_(f)}"withCredentials"in u&&u.withCredentials&&(f.withCredentials=!0),"data"in u?f.send(u.data):f.send()}))}},{key:"_httpGet",value:function(t,n,e,r,i){return this._httpRequest(t,"get",n,{responseType:e,progressCallback:r,withCredentials:i})}},{key:"_httpGetApplicationJson",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0,u=arguments.length>3?arguments[3]:void 0,a=n;"object"===r(e)&&(h(e)||(a+=t._parseQueryParameters(e)));var o={Accept:d.DICOM_JSON};return this._httpGet(a,o,"json",i,u)}},{key:"_httpGetApplicationPdf",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0,u=arguments.length>3?arguments[3]:void 0,a=n;"object"===r(e)&&(h(e)||(a+=t._parseQueryParameters(e)));var o={Accept:d.PDF};return this._httpGet(a,o,"json",i,u)}},{key:"_httpGetImage",value:function(n,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},u=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=n;"object"===r(i)&&(h(i)||(o+=t._parseQueryParameters(i)));var c={Accept:t._buildAcceptHeaderFieldValue(e,["image/","image/*","image/jpeg","image/jp2","image/gif","image/png"])};return this._httpGet(o,c,"arraybuffer",u,a)}},{key:"_httpGetText",value:function(n,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},u=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=n;"object"===r(i)&&(h(i)||(o+=t._parseQueryParameters(i)));var c={Accept:t._buildAcceptHeaderFieldValue(e,["text/","text/*","text/html","text/plain","text/rtf","text/xml"])};return this._httpGet(o,c,"arraybuffer",u,a)}},{key:"_httpGetVideo",value:function(n,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},u=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=n;"object"===r(i)&&(h(i)||(o+=t._parseQueryParameters(i)));var c={Accept:t._buildAcceptHeaderFieldValue(e,["video/","video/*","video/mpeg","video/mp4","video/H265"])};return this._httpGet(o,c,"arraybuffer",u,a)}},{key:"_httpGetMultipartImage",value:function(n,e,r,i){var u,a=arguments.length>5?arguments[5]:void 0,o=arguments.length>6?arguments[6]:void 0,c={};return arguments.length>4&&void 0!==arguments[4]&&arguments[4]?u=["image/jpeg","image/gif","image/png","image/jp2"]:(u={"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"]},r&&(c.Range=t._buildRangeHeaderFieldValue(r))),c.Accept=t._buildMultipartAcceptHeaderFieldValue(e,u),this._httpGet(n,c,"arraybuffer",a,o)}},{key:"_httpGetMultipartVideo",value:function(n,e,r,i){var u,a=arguments.length>5?arguments[5]:void 0,o=arguments.length>6?arguments[6]:void 0,c={};return arguments.length>4&&void 0!==arguments[4]&&arguments[4]?u=["video/","video/*","video/mpeg2","video/mp4","video/H265"]:(u={"1.2.840.10008.1.2.4.100":["video/mpeg2"],"1.2.840.10008.1.2.4.101":["video/mpeg2"],"1.2.840.10008.1.2.4.102":["video/mp4"],"1.2.840.10008.1.2.4.103":["video/mp4"],"1.2.840.10008.1.2.4.104":["video/mp4"],"1.2.840.10008.1.2.4.105":["video/mp4"],"1.2.840.10008.1.2.4.106":["video/mp4"]},r&&(c.Range=t._buildRangeHeaderFieldValue(r))),c.Accept=t._buildMultipartAcceptHeaderFieldValue(e,u),this._httpGet(n,c,"arraybuffer",a,o)}},{key:"_httpGetMultipartApplicationDicom",value:function(n,e,r,i,u){var a={},o="application/dicom",c={"1.2.840.10008.1.2.1":[o],"1.2.840.10008.1.2.5":[o],"1.2.840.10008.1.2.4.50":[o],"1.2.840.10008.1.2.4.51":[o],"1.2.840.10008.1.2.4.57":[o],"1.2.840.10008.1.2.4.70":[o],"1.2.840.10008.1.2.4.80":[o],"1.2.840.10008.1.2.4.81":[o],"1.2.840.10008.1.2.4.90":[o],"1.2.840.10008.1.2.4.91":[o],"1.2.840.10008.1.2.4.92":[o],"1.2.840.10008.1.2.4.93":[o],"1.2.840.10008.1.2.4.100":[o],"1.2.840.10008.1.2.4.101":[o],"1.2.840.10008.1.2.4.102":[o],"1.2.840.10008.1.2.4.103":[o],"1.2.840.10008.1.2.4.104":[o],"1.2.840.10008.1.2.4.105":[o],"1.2.840.10008.1.2.4.106":[o]},s=e;return e||(s=[{mediaType:o}]),a.Accept=t._buildMultipartAcceptHeaderFieldValue(s,c),this._httpGet(n,a,"arraybuffer",i,u)}},{key:"_httpGetMultipartApplicationOctetStream",value:function(n,e,r,i,a,o){var c={},s={"1.2.840.10008.1.2.1":u(Object.values(d))},f=e;return e||(f=[{mediaType:"application/octet-stream"}]),r&&(c.Range=t._buildRangeHeaderFieldValue(r)),c.Accept=t._buildMultipartAcceptHeaderFieldValue(f,s),this._httpGet(n,c,"arraybuffer",a,o)}},{key:"_httpPost",value:function(t,n,e,r,i,u){return this._httpRequest(t,"post",n,{data:e,progressCallback:r,withCredentials:i,request:u})}},{key:"_httpPostApplicationJson",value:function(t,n,e,r){var i={"Content-Type":d.DICOM_JSON};return this._httpPost(t,i,n,e,r)}},{key:"searchForStudies",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};g("search for studies");var e=!1,r="".concat(this.qidoURL,"/studies");return"queryParams"in n&&(r+=t._parseQueryParameters(n.queryParams)),"withCredentials"in n&&n.withCredentials&&(e=n.withCredentials),this._httpGetApplicationJson(r,{},!1,e)}},{key:"retrieveStudyMetadata",value:function(t){if(!("studyInstanceUID"in t))throw new Error("Study Instance UID is required for retrieval of study metadata");g("retrieve metadata of study ".concat(t.studyInstanceUID));var n="".concat(this.wadoURL,"/studies/").concat(t.studyInstanceUID,"/metadata"),e=!1;return"withCredentials"in t&&t.withCredentials&&(e=t.withCredentials),this._httpGetApplicationJson(n,{},!1,e)}},{key:"searchForSeries",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.qidoURL;"studyInstanceUID"in n&&(g("search series of study ".concat(n.studyInstanceUID)),e+="/studies/".concat(n.studyInstanceUID)),e+="/series","queryParams"in n&&(e+=t._parseQueryParameters(n.queryParams));var r=!1;return"withCredentials"in n&&n.withCredentials&&(r=n.withCredentials),this._httpGetApplicationJson(e,{},!1,r)}},{key:"retrieveSeriesMetadata",value:function(t){if(!("studyInstanceUID"in t))throw new Error("Study Instance UID is required for retrieval of series metadata");if(!("seriesInstanceUID"in t))throw new Error("Series Instance UID is required for retrieval of series metadata");g("retrieve metadata of series ".concat(t.seriesInstanceUID));var n="".concat(this.wadoURL,"/studies/").concat(t.studyInstanceUID,"/series/").concat(t.seriesInstanceUID,"/metadata"),e=!1;return"withCredentials"in t&&t.withCredentials&&(e=t.withCredentials),this._httpGetApplicationJson(n,{},!1,e)}},{key:"searchForInstances",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.qidoURL,r=!1;return"studyInstanceUID"in n?(e+="/studies/".concat(n.studyInstanceUID),"seriesInstanceUID"in n?(g("search for instances of series ".concat(n.seriesInstanceUID)),e+="/series/".concat(n.seriesInstanceUID)):g("search for instances of study ".concat(n.studyInstanceUID))):g("search for instances"),e+="/instances","queryParams"in n&&(e+=t._parseQueryParameters(n.queryParams)),"withCredentials"in n&&n.withCredentials&&(r=n.withCredentials),this._httpGetApplicationJson(e,{},!1,r)}},{key:"buildInstanceWadoURIUrl",value:function(t){if(!("studyInstanceUID"in t))throw new Error("Study Instance UID is required.");if(!("seriesInstanceUID"in t))throw new Error("Series Instance UID is required.");if(!("sopInstanceUID"in t))throw new Error("SOP Instance UID is required.");var n=t.contentType||d.DICOM,e=t.transferSyntax||"*",r=[];r.push("requestType=WADO"),r.push("studyUID=".concat(t.studyInstanceUID)),r.push("seriesUID=".concat(t.seriesInstanceUID)),r.push("objectUID=".concat(t.sopInstanceUID)),r.push("contentType=".concat(n)),r.push("transferSyntax=".concat(e));var i=r.join("&");return"".concat(this.wadoURL,"?").concat(i)}},{key:"retrieveInstanceMetadata",value:function(t){if(!("studyInstanceUID"in t))throw new Error("Study Instance UID is required for retrieval of instance metadata");if(!("seriesInstanceUID"in t))throw new Error("Series Instance UID is required for retrieval of instance metadata");if(!("sopInstanceUID"in t))throw new Error("SOP Instance UID is required for retrieval of instance metadata");g("retrieve metadata of instance ".concat(t.sopInstanceUID));var n="".concat(this.wadoURL,"/studies/").concat(t.studyInstanceUID,"/series/").concat(t.seriesInstanceUID,"/instances/").concat(t.sopInstanceUID,"/metadata"),e=!1;return"withCredentials"in t&&t.withCredentials&&(e=t.withCredentials),this._httpGetApplicationJson(n,{},!1,e)}},{key:"retrieveInstanceFrames",value:function(n){if(!("studyInstanceUID"in n))throw new Error("Study Instance UID is required for retrieval of instance frames");if(!("seriesInstanceUID"in n))throw new Error("Series Instance UID is required for retrieval of instance frames");if(!("sopInstanceUID"in n))throw new Error("SOP Instance UID is required for retrieval of instance frames");if(!("frameNumbers"in n))throw new Error("frame numbers are required for retrieval of instance frames");g("retrieve frames ".concat(n.frameNumbers.toString()," of instance ").concat(n.sopInstanceUID));var e="".concat(this.wadoURL,"/studies/").concat(n.studyInstanceUID,"/series/").concat(n.seriesInstanceUID,"/instances/").concat(n.sopInstanceUID,"/frames/").concat(n.frameNumbers.toString()),r=n.mediaTypes,i=!1;"withCredentials"in n&&n.withCredentials&&(i=n.withCredentials);var u=!1;if("progressCallback"in n&&(u=n.progressCallback),!r)return this._httpGetMultipartApplicationOctetStream(e,!1,!1,!1,u,i);if(t._getSharedMediaTypes(r).length>1){var a={Accept:t._buildMultipartAcceptHeaderFieldValue(r,{"1.2.840.10008.1.2.1":["application/octet-stream"],"1.2.840.10008.1.2.5":["image/x-dicom-rle"],"1.2.840.10008.1.2.4.50":["image/jpeg"],"1.2.840.10008.1.2.4.51":["image/jpeg"],"1.2.840.10008.1.2.4.57":["image/jpeg"],"1.2.840.10008.1.2.4.70":["image/jpeg"],"1.2.840.10008.1.2.4.80":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.81":["image/x-jls","image/jls"],"1.2.840.10008.1.2.4.90":["image/jp2"],"1.2.840.10008.1.2.4.91":["image/jp2"],"1.2.840.10008.1.2.4.92":["image/jpx"],"1.2.840.10008.1.2.4.93":["image/jpx"],"1.2.840.10008.1.2.4.201":["image/jhc"],"1.2.840.10008.1.2.4.202":["image/jhc"]})};return this._httpGet(e,a,"arraybuffer",u,i)}var o=t._getCommonMediaType(r);if(o.startsWith("application"))return this._httpGetMultipartApplicationOctetStream(e,r,!1,!1,u,i);if(o.startsWith("image"))return this._httpGetMultipartImage(e,r,!1,!1,!1,u,i);if(o.startsWith("video"))return this._httpGetMultipartVideo(e,r,!1,!1,!1,u,i);throw new Error("Media type ".concat(o," is not supported for retrieval of frames."))}},{key:"retrieveInstanceRendered",value:function(n){if(!("studyInstanceUID"in n))throw new Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in n))throw new Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in n))throw new Error("SOP Instance UID is required for retrieval of rendered instance");var e="".concat(this.wadoURL,"/studies/").concat(n.studyInstanceUID,"/series/").concat(n.seriesInstanceUID,"/instances/").concat(n.sopInstanceUID,"/rendered"),r=n.mediaTypes,i=n.queryParams,u=!1;"withCredentials"in n&&n.withCredentials&&(u=n.withCredentials);var a=!1;if("progressCallback"in n&&(a=n.progressCallback),!r)return i&&(e+=t._parseQueryParameters(i)),this._httpGet(e,{},"arraybuffer",a,u);var o=t._getCommonMediaType(r);if(o.startsWith("image"))return this._httpGetImage(e,r,i,a,u);if(o.startsWith("video"))return this._httpGetVideo(e,r,i,a,u);if(o.startsWith("text"))return this._httpGetText(e,r,i,a,u);if(o===d.PDF)return this._httpGetApplicationPdf(e,i,a,u);throw new Error("Media type ".concat(o," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceThumbnail",value:function(n){if(!("studyInstanceUID"in n))throw new Error("Study Instance UID is required for retrieval of rendered instance");if(!("seriesInstanceUID"in n))throw new Error("Series Instance UID is required for retrieval of rendered instance");if(!("sopInstanceUID"in n))throw new Error("SOP Instance UID is required for retrieval of rendered instance");var e="".concat(this.wadoURL,"/studies/").concat(n.studyInstanceUID,"/series/").concat(n.seriesInstanceUID,"/instances/").concat(n.sopInstanceUID,"/thumbnail"),r=n.mediaTypes,i=n.queryParams,u=!1;"withCredentials"in n&&n.withCredentials&&(u=n.withCredentials);var a=!1;if("progressCallback"in n&&(a=n.progressCallback),!r)return i&&(e+=t._parseQueryParameters(i)),this._httpGet(e,{},"arraybuffer",a,u);var o=t._getCommonMediaType(r);if(o.startsWith("image"))return this._httpGetImage(e,r,i,a,u);throw new Error("Media type ".concat(o," is not supported ")+"for retrieval of rendered instance.")}},{key:"retrieveInstanceFramesRendered",value:function(n){if(!("studyInstanceUID"in n))throw new Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in n))throw new Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in n))throw new Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in n))throw new Error("frame numbers are required for retrieval of rendered instance frames");g("retrieve rendered frames ".concat(n.frameNumbers.toString()," of instance ").concat(n.sopInstanceUID));var e="".concat(this.wadoURL,"/studies/").concat(n.studyInstanceUID,"/series/").concat(n.seriesInstanceUID,"/instances/").concat(n.sopInstanceUID,"/frames/").concat(n.frameNumbers.toString(),"/rendered"),r=n.mediaTypes,i=n.queryParams,u=!1;"withCredentials"in n&&n.withCredentials&&(u=n.withCredentials);var a=!1;if("progressCallback"in n&&(a=n.progressCallback),!r)return i&&(e+=t._parseQueryParameters(i)),this._httpGet(e,{},"arraybuffer",!1,u);var o=t._getCommonMediaType(r);if(o.startsWith("image"))return this._httpGetImage(e,r,i,a,u);if(o.startsWith("video"))return this._httpGetVideo(e,r,i,a,u);throw new Error("Media type ".concat(o," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstanceFramesThumbnail",value:function(n){if(!("studyInstanceUID"in n))throw new Error("Study Instance UID is required for retrieval of rendered instance frames");if(!("seriesInstanceUID"in n))throw new Error("Series Instance UID is required for retrieval of rendered instance frames");if(!("sopInstanceUID"in n))throw new Error("SOP Instance UID is required for retrieval of rendered instance frames");if(!("frameNumbers"in n))throw new Error("frame numbers are required for retrieval of rendered instance frames");console.debug("retrieve rendered frames ".concat(n.frameNumbers.toString()," of instance ").concat(n.sopInstanceUID));var e="".concat(this.wadoURL,"/studies/").concat(n.studyInstanceUID,"/series/").concat(n.seriesInstanceUID,"/instances/").concat(n.sopInstanceUID,"/frames/").concat(n.frameNumbers.toString(),"/thumbnail"),r=n.mediaTypes,i=n.queryParams,u=!1;"withCredentials"in n&&n.withCredentials&&(u=n.withCredentials);var a=!1;if("progressCallback"in n&&(a=n.progressCallback),!r)return i&&(e+=t._parseQueryParameters(i)),this._httpGet(e,{},"arraybuffer",a,u);var o=t._getCommonMediaType(r);if(o.startsWith("image"))return this._httpGetImage(e,r,i,a,u);throw new Error("Media type ".concat(o," is not supported ")+"for retrieval of rendered frame.")}},{key:"retrieveInstance",value:function(n){if(!("studyInstanceUID"in n))throw new Error("Study Instance UID is required");if(!("seriesInstanceUID"in n))throw new Error("Series Instance UID is required");if(!("sopInstanceUID"in n))throw new Error("SOP Instance UID is required");var e="".concat(this.wadoURL,"/studies/").concat(n.studyInstanceUID,"/series/").concat(n.seriesInstanceUID,"/instances/").concat(n.sopInstanceUID),r=n.mediaTypes,i=n.withCredentials,u=void 0!==i&&i,a=n.progressCallback,o=void 0!==a&&a;if(!r)return this._httpGetMultipartApplicationDicom(e,!1,!1,o,u).then(v);var c=t._getCommonMediaType(r);if(c===d.DICOM)return this._httpGetMultipartApplicationDicom(e,r,!1,o,u).then(v);throw new Error("Media type ".concat(c," is not supported for retrieval of instance."))}},{key:"retrieveSeries",value:function(n){if(!("studyInstanceUID"in n))throw new Error("Study Instance UID is required");if(!("seriesInstanceUID"in n))throw new Error("Series Instance UID is required");var e="".concat(this.wadoURL,"/studies/").concat(n.studyInstanceUID,"/series/").concat(n.seriesInstanceUID),r=n.mediaTypes,i=!1;"withCredentials"in n&&n.withCredentials&&(i=n.withCredentials);var u=!1;if("progressCallback"in n&&(u=n.progressCallback),!r)return this._httpGetMultipartApplicationDicom(e,!1,!1,u,i);var a=t._getCommonMediaType(r);if(a===d.DICOM)return this._httpGetMultipartApplicationDicom(e,r,!1,u,i);throw new Error("Media type ".concat(a," is not supported for retrieval of series."))}},{key:"retrieveStudy",value:function(n){if(!("studyInstanceUID"in n))throw new Error("Study Instance UID is required");var e="".concat(this.wadoURL,"/studies/").concat(n.studyInstanceUID),r=n.mediaTypes,i=n.withCredentials,u=void 0!==i&&i,a=n.progressCallback,o=void 0!==a&&a;if(!r)return this._httpGetMultipartApplicationDicom(e,!1,!1,o,u);var c=t._getCommonMediaType(r);if(c===d.DICOM)return this._httpGetMultipartApplicationDicom(e,r,!1,o,u);throw new Error("Media type ".concat(c," is not supported for retrieval of study."))}},{key:"retrieveBulkData",value:function(n){if(!("BulkDataURI"in n))throw new Error("BulkDataURI is required.");var e=n.BulkDataURI,r=n.mediaTypes,i=n.byteRange,u=n.withCredentials,a=void 0!==u&&u,o=n.progressCallback,c=void 0!==o&&o;if(-1!==this.singlepart.indexOf("bulkdata"))return this._httpGet(e,n.headers,"arraybuffer",null,a);if(r)try{if("image/"===t._getCommonMediaType(r))return this._httpGetMultipartImage(e,r,i,!1,!1,c,a)}catch(t){}return this._httpGetMultipartApplicationOctetStream(e,r,i,!1,c,a)}},{key:"storeInstances",value:function(t){if(!("datasets"in t))throw new Error("datasets are required for storing");var n="".concat(this.stowURL,"/studies");"studyInstanceUID"in t&&(n+="/".concat(t.studyInstanceUID));var e=f(t.datasets),r=e.data,i=e.boundary,u={"Content-Type":'multipart/related; type="application/dicom"; boundary="'.concat(i,'"')},a=t.withCredentials,o=void 0!==a&&a;return this._httpPost(n,u,r,t.progressCallback,o,t.request)}}],a=[{key:"_parseQueryParameters",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n="?";return Object.keys(t).forEach((function(e,r){0!==r&&(n+="&"),n+="".concat(e,"=").concat(encodeURIComponent(t[e]))})),n}},{key:"_assertMediaTypeIsValid",value:function(t){if(!t)throw new Error("Not a valid media type: ".concat(t));var n=t.indexOf("/");if(-1===n)throw new Error("Not a valid media type: ".concat(t));var e=t.slice(0,n);if(!["application","image","text","video"].includes(e))throw new Error("Not a valid media type: ".concat(t));if(t.slice(n+1).includes("/"))throw new Error("Not a valid media type: ".concat(t))}},{key:"_parseMediaType",value:function(n){return t._assertMediaTypeIsValid(n),n.split("/")}},{key:"_buildAcceptHeaderFieldValue",value:function(n,e){if(!Array.isArray(n))throw new Error("Acceptable media types must be provided as an Array");return n.map((function(n){var r=n.mediaType;if(t._assertMediaTypeIsValid(r),!e.includes(r))throw new Error("Media type ".concat(r," is not supported for requested resource"));return r})).join(", ")}},{key:"_buildMultipartAcceptHeaderFieldValue",value:function(n,e){var r=this;if(!Array.isArray(n))throw new Error("Acceptable media types must be provided as an Array");if(!Array.isArray(e)&&!p(e))throw new Error("Supported media types must be provided as an Array or an Object");var i=[];if(n.forEach((function(n){var u=n.transferSyntaxUID,a=n.mediaType;t._assertMediaTypeIsValid(a);var o='multipart/related; type="'.concat(a,'"');if(p(e)){if(!(Object.values(e).flat(1).includes(a)||a.endsWith("/*")&&a.endsWith("/")))return void g("Media type ".concat(a," is not supported for requested resource"));if(u){if("*"!==u){if(!Object.keys(e).includes(u))throw new Error("Transfer syntax ".concat(u," is not supported for requested resource"));var c=e[u];if(!c.includes(a)){var s=t._parseMediaType(a)[0];c.map((function(n){var e=t._parseMediaType(n)[0];if(s!==e||!a.endsWith("/*")&&!a.endsWith("/"))throw new Error("Transfer syntax ".concat(u," is not supported for requested resource"))}))}}o+="; transfer-syntax=".concat(u)}}else if(Array.isArray(e)&&!e.includes(a))return void(r.verbose&&console.warn("Media type ".concat(a," is not supported for requested resource")));i.push(o)})),!i.length)throw new Error("No acceptable media types found among ".concat(JSON.stringify(n)));return i.join(", ")}},{key:"_buildRangeHeaderFieldValue",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return 1===t.length?"bytes=".concat(t[0],"-"):2===t.length?"bytes=".concat(t[0],"-").concat(t[1]):"bytes=0-"}},{key:"_getSharedMediaTypes",value:function(n){var e=new Set;return n&&n.length?(n.forEach((function(n){var r=n.mediaType,i=t._parseMediaType(r)[0];e.add("".concat(i,"/"))})),Array.from(e)):e}},{key:"_getCommonMediaType",value:function(n){if(!n||!n.length)throw new Error("No acceptable media types provided");var e=t._getSharedMediaTypes(n);if(0===e.length)throw new Error("No common acceptable media type could be identified.");if(e.length>1)throw new Error("Acceptable media types must have the same type.");return e[0]}}],e&&i(n.prototype,e),a&&i(n,a),Object.defineProperty(n,"prototype",{writable:!1}),t}()}},5517:function(t,n,e){var r;t=e.nmd(t),function(){var i,u="Expected a function",a="__lodash_hash_undefined__",o="__lodash_placeholder__",c=16,s=32,f=64,l=128,p=256,h=1/0,v=9007199254740991,d=NaN,g=4294967295,_=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",c],["flip",512],["partial",s],["partialRight",f],["rearg",p]],y="[object Arguments]",m="[object Array]",w="[object Boolean]",b="[object Date]",I="[object Error]",U="[object Function]",D="[object GeneratorFunction]",A="[object Map]",x="[object Number]",j="[object Object]",k="[object Promise]",C="[object RegExp]",S="[object Set]",R="[object String]",E="[object Symbol]",O="[object WeakMap]",q="[object ArrayBuffer]",M="[object DataView]",T="[object Float32Array]",L="[object Float64Array]",P="[object Int8Array]",G="[object Int16Array]",W="[object Int32Array]",z="[object Uint8Array]",F="[object Uint8ClampedArray]",N="[object Uint16Array]",B="[object Uint32Array]",V=/\b__p \+= '';/g,H=/\b(__p \+=) '' \+/g,$=/(__e\(.*?\)|\b__t\)) \+\n'';/g,J=/&(?:amp|lt|gt|quot|#39);/g,Q=/[&<>"']/g,Z=RegExp(J.source),K=RegExp(Q.source),Y=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,tt=/<%=([\s\S]+?)%>/g,nt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,et=/^\w*$/,rt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,it=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(it.source),at=/^\s+/,ot=/\s/,ct=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ft=/,? & /,lt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pt=/[()=,{}\[\]\/\s]/,ht=/\\(\\)?/g,vt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dt=/\w*$/,gt=/^[-+]0x[0-9a-f]+$/i,_t=/^0b[01]+$/i,yt=/^\[object .+?Constructor\]$/,mt=/^0o[0-7]+$/i,wt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,It=/($^)/,Ut=/['\n\r\u2028\u2029\\]/g,Dt="\\ud800-\\udfff",At="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",jt="a-z\\xdf-\\xf6\\xf8-\\xff",kt="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\ufe0e\\ufe0f",St="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Rt="['’]",Et="["+Dt+"]",Ot="["+St+"]",qt="["+At+"]",Mt="\\d+",Tt="["+xt+"]",Lt="["+jt+"]",Pt="[^"+Dt+St+Mt+xt+jt+kt+"]",Gt="\\ud83c[\\udffb-\\udfff]",Wt="[^"+Dt+"]",zt="(?:\\ud83c[\\udde6-\\uddff]){2}",Ft="[\\ud800-\\udbff][\\udc00-\\udfff]",Nt="["+kt+"]",Bt="\\u200d",Vt="(?:"+Lt+"|"+Pt+")",Ht="(?:"+Nt+"|"+Pt+")",$t="(?:['’](?:d|ll|m|re|s|t|ve))?",Jt="(?:['’](?:D|LL|M|RE|S|T|VE))?",Qt="(?:"+qt+"|"+Gt+")"+"?",Zt="["+Ct+"]?",Kt=Zt+Qt+("(?:"+Bt+"(?:"+[Wt,zt,Ft].join("|")+")"+Zt+Qt+")*"),Yt="(?:"+[Tt,zt,Ft].join("|")+")"+Kt,Xt="(?:"+[Wt+qt+"?",qt,zt,Ft,Et].join("|")+")",tn=RegExp(Rt,"g"),nn=RegExp(qt,"g"),en=RegExp(Gt+"(?="+Gt+")|"+Xt+Kt,"g"),rn=RegExp([Nt+"?"+Lt+"+"+$t+"(?="+[Ot,Nt,"$"].join("|")+")",Ht+"+"+Jt+"(?="+[Ot,Nt+Vt,"$"].join("|")+")",Nt+"?"+Vt+"+"+$t,Nt+"+"+Jt,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Mt,Yt].join("|"),"g"),un=RegExp("["+Bt+Dt+At+Ct+"]"),an=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,on=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],cn=-1,sn={};sn[T]=sn[L]=sn[P]=sn[G]=sn[W]=sn[z]=sn[F]=sn[N]=sn[B]=!0,sn[y]=sn[m]=sn[q]=sn[w]=sn[M]=sn[b]=sn[I]=sn[U]=sn[A]=sn[x]=sn[j]=sn[C]=sn[S]=sn[R]=sn[O]=!1;var fn={};fn[y]=fn[m]=fn[q]=fn[M]=fn[w]=fn[b]=fn[T]=fn[L]=fn[P]=fn[G]=fn[W]=fn[A]=fn[x]=fn[j]=fn[C]=fn[S]=fn[R]=fn[E]=fn[z]=fn[F]=fn[N]=fn[B]=!0,fn[I]=fn[U]=fn[O]=!1;var ln={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},pn=parseFloat,hn=parseInt,vn="object"==typeof e.g&&e.g&&e.g.Object===Object&&e.g,dn="object"==typeof self&&self&&self.Object===Object&&self,gn=vn||dn||Function("return this")(),_n=n&&!n.nodeType&&n,yn=_n&&t&&!t.nodeType&&t,mn=yn&&yn.exports===_n,wn=mn&&vn.process,bn=function(){try{var t=yn&&yn.require&&yn.require("util").types;return t||wn&&wn.binding&&wn.binding("util")}catch(t){}}(),In=bn&&bn.isArrayBuffer,Un=bn&&bn.isDate,Dn=bn&&bn.isMap,An=bn&&bn.isRegExp,xn=bn&&bn.isSet,jn=bn&&bn.isTypedArray;function kn(t,n,e){switch(e.length){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}function Cn(t,n,e,r){for(var i=-1,u=null==t?0:t.length;++i<u;){var a=t[i];n(r,a,e(a),t)}return r}function Sn(t,n){for(var e=-1,r=null==t?0:t.length;++e<r&&!1!==n(t[e],e,t););return t}function Rn(t,n){for(var e=null==t?0:t.length;e--&&!1!==n(t[e],e,t););return t}function En(t,n){for(var e=-1,r=null==t?0:t.length;++e<r;)if(!n(t[e],e,t))return!1;return!0}function On(t,n){for(var e=-1,r=null==t?0:t.length,i=0,u=[];++e<r;){var a=t[e];n(a,e,t)&&(u[i++]=a)}return u}function qn(t,n){return!!(null==t?0:t.length)&&Bn(t,n,0)>-1}function Mn(t,n,e){for(var r=-1,i=null==t?0:t.length;++r<i;)if(e(n,t[r]))return!0;return!1}function Tn(t,n){for(var e=-1,r=null==t?0:t.length,i=Array(r);++e<r;)i[e]=n(t[e],e,t);return i}function Ln(t,n){for(var e=-1,r=n.length,i=t.length;++e<r;)t[i+e]=n[e];return t}function Pn(t,n,e,r){var i=-1,u=null==t?0:t.length;for(r&&u&&(e=t[++i]);++i<u;)e=n(e,t[i],i,t);return e}function Gn(t,n,e,r){var i=null==t?0:t.length;for(r&&i&&(e=t[--i]);i--;)e=n(e,t[i],i,t);return e}function Wn(t,n){for(var e=-1,r=null==t?0:t.length;++e<r;)if(n(t[e],e,t))return!0;return!1}var zn=Jn("length");function Fn(t,n,e){var r;return e(t,(function(t,e,i){if(n(t,e,i))return r=e,!1})),r}function Nn(t,n,e,r){for(var i=t.length,u=e+(r?1:-1);r?u--:++u<i;)if(n(t[u],u,t))return u;return-1}function Bn(t,n,e){return n==n?function(t,n,e){var r=e-1,i=t.length;for(;++r<i;)if(t[r]===n)return r;return-1}(t,n,e):Nn(t,Hn,e)}function Vn(t,n,e,r){for(var i=e-1,u=t.length;++i<u;)if(r(t[i],n))return i;return-1}function Hn(t){return t!=t}function $n(t,n){var e=null==t?0:t.length;return e?Kn(t,n)/e:d}function Jn(t){return function(n){return null==n?i:n[t]}}function Qn(t){return function(n){return null==t?i:t[n]}}function Zn(t,n,e,r,i){return i(t,(function(t,i,u){e=r?(r=!1,t):n(e,t,i,u)})),e}function Kn(t,n){for(var e,r=-1,u=t.length;++r<u;){var a=n(t[r]);a!==i&&(e=e===i?a:e+a)}return e}function Yn(t,n){for(var e=-1,r=Array(t);++e<t;)r[e]=n(e);return r}function Xn(t){return t?t.slice(0,ge(t)+1).replace(at,""):t}function te(t){return function(n){return t(n)}}function ne(t,n){return Tn(n,(function(n){return t[n]}))}function ee(t,n){return t.has(n)}function re(t,n){for(var e=-1,r=t.length;++e<r&&Bn(n,t[e],0)>-1;);return e}function ie(t,n){for(var e=t.length;e--&&Bn(n,t[e],0)>-1;);return e}var ue=Qn({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),ae=Qn({"&":"&","<":"<",">":">",'"':""","'":"'"});function oe(t){return"\\"+ln[t]}function ce(t){return un.test(t)}function se(t){var n=-1,e=Array(t.size);return t.forEach((function(t,r){e[++n]=[r,t]})),e}function fe(t,n){return function(e){return t(n(e))}}function le(t,n){for(var e=-1,r=t.length,i=0,u=[];++e<r;){var a=t[e];a!==n&&a!==o||(t[e]=o,u[i++]=e)}return u}function pe(t){var n=-1,e=Array(t.size);return t.forEach((function(t){e[++n]=t})),e}function he(t){var n=-1,e=Array(t.size);return t.forEach((function(t){e[++n]=[t,t]})),e}function ve(t){return ce(t)?function(t){var n=en.lastIndex=0;for(;en.test(t);)++n;return n}(t):zn(t)}function de(t){return ce(t)?function(t){return t.match(en)||[]}(t):function(t){return t.split("")}(t)}function ge(t){for(var n=t.length;n--&&ot.test(t.charAt(n)););return n}var _e=Qn({"&":"&","<":"<",">":">",""":'"',"'":"'"});var ye=function t(n){var e,r=(n=null==n?gn:ye.defaults(gn.Object(),n,ye.pick(gn,on))).Array,ot=n.Date,Dt=n.Error,At=n.Function,xt=n.Math,jt=n.Object,kt=n.RegExp,Ct=n.String,St=n.TypeError,Rt=r.prototype,Et=At.prototype,Ot=jt.prototype,qt=n["__core-js_shared__"],Mt=Et.toString,Tt=Ot.hasOwnProperty,Lt=0,Pt=(e=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"",Gt=Ot.toString,Wt=Mt.call(jt),zt=gn._,Ft=kt("^"+Mt.call(Tt).replace(it,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Nt=mn?n.Buffer:i,Bt=n.Symbol,Vt=n.Uint8Array,Ht=Nt?Nt.allocUnsafe:i,$t=fe(jt.getPrototypeOf,jt),Jt=jt.create,Qt=Ot.propertyIsEnumerable,Zt=Rt.splice,Kt=Bt?Bt.isConcatSpreadable:i,Yt=Bt?Bt.iterator:i,Xt=Bt?Bt.toStringTag:i,en=function(){try{var t=pu(jt,"defineProperty");return t({},"",{}),t}catch(t){}}(),un=n.clearTimeout!==gn.clearTimeout&&n.clearTimeout,ln=ot&&ot.now!==gn.Date.now&&ot.now,vn=n.setTimeout!==gn.setTimeout&&n.setTimeout,dn=xt.ceil,_n=xt.floor,yn=jt.getOwnPropertySymbols,wn=Nt?Nt.isBuffer:i,bn=n.isFinite,zn=Rt.join,Qn=fe(jt.keys,jt),me=xt.max,we=xt.min,be=ot.now,Ie=n.parseInt,Ue=xt.random,De=Rt.reverse,Ae=pu(n,"DataView"),xe=pu(n,"Map"),je=pu(n,"Promise"),ke=pu(n,"Set"),Ce=pu(n,"WeakMap"),Se=pu(jt,"create"),Re=Ce&&new Ce,Ee={},Oe=Pu(Ae),qe=Pu(xe),Me=Pu(je),Te=Pu(ke),Le=Pu(Ce),Pe=Bt?Bt.prototype:i,Ge=Pe?Pe.valueOf:i,We=Pe?Pe.toString:i;function ze(t){if(no(t)&&!Ba(t)&&!(t instanceof Ve)){if(t instanceof Be)return t;if(Tt.call(t,"__wrapped__"))return Gu(t)}return new Be(t)}var Fe=function(){function t(){}return function(n){if(!to(n))return{};if(Jt)return Jt(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function Ne(){}function Be(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}function Ve(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=g,this.__views__=[]}function He(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function $e(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Je(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Qe(t){var n=-1,e=null==t?0:t.length;for(this.__data__=new Je;++n<e;)this.add(t[n])}function Ze(t){var n=this.__data__=new $e(t);this.size=n.size}function Ke(t,n){var e=Ba(t),r=!e&&Na(t),i=!e&&!r&&Ja(t),u=!e&&!r&&!i&&so(t),a=e||r||i||u,o=a?Yn(t.length,Ct):[],c=o.length;for(var s in t)!n&&!Tt.call(t,s)||a&&("length"==s||i&&("offset"==s||"parent"==s)||u&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||mu(s,c))||o.push(s);return o}function Ye(t){var n=t.length;return n?t[Qr(0,n-1)]:i}function Xe(t,n){return Mu(Si(t),cr(n,0,t.length))}function tr(t){return Mu(Si(t))}function nr(t,n,e){(e!==i&&!Wa(t[n],e)||e===i&&!(n in t))&&ar(t,n,e)}function er(t,n,e){var r=t[n];Tt.call(t,n)&&Wa(r,e)&&(e!==i||n in t)||ar(t,n,e)}function rr(t,n){for(var e=t.length;e--;)if(Wa(t[e][0],n))return e;return-1}function ir(t,n,e,r){return hr(t,(function(t,i,u){n(r,t,e(t),u)})),r}function ur(t,n){return t&&Ri(n,Eo(n),t)}function ar(t,n,e){"__proto__"==n&&en?en(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function or(t,n){for(var e=-1,u=n.length,a=r(u),o=null==t;++e<u;)a[e]=o?i:jo(t,n[e]);return a}function cr(t,n,e){return t==t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function sr(t,n,e,r,u,a){var o,c=1&n,s=2&n,f=4&n;if(e&&(o=u?e(t,r,u,a):e(t)),o!==i)return o;if(!to(t))return t;var l=Ba(t);if(l){if(o=function(t){var n=t.length,e=new t.constructor(n);n&&"string"==typeof t[0]&&Tt.call(t,"index")&&(e.index=t.index,e.input=t.input);return e}(t),!c)return Si(t,o)}else{var p=du(t),h=p==U||p==D;if(Ja(t))return Di(t,c);if(p==j||p==y||h&&!u){if(o=s||h?{}:_u(t),!c)return s?function(t,n){return Ri(t,vu(t),n)}(t,function(t,n){return t&&Ri(n,Oo(n),t)}(o,t)):function(t,n){return Ri(t,hu(t),n)}(t,ur(o,t))}else{if(!fn[p])return u?t:{};o=function(t,n,e){var r=t.constructor;switch(n){case q:return Ai(t);case w:case b:return new r(+t);case M:return function(t,n){var e=n?Ai(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}(t,e);case T:case L:case P:case G:case W:case z:case F:case N:case B:return xi(t,e);case A:return new r;case x:case R:return new r(t);case C:return function(t){var n=new t.constructor(t.source,dt.exec(t));return n.lastIndex=t.lastIndex,n}(t);case S:return new r;case E:return i=t,Ge?jt(Ge.call(i)):{}}var i}(t,p,c)}}a||(a=new Ze);var v=a.get(t);if(v)return v;a.set(t,o),ao(t)?t.forEach((function(r){o.add(sr(r,n,e,r,t,a))})):eo(t)&&t.forEach((function(r,i){o.set(i,sr(r,n,e,i,t,a))}));var d=l?i:(f?s?uu:iu:s?Oo:Eo)(t);return Sn(d||t,(function(r,i){d&&(r=t[i=r]),er(o,i,sr(r,n,e,i,t,a))})),o}function fr(t,n,e){var r=e.length;if(null==t)return!r;for(t=jt(t);r--;){var u=e[r],a=n[u],o=t[u];if(o===i&&!(u in t)||!a(o))return!1}return!0}function lr(t,n,e){if("function"!=typeof t)throw new St(u);return Ru((function(){t.apply(i,e)}),n)}function pr(t,n,e,r){var i=-1,u=qn,a=!0,o=t.length,c=[],s=n.length;if(!o)return c;e&&(n=Tn(n,te(e))),r?(u=Mn,a=!1):n.length>=200&&(u=ee,a=!1,n=new Qe(n));t:for(;++i<o;){var f=t[i],l=null==e?f:e(f);if(f=r||0!==f?f:0,a&&l==l){for(var p=s;p--;)if(n[p]===l)continue t;c.push(f)}else u(n,l,r)||c.push(f)}return c}ze.templateSettings={escape:Y,evaluate:X,interpolate:tt,variable:"",imports:{_:ze}},ze.prototype=Ne.prototype,ze.prototype.constructor=ze,Be.prototype=Fe(Ne.prototype),Be.prototype.constructor=Be,Ve.prototype=Fe(Ne.prototype),Ve.prototype.constructor=Ve,He.prototype.clear=function(){this.__data__=Se?Se(null):{},this.size=0},He.prototype.delete=function(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n},He.prototype.get=function(t){var n=this.__data__;if(Se){var e=n[t];return e===a?i:e}return Tt.call(n,t)?n[t]:i},He.prototype.has=function(t){var n=this.__data__;return Se?n[t]!==i:Tt.call(n,t)},He.prototype.set=function(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=Se&&n===i?a:n,this},$e.prototype.clear=function(){this.__data__=[],this.size=0},$e.prototype.delete=function(t){var n=this.__data__,e=rr(n,t);return!(e<0)&&(e==n.length-1?n.pop():Zt.call(n,e,1),--this.size,!0)},$e.prototype.get=function(t){var n=this.__data__,e=rr(n,t);return e<0?i:n[e][1]},$e.prototype.has=function(t){return rr(this.__data__,t)>-1},$e.prototype.set=function(t,n){var e=this.__data__,r=rr(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this},Je.prototype.clear=function(){this.size=0,this.__data__={hash:new He,map:new(xe||$e),string:new He}},Je.prototype.delete=function(t){var n=fu(this,t).delete(t);return this.size-=n?1:0,n},Je.prototype.get=function(t){return fu(this,t).get(t)},Je.prototype.has=function(t){return fu(this,t).has(t)},Je.prototype.set=function(t,n){var e=fu(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this},Qe.prototype.add=Qe.prototype.push=function(t){return this.__data__.set(t,a),this},Qe.prototype.has=function(t){return this.__data__.has(t)},Ze.prototype.clear=function(){this.__data__=new $e,this.size=0},Ze.prototype.delete=function(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e},Ze.prototype.get=function(t){return this.__data__.get(t)},Ze.prototype.has=function(t){return this.__data__.has(t)},Ze.prototype.set=function(t,n){var e=this.__data__;if(e instanceof $e){var r=e.__data__;if(!xe||r.length<199)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new Je(r)}return e.set(t,n),this.size=e.size,this};var hr=qi(br),vr=qi(Ir,!0);function dr(t,n){var e=!0;return hr(t,(function(t,r,i){return e=!!n(t,r,i)})),e}function gr(t,n,e){for(var r=-1,u=t.length;++r<u;){var a=t[r],o=n(a);if(null!=o&&(c===i?o==o&&!co(o):e(o,c)))var c=o,s=a}return s}function _r(t,n){var e=[];return hr(t,(function(t,r,i){n(t,r,i)&&e.push(t)})),e}function yr(t,n,e,r,i){var u=-1,a=t.length;for(e||(e=yu),i||(i=[]);++u<a;){var o=t[u];n>0&&e(o)?n>1?yr(o,n-1,e,r,i):Ln(i,o):r||(i[i.length]=o)}return i}var mr=Mi(),wr=Mi(!0);function br(t,n){return t&&mr(t,n,Eo)}function Ir(t,n){return t&&wr(t,n,Eo)}function Ur(t,n){return On(n,(function(n){return Ka(t[n])}))}function Dr(t,n){for(var e=0,r=(n=wi(n,t)).length;null!=t&&e<r;)t=t[Lu(n[e++])];return e&&e==r?t:i}function Ar(t,n,e){var r=n(t);return Ba(t)?r:Ln(r,e(t))}function xr(t){return null==t?t===i?"[object Undefined]":"[object Null]":Xt&&Xt in jt(t)?function(t){var n=Tt.call(t,Xt),e=t[Xt];try{t[Xt]=i;var r=!0}catch(t){}var u=Gt.call(t);r&&(n?t[Xt]=e:delete t[Xt]);return u}(t):function(t){return Gt.call(t)}(t)}function jr(t,n){return t>n}function kr(t,n){return null!=t&&Tt.call(t,n)}function Cr(t,n){return null!=t&&n in jt(t)}function Sr(t,n,e){for(var u=e?Mn:qn,a=t[0].length,o=t.length,c=o,s=r(o),f=1/0,l=[];c--;){var p=t[c];c&&n&&(p=Tn(p,te(n))),f=we(p.length,f),s[c]=!e&&(n||a>=120&&p.length>=120)?new Qe(c&&p):i}p=t[0];var h=-1,v=s[0];t:for(;++h<a&&l.length<f;){var d=p[h],g=n?n(d):d;if(d=e||0!==d?d:0,!(v?ee(v,g):u(l,g,e))){for(c=o;--c;){var _=s[c];if(!(_?ee(_,g):u(t[c],g,e)))continue t}v&&v.push(g),l.push(d)}}return l}function Rr(t,n,e){var r=null==(t=ku(t,n=wi(n,t)))?t:t[Lu(Zu(n))];return null==r?i:kn(r,t,e)}function Er(t){return no(t)&&xr(t)==y}function Or(t,n,e,r,u){return t===n||(null==t||null==n||!no(t)&&!no(n)?t!=t&&n!=n:function(t,n,e,r,u,a){var o=Ba(t),c=Ba(n),s=o?m:du(t),f=c?m:du(n),l=(s=s==y?j:s)==j,p=(f=f==y?j:f)==j,h=s==f;if(h&&Ja(t)){if(!Ja(n))return!1;o=!0,l=!1}if(h&&!l)return a||(a=new Ze),o||so(t)?eu(t,n,e,r,u,a):function(t,n,e,r,i,u,a){switch(e){case M:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case q:return!(t.byteLength!=n.byteLength||!u(new Vt(t),new Vt(n)));case w:case b:case x:return Wa(+t,+n);case I:return t.name==n.name&&t.message==n.message;case C:case R:return t==n+"";case A:var o=se;case S:var c=1&r;if(o||(o=pe),t.size!=n.size&&!c)return!1;var s=a.get(t);if(s)return s==n;r|=2,a.set(t,n);var f=eu(o(t),o(n),r,i,u,a);return a.delete(t),f;case E:if(Ge)return Ge.call(t)==Ge.call(n)}return!1}(t,n,s,e,r,u,a);if(!(1&e)){var v=l&&Tt.call(t,"__wrapped__"),d=p&&Tt.call(n,"__wrapped__");if(v||d){var g=v?t.value():t,_=d?n.value():n;return a||(a=new Ze),u(g,_,e,r,a)}}if(!h)return!1;return a||(a=new Ze),function(t,n,e,r,u,a){var o=1&e,c=iu(t),s=c.length,f=iu(n),l=f.length;if(s!=l&&!o)return!1;var p=s;for(;p--;){var h=c[p];if(!(o?h in n:Tt.call(n,h)))return!1}var v=a.get(t),d=a.get(n);if(v&&d)return v==n&&d==t;var g=!0;a.set(t,n),a.set(n,t);var _=o;for(;++p<s;){var y=t[h=c[p]],m=n[h];if(r)var w=o?r(m,y,h,n,t,a):r(y,m,h,t,n,a);if(!(w===i?y===m||u(y,m,e,r,a):w)){g=!1;break}_||(_="constructor"==h)}if(g&&!_){var b=t.constructor,I=n.constructor;b==I||!("constructor"in t)||!("constructor"in n)||"function"==typeof b&&b instanceof b&&"function"==typeof I&&I instanceof I||(g=!1)}return a.delete(t),a.delete(n),g}(t,n,e,r,u,a)}(t,n,e,r,Or,u))}function qr(t,n,e,r){var u=e.length,a=u,o=!r;if(null==t)return!a;for(t=jt(t);u--;){var c=e[u];if(o&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++u<a;){var s=(c=e[u])[0],f=t[s],l=c[1];if(o&&c[2]){if(f===i&&!(s in t))return!1}else{var p=new Ze;if(r)var h=r(f,l,s,t,n,p);if(!(h===i?Or(l,f,3,r,p):h))return!1}}return!0}function Mr(t){return!(!to(t)||(n=t,Pt&&Pt in n))&&(Ka(t)?Ft:yt).test(Pu(t));var n}function Tr(t){return"function"==typeof t?t:null==t?ic:"object"==typeof t?Ba(t)?Fr(t[0],t[1]):zr(t):hc(t)}function Lr(t){if(!Du(t))return Qn(t);var n=[];for(var e in jt(t))Tt.call(t,e)&&"constructor"!=e&&n.push(e);return n}function Pr(t){if(!to(t))return function(t){var n=[];if(null!=t)for(var e in jt(t))n.push(e);return n}(t);var n=Du(t),e=[