UNPKG

our-medical

Version:

medical image vue component

20 lines 3.56 MB
(function(CA,U){typeof exports=="object"&&typeof module<"u"?U(exports,require("vue"),require("@cornerstonejs/tools"),require("@cornerstonejs/core"),require("lodash"),require("@kitware/vtk.js/Filters/General/ImageMarchingSquares"),require("gl-matrix"),require("@cornerstonejs/calculate-suv"),require("@cornerstonejs/dicom-image-loader"),require("dicomweb-client"),require("@kitware/vtk.js/Imaging"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("@kitware/vtk.js/Rendering/Core/Property"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@cornerstonejs/streaming-image-volume-loader"),require("dicom-parser"),require("@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget"),require("@kitware/vtk.js/IO/XML/XMLPolyDataReader"),require("@kitware/vtk.js/Common/Core/ImageHelper"),require("@kitware/vtk.js/Filters/General/ImageCropFilter")):typeof define=="function"&&define.amd?define(["exports","vue","@cornerstonejs/tools","@cornerstonejs/core","lodash","@kitware/vtk.js/Filters/General/ImageMarchingSquares","gl-matrix","@cornerstonejs/calculate-suv","@cornerstonejs/dicom-image-loader","dicomweb-client","@kitware/vtk.js/Imaging","@kitware/vtk.js/Common/Core/DataArray","@kitware/vtk.js/Common/DataModel/ImageData","@kitware/vtk.js/Common/DataModel/PolyData","@kitware/vtk.js/Rendering/Core/Actor","@kitware/vtk.js/Rendering/Core/Mapper","@kitware/vtk.js/Rendering/Core/Property","@kitware/vtk.js/Common/Core/Math","@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps","@cornerstonejs/streaming-image-volume-loader","dicom-parser","@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget","@kitware/vtk.js/IO/XML/XMLPolyDataReader","@kitware/vtk.js/Common/Core/ImageHelper","@kitware/vtk.js/Filters/General/ImageCropFilter"],U):(CA=typeof globalThis<"u"?globalThis:CA||self,U(CA["our-medical"]={},CA.vue,CA.cornerstoneTools,CA.cornerstone,CA.lodash,CA.vtkImageMarchingSquares,CA.glMatrix,CA.calculateSuv,CA.dicomImageLoader,CA.dicomwebClient,CA.vtkImaging,CA.vtkDataArray,CA.vtkImageData,CA.vtkPolyData,CA.vtkActor,CA.vtkMapper,null,CA.vtkMath,CA.vtkColorMaps,CA.streamingImageVolumeLoader,CA.dicomParser,CA.vtkOrientationMarkerWidget,CA.vtkXMLPolyDataReader,CA.vtkImageHelper,CA.vtkImageCropFilter))})(this,function(CA,U,c,e,j,At,x,gt,Jg,Ct,T3,S3,It,b3,H3,n3,ME,Gg,dt,Bt,wt,e3,Qt,tt,it){"use strict";var eE=Object.defineProperty;var ZE=(CA,U,c)=>U in CA?eE(CA,U,{enumerable:!0,configurable:!0,writable:!0,value:c}):CA[U]=c;var r=(CA,U,c)=>ZE(CA,typeof U!="symbol"?U+"":U,c);function Z3(C){const A=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(C){for(const I in C)if(I!=="default"){const d=Object.getOwnPropertyDescriptor(C,I);Object.defineProperty(A,I,d.get?d:{enumerable:!0,get:()=>C[I]})}}return A.default=C,Object.freeze(A)}const lA=Z3(c),LA=Z3(e),Dt=["onClick"],st=U.defineComponent({__name:"AxisSelect",props:{select:{type:String,required:!0},color:{type:String},i18n:{type:String,required:!0},prefixMark:{type:String},list:{type:Array,required:!0},onUpdateSelect:{type:Function}},emits:{"update:select":C=>C||!0},setup(C,{emit:A}){const I=C,d=A,w=U.ref(),t=U.ref(),i=U.ref(!1),D=U.reactive({x:0,y:0}),P=U.computed(()=>({left:D.x+"px",top:D.y+"px"})),G=U.computed(()=>{for(const b of I.list)if(b.key===I.select)return b.text;return I.i18n==="en"?"Viewport":"视口"});U.onMounted(()=>{document.addEventListener("click",E)}),U.onBeforeUnmount(()=>{document.removeEventListener("click",E)});function E(b){var n;b.target!==t.value&&!((n=w.value)!=null&&n.contains(b.target))&&(i.value=!1)}async function l(b){i.value?i.value=!1:(i.value=!0,U.nextTick(()=>{const H=b.target.parentElement,{offsetHeight:M,offsetWidth:a}=H,{offsetX:m,offsetY:k}=b;w.value.style.width=H.offsetWidth+"px";const F=w.value.offsetWidth;D.x=b.clientX-m+a-F-5,D.y=b.clientY-k+M}))}function T(b){b.disabled||(d("update:select",b.key),I.onUpdateSelect&&I.onUpdateSelect(b.key),i.value=!1)}return(b,n)=>(U.openBlock(),U.createElementBlock(U.Fragment,null,[U.createElementVNode("div",{class:"title",ref_key:"titleNode",ref:t,onClick:l},U.toDisplayString(`${C.prefixMark?C.prefixMark+" - ":""}${G.value}`),513),(U.openBlock(),U.createBlock(U.Teleport,{to:"body"},[i.value?(U.openBlock(),U.createElementBlock("ul",{key:0,class:"list frosted-glass",ref_key:"listNode",ref:w,style:U.normalizeStyle(P.value),onMouseleave:n[0]||(n[0]=H=>i.value=!1)},[(U.openBlock(!0),U.createElementBlock(U.Fragment,null,U.renderList(C.list,H=>(U.openBlock(),U.createElementBlock("li",{class:U.normalizeClass([H.key===C.select?"select":"",H.disabled?"disabled":""]),key:H.key,style:U.normalizeStyle({background:C.color&&H.key===C.select?C.color:void 0}),onClick:M=>T(H)},U.toDisplayString(H.text),15,Dt))),128))],36)):U.createCommentVNode("",!0)]))],64))}}),TI=(C,A)=>{const I=C.__vccOpts||C;for(const[d,w]of A)I[d]=w;return I},Pt=TI(st,[["__scopeId","data-v-8f8e987b"]]);var gA=(C=>(C.CONTOUR_DATA_MODIFIED="contour_data_modified",C.VOI_MODIFIED_FROM_TOOL="voi_modified_from_tool",C.ORIGIN_MODIFIED_FROM_DRAG="origin_modified_from_drag",C.ORIGIN_DRAG_END="origin_drag_end",C.SHOT_MODIFIED_FROM_DRAG="shot_modified_from_drag",C.SHOT_REMOVED_FROM_DRAG="shot_removed_from_drag",C.NEW_SHOT_FROM_DRAG="new_shot_from_drag",C.CURR_SHOT_ID_MODIFIED="current_shot_id_modified",C.CURR_FRAME_VERTICE_INFO_MODIFIED="current_frame_vertice_infor_modified",C.FRAME_VERTICE_MOVED="frame_vertice_moved",C.FRAME_MOVED="frame_moved",C.FRAME_DRAG_END="frame_drag_end",C.NAIL_MODIFIED_FROM_DRAG="nail_modified_from_drag",C.NEW_NAIL_FROM_DRAG="new_nail_from_drag",C.CURR_NAIL_MODIFIED="current_nail_modified",C.IMAGE_CENTER_MODIFIED="image_center_modified",C.IMAGE_CENTER_DRAG_END="image_center_drag_end",C.IMGAE_CENTER_REMOVED_FROM_DRAG="image_center_removed_from_drag",C.COUCH_MODIFIED_FROM_DRAG="couch_modified_from_drag",C.COUCH_DRAG_END="couch_drag_end",C.FIDUCIAL_MODIFIED_FROM_DRAG="fiducial_modified_from_drag",C.FIDUCIAL_REMOVED_FROM_DRAG="fiducial_removed_from_drag",C.NEW_FIDUCIAL_FROM_DRAG="new_fiducial_from_drag",C.DOSE_PT_MODIFIED_FROM_DRAG="dose_point_modified_from_drag",C.DOSE_PT_REMOVED_FROM_DRAG="dose_point_removed_from_drag",C.DOSE_PT_UPDATE_DOSE="dose_point_update_dose",C.NEW_DOSE_PT_FROM_DRAG="new_dose_point_from_drag",C.VIEWPORT_VOLUMES_SETTED="viewport_reference_volumes_setted",C.ACCESS_3D="access_to_3d_display",C.Exit_3D="exit_3d_display",C.DOSE_DRAWED="dose_path_draw_end",C.VOLUME_TRANSFORM="volume_transform",C))(gA||{}),lg=(C=>(C.C="core",C.S="south",C.N="north",C))(lg||{}),XA=(C=>(C.Primary="P",C.Secondary="S",C.SideBySide="P&S",C.Fusion="P+S",C))(XA||{}),lC=(C=>(C.Horizontal="horizontal",C.Vertical="vertical",C))(lC||{}),Y=(C=>(C.AdvanceBrush="AdvanceBrush",C.ContourDelete="ContourDelete",C.Draggable="Draggable",C.DraggableDisplay="DraggableDisplay",C.DoseDisplay="DoseDisplay",C.ManualRegistration="ManualRegistration",C.MeasuringScale="MeasuringScale",C.OrientationMark="OrientationMark",C.SimplePencil="SimplePencil",C.SliceInfo="SliceInfo",C.WWWC="WWWC",C))(Y||{}),PA=(C=>(C.P="primary",C.S="secondary",C))(PA||{}),Vg=(C=>(C.A="absolute",C.R="relative",C))(Vg||{}),SI=(C=>(C.F="fill",C.L="line",C))(SI||{});const bI="#efefef",M3="00080060",dg="our-medial-rendering-engin "+e.utilities.uuidv4(),ot="0020000E",K3="00080018",HI="segmentation",vA="cornerstoneStreamingImageVolume",cg={[e.Enums.OrientationAxis.AXIAL]:{en:"Axial",zh:"轴状位"},[e.Enums.OrientationAxis.SAGITTAL]:{en:"Sagittal",zh:"矢状位"},[e.Enums.OrientationAxis.CORONAL]:{en:"Coronal",zh:"冠状位"},[e.Enums.ViewportType.VOLUME_3D]:{en:"3D",zh:"三   维"}};Object.freeze(cg);const cC=["DoseDisplay","DraggableDisplay","MeasuringScale","OrientationMark","SliceInfo"];Object.freeze(cC);const YA=4,nI=.2,eI=.4,Bg={fullIn:["M382 828H204c-4.4 0-8-3.6-8-8V665c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v195c0 17.7 14.3 32 32 32h218c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM884 657h-48c-4.4 0-8 3.6-8 8v155c0 4.4-3.6 8-8 8H642c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h218c17.7 0 32-14.3 32-32V665c0-4.4-3.6-8-8-8zM642 196h178c4.4 0 8 3.6 8 8v155c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V164c0-17.7-14.3-32-32-32H642c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM140 367h48c4.4 0 8-3.6 8-8V204c0-4.4 3.6-8 8-8h178c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H164c-17.7 0-32 14.3-32 32v195c0 4.4 3.6 8 8 8z"],fullOut:["M358 657c17.7 0 32 14.3 32 32v195c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V729c0-4.4-3.6-8-8-8H140c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h218z m526 0c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H706c-4.4 0-8 3.6-8 8v155c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V689c0-17.7 14.3-32 32-32h218zM690 132c4.4 0 8 3.6 8 8v155c0 4.4 3.6 8 8 8h178c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H666c-17.7 0-32-14.3-32-32V140c0-4.4 3.6-8 8-8h48z m-308 0c4.4 0 8 3.6 8 8v195c0 17.7-14.3 32-32 32H140c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h178c4.4 0 8-3.6 8-8V140c0-4.4 3.6-8 8-8h48z"],pointer:["M836.54 429.526667l-498.833333-288-91.946667-53.086667c-10-5.78-18.553333-2.1-21.76-0.246667A21.333333 21.333333 0 0 0 213.333333 106.666667v682.666666a21.333333 21.333333 0 0 0 36.113334 15.386667l154.666666-148.586667 130.38 225.826667A53.333333 53.333333 0 0 0 607.333333 901.486667l129.333334-74.666667a53.333333 53.333333 0 0 0 19.526666-72.86L625.8 528.133333l206-59.64a21.333333 21.333333 0 0 0 4.733333-38.966666z"],reset:["M921.728 654.4a428.352 428.352 0 1 0-647.04 203.264c3.2 2.24 7.488 1.856 10.24-0.896l43.2-43.2a8 8 0 0 0-1.28-12.352 352.256 352.256 0 1 1 462.592-67.968l-70.4-69.76a8 8 0 0 0-13.632 4.608l-27.904 219.776a8 8 0 0 0 9.024 8.96l219.52-29.952a8 8 0 0 0 4.48-13.632l-67.008-66.368a431.36 431.36 0 0 0 78.208-132.48z"],[c.AngleTool.toolName]:["M968 736.96h-315.84c11.52-202.56-82.24-304.96-153.28-352.64l132.8-147.84c20.8-23.04 18.88-58.24-4.16-079.04-23.04-20.8-58.56-18.88-79.04 4.16L14.4 755.52c-14.72 16.32-18.56 40-9.6 60.16 8.96 20.16 29.12 33.28 51.2 33.28h912c31.04 0 56-24.96 56-56s-24.96-56-56-56z m-544.32-269.12c45.76 25.92 127.68 96.64 116.16 269.12H181.76l241.92-269.12z"],[c.LengthTool.toolName]:["M964.693333 300.8L725.333333 59.306667a42.666667 42.666667 0 0 0-30.293333-12.373334 42.666667 42.666667 0 0 0-29.866667 12.373334L59.306667 663.04a42.666667 42.666667 0 0 0 0 60.16l241.493333 241.493333a42.666667 42.666667 0 0 0 30.293333 12.373334 42.666667 42.666667 0 0 0 29.866667-12.373334l120.746667-120.746666 362.24-362.24 120.746666-120.746667a42.666667 42.666667 0 0 0 0-60.16z m-151.04 90.453333l-30.293333-30.293333a42.666667 42.666667 0 0 0-60.16 0 42.666667 42.666667 0 0 0 0 60.586667l30.293333 30.293333L692.906667 512l-90.453334-90.453333a42.666667 42.666667 0 0 0-60.16 60.16l90.453334 90.453333-60.586667 60.586667-29.866667-30.293334a42.666667 42.666667 0 1 0-60.586666 60.586667l30.293333 29.866667-60.16 60.586666-90.88-90.453333a42.666667 42.666667 0 0 0-60.16 0 42.666667 42.666667 0 0 0 0 60.16l90.453333 90.453333-60.16 60.586667-181.333333-181.333333L692.906667 149.76l181.333333 181.333333z"],[c.PanTool.toolName]:["M510.7 896.2c-15.3 0-28.7-11.3-31.4-26.6-0.7-4-0.6-7.9 0.1-11.7 1.7-43.3 0.6-444.5-0.6-710.7-0.1-17.5 14-31.7 31.5-31.8h0.1c17.4 0 31.6 14.1 31.7 31.5 0 0 0.8 179.3 1.3 358.7 0.2 89.7 0.3 179.4 0.2 246.8-0.3 141-0.3 141-30.2 143.7-0.9 0.1-1.8 0.1-2.7 0.1z","M510.7 896.2c-15.3 0-28.7-11.3-31.4-26.6-0.7-4-0.6-7.9 0.1-11.7 1.7-43.3 0.6-444.5-0.6-710.7-0.1-17.5 14-31.7 31.5-31.8h0.1c17.4 0 31.6 14.1 31.7 31.5 0 0 0.8 179.3 1.3 358.7 0.2 89.7 0.3 179.4 0.2 246.8-0.3 141-0.3 141-30.2 143.7-0.9 0.1-1.8 0.1-2.7 0.1z","M330.2 538.2h-65.5c-141-0.3-141-0.3-143.7-30.2-1.5-16.4 10.3-31.3 26.5-34.1 4-0.7 8-0.6 11.7 0.1 43.3 1.8 444.4 0.6 710.7-0.6h0.1c17.4 0 31.6 14.1 31.7 31.5 0.1 17.5-14 31.7-31.5 31.8 0 0-179.3 0.8-358.7 1.3-63 0.1-126 0.2-181.3 0.2zM614.8 250c-8.1 0-16.2-3.1-22.4-9.3L512 160.4l-80.4 80.4c-12.4 12.4-32.4 12.4-44.8 0-12.4-12.4-12.4-32.4 0-44.8L489.6 93.2c12.4-12.4 32.4-12.4 44.8 0L637.2 196c12.4 12.4 12.4 32.4 0 44.8-6.2 6.1-14.3 9.2-22.4 9.2zM512 920.5c-8.1 0-16.2-3.1-22.4-9.3L386.8 808.4c-12.4-12.4-12.4-32.4 0-44.8 12.4-12.4 32.4-12.4 44.8 0L512 844l80.4-80.4c12.4-12.4 32.4-12.4 44.8 0 12.4 12.4 12.4 32.4 0 44.8L534.4 911.2c-6.2 6.2-14.3 9.3-22.4 9.3z","M795.8 636.6c-8.1 0-16.2-3.1-22.4-9.3-12.4-12.4-12.4-32.4 0-44.8l80.4-80.4-80.4-80.4c-12.4-12.4-12.4-32.4 0-44.8 12.4-12.4 32.4-12.4 44.8 0L921 479.8c12.4 12.4 12.4 32.4 0 44.8L818.2 627.4c-6.2 6.1-14.3 9.2-22.4 9.2zM228.2 636.6c-8.1 0-16.2-3.1-22.4-9.3L103 524.6c-12.4-12.4-12.4-32.4 0-44.8L205.8 377c12.4-12.4 32.4-12.4 44.8 0 12.4 12.4 12.4 32.4 0 44.8l-80.4 80.4 80.4 80.4c12.4 12.4 12.4 32.4 0 44.8-6.2 6.1-14.3 9.2-22.4 9.2z"],WWWC:["M512 142.849636c49.823744 0 98.131965 9.747516 143.585504 28.972526 43.924636 18.579149 83.382979 45.184734 117.277915 79.080887 33.894936 33.894936 60.501738 73.353279 79.080887 117.277915 19.22501 45.452323 28.972526 93.76176 28.972526 143.585504s-9.747516 98.131965-28.972526 143.585504c-18.579149 43.924636-45.184734 83.382979-79.080887 117.277916-33.894936 33.894936-73.353279 60.501738-117.277915 79.080887-45.452323 19.22501-93.76176 28.972526-143.585504 28.972526s-98.131965-9.747516-143.585504-28.972526c-43.924636-18.579149-83.382979-45.184734-117.277915-79.080887-33.894936-33.894936-60.501738-73.353279-79.080887-117.277916-19.22501-45.452323-28.972526-93.76176-28.972526-143.585504s9.747516-98.131965 28.972526-143.585504c18.579149-43.924636 45.184734-83.382979 79.080887-117.277915s73.353279-60.501738 117.277915-79.080887c45.453539-19.223794 93.762976-28.972526 143.585504-28.972526m0-44.821057c-228.501035 0-413.736673 185.236855-413.736673 413.736673S283.500182 925.503142 512 925.503142s413.736673-185.236855 413.736673-413.736674S740.501035 98.028579 512 98.028579z","M488.542228 115.289247h44.821057v780.948238h-44.821057z","M661.647598 143.001675l31.693413 31.69463-166.01671 166.015493-31.692197-31.693413zM767.461782 217.801147l31.693414 31.693414L527.326734 521.323023l-31.693414-31.693413zM850.471354 319.054166l31.693413 31.693414-353.25318 353.25318-31.693414-31.693413zM891.520631 458.61733l31.692197 31.693414-401.358277 401.358277-31.693414-31.693414z"],[c.ZoomTool.toolName]:["M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z","M921 867L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"],[c.CrosshairsTool.toolName]:["M62.016 474.016h900v76H62.016v-76zM474.016 62.016h76v900h-76V62.016z"]};Object.freeze(Bg);const NA={full:"viewport-container-full",halfL:"viewport-container-half-left",halfR:"viewport-container-half-right",on:"viewport-container-on"};Object.freeze(NA);const TC=[[0,1,0,0,0,0,1,0,-1,0,0,0,null,0,0,1],[1,0,0,0,0,0,1,0,0,1,0,0,0,null,0,1],[1,0,0,0,0,1,0,0,0,0,1,0,0,0,null,1]],ZI={SimplePencil:{iconContent:` <g xmlns="http://www.w3.org/2000/svg" transform="scale(0.04116214)"> <path style="fill: {{color}};" d="m 503.46668,777.41329 a 17.03253,17.03253 0 0 1 -12.15147,-5.08587 a 17.064088,17.064088 0 1 1 24.13227,24.13226 l -48.60587,48.60587 47.83787,48.52053 a 17.0496,17.0496 0 0 1 -12.15147,29.04747 z m -230.4,-145.92 H 102.40001 A 17.06667,17.06667 0 0 1 85.33335,614.42662 V 546.15996 H 17.06668 a 17.06667,17.06667 0 1 1 0,-34.13334 H 74.78615 L 1.80908,366.05542 a 17.06667,17.06667 0 0 1 0,-15.27466 L 172.39041,9.61809 a 16.896,16.896 0 0 1 10.82027,-8.99413 16.9472,16.9472 0 0 1 11.81013,1.00693 l 0.85334,0.42667 a 17.03253,17.03253 0 0 1 7.18506,7.50933 l 170.5984,341.17973 a 17.06667,17.06667 0 0 1 0,15.27467 l -72.97706,145.9712 h 57.71946 a 17.06667,17.06667 0 1 1 0,34.13333 h -68.26666 v 68.26667 a 17.06667,17.06667 0 0 1 -17.06667,17.1008 z m -153.6,-34.13333 h 136.53333 v -51.2 H 119.46668 Z m -6.51947,-85.33334 h 149.57227 l 76.8,-153.6 L 204.80001,89.38769 v 126.8224 c 8.78934,2.7648 16.5376,7.4752 23.15947,14.11413 a 58.5728,58.5728 0 0 1 17.80053,42.78614 c 0,16.57173 -6.2976,31.21493 -18.21013,42.3424 -10.30827,11.09333 -24.9344,17.39093 -41.5232,17.39093 a 58.5728,58.5728 0 0 1 -42.78613,-17.80053 c -11.24694,-11.22987 -16.9472,-25.344 -16.9472,-41.9328 0,-16.36694 5.56373,-30.6176 16.55466,-42.35947 8.46507,-7.95307 17.69814,-13.07307 27.81867,-15.5648 V 89.40476 L 36.14721,358.42662 Z m 73.07947,-264.53333 c -7.64587,0 -13.70453,2.33813 -19.06347,7.35573 -4.1984,4.5568 -6.53653,10.61547 -6.53653,18.24427 0,7.40693 2.2016,13.056 6.94613,17.78347 5.3248,5.3248 11.264,7.81653 18.65387,7.81653 7.2704,0 12.62933,-2.26987 17.39093,-7.38987 5.9392,-5.59786 8.20907,-10.9568 8.20907,-18.21013 a 24.91733,24.91733 0 0 0 -7.79947,-18.65387 c -4.31786,-4.31786 -9.59146,-6.53653 -16.55466,-6.94613 z"/> </g> `,iconSize:32,viewBox:{x:32,y:32},mousePoint:{x:8,y:8},mousePointerGroupString:'<path stroke="{{color}}" d="M8 16L8 0"></path><path stroke="{{color}}" d="M16 8L0 8"></path>'},Fiducial:{iconContent:` <g xmlns="http://www.w3.org/2000/svg" transform="translate(0,0)"> <path style="fill:RED;fill-rule:evenodd;stroke-width:0.279359;fill-opacity:1" d="m 0,-4 a 4,4 0 0 1 -4,4 4,4 0 0 1 -4,-4 4,4 0 0 1 4,-4 4,4 0 0 1 4,4 z"/> </g> `,iconSize:32,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:""},Nail:{iconContent:"",iconSize:32,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:'<path stroke="{{color}}" d="M8 16L8 0"></path><path stroke="{{color}}" d="M16 8L0 8"></path>'},ContourDelete:{iconContent:` <g xmlns="http://www.w3.org/2000/svg" transform="scale(0.04116214)"> <path style="fill: {{color}};" d="m 503.46668,777.41329 a 17.03253,17.03253 0 0 1 -12.15147,-5.08587 l -47.6672,-48.34986 -47.58186,47.58186 a 17.064088,17.064088 0 1 1 -24.13227,-24.13226 l 47.58187,-47.58187 -48.34987,-47.6672 a 17.06667,17.06667 0 1 1 23.9616,-24.30293 l 48.52053,47.83786 48.60587,-48.60586 a 17.064088,17.064088 0 1 1 24.13227,24.13226 l -48.60587,48.60587 47.83787,48.52053 a 17.0496,17.0496 0 0 1 -12.15147,29.04747 z m -230.4,-145.92 H 102.40001 A 17.06667,17.06667 0 0 1 85.33335,614.42662 V 546.15996 H 17.06668 a 17.06667,17.06667 0 1 1 0,-34.13334 H 74.78615 L 1.80908,366.05542 a 17.06667,17.06667 0 0 1 0,-15.27466 L 172.39041,9.61809 a 16.896,16.896 0 0 1 10.82027,-8.99413 16.9472,16.9472 0 0 1 11.81013,1.00693 l 0.85334,0.42667 a 17.03253,17.03253 0 0 1 7.18506,7.50933 l 170.5984,341.17973 a 17.06667,17.06667 0 0 1 0,15.27467 l -72.97706,145.9712 h 57.71946 a 17.06667,17.06667 0 1 1 0,34.13333 h -68.26666 v 68.26667 a 17.06667,17.06667 0 0 1 -17.06667,17.1008 z m -153.6,-34.13333 h 136.53333 v -51.2 H 119.46668 Z m -6.51947,-85.33334 h 149.57227 l 76.8,-153.6 L 204.80001,89.38769 v 126.8224 c 8.78934,2.7648 16.5376,7.4752 23.15947,14.11413 a 58.5728,58.5728 0 0 1 17.80053,42.78614 c 0,16.57173 -6.2976,31.21493 -18.21013,42.3424 -10.30827,11.09333 -24.9344,17.39093 -41.5232,17.39093 a 58.5728,58.5728 0 0 1 -42.78613,-17.80053 c -11.24694,-11.22987 -16.9472,-25.344 -16.9472,-41.9328 0,-16.36694 5.56373,-30.6176 16.55466,-42.35947 8.46507,-7.95307 17.69814,-13.07307 27.81867,-15.5648 V 89.40476 L 36.14721,358.42662 Z m 73.07947,-264.53333 c -7.64587,0 -13.70453,2.33813 -19.06347,7.35573 -4.1984,4.5568 -6.53653,10.61547 -6.53653,18.24427 0,7.40693 2.2016,13.056 6.94613,17.78347 5.3248,5.3248 11.264,7.81653 18.65387,7.81653 7.2704,0 12.62933,-2.26987 17.39093,-7.38987 5.9392,-5.59786 8.20907,-10.9568 8.20907,-18.21013 a 24.91733,24.91733 0 0 0 -7.79947,-18.65387 c -4.31786,-4.31786 -9.59146,-6.53653 -16.55466,-6.94613 z"/> </g> `,iconSize:32,viewBox:{x:32,y:32},mousePoint:{x:8,y:8},mousePointerGroupString:'<path stroke="{{color}}" d="M8 16L8 0"></path><path stroke="{{color}}" d="M16 8L0 8"></path>'},ContourDeleteDisabled:{iconContent:` <g xmlns="http://www.w3.org/2000/svg" transform="scale(0.04116214)"> <path style="fill: {{color}};" d="m 503.46668,777.41329 a 17.03253,17.03253 0 0 1 -12.15147,-5.08587 l -47.6672,-48.34986 -47.58186,47.58186 a 17.064088,17.064088 0 1 1 -24.13227,-24.13226 l 47.58187,-47.58187 -48.34987,-47.6672 a 17.06667,17.06667 0 1 1 23.9616,-24.30293 l 48.52053,47.83786 48.60587,-48.60586 a 17.064088,17.064088 0 1 1 24.13227,24.13226 l -48.60587,48.60587 47.83787,48.52053 a 17.0496,17.0496 0 0 1 -12.15147,29.04747 z m -230.4,-145.92 H 102.40001 A 17.06667,17.06667 0 0 1 85.33335,614.42662 V 546.15996 H 17.06668 a 17.06667,17.06667 0 1 1 0,-34.13334 H 74.78615 L 1.80908,366.05542 a 17.06667,17.06667 0 0 1 0,-15.27466 L 172.39041,9.61809 a 16.896,16.896 0 0 1 10.82027,-8.99413 16.9472,16.9472 0 0 1 11.81013,1.00693 l 0.85334,0.42667 a 17.03253,17.03253 0 0 1 7.18506,7.50933 l 170.5984,341.17973 a 17.06667,17.06667 0 0 1 0,15.27467 l -72.97706,145.9712 h 57.71946 a 17.06667,17.06667 0 1 1 0,34.13333 h -68.26666 v 68.26667 a 17.06667,17.06667 0 0 1 -17.06667,17.1008 z m -153.6,-34.13333 h 136.53333 v -51.2 H 119.46668 Z m -6.51947,-85.33334 h 149.57227 l 76.8,-153.6 L 204.80001,89.38769 v 126.8224 c 8.78934,2.7648 16.5376,7.4752 23.15947,14.11413 a 58.5728,58.5728 0 0 1 17.80053,42.78614 c 0,16.57173 -6.2976,31.21493 -18.21013,42.3424 -10.30827,11.09333 -24.9344,17.39093 -41.5232,17.39093 a 58.5728,58.5728 0 0 1 -42.78613,-17.80053 c -11.24694,-11.22987 -16.9472,-25.344 -16.9472,-41.9328 0,-16.36694 5.56373,-30.6176 16.55466,-42.35947 8.46507,-7.95307 17.69814,-13.07307 27.81867,-15.5648 V 89.40476 L 36.14721,358.42662 Z m 73.07947,-264.53333 c -7.64587,0 -13.70453,2.33813 -19.06347,7.35573 -4.1984,4.5568 -6.53653,10.61547 -6.53653,18.24427 0,7.40693 2.2016,13.056 6.94613,17.78347 5.3248,5.3248 11.264,7.81653 18.65387,7.81653 7.2704,0 12.62933,-2.26987 17.39093,-7.38987 5.9392,-5.59786 8.20907,-10.9568 8.20907,-18.21013 a 24.91733,24.91733 0 0 0 -7.79947,-18.65387 c -4.31786,-4.31786 -9.59146,-6.53653 -16.55466,-6.94613 z"/> <line stroke="{{color}}" stroke-width="60" fill="none" x1="32" y1="727.93518" x2="489" y2="49.064789" stroke-linejoin="undefined" stroke-linecap="undefined"/> <circle stroke-width="30" cy="728" cx="32" stroke="{{color}}" fill="none" r="15"/> <circle stroke-width="30" cy="49" cx="489" stroke="{{color}}" fill="none" r="15"/> </g> `,iconSize:32,viewBox:{x:32,y:32},mousePoint:{x:8,y:8},mousePointerGroupString:'<path stroke="{{color}}" d="M8 16L8 0"></path><path stroke="{{color}}" d="M16 8L0 8"></path>'}},Et=Object.freeze(Object.defineProperty({__proto__:null,AXIS_AXES:TC,AxisLayout:lC,AxisNameI18n:cg,CUSTOM_CURSOR:ZI,DOSE_DISPLAY_TYPES:SI,DOSE_LEGENDS:Vg,DOSE_OPACITY_IN_3D:eI,Events:gA,FRAME_PT_R:YA,Grid:lg,HeaderIconPaths:Bg,Layout:XA,MODALITY:M3,RENDERING_ENGINE_ID:dg,SEGMENTATION_PREFIX:HI,SERIES_INSTANCE_UID:ot,SOP_INSTANCE_UID:K3,STREAMING_LOADER_NAME:vA,TEXT_WHITE_IN_VIEWPORT:bI,TOOL_GROUP_TYPE:PA,ToolsName:Y,ToolsOrder:cC,VOLUME_OPACITY_IN_3D:nI,ViewportContainerGridAreaClassName:NA},Symbol.toStringTag,{value:"Module"}));function v(C){const[A,I]=C.split("|");return{medicalComponentId:A,seriesType:I}}function W(...C){return C.length?C.join("|"):""}function QA(C){return C.split("|")}function MA(C){const A=C.getDefaultActor();return A==null?void 0:A.uid.startsWith(vA)}const Ug=new Map;function L3(C){const{medicalComponentId:A,seriesType:I}=v(C);let d=Ug.get(A);d||(d={primary:null,secondary:null},Ug.set(A,d));const w={[e.Enums.OrientationAxis.AXIAL]:U.ref(),[e.Enums.OrientationAxis.SAGITTAL]:U.ref(),[e.Enums.OrientationAxis.CORONAL]:U.ref()};return Reflect.set(d,I,w),w}function Gt(C){const{medicalComponentId:A,seriesType:I}=v(C),d=Ug.get(A);return d?Reflect.get(d,I):null}function lt(C){const A=Ug.get(C);return A||null}function m3(C){const{medicalComponentId:A,seriesType:I}=v(C),d=Ug.get(A);d&&Reflect.set(d,I,null)}const SC=new Map;function a3(C){const{medicalComponentId:A,seriesType:I}=v(C);let d=SC.get(A);d||(d={primary:null,secondary:null},SC.set(A,d));const w=U.reactive({core:e.Enums.OrientationAxis.AXIAL,south:e.Enums.OrientationAxis.SAGITTAL,north:e.Enums.OrientationAxis.CORONAL});return Reflect.set(d,I,w),w}function ct(C){const{medicalComponentId:A,seriesType:I}=v(C),d=SC.get(A);return d?Reflect.get(d,I):null}function MI(C){const A=SC.get(C);return A||null}const bC=new Map;function F3(C){const{medicalComponentId:A,seriesType:I}=v(C);let d=bC.get(A);d||(d={primary:null,secondary:null},bC.set(A,d));const w=U.reactive({core:!1,south:!1,north:!1});return Reflect.set(d,I,w),w}function Tt(C){const{medicalComponentId:A,seriesType:I}=v(C),d=bC.get(A);return d?Reflect.get(d,I):null}function k3(C){const A=bC.get(C);return A||null}const KI=new Map;function y3(C,A){const{medicalComponentId:I,seriesType:d}=v(C);let w=KI.get(I);return w||(w={primary:null,secondary:null},KI.set(I,w)),Reflect.set(w,d,A),A}function Tg(C){const{medicalComponentId:A,seriesType:I}=v(C),d=Rg(A);return d&&I?d[I]:null}function Rg(C){const A=KI.get(C);return A&&(A.primary||A.secondary)?A:null}const LI=new Map;function mI(C){let A=LI.get(C);return A||(A=U.reactive({componentId:null,initOrientation:null,visible:!1}),LI.set(C,A)),A}function pg(C){const{medicalComponentId:A}=v(C);return LI.get(A)}const u3=Object.freeze(Object.defineProperty({__proto__:null,deleteAxisElementRef:m3,get3DViewState:pg,getAxisElementRef:Gt,getAxisFullScreen:Tt,getAxisOrientation:ct,getAxixViewportIds:Tg,getComponentAxisElementRef:lt,getComponentAxisFullScreen:k3,getComponentAxisOrientation:MI,getComponentViewportIds:Rg,init3DViewState:mI,initAxisElementRef:L3,initAxisFullScreen:F3,initAxisOrientation:a3,setAxisViewportIds:y3},Symbol.toStringTag,{value:"Module"})),Y3={};function St(C,A){if(bt(A))Reflect.set(Y3,C,A);else throw TypeError("Input parameter type error.")}function h3(C){return Reflect.get(Y3,C)}function bt(C){return Array.isArray(C)?!(isNaN(C[0].hu)||isNaN(C[0].ed)):!1}const Ht=Object.freeze(Object.defineProperty({__proto__:null,getElectronDensity:h3,setElectronDensity:St},Symbol.toStringTag,{value:"Module"}));function nt(C){return C&&C.__esModule&&Object.prototype.hasOwnProperty.call(C,"default")?C.default:C}var HC={},J3={exports:{}};(function(C){(function(){var A={};A.version="6.4.2.2",A.use_lines=!0,A.use_xyz=!1;var I=!1;C.exports?(C.exports=A,I=!0):typeof document<"u"?window.ClipperLib=A:self.ClipperLib=A;var d;if(I){var w="chrome";d="Netscape"}else{var w=navigator.userAgent.toString().toLowerCase();d=navigator.appName}var t={};w.indexOf("chrome")!=-1&&w.indexOf("chromium")==-1?t.chrome=1:t.chrome=0,w.indexOf("chromium")!=-1?t.chromium=1:t.chromium=0,w.indexOf("safari")!=-1&&w.indexOf("chrome")==-1&&w.indexOf("chromium")==-1?t.safari=1:t.safari=0,w.indexOf("firefox")!=-1?t.firefox=1:t.firefox=0,w.indexOf("firefox/17")!=-1?t.firefox17=1:t.firefox17=0,w.indexOf("firefox/15")!=-1?t.firefox15=1:t.firefox15=0,w.indexOf("firefox/3")!=-1?t.firefox3=1:t.firefox3=0,w.indexOf("opera")!=-1?t.opera=1:t.opera=0,w.indexOf("msie 10")!=-1?t.msie10=1:t.msie10=0,w.indexOf("msie 9")!=-1?t.msie9=1:t.msie9=0,w.indexOf("msie 8")!=-1?t.msie8=1:t.msie8=0,w.indexOf("msie 7")!=-1?t.msie7=1:t.msie7=0,w.indexOf("msie ")!=-1?t.msie=1:t.msie=0,A.biginteger_used=null;var i;function D(g,B,Q){A.biginteger_used=1,g!=null&&(typeof g=="number"&&typeof B>"u"?this.fromInt(g):typeof g=="number"?this.fromNumber(g,B,Q):B==null&&typeof g!="string"?this.fromString(g,256):this.fromString(g,B))}function P(){return new D(null,void 0,void 0)}function G(g,B,Q,s,o,S){for(;--S>=0;){var Z=B*this[g++]+Q[s]+o;o=Math.floor(Z/67108864),Q[s++]=Z&67108863}return o}function E(g,B,Q,s,o,S){for(var Z=B&32767,K=B>>15;--S>=0;){var L=this[g]&32767,y=this[g++]>>15,p=K*L+y*Z;L=Z*L+((p&32767)<<15)+Q[s]+(o&1073741823),o=(L>>>30)+(p>>>15)+K*y+(o>>>30),Q[s++]=L&1073741823}return o}function l(g,B,Q,s,o,S){for(var Z=B&16383,K=B>>14;--S>=0;){var L=this[g]&16383,y=this[g++]>>14,p=K*L+y*Z;L=Z*L+((p&16383)<<14)+Q[s]+o,o=(L>>28)+(p>>14)+K*y,Q[s++]=L&268435455}return o}d=="Microsoft Internet Explorer"?(D.prototype.am=E,i=30):d!="Netscape"?(D.prototype.am=G,i=26):(D.prototype.am=l,i=28),D.prototype.DB=i,D.prototype.DM=(1<<i)-1,D.prototype.DV=1<<i;var T=52;D.prototype.FV=Math.pow(2,T),D.prototype.F1=T-i,D.prototype.F2=2*i-T;var b="0123456789abcdefghijklmnopqrstuvwxyz",n=new Array,H,M;for(H=48,M=0;M<=9;++M)n[H++]=M;for(H=97,M=10;M<36;++M)n[H++]=M;for(H=65,M=10;M<36;++M)n[H++]=M;function a(g){return b.charAt(g)}function m(g,B){var Q=n[g.charCodeAt(B)];return Q??-1}function k(g){for(var B=this.t-1;B>=0;--B)g[B]=this[B];g.t=this.t,g.s=this.s}function F(g){this.t=1,this.s=g<0?-1:0,g>0?this[0]=g:g<-1?this[0]=g+this.DV:this.t=0}function h(g){var B=P();return B.fromInt(g),B}function u(g,B){var Q;if(B==16)Q=4;else if(B==8)Q=3;else if(B==256)Q=8;else if(B==2)Q=1;else if(B==32)Q=5;else if(B==4)Q=2;else{this.fromRadix(g,B);return}this.t=0,this.s=0;for(var s=g.length,o=!1,S=0;--s>=0;){var Z=Q==8?g[s]&255:m(g,s);if(Z<0){g.charAt(s)=="-"&&(o=!0);continue}o=!1,S==0?this[this.t++]=Z:S+Q>this.DB?(this[this.t-1]|=(Z&(1<<this.DB-S)-1)<<S,this[this.t++]=Z>>this.DB-S):this[this.t-1]|=Z<<S,S+=Q,S>=this.DB&&(S-=this.DB)}Q==8&&g[0]&128&&(this.s=-1,S>0&&(this[this.t-1]|=(1<<this.DB-S)-1<<S)),this.clamp(),o&&D.ZERO.subTo(this,this)}function J(){for(var g=this.s&this.DM;this.t>0&&this[this.t-1]==g;)--this.t}function X(g){if(this.s<0)return"-"+this.negate().toString(g);var B;if(g==16)B=4;else if(g==8)B=3;else if(g==2)B=1;else if(g==32)B=5;else if(g==4)B=2;else return this.toRadix(g);var Q=(1<<B)-1,s,o=!1,S="",Z=this.t,K=this.DB-Z*this.DB%B;if(Z-- >0)for(K<this.DB&&(s=this[Z]>>K)>0&&(o=!0,S=a(s));Z>=0;)K<B?(s=(this[Z]&(1<<K)-1)<<B-K,s|=this[--Z]>>(K+=this.DB-B)):(s=this[Z]>>(K-=B)&Q,K<=0&&(K+=this.DB,--Z)),s>0&&(o=!0),o&&(S+=a(s));return o?S:"0"}function z(){var g=P();return D.ZERO.subTo(this,g),g}function O(){return this.s<0?this.negate():this}function f(g){var B=this.s-g.s;if(B!=0)return B;var Q=this.t;if(B=Q-g.t,B!=0)return this.s<0?-B:B;for(;--Q>=0;)if((B=this[Q]-g[Q])!=0)return B;return 0}function $(g){var B=1,Q;return(Q=g>>>16)!=0&&(g=Q,B+=16),(Q=g>>8)!=0&&(g=Q,B+=8),(Q=g>>4)!=0&&(g=Q,B+=4),(Q=g>>2)!=0&&(g=Q,B+=2),(Q=g>>1)!=0&&(g=Q,B+=1),B}function AA(){return this.t<=0?0:this.DB*(this.t-1)+$(this[this.t-1]^this.s&this.DM)}function BA(g,B){var Q;for(Q=this.t-1;Q>=0;--Q)B[Q+g]=this[Q];for(Q=g-1;Q>=0;--Q)B[Q]=0;B.t=this.t+g,B.s=this.s}function EA(g,B){for(var Q=g;Q<this.t;++Q)B[Q-g]=this[Q];B.t=Math.max(this.t-g,0),B.s=this.s}function cA(g,B){var Q=g%this.DB,s=this.DB-Q,o=(1<<s)-1,S=Math.floor(g/this.DB),Z=this.s<<Q&this.DM,K;for(K=this.t-1;K>=0;--K)B[K+S+1]=this[K]>>s|Z,Z=(this[K]&o)<<Q;for(K=S-1;K>=0;--K)B[K]=0;B[S]=Z,B.t=this.t+S+1,B.s=this.s,B.clamp()}function $A(g,B){B.s=this.s;var Q=Math.floor(g/this.DB);if(Q>=this.t){B.t=0;return}var s=g%this.DB,o=this.DB-s,S=(1<<s)-1;B[0]=this[Q]>>s;for(var Z=Q+1;Z<this.t;++Z)B[Z-Q-1]|=(this[Z]&S)<<o,B[Z-Q]=this[Z]>>s;s>0&&(B[this.t-Q-1]|=(this.s&S)<<o),B.t=this.t-Q,B.clamp()}function yA(g,B){for(var Q=0,s=0,o=Math.min(g.t,this.t);Q<o;)s+=this[Q]-g[Q],B[Q++]=s&this.DM,s>>=this.DB;if(g.t<this.t){for(s-=g.s;Q<this.t;)s+=this[Q],B[Q++]=s&this.DM,s>>=this.DB;s+=this.s}else{for(s+=this.s;Q<g.t;)s-=g[Q],B[Q++]=s&this.DM,s>>=this.DB;s-=g.s}B.s=s<0?-1:0,s<-1?B[Q++]=this.DV+s:s>0&&(B[Q++]=s),B.t=Q,B.clamp()}function vQ(g,B){var Q=this.abs(),s=g.abs(),o=Q.t;for(B.t=o+s.t;--o>=0;)B[o]=0;for(o=0;o<s.t;++o)B[o+Q.t]=Q.am(0,s[o],B,o,0,Q.t);B.s=0,B.clamp(),this.s!=g.s&&D.ZERO.subTo(B,B)}function oI(g){for(var B=this.abs(),Q=g.t=2*B.t;--Q>=0;)g[Q]=0;for(Q=0;Q<B.t-1;++Q){var s=B.am(Q,B[Q],g,2*Q,0,1);(g[Q+B.t]+=B.am(Q+1,2*B[Q],g,2*Q+1,s,B.t-Q-1))>=B.DV&&(g[Q+B.t]-=B.DV,g[Q+B.t+1]=1)}g.t>0&&(g[g.t-1]+=B.am(Q,B[Q],g,2*Q,0,1)),g.s=0,g.clamp()}function G3(g,B,Q){var s=g.abs();if(!(s.t<=0)){var o=this.abs();if(o.t<s.t){B!=null&&B.fromInt(0),Q!=null&&this.copyTo(Q);return}Q==null&&(Q=P());var S=P(),Z=this.s,K=g.s,L=this.DB-$(s[s.t-1]);L>0?(s.lShiftTo(L,S),o.lShiftTo(L,Q)):(s.copyTo(S),o.copyTo(Q));var y=S.t,p=S[y-1];if(p!=0){var V=p*(1<<this.F1)+(y>1?S[y-2]>>this.F2:0),N=this.FV/V,q=(1<<this.F1)/V,dA=1<<this.F2,wA=Q.t,GA=wA-y,uA=B??P();for(S.dlShiftTo(GA,uA),Q.compareTo(uA)>=0&&(Q[Q.t++]=1,Q.subTo(uA,Q)),D.ONE.dlShiftTo(y,uA),uA.subTo(S,S);S.t<y;)S[S.t++]=0;for(;--GA>=0;){var xA=Q[--wA]==p?this.DM:Math.floor(Q[wA]*N+(Q[wA-1]+dA)*q);if((Q[wA]+=S.am(0,xA,Q,GA,0,y))<xA)for(S.dlShiftTo(GA,uA),Q.subTo(uA,Q);Q[wA]<--xA;)Q.subTo(uA,Q)}B!=null&&(Q.drShiftTo(y,B),Z!=K&&D.ZERO.subTo(B,B)),Q.t=y,Q.clamp(),L>0&&Q.rShiftTo(L,Q),Z<0&&D.ZERO.subTo(Q,Q)}}}function l3(g){var B=P();return this.abs().divRemTo(g,null,B),this.s<0&&B.compareTo(D.ZERO)>0&&g.subTo(B,B),B}function Ag(g){this.m=g}function EI(g){return g.s<0||g.compareTo(this.m)>=0?g.mod(this.m):g}function GI(g){return g}function fQ(g){g.divRemTo(this.m,null,g)}function lI(g,B,Q){g.multiplyTo(B,Q),this.reduce(Q)}function cI(g,B){g.squareTo(B),this.reduce(B)}Ag.prototype.convert=EI,Ag.prototype.revert=GI,Ag.prototype.reduce=fQ,Ag.prototype.mulTo=lI,Ag.prototype.sqrTo=cI;function pA(){if(this.t<1)return 0;var g=this[0];if(!(g&1))return 0;var B=g&3;return B=B*(2-(g&15)*B)&15,B=B*(2-(g&255)*B)&255,B=B*(2-((g&65535)*B&65535))&65535,B=B*(2-g*B%this.DV)%this.DV,B>0?this.DV-B:-B}function Eg(g){this.m=g,this.mp=g.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<g.DB-15)-1,this.mt2=2*g.t}function Bo(g){var B=P();return g.abs().dlShiftTo(this.m.t,B),B.divRemTo(this.m,null,B),g.s<0&&B.compareTo(D.ZERO)>0&&this.m.subTo(B,B),B}function wo(g){var B=P();return g.copyTo(B),this.reduce(B),B}function Qo(g){for(;g.t<=this.mt2;)g[g.t++]=0;for(var B=0;B<this.m.t;++B){var Q=g[B]&32767,s=Q*this.mpl+((Q*this.mph+(g[B]>>15)*this.mpl&this.um)<<15)&g.DM;for(Q=B+this.m.t,g[Q]+=this.m.am(0,s,g,B,0,this.m.t);g[Q]>=g.DV;)g[Q]-=g.DV,g[++Q]++}g.clamp(),g.drShiftTo(this.m.t,g),g.compareTo(this.m)>=0&&g.subTo(this.m,g)}function to(g,B){g.squareTo(B),this.reduce(B)}function io(g,B,Q){g.multiplyTo(B,Q),this.reduce(Q)}Eg.prototype.convert=Bo,Eg.prototype.revert=wo,Eg.prototype.reduce=Qo,Eg.prototype.mulTo=io,Eg.prototype.sqrTo=to;function Do(){return(this.t>0?this[0]&1:this.s)==0}function so(g,B){if(g>4294967295||g<1)return D.ONE;var Q=P(),s=P(),o=B.convert(this),S=$(g)-1;for(o.copyTo(Q);--S>=0;)if(B.sqrTo(Q,s),(g&1<<S)>0)B.mulTo(s,o,Q);else{var Z=Q;Q=s,s=Z}return B.revert(Q)}function Po(g,B){var Q;return g<256||B.isEven()?Q=new Ag(B):Q=new Eg(B),this.exp(g,Q)}D.prototype.copyTo=k,D.prototype.fromInt=F,D.prototype.fromString=u,D.prototype.clamp=J,D.prototype.dlShiftTo=BA,D.prototype.drShiftTo=EA,D.prototype.lShiftTo=cA,D.prototype.rShiftTo=$A,D.prototype.subTo=yA,D.prototype.multiplyTo=vQ,D.prototype.squareTo=oI,D.prototype.divRemTo=G3,D.prototype.invDigit=pA,D.prototype.isEven=Do,D.prototype.exp=so,D.prototype.toString=X,D.prototype.negate=z,D.prototype.abs=O,D.prototype.compareTo=f,D.prototype.bitLength=AA,D.prototype.mod=l3,D.prototype.modPowInt=Po,D.ZERO=h(0),D.ONE=h(1);function oo(){var g=P();return this.copyTo(g),g}function Eo(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function Go(){return this.t==0?this.s:this[0]<<24>>24}function lo(){return this.t==0?this.s:this[0]<<16>>16}function co(g){return Math.floor(Math.LN2*this.DB/Math.log(g))}function To(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function So(g){if(g==null&&(g=10),this.signum()==0||g<2||g>36)return"0";var B=this.chunkSize(g),Q=Math.pow(g,B),s=h(Q),o=P(),S=P(),Z="";for(this.divRemTo(s,o,S);o.signum()>0;)Z=(Q+S.intValue()).toString(g).substr(1)+Z,o.divRemTo(s,o,S);return S.intValue().toString(g)+Z}function bo(g,B){this.fromInt(0),B==null&&(B=10);for(var Q=this.chunkSize(B),s=Math.pow(B,Q),o=!1,S=0,Z=0,K=0;K<g.length;++K){var L=m(g,K);if(L<0){g.charAt(K)=="-"&&this.signum()==0&&(o=!0);continue}Z=B*Z+L,++S>=Q&&(this.dMultiply(s),this.dAddOffset(Z,0),S=0,Z=0)}S>0&&(this.dMultiply(Math.pow(B,S)),this.dAddOffset(Z,0)),o&&D.ZERO.subTo(this,this)}function Ho(g,B,Q){if(typeof B=="number")if(g<2)this.fromInt(1);else for(this.fromNumber(g,Q),this.testBit(g-1)||this.bitwiseTo(D.ONE.shiftLeft(g-1),c3,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(B);)this.dAddOffset(2,0),this.bitLength()>g&&this.subTo(D.ONE.shiftLeft(g-1),this);else{var s=new Array,o=g&7;s.length=(g>>3)+1,B.nextBytes(s),o>0?s[0]&=(1<<o)-1:s[0]=0,this.fromString(s,256)}}function no(){var g=this.t,B=new Array;B[0]=this.s;var Q=this.DB-g*this.DB%8,s,o=0;if(g-- >0)for(Q<this.DB&&(s=this[g]>>Q)!=(this.s&this.DM)>>Q&&(B[o++]=s|this.s<<this.DB-Q);g>=0;)Q<8?(s=(this[g]&(1<<Q)-1)<<8-Q,s|=this[--g]>>(Q+=this.DB-8)):(s=this[g]>>(Q-=8)&255,Q<=0&&(Q+=this.DB,--g)),s&128&&(s|=-256),o==0&&(this.s&128)!=(s&128)&&++o,(o>0||s!=this.s)&&(B[o++]=s);return B}function eo(g){return this.compareTo(g)==0}function Zo(g){return this.compareTo(g)<0?this:g}function Mo(g){return this.compareTo(g)>0?this:g}function Ko(g,B,Q){var s,o,S=Math.min(g.t,this.t);for(s=0;s<S;++s)Q[s]=B(this[s],g[s]);if(g.t<this.t){for(o=g.s&this.DM,s=S;s<this.t;++s)Q[s]=B(this[s],o);Q.t=this.t}else{for(o=this.s&this.DM,s=S;s<g.t;++s)Q[s]=B(o,g[s]);Q.t=g.t}Q.s=B(this.s,g.s),Q.clamp()}function Lo(g,B){return g&B}function mo(g){var B=P();return this.bitwiseTo(g,Lo,B),B}function c3(g,B){return g|B}function ao(g){var B=P();return this.bitwiseTo(g,c3,B),B}function jQ(g,B){return g^B}function Fo(g){var B=P();return this.bitwiseTo(g,jQ,B),B}function qQ(g,B){return g&~B}function ko(g){var B=P();return this.bitwiseTo(g,qQ,B),B}function yo(){for(var g=P(),B=0;B<this.t;++B)g[B]=this.DM&~this[B];return g.t=this.t,g.s=~this.s,g}function uo(g){var B=P();return g<0?this.rShiftTo(-g,B):this.lShiftTo(g,B),B}function Yo(g){var B=P();return g<0?this.lShiftTo(-g,B):this.rShiftTo(g,B),B}function ho(g){if(g==0)return-1;var B=0;return g&65535||(g>>=16,B+=16),g&255||(g>>=8,B+=8),g&15||(g>>=4,B+=4),g&3||(g>>=2,B+=2),g&1||++B,B}function Jo(){for(var g=0;g<this.t;++g)if(this[g]!=0)return g*this.DB+ho(this[g]);return this.s<0?this.t*this.DB:-1}function Vo(g){for(var B=0;g!=0;)g&=g-1,++B;return B}function Uo(){for(var g=0,B=this.s&this.DM,Q=0;Q<this.t;++Q)g+=Vo(this[Q]^B);return g}function Ro(g){var B=Math.floor(g/this.DB);return B>=this.t?this.s!=0:(this[B]&1<<g%this.DB)!=0}function po(g,B){var Q=D.ONE.shiftLeft(g);return this.bitwiseTo(Q,B,Q),Q}function Wo(g){return this.changeBit(g,c3)}function Xo(g){return this.changeBit(g,qQ)}function No(g){return this.changeBit(g,jQ)}function ro(g,B){for(var Q=0,s=0,o=Math.min(g.t,this.t);Q<o;)s+=this[Q]+g[Q],B[Q++]=s&this.DM,s>>=this.DB;if(g.t<this.t){for(s+=g.s;Q<this.t;)s+=this[Q],B[Q++]=s&this.DM,s>>=this.DB;s+=this.s}else{for(s+=this.s;Q<g.t;)s+=g[Q],B[Q++]=s&this.DM,s>>=this.DB;s+=g.s}B.s=s<0?-1:0,s>0?B[Q++]=s:s<-1&&(B[Q++]=this.DV+s),B.t=Q,B.clamp()}function Oo(g){var B=P();return this.addTo(g,B),B}function zo(g){var B=P();return this.subTo(g,B),B}function xo(g){var B=P();return this.multiplyTo(g,B),B}function vo(){var g=P();return this.squareTo(g),g}function fo(g){var B=P();return this.divRemTo(g,B,null),B}function jo(g){var B=P();return this.divRemTo(g,null,B),B}function qo(g){var B=P(),Q=P();return this.divRemTo(g,B,Q),new Array(B,Q)}function _o(g){this[this.t]=this.am(0,g-1,this,0,0,this.t),++this.t,this.clamp()}function $o(g,B){if(g!=0){for(;this.t<=B;)this[this.t++]=0;for(this[B]+=g;this[B]>=this.DV;)this[B]-=this.DV,++B>=this.t&&(this[this.t++]=0),++this[B]}}function GC(){}function _Q(g){return g}function AE(g,B,Q){g.multiplyTo(B,Q)}function gE(g,B){g.squareTo(B)}GC.prototype.convert=_Q,GC.prototype.revert=_Q,GC.prototype.mulTo=AE,GC.prototype.sqrTo=gE;function CE(g){return this.exp(g,new GC)}function IE(g,B,Q){var s=Math.min(this.t+g.t,B);for(Q.s=0,Q.t=s;s>0;)Q[--s]=0;var o;for(o=Q.t-this.t;s<o;++s)Q[s+this.t]=this.am(0,g[s],Q,s,0,this.t);for(o=Math.min(g.t,B);s<o;++s)this.am(0,g[s],Q,s,0,B-s);Q.clamp()}function dE(g,B,Q){--B;var s=Q.t=this.t+g.t-B;for(Q.s=0;--s>=0;)Q[s]=0;for(s=Math.max(B-this.t,0);s<g.t;++s)Q[this.t+s-B]=this.am(B-s,g[s],Q,0,0,this.t+s-B);Q.clamp(),Q.drShiftTo(1,Q)}function ug(g){this.r2=P(),this.q3=P(),D.ONE.dlShiftTo(2*g.t,this.r2),this.mu=this.r2.divide(g),this.m=g}function BE(g){if(g.s<0||g.t>2*this.m.t)return g.mod(this.m);if(g.compareTo(this.m)<0)return g;var B=P();return g.copyTo(B),this.reduce(B),B}function wE(g){return g}function QE(g){for(g.drShiftTo(this.m.t-1,this.r2),g.t>this.m.t+1&&(g.t=this.m.t+1,g.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);g.compareTo(this.r2)<0;)g.dAddOffset(1,this.m.t+1);for(g.subTo(this.r2,g);g.compareTo(this.m)>=0;)g.subTo(this.m,g)}function tE(g,B){g.squareTo(B),this.reduce(B)}function iE(g,B,Q){g.multiplyTo(B,Q),this.reduce(Q)}ug.prototype.convert=BE,ug.prototype.revert=wE,ug.prototype.reduce=QE,ug.prototype.mulTo=iE,ug.prototype.sqrTo=tE;function DE(g,B){var Q=g.bitLength(),s,o=h(1),S;if(Q<=0)return o;Q<18?s=1:Q<48?s=3:Q<144?s=4:Q<768?s=5:s=6,Q<8?S=new Ag(B):B.isEven()?S=new ug(B):S=new Eg(B);var Z=new Array,K=3,L=s-1,y=(1<<s)-1;if(Z[1]=S.convert(this),s>1){var p=P();for(S.sqrTo(Z[1],p);K<=y;)Z[K]=P(),S.mulTo(p,Z[K-2],Z[K]),K+=2}var V=g.t-1,N,q=!0,dA=P(),wA;for(Q=$(g[V])-1;V>=0;){for(Q>=L?N=g[V]>>Q-L&y:(N=(g[V]&(1<<Q+1)-1)<<L-Q,V>0&&(N|=g[V-1]>>this.DB+Q-L)),K=s;!(N&1);)N>>=1,--K;if((Q-=K)<0&&(Q+=this.DB,--V),q)Z[N].copyTo(o),q=!1;else{for(;K>1;)S.sqrTo(o,dA),S.sqrTo(dA,o),K-=2;K>0?S.sqrTo(o,dA):(wA=o,o=dA,dA=wA),S.mulTo(dA,Z[N],o)}for(;V>=0&&!(g[V]&1<<Q);)S.sqrTo(o,dA),wA=o,o=dA,dA=wA,--Q<0&&(Q=this.DB-1,--V)}return S.revert(o)}function sE(g){var B=this.s<0?this.negate():this.clone(),Q=g.s<0?g.negate():g.clone();if(B.compareTo(Q)<0){var s=B;B=Q,Q=s}var o=B.getLowestSetBit(),S=Q.getLowestSetBit();if(S<0)return B;for(o<S&&(S=o),S>0&&(B.rShiftTo(S,B),Q.rShiftTo(S,Q));B.signum()>0;)(o=B.getLowestSetBit())>0&&B.rShiftTo(o,B),(o=Q.getLowestSetBit())>0&&Q.rShiftTo(o,Q),B.compareTo(Q)>=0?(B.subTo(Q,B),B.rShiftTo(1,B)):(Q.subTo(B,Q),Q.rShiftTo(1,Q));return S>0&&Q.lShiftTo(S,Q),Q}function PE(g){if(g<=0)return 0;var B=this.DV%g,Q=this.s<0?g-1:0;if(this.t>0)if(B==0)Q=this[0]%g;else for(var s=this.t-1;s>=0;--s)Q=(B*Q+this[s])%g;return Q}function oE(g){var B=g.isEven();if(this.isEven()&&B||g.signum()==0)return D.ZERO;for(var Q=g.clone(),s=this.clone(),o=h(1),S=h(0),Z=h(0),K=h(1);Q.signum()!=0;){for(;Q.isEven();)Q.rShiftTo(1,Q),B?((!o.isEven()||!S.isEven())&&(o.addTo(this,o),S.subTo(g,S)),o.rShiftTo(1,o)):S.isEven()||S.subTo(g,S),S.rShiftTo(1,S);for(;s.isEven();)s.rShiftTo(1,s),B?((!Z.isEven()||!K.isEven())&&(Z.addTo(this,Z),K.subTo(g,K)),Z.rShiftTo(1,Z)):K.isEven()||K.subTo(g,K),K.rShiftTo(1,K);Q.compareTo(s)>=0?(Q.subTo(s,Q),B&&o.subTo(Z,o),S.subTo(K,S)):(s.subTo(Q,s),B&&Z.subTo(o,Z),K.subTo(S,K))}if(s.compareTo(D.ONE)!=0)return D.ZERO;if(K.compareTo(g)>=0)return K.subtract(g);if(K.signum()<0)K.addTo(g,K);else return K;return K.signum()<0?K.add(g):K}var KA=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],EE=(1<<26)/KA[KA.length-1];function GE(g){var B,Q=this.abs();if(Q.t==1&&Q[0]<=KA[KA.length-1]){for(B=0;B<KA.length;++B)if(Q[0]==KA[B])return!0;return!1}if(Q.isEven())return!1;for(B=1;B<KA.length;){for(var s=KA[B],o=B+1;o<KA.length&&s<EE;)s*=KA[o++];for(s=Q.modInt(s);B<o;)if(s%KA[B++]==0)return!1}return Q.millerRabin(g)}function lE(g){var B=this.subtract(D.ONE),Q=B.getLowestSetBit();if(Q<=0)return!1;var s=B.shiftRight(Q);g=g+1>>1,g>KA.length&&(g=KA.length);for(var o=P(),S=0;S<g;++S){o.fromInt(KA[Math.floor(Math.random()*KA.length)]);var Z=o.modPow(s,this);if(Z.compareTo(D.ONE)!=0&&Z.compareTo(B)!=0){for(var K=1;K++<Q&&Z.compareTo(B)!=0;)if(Z=Z.modPowInt(2,this),Z.compareTo(D.ONE)==0)return!1;if(Z.compareTo(B)!=0)return!1}}return!0}D.prototype.chunkSize=co,D.prototype.toRadix=So,D.prototype.fromRadix=bo,D.prototype.fromNumber=Ho,D.prototype.bitwiseTo=Ko,D.prototype.changeBit=po,D.prototype.addTo=ro,D.prototype.dMultiply=_o,D.prototype.dAddOffset=$o,D.prototype.multiplyLowerTo=IE,D.prototype.multiplyUpperTo=dE,D.prototype.modInt=PE,D.prototype.millerRabin=lE,D.prototype.clone=oo,D.prototype.intValue=Eo,D.prototype.byteValue=Go,D.prototype.shortValue=lo,D.prototype.signum=To,D.prototype.toByteArray=no,D.prototype.equals=eo,D.prototype.min=Zo,D.prototype.max=Mo,D.prototype.and=mo,D.prototype.or=ao,D.prototype.xor=Fo,D.prototype.andNot=ko,D.prototype.not=yo,D.prototype.shiftLeft=uo,D.prototype.shiftRight=Yo,D.prototype.getLowestSetBit=Jo,D.prototype.bitCount=Uo,D.prototype.testBit=Ro,D.prototype.setBit=Wo,D.prototype.clearBit=Xo,D.prototype.flipBit=No,D.prototype.add=Oo,D.prototype.subtract=zo,D.prototype.multiply=xo,D.prototype.divide=fo,D.prototype.remainder=jo,D.prototype.divideAndRemainder=qo,D.prototype.modPow=DE,D.prototype.modInverse=oE,D.prototype.pow=CE,D.prototype.gcd=sE,D.prototype.isProbablePrime=GE,D.prototype.square=vo;var IA=D;IA.prototype.IsNegative=function(){return this.compareTo(IA.ZERO)==-1},IA.op_Equality=function(g,B){return g.compareTo(B)==0},IA.op_Inequality=function(g,B){return g.compareTo(B)!=0},IA.op_GreaterThan=function(g,B){return g.compareTo(B)>0},IA.op_LessThan=function(g,B){return g.compareTo(B)<0},IA.op_Addition=function(g,B){return new IA(g,void 0,void 0).add(new IA(B,void 0,void 0))},IA.op_Subtraction=function(g,B){return new IA(g,void 0,void 0).subtract(new IA(B,void 0,void 0))},IA.Int128Mul=function(g,B){return new IA(g,void 0,void 0).multiply(new IA(B,void 0,void 0))},IA.op_Division=function(g,B){return g.divide(B)},IA.prototype.ToDouble=function(){return parseFloat(this.toString())};var $Q=function(g,B){var Q;if(typeof Object.getOwnPropertyNames>"u"){for(Q in B.prototype)(typeof g.prototype[Q]>"u"||g.prototype[Q]===Object.prototype[Q])&&(g.prototype[Q]=B.prototype[Q]);for(Q in B)typeof g[Q]>"u"&&(g[Q]=B[Q]);g.$baseCtor=B}else{for(var s=Object.getOwnPropertyNames(B.prototype),o=0;o<s.length;o++)typeof Object.getOwnPropertyDescriptor(g.prototype,s[o])>"u"&&Object.defineProperty(g.prototype,s[o],Object.getOwnPropertyDescriptor(B.prototype,s[o]));for(Q in B)typeof g[Q]>"u"&&(g[Q]=B[Q]);g.$baseCtor=B}};A.Path=function(){return[]},A.Path.prototype.push=Array.prototype.push,A.Paths=function(){return[]},A.Paths.prototype.push=Array.prototype.push,A.DoublePoint=function(){var g=arguments;this.X=0,this.Y=0,g.length===1?(this.X=g[0].X,this.Y=g[0].Y):g.length===2&&(this.X=g[0],this.Y=g[1])},A.DoublePoint0=function(){this.X=0,this.Y=0},A.DoublePoint0.prototype=A.DoublePoint.prototype,A.DoublePoint1=function(g){this.X=g.X,this.Y=g.Y},A.DoublePoint1.prototype=A.DoublePoint.prototype,A.DoublePoint2=function(g,B){this.X=g,this.Y=B},A.DoublePoint2.prototype=A.DoublePoint.prototype,A.PolyNode=function(){this.m_Parent=null,this.m_polygon=new A.Path,this.m_Index=0,this.m_jointype=0,this.m_endtype=0,this.m_Childs=[],this.IsOpen=!1},A.PolyNode.prototype.IsHoleNode=function(){for(var g=!0,B=this.m_Parent;B!==null;)g=!g,B=B.m_Parent;return g},A.PolyNode.prototype.ChildCount=function(){return this.m_Childs.length},A.PolyNode.prototype.Contour=function(){return this.m_polygon},A.PolyNode.prototype.AddChild=function(g){var B=this.m_Childs.length;this.m_Childs.push(g),g.m_Parent=this,g.m_Index=B},A.PolyNode.prototype.GetNext=function(){return this.m_Childs.length>0?this.m_Childs[0]:this.GetNextSiblingUp()},A.PolyNode.prototype.GetNextSiblingUp=function(){return this.m_Parent===null?null:this.m_Index===this.m_Parent.m_Childs.length-1?this.m_Parent.GetNextSiblingUp():this.m_Parent.m_Childs[this.m_Index+1]},A.PolyNode.prototype.Childs=function(){return this.m_Childs},A.PolyNode.prototype.Parent=function(){return this.m_Parent},A.PolyNode.prototype.IsHole=function(){return this.IsHoleNode()},A.PolyTree=function(){this.m_AllPolys=[],A.PolyNode.call(this)},A.PolyTree.prototype.Clear=function(){for(var g=0,B=this.m_AllPolys.length;g<B;g++)this.m_AllPolys[g]=null;this.m_AllPolys.length=0,this.m_Childs.length=0},A.PolyTree.prototype.GetFirst=function(){return this.m_Childs.length>0?this.m_Childs[0]:null},A.PolyTree.prototype.Total=function(){var g=this.m_AllPolys.length;return g>0&&this.m_Childs[0]!==this.m_AllPolys[0]&&g--,g},$Q(A.PolyTree,A.PolyNode),A.Math_Abs_Int64=A.Math_Abs_Int32=A.Math_Abs_Double=function(g){return Math.abs(g)},A.Math_Max_Int32_Int32=function(g,B){return Math.max(g,B)},t.msie||t.opera||t.safari?A.Cast_Int32=function(g){return g|0}:A.Cast_Int32=function(g){return~~g},typeof Number.toInteger>"u"&&(Number.toInteger=null),t.chrome?A.Cast_Int64=function(g){return g<-2147483648||g>2147483647?g<0?Math.ceil(g):Math.floor(g):~~g}:t.firefox&&typeof Number.toInteger=="function"?A.Cast_Int64=function(g){return Number.toInteger(g)}:t.msie7||t.msie8?A.Cast_Int64=function(g){return parseInt(g,10)}:t.msie?A.Cast_Int64=function(g){return g<-2147483648||g>2147483647?g<0?Math.ceil(g):Math.floor(g):g|0}:A.Cast_Int64=function(g){return g<0?Math.ceil(g):Math.floor(g)},A.Clear=function(g){g.length=0},A.PI=3.141592653589793,A.PI2=2*3.141592653589793,A.IntPoint=function(){var g=arguments,B=g.length;if(this.X=0,this.Y=0,A.use_xyz)if(this.Z=0,B===3)this.X=g[0],this.Y=g[1],this.Z=g[2];else if(B===2)this.X=g[0],this.Y=g[1],this.Z=0;else if(B===1)if(g[0]instanceof A.DoublePoint){var Q=g[0];this.X