@fnndsc/argus 0.41.1 → 0.44.0
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/README.md +24 -1
- package/dist/assets/{Settings-Vu2JVyi0.js → Settings-CA_Y9_tD.js} +1 -1
- package/dist/assets/{Texture-nzVXn5Xz.js → Texture-CiCQeubr.js} +1 -1
- package/dist/assets/__vite-browser-external-D7Ct-6yo.js +1 -0
- package/dist/assets/{addVolumesToViewports-Nwz_pFt8.js → addVolumesToViewports-DMbI2RL0.js} +1 -1
- package/dist/assets/asciidoc-CY89DR7y.js +1 -0
- package/dist/assets/cornerstoneEngine-DOq401ca.js +2 -0
- package/dist/assets/documentEngines-DVCBo-Z6.js +1960 -0
- package/dist/assets/field-DLtY8hYm.js +2 -0
- package/dist/assets/index-BQPxeCl8.js +1 -0
- package/dist/assets/{index-CD7V9nyW.js → index-BQltAD7K.js} +1 -1
- package/dist/assets/index-BtxxK29d.js +13 -0
- package/dist/assets/{index-D3-XGQHj.js → index-BuNudOlE.js} +260 -259
- package/dist/assets/index-CH0i1dT3.js +1 -0
- package/dist/assets/{index-C-Gd_kKI.js → index-CPY1fYxX.js} +5 -5
- package/dist/assets/index-CRipsi7X.js +1 -0
- package/dist/assets/{index-CMwCTKpZ.js → index-CewxfqE7.js} +1 -1
- package/dist/assets/index-D6WqGtsG.js +27876 -0
- package/dist/assets/{index-es60mjFM.js → index-D6nj2sGK.js} +2 -2
- package/dist/assets/index-D9307TXO.js +3 -0
- package/dist/assets/{index-BqXpjw7U.js → index-DAPJ1asE.js} +1 -1
- package/dist/assets/index-DBDbe82G.js +1 -0
- package/dist/assets/index-DTiNKN3t.js +1 -0
- package/dist/assets/index-Da39IMz6.css +1 -0
- package/dist/assets/{index-KsK0A7X6.js → index-dGoK1HyL.js} +2 -2
- package/dist/assets/{niivueEngine-DOXzZEH3.js → niivueEngine-GirHHMsU.js} +2 -2
- package/dist/assets/{slabScene-Bd8s5ohK.js → slabScene-DZaFF3AA.js} +2 -2
- package/dist/assets/syntax-1x8StFCS.js +15 -0
- package/dist/build.json +1 -1
- package/dist/index.html +2 -2
- package/dist/notes.json +1 -1
- package/package.json +6 -3
- package/dist/assets/cornerstoneEngine-CchE9uZ3.js +0 -2
- package/dist/assets/field-BAYlwQSv.js +0 -12
- package/dist/assets/index-BBITuzVD.js +0 -1
- package/dist/assets/index-Bc8vjMTT.css +0 -1
- package/dist/assets/index-BqnjocRf.js +0 -1
- package/dist/assets/index-C5hKeI2D.js +0 -13
- package/dist/assets/index-CTdByfDe.js +0 -1
- package/dist/assets/index-Dsiahqfi.js +0 -1
- package/dist/assets/index-Dth7jvPu.js +0 -3
- package/dist/assets/index-DzxYFBoR.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import We,{data as A,normalizers as k,utilities as D,derivations as Ie,constants as hn,sr as yn}from"./dcmjs.es-DfWkgqfk.js";import{bY as Bt,bZ as Yt,dA as Dn,at as Tn,cD as Kt,t as Cn,e as bn,bi as q,cp as $e,cs as Rn}from"./Settings-
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w(r,e){return Fn(r)||Ln(r,e)||kn(r,e)||Bn()}function me(r){"@babel/helpers - typeof";return me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},me(r)}function Yn(r,e){if(me(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e);if(me(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function Kn(r){var e=Yn(r,"string");return me(e)=="symbol"?e:e+""}function P(r,e,t){return(e=Kn(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var $="cornerstoneTools@^4.0.0";function ut(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function dt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ut(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ut(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const zn=D.TID300.Length,Qe="Length";let J=class Xt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=dt(dt({},n),{},{length:a.MeasuredValueSequence.NumericValue,toolType:Xt.toolType,handles:{start:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,4);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.end.x=i[2],s.handles.end.y=i[3],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.end,i=e.length;return{point1:o,point2:s,distance:i,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Length",finding:n,findingSites:a||[]}}};J.toolType=Qe;J.utilityToolType=Qe;J.TID300Representation=zn;J.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Qe};M.registerTool(J);function lt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function pt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?lt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):lt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Xn=D.TID300.Polyline;class _{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup,o=t.NUMGroup,s=pt(pt({},n),{},{toolType:_.toolType,handles:{points:[],textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},cachedStats:{area:o?o.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0}),i=a.GraphicData;for(let c=0;c<i.length;c+=2)s.handles.points.push({x:i[c],y:i[c+1]});return s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=e.cachedStats,s=o===void 0?{}:o,i=t.points,c=s.area,u=c===void 0?0:c,l=s.perimeter;return{points:i,area:u,perimeter:l===void 0?0:l,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:FreehandRoi",finding:n,findingSites:a||[]}}}_.toolType="FreehandRoi";_.utilityToolType="FreehandRoi";_.TID300Representation=Xn;_.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===_.toolType};M.registerTool(_);const Hn=D.TID300.Bidirectional,Je="Bidirectional",Wn="Long Axis",Qn="Short Axis",Jn="121071",Zn="G-C0E3";let Z=class Ht{static getMeasurementData(e){const t=e.ContentSequence,n=R(t).find(m=>m.ConceptNameCodeSequence.CodeValue===Jn),a=R(t).filter(m=>m.ConceptNameCodeSequence.CodeValue===Zn),o=R(t).find(m=>m.ConceptNameCodeSequence.CodeMeaning===Wn),s=R(o.ContentSequence).find(m=>m.ValueType==="SCOORD"),i=R(t).find(m=>m.ConceptNameCodeSequence.CodeMeaning===Qn),c=R(i.ContentSequence).find(m=>m.ValueType==="SCOORD"),u=s.ContentSequence.ReferencedSOPSequence,l=u.ReferencedSOPInstanceUID,d=u.ReferencedFrameNumber,p=String(o.MeasuredValueSequence.NumericValue),g=String(i.MeasuredValueSequence.NumericValue),f={x:Math.max(s.GraphicData[0],s.GraphicData[2],c.GraphicData[0],c.GraphicData[2]),y:Math.max(s.GraphicData[1],s.GraphicData[3],c.GraphicData[1],c.GraphicData[3])};return{sopInstanceUid:l,frameIndex:d||1,toolType:Ht.toolType,active:!1,handles:{start:{x:s.GraphicData[0],y:s.GraphicData[1],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:0},end:{x:s.GraphicData[2],y:s.GraphicData[3],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:1},perpendicularStart:{x:c.GraphicData[0],y:c.GraphicData[1],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:2},perpendicularEnd:{x:c.GraphicData[2],y:c.GraphicData[3],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:3},textBox:{highlight:!1,hasMoved:!0,active:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0,x:f.x+10,y:f.y+10}},invalidated:!1,isCreating:!1,longestDiameter:p,shortestDiameter:g,toolName:"Bidirectional",visible:!0,finding:n?n.ConceptCodeSequence:void 0,findingSites:a.map(m=>m.ConceptCodeSequence)}}static getTID300RepresentationArguments(e){const t=e.handles,n=t.start,a=t.end,o=t.perpendicularStart,s=t.perpendicularEnd,i=e.shortestDiameter,c=e.longestDiameter,u=e.finding,l=e.findingSites;return{longAxis:{point1:n,point2:a},shortAxis:{point1:o,point2:s},longAxisLength:c,shortAxisLength:i,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Bidirectional",finding:u,findingSites:l||[]}}};Z.toolType=Je;Z.utilityToolType=Je;Z.TID300Representation=Hn;Z.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Je};M.registerTool(Z);function gt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ft(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):gt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const er=D.TID300.Ellipse,Ze="EllipticalRoi";class B{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,s=t.SCOORDGroup.GraphicData,i=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}],c=[{x:s[4],y:s[5]},{x:s[6],y:s[7]}],u=Math.sqrt(Math.pow(c[0].x-c[1].x,2)+Math.pow(c[0].y-c[1].y,2)),l={x:(c[1].x-c[0].x)/u,y:(c[1].y-c[0].y)/u},d=u/2,p={x:i[0].x+l.x*d,y:i[0].y+l.y*d},g={x:i[1].x-l.x*d,y:i[1].y-l.y*d};return ft(ft({},n),{},{toolType:B.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0},handles:{end:{x:p.x,y:p.y,highlight:!1,active:!1},initialRotation:0,start:{x:g.x,y:g.y,highlight:!1,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=e.cachedStats,n=t===void 0?{}:t,a=e.handles,o=e.finding,s=e.findingSites,i=a.start,c=a.end,u=n.area,l=Math.abs(i.x-c.x)/2,d=Math.abs(i.y-c.y)/2,p=[],g={x:(i.x+c.x)/2,y:(i.y+c.y)/2};return l>d?(p.push({x:g.x-l,y:g.y}),p.push({x:g.x+l,y:g.y}),p.push({x:g.x,y:g.y-d}),p.push({x:g.x,y:g.y+d})):(p.push({x:g.x,y:g.y-d}),p.push({x:g.x,y:g.y+d}),p.push({x:g.x-l,y:g.y}),p.push({x:g.x+l,y:g.y})),{area:u,points:p,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:EllipticalRoi",finding:o,findingSites:s||[]}}}B.toolType=Ze;B.utilityToolType=Ze;B.TID300Representation=er;B.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Ze};M.registerTool(B);function mt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function X(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):mt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const tr=D.TID300.Circle,et="CircleRoi";class Y{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,s=t.SCOORDGroup.GraphicData,i={x:s[0],y:s[1]},c={x:s[2],y:s[3]};return X(X({},n),{},{toolType:Y.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},handles:{end:X(X({},c),{},{highlight:!1,active:!1}),initialRotation:0,start:X(X({},i),{},{highlight:!1,active:!1}),textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=e.cachedStats,n=t===void 0?{}:t,a=e.handles,o=e.finding,s=e.findingSites,i=a.start,c=a.end,u=n.area,l=n.radius,d=2*Math.PI*l,p=[];return p.push(i),p.push(c),{area:u,perimeter:d,radius:l,points:p,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CircleRoi",finding:o,findingSites:s||[]}}}Y.toolType=et;Y.utilityToolType=et;Y.TID300Representation=tr;Y.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===et};M.registerTool(Y);function It(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function St(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?It(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):It(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const nr=D.TID300.Point,tt="ArrowAnnotate",Ot="CORNERSTONEFREETEXT";let ee=class Wt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup;t.findingGroup;const o=a.GraphicData;return St(St({},n),{},{toolType:Wt.toolType,active:!1,handles:{start:{x:o[0],y:o[1],highlight:!0,active:!1},end:{x:o.length==4?o[2]:o[0]+20,y:o.length==4?o[3]:o[1]+20,highlight:!0,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=[e.handles.start,e.handles.end],n=e.findingSites;let a=e.finding;const o={points:t,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:ArrowAnnotate",findingSites:n||[]};return(!a||a.CodeValue!==Ot)&&(a={CodeValue:Ot,CodingSchemeDesignator:"CST4",CodeMeaning:e.label}),o.finding=a,o}};ee.toolType=tt;ee.utilityToolType=tt;ee.TID300Representation=nr;ee.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===tt};M.registerTool(ee);function ht(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function yt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ht(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ht(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const rr=D.TID300.CobbAngle,nt="CobbAngle";let te=class Qt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=yt(yt({},n),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:Qt.toolType,handles:{start:{},end:{},start2:{highlight:!0,drawnIndependently:!0},end2:{highlight:!0,drawnIndependently:!0},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,8);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.end.x=i[2],s.handles.end.y=i[3],s.handles.start2.x=i[4],s.handles.start2.y=i[5],s.handles.end2.x=i[6],s.handles.end2.y=i[7],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.end,i=t.start2,c=t.end2,u=e.rAngle;return{point1:o,point2:s,point3:i,point4:c,rAngle:u,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CobbAngle",finding:n,findingSites:a||[]}}};te.toolType=nt;te.utilityToolType=nt;te.TID300Representation=rr;te.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===nt};M.registerTool(te);function Dt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Tt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Dt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ar=D.TID300.Angle,rt="Angle";let ne=class Jt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=Tt(Tt({},n),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:Jt.toolType,handles:{start:{},middle:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,8);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.middle.x=i[2],s.handles.middle.y=i[3],s.handles.middle.x=i[4],s.handles.middle.y=i[5],s.handles.end.x=i[6],s.handles.end.y=i[7],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.middle,i=t.middle,c=t.end,u=e.rAngle;return{point1:o,point2:s,point3:i,point4:c,rAngle:u,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Angle",finding:n,findingSites:a||[]}}};ne.toolType=rt;ne.utilityToolType=rt;ne.TID300Representation=ar;ne.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===rt};M.registerTool(ne);function Ct(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function bt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ct(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ct(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const or=D.TID300.Polyline;class V{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup,o=t.NUMGroup,s=bt(bt({},n),{},{toolType:V.toolType,handles:{start:{},end:{},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0},initialRotation:0},cachedStats:{area:o?o.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0});var i=w(a.GraphicData,6);return s.handles.start.x=i[0],s.handles.start.y=i[1],i[2],i[3],s.handles.end.x=i[4],s.handles.end.y=i[5],s}static getTID300RepresentationArguments(e){const t=e.finding,n=e.findingSites,a=e.cachedStats,o=a===void 0?{}:a,s=e.handles,i=s.start,c=s.end,u=[i,{x:i.x,y:c.y},c,{x:c.x,y:i.y}],l=o.area,d=o.perimeter;return{points:u,area:l,perimeter:d,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:RectangleRoi",finding:t,findingSites:n||[]}}}V.toolType="RectangleRoi";V.utilityToolType="RectangleRoi";V.TID300Representation=or;V.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===V.toolType};M.registerTool(V);A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;const we=D.orientation;we.rotateDirectionCosinesInPlane;we.flipImageOrientationPatient;we.flipMatrix2D;we.rotateMatrix902D;D.datasetToBlob;D.BitArray;D.DicomMessage;D.DicomMetaDictionary;k.Normalizer;Ie.Segmentation;hn.EXPLICIT_LITTLE_ENDIAN;var qe;(function(r){r.SEGMENTATION_LOAD_PROGRESS="CORNERSTONE_ADAPTER_SEGMENTATION_LOAD_PROGRESS"})(qe||(qe={}));const Ae=D.orientation;Ae.rotateDirectionCosinesInPlane;Ae.flipImageOrientationPatient;Ae.flipMatrix2D;Ae.rotateMatrix902D;A.BitArray;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;Ie.Segmentation;const Zt=D.compression;Zt.encode;Zt.decode;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;const sr={Length:J,FreehandRoi:_,Bidirectional:Z,EllipticalRoi:B,CircleRoi:Y,ArrowAnnotate:ee,MeasurementReport:M,CobbAngle:te,Angle:ne,RectangleRoi:V};var ge="Cornerstone3DTools@^0.1.0";const ir=["PatientName","PatientID","PatientBirthDate","PatientBirthTime","IssuerOfPatientID","OtherPatientIDs","OtherPatientIDsSequence","PatientSex","PatientIdentityRemoved","DeidentificationMethodCodeSequence"],cr=["StudyDate","StudyTime","StudyStatusID","StudyPriorityID","StudyInstanceUID","StudyDescription","AccessionNumber","StudyID","ReferringPhysicianName","TimezoneOffsetFromUTC"],ur=[...ir,...cr];function dr(r){const e={_meta:r._meta,_vrMap:r._vrMap};for(const t of ur){const n=r[t];n!==void 0&&(e[t]=n)}return e}const lr=["SeriesInstanceUID","SeriesNumber","SeriesDescription","Modality","SeriesDate","SeriesTime","_meta","_vrMap"];function pr(r){const e={};for(const t of lr){const n=r[t];n!==void 0&&(e[t]=n)}return e}function gr(r){const e=[];if(!(r!=null&&r.length))return e;const t=r.length;if(t%3!==0)throw new Error("Points array should be divisible by 3 for SCOORD3D, but contents are: ".concat(JSON.stringify(r)," of length ").concat(t));for(let n=0;n<t;n+=3)e.push([r[n],r[n+1],r[n+2]]);return e}const fr="CORNERSTONEFREETEXT",mr="CORNERSTONEJS",en={CodingSchemeDesignator:mr,codeValues:{CORNERSTONEFREETEXT:fr}};function Rt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Mt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Rt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Rt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Fe="none",at="99CS3D",ve={schemeDesignator:at,meaning:"Text Annotation Position",value:"TextPosition"},F={schemeDesignator:at,meaning:"Control Points",value:"ControlPoints"},fe={schemeDesignator:at,meaning:"Spline Type",value:"SplineType"},Ne={schemeDesignator:"DCM",meaning:"Comment",value:"121106"},Ir=new Uint8Array(2);Ir[1]=1;const tn=new Uint8Array(2);tn[1]=2;const Sr="2.25.2470123695996825859949881583571202391.1.0.1",Or="2.25.2470123695996825859949881583571202391.2.0.1",hr=new Uint8Array(2);hr[1]=1;const ot={FileMetaInformationVersion:{Value:[tn.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2"],vr:"UI"},ImplementationClassUID:{Value:[Sr],vr:"UI"},ImplementationVersionName:{Value:["cs3d-4.8.4"],vr:"SH"}},yr=Mt(Mt({},ot),{},{ImplementationClassUID:{Value:[Or],vr:"UI"}}),nn=We.sr,x=nn.valueTypes,Pt=nn.coding,Dr=We.adapters.Cornerstone3D;class Tr{constructor(e,t){this.tid300Item=e,this.annotation=t,this.ReferencedSOPSequence=e.ReferencedSOPSequence}contentItem(){var e;const t=this.tid300Item.contentItem();this.fixScoordRelationships(t);const n=this.annotation.data,a=n.label,o=n.handles;return a&&(t.push(this.createQualitativeLabel(a)),this.filterCornerstoneFreeText(t)),o!=null&&(e=o.textBox)!==null&&e!==void 0&&e.hasMoved&&t.push(this.createQualitativeLabelPosition(this.annotation)),t}fixScoordRelationships(e){const t=x.RelationshipTypes.INFERRED_FROM;for(const n of e){const o=n.ContentSequence,s=this.normalizeContentSequence(o);for(const i of s)(i.ValueType==="SCOORD"||i.ValueType==="SCOORD3D")&&(i.RelationshipType==="CONTAINS"||i.RelationshipType==="Contains")&&(i.RelationshipType=t)}}normalizeContentSequence(e){return e?Array.isArray(e)?e:[e]:[]}filterCornerstoneFreeText(e){const t=Dr.CodeScheme.codeValues,n=[t.FREE_TEXT_CODE_VALUE,t.CORNERSTONEFREETEXT];for(let a=0;a<e.length;a++){const o=e[a];if(!o.ConceptCodeSequence)continue;const s=o.ConceptCodeSequence.findIndex(i=>n.includes(i.CodeValue));if(s!==-1){o.ConceptCodeSequence.splice(s,1),o.ConceptCodeSequence.length===0&&e.splice(a,1);return}}}createQualitativeLabel(e){const t=x.RelationshipTypes.CONTAINS;return new x.TextContentItem({name:new Pt.CodedConcept(Ne),relationshipType:t,value:e})}createQualitativeLabelPosition(e){const t=e.data.handles.textBox,n=e.metadata,a=n.referencedImageId,o=n.FrameOfReferenceUID,s=!a,i=E({is3DMeasurement:s,referencedImageId:a},t.worldPosition),c=i.x,u=i.y,l=i.z,d=x.GraphicTypes.POINT,p=x.RelationshipTypes.CONTAINS,g=new Pt.CodedConcept(ve),f=s?new x.Scoord3DContentItem({name:g,relationshipType:p,graphicType:d,graphicData:[c,u,l],frameOfReferenceUID:o}):new x.ScoordContentItem({name:g,relationshipType:p,graphicType:d,graphicData:[c,u]});return f.ContentSequence=[{RelationshipType:x.RelationshipTypes.SELECTED_FROM,ValueType:x.ValueTypes.IMAGE,ReferencedSOPSequence:this.ReferencedSOPSequence}],f}}var z;function vt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function W(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):vt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Cr=Kt,rn=D.TID1500,Nt=D.addAccessors,br=Ie.StructuredReport,Rr=k.Normalizer,Mr=rn.TID1500MeasurementReport,Pr=rn.TID1501MeasurementGroup,Se=A.DicomMetaDictionary,vr={CodingSchemeDesignator:"DCM",CodeValue:"121071"},Nr={CodingSchemeDesignator:Ne.schemeDesignator,CodeValue:Ne.value},Er={CodingSchemeDesignator:ve.schemeDesignator,CodeValue:ve.value},Ee={CodingSchemeDesignator:F.schemeDesignator,CodeValue:F.value},wr={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Ar={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"};function Et(r){if(r.ValueType!=="SCOORD"&&r.ValueType!=="SCOORD3D")return!1;const e=r.ConceptNameCodeSequence,t=Array.isArray(e)?e[0]:e;return!!t&&t.CodingSchemeDesignator===Ee.CodingSchemeDesignator&&t.CodeValue===Ee.CodeValue}class N{static getTID300ContentItem(e,t,n,a){const o=n.getTID300RepresentationArguments(e,a);o.ReferencedSOPSequence=t,o.use3DSpatialCoordinates&&(o.ReferencedFrameOfReferenceUID=e.metadata.FrameOfReferenceUID);const s=new n.TID300Representation(o);return new Tr(s,e)}static getMeasurementGroup(e,t,n,a){const o=t[e],s=this.measurementAdapterByToolType.get(e);if(!o||!o.data||!o.data.length||!s)return;const i=o.data.map(c=>this.getTID300ContentItem(c,n,s,a));return new Pr(i)}static getCornerstoneLabelFromDefaultState(e){const t=e.findingSites,n=t===void 0?[]:t,a=e.finding,o=e.commentGroup;if(o!=null&&o.TextValue)return o.TextValue;const s=en.codeValues.CORNERSTONEFREETEXT,i=n.find(c=>c.CodeValue===s);if(i)return i.CodeMeaning;if(a&&a.CodeValue===s)return a.CodeMeaning}static generateDatasetMeta(){return ot}static processSCOORDGroup(e){let t=e.SCOORDGroup,n=e.toolType,a=e.sopInstanceUIDToImageIdMap,o=e.metadata;const s=t.ContentSequence.ReferencedSOPSequence,i=s.ReferencedSOPInstanceUID,c=s.ReferencedFrameNumber,u=c===void 0?1:c,l=a["".concat(i,":").concat(u)],d=o.get("imagePlaneModule",l),p=Se.uid();return{SCOORDGroup:t,ReferencedSOPSequence:s,ReferencedSOPInstanceUID:i,ReferencedFrameNumber:u,referencedImageId:l,state:{description:void 0,sopInstanceUid:i,annotation:{data:{annotationUID:p,cachedStats:{},handles:{activeHandleIndex:0,textBox:{hasMoved:!1}}},annotationUID:p,metadata:{toolName:n,referencedImageId:l,FrameOfReferenceUID:d.frameOfReferenceUID}}}}}static processSCOORD3DGroup(e){let t=e.SCOORD3DGroup,n=e.toolType;const a=Se.uid(),o={SCOORD3DGroup:t,FrameOfReferenceUID:t.ReferencedFrameOfReferenceUID,state:{description:void 0,annotation:{annotationUID:a,data:{annotationUID:a,cachedStats:{},handles:{activeHandleIndex:0,textBox:{hasMoved:!1}}},metadata:{toolName:n,FrameOfReferenceUID:t.ReferencedFrameOfReferenceUID}}}};return Dn(gr(t.GraphicData),o.state.annotation.metadata),o}static getSpatialCoordinatesState(e){var t,n;let a=e.NUMGroup,o=e.sopInstanceUIDToImageIdMap,s=e.metadata,i=e.toolType;const c=R(a.ContentSequence),u=(t=c.find(p=>p.ValueType==="SCOORD"&&!Et(p)))!==null&&t!==void 0?t:c.find(p=>p.ValueType==="SCOORD"),l=(n=c.find(p=>p.ValueType==="SCOORD3D"&&!Et(p)))!==null&&n!==void 0?n:c.find(p=>p.ValueType==="SCOORD3D"),d=l&&this.processSCOORD3DGroup({SCOORD3DGroup:l,toolType:i})||u&&this.processSCOORDGroup({SCOORDGroup:u,toolType:i,metadata:s,sopInstanceUIDToImageIdMap:o});if(!d)throw new Error("No spatial coordinates group found.");return d}static processSpatialCoordinatesGroup(e){let t=e.NUMGroup,n=e.sopInstanceUIDToImageIdMap,a=e.metadata,o=e.findingGroup,s=e.findingSiteGroups,i=e.commentGroup,c=e.commentPositionGroup,u=e.controlPointsGroup,l=e.toolType;const d=this.getSpatialCoordinatesState({NUMGroup:t,sopInstanceUIDToImageIdMap:n,metadata:a,toolType:l}),p=d.state,g=d.SCOORDGroup,f=d.ReferencedSOPSequence,I=d.ReferencedSOPInstanceUID,m=d.ReferencedFrameNumber,h=d.SCOORD3DGroup,O=d.FrameOfReferenceUID,y=d.referencedImageId,S=d.textBoxPosition,b=o?Nt(o.ConceptCodeSequence):void 0,T=s.map(v=>Nt(v.ConceptCodeSequence));if(c){p.commentPositionGroup=c;const v=pe({is3DMeasurement:!y,referencedImageId:y},c);p.annotation.data.handles.textBox={hasMoved:!0,worldPosition:v[0]}}if(u){const v=pe({is3DMeasurement:!y,referencedImageId:y},u);p.annotation.data.handles.points=v}return p.finding=b,p.findingSites=T,p.commentGroup=i,p.commentPositionGroup=c,b&&(p.description=b.CodeMeaning),p.annotation.data.label=this.getCornerstoneLabelFromDefaultState(p),{defaultState:p,state:p,NUMGroup:t,scoord:h||g,SCOORDGroup:g,ReferencedSOPSequence:f,ReferencedSOPInstanceUID:I,referencedImageId:y,textBoxPosition:S,ReferencedFrameNumber:m,SCOORD3DGroup:h,FrameOfReferenceUID:O}}static getSetupMeasurementData(e,t,n,a){const o=e.ContentSequence,s=R(o),i=s.find(S=>this.codeValueMatch(S,vr)),c=s.find(S=>this.codeValueMatch(S,Nr)),u=s.find(S=>this.codeValueMatch(S,Er));let l=s.find(S=>this.codeValueMatch(S,Ee));const d=s.find(S=>S.ValueType==="NUM");!l&&d!==null&&d!==void 0&&d.ContentSequence&&(l=R(d.ContentSequence).find(S=>this.codeValueMatch(S,Ee)));const p=s.filter(S=>this.codeValueMatch(S,wr,Ar))||[],g=d||{ContentSequence:s.filter(S=>S.ValueType==="SCOORD"||S.ValueType==="SCOORD3D")},f=this.processSpatialCoordinatesGroup({NUMGroup:g,sopInstanceUIDToImageIdMap:t,metadata:n,findingGroup:i,findingSiteGroups:p,commentGroup:c,commentPositionGroup:u,controlPointsGroup:l,toolType:a}),I=f.state.annotation.metadata.referencedImageId,m=!!f.SCOORD3DGroup,h={referencedImageId:I,is3DMeasurement:m},O=f.SCOORD3DGroup||f.SCOORDGroup,y=pe(h,O);return W(W({},f),{},{is3DMeasurement:m,scoordArgs:h,scoord:O,worldCoords:y})}static generateReferencedSOPSequence(e){let t=e.toolData,n=e.toolTypes,a=e.metadataProvider,o=e.imageId,s=e.sopInstanceUIDsToSeriesInstanceUIDMap,i=e.derivationSourceDatasets;const c=o===Fe?this.getImageIdFromVolume({toolData:t,toolTypes:n}):o,u=a.get("sopCommonModule",c),l=a.get("instance",c),d=u.sopInstanceUID,p=u.sopClassUID,g=l.SeriesInstanceUID;if(s[d]=g,!i.find(m=>m.SeriesInstanceUID===g)){const m=N.generateDerivationSourceDataset(l);i.push(m)}const f=a.get("frameNumber",c),I={ReferencedSOPClassUID:p,ReferencedSOPInstanceUID:d,ReferencedFrameNumber:void 0};return(l&&l.NumberOfFrames&&l.NumberOfFrames>1||Rr.isMultiframeSOPClassUID(p))&&(I.ReferencedFrameNumber=f),I}static getImageIdFromVolume(e){var t,n;let a=e.toolData,o=e.toolTypes;const s=a==null||(t=a[o?.[0]])===null||t===void 0||(t=t.data)===null||t===void 0?void 0:t[0],i=s==null||(n=s.metadata)===null||n===void 0?void 0:n.volumeId,c=Tn.getVolume(i);if(!c)throw new Error("No volume found for ".concat(i));return c.imageIds[0]}static generateReport(e,t,n){var a;let o=[];const s={},i=[],c=N.generateDatasetMeta();let u=!1;Object.keys(e).forEach(g=>{const f=e[g],I=Object.keys(f),m=g===Fe,h=this.generateReferencedSOPSequence({toolData:f,toolTypes:I,metadataProvider:t,imageId:g,sopInstanceUIDsToSeriesInstanceUIDMap:s,derivationSourceDatasets:i});m&&(u=!0);const O=[];I.forEach(y=>{const S=this.getMeasurementGroup(y,f,h,m);S&&O.push(S)}),o=o.concat(O)});const l=new Mr({TID1501MeasurementGroups:o},n),d=new br(i,n),p=l.contentItem(i,W(W({},n),{},{sopInstanceUIDsToSeriesInstanceUIDMap:s}));if(d.dataset=Object.assign(d.dataset,p),d.dataset._meta=c,d.SpecificCharacterSet="ISO_IR 192",(a=d.dataset).InstanceNumber||(a.InstanceNumber=n.InstanceNumber||1),n.predecessorImageId&&Object.assign(d.dataset,t.get(Cr.PREDECESSOR_SEQUENCE,n.predecessorImageId)),u&&(d.dataset.SOPClassUID=Se.sopClassUIDsByName.Comprehensive3DSR,!d.dataset.SOPClassUID))throw new Error("NO sop class defined for Comprehensive3DSR in ".concat(JSON.stringify(Se.sopClassUIDsByName)));return d}static generateToolState(e,t,n,a){if(e.ContentTemplateSequence.TemplateIdentifier!=="1500")throw new Error("This package can currently only interpret DICOM SR TID 1500");const o="Imaging Measurements",s="Measurement Group",i="Tracking Identifier",c="Tracking Unique Identifier",u=e.imageId,l=R(e.ContentSequence).find(Pe(o)),d=R(l.ContentSequence).filter(Pe(s)),p={};return d.forEach(g=>{try{var f;const m=R(g.ContentSequence),O=m.find(T=>T.ConceptNameCodeSequence.CodeMeaning===i).TextValue,y=m.find(T=>T.ConceptNameCodeSequence.CodeMeaning===c),S=y?.UID,b=(a==null||(f=a.getToolClass)===null||f===void 0?void 0:f.call(a,g,e,this.measurementAdapterByToolType))||this.getAdapterForTrackingIdentifier(O)||this.getAdapterForCodeType(g);if(b){var I;const T=b.getMeasurementData(g,t,n,O);T.TrackingUniqueIdentifier=S,T.predecessorImageId=u,console.log("=== ".concat(b.toolType," ===")),console.log(T),p[I=b.toolType]||(p[I]=[]),p[b.toolType].push(T)}}catch(m){console.warn("Unable to generate tool state for",g,m)}}),p}static registerTool(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.toolType;if(this.measurementAdapterByToolType.has(n)){if(!t)throw new Error("The registered tool name ".concat(n," already exists in adapters, use a different toolType or use replace"));typeof t=="function"&&t(this.measurementAdapterByToolType.get(n))}this.measurementAdapterByToolType.set(e.toolType,e),this.measurementAdapterByTrackingIdentifier.set(e.trackingIdentifierTextValue,e)}static registerTrackingIdentifier(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];for(const o of n)this.measurementAdapterByTrackingIdentifier.set(o,e)}static getAdapterForTrackingIdentifier(e){const t=this.measurementAdapterByTrackingIdentifier.get(e);if(t)return t;for(const n of[...this.measurementAdapterByToolType.values()])if(n.isValidCornerstoneTrackingIdentifier(e))return this.measurementAdapterByTrackingIdentifier.set(e,n),n}static getAdapterForCodeType(e){for(const t of this.measurementAdapterByTrackingIdentifier.values())if(t.isValidMeasurement(e))return t}static registerAdapterTypes(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];for(const o of n){this.measurementAdaptersByType.has(o)||this.measurementAdaptersByType.set(o,[]);const s=this.measurementAdaptersByType.get(o);s.indexOf(e)===-1&&s.push(e)}}static getAdaptersForTypes(e,t,n){const a=[];return Oe(a,this.measurementAdaptersByType.get("".concat(e,"-").concat(t,"-").concat(n))),Oe(a,this.measurementAdaptersByType.get("".concat(e,"-").concat(t))),Oe(a,this.measurementAdaptersByType.get(e)),Oe(a,this.measurementAdaptersByType.get(t)),a}}z=N;z.CORNERSTONE_3D_TAG=ge;z.measurementAdapterByToolType=new Map;z.measurementAdaptersByType=new Map;z.measurementAdapterByTrackingIdentifier=new Map;z.codeValueMatch=(r,e,t)=>{const n=r.ConceptNameCodeSequence;if(!n)return;const a=Array.isArray(n)?n[0]:n;if(!a)return;const o=a.CodingSchemeDesignator,s=a.CodeValue;return o==e.CodingSchemeDesignator&&s==e.CodeValue||t&&o==t.CodingSchemeDesignator&&s==t.CodeValue};z.generateDerivationSourceDataset=r=>{const e=dr(r),t=pr(r);return W(W({},e),t)};function Oe(r,e){e!=null&&e.length&&r.push(...e)}class U{static registerType(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=e;t&&(a="".concat(a).concat(a.length?"-":"").concat(t)),n&&(a="".concat(a).concat(a.length?"-":"").concat(n)),N.registerAdapterTypes(this,a)}static getPointsCount(e){const n=e.ValueType==="SCOORD3D"?3:2;return e.GraphicData.length/n}static getGraphicItems(e,t){const n=e.ContentSequence.filter(a=>a.ValueType==="SCOORD"||a.ValueType==="SCOORD3D");return t?n.filter(t):n}static getGraphicItem(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;return this.getGraphicItems(e,n&&(o=>o.ValueType===n))[t]}static getGraphicCode(e){const t=e.ConceptNameCodeSequence,n=t.CodeValue,a=t.CodingSchemeDesignator;return"".concat(a,":").concat(n)}static getGraphicType(e){return e.GraphicType}static isValidMeasurement(e){return!1}static init(e,t,n){if(this.toolType=e,U.toolType)throw new Error("Base adapter tool type set to ".concat(this.toolType," while setting ").concat(e));if(this.parentType=n?.parentType,this.trackingIdentifiers=new Set,this.TID300Representation=t,this.parentType){this.trackingIdentifierTextValue="".concat(ge,":").concat(this.parentType,":").concat(this.toolType);const a="".concat(ge,":").concat(this.toolType);this.trackingIdentifiers.add(a)}else this.trackingIdentifierTextValue="".concat(ge,":").concat(e);this.trackingIdentifiers.add(this.trackingIdentifierTextValue),N.registerTool(this)}static registerLegacy(){this.trackingIdentifiers.add("cornerstoneTools@^4.0.0:".concat(this.toolType))}static registerSubType(e,t,n){const a=Object.create(e);return a.init(t,e.TID300Representation,{parentType:e.parentType||e.toolType,replace:n}),a}static isValidCornerstoneTrackingIdentifier(e){return this.trackingIdentifiers.has(e)?!0:e.includes(":")?e.startsWith(this.trackingIdentifierTextValue):!1}static getMeasurementData(e,t,n,a){const o=N.getSetupMeasurementData(e,t,n,this.toolType),s=o.defaultState,i=o.ReferencedFrameNumber;return s.annotation.data={cachedStats:{},frameNumber:i,seriesLevel:a?.indexOf(":Series")>0},s}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.metadata,a=e.finding,o=e.findingSites,s=n.referencedImageId;return{points:Q({is3DMeasurement:t,referencedImageId:s},e.data.handles.points),trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:o||[],finding:a,ReferencedFrameOfReferenceUID:t?n.FrameOfReferenceUID:null}}static getCachedStats(e,t){const n=t.referencedImageId,a=t.volumeId;return e["imageId:".concat(n)]||e["volumeId:".concat(a)]||{}}}var Le;function wt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function he(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):wt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Ur=D.TID300.ArrowAnnotate,jr=Yt;class an extends U{static getMeasurementData(e,t,n,a){const o=N.getSetupMeasurementData(e,t,n,this.toolType),s=o.state,i=o.SCOORDGroup,c=o.worldCoords,u=o.referencedImageId,l=o.ReferencedFrameNumber,d=s.annotation.data.label;if(c.length===1&&i){const p=n.get("imagePixelModule",u);let g=10,f=10;if(p){const h=p.columns,O=p.rows;g=h/10,f=O/10}const I=i.GraphicData,m=jr(u,[I[0]+g,I[1]+f]);c.push(m)}return s.annotation.data=he(he({},s.annotation.data),{},{text:d,handles:he(he({},s.annotation.data.handles),{},{arrowFirst:!0,points:c}),frameNumber:l}),s}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.metadata,o=e.findingSites,s=e.finding,i=a.referencedImageId,c={is3DMeasurement:t,referencedImageId:i},u=n.handles,l=u.points,d=u.arrowFirst,p=d?l[0]:l[1],g=d?l[1]:l[0],f=E(c,p),I=E(c,g);return{points:[f,I],trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:o||[],finding:s,ReferencedFrameOfReferenceUID:t?a.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Le=an;Le.init("ArrowAnnotate",Ur),Le.registerLegacy();var ke;function At(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ye(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?At(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):At(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const xr=D.TID300.Bidirectional,Gr="Long Axis",_r="Short Axis";class on extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.scoordArgs,i=a.referencedImageId,c=a.ReferencedFrameNumber,u=e.ContentSequence,l=R(u).find(I=>I.ConceptNameCodeSequence.CodeMeaning===Gr),d=R(u).find(I=>I.ConceptNameCodeSequence.CodeMeaning===_r),p=R(l.ContentSequence).find(I=>I.ValueType==="SCOORD3D"||I.ValueType==="SCOORD"),g=R(d.ContentSequence).find(I=>I.ValueType==="SCOORD3D"||I.ValueType==="SCOORD"),f=[];return f.push(...pe(s,p)),f.push(...pe(s,g)),o.annotation.data=ye(ye({},o.annotation.data),{},{handles:ye(ye({},o.annotation.data.handles),{},{points:[f[0],f[1],f[2],f[3]]}),frameNumber:c}),i&&(o.annotation.data.cachedStats={["imageId:".concat(i)]:{length:l.MeasuredValueSequence.NumericValue,width:d.MeasuredValueSequence.NumericValue,unit:l.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue,widthUnit:d.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue}}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=u.points,g=[p[0],p[1]],f=[p[2],p[3]],I=Math.sqrt(Math.pow(g[0][0]-g[1][0],2)+Math.pow(g[0][1]-g[1][1],2)+Math.pow(g[0][2]-g[1][2],2)),m=Math.sqrt(Math.pow(f[0][0]-f[1][0],2)+Math.pow(f[0][1]-f[1][1],2)+Math.pow(f[0][2]-f[1][2],2));let h,O;I>m?(h=g,O=f):(h=f,O=g);const y=E(d,h[0]),S=E(d,h[1]),b=E(d,O[0]),T=E(d,O[1]),v=super.getCachedStats(c,s),j=v.length,re=v.width,ae=v.unit;return{longAxis:{point1:y,point2:S},shortAxis:{point1:b,point2:T},longAxisLength:j,shortAxisLength:re,unit:ae,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}ke=on;ke.init("Bidirectional",xr),ke.registerLegacy();var Be;function Ut(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function De(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ut(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ut(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Vr=D.TID300.CobbAngle;class sn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=c?{["imageId:".concat(c)]:{angle:s?s.MeasuredValueSequence.NumericValue:null}}:{};return o.annotation.data=De(De({},o.annotation.data),{},{handles:De(De({},o.annotation.data.handles),{},{points:[i[0],i[1],i[3]]}),cachedStats:l,frameNumber:u}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=E(d,u.points[1]),I=E(d,u.points[2]),m=super.getCachedStats(c,s),h=m.angle;return{point1:p,point2:g,point3:f,point4:I,rAngle:h,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Be=sn;Be.init("Angle",Vr),Be.registerLegacy();var Ye;function jt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Te(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):jt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const $r=D.TID300.CobbAngle;class Ue extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,Ue.toolType),o=a.state,s=a.NUMGroup,i=a.referencedImageId,c=a.worldCoords,u=a.ReferencedFrameNumber;return o.annotation.data=Te(Te({},o.annotation.data),{},{handles:Te(Te({},o.annotation.data.handles),{},{points:[c[0],c[1],c[2],c[3]]}),frameNumber:u}),i&&(o.annotation.data.cachedStats={["imageId:".concat(i)]:{angle:s?s.MeasuredValueSequence.NumericValue:null}}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,p=Q({is3DMeasurement:t,referencedImageId:l},u.points),g=w(p,4),f=g[0],I=g[1],m=g[2],h=g[3],O=c["imageId:".concat(l)]||{},y=O.angle;return{point1:f,point2:I,point3:m,point4:h,rAngle:y,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Ye=Ue;Ye.init("CobbAngle",$r),Ye.registerLegacy();const qr="[hnsf'U]",Fr="HU",Lr="mm2",kr="mm²",Br={[qr]:Fr,[Lr]:kr};function cn(r){return r&&(Br[r]||r)}const Ke=new Set(["Mean","Standard Deviation","Maximum","Minimum"]);function je(r,e){const t={};return r.ContentSequence&&r.ContentSequence.forEach(n=>{if(n.ValueType==="NUM"&&n.ConceptNameCodeSequence){var a,o;const s=n.ConceptNameCodeSequence.CodeMeaning,i=(a=n.MeasuredValueSequence)===null||a===void 0?void 0:a.NumericValue,c=(o=n.MeasuredValueSequence)===null||o===void 0||(o=o.MeasurementUnitsCodeSequence)===null||o===void 0?void 0:o.CodeValue;if(i!==void 0&&e){t[e]||(t[e]={});let u="";c&&(u=Yr(s,c)),t[e][s]={value:i,unit:u}}}}),t}function xe(r){const e={};let t="";const n={Mean:"mean","Standard Deviation":"stdDev",Maximum:"max",Minimum:"min",Area:"area",Radius:"radius",Perimeter:"perimeter",Length:"length",Width:"width"},a={mean:"modalityUnit",stdDev:"modalityUnit",max:"modalityUnit",min:"modalityUnit",area:"areaUnit",radius:"radiusUnit",perimeter:"unit",length:"unit",width:"widthUnit"};for(const s of Object.entries(n)){var o=w(s,2);const i=o[0],c=o[1],u=r[i];if(!u)continue;const l=u.value,d=u.unit;if(l==null||(e[c]=l,!d))continue;const p=cn(d);if(!p)continue;Ke.has(i)&&!t&&(t=p);const g=a[c];g?e[g]||(e[g]=p):e["".concat(c,"Unit")]=p}return e.modalityUnit=t,e}function Yr(r,e){if(!e)return"";const t=e.CodeValue,n=e.CodeMeaning;return t==="1"?!Ke.has(r)&&r==="Area"?"".concat(n,"²"):Ke.has(r)?"":n:t}var ze;function xt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function oe(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):xt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Kr=D.TID300.Circle;class un extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=o.sopInstanceUid,p=je(e,l)[l]||{};return o.annotation.data=oe(oe({},o.annotation.data),{},{handles:oe(oe({},o.annotation.data.handles),{},{points:i}),frameNumber:u}),c&&(o.annotation.data.cachedStats={["imageId:".concat(c)]:oe({area:s?s.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},xe(p))}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=super.getCachedStats(c,s),I=f.area,m=f.radius,h=f.max,O=f.min,y=f.stdDev,S=f.mean,b=f.modalityUnit,T=f.radiusUnit,v=f.areaUnit,j=2*Math.PI*m;return{area:I,areaUnit:v,perimeter:j,modalityUnit:b,radiusUnit:T,radius:m,max:h,min:O,stdDev:y,mean:S,points:[p,g],trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}ze=un;ze.init("CircleROI",Kr),ze.registerLegacy();var dn;function Gt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function se(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Gt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const zr=D.TID300.Ellipse;class Ge extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,Ge.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=o.sopInstanceUid,p=je(e,l)[l]||{};return o.annotation.data=se(se({},o.annotation.data),{},{handles:se(se({},o.annotation.data.handles),{},{points:i}),frameNumber:u}),o.annotation.data.cachedStats=c?{["imageId:".concat(c)]:se({area:s?s.MeasuredValueSequence.NumericValue:0},xe(p))}:{},o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=n.initialRotation||0,d=s.referencedImageId,p={is3DMeasurement:t,referencedImageId:d};let g,f,I,m;l==90||l==270?(f=u.points[2],g=u.points[3],I=u.points[0],m=u.points[1]):(g=u.points[0],f=u.points[1],I=u.points[2],m=u.points[3]);const h=Math.sqrt((g[0]-f[0])**2+(g[1]-f[1])**2+(g[2]-f[2])**2),O=Math.sqrt((I[0]-m[0])**2+(I[1]-m[1])**2+(I[2]-m[2])**2),y=[];h>O?y.push(g,f,I,m):y.push(I,m,g,f);const S=super.getCachedStats(c,s),b=S.area,T=S.max,v=S.min,j=S.mean,re=S.stdDev,ae=S.modalityUnit,Ve=S.areaUnit,Sn=y.map(On=>E(p,On));return{area:b,areaUnit:Ve,max:T,min:v,mean:j,stdDev:re,modalityUnit:ae,points:Sn,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}dn=Ge;dn.init("EllipticalROI",zr);var de;function _t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ie(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_t(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):_t(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Xr=D.TID300.Polyline;class ln extends U{static isValidMeasurement(e){const t=this.getGraphicItem(e),n=this.getPointsCount(t);return this.getGraphicType(t)==="POLYLINE"&&(n===4||n===5)}static getMeasurementData(e,t,n){var a,o;const s=N.getSetupMeasurementData(e,t,n,this.toolType),i=s.state,c=s.worldCoords,u=s.referencedImageId,l=s.ReferencedFrameNumber,d=c.length===5?c.slice(0,4):c,p=e.ContentSequence.find(T=>T.ValueType==="NUM"&&T.ConceptNameCodeSequence.CodeMeaning==="Area"),g=i.sopInstanceUid,I=je(e,g)[g]||{},m=xe(I),h=p==null||(a=p.MeasuredValueSequence)===null||a===void 0||(a=a[0])===null||a===void 0?void 0:a.MeasurementUnitsCodeSequence,O=h?.CodeValue,y=O?cn(O):m.areaUnit,S=u?{["imageId:".concat(u)]:ie({area:(p==null||(o=p.MeasuredValueSequence)===null||o===void 0||(o=o[0])===null||o===void 0?void 0:o.NumericValue)||0,areaUnit:y},m)}:{},b=[d[0],d[1],d[3],d[2]];return i.annotation.data=ie(ie({},i.annotation.data),{},{handles:ie(ie({},i.annotation.data.handles),{},{points:b}),cachedStats:S,frameNumber:l}),i}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=s.referencedImageId,u=Q({is3DMeasurement:t,referencedImageId:i},n.handles.points),l=super.getCachedStats(n.cachedStats,s),d=l.area,p=l.perimeter,g=l.max,f=l.mean,I=l.stdDev,m=l.areaUnit,h=l.modalityUnit;return{points:[u[0],u[1],u[3],u[2],u[0]],area:d,perimeter:p,max:g,mean:f,stdDev:I,areaUnit:m,modalityUnit:h,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],use3DSpatialCoordinates:t}}}de=ln;de.init("RectangleROI",Xr),de.registerLegacy(),de.registerType("DCM:111030","POLYLINE",4),de.registerType("DCM:111030","POLYLINE",5);var Xe;function Vt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Ce(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Vt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Hr=D.TID300.Length,Wr="Length";class pn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=c?{["imageId:".concat(c)]:{length:s?s.MeasuredValueSequence.NumericValue:0,unit:s.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue}}:{};return o.annotation.data=Ce(Ce({},o.annotation.data),{},{handles:Ce(Ce({},o.annotation.data.handles),{},{points:[i[0],i[1]],activeHandleIndex:0}),cachedStats:l,frameNumber:u}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=super.getCachedStats(c,s),I=f.length;return{point1:p,point2:g,distance:I,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],use3DSpatialCoordinates:t}}}Xe=pn;Xe.init(Wr,Hr),Xe.registerLegacy();const G=yn.valueTypes,Qr=D.TID300.Polyline;class Jr extends Qr{contentItem(){const e=super.contentItem(),t=this,n=t.props,a=n.controlPoints,o=n.use3DSpatialCoordinates,s=n.ReferencedSOPSequence,i=n.ReferencedFrameOfReferenceUID,c=n.use3DSpatialCoordinates;if(!(a!=null&&a.length))return e;const u=t.flattenPoints({points:a,use3DSpatialCoordinates:o}),l=G.GraphicTypes.MULTIPOINT,d=c?{RelationshipType:G.RelationshipTypes.CONTAINS,ValueType:"SCOORD3D",ConceptNameCodeSequence:[{CodeValue:F.value,CodingSchemeDesignator:F.schemeDesignator,CodeMeaning:F.meaning}],GraphicType:l,GraphicData:u,ReferencedFrameOfReferenceUID:i,ContentSequence:[{RelationshipType:G.RelationshipTypes.SELECTED_FROM,ValueType:G.ValueTypes.IMAGE,ReferencedSOPSequence:s}]}:{RelationshipType:G.RelationshipTypes.CONTAINS,ValueType:"SCOORD",ConceptNameCodeSequence:[{CodeValue:F.value,CodingSchemeDesignator:F.schemeDesignator,CodeMeaning:F.meaning}],GraphicType:l,GraphicData:u,ContentSequence:[{RelationshipType:G.RelationshipTypes.SELECTED_FROM,ValueType:G.ValueTypes.IMAGE,ReferencedSOPSequence:s}]},p=t.props.splineType,g=e,f=g.find(I=>I.ValueType==="NUM");if(f){const I=f.ContentSequence,m=Array.isArray(I)?I:I?[I]:[];f.ContentSequence=[...m,d]}else g.push(d);if(p){const I={RelationshipType:G.RelationshipTypes.HAS_OBS_CONTEXT,ValueType:"TEXT",ConceptNameCodeSequence:{CodeValue:fe.value,CodingSchemeDesignator:fe.schemeDesignator,CodeMeaning:fe.meaning},TextValue:p},m=g.findIndex(O=>O.RelationshipType===G.RelationshipTypes.HAS_OBS_CONTEXT),h=m>=0?m+2:2;g.splice(h,0,I)}return g}}var K;function $t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function H(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$t(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):$t(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}class gn extends U{static getMeasurementData(e,t,n){var a,o,s;const i=N.getSetupMeasurementData(e,t,n,this.toolType),c=i.state,u=i.NUMGroup,l=i.worldCoords,d=i.referencedImageId,p=i.ReferencedFrameNumber,g=Mn(l[l.length-1],l[0]);let f=!0;g<this.closedContourThreshold&&(l.pop(),f=!1);let I=(a=(o=c.annotation.data.handles)===null||o===void 0?void 0:o.points)!==null&&a!==void 0?a:[];f&&I.length===0&&(I=[l[0],l[l.length-1]]);const m=c.sopInstanceUid,O=je(e,m)[m]||{},y={CodingSchemeDesignator:fe.schemeDesignator,CodeValue:fe.value},S=u?R(u.ContentSequence):[],b=R(e.ContentSequence),T=(s=S.find(v=>N.codeValueMatch(v,y)))!==null&&s!==void 0?s:b.find(v=>N.codeValueMatch(v,y));return c.annotation.data=H(H({},c.annotation.data),{},{contour:{polyline:l,closed:!f},handles:H(H({},c.annotation.data.handles),{},{points:I}),frameNumber:p},T&&{spline:{type:T.TextValue}}),d&&(c.annotation.data.cachedStats={["imageId:".concat(d)]:H(H({},!f&&u?{area:u.MeasuredValueSequence.NumericValue}:{}),xe(O))}),c}static getTID300RepresentationArguments(e){var t,n;let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const o=e.data,s=e.finding,i=e.findingSites,c=e.metadata,u=o.handles,l=o.contour,d=l.polyline,g=l.closed!==!0,f=c.referencedImageId,I={is3DMeasurement:a,referencedImageId:f},m=Q(I,d);if(!g){const Ve=m[0];m.push(Ve)}const h=(u==null||(t=u.points)===null||t===void 0?void 0:t.length)&&Q(I,u.points),O=super.getCachedStats(o.cachedStats,c),y=O.area,S=O.areaUnit,b=O.modalityUnit,T=O.perimeter,v=O.mean,j=O.max,re=O.stdDev,ae=O.length;return{points:m,controlPoints:h,area:y,areaUnit:S,perimeter:T??ae,modalityUnit:b,mean:v,max:j,stdDev:re,splineType:(n=o.spline)===null||n===void 0?void 0:n.type,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:s,findingSites:i||[],ReferencedFrameOfReferenceUID:a?c.FrameOfReferenceUID:null,use3DSpatialCoordinates:a}}}K=gn;K.closedContourThreshold=1e-5;K.init("PlanarFreehandROI",Jr),K.registerSubType(K,"LivewireContour"),K.registerSubType(K,"SplineROI");var le;function qt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function be(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):qt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Zr=D.TID300.Point;class _e extends U{static isValidMeasurement(e){const t=this.getGraphicItem(e);return this.getGraphicType(t)==="POINT"&&this.getPointsCount(t)<=2}static getMeasurementData(e,t,n,a){var o,s;const i=N.getSetupMeasurementData(e,t,n,this.toolType),c=i.state,u=i.NUMGroup,l=i.worldCoords,d=i.referencedImageId,p=i.ReferencedFrameNumber,g=d?{["imageId:".concat(d)]:{value:(o=u==null||(s=u.MeasuredValueSequence)===null||s===void 0?void 0:s.NumericValue)!==null&&o!==void 0?o:null}}:{};return c.annotation.data=be(be({},c.annotation.data),{},{handles:be(be({},c.annotation.data.handles),{},{points:l}),cachedStats:g,frameNumber:p,invalidated:!0}),c}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.metadata,o=e.finding,s=e.findingSites,i=a.referencedImageId,c={is3DMeasurement:t,referencedImageId:i},u=n.handles.points;return{points:Q(c,u===void 0?[]:u),trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:s||[],finding:o,ReferencedFrameOfReferenceUID:t?a.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}le=_e;le.init("Probe",Zr),le.registerLegacy(),le.registerType("DCM:111030","POINT",1),le.registerType("DCM:111030","POINT",2);var fn;function Ft(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Re(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ft(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ft(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ea=D.TID300.Length,Lt=Bt;class mn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.worldCoords,i=a.ReferencedFrameNumber;return o.annotation.data=Re(Re({},o.annotation.data),{},{handles:Re(Re({},o.annotation.data.handles),{},{points:s}),frameNumber:i}),o}static getTID300RepresentationArguments(e,t){const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.handles,c=s.referencedImageId;if(!c)throw new Error("UltrasoundDirectionalTool.getTID300RepresentationArguments: referencedImageId is not defined");const u=Lt(c,i.points[0]),l=Lt(c,i.points[1]),d={x:u[0],y:u[1]},p={x:l[0],y:l[1]};return{point1:d,point2:p,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[]}}}fn=mn;fn.init("UltrasoundDirectionalTool",ea);k.SEGImageNormalizer;Ie.Segmentation;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;Pn(r=>{Cn(bn,qe.SEGMENTATION_LOAD_PROGRESS,{percentComplete:r})},200);function kt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ce(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):kt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Me=We.data.DicomMetaDictionary,C=Kt,ta=[C.GENERAL_STUDY,C.PATIENT_STUDY,C.PATIENT],na=[C.GENERAL_SERIES],ra=[C.GENERAL_IMAGE,C.IMAGE_PLANE,C.CINE,C.VOI_LUT,C.MODALITY_LUT,C.SOP_COMMON],He={get:function(r,e,t){var n;return(n=He[r])===null||n===void 0?void 0:n.call(He,e,t)},[C.IMAGE_SOP_INSTANCE_REFERENCE]:function(r){const e=q(C.FRAME_MODULE,r),t=e.sopClassUID,n=e.sopInstanceUID,a=e.frameNumber;return e.numberOfFrames>1?{ReferencedSOPClassUID:t,ReferencedSOPInstanceUID:n,ReferencedFrameNumber:a}:{ReferencedSOPClassUID:e.sopClassUID,ReferencedSOPInstanceUID:e.sopInstanceUID}},[C.REFERENCED_SERIES_REFERENCE]:r=>{const e=q(C.SOP_COMMON,r);return{SeriesInstanceUID:q(C.GENERAL_SERIES,r).seriesInstanceUID,ReferencedInstanceSequence:[{ReferencedSOPClassUID:e.sopClassUID,ReferencedSOPInstanceUID:e.sopInstanceUID}]}},[C.PREDECESSOR_SEQUENCE]:r=>{const e=ce({},q(C.SERIES_DATA,r)),t=q(C.GENERAL_IMAGE,r),n=q(C.GENERAL_STUDY,r);return e.InstanceNumber=1+Number(t.instanceNumber),e.PredecessorDocumentsSequence={StudyInstanceUID:n.studyInstanceUID,ReferencedSeriesSequence:{SeriesInstanceUID:e.SeriesInstanceUID,ReferencedSOPSequence:{ReferencedSOPClassUID:t.sopClassUID,ReferencedSOPInstanceUID:t.sopInstanceUID}}},e},[C.STUDY_DATA]:r=>$e(r,ta),[C.SERIES_DATA]:r=>$e(r,na),[C.IMAGE_DATA]:r=>$e(r,ra),[C.RTSS_INSTANCE_DATA]:r=>{const e=q(C.NEW_INSTANCE_DATA,r);return ce(ce({},e),{},{SeriesNumber:"3201",StructureSetROISequence:[],ROIContourSequence:[],RTROIObservationsSequence:[],ReferencedFrameOfReferenceSequence:[],Modality:"RTSTRUCT",SOPClassUID:"1.2.840.10008.5.1.4.1.1.481.3",PositionReferenceIndicator:"",StructureSetLabel:"",StructureSetName:"",StructureSetDate:Me.date(),StructureSetTime:Me.time()})},[C.NEW_INSTANCE_DATA]:r=>{const e=q(C.STUDY_DATA,r);return ce(ce({},e),{},{SeriesNumber:"50000",InstanceNumber:"1",OperatorsName:"",ReferringPhysicianName:"",SpecificCharacterSet:"ISO_IR 192",Manufacturer:"cs3d",SOPInstanceUID:Me.uid(),SeriesInstanceUID:Me.uid()})},[C.RTSS_CONTOUR]:()=>yr,[C.SR_ANNOTATION]:()=>ot};Rn(He.get,9023);var L;const aa=D.TID300.Point;class In extends _e{static getMeasurementData(e,t,n,a){const o=super.getMeasurementData(e,t,n,a),s=o.annotation.data;return s.isPoint=a.indexOf("Point")!==-1,o}static getTID300RepresentationArguments(e){const t=super.getTID300RepresentationArguments(e),n=e.data;return n.isPoint&&(n.seriesLevel?t.trackingIdentifierTextValue=this.trackingSeriesPointIdentifier:t.trackingIdentifierTextValue=this.trackingPointIdentifier),n.seriesLevel&&(t.trackingIdentifierTextValue=this.trackingSeriesIdentifier),t.points.length||t.points.push({x:0,y:0}),t}}L=In;L.init("KeyImage",aa,{parentType:_e.toolType});L.trackingSeriesIdentifier="".concat(L.trackingIdentifierTextValue,":Series");L.trackingPointIdentifier="".concat(L.trackingIdentifierTextValue,":Point");L.trackingSeriesPointIdentifier="".concat(L.trackingIdentifierTextValue,":SeriesPoint");const oa={BaseAdapter3D:U,Bidirectional:on,CobbAngle:Ue,Angle:sn,Length:pn,CircleROI:un,EllipticalROI:Ge,RectangleROI:ln,ArrowAnnotate:an,Probe:_e,PlanarFreehandROI:gn,UltrasoundDirectional:mn,KeyImage:In,MeasurementReport:N,CodeScheme:en,CORNERSTONE_3D_TAG:ge,COMMENT_CODE:Ne,NO_IMAGE_ID:Fe,TEXT_ANNOTATION_POSITION:ve};A.Colors;A.BitArray;const fa={Cornerstone:sr,Cornerstone3D:oa};export{Fe as NO_IMAGE_ID,fa as adaptersSR};
|
|
1
|
+
import We,{data as A,normalizers as k,utilities as D,derivations as Ie,constants as hn,sr as yn}from"./dcmjs.es-DfWkgqfk.js";import{bY as Bt,bZ as Yt,dA as Dn,at as Tn,cD as Kt,t as Cn,e as bn,bi as q,cp as $e,cs as Rn}from"./Settings-CA_Y9_tD.js";import"./cornerstoneEngine-DOq401ca.js";import"./Texture-CiCQeubr.js";import{m as Mn,t as Pn}from"./throttle-CjIII7Yf.js";import"./index-BuNudOlE.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";const R=r=>Array.isArray(r)?r:r!==void 0?[r]:[],Pe=r=>e=>e.ConceptNameCodeSequence.CodeMeaning===r;A.datasetToBlob;const vn=Bt;let Nn=vn;function E(r,e){let t=r.is3DMeasurement,n=r.referencedImageId;if(t)return{x:e[0],y:e[1],z:e[2]};const a=Nn(n,e);return{x:a[0],y:a[1]}}function Q(r,e){return e.map(t=>E(r,t))}const En=Yt;function pe(r,e){let t=r.is3DMeasurement,n=r.referencedImageId;const a=[];if(t){const o=e.GraphicData;for(let s=0;s<o.length;s+=3){const i=[o[s],o[s+1],o[s+2]];a.push(i)}}else{const o=e.GraphicData;for(let s=0;s<o.length;s+=2){const i=En(n,[o[s],o[s+1]]);a.push(i)}}return a}const zt=D.TID1500,st=D.addAccessors,wn=Ie.StructuredReport,An=k.Normalizer,Un=zt.TID1500MeasurementReport,jn=zt.TID1501MeasurementGroup,xn=A.DicomMetaDictionary,Gn={CodingSchemeDesignator:"DCM",CodeValue:"121071"},_n={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Vn={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"},it=(r,e,t)=>{const n=r.ConceptNameCodeSequence;if(!n)return;const a=n.CodingSchemeDesignator,o=n.CodeValue;return a==e.CodingSchemeDesignator&&o==e.CodeValue||t&&a==t.CodingSchemeDesignator&&o==t.CodeValue};function $n(r,e,t){const n=t.getTID300RepresentationArguments(r);return n.ReferencedSOPSequence=e,n.ReferencedFrameOfReferenceUID=n.use3DSpatialCoordinates?r.metadata.FrameOfReferenceUID:null,new t.TID300Representation(n)}function qn(r,e,t){const n=e[r],a=M.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[r];if(!n||!n.data||!n.data.length||!a)return;const o=n.data.map(s=>$n(s,t,a));return new jn(o)}let M=class ue{static getSetupMeasurementData(e){const t=e.ContentSequence,n=R(t),a=n.find(g=>it(g,Gn)),o=n.filter(g=>it(g,_n,Vn))||[],s=n.find(g=>g.ValueType==="NUM"),i=R(s.ContentSequence).find(g=>g.ValueType==="SCOORD"),c=i.ContentSequence.ReferencedSOPSequence,u=c.ReferencedSOPInstanceUID,l=c.ReferencedFrameNumber,d={sopInstanceUid:u,frameIndex:l||1,complete:!0,finding:a?st(a.ConceptCodeSequence):void 0,findingSites:o.map(g=>st(g.ConceptCodeSequence))};d.finding&&(d.description=d.finding.CodeMeaning);const p=d.findingSites&&d.findingSites[0];return p&&(d.location=p[0]&&p[0].CodeMeaning||p.CodeMeaning),{defaultState:d,findingGroup:a,findingSiteGroups:o,NUMGroup:s,SCOORDGroup:i,ReferencedSOPSequence:c,ReferencedSOPInstanceUID:u,ReferencedFrameNumber:l}}static generateReport(e,t,n){let a=[];const o=Object.keys(e)[0];if(!o)throw new Error("No measurements provided.");const s=t.get("generalSeriesModule",o),i=s.studyInstanceUID,c=s.seriesInstanceUID;Object.keys(e).forEach(m=>{const h=t.get("sopCommonModule",m),O=t.get("frameNumber",m),y=e[m],S=Object.keys(y),b={ReferencedSOPClassUID:h.sopClassUID,ReferencedSOPInstanceUID:h.sopInstanceUID};An.isMultiframeSOPClassUID(h.sopClassUID)&&(b.ReferencedFrameNumber=O);const T=[];S.forEach(v=>{const j=qn(v,y,b);j&&T.push(j)}),a=a.concat(T)});const u=new Un({TID1501MeasurementGroups:a},n),l=new Uint8Array(2);l[1]=1;const d={StudyInstanceUID:i,SeriesInstanceUID:c},p={FileMetaInformationVersion:{Value:[l.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2.1"],vr:"UI"},ImplementationClassUID:{Value:[xn.uid()],vr:"UI"},ImplementationVersionName:{Value:["dcmjs"],vr:"SH"}},g={PixelData:"OW"};d._meta=p,d._vrMap=g;const f=new wn([d]),I=u.contentItem(d);return f.dataset=Object.assign(f.dataset,I),f.dataset._meta=p,f.dataset.SpecificCharacterSet="ISO_IR 192",f}static generateToolState(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e.ContentTemplateSequence.TemplateIdentifier!=="1500")throw new Error("This package can currently only interpret DICOM SR TID 1500");const n="Imaging Measurements",a="Measurement Group",o="Tracking Identifier",s=R(e.ContentSequence).find(Pe(n)),i=R(s.ContentSequence).filter(Pe(a)),c={},u=ue.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE,l=[];return Object.keys(u).forEach(d=>{l.push(u[d]),c[d]=[]}),i.forEach(d=>{const f=R(d.ContentSequence).find(m=>m.ConceptNameCodeSequence.CodeMeaning===o).TextValue,I=t.getToolClass?t.getToolClass(d,e,l):l.find(m=>m.isValidCornerstoneTrackingIdentifier(f));if(I){const m=I.getMeasurementData(d);console.log("=== ".concat(I.toolType," ===")),console.log(m),c[I.toolType].push(m)}}),c}static registerTool(e){ue.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE[e.utilityToolType]=e,ue.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[e.toolType]=e,ue.MEASUREMENT_BY_TOOLTYPE[e.toolType]=e.utilityToolType}};M.MEASUREMENT_BY_TOOLTYPE={};M.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE={};M.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE={};function Fn(r){if(Array.isArray(r))return r}function Ln(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,a,o,s,i=[],c=!0,u=!1;try{if(o=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=o.call(t)).done)&&(i.push(n.value),i.length!==e);c=!0);}catch(l){u=!0,a=l}finally{try{if(!c&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw a}}return i}}function ct(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function kn(r,e){if(r){if(typeof r=="string")return ct(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ct(r,e):void 0}}function Bn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w(r,e){return Fn(r)||Ln(r,e)||kn(r,e)||Bn()}function me(r){"@babel/helpers - typeof";return me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},me(r)}function Yn(r,e){if(me(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e);if(me(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function Kn(r){var e=Yn(r,"string");return me(e)=="symbol"?e:e+""}function P(r,e,t){return(e=Kn(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var $="cornerstoneTools@^4.0.0";function ut(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function dt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ut(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ut(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const zn=D.TID300.Length,Qe="Length";let J=class Xt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=dt(dt({},n),{},{length:a.MeasuredValueSequence.NumericValue,toolType:Xt.toolType,handles:{start:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,4);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.end.x=i[2],s.handles.end.y=i[3],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.end,i=e.length;return{point1:o,point2:s,distance:i,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Length",finding:n,findingSites:a||[]}}};J.toolType=Qe;J.utilityToolType=Qe;J.TID300Representation=zn;J.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Qe};M.registerTool(J);function lt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function pt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?lt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):lt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Xn=D.TID300.Polyline;class _{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup,o=t.NUMGroup,s=pt(pt({},n),{},{toolType:_.toolType,handles:{points:[],textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},cachedStats:{area:o?o.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0}),i=a.GraphicData;for(let c=0;c<i.length;c+=2)s.handles.points.push({x:i[c],y:i[c+1]});return s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=e.cachedStats,s=o===void 0?{}:o,i=t.points,c=s.area,u=c===void 0?0:c,l=s.perimeter;return{points:i,area:u,perimeter:l===void 0?0:l,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:FreehandRoi",finding:n,findingSites:a||[]}}}_.toolType="FreehandRoi";_.utilityToolType="FreehandRoi";_.TID300Representation=Xn;_.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===_.toolType};M.registerTool(_);const Hn=D.TID300.Bidirectional,Je="Bidirectional",Wn="Long Axis",Qn="Short Axis",Jn="121071",Zn="G-C0E3";let Z=class Ht{static getMeasurementData(e){const t=e.ContentSequence,n=R(t).find(m=>m.ConceptNameCodeSequence.CodeValue===Jn),a=R(t).filter(m=>m.ConceptNameCodeSequence.CodeValue===Zn),o=R(t).find(m=>m.ConceptNameCodeSequence.CodeMeaning===Wn),s=R(o.ContentSequence).find(m=>m.ValueType==="SCOORD"),i=R(t).find(m=>m.ConceptNameCodeSequence.CodeMeaning===Qn),c=R(i.ContentSequence).find(m=>m.ValueType==="SCOORD"),u=s.ContentSequence.ReferencedSOPSequence,l=u.ReferencedSOPInstanceUID,d=u.ReferencedFrameNumber,p=String(o.MeasuredValueSequence.NumericValue),g=String(i.MeasuredValueSequence.NumericValue),f={x:Math.max(s.GraphicData[0],s.GraphicData[2],c.GraphicData[0],c.GraphicData[2]),y:Math.max(s.GraphicData[1],s.GraphicData[3],c.GraphicData[1],c.GraphicData[3])};return{sopInstanceUid:l,frameIndex:d||1,toolType:Ht.toolType,active:!1,handles:{start:{x:s.GraphicData[0],y:s.GraphicData[1],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:0},end:{x:s.GraphicData[2],y:s.GraphicData[3],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:1},perpendicularStart:{x:c.GraphicData[0],y:c.GraphicData[1],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:2},perpendicularEnd:{x:c.GraphicData[2],y:c.GraphicData[3],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:3},textBox:{highlight:!1,hasMoved:!0,active:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0,x:f.x+10,y:f.y+10}},invalidated:!1,isCreating:!1,longestDiameter:p,shortestDiameter:g,toolName:"Bidirectional",visible:!0,finding:n?n.ConceptCodeSequence:void 0,findingSites:a.map(m=>m.ConceptCodeSequence)}}static getTID300RepresentationArguments(e){const t=e.handles,n=t.start,a=t.end,o=t.perpendicularStart,s=t.perpendicularEnd,i=e.shortestDiameter,c=e.longestDiameter,u=e.finding,l=e.findingSites;return{longAxis:{point1:n,point2:a},shortAxis:{point1:o,point2:s},longAxisLength:c,shortAxisLength:i,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Bidirectional",finding:u,findingSites:l||[]}}};Z.toolType=Je;Z.utilityToolType=Je;Z.TID300Representation=Hn;Z.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Je};M.registerTool(Z);function gt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ft(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):gt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const er=D.TID300.Ellipse,Ze="EllipticalRoi";class B{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,s=t.SCOORDGroup.GraphicData,i=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}],c=[{x:s[4],y:s[5]},{x:s[6],y:s[7]}],u=Math.sqrt(Math.pow(c[0].x-c[1].x,2)+Math.pow(c[0].y-c[1].y,2)),l={x:(c[1].x-c[0].x)/u,y:(c[1].y-c[0].y)/u},d=u/2,p={x:i[0].x+l.x*d,y:i[0].y+l.y*d},g={x:i[1].x-l.x*d,y:i[1].y-l.y*d};return ft(ft({},n),{},{toolType:B.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0},handles:{end:{x:p.x,y:p.y,highlight:!1,active:!1},initialRotation:0,start:{x:g.x,y:g.y,highlight:!1,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=e.cachedStats,n=t===void 0?{}:t,a=e.handles,o=e.finding,s=e.findingSites,i=a.start,c=a.end,u=n.area,l=Math.abs(i.x-c.x)/2,d=Math.abs(i.y-c.y)/2,p=[],g={x:(i.x+c.x)/2,y:(i.y+c.y)/2};return l>d?(p.push({x:g.x-l,y:g.y}),p.push({x:g.x+l,y:g.y}),p.push({x:g.x,y:g.y-d}),p.push({x:g.x,y:g.y+d})):(p.push({x:g.x,y:g.y-d}),p.push({x:g.x,y:g.y+d}),p.push({x:g.x-l,y:g.y}),p.push({x:g.x+l,y:g.y})),{area:u,points:p,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:EllipticalRoi",finding:o,findingSites:s||[]}}}B.toolType=Ze;B.utilityToolType=Ze;B.TID300Representation=er;B.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Ze};M.registerTool(B);function mt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function X(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):mt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const tr=D.TID300.Circle,et="CircleRoi";class Y{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,s=t.SCOORDGroup.GraphicData,i={x:s[0],y:s[1]},c={x:s[2],y:s[3]};return X(X({},n),{},{toolType:Y.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},handles:{end:X(X({},c),{},{highlight:!1,active:!1}),initialRotation:0,start:X(X({},i),{},{highlight:!1,active:!1}),textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=e.cachedStats,n=t===void 0?{}:t,a=e.handles,o=e.finding,s=e.findingSites,i=a.start,c=a.end,u=n.area,l=n.radius,d=2*Math.PI*l,p=[];return p.push(i),p.push(c),{area:u,perimeter:d,radius:l,points:p,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CircleRoi",finding:o,findingSites:s||[]}}}Y.toolType=et;Y.utilityToolType=et;Y.TID300Representation=tr;Y.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===et};M.registerTool(Y);function It(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function St(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?It(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):It(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const nr=D.TID300.Point,tt="ArrowAnnotate",Ot="CORNERSTONEFREETEXT";let ee=class Wt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup;t.findingGroup;const o=a.GraphicData;return St(St({},n),{},{toolType:Wt.toolType,active:!1,handles:{start:{x:o[0],y:o[1],highlight:!0,active:!1},end:{x:o.length==4?o[2]:o[0]+20,y:o.length==4?o[3]:o[1]+20,highlight:!0,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=[e.handles.start,e.handles.end],n=e.findingSites;let a=e.finding;const o={points:t,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:ArrowAnnotate",findingSites:n||[]};return(!a||a.CodeValue!==Ot)&&(a={CodeValue:Ot,CodingSchemeDesignator:"CST4",CodeMeaning:e.label}),o.finding=a,o}};ee.toolType=tt;ee.utilityToolType=tt;ee.TID300Representation=nr;ee.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===tt};M.registerTool(ee);function ht(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function yt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ht(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ht(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const rr=D.TID300.CobbAngle,nt="CobbAngle";let te=class Qt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=yt(yt({},n),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:Qt.toolType,handles:{start:{},end:{},start2:{highlight:!0,drawnIndependently:!0},end2:{highlight:!0,drawnIndependently:!0},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,8);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.end.x=i[2],s.handles.end.y=i[3],s.handles.start2.x=i[4],s.handles.start2.y=i[5],s.handles.end2.x=i[6],s.handles.end2.y=i[7],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.end,i=t.start2,c=t.end2,u=e.rAngle;return{point1:o,point2:s,point3:i,point4:c,rAngle:u,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CobbAngle",finding:n,findingSites:a||[]}}};te.toolType=nt;te.utilityToolType=nt;te.TID300Representation=rr;te.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===nt};M.registerTool(te);function Dt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Tt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Dt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ar=D.TID300.Angle,rt="Angle";let ne=class Jt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=Tt(Tt({},n),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:Jt.toolType,handles:{start:{},middle:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,8);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.middle.x=i[2],s.handles.middle.y=i[3],s.handles.middle.x=i[4],s.handles.middle.y=i[5],s.handles.end.x=i[6],s.handles.end.y=i[7],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.middle,i=t.middle,c=t.end,u=e.rAngle;return{point1:o,point2:s,point3:i,point4:c,rAngle:u,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Angle",finding:n,findingSites:a||[]}}};ne.toolType=rt;ne.utilityToolType=rt;ne.TID300Representation=ar;ne.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===rt};M.registerTool(ne);function Ct(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function bt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ct(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ct(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const or=D.TID300.Polyline;class V{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup,o=t.NUMGroup,s=bt(bt({},n),{},{toolType:V.toolType,handles:{start:{},end:{},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0},initialRotation:0},cachedStats:{area:o?o.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0});var i=w(a.GraphicData,6);return s.handles.start.x=i[0],s.handles.start.y=i[1],i[2],i[3],s.handles.end.x=i[4],s.handles.end.y=i[5],s}static getTID300RepresentationArguments(e){const t=e.finding,n=e.findingSites,a=e.cachedStats,o=a===void 0?{}:a,s=e.handles,i=s.start,c=s.end,u=[i,{x:i.x,y:c.y},c,{x:c.x,y:i.y}],l=o.area,d=o.perimeter;return{points:u,area:l,perimeter:d,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:RectangleRoi",finding:t,findingSites:n||[]}}}V.toolType="RectangleRoi";V.utilityToolType="RectangleRoi";V.TID300Representation=or;V.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===V.toolType};M.registerTool(V);A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;const we=D.orientation;we.rotateDirectionCosinesInPlane;we.flipImageOrientationPatient;we.flipMatrix2D;we.rotateMatrix902D;D.datasetToBlob;D.BitArray;D.DicomMessage;D.DicomMetaDictionary;k.Normalizer;Ie.Segmentation;hn.EXPLICIT_LITTLE_ENDIAN;var qe;(function(r){r.SEGMENTATION_LOAD_PROGRESS="CORNERSTONE_ADAPTER_SEGMENTATION_LOAD_PROGRESS"})(qe||(qe={}));const Ae=D.orientation;Ae.rotateDirectionCosinesInPlane;Ae.flipImageOrientationPatient;Ae.flipMatrix2D;Ae.rotateMatrix902D;A.BitArray;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;Ie.Segmentation;const Zt=D.compression;Zt.encode;Zt.decode;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;const sr={Length:J,FreehandRoi:_,Bidirectional:Z,EllipticalRoi:B,CircleRoi:Y,ArrowAnnotate:ee,MeasurementReport:M,CobbAngle:te,Angle:ne,RectangleRoi:V};var ge="Cornerstone3DTools@^0.1.0";const ir=["PatientName","PatientID","PatientBirthDate","PatientBirthTime","IssuerOfPatientID","OtherPatientIDs","OtherPatientIDsSequence","PatientSex","PatientIdentityRemoved","DeidentificationMethodCodeSequence"],cr=["StudyDate","StudyTime","StudyStatusID","StudyPriorityID","StudyInstanceUID","StudyDescription","AccessionNumber","StudyID","ReferringPhysicianName","TimezoneOffsetFromUTC"],ur=[...ir,...cr];function dr(r){const e={_meta:r._meta,_vrMap:r._vrMap};for(const t of ur){const n=r[t];n!==void 0&&(e[t]=n)}return e}const lr=["SeriesInstanceUID","SeriesNumber","SeriesDescription","Modality","SeriesDate","SeriesTime","_meta","_vrMap"];function pr(r){const e={};for(const t of lr){const n=r[t];n!==void 0&&(e[t]=n)}return e}function gr(r){const e=[];if(!(r!=null&&r.length))return e;const t=r.length;if(t%3!==0)throw new Error("Points array should be divisible by 3 for SCOORD3D, but contents are: ".concat(JSON.stringify(r)," of length ").concat(t));for(let n=0;n<t;n+=3)e.push([r[n],r[n+1],r[n+2]]);return e}const fr="CORNERSTONEFREETEXT",mr="CORNERSTONEJS",en={CodingSchemeDesignator:mr,codeValues:{CORNERSTONEFREETEXT:fr}};function Rt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Mt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Rt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Rt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Fe="none",at="99CS3D",ve={schemeDesignator:at,meaning:"Text Annotation Position",value:"TextPosition"},F={schemeDesignator:at,meaning:"Control Points",value:"ControlPoints"},fe={schemeDesignator:at,meaning:"Spline Type",value:"SplineType"},Ne={schemeDesignator:"DCM",meaning:"Comment",value:"121106"},Ir=new Uint8Array(2);Ir[1]=1;const tn=new Uint8Array(2);tn[1]=2;const Sr="2.25.2470123695996825859949881583571202391.1.0.1",Or="2.25.2470123695996825859949881583571202391.2.0.1",hr=new Uint8Array(2);hr[1]=1;const ot={FileMetaInformationVersion:{Value:[tn.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2"],vr:"UI"},ImplementationClassUID:{Value:[Sr],vr:"UI"},ImplementationVersionName:{Value:["cs3d-4.8.4"],vr:"SH"}},yr=Mt(Mt({},ot),{},{ImplementationClassUID:{Value:[Or],vr:"UI"}}),nn=We.sr,x=nn.valueTypes,Pt=nn.coding,Dr=We.adapters.Cornerstone3D;class Tr{constructor(e,t){this.tid300Item=e,this.annotation=t,this.ReferencedSOPSequence=e.ReferencedSOPSequence}contentItem(){var e;const t=this.tid300Item.contentItem();this.fixScoordRelationships(t);const n=this.annotation.data,a=n.label,o=n.handles;return a&&(t.push(this.createQualitativeLabel(a)),this.filterCornerstoneFreeText(t)),o!=null&&(e=o.textBox)!==null&&e!==void 0&&e.hasMoved&&t.push(this.createQualitativeLabelPosition(this.annotation)),t}fixScoordRelationships(e){const t=x.RelationshipTypes.INFERRED_FROM;for(const n of e){const o=n.ContentSequence,s=this.normalizeContentSequence(o);for(const i of s)(i.ValueType==="SCOORD"||i.ValueType==="SCOORD3D")&&(i.RelationshipType==="CONTAINS"||i.RelationshipType==="Contains")&&(i.RelationshipType=t)}}normalizeContentSequence(e){return e?Array.isArray(e)?e:[e]:[]}filterCornerstoneFreeText(e){const t=Dr.CodeScheme.codeValues,n=[t.FREE_TEXT_CODE_VALUE,t.CORNERSTONEFREETEXT];for(let a=0;a<e.length;a++){const o=e[a];if(!o.ConceptCodeSequence)continue;const s=o.ConceptCodeSequence.findIndex(i=>n.includes(i.CodeValue));if(s!==-1){o.ConceptCodeSequence.splice(s,1),o.ConceptCodeSequence.length===0&&e.splice(a,1);return}}}createQualitativeLabel(e){const t=x.RelationshipTypes.CONTAINS;return new x.TextContentItem({name:new Pt.CodedConcept(Ne),relationshipType:t,value:e})}createQualitativeLabelPosition(e){const t=e.data.handles.textBox,n=e.metadata,a=n.referencedImageId,o=n.FrameOfReferenceUID,s=!a,i=E({is3DMeasurement:s,referencedImageId:a},t.worldPosition),c=i.x,u=i.y,l=i.z,d=x.GraphicTypes.POINT,p=x.RelationshipTypes.CONTAINS,g=new Pt.CodedConcept(ve),f=s?new x.Scoord3DContentItem({name:g,relationshipType:p,graphicType:d,graphicData:[c,u,l],frameOfReferenceUID:o}):new x.ScoordContentItem({name:g,relationshipType:p,graphicType:d,graphicData:[c,u]});return f.ContentSequence=[{RelationshipType:x.RelationshipTypes.SELECTED_FROM,ValueType:x.ValueTypes.IMAGE,ReferencedSOPSequence:this.ReferencedSOPSequence}],f}}var z;function vt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function W(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):vt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Cr=Kt,rn=D.TID1500,Nt=D.addAccessors,br=Ie.StructuredReport,Rr=k.Normalizer,Mr=rn.TID1500MeasurementReport,Pr=rn.TID1501MeasurementGroup,Se=A.DicomMetaDictionary,vr={CodingSchemeDesignator:"DCM",CodeValue:"121071"},Nr={CodingSchemeDesignator:Ne.schemeDesignator,CodeValue:Ne.value},Er={CodingSchemeDesignator:ve.schemeDesignator,CodeValue:ve.value},Ee={CodingSchemeDesignator:F.schemeDesignator,CodeValue:F.value},wr={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Ar={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"};function Et(r){if(r.ValueType!=="SCOORD"&&r.ValueType!=="SCOORD3D")return!1;const e=r.ConceptNameCodeSequence,t=Array.isArray(e)?e[0]:e;return!!t&&t.CodingSchemeDesignator===Ee.CodingSchemeDesignator&&t.CodeValue===Ee.CodeValue}class N{static getTID300ContentItem(e,t,n,a){const o=n.getTID300RepresentationArguments(e,a);o.ReferencedSOPSequence=t,o.use3DSpatialCoordinates&&(o.ReferencedFrameOfReferenceUID=e.metadata.FrameOfReferenceUID);const s=new n.TID300Representation(o);return new Tr(s,e)}static getMeasurementGroup(e,t,n,a){const o=t[e],s=this.measurementAdapterByToolType.get(e);if(!o||!o.data||!o.data.length||!s)return;const i=o.data.map(c=>this.getTID300ContentItem(c,n,s,a));return new Pr(i)}static getCornerstoneLabelFromDefaultState(e){const t=e.findingSites,n=t===void 0?[]:t,a=e.finding,o=e.commentGroup;if(o!=null&&o.TextValue)return o.TextValue;const s=en.codeValues.CORNERSTONEFREETEXT,i=n.find(c=>c.CodeValue===s);if(i)return i.CodeMeaning;if(a&&a.CodeValue===s)return a.CodeMeaning}static generateDatasetMeta(){return ot}static processSCOORDGroup(e){let t=e.SCOORDGroup,n=e.toolType,a=e.sopInstanceUIDToImageIdMap,o=e.metadata;const s=t.ContentSequence.ReferencedSOPSequence,i=s.ReferencedSOPInstanceUID,c=s.ReferencedFrameNumber,u=c===void 0?1:c,l=a["".concat(i,":").concat(u)],d=o.get("imagePlaneModule",l),p=Se.uid();return{SCOORDGroup:t,ReferencedSOPSequence:s,ReferencedSOPInstanceUID:i,ReferencedFrameNumber:u,referencedImageId:l,state:{description:void 0,sopInstanceUid:i,annotation:{data:{annotationUID:p,cachedStats:{},handles:{activeHandleIndex:0,textBox:{hasMoved:!1}}},annotationUID:p,metadata:{toolName:n,referencedImageId:l,FrameOfReferenceUID:d.frameOfReferenceUID}}}}}static processSCOORD3DGroup(e){let t=e.SCOORD3DGroup,n=e.toolType;const a=Se.uid(),o={SCOORD3DGroup:t,FrameOfReferenceUID:t.ReferencedFrameOfReferenceUID,state:{description:void 0,annotation:{annotationUID:a,data:{annotationUID:a,cachedStats:{},handles:{activeHandleIndex:0,textBox:{hasMoved:!1}}},metadata:{toolName:n,FrameOfReferenceUID:t.ReferencedFrameOfReferenceUID}}}};return Dn(gr(t.GraphicData),o.state.annotation.metadata),o}static getSpatialCoordinatesState(e){var t,n;let a=e.NUMGroup,o=e.sopInstanceUIDToImageIdMap,s=e.metadata,i=e.toolType;const c=R(a.ContentSequence),u=(t=c.find(p=>p.ValueType==="SCOORD"&&!Et(p)))!==null&&t!==void 0?t:c.find(p=>p.ValueType==="SCOORD"),l=(n=c.find(p=>p.ValueType==="SCOORD3D"&&!Et(p)))!==null&&n!==void 0?n:c.find(p=>p.ValueType==="SCOORD3D"),d=l&&this.processSCOORD3DGroup({SCOORD3DGroup:l,toolType:i})||u&&this.processSCOORDGroup({SCOORDGroup:u,toolType:i,metadata:s,sopInstanceUIDToImageIdMap:o});if(!d)throw new Error("No spatial coordinates group found.");return d}static processSpatialCoordinatesGroup(e){let t=e.NUMGroup,n=e.sopInstanceUIDToImageIdMap,a=e.metadata,o=e.findingGroup,s=e.findingSiteGroups,i=e.commentGroup,c=e.commentPositionGroup,u=e.controlPointsGroup,l=e.toolType;const d=this.getSpatialCoordinatesState({NUMGroup:t,sopInstanceUIDToImageIdMap:n,metadata:a,toolType:l}),p=d.state,g=d.SCOORDGroup,f=d.ReferencedSOPSequence,I=d.ReferencedSOPInstanceUID,m=d.ReferencedFrameNumber,h=d.SCOORD3DGroup,O=d.FrameOfReferenceUID,y=d.referencedImageId,S=d.textBoxPosition,b=o?Nt(o.ConceptCodeSequence):void 0,T=s.map(v=>Nt(v.ConceptCodeSequence));if(c){p.commentPositionGroup=c;const v=pe({is3DMeasurement:!y,referencedImageId:y},c);p.annotation.data.handles.textBox={hasMoved:!0,worldPosition:v[0]}}if(u){const v=pe({is3DMeasurement:!y,referencedImageId:y},u);p.annotation.data.handles.points=v}return p.finding=b,p.findingSites=T,p.commentGroup=i,p.commentPositionGroup=c,b&&(p.description=b.CodeMeaning),p.annotation.data.label=this.getCornerstoneLabelFromDefaultState(p),{defaultState:p,state:p,NUMGroup:t,scoord:h||g,SCOORDGroup:g,ReferencedSOPSequence:f,ReferencedSOPInstanceUID:I,referencedImageId:y,textBoxPosition:S,ReferencedFrameNumber:m,SCOORD3DGroup:h,FrameOfReferenceUID:O}}static getSetupMeasurementData(e,t,n,a){const o=e.ContentSequence,s=R(o),i=s.find(S=>this.codeValueMatch(S,vr)),c=s.find(S=>this.codeValueMatch(S,Nr)),u=s.find(S=>this.codeValueMatch(S,Er));let l=s.find(S=>this.codeValueMatch(S,Ee));const d=s.find(S=>S.ValueType==="NUM");!l&&d!==null&&d!==void 0&&d.ContentSequence&&(l=R(d.ContentSequence).find(S=>this.codeValueMatch(S,Ee)));const p=s.filter(S=>this.codeValueMatch(S,wr,Ar))||[],g=d||{ContentSequence:s.filter(S=>S.ValueType==="SCOORD"||S.ValueType==="SCOORD3D")},f=this.processSpatialCoordinatesGroup({NUMGroup:g,sopInstanceUIDToImageIdMap:t,metadata:n,findingGroup:i,findingSiteGroups:p,commentGroup:c,commentPositionGroup:u,controlPointsGroup:l,toolType:a}),I=f.state.annotation.metadata.referencedImageId,m=!!f.SCOORD3DGroup,h={referencedImageId:I,is3DMeasurement:m},O=f.SCOORD3DGroup||f.SCOORDGroup,y=pe(h,O);return W(W({},f),{},{is3DMeasurement:m,scoordArgs:h,scoord:O,worldCoords:y})}static generateReferencedSOPSequence(e){let t=e.toolData,n=e.toolTypes,a=e.metadataProvider,o=e.imageId,s=e.sopInstanceUIDsToSeriesInstanceUIDMap,i=e.derivationSourceDatasets;const c=o===Fe?this.getImageIdFromVolume({toolData:t,toolTypes:n}):o,u=a.get("sopCommonModule",c),l=a.get("instance",c),d=u.sopInstanceUID,p=u.sopClassUID,g=l.SeriesInstanceUID;if(s[d]=g,!i.find(m=>m.SeriesInstanceUID===g)){const m=N.generateDerivationSourceDataset(l);i.push(m)}const f=a.get("frameNumber",c),I={ReferencedSOPClassUID:p,ReferencedSOPInstanceUID:d,ReferencedFrameNumber:void 0};return(l&&l.NumberOfFrames&&l.NumberOfFrames>1||Rr.isMultiframeSOPClassUID(p))&&(I.ReferencedFrameNumber=f),I}static getImageIdFromVolume(e){var t,n;let a=e.toolData,o=e.toolTypes;const s=a==null||(t=a[o?.[0]])===null||t===void 0||(t=t.data)===null||t===void 0?void 0:t[0],i=s==null||(n=s.metadata)===null||n===void 0?void 0:n.volumeId,c=Tn.getVolume(i);if(!c)throw new Error("No volume found for ".concat(i));return c.imageIds[0]}static generateReport(e,t,n){var a;let o=[];const s={},i=[],c=N.generateDatasetMeta();let u=!1;Object.keys(e).forEach(g=>{const f=e[g],I=Object.keys(f),m=g===Fe,h=this.generateReferencedSOPSequence({toolData:f,toolTypes:I,metadataProvider:t,imageId:g,sopInstanceUIDsToSeriesInstanceUIDMap:s,derivationSourceDatasets:i});m&&(u=!0);const O=[];I.forEach(y=>{const S=this.getMeasurementGroup(y,f,h,m);S&&O.push(S)}),o=o.concat(O)});const l=new Mr({TID1501MeasurementGroups:o},n),d=new br(i,n),p=l.contentItem(i,W(W({},n),{},{sopInstanceUIDsToSeriesInstanceUIDMap:s}));if(d.dataset=Object.assign(d.dataset,p),d.dataset._meta=c,d.SpecificCharacterSet="ISO_IR 192",(a=d.dataset).InstanceNumber||(a.InstanceNumber=n.InstanceNumber||1),n.predecessorImageId&&Object.assign(d.dataset,t.get(Cr.PREDECESSOR_SEQUENCE,n.predecessorImageId)),u&&(d.dataset.SOPClassUID=Se.sopClassUIDsByName.Comprehensive3DSR,!d.dataset.SOPClassUID))throw new Error("NO sop class defined for Comprehensive3DSR in ".concat(JSON.stringify(Se.sopClassUIDsByName)));return d}static generateToolState(e,t,n,a){if(e.ContentTemplateSequence.TemplateIdentifier!=="1500")throw new Error("This package can currently only interpret DICOM SR TID 1500");const o="Imaging Measurements",s="Measurement Group",i="Tracking Identifier",c="Tracking Unique Identifier",u=e.imageId,l=R(e.ContentSequence).find(Pe(o)),d=R(l.ContentSequence).filter(Pe(s)),p={};return d.forEach(g=>{try{var f;const m=R(g.ContentSequence),O=m.find(T=>T.ConceptNameCodeSequence.CodeMeaning===i).TextValue,y=m.find(T=>T.ConceptNameCodeSequence.CodeMeaning===c),S=y?.UID,b=(a==null||(f=a.getToolClass)===null||f===void 0?void 0:f.call(a,g,e,this.measurementAdapterByToolType))||this.getAdapterForTrackingIdentifier(O)||this.getAdapterForCodeType(g);if(b){var I;const T=b.getMeasurementData(g,t,n,O);T.TrackingUniqueIdentifier=S,T.predecessorImageId=u,console.log("=== ".concat(b.toolType," ===")),console.log(T),p[I=b.toolType]||(p[I]=[]),p[b.toolType].push(T)}}catch(m){console.warn("Unable to generate tool state for",g,m)}}),p}static registerTool(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.toolType;if(this.measurementAdapterByToolType.has(n)){if(!t)throw new Error("The registered tool name ".concat(n," already exists in adapters, use a different toolType or use replace"));typeof t=="function"&&t(this.measurementAdapterByToolType.get(n))}this.measurementAdapterByToolType.set(e.toolType,e),this.measurementAdapterByTrackingIdentifier.set(e.trackingIdentifierTextValue,e)}static registerTrackingIdentifier(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];for(const o of n)this.measurementAdapterByTrackingIdentifier.set(o,e)}static getAdapterForTrackingIdentifier(e){const t=this.measurementAdapterByTrackingIdentifier.get(e);if(t)return t;for(const n of[...this.measurementAdapterByToolType.values()])if(n.isValidCornerstoneTrackingIdentifier(e))return this.measurementAdapterByTrackingIdentifier.set(e,n),n}static getAdapterForCodeType(e){for(const t of this.measurementAdapterByTrackingIdentifier.values())if(t.isValidMeasurement(e))return t}static registerAdapterTypes(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];for(const o of n){this.measurementAdaptersByType.has(o)||this.measurementAdaptersByType.set(o,[]);const s=this.measurementAdaptersByType.get(o);s.indexOf(e)===-1&&s.push(e)}}static getAdaptersForTypes(e,t,n){const a=[];return Oe(a,this.measurementAdaptersByType.get("".concat(e,"-").concat(t,"-").concat(n))),Oe(a,this.measurementAdaptersByType.get("".concat(e,"-").concat(t))),Oe(a,this.measurementAdaptersByType.get(e)),Oe(a,this.measurementAdaptersByType.get(t)),a}}z=N;z.CORNERSTONE_3D_TAG=ge;z.measurementAdapterByToolType=new Map;z.measurementAdaptersByType=new Map;z.measurementAdapterByTrackingIdentifier=new Map;z.codeValueMatch=(r,e,t)=>{const n=r.ConceptNameCodeSequence;if(!n)return;const a=Array.isArray(n)?n[0]:n;if(!a)return;const o=a.CodingSchemeDesignator,s=a.CodeValue;return o==e.CodingSchemeDesignator&&s==e.CodeValue||t&&o==t.CodingSchemeDesignator&&s==t.CodeValue};z.generateDerivationSourceDataset=r=>{const e=dr(r),t=pr(r);return W(W({},e),t)};function Oe(r,e){e!=null&&e.length&&r.push(...e)}class U{static registerType(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=e;t&&(a="".concat(a).concat(a.length?"-":"").concat(t)),n&&(a="".concat(a).concat(a.length?"-":"").concat(n)),N.registerAdapterTypes(this,a)}static getPointsCount(e){const n=e.ValueType==="SCOORD3D"?3:2;return e.GraphicData.length/n}static getGraphicItems(e,t){const n=e.ContentSequence.filter(a=>a.ValueType==="SCOORD"||a.ValueType==="SCOORD3D");return t?n.filter(t):n}static getGraphicItem(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;return this.getGraphicItems(e,n&&(o=>o.ValueType===n))[t]}static getGraphicCode(e){const t=e.ConceptNameCodeSequence,n=t.CodeValue,a=t.CodingSchemeDesignator;return"".concat(a,":").concat(n)}static getGraphicType(e){return e.GraphicType}static isValidMeasurement(e){return!1}static init(e,t,n){if(this.toolType=e,U.toolType)throw new Error("Base adapter tool type set to ".concat(this.toolType," while setting ").concat(e));if(this.parentType=n?.parentType,this.trackingIdentifiers=new Set,this.TID300Representation=t,this.parentType){this.trackingIdentifierTextValue="".concat(ge,":").concat(this.parentType,":").concat(this.toolType);const a="".concat(ge,":").concat(this.toolType);this.trackingIdentifiers.add(a)}else this.trackingIdentifierTextValue="".concat(ge,":").concat(e);this.trackingIdentifiers.add(this.trackingIdentifierTextValue),N.registerTool(this)}static registerLegacy(){this.trackingIdentifiers.add("cornerstoneTools@^4.0.0:".concat(this.toolType))}static registerSubType(e,t,n){const a=Object.create(e);return a.init(t,e.TID300Representation,{parentType:e.parentType||e.toolType,replace:n}),a}static isValidCornerstoneTrackingIdentifier(e){return this.trackingIdentifiers.has(e)?!0:e.includes(":")?e.startsWith(this.trackingIdentifierTextValue):!1}static getMeasurementData(e,t,n,a){const o=N.getSetupMeasurementData(e,t,n,this.toolType),s=o.defaultState,i=o.ReferencedFrameNumber;return s.annotation.data={cachedStats:{},frameNumber:i,seriesLevel:a?.indexOf(":Series")>0},s}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.metadata,a=e.finding,o=e.findingSites,s=n.referencedImageId;return{points:Q({is3DMeasurement:t,referencedImageId:s},e.data.handles.points),trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:o||[],finding:a,ReferencedFrameOfReferenceUID:t?n.FrameOfReferenceUID:null}}static getCachedStats(e,t){const n=t.referencedImageId,a=t.volumeId;return e["imageId:".concat(n)]||e["volumeId:".concat(a)]||{}}}var Le;function wt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function he(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):wt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Ur=D.TID300.ArrowAnnotate,jr=Yt;class an extends U{static getMeasurementData(e,t,n,a){const o=N.getSetupMeasurementData(e,t,n,this.toolType),s=o.state,i=o.SCOORDGroup,c=o.worldCoords,u=o.referencedImageId,l=o.ReferencedFrameNumber,d=s.annotation.data.label;if(c.length===1&&i){const p=n.get("imagePixelModule",u);let g=10,f=10;if(p){const h=p.columns,O=p.rows;g=h/10,f=O/10}const I=i.GraphicData,m=jr(u,[I[0]+g,I[1]+f]);c.push(m)}return s.annotation.data=he(he({},s.annotation.data),{},{text:d,handles:he(he({},s.annotation.data.handles),{},{arrowFirst:!0,points:c}),frameNumber:l}),s}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.metadata,o=e.findingSites,s=e.finding,i=a.referencedImageId,c={is3DMeasurement:t,referencedImageId:i},u=n.handles,l=u.points,d=u.arrowFirst,p=d?l[0]:l[1],g=d?l[1]:l[0],f=E(c,p),I=E(c,g);return{points:[f,I],trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:o||[],finding:s,ReferencedFrameOfReferenceUID:t?a.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Le=an;Le.init("ArrowAnnotate",Ur),Le.registerLegacy();var ke;function At(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ye(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?At(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):At(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const xr=D.TID300.Bidirectional,Gr="Long Axis",_r="Short Axis";class on extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.scoordArgs,i=a.referencedImageId,c=a.ReferencedFrameNumber,u=e.ContentSequence,l=R(u).find(I=>I.ConceptNameCodeSequence.CodeMeaning===Gr),d=R(u).find(I=>I.ConceptNameCodeSequence.CodeMeaning===_r),p=R(l.ContentSequence).find(I=>I.ValueType==="SCOORD3D"||I.ValueType==="SCOORD"),g=R(d.ContentSequence).find(I=>I.ValueType==="SCOORD3D"||I.ValueType==="SCOORD"),f=[];return f.push(...pe(s,p)),f.push(...pe(s,g)),o.annotation.data=ye(ye({},o.annotation.data),{},{handles:ye(ye({},o.annotation.data.handles),{},{points:[f[0],f[1],f[2],f[3]]}),frameNumber:c}),i&&(o.annotation.data.cachedStats={["imageId:".concat(i)]:{length:l.MeasuredValueSequence.NumericValue,width:d.MeasuredValueSequence.NumericValue,unit:l.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue,widthUnit:d.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue}}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=u.points,g=[p[0],p[1]],f=[p[2],p[3]],I=Math.sqrt(Math.pow(g[0][0]-g[1][0],2)+Math.pow(g[0][1]-g[1][1],2)+Math.pow(g[0][2]-g[1][2],2)),m=Math.sqrt(Math.pow(f[0][0]-f[1][0],2)+Math.pow(f[0][1]-f[1][1],2)+Math.pow(f[0][2]-f[1][2],2));let h,O;I>m?(h=g,O=f):(h=f,O=g);const y=E(d,h[0]),S=E(d,h[1]),b=E(d,O[0]),T=E(d,O[1]),v=super.getCachedStats(c,s),j=v.length,re=v.width,ae=v.unit;return{longAxis:{point1:y,point2:S},shortAxis:{point1:b,point2:T},longAxisLength:j,shortAxisLength:re,unit:ae,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}ke=on;ke.init("Bidirectional",xr),ke.registerLegacy();var Be;function Ut(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function De(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ut(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ut(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Vr=D.TID300.CobbAngle;class sn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=c?{["imageId:".concat(c)]:{angle:s?s.MeasuredValueSequence.NumericValue:null}}:{};return o.annotation.data=De(De({},o.annotation.data),{},{handles:De(De({},o.annotation.data.handles),{},{points:[i[0],i[1],i[3]]}),cachedStats:l,frameNumber:u}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=E(d,u.points[1]),I=E(d,u.points[2]),m=super.getCachedStats(c,s),h=m.angle;return{point1:p,point2:g,point3:f,point4:I,rAngle:h,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Be=sn;Be.init("Angle",Vr),Be.registerLegacy();var Ye;function jt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Te(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):jt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const $r=D.TID300.CobbAngle;class Ue extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,Ue.toolType),o=a.state,s=a.NUMGroup,i=a.referencedImageId,c=a.worldCoords,u=a.ReferencedFrameNumber;return o.annotation.data=Te(Te({},o.annotation.data),{},{handles:Te(Te({},o.annotation.data.handles),{},{points:[c[0],c[1],c[2],c[3]]}),frameNumber:u}),i&&(o.annotation.data.cachedStats={["imageId:".concat(i)]:{angle:s?s.MeasuredValueSequence.NumericValue:null}}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,p=Q({is3DMeasurement:t,referencedImageId:l},u.points),g=w(p,4),f=g[0],I=g[1],m=g[2],h=g[3],O=c["imageId:".concat(l)]||{},y=O.angle;return{point1:f,point2:I,point3:m,point4:h,rAngle:y,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Ye=Ue;Ye.init("CobbAngle",$r),Ye.registerLegacy();const qr="[hnsf'U]",Fr="HU",Lr="mm2",kr="mm²",Br={[qr]:Fr,[Lr]:kr};function cn(r){return r&&(Br[r]||r)}const Ke=new Set(["Mean","Standard Deviation","Maximum","Minimum"]);function je(r,e){const t={};return r.ContentSequence&&r.ContentSequence.forEach(n=>{if(n.ValueType==="NUM"&&n.ConceptNameCodeSequence){var a,o;const s=n.ConceptNameCodeSequence.CodeMeaning,i=(a=n.MeasuredValueSequence)===null||a===void 0?void 0:a.NumericValue,c=(o=n.MeasuredValueSequence)===null||o===void 0||(o=o.MeasurementUnitsCodeSequence)===null||o===void 0?void 0:o.CodeValue;if(i!==void 0&&e){t[e]||(t[e]={});let u="";c&&(u=Yr(s,c)),t[e][s]={value:i,unit:u}}}}),t}function xe(r){const e={};let t="";const n={Mean:"mean","Standard Deviation":"stdDev",Maximum:"max",Minimum:"min",Area:"area",Radius:"radius",Perimeter:"perimeter",Length:"length",Width:"width"},a={mean:"modalityUnit",stdDev:"modalityUnit",max:"modalityUnit",min:"modalityUnit",area:"areaUnit",radius:"radiusUnit",perimeter:"unit",length:"unit",width:"widthUnit"};for(const s of Object.entries(n)){var o=w(s,2);const i=o[0],c=o[1],u=r[i];if(!u)continue;const l=u.value,d=u.unit;if(l==null||(e[c]=l,!d))continue;const p=cn(d);if(!p)continue;Ke.has(i)&&!t&&(t=p);const g=a[c];g?e[g]||(e[g]=p):e["".concat(c,"Unit")]=p}return e.modalityUnit=t,e}function Yr(r,e){if(!e)return"";const t=e.CodeValue,n=e.CodeMeaning;return t==="1"?!Ke.has(r)&&r==="Area"?"".concat(n,"²"):Ke.has(r)?"":n:t}var ze;function xt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function oe(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):xt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Kr=D.TID300.Circle;class un extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=o.sopInstanceUid,p=je(e,l)[l]||{};return o.annotation.data=oe(oe({},o.annotation.data),{},{handles:oe(oe({},o.annotation.data.handles),{},{points:i}),frameNumber:u}),c&&(o.annotation.data.cachedStats={["imageId:".concat(c)]:oe({area:s?s.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},xe(p))}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=super.getCachedStats(c,s),I=f.area,m=f.radius,h=f.max,O=f.min,y=f.stdDev,S=f.mean,b=f.modalityUnit,T=f.radiusUnit,v=f.areaUnit,j=2*Math.PI*m;return{area:I,areaUnit:v,perimeter:j,modalityUnit:b,radiusUnit:T,radius:m,max:h,min:O,stdDev:y,mean:S,points:[p,g],trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}ze=un;ze.init("CircleROI",Kr),ze.registerLegacy();var dn;function Gt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function se(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Gt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const zr=D.TID300.Ellipse;class Ge extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,Ge.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=o.sopInstanceUid,p=je(e,l)[l]||{};return o.annotation.data=se(se({},o.annotation.data),{},{handles:se(se({},o.annotation.data.handles),{},{points:i}),frameNumber:u}),o.annotation.data.cachedStats=c?{["imageId:".concat(c)]:se({area:s?s.MeasuredValueSequence.NumericValue:0},xe(p))}:{},o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=n.initialRotation||0,d=s.referencedImageId,p={is3DMeasurement:t,referencedImageId:d};let g,f,I,m;l==90||l==270?(f=u.points[2],g=u.points[3],I=u.points[0],m=u.points[1]):(g=u.points[0],f=u.points[1],I=u.points[2],m=u.points[3]);const h=Math.sqrt((g[0]-f[0])**2+(g[1]-f[1])**2+(g[2]-f[2])**2),O=Math.sqrt((I[0]-m[0])**2+(I[1]-m[1])**2+(I[2]-m[2])**2),y=[];h>O?y.push(g,f,I,m):y.push(I,m,g,f);const S=super.getCachedStats(c,s),b=S.area,T=S.max,v=S.min,j=S.mean,re=S.stdDev,ae=S.modalityUnit,Ve=S.areaUnit,Sn=y.map(On=>E(p,On));return{area:b,areaUnit:Ve,max:T,min:v,mean:j,stdDev:re,modalityUnit:ae,points:Sn,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}dn=Ge;dn.init("EllipticalROI",zr);var de;function _t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ie(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_t(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):_t(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Xr=D.TID300.Polyline;class ln extends U{static isValidMeasurement(e){const t=this.getGraphicItem(e),n=this.getPointsCount(t);return this.getGraphicType(t)==="POLYLINE"&&(n===4||n===5)}static getMeasurementData(e,t,n){var a,o;const s=N.getSetupMeasurementData(e,t,n,this.toolType),i=s.state,c=s.worldCoords,u=s.referencedImageId,l=s.ReferencedFrameNumber,d=c.length===5?c.slice(0,4):c,p=e.ContentSequence.find(T=>T.ValueType==="NUM"&&T.ConceptNameCodeSequence.CodeMeaning==="Area"),g=i.sopInstanceUid,I=je(e,g)[g]||{},m=xe(I),h=p==null||(a=p.MeasuredValueSequence)===null||a===void 0||(a=a[0])===null||a===void 0?void 0:a.MeasurementUnitsCodeSequence,O=h?.CodeValue,y=O?cn(O):m.areaUnit,S=u?{["imageId:".concat(u)]:ie({area:(p==null||(o=p.MeasuredValueSequence)===null||o===void 0||(o=o[0])===null||o===void 0?void 0:o.NumericValue)||0,areaUnit:y},m)}:{},b=[d[0],d[1],d[3],d[2]];return i.annotation.data=ie(ie({},i.annotation.data),{},{handles:ie(ie({},i.annotation.data.handles),{},{points:b}),cachedStats:S,frameNumber:l}),i}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=s.referencedImageId,u=Q({is3DMeasurement:t,referencedImageId:i},n.handles.points),l=super.getCachedStats(n.cachedStats,s),d=l.area,p=l.perimeter,g=l.max,f=l.mean,I=l.stdDev,m=l.areaUnit,h=l.modalityUnit;return{points:[u[0],u[1],u[3],u[2],u[0]],area:d,perimeter:p,max:g,mean:f,stdDev:I,areaUnit:m,modalityUnit:h,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],use3DSpatialCoordinates:t}}}de=ln;de.init("RectangleROI",Xr),de.registerLegacy(),de.registerType("DCM:111030","POLYLINE",4),de.registerType("DCM:111030","POLYLINE",5);var Xe;function Vt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Ce(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Vt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Hr=D.TID300.Length,Wr="Length";class pn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=c?{["imageId:".concat(c)]:{length:s?s.MeasuredValueSequence.NumericValue:0,unit:s.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue}}:{};return o.annotation.data=Ce(Ce({},o.annotation.data),{},{handles:Ce(Ce({},o.annotation.data.handles),{},{points:[i[0],i[1]],activeHandleIndex:0}),cachedStats:l,frameNumber:u}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=super.getCachedStats(c,s),I=f.length;return{point1:p,point2:g,distance:I,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],use3DSpatialCoordinates:t}}}Xe=pn;Xe.init(Wr,Hr),Xe.registerLegacy();const G=yn.valueTypes,Qr=D.TID300.Polyline;class Jr extends Qr{contentItem(){const e=super.contentItem(),t=this,n=t.props,a=n.controlPoints,o=n.use3DSpatialCoordinates,s=n.ReferencedSOPSequence,i=n.ReferencedFrameOfReferenceUID,c=n.use3DSpatialCoordinates;if(!(a!=null&&a.length))return e;const u=t.flattenPoints({points:a,use3DSpatialCoordinates:o}),l=G.GraphicTypes.MULTIPOINT,d=c?{RelationshipType:G.RelationshipTypes.CONTAINS,ValueType:"SCOORD3D",ConceptNameCodeSequence:[{CodeValue:F.value,CodingSchemeDesignator:F.schemeDesignator,CodeMeaning:F.meaning}],GraphicType:l,GraphicData:u,ReferencedFrameOfReferenceUID:i,ContentSequence:[{RelationshipType:G.RelationshipTypes.SELECTED_FROM,ValueType:G.ValueTypes.IMAGE,ReferencedSOPSequence:s}]}:{RelationshipType:G.RelationshipTypes.CONTAINS,ValueType:"SCOORD",ConceptNameCodeSequence:[{CodeValue:F.value,CodingSchemeDesignator:F.schemeDesignator,CodeMeaning:F.meaning}],GraphicType:l,GraphicData:u,ContentSequence:[{RelationshipType:G.RelationshipTypes.SELECTED_FROM,ValueType:G.ValueTypes.IMAGE,ReferencedSOPSequence:s}]},p=t.props.splineType,g=e,f=g.find(I=>I.ValueType==="NUM");if(f){const I=f.ContentSequence,m=Array.isArray(I)?I:I?[I]:[];f.ContentSequence=[...m,d]}else g.push(d);if(p){const I={RelationshipType:G.RelationshipTypes.HAS_OBS_CONTEXT,ValueType:"TEXT",ConceptNameCodeSequence:{CodeValue:fe.value,CodingSchemeDesignator:fe.schemeDesignator,CodeMeaning:fe.meaning},TextValue:p},m=g.findIndex(O=>O.RelationshipType===G.RelationshipTypes.HAS_OBS_CONTEXT),h=m>=0?m+2:2;g.splice(h,0,I)}return g}}var K;function $t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function H(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$t(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):$t(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}class gn extends U{static getMeasurementData(e,t,n){var a,o,s;const i=N.getSetupMeasurementData(e,t,n,this.toolType),c=i.state,u=i.NUMGroup,l=i.worldCoords,d=i.referencedImageId,p=i.ReferencedFrameNumber,g=Mn(l[l.length-1],l[0]);let f=!0;g<this.closedContourThreshold&&(l.pop(),f=!1);let I=(a=(o=c.annotation.data.handles)===null||o===void 0?void 0:o.points)!==null&&a!==void 0?a:[];f&&I.length===0&&(I=[l[0],l[l.length-1]]);const m=c.sopInstanceUid,O=je(e,m)[m]||{},y={CodingSchemeDesignator:fe.schemeDesignator,CodeValue:fe.value},S=u?R(u.ContentSequence):[],b=R(e.ContentSequence),T=(s=S.find(v=>N.codeValueMatch(v,y)))!==null&&s!==void 0?s:b.find(v=>N.codeValueMatch(v,y));return c.annotation.data=H(H({},c.annotation.data),{},{contour:{polyline:l,closed:!f},handles:H(H({},c.annotation.data.handles),{},{points:I}),frameNumber:p},T&&{spline:{type:T.TextValue}}),d&&(c.annotation.data.cachedStats={["imageId:".concat(d)]:H(H({},!f&&u?{area:u.MeasuredValueSequence.NumericValue}:{}),xe(O))}),c}static getTID300RepresentationArguments(e){var t,n;let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const o=e.data,s=e.finding,i=e.findingSites,c=e.metadata,u=o.handles,l=o.contour,d=l.polyline,g=l.closed!==!0,f=c.referencedImageId,I={is3DMeasurement:a,referencedImageId:f},m=Q(I,d);if(!g){const Ve=m[0];m.push(Ve)}const h=(u==null||(t=u.points)===null||t===void 0?void 0:t.length)&&Q(I,u.points),O=super.getCachedStats(o.cachedStats,c),y=O.area,S=O.areaUnit,b=O.modalityUnit,T=O.perimeter,v=O.mean,j=O.max,re=O.stdDev,ae=O.length;return{points:m,controlPoints:h,area:y,areaUnit:S,perimeter:T??ae,modalityUnit:b,mean:v,max:j,stdDev:re,splineType:(n=o.spline)===null||n===void 0?void 0:n.type,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:s,findingSites:i||[],ReferencedFrameOfReferenceUID:a?c.FrameOfReferenceUID:null,use3DSpatialCoordinates:a}}}K=gn;K.closedContourThreshold=1e-5;K.init("PlanarFreehandROI",Jr),K.registerSubType(K,"LivewireContour"),K.registerSubType(K,"SplineROI");var le;function qt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function be(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):qt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Zr=D.TID300.Point;class _e extends U{static isValidMeasurement(e){const t=this.getGraphicItem(e);return this.getGraphicType(t)==="POINT"&&this.getPointsCount(t)<=2}static getMeasurementData(e,t,n,a){var o,s;const i=N.getSetupMeasurementData(e,t,n,this.toolType),c=i.state,u=i.NUMGroup,l=i.worldCoords,d=i.referencedImageId,p=i.ReferencedFrameNumber,g=d?{["imageId:".concat(d)]:{value:(o=u==null||(s=u.MeasuredValueSequence)===null||s===void 0?void 0:s.NumericValue)!==null&&o!==void 0?o:null}}:{};return c.annotation.data=be(be({},c.annotation.data),{},{handles:be(be({},c.annotation.data.handles),{},{points:l}),cachedStats:g,frameNumber:p,invalidated:!0}),c}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.metadata,o=e.finding,s=e.findingSites,i=a.referencedImageId,c={is3DMeasurement:t,referencedImageId:i},u=n.handles.points;return{points:Q(c,u===void 0?[]:u),trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:s||[],finding:o,ReferencedFrameOfReferenceUID:t?a.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}le=_e;le.init("Probe",Zr),le.registerLegacy(),le.registerType("DCM:111030","POINT",1),le.registerType("DCM:111030","POINT",2);var fn;function Ft(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Re(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ft(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ft(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ea=D.TID300.Length,Lt=Bt;class mn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.worldCoords,i=a.ReferencedFrameNumber;return o.annotation.data=Re(Re({},o.annotation.data),{},{handles:Re(Re({},o.annotation.data.handles),{},{points:s}),frameNumber:i}),o}static getTID300RepresentationArguments(e,t){const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.handles,c=s.referencedImageId;if(!c)throw new Error("UltrasoundDirectionalTool.getTID300RepresentationArguments: referencedImageId is not defined");const u=Lt(c,i.points[0]),l=Lt(c,i.points[1]),d={x:u[0],y:u[1]},p={x:l[0],y:l[1]};return{point1:d,point2:p,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[]}}}fn=mn;fn.init("UltrasoundDirectionalTool",ea);k.SEGImageNormalizer;Ie.Segmentation;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;Pn(r=>{Cn(bn,qe.SEGMENTATION_LOAD_PROGRESS,{percentComplete:r})},200);function kt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ce(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):kt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Me=We.data.DicomMetaDictionary,C=Kt,ta=[C.GENERAL_STUDY,C.PATIENT_STUDY,C.PATIENT],na=[C.GENERAL_SERIES],ra=[C.GENERAL_IMAGE,C.IMAGE_PLANE,C.CINE,C.VOI_LUT,C.MODALITY_LUT,C.SOP_COMMON],He={get:function(r,e,t){var n;return(n=He[r])===null||n===void 0?void 0:n.call(He,e,t)},[C.IMAGE_SOP_INSTANCE_REFERENCE]:function(r){const e=q(C.FRAME_MODULE,r),t=e.sopClassUID,n=e.sopInstanceUID,a=e.frameNumber;return e.numberOfFrames>1?{ReferencedSOPClassUID:t,ReferencedSOPInstanceUID:n,ReferencedFrameNumber:a}:{ReferencedSOPClassUID:e.sopClassUID,ReferencedSOPInstanceUID:e.sopInstanceUID}},[C.REFERENCED_SERIES_REFERENCE]:r=>{const e=q(C.SOP_COMMON,r);return{SeriesInstanceUID:q(C.GENERAL_SERIES,r).seriesInstanceUID,ReferencedInstanceSequence:[{ReferencedSOPClassUID:e.sopClassUID,ReferencedSOPInstanceUID:e.sopInstanceUID}]}},[C.PREDECESSOR_SEQUENCE]:r=>{const e=ce({},q(C.SERIES_DATA,r)),t=q(C.GENERAL_IMAGE,r),n=q(C.GENERAL_STUDY,r);return e.InstanceNumber=1+Number(t.instanceNumber),e.PredecessorDocumentsSequence={StudyInstanceUID:n.studyInstanceUID,ReferencedSeriesSequence:{SeriesInstanceUID:e.SeriesInstanceUID,ReferencedSOPSequence:{ReferencedSOPClassUID:t.sopClassUID,ReferencedSOPInstanceUID:t.sopInstanceUID}}},e},[C.STUDY_DATA]:r=>$e(r,ta),[C.SERIES_DATA]:r=>$e(r,na),[C.IMAGE_DATA]:r=>$e(r,ra),[C.RTSS_INSTANCE_DATA]:r=>{const e=q(C.NEW_INSTANCE_DATA,r);return ce(ce({},e),{},{SeriesNumber:"3201",StructureSetROISequence:[],ROIContourSequence:[],RTROIObservationsSequence:[],ReferencedFrameOfReferenceSequence:[],Modality:"RTSTRUCT",SOPClassUID:"1.2.840.10008.5.1.4.1.1.481.3",PositionReferenceIndicator:"",StructureSetLabel:"",StructureSetName:"",StructureSetDate:Me.date(),StructureSetTime:Me.time()})},[C.NEW_INSTANCE_DATA]:r=>{const e=q(C.STUDY_DATA,r);return ce(ce({},e),{},{SeriesNumber:"50000",InstanceNumber:"1",OperatorsName:"",ReferringPhysicianName:"",SpecificCharacterSet:"ISO_IR 192",Manufacturer:"cs3d",SOPInstanceUID:Me.uid(),SeriesInstanceUID:Me.uid()})},[C.RTSS_CONTOUR]:()=>yr,[C.SR_ANNOTATION]:()=>ot};Rn(He.get,9023);var L;const aa=D.TID300.Point;class In extends _e{static getMeasurementData(e,t,n,a){const o=super.getMeasurementData(e,t,n,a),s=o.annotation.data;return s.isPoint=a.indexOf("Point")!==-1,o}static getTID300RepresentationArguments(e){const t=super.getTID300RepresentationArguments(e),n=e.data;return n.isPoint&&(n.seriesLevel?t.trackingIdentifierTextValue=this.trackingSeriesPointIdentifier:t.trackingIdentifierTextValue=this.trackingPointIdentifier),n.seriesLevel&&(t.trackingIdentifierTextValue=this.trackingSeriesIdentifier),t.points.length||t.points.push({x:0,y:0}),t}}L=In;L.init("KeyImage",aa,{parentType:_e.toolType});L.trackingSeriesIdentifier="".concat(L.trackingIdentifierTextValue,":Series");L.trackingPointIdentifier="".concat(L.trackingIdentifierTextValue,":Point");L.trackingSeriesPointIdentifier="".concat(L.trackingIdentifierTextValue,":SeriesPoint");const oa={BaseAdapter3D:U,Bidirectional:on,CobbAngle:Ue,Angle:sn,Length:pn,CircleROI:un,EllipticalROI:Ge,RectangleROI:ln,ArrowAnnotate:an,Probe:_e,PlanarFreehandROI:gn,UltrasoundDirectional:mn,KeyImage:In,MeasurementReport:N,CodeScheme:en,CORNERSTONE_3D_TAG:ge,COMMENT_CODE:Ne,NO_IMAGE_ID:Fe,TEXT_ANNOTATION_POSITION:ve};A.Colors;A.BitArray;const ma={Cornerstone:sr,Cornerstone3D:oa};export{Fe as NO_IMAGE_ID,ma as adaptersSR};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{L as D,E as h,C as L}from"./index-DTiNKN3t.js";import{U as H,W as n,X as B,Y as K,Z as M,a1 as f,$ as OO,a0 as eO,s as iO,a8 as aO,a9 as nO}from"./syntax-1x8StFCS.js";import{i as rO,c as QO,s as d}from"./index-DBDbe82G.js";import"./index-BuNudOlE.js";const tO=1,Z=194,j=195,oO=196,x=197,dO=198,sO=199,lO=200,TO=2,E=3,u=201,SO=24,pO=25,qO=49,gO=50,mO=55,PO=56,$O=57,hO=59,cO=60,fO=61,XO=62,yO=63,zO=65,WO=238,vO=71,RO=241,kO=242,_O=243,xO=244,uO=245,UO=246,bO=247,VO=248,Y=72,GO=249,wO=250,ZO=251,jO=252,EO=253,YO=254,FO=255,CO=256,JO=73,AO=77,NO=263,IO=112,DO=130,LO=151,HO=152,BO=155,p=10,q=13,k=32,c=9,_=35,KO=40,MO=46,R=123,U=125,F=39,C=34,b=92,Oe=111,ee=120,ie=78,ae=117,ne=85,re=new Set([pO,qO,gO,NO,zO,DO,PO,$O,WO,XO,yO,Y,JO,AO,cO,fO,LO,HO,BO,IO]);function X(O){return O==p||O==q}function y(O){return O>=48&&O<=57||O>=65&&O<=70||O>=97&&O<=102}const Qe=new h((O,e)=>{let i;if(O.next<0)O.acceptToken(sO);else if(e.context.flags&P)X(O.next)&&O.acceptToken(dO,1);else if(((i=O.peek(-1))<0||X(i))&&e.canShift(x)){let a=0;for(;O.next==k||O.next==c;)O.advance(),a++;(O.next==p||O.next==q||O.next==_)&&O.acceptToken(x,-a)}else X(O.next)&&O.acceptToken(oO,1)},{contextual:!0}),te=new h((O,e)=>{let i=e.context;if(i.flags)return;let a=O.peek(-1);if(a==p||a==q){let r=0,Q=0;for(;;){if(O.next==k)r++;else if(O.next==c)r+=8-r%8;else break;O.advance(),Q++}r!=i.indent&&O.next!=p&&O.next!=q&&O.next!=_&&(r<i.indent?O.acceptToken(j,-Q):O.acceptToken(Z))}}),P=1,J=2,s=4,l=8,T=16,S=32;function $(O,e,i){this.parent=O,this.indent=e,this.flags=i,this.hash=(O?O.hash+O.hash<<8:0)+e+(e<<4)+i+(i<<6)}const oe=new $(null,0,0);function de(O){let e=0;for(let i=0;i<O.length;i++)e+=O.charCodeAt(i)==c?8-e%8:1;return e}const V=new Map([[RO,0],[kO,s],[_O,l],[xO,l|s],[uO,T],[UO,T|s],[bO,T|l],[VO,T|l|s],[GO,S],[wO,S|s],[ZO,S|l],[jO,S|l|s],[EO,S|T],[YO,S|T|s],[FO,S|T|l],[CO,S|T|l|s]].map(([O,e])=>[O,e|J])),se=new L({start:oe,reduce(O,e,i,a){return O.flags&P&&re.has(e)||(e==vO||e==Y)&&O.flags&J?O.parent:O},shift(O,e,i,a){return e==Z?new $(O,de(a.read(a.pos,i.pos)),0):e==j?O.parent:e==SO||e==mO||e==hO||e==E?new $(O,0,P):V.has(e)?new $(O,0,V.get(e)|O.flags&P):O},hash(O){return O.hash}}),le=new h(O=>{for(let e=0;e<5;e++){if(O.next!="print".charCodeAt(e))return;O.advance()}if(!/\w/.test(String.fromCharCode(O.next)))for(let e=0;;e++){let i=O.peek(e);if(!(i==k||i==c)){i!=KO&&i!=MO&&i!=p&&i!=q&&i!=_&&O.acceptToken(tO);return}}}),Te=new h((O,e)=>{let{flags:i}=e.context,a=i&s?C:F,r=(i&l)>0,Q=!(i&T),t=(i&S)>0,o=O.pos;for(;!(O.next<0);)if(t&&O.next==R)if(O.peek(1)==R)O.advance(2);else{if(O.pos==o){O.acceptToken(E,1);return}break}else if(Q&&O.next==b){if(O.pos==o){O.advance();let g=O.next;g>=0&&(O.advance(),Se(O,g)),O.acceptToken(TO);return}break}else if(O.next==b&&!Q&&O.peek(1)>-1)O.advance(2);else if(O.next==a&&(!r||O.peek(1)==a&&O.peek(2)==a)){if(O.pos==o){O.acceptToken(u,r?3:1);return}break}else if(O.next==p){if(r)O.advance();else if(O.pos==o){O.acceptToken(u);return}break}else O.advance();O.pos>o&&O.acceptToken(lO)});function Se(O,e){if(e==Oe)for(let i=0;i<2&&O.next>=48&&O.next<=55;i++)O.advance();else if(e==ee)for(let i=0;i<2&&y(O.next);i++)O.advance();else if(e==ae)for(let i=0;i<4&&y(O.next);i++)O.advance();else if(e==ne)for(let i=0;i<8&&y(O.next);i++)O.advance();else if(e==ie&&O.next==R){for(O.advance();O.next>=0&&O.next!=U&&O.next!=F&&O.next!=C&&O.next!=p;)O.advance();O.next==U&&O.advance()}}const pe=H({'async "*" "**" FormatConversion FormatSpec':n.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":n.controlKeyword,"in not and or is del":n.operatorKeyword,"from def class global nonlocal lambda":n.definitionKeyword,import:n.moduleKeyword,"with as print":n.keyword,Boolean:n.bool,None:n.null,VariableName:n.variableName,"CallExpression/VariableName":n.function(n.variableName),"FunctionDefinition/VariableName":n.function(n.definition(n.variableName)),"ClassDefinition/VariableName":n.definition(n.className),PropertyName:n.propertyName,"CallExpression/MemberExpression/PropertyName":n.function(n.propertyName),Comment:n.lineComment,Number:n.number,String:n.string,FormatString:n.special(n.string),Escape:n.escape,UpdateOp:n.updateOperator,"ArithOp!":n.arithmeticOperator,BitOp:n.bitwiseOperator,CompareOp:n.compareOperator,AssignOp:n.definitionOperator,Ellipsis:n.punctuation,At:n.meta,"( )":n.paren,"[ ]":n.squareBracket,"{ }":n.brace,".":n.derefOperator,", ;":n.separator}),qe={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},ge=D.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j",stateData:"$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",nodeNames:"⚠ print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:277,context:se,nodeProps:[["isolate",-5,4,71,72,73,77,""],["group",-15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,"Statement Statement",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,"Expression",-10,114,116,119,121,122,126,128,133,135,138,"Statement",-9,143,144,147,148,150,151,152,153,154,"Pattern"],["openedBy",23,"(",54,"[",58,"{"],["closedBy",24,")",55,"]",59,"}"]],propSources:[pe],skippedNodes:[0,4],repeatNodeCount:34,tokenData:"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[le,te,Qe,Te,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:O=>qe[O]||-1}],tokenPrec:7668}),G=new aO,A=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function m(O){return(e,i,a)=>{if(a)return!1;let r=e.node.getChild("VariableName");return r&&i(r,O),!0}}const me={FunctionDefinition:m("function"),ClassDefinition:m("class"),ForStatement(O,e,i){if(i){for(let a=O.node.firstChild;a;a=a.nextSibling)if(a.name=="VariableName")e(a,"variable");else if(a.name=="in")break}},ImportStatement(O,e){var i,a;let{node:r}=O,Q=((i=r.firstChild)===null||i===void 0?void 0:i.name)=="from";for(let t=r.getChild("import");t;t=t.nextSibling)t.name=="VariableName"&&((a=t.nextSibling)===null||a===void 0?void 0:a.name)!="as"&&e(t,Q?"variable":"namespace")},AssignStatement(O,e){for(let i=O.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name==":"||i.name=="AssignOp")break},ParamList(O,e){for(let i=null,a=O.node.firstChild;a;a=a.nextSibling)a.name=="VariableName"&&(!i||!/\*|AssignOp/.test(i.name))&&e(a,"variable"),i=a},CapturePattern:m("variable"),AsPattern:m("variable"),__proto__:null};function N(O,e){let i=G.get(e);if(i)return i;let a=[],r=!0;function Q(t,o){let g=O.sliceString(t.from,t.to);a.push({label:g,type:o})}return e.cursor(nO.IncludeAnonymous).iterate(t=>{if(t.name){let o=me[t.name];if(o&&o(t,Q,r)||!r&&A.has(t.name))return!1;r=!1}else if(t.to-t.from>8192){for(let o of N(O,t.node))a.push(o);return!1}}),G.set(e,a),a}const w=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,I=["String","FormatString","Comment","PropertyName"];function Pe(O){let e=iO(O.state).resolveInner(O.pos,-1);if(I.indexOf(e.name)>-1)return null;let i=e.name=="VariableName"||e.to-e.from<20&&w.test(O.state.sliceDoc(e.from,e.to));if(!i&&!O.explicit)return null;let a=[];for(let r=e;r;r=r.parent)A.has(r.name)&&(a=a.concat(N(O.state.doc,r)));return{options:a,from:i?e.from:O.pos,validFor:w}}const $e=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(O=>({label:O,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(O=>({label:O,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(O=>({label:O,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(O=>({label:O,type:"function"}))),he=[d("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),d("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),d("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),d("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),d(`if \${}:
|
|
2
|
+
|
|
3
|
+
`,{label:"if",detail:"block",type:"keyword"}),d("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),d("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),d("import ${module}",{label:"import",detail:"statement",type:"keyword"}),d("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],ce=rO(I,QO($e.concat(he)));function z(O){let{node:e,pos:i}=O,a=O.lineIndent(i,-1),r=null;for(;;){let Q=e.childBefore(i);if(Q)if(Q.name=="Comment")i=Q.from;else if(Q.name=="Body"||Q.name=="MatchBody")O.baseIndentFor(Q)+O.unit<=a&&(r=Q),e=Q;else if(Q.name=="MatchClause")e=Q;else if(Q.type.is("Statement"))e=Q;else break;else break}return r}function W(O,e){let i=O.baseIndentFor(e),a=O.lineAt(O.pos,-1),r=a.from+a.text.length;return/^\s*($|#)/.test(a.text)&&O.node.to<r+100&&!/\S/.test(O.state.sliceDoc(r,O.node.to))&&O.lineIndent(O.pos,-1)<=i||/^\s*(else:|elif |except |finally:|case\s+[^=:]+:)/.test(O.textAfter)&&O.lineIndent(O.pos,-1)>i?null:i+O.unit}const v=K.define({name:"python",parser:ge.configure({props:[M.add({Body:O=>{var e;let i=/^\s*(#|$)/.test(O.textAfter)&&z(O)||O.node;return(e=W(O,i))!==null&&e!==void 0?e:O.continue()},MatchBody:O=>{var e;let i=z(O);return(e=W(O,i||O.node))!==null&&e!==void 0?e:O.continue()},IfStatement:O=>/^\s*(else:|elif )/.test(O.textAfter)?O.baseIndent:O.continue(),"ForStatement WhileStatement":O=>/^\s*else:/.test(O.textAfter)?O.baseIndent:O.continue(),TryStatement:O=>/^\s*(except[ :]|finally:|else:)/.test(O.textAfter)?O.baseIndent:O.continue(),MatchStatement:O=>/^\s*case /.test(O.textAfter)?O.baseIndent+O.unit:O.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":f({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":f({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":f({closing:"]"}),MemberExpression:O=>O.baseIndent+O.unit,"String FormatString":()=>null,Script:O=>{var e;let i=z(O);return(e=i&&W(O,i))!==null&&e!==void 0?e:O.continue()}}),OO.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":eO,Body:(O,e)=>({from:O.from+1,to:O.to-(O.to==e.doc.length?0:1)}),"String FormatString":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function We(){return new B(v,[v.data.of({autocomplete:Pe}),v.data.of({autocomplete:ce})])}export{ce as globalCompletion,Pe as localCompletionSource,We as python,v as pythonLanguage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{P as Pr,N as le,e as z,T as wr,g as bt,s as ie,h as A,p as kt,t as c,a as Qt,i as je,c as yr,f as oe,b as xr,L as ee,j,k as Xr,I as vr,l as jr,E as Pt,m as E,n as Cr,o as Tr,q as Vr,r as N,u as qr,v as Ar,w as Er,x as Lr,y as zr,z as Ie,A as Rr}from"./field-BAYlwQSv.js";import{C as _r}from"./index-BqnjocRf.js";import{L as wt,E as C,C as Yr,a as Br}from"./index-CTdByfDe.js";import{typescriptLanguage as Ir,jsxLanguage as Zr,tsxLanguage as Mr,javascriptLanguage as Ce,javascript as Nr}from"./index-C5hKeI2D.js";import"./index-D3-XGQHj.js";class te{static create(t,r,a,n,s){let l=n+(n<<8)+t+(r<<4)|0;return new te(t,r,a,l,s,[],[])}constructor(t,r,a,n,s,l,i){this.type=t,this.value=r,this.from=a,this.hash=n,this.end=s,this.children=l,this.positions=i,this.hashProp=[[z.contextHash,n]]}addChild(t,r){t.prop(z.contextHash)!=this.hash&&(t=new A(t.type,t.children,t.positions,t.length,this.hashProp)),this.children.push(t),this.positions.push(r)}toTree(t,r=this.end){let a=this.children.length-1;return a>=0&&(r=Math.max(r,this.positions[a]+this.children[a].length+this.from)),new A(t.types[this.type],this.children,this.positions,r-this.from).balance({makeTree:(n,s,l)=>new A(le.none,n,s,l,this.hashProp)})}}var h;(function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.Autolink=33]="Autolink",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel",e[e.URL=44]="URL"})(h||(h={}));class Wr{constructor(t,r){this.start=t,this.content=r,this.marks=[],this.parsers=[]}}class Gr{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let t=this.skipSpace(this.basePos);this.indent=this.countIndent(t,this.pos,this.indent),this.pos=t,this.next=t==this.text.length?-1:this.text.charCodeAt(t)}skipSpace(t){return Z(this.text,t)}reset(t){for(this.text=t,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(t){this.basePos=t,this.baseIndent=this.countIndent(t,this.pos,this.indent)}moveBaseColumn(t){this.baseIndent=t,this.basePos=this.findColumn(t)}addMarker(t){this.markers.push(t)}countIndent(t,r=0,a=0){for(let n=r;n<t;n++)a+=this.text.charCodeAt(n)==9?4-a%4:1;return a}findColumn(t){let r=0;for(let a=0;r<this.text.length&&a<t;r++)a+=this.text.charCodeAt(r)==9?4-a%4:1;return r}scrub(){if(!this.baseIndent)return this.text;let t="";for(let r=0;r<this.basePos;r++)t+=" ";return t+this.text.slice(this.basePos)}}function Ze(e,t,r){if(r.pos==r.text.length||e!=t.block&&r.indent>=t.stack[r.depth+1].value+r.baseIndent)return!0;if(r.indent>=r.baseIndent+4)return!1;let a=(e.type==h.OrderedList?qe:Ve)(r,t,!1);return a>0&&(e.type!=h.BulletList||Te(r,t,!1)<0)&&r.text.charCodeAt(r.pos+a-1)==e.value}const yt={[h.Blockquote](e,t,r){return r.next!=62?!1:(r.markers.push($(h.QuoteMark,t.lineStart+r.pos,t.lineStart+r.pos+1)),r.moveBase(r.pos+(x(r.text.charCodeAt(r.pos+1))?2:1)),e.end=t.lineStart+r.text.length,!0)},[h.ListItem](e,t,r){return r.indent<r.baseIndent+e.value&&r.next>-1?!1:(r.moveBaseColumn(r.baseIndent+e.value),!0)},[h.OrderedList]:Ze,[h.BulletList]:Ze,[h.Document](){return!0}};function x(e){return e==32||e==9||e==10||e==13}function Z(e,t=0){for(;t<e.length&&x(e.charCodeAt(t));)t++;return t}function Me(e,t,r){for(;t>r&&x(e.charCodeAt(t-1));)t--;return t}function xt(e){if(e.next!=96&&e.next!=126)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(e.next==96){for(let r=t;r<e.text.length;r++)if(e.text.charCodeAt(r)==96)return-1}return t}function Xt(e){return e.next!=62?-1:e.text.charCodeAt(e.pos+1)==32?2:1}function Te(e,t,r){if(e.next!=42&&e.next!=45&&e.next!=95)return-1;let a=1;for(let n=e.pos+1;n<e.text.length;n++){let s=e.text.charCodeAt(n);if(s==e.next)a++;else if(!x(s))return-1}return r&&e.next==45&&Ct(e)>-1&&e.depth==t.stack.length&&t.parser.leafBlockParsers.indexOf(At.SetextHeading)>-1||a<3?-1:1}function vt(e,t){for(let r=e.stack.length-1;r>=0;r--)if(e.stack[r].type==t)return!0;return!1}function Ve(e,t,r){return(e.next==45||e.next==43||e.next==42)&&(e.pos==e.text.length-1||x(e.text.charCodeAt(e.pos+1)))&&(!r||vt(t,h.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?1:-1}function qe(e,t,r){let a=e.pos,n=e.next;for(;n>=48&&n<=57;){a++;if(a==e.text.length)return-1;n=e.text.charCodeAt(a)}return a==e.pos||a>e.pos+9||n!=46&&n!=41||a<e.text.length-1&&!x(e.text.charCodeAt(a+1))||r&&!vt(t,h.OrderedList)&&(e.skipSpace(a+1)==e.text.length||a>e.pos+1||e.next!=49)?-1:a+1-e.pos}function jt(e){if(e.next!=35)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==35;)t++;if(t<e.text.length&&e.text.charCodeAt(t)!=32)return-1;let r=t-e.pos;return r>6?-1:r}function Ct(e){if(e.next!=45&&e.next!=61||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let r=t;for(;t<e.text.length&&x(e.text.charCodeAt(t));)t++;return t==e.text.length?r:-1}const Qe=/^[ \t]*$/,Tt=/-->/,Vt=/\?>/,Pe=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Tt],[/^\s*<\?/,Vt],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,Qe],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Qe]];function qt(e,t,r){if(e.next!=60)return-1;let a=e.text.slice(e.pos);for(let n=0,s=Pe.length-(r?1:0);n<s;n++)if(Pe[n][0].test(a))return n;return-1}function Ne(e,t){let r=e.countIndent(t,e.pos,e.indent),a=e.skipSpace(t),n=e.countIndent(a,t,r);return n>=r+5||a==e.text.length?r+1:n}function v(e,t,r){let a=e.length-1;a>=0&&e[a].to==t&&e[a].type==h.CodeText?e[a].to=r:e.push($(h.CodeText,t,r))}const F={LinkReference:void 0,IndentedCode(e,t){let r=t.baseIndent+4;if(t.indent<r)return!1;let a=t.findColumn(r),n=e.lineStart+a,s=e.lineStart+t.text.length,l=[],i=[];for(v(l,n,s);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){v(i,e.lineStart-1,e.lineStart);for(let o of t.markers)i.push(o)}else{if(t.indent<r)break;{if(i.length){for(let O of i)O.type==h.CodeText?v(l,O.from,O.to):l.push(O);i=[]}v(l,e.lineStart-1,e.lineStart);for(let O of t.markers)l.push(O);s=e.lineStart+t.text.length;let o=e.lineStart+t.findColumn(t.baseIndent+4);o<s&&v(l,o,s)}}return i.length&&(i=i.filter(o=>o.type!=h.CodeText),i.length&&(t.markers=i.concat(t.markers))),e.addNode(e.buffer.writeElements(l,-n).finish(h.CodeBlock,s-n),n),!0},FencedCode(e,t){let r=xt(t);if(r<0)return!1;let a=e.lineStart+t.pos,n=t.next,s=r-t.pos,l=t.skipSpace(r),i=Me(t.text,t.text.length,l),o=[$(h.CodeMark,a,a+s)];l<i&&o.push($(h.CodeInfo,e.lineStart+l,e.lineStart+i));for(let O=!0,u=!0,d=!1;e.nextLine()&&t.depth>=e.stack.length;O=!1){let f=t.pos;if(t.indent-t.baseIndent<4)for(;f<t.text.length&&t.text.charCodeAt(f)==n;)f++;if(f-t.pos>=s&&t.skipSpace(f)==t.text.length){for(let m of t.markers)o.push(m);u&&d&&v(o,e.lineStart-1,e.lineStart),o.push($(h.CodeMark,e.lineStart+t.pos,e.lineStart+f)),e.nextLine();break}else{d=!0,O||(v(o,e.lineStart-1,e.lineStart),u=!1);for(let g of t.markers)o.push(g);let m=e.lineStart+t.basePos,S=e.lineStart+t.text.length;m<S&&(v(o,m,S),u=!1)}}return e.addNode(e.buffer.writeElements(o,-a).finish(h.FencedCode,e.prevLineEnd()-a),a),!0},Blockquote(e,t){let r=Xt(t);return r<0?!1:(e.startContext(h.Blockquote,t.pos),e.addNode(h.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+r),null)},HorizontalRule(e,t){if(Te(t,e,!1)<0)return!1;let r=e.lineStart+t.pos;return e.nextLine(),e.addNode(h.HorizontalRule,r),!0},BulletList(e,t){let r=Ve(t,e,!1);if(r<0)return!1;e.block.type!=h.BulletList&&e.startContext(h.BulletList,t.basePos,t.next);let a=Ne(t,t.pos+1);return e.startContext(h.ListItem,t.basePos,a-t.baseIndent),e.addNode(h.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(a),null},OrderedList(e,t){let r=qe(t,e,!1);if(r<0)return!1;e.block.type!=h.OrderedList&&e.startContext(h.OrderedList,t.basePos,t.text.charCodeAt(t.pos+r-1));let a=Ne(t,t.pos+r);return e.startContext(h.ListItem,t.basePos,a-t.baseIndent),e.addNode(h.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(a),null},ATXHeading(e,t){let r=jt(t);if(r<0)return!1;let a=t.pos,n=e.lineStart+a,s=Me(t.text,t.text.length,a),l=s;for(;l>a&&t.text.charCodeAt(l-1)==t.next;)l--;(l==s||l==a||!x(t.text.charCodeAt(l-1)))&&(l=t.text.length);let i=e.buffer.write(h.HeaderMark,0,r).writeElements(e.parser.parseInline(t.text.slice(a+r+1,l),n+r+1),-n);l<t.text.length&&i.write(h.HeaderMark,l-a,s-a);let o=i.finish(h.ATXHeading1-1+r,t.text.length-a);return e.nextLine(),e.addNode(o,n),!0},HTMLBlock(e,t){let r=qt(t,e,!1);if(r<0)return!1;let a=e.lineStart+t.pos,n=Pe[r][1],s=[],l=n!=Qe;for(;!n.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){l=!1;break}for(let O of t.markers)s.push(O)}l&&e.nextLine();let i=n==Tt?h.CommentBlock:n==Vt?h.ProcessingInstructionBlock:h.HTMLBlock,o=e.prevLineEnd();return e.addNode(e.buffer.writeElements(s,-a).finish(i,o-a),a),!0},SetextHeading:void 0};class Dr{constructor(t){this.stage=0,this.elts=[],this.pos=0,this.start=t.start,this.advance(t.content)}nextLine(t,r,a){if(this.stage==-1)return!1;let n=a.content+`
|
|
1
|
+
import{a2 as Pr,a3 as le,N as z,a4 as wr,a5 as bt,U as ie,a6 as A,a7 as kt,W as c,Y as Qt,Z as je,_ as yr,$ as oe,a0 as xr,X as ee,s as j,a8 as Xr,a9 as vr,aa as jr,E as Pt,a as E,P as Cr,O as Tr,ab as Vr,e as N,ac as qr,k as Ar,ad as Er,v as Lr,ae as zr,af as Ie,ag as Rr}from"./syntax-1x8StFCS.js";import{C as _r}from"./index-DBDbe82G.js";import{L as wt,E as C,C as Yr,a as Br}from"./index-DTiNKN3t.js";import{typescriptLanguage as Ir,jsxLanguage as Zr,tsxLanguage as Mr,javascriptLanguage as Ce,javascript as Nr}from"./index-BtxxK29d.js";import"./index-BuNudOlE.js";class te{static create(t,r,a,n,s){let l=n+(n<<8)+t+(r<<4)|0;return new te(t,r,a,l,s,[],[])}constructor(t,r,a,n,s,l,i){this.type=t,this.value=r,this.from=a,this.hash=n,this.end=s,this.children=l,this.positions=i,this.hashProp=[[z.contextHash,n]]}addChild(t,r){t.prop(z.contextHash)!=this.hash&&(t=new A(t.type,t.children,t.positions,t.length,this.hashProp)),this.children.push(t),this.positions.push(r)}toTree(t,r=this.end){let a=this.children.length-1;return a>=0&&(r=Math.max(r,this.positions[a]+this.children[a].length+this.from)),new A(t.types[this.type],this.children,this.positions,r-this.from).balance({makeTree:(n,s,l)=>new A(le.none,n,s,l,this.hashProp)})}}var h;(function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.Autolink=33]="Autolink",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel",e[e.URL=44]="URL"})(h||(h={}));class Wr{constructor(t,r){this.start=t,this.content=r,this.marks=[],this.parsers=[]}}class Gr{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let t=this.skipSpace(this.basePos);this.indent=this.countIndent(t,this.pos,this.indent),this.pos=t,this.next=t==this.text.length?-1:this.text.charCodeAt(t)}skipSpace(t){return Z(this.text,t)}reset(t){for(this.text=t,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(t){this.basePos=t,this.baseIndent=this.countIndent(t,this.pos,this.indent)}moveBaseColumn(t){this.baseIndent=t,this.basePos=this.findColumn(t)}addMarker(t){this.markers.push(t)}countIndent(t,r=0,a=0){for(let n=r;n<t;n++)a+=this.text.charCodeAt(n)==9?4-a%4:1;return a}findColumn(t){let r=0;for(let a=0;r<this.text.length&&a<t;r++)a+=this.text.charCodeAt(r)==9?4-a%4:1;return r}scrub(){if(!this.baseIndent)return this.text;let t="";for(let r=0;r<this.basePos;r++)t+=" ";return t+this.text.slice(this.basePos)}}function Ze(e,t,r){if(r.pos==r.text.length||e!=t.block&&r.indent>=t.stack[r.depth+1].value+r.baseIndent)return!0;if(r.indent>=r.baseIndent+4)return!1;let a=(e.type==h.OrderedList?qe:Ve)(r,t,!1);return a>0&&(e.type!=h.BulletList||Te(r,t,!1)<0)&&r.text.charCodeAt(r.pos+a-1)==e.value}const yt={[h.Blockquote](e,t,r){return r.next!=62?!1:(r.markers.push($(h.QuoteMark,t.lineStart+r.pos,t.lineStart+r.pos+1)),r.moveBase(r.pos+(x(r.text.charCodeAt(r.pos+1))?2:1)),e.end=t.lineStart+r.text.length,!0)},[h.ListItem](e,t,r){return r.indent<r.baseIndent+e.value&&r.next>-1?!1:(r.moveBaseColumn(r.baseIndent+e.value),!0)},[h.OrderedList]:Ze,[h.BulletList]:Ze,[h.Document](){return!0}};function x(e){return e==32||e==9||e==10||e==13}function Z(e,t=0){for(;t<e.length&&x(e.charCodeAt(t));)t++;return t}function Me(e,t,r){for(;t>r&&x(e.charCodeAt(t-1));)t--;return t}function xt(e){if(e.next!=96&&e.next!=126)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(e.next==96){for(let r=t;r<e.text.length;r++)if(e.text.charCodeAt(r)==96)return-1}return t}function Xt(e){return e.next!=62?-1:e.text.charCodeAt(e.pos+1)==32?2:1}function Te(e,t,r){if(e.next!=42&&e.next!=45&&e.next!=95)return-1;let a=1;for(let n=e.pos+1;n<e.text.length;n++){let s=e.text.charCodeAt(n);if(s==e.next)a++;else if(!x(s))return-1}return r&&e.next==45&&Ct(e)>-1&&e.depth==t.stack.length&&t.parser.leafBlockParsers.indexOf(At.SetextHeading)>-1||a<3?-1:1}function vt(e,t){for(let r=e.stack.length-1;r>=0;r--)if(e.stack[r].type==t)return!0;return!1}function Ve(e,t,r){return(e.next==45||e.next==43||e.next==42)&&(e.pos==e.text.length-1||x(e.text.charCodeAt(e.pos+1)))&&(!r||vt(t,h.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?1:-1}function qe(e,t,r){let a=e.pos,n=e.next;for(;n>=48&&n<=57;){a++;if(a==e.text.length)return-1;n=e.text.charCodeAt(a)}return a==e.pos||a>e.pos+9||n!=46&&n!=41||a<e.text.length-1&&!x(e.text.charCodeAt(a+1))||r&&!vt(t,h.OrderedList)&&(e.skipSpace(a+1)==e.text.length||a>e.pos+1||e.next!=49)?-1:a+1-e.pos}function jt(e){if(e.next!=35)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==35;)t++;if(t<e.text.length&&e.text.charCodeAt(t)!=32)return-1;let r=t-e.pos;return r>6?-1:r}function Ct(e){if(e.next!=45&&e.next!=61||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let r=t;for(;t<e.text.length&&x(e.text.charCodeAt(t));)t++;return t==e.text.length?r:-1}const Qe=/^[ \t]*$/,Tt=/-->/,Vt=/\?>/,Pe=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Tt],[/^\s*<\?/,Vt],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,Qe],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Qe]];function qt(e,t,r){if(e.next!=60)return-1;let a=e.text.slice(e.pos);for(let n=0,s=Pe.length-(r?1:0);n<s;n++)if(Pe[n][0].test(a))return n;return-1}function Ne(e,t){let r=e.countIndent(t,e.pos,e.indent),a=e.skipSpace(t),n=e.countIndent(a,t,r);return n>=r+5||a==e.text.length?r+1:n}function v(e,t,r){let a=e.length-1;a>=0&&e[a].to==t&&e[a].type==h.CodeText?e[a].to=r:e.push($(h.CodeText,t,r))}const F={LinkReference:void 0,IndentedCode(e,t){let r=t.baseIndent+4;if(t.indent<r)return!1;let a=t.findColumn(r),n=e.lineStart+a,s=e.lineStart+t.text.length,l=[],i=[];for(v(l,n,s);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){v(i,e.lineStart-1,e.lineStart);for(let o of t.markers)i.push(o)}else{if(t.indent<r)break;{if(i.length){for(let O of i)O.type==h.CodeText?v(l,O.from,O.to):l.push(O);i=[]}v(l,e.lineStart-1,e.lineStart);for(let O of t.markers)l.push(O);s=e.lineStart+t.text.length;let o=e.lineStart+t.findColumn(t.baseIndent+4);o<s&&v(l,o,s)}}return i.length&&(i=i.filter(o=>o.type!=h.CodeText),i.length&&(t.markers=i.concat(t.markers))),e.addNode(e.buffer.writeElements(l,-n).finish(h.CodeBlock,s-n),n),!0},FencedCode(e,t){let r=xt(t);if(r<0)return!1;let a=e.lineStart+t.pos,n=t.next,s=r-t.pos,l=t.skipSpace(r),i=Me(t.text,t.text.length,l),o=[$(h.CodeMark,a,a+s)];l<i&&o.push($(h.CodeInfo,e.lineStart+l,e.lineStart+i));for(let O=!0,u=!0,d=!1;e.nextLine()&&t.depth>=e.stack.length;O=!1){let f=t.pos;if(t.indent-t.baseIndent<4)for(;f<t.text.length&&t.text.charCodeAt(f)==n;)f++;if(f-t.pos>=s&&t.skipSpace(f)==t.text.length){for(let m of t.markers)o.push(m);u&&d&&v(o,e.lineStart-1,e.lineStart),o.push($(h.CodeMark,e.lineStart+t.pos,e.lineStart+f)),e.nextLine();break}else{d=!0,O||(v(o,e.lineStart-1,e.lineStart),u=!1);for(let g of t.markers)o.push(g);let m=e.lineStart+t.basePos,S=e.lineStart+t.text.length;m<S&&(v(o,m,S),u=!1)}}return e.addNode(e.buffer.writeElements(o,-a).finish(h.FencedCode,e.prevLineEnd()-a),a),!0},Blockquote(e,t){let r=Xt(t);return r<0?!1:(e.startContext(h.Blockquote,t.pos),e.addNode(h.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+r),null)},HorizontalRule(e,t){if(Te(t,e,!1)<0)return!1;let r=e.lineStart+t.pos;return e.nextLine(),e.addNode(h.HorizontalRule,r),!0},BulletList(e,t){let r=Ve(t,e,!1);if(r<0)return!1;e.block.type!=h.BulletList&&e.startContext(h.BulletList,t.basePos,t.next);let a=Ne(t,t.pos+1);return e.startContext(h.ListItem,t.basePos,a-t.baseIndent),e.addNode(h.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(a),null},OrderedList(e,t){let r=qe(t,e,!1);if(r<0)return!1;e.block.type!=h.OrderedList&&e.startContext(h.OrderedList,t.basePos,t.text.charCodeAt(t.pos+r-1));let a=Ne(t,t.pos+r);return e.startContext(h.ListItem,t.basePos,a-t.baseIndent),e.addNode(h.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(a),null},ATXHeading(e,t){let r=jt(t);if(r<0)return!1;let a=t.pos,n=e.lineStart+a,s=Me(t.text,t.text.length,a),l=s;for(;l>a&&t.text.charCodeAt(l-1)==t.next;)l--;(l==s||l==a||!x(t.text.charCodeAt(l-1)))&&(l=t.text.length);let i=e.buffer.write(h.HeaderMark,0,r).writeElements(e.parser.parseInline(t.text.slice(a+r+1,l),n+r+1),-n);l<t.text.length&&i.write(h.HeaderMark,l-a,s-a);let o=i.finish(h.ATXHeading1-1+r,t.text.length-a);return e.nextLine(),e.addNode(o,n),!0},HTMLBlock(e,t){let r=qt(t,e,!1);if(r<0)return!1;let a=e.lineStart+t.pos,n=Pe[r][1],s=[],l=n!=Qe;for(;!n.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){l=!1;break}for(let O of t.markers)s.push(O)}l&&e.nextLine();let i=n==Tt?h.CommentBlock:n==Vt?h.ProcessingInstructionBlock:h.HTMLBlock,o=e.prevLineEnd();return e.addNode(e.buffer.writeElements(s,-a).finish(i,o-a),a),!0},SetextHeading:void 0};class Dr{constructor(t){this.stage=0,this.elts=[],this.pos=0,this.start=t.start,this.advance(t.content)}nextLine(t,r,a){if(this.stage==-1)return!1;let n=a.content+`
|
|
2
2
|
`+r.scrub(),s=this.advance(n);return s>-1&&s<n.length?this.complete(t,a,s):!1}finish(t,r){return(this.stage==2||this.stage==3)&&Z(r.content,this.pos)==r.content.length?this.complete(t,r,r.content.length):!1}complete(t,r,a){return t.addLeafElement(r,$(h.LinkReference,this.start,this.start+a,this.elts)),!0}nextStage(t){return t?(this.pos=t.to-this.start,this.elts.push(t),this.stage++,!0):(t===!1&&(this.stage=-1),!1)}advance(t){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(Zt(t,this.pos,this.start,!0)))return-1;if(t.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push($(h.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(Bt(t,Z(t,this.pos),this.start)))return-1}else if(this.stage==2){let r=Z(t,this.pos),a=0;if(r>this.pos){let n=It(t,r,this.start);if(n){let s=ue(t,n.to-this.start);s>0&&(this.nextStage(n),a=s)}}return a||(a=ue(t,this.pos)),a>0&&a<t.length?a:-1}else return ue(t,this.pos)}}}function ue(e,t){for(;t<e.length;t++){let r=e.charCodeAt(t);if(r==10)break;if(!x(r))return-1}return t}class Ur{nextLine(t,r,a){let n=r.depth<t.stack.length?-1:Ct(r),s=r.next;if(n<0)return!1;let l=$(h.HeaderMark,t.lineStart+r.pos,t.lineStart+n);return t.nextLine(),t.addLeafElement(a,$(s==61?h.SetextHeading1:h.SetextHeading2,a.start,t.prevLineEnd(),[...t.parser.parseInline(a.content,a.start),l])),!0}finish(){return!1}}const At={LinkReference(e,t){return t.content.charCodeAt(0)==91?new Dr(t):null},SetextHeading(){return new Ur}},Fr=[(e,t)=>jt(t)>=0,(e,t)=>xt(t)>=0,(e,t)=>Xt(t)>=0,(e,t)=>Ve(t,e,!0)>=0,(e,t)=>qe(t,e,!0)>=0,(e,t)=>Te(t,e,!0)>=0,(e,t)=>qt(t,e,!0)>=0],Hr={text:"",end:0};class Kr{constructor(t,r,a,n){this.parser=t,this.input=r,this.ranges=n,this.line=new Gr,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=te.create(h.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=a.length?new ta(a,r):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:t}=this;for(;;){for(let a=0;;){let n=t.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;a<t.markers.length&&(!n||t.markers[a].from<n.end);){let s=t.markers[a++];this.addNode(s.type,s.from,s.to)}if(!n)break;this.finishContext()}if(t.pos<t.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(t.basePos))return null;e:for(;;){for(let a of this.parser.blockParsers)if(a){let n=a(this,t);if(n!=!1){if(n==!0)return null;t.forward();continue e}}break}if(t.pos==t.text.length)return this.nextLine()?null:this.finish();let r=new Wr(this.lineStart+t.pos,t.text.slice(t.pos));for(let a of this.parser.leafBlockParsers)if(a){let n=a(this,r);n&&r.parsers.push(n)}e:for(;this.nextLine()&&t.pos!=t.text.length;){if(t.indent<t.baseIndent+4){for(let a of this.parser.endLeafBlock)if(a(this,t,r))break e}for(let a of r.parsers)if(a.nextLine(this,t,r))return null;r.content+=`
|
|
3
3
|
`+t.scrub();for(let a of t.markers)r.marks.push(a)}return this.finishLeaf(r),null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=t}reuseFragment(t){if(!this.fragments.moveTo(this.absoluteLineStart+t,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let r=this.fragments.takeNodes(this);return r?(this.absoluteLineStart+=r,this.lineStart=Mt(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(t=this.depth-1){return this.parser.nodeSet.types[this.stack[t].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(t){let r=Hr;if(r.end=t,t>=this.to)r.text="";else if(r.text=this.lineChunkAt(t),r.end+=r.text.length,this.ranges.length>1){let a=this.absoluteLineStart,n=this.rangeI;for(;this.ranges[n].to<r.end;){n++;let s=this.ranges[n].from,l=this.lineChunkAt(s);r.end=s+l.length,r.text=r.text.slice(0,this.ranges[n-1].to-a)+l,a=r.end-r.text.length}}return r}readLine(){let{line:t}=this,{text:r,end:a}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=a,t.reset(r);t.depth<this.stack.length;t.depth++){let n=this.stack[t.depth],s=this.parser.skipContextMarkup[n.type];if(!s)throw new Error("Unhandled block context "+h[n.type]);let l=this.line.markers.length;if(!s(n,this,t)){this.line.markers.length>l&&(n.end=this.line.markers[this.line.markers.length-1].to),t.forward();break}t.forward()}}lineChunkAt(t){let r=this.input.chunk(t),a;if(this.input.lineChunks)a=r==`
|
|
4
4
|
`?"":r;else{let n=r.indexOf(`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as E,T,f as A,b as x,k as L,A as O,a as y,p as g,S as D,E as w,P,O as M,ak as v,al as B,F as R,am as j}from"./syntax-1x8StFCS.js";class te{constructor(t,e,n,i){this.state=t,this.pos=e,this.explicit=n,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let e=E(this.state).resolveInner(this.pos,-1);for(;e&&t.indexOf(e.name)<0;)e=e.parent;return e?{from:e.from,to:this.pos,text:this.state.sliceDoc(e.from,this.pos),type:e.type}:null}matchBefore(t){let e=this.state.doc.lineAt(this.pos),n=Math.max(e.from,this.pos-250),i=e.text.slice(n-e.from,this.pos-e.from),l=i.search(W(t));return l<0?null:{from:n+l,to:this.pos,text:i.slice(l)}}get aborted(){return this.abortListeners==null}addEventListener(t,e,n){t=="abort"&&this.abortListeners&&(this.abortListeners.push(e),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function S(o){let t=Object.keys(o).join(""),e=/\w/.test(t);return e&&(t=t.replace(/\w/g,"")),`[${e?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function V(o){let t=Object.create(null),e=Object.create(null);for(let{label:i}of o){t[i[0]]=!0;for(let l=1;l<i.length;l++)e[i[l]]=!0}let n=S(t)+S(e)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function ne(o){let t=o.map(i=>typeof i=="string"?{label:i}:i),[e,n]=t.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:V(t);return i=>{let l=i.matchBefore(n);return l||i.explicit?{from:l?l.from:i.pos,options:t,validFor:e}:null}}function oe(o,t){return e=>{for(let n=E(e.state).resolveInner(e.pos,-1);n;n=n.parent){if(o.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return t(e)}}function W(o,t){var e;let{source:n}=o,i=n[n.length-1]!="$";return i?new RegExp(`(?:${n})${i?"$":""}`,(e=o.flags)!==null&&e!==void 0?e:o.ignoreCase?"i":""):o}const q=O.define(),z=w.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class H{constructor(t,e,n,i){this.field=t,this.line=e,this.from=n,this.to=i}}class b{constructor(t,e,n){this.field=t,this.from=e,this.to=n}map(t){let e=t.mapPos(this.from,-1,v.TrackDel),n=t.mapPos(this.to,1,v.TrackDel);return e==null||n==null?null:new b(this.field,e,n)}}class I{constructor(t,e){this.lines=t,this.fieldPositions=e}instantiate(t,e){let n=[],i=[e],l=t.doc.lineAt(e),p=/^\s*/.exec(l.text)[0];for(let r of this.lines){if(n.length){let f=p,c=/^\t*/.exec(r)[0].length;for(let s=0;s<c;s++)f+=t.facet(L);i.push(e+f.length-c),r=f+r.slice(c)}n.push(r),e+=r.length+1}let a=this.fieldPositions.map(r=>new b(r.field,i[r.line]+r.from,i[r.line]+r.to));return{text:n,ranges:a}}static parse(t){let e=[],n=[],i=[],l;for(let p of t.split(/\r\n?|\n/)){for(;l=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(p);){let a=l[1]?+l[1]:null,r=l[2]||l[3]||"",f=-1;a===0&&(a=1e9);let c=r.replace(/\\[{}]/g,s=>s[1]);for(let s=0;s<e.length;s++)(a!=null?e[s].seq==a:c&&e[s].name==c)&&(f=s);if(f<0){let s=0;for(;s<e.length&&(a==null||e[s].seq!=null&&e[s].seq<a);)s++;e.splice(s,0,{seq:a,name:c}),f=s;for(let d of i)d.field>=f&&d.field++}for(let s of i)if(s.line==n.length&&s.from>l.index){let d=l[2]?3+(l[1]||"").length:2;s.from-=d,s.to-=d}i.push(new H(f,n.length,l.index,l.index+c.length)),p=p.slice(0,l.index)+r+p.slice(l.index+l[0].length)}p=p.replace(/\\([{}])/g,(a,r,f)=>{for(let c of i)c.line==n.length&&c.from>f&&(c.from--,c.to--);return r}),n.push(p)}return new I(n,i)}}let K=g.widget({widget:new class extends B{toDOM(){let o=document.createElement("span");return o.className="cm-snippetFieldPosition",o}ignoreEvent(){return!1}}}),N=g.mark({class:"cm-snippetField"});class m{constructor(t,e){this.ranges=t,this.active=e,this.deco=g.set(t.map(n=>(n.from==n.to?K:N).range(n.from,n.to)),!0)}map(t){let e=[];for(let n of this.ranges){let i=n.map(t);if(!i)return null;e.push(i)}return new m(e,this.active)}selectionInsideField(t){return t.ranges.every(e=>this.ranges.some(n=>n.field==this.active&&n.from<=e.from&&n.to>=e.to))}}const h=x.define({map(o,t){return o&&o.map(t)}}),X=x.define(),u=D.define({create(){return null},update(o,t){for(let e of t.effects){if(e.is(h))return e.value;if(e.is(X)&&o)return new m(o.ranges,e.value)}return o&&t.docChanged&&(o=o.map(t.changes)),o&&t.selection&&!o.selectionInsideField(t.selection)&&(o=null),o},provide:o=>w.decorations.from(o,t=>t?t.deco:g.none)});function k(o,t){return y.create(o.filter(e=>e.field==t).map(e=>y.range(e.from,e.to)))}function U(o){let t=I.parse(o);return(e,n,i,l)=>{let{text:p,ranges:a}=t.instantiate(e.state,i),{main:r}=e.state.selection,f={changes:{from:i,to:l==r.from?r.to:l,insert:A.of(p)},scrollIntoView:!0,annotations:n?[q.of(n),T.userEvent.of("input.complete")]:void 0};if(a.length&&(f.selection=k(a,0)),a.some(c=>c.field>0)){let c=new m(a,0),s=f.effects=[h.of(c)];e.state.field(u,!1)===void 0&&s.push(x.appendConfig.of([u,Z,_,z]))}e.dispatch(e.state.update(f))}}function $(o){return({state:t,dispatch:e})=>{let n=t.field(u,!1);if(!n||o<0&&n.active==0)return!1;let i=n.active+o,l=o>0&&!n.ranges.some(p=>p.field==i+o);return e(t.update({selection:k(n.ranges,i),effects:h.of(l?null:new m(n.ranges,i)),scrollIntoView:!0})),!0}}const Y=({state:o,dispatch:t})=>o.field(u,!1)?(t(o.update({effects:h.of(null)})),!0):!1,G=$(1),J=$(-1),Q=[{key:"Tab",run:G,shift:J},{key:"Escape",run:Y}],F=R.define({combine(o){return o.length?o[0]:Q}}),Z=P.highest(M.compute([F],o=>o.facet(F)));function ie(o,t){return{...t,apply:U(o)}}const _=w.domEventHandlers({mousedown(o,t){let e=t.state.field(u,!1),n;if(!e||(n=t.posAtCoords({x:o.clientX,y:o.clientY}))==null)return!1;let i=e.ranges.find(l=>l.from<=n&&l.to>=n);return!i||i.field==e.active?!1:(t.dispatch({selection:k(e.ranges,i.field),effects:h.of(e.ranges.some(l=>l.field>i.field)?new m(e.ranges,i.field):null),scrollIntoView:!0}),!0)}}),C=new class extends j{};C.startSide=1;C.endSide=-1;export{te as C,ne as c,oe as i,ie as s};
|