(self.webpackChunk=self.webpackChunk||[]).push([[2884,6270],{67921:function(Ge,gt,re){"use strict";re.d(gt,{Z:function(){return Be}});var ee=re(72308),xe=re(59301),Pe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M632 698.3l141.9-112a8 8 0 000-12.6L632 461.7c-5.3-4.2-13-.4-13 6.3v76H295c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v76c0 6.7 7.8 10.4 13 6.3zm261.3-405L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v278c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V422c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-83.5c0-17-6.7-33.2-18.7-45.2zM640 288H384V184h256v104zm264 436h-56c-4.4 0-8 3.6-8 8v108H184V732c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v148c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V732c0-4.4-3.6-8-8-8z"}}]},name:"delivered-procedure",theme:"outlined"},ye=Pe,Fe=re(7657),Ie=function(Oe,_e){return xe.createElement(Fe.Z,(0,ee.Z)({},Oe,{ref:_e,icon:ye}))},Ce=xe.forwardRef(Ie),Be=Ce},95869:function(Ge,gt,re){"use strict";re.d(gt,{Z:function(){return Be}});var ee=re(72308),xe=re(59301),Pe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M688 264c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48zm-8 136H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM480 544H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 308H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm356.8-74.4c29-26.3 47.2-64.3 47.2-106.6 0-79.5-64.5-144-144-144s-144 64.5-144 144c0 42.3 18.2 80.3 47.2 106.6-57 32.5-96.2 92.7-99.2 162.1-.2 4.5 3.5 8.3 8 8.3h48.1c4.2 0 7.7-3.3 8-7.6C564 871.2 621.7 816 692 816s128 55.2 131.9 124.4c.2 4.2 3.7 7.6 8 7.6H880c4.6 0 8.2-3.8 8-8.3-2.9-69.5-42.2-129.6-99.2-162.1zM692 591c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z"}}]},name:"solution",theme:"outlined"},ye=Pe,Fe=re(7657),Ie=function(Oe,_e){return xe.createElement(Fe.Z,(0,ee.Z)({},Oe,{ref:_e,icon:ye}))},Ce=xe.forwardRef(Ie),Be=Ce},25346:function(Ge,gt){"use strict";gt.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},95243:function(Ge,gt){"use strict";gt.Z={footer:"footer___bruwa",whiteFooter:"whiteFooter___mR7kn",error:"error___KO0Jg",case:"case___L0pNc","resize-y-bar":"resize-y-bar___NK0gI",unfoldBtn:"unfoldBtn___aMmZw",caseHead:"caseHead___EuMPr",dot:"dot___Iky9k",text:"text___lMSx6",pass:"pass___XjijC",noPass:"noPass___JxpWk",btns:"btns___FPIaK",result:"result___oRj1h",title:"title___IhMSa",left:"left___XlC98",leftNode:"leftNode___NGHgx",right:"right____fIu_",node:"node___MwdH7",elseNode:"elseNode___WjFIg",nameWrap:"nameWrap___bEdbD",scroll:"scroll___ylWYt",scrollBox:"scrollBox___hWkc9",action:"action___xBwDi",whiteCase:"whiteCase___AZiDR",disabled:"disabled___lWQU2",codeHead:"codeHead___l8q5R",navWrap:"navWrap___xdWQe",nav:"nav___JKPVX",active:"active___DTAtT",whiteCodeHead:"whiteCodeHead___wDOny",header:"header___VjNh9",timepiece:"timepiece___yuqJC",btn_edit:"btn_edit___ozzux",whiteHeader:"whiteHeader___REV3m",djs:"djs___v0Ru7",myProblems:"myProblems___DKSbs",whiteMyProblems:"whiteMyProblems___k0QS3",fullMask:"fullMask___QZH1M"}},30434:function(){"use strict"},91686:function(Ge,gt,re){"use strict";var ee=re(59301),xe=Object.defineProperty,Pe=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable,Ie=(Le,Oe,_e)=>Oe in Le?xe(Le,Oe,{enumerable:!0,configurable:!0,writable:!0,value:_e}):Le[Oe]=_e,Ce=(Le,Oe)=>{for(var _e in Oe||(Oe={}))ye.call(Oe,_e)&&Ie(Le,_e,Oe[_e]);if(Pe)for(var _e of Pe(Oe))Fe.call(Oe,_e)&&Ie(Le,_e,Oe[_e]);return Le};const Be=Le=>React.createElement("svg",Ce({width:30,height:30,xmlns:"http://www.w3.org/2000/svg"},Le),React.createElement("title",null,"\u5360\u7528\u5185\u5B58"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{fillOpacity:.01,fill:"#FFF",d:"M0 0h30v30H0z"}),React.createElement("path",{d:"M6.866 26.928h-1.28a2.561 2.561 0 0 1-2.562-2.561V5.585a2.561 2.561 0 0 1 2.561-2.56h1.28v4.268a2.561 2.561 0 0 0 2.562 2.56h3.842a2.561 2.561 0 0 0 2.56-2.56V3.024h2.915l8.184 8.184v13.159a2.561 2.561 0 0 1-2.561 2.561h-1.28v-5.976c0-.943-.765-1.707-1.708-1.707H8.573c-.943 0-1.707.764-1.707 1.707v5.976Z",fill:"#B6D0FC"}),React.createElement("path",{d:"M8.573 3.024h5.55v4.269a.854.854 0 0 1-.854.853H9.427a.854.854 0 0 1-.854-.853V3.024ZM8.573 26.928v-5.976H21.38v5.976z",fill:"#1890FF"})));gt.Z="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBmaWxsLW9wYWNpdHk9Ii4wMSIgZmlsbD0iI0ZGRiIgZD0iTTAgMGgzMHYzMEgweiIvPjxwYXRoIGQ9Ik02Ljg2NiAyNi45MjhoLTEuMjhhMi41NjEgMi41NjEgMCAwIDEtMi41NjItMi41NjFWNS41ODVhMi41NjEgMi41NjEgMCAwIDEgMi41NjEtMi41NmgxLjI4djQuMjY4YTIuNTYxIDIuNTYxIDAgMCAwIDIuNTYyIDIuNTZoMy44NDJhMi41NjEgMi41NjEgMCAwIDAgMi41Ni0yLjU2VjMuMDI0aDIuOTE1bDguMTg0IDguMTg0djEzLjE1OWEyLjU2MSAyLjU2MSAwIDAgMS0yLjU2MSAyLjU2MWgtMS4yOHYtNS45NzZjMC0uOTQzLS43NjUtMS43MDctMS43MDgtMS43MDdIOC41NzNjLS45NDMgMC0xLjcwNy43NjQtMS43MDcgMS43MDd2NS45NzZaIiBmaWxsPSIjQjZEMEZDIi8+PHBhdGggZD0iTTguNTczIDMuMDI0aDUuNTV2NC4yNjlhLjg1NC44NTQgMCAwIDEtLjg1NC44NTNIOS40MjdhLjg1NC44NTQgMCAwIDEtLjg1NC0uODUzVjMuMDI0Wk04LjU3MyAyNi45Mjh2LTUuOTc2SDIxLjM4djUuOTc2eiIgZmlsbD0iIzE4OTBGRiIvPjwvZz48L3N2Zz4="},61394:function(Ge,gt,re){"use strict";var ee=re(59301),xe=Object.defineProperty,Pe=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable,Ie=(Le,Oe,_e)=>Oe in Le?xe(Le,Oe,{enumerable:!0,configurable:!0,writable:!0,value:_e}):Le[Oe]=_e,Ce=(Le,Oe)=>{for(var _e in Oe||(Oe={}))ye.call(Oe,_e)&&Ie(Le,_e,Oe[_e]);if(Pe)for(var _e of Pe(Oe))Fe.call(Oe,_e)&&Ie(Le,_e,Oe[_e]);return Le};const Be=Le=>React.createElement("svg",Ce({width:30,height:30,xmlns:"http://www.w3.org/2000/svg"},Le),React.createElement("title",null,"\u8FD0\u884C\u65F6\u95F4"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"M30 15c0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15C0 6.716 6.716 0 15 0c8.284 0 15 6.716 15 15Z",fill:"#BAFFF0"}),React.createElement("path",{d:"M25.5 15c0 5.8-4.7 10.5-10.5 10.5S4.5 20.8 4.5 15 9.2 4.5 15 4.5 25.5 9.2 25.5 15Z",fill:"#44D7B6"}),React.createElement("path",{d:"M13.5 9a1.5 1.5 0 0 1 1.5 1.5v4.379l3.56 3.56a1.5 1.5 0 0 1-2.12 2.122l-4-4A1.5 1.5 0 0 1 12 15.5v-5A1.5 1.5 0 0 1 13.5 9Z",fill:"#FFF"})));gt.Z="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMzAgMTVjMCA4LjI4NC02LjcxNiAxNS0xNSAxNS04LjI4NCAwLTE1LTYuNzE2LTE1LTE1QzAgNi43MTYgNi43MTYgMCAxNSAwYzguMjg0IDAgMTUgNi43MTYgMTUgMTVaIiBmaWxsPSIjQkFGRkYwIi8+PHBhdGggZD0iTTI1LjUgMTVjMCA1LjgtNC43IDEwLjUtMTAuNSAxMC41UzQuNSAyMC44IDQuNSAxNSA5LjIgNC41IDE1IDQuNSAyNS41IDkuMiAyNS41IDE1WiIgZmlsbD0iIzQ0RDdCNiIvPjxwYXRoIGQ9Ik0xMy41IDlhMS41IDEuNSAwIDAgMSAxLjUgMS41djQuMzc5bDMuNTYgMy41NmExLjUgMS41IDAgMCAxLTIuMTIgMi4xMjJsLTQtNEExLjUgMS41IDAgMCAxIDEyIDE1LjV2LTVBMS41IDEuNSAwIDAgMSAxMy41IDlaIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg=="},74042:function(){"use strict";function Ge(ue,a,E,x){E===void 0&&(E=0),x===void 0&&(x=1/0),this._name=ue,this._defaultValue=a,this._minimum=E,this._maximum=x}Object.defineProperty(Ge.prototype,"name",{get:function(){return this._name},set:function(ue){if(typeof ue!="string"||ue==="")throw new Error("Shape name must be a valid string.");this._name=ue}}),Object.defineProperty(Ge.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(ue){if(typeof ue!="number"||isNaN(ue))throw new Error("The default value must be a real number, not: "+ue);this._defaultValue=ue}}),Object.defineProperty(Ge.prototype,"minimum",{get:function(){return this._minimum},set:function(ue){if(typeof ue!="number"||isNaN(ue))throw new Error("Minimum must be a real number, not: "+ue);this._minimum=ue}}),Object.defineProperty(Ge.prototype,"maximum",{get:function(){return this._maximum},set:function(ue){if(typeof ue!="number"||isNaN(ue))throw new Error("Maximum must be a real number, not: "+ue);this._maximum=ue}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(ue,a){var E=go.Shape._FigureParameters[ue];return E?E[a]:null},go.Shape.setFigureParameter=function(ue,a,E){if(!(E instanceof Ge))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+E);if(E.defaultValueE.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+E.defaultValue);var x=go.Shape._FigureParameters[ue];x||(x=[],go.Shape._FigureParameters[ue]=x),x[a]=E};var gt=[];function re(ue,a){var E=gt.pop();return E===void 0?new go.Point(ue,a):(E.x=ue,E.y=a,E)}function ee(){var ue=gt.pop();return ue===void 0?new go.Point:ue}function xe(ue){gt.push(ue)}function Pe(ue,a,E,x,y,b,z,oe,ie){ie||(ie=new go.Point);var de=ue-E,ge=y-z,pe=NaN,Qe=NaN;if(de===0)if(ge===0)ue===E&&(pe=ue,Qe=a);else{var we=(b-oe)/ge,Ke=b-we*y;pe=ue,Qe=we*pe+Ke}else if(ge===0){var Ye=(a-x)/de,st=a-Ye*ue;pe=y,Qe=Ye*pe+st}else{var Ye=(a-x)/de,we=(b-oe)/ge,st=a-Ye*ue,Ke=b-we*y;pe=(Ke-st)/(Ye-we),Qe=Ye*pe+st}return ie.x=pe,ie.y=Qe,ie}function ye(ue,a,E,x,y,b,z,oe,ie,de,ge,pe,Qe,we){var Ke=1-ie,Ye=ie,st=ue*Ke+E*Ye,Ut=a*Ke+x*Ye,et=E*Ke+y*Ye,nt=x*Ke+b*Ye,ft=y*Ke+z*Ye,yt=b*Ke+oe*Ye,ut=st*Ke+et*Ye,dt=Ut*Ke+nt*Ye,at=et*Ke+ft*Ye,mt=nt*Ke+yt*Ye,Dt=ut*Ke+at*Ye,Mt=dt*Ke+mt*Ye;de.x=st,de.y=Ut,ge.x=ut,ge.y=dt,pe.x=Dt,pe.y=Mt,Qe.x=at,Qe.y=mt,we.x=ft,we.y=yt}var Fe=new go.Spot(.156,.156),Ie=new go.Spot(.844,.844),Ce=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new Ge("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(ue,a,E){var x=ue?ue.parameter1:NaN;(isNaN(x)||x<0)&&(x=5),x=Math.min(x,a/3),x=Math.min(x,E/3);var y=x*Ce,b=new go.Geometry().add(new go.PathFigure(x,0,!0).add(new go.PathSegment(go.PathSegment.Line,a-x,0)).add(new go.PathSegment(go.PathSegment.Bezier,a,x,a-y,0,a,y)).add(new go.PathSegment(go.PathSegment.Line,a,E-x)).add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,E-y,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,x,E)).add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,y,E,0,E-y)).add(new go.PathSegment(go.PathSegment.Line,0,x)).add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,y,y,0).close()));return y>1&&(b.spot1=new go.Spot(0,0,y,y),b.spot2=new go.Spot(1,1,-y,-y)),b}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(a,E).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(a,E).add(new go.PathSegment(go.PathSegment.Line,0,E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(ue,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=E/2,x.endX=a,x.endY=E/2,x}),go.Shape.defineFigureGenerator("LineV",function(ue,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=a/2,x.startY=0,x.endX=a/2,x.endY=E,x}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,E/2,!1).add(new go.PathSegment(go.PathSegment.Line,a,E/2)).add(new go.PathSegment(go.PathSegment.Move,a/2,0)).add(new go.PathSegment(go.PathSegment.Line,a/2,E)))}),go.Shape.defineFigureGenerator("XLine",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)))}),go.Shape.defineFigureGenerator("LineRight",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(.25*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.25*a,E)))}),go.Shape.defineFigureGenerator("LineDown",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,.25*E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,.75*E)).add(new go.PathSegment(go.PathSegment.Line,a,.25*E)))}),go.Shape.defineFigureGenerator("LineLeft",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(.75*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.75*a,E)))}),go.Shape.defineFigureGenerator("LineUp",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,.75*E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,a,.75*E)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(ue,a,E){var x=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(x*a,(1-x)*E,!1).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,x*E)).add(new go.PathSegment(go.PathSegment.Move,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Move,0,E/2)).add(new go.PathSegment(go.PathSegment.Line,a,E/2)).add(new go.PathSegment(go.PathSegment.Move,a/2,0)).add(new go.PathSegment(go.PathSegment.Line,a/2,E)))}),go.Shape.defineFigureGenerator("CircleLine",function(ue,a,E){var x=a/2,y=new go.Geometry().add(new go.PathFigure(a,a/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,x,x,x,x).close()));return y.spot1=Fe,y.spot2=Ie,y.defaultStretch=go.GraphObject.Uniform,y}),go.Shape.defineFigureGenerator("Line1",function(ue,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=0,x.endX=a,x.endY=E,x}),go.Shape.defineFigureGenerator("Line2",function(ue,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=a,x.startY=0,x.endX=0,x.endY=E,x}),go.Shape.defineFigureGenerator("Curve1",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,a,E,Ce*a,0,a,(1-Ce)*E)))}),go.Shape.defineFigureGenerator("Curve2",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,a,E,0,Ce*E,(1-Ce)*a,E)))}),go.Shape.defineFigureGenerator("Curve3",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,Ce*E,Ce*a,E)))}),go.Shape.defineFigureGenerator("Curve4",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,E,(1-Ce)*a,0,0,(1-Ce)*E)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new Ge("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)?x=.1:x<-1?x=-1:x>1&&(x=1);var y=Math.abs(x)*a;if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())),ya&&(x=a);var y=Math.abs(x);if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())),y.5&&(x=.5);var y=Math.abs(x)*a;if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())),ya&&(x=a/2);var y=Math.abs(x);if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())),ya&&(x=a/2);var y=Math.abs(x);if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())):b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())),y0&&(z.add(new go.PathSegment(go.PathSegment.Move,a/2+oe,a/2)),z.add(new go.PathSegment(go.PathSegment.Arc,0,-360,y,y,oe,oe).close())),b.spot1=Fe,b.spot2=Ie,b.defaultStretch=go.GraphObject.Uniform,b}),go.Shape.defineFigureGenerator("Cloud",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(.08034461*a,.1944299*E,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*a,.05349299*E,-.09239631*a,.07836421*E,.1406031*a,-.0542823*E)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*a,.074219*E,.2450511*a,-.00697547*E,.3776197*a,-.01112067*E)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*a,.07004196*E,.4539471*a,0,.6066018*a,-.02526587*E)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*a,.08370865*E,.6914277*a,-.01904177*E,.8921095*a,-.01220843*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*a,.3194596*E,1.036446*a,.04105738*E,1.020377*a,.3022052*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*a,.562044*E,1.04448*a,.360238*E,.992256*a,.5219009*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*a,.8217117*E,1.032337*a,.5771781*E,1.018411*a,.8120651*E)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*a,.9156953*E,1.028411*a,.9571472*E,.8556702*a,1.052487*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*a,.9310455*E,.7431877*a,1.009325*E,.5624123*a,1.021761*E)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*a,.9344623*E,.4820677*a,1.031761*E,.3030112*a,1.002796*E)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*a,.870098*E,.2329994*a,1.01518*E,.03213784*a,1.01518*E)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*a,.6545475*E,-.02812061*a,.9032597*E,-.01205169*a,.6835638*E)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*a,.4265613*E,-.01812061*a,.6089503*E,-.00606892*a,.4555777*E)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*a,.1944299*E,-.01606892*a,.3892545*E,-.01205169*a,.1944299*E))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(ue,a,E){var x=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(x*a,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,x*E)).add(new go.PathSegment(go.PathSegment.Line,a,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Line,x*a,E)).add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Line,0,x*E).close())).setSpots(x/2,x/2,1-x/2,1-x/2)}),go.Shape.setFigureParameter("Pie",0,new Ge("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new Ge("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(ue,a,E){var x=ue?ue.parameter1:NaN,y=ue?ue.parameter2:NaN;isNaN(x)&&(x=0),isNaN(y)&&(y=315);var b=x%360;b<0&&(b+=360);var z=y%360,oe=Math.min(a,E)/2;return new go.Geometry().add(new go.PathFigure(oe,oe).add(new go.PathSegment(go.PathSegment.Arc,b,z,oe,oe,oe,oe).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(ue,a,E){var x=Ce/Math.SQRT2*.5,y=Math.SQRT2/2,b=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(a,E,!0).add(new go.PathSegment(go.PathSegment.Bezier,y*a,b*E,a,(1-x)*E,(y+x)*a,(b+x)*E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close()))}),go.Shape.setFigureParameter("ThickCross",0,new Ge("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(ue,a,E){var x=ue?ue.parameter1:NaN;(isNaN(x)||x<0)&&(x=30);var y=Math.min(x,a)/2,b=a/2,z=E/2;return new go.Geometry().add(new go.PathFigure(b-y,0,!0).add(new go.PathSegment(go.PathSegment.Line,b+y,0)).add(new go.PathSegment(go.PathSegment.Line,b+y,z-y)).add(new go.PathSegment(go.PathSegment.Line,a,z-y)).add(new go.PathSegment(go.PathSegment.Line,a,z+y)).add(new go.PathSegment(go.PathSegment.Line,b+y,z+y)).add(new go.PathSegment(go.PathSegment.Line,b+y,E)).add(new go.PathSegment(go.PathSegment.Line,b-y,E)).add(new go.PathSegment(go.PathSegment.Line,b-y,z+y)).add(new go.PathSegment(go.PathSegment.Line,0,z+y)).add(new go.PathSegment(go.PathSegment.Line,0,z-y)).add(new go.PathSegment(go.PathSegment.Line,b-y,z-y).close()))}),go.Shape.setFigureParameter("ThinCross",0,new Ge("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(ue,a,E){var x=ue?ue.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var y=Math.min(x,a)/2,b=a/2,z=E/2;return new go.Geometry().add(new go.PathFigure(b-y,0,!0).add(new go.PathSegment(go.PathSegment.Line,b+y,0)).add(new go.PathSegment(go.PathSegment.Line,b+y,z-y)).add(new go.PathSegment(go.PathSegment.Line,a,z-y)).add(new go.PathSegment(go.PathSegment.Line,a,z+y)).add(new go.PathSegment(go.PathSegment.Line,b+y,z+y)).add(new go.PathSegment(go.PathSegment.Line,b+y,E)).add(new go.PathSegment(go.PathSegment.Line,b-y,E)).add(new go.PathSegment(go.PathSegment.Line,b-y,z+y)).add(new go.PathSegment(go.PathSegment.Line,0,z+y)).add(new go.PathSegment(go.PathSegment.Line,0,z-y)).add(new go.PathSegment(go.PathSegment.Line,b-y,z-y).close()))}),go.Shape.setFigureParameter("ThickX",0,new Ge("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(ue,a,E){var x=ue?ue.parameter1:NaN;if((isNaN(x)||x<0)&&(x=30),a===0||E===0){var y=new go.Geometry(go.Geometry.Rectangle);return y.startX=0,y.startY=0,y.endX=a,y.endY=E,y}else{var b=a/2,z=E/2,oe=Math.atan2(E,a),ie=x-Math.min(Math.cos(oe)*x/2,b),de=x-Math.min(Math.sin(oe)*x/2,z),y=new go.Geometry,ge=new go.PathFigure(ie,0,!0);return y.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,b,.2*E)),ge.add(new go.PathSegment(go.PathSegment.Line,a-ie,0)),ge.add(new go.PathSegment(go.PathSegment.Line,a,de)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*a,z)),ge.add(new go.PathSegment(go.PathSegment.Line,a,E-de)),ge.add(new go.PathSegment(go.PathSegment.Line,a-ie,E)),ge.add(new go.PathSegment(go.PathSegment.Line,b,.8*E)),ge.add(new go.PathSegment(go.PathSegment.Line,ie,E)),ge.add(new go.PathSegment(go.PathSegment.Line,0,E-de)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*a,z)),ge.add(new go.PathSegment(go.PathSegment.Line,0,de).close()),y}}),go.Shape.setFigureParameter("ThinX",0,new Ge("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(ue,a,E){var x=ue?ue.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var y=new go.Geometry,b=new go.PathFigure(.1*a,0,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.1*E).close()),y}),go.Shape.setFigureParameter("SquareIBeam",0,new Ge("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.2);var y=new go.Geometry,b=new go.PathFigure(0,0,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,x*E)),b.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*a,x*E)),b.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*a,(1-x)*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,(1-x)*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*a,(1-x)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*a,x*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,x*E).close()),y}),go.Shape.setFigureParameter("RoundedIBeam",0,new Ge("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.5);var y=new go.Geometry,b=new go.PathFigure(0,0,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,E,Math.abs(1-x)*a,.25*E,Math.abs(1-x)*a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*a,.75*E,x*a,.25*E).close()),y}),go.Shape.defineFigureGenerator("HalfEllipse",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,Ce*a,0,a,(.5-Ce/2)*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,(.5+Ce/2)*E,Ce*a,E).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,0,a,E)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*a,.75*E,.5*a,.25*E).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,E,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*E,.1*a,.8*E,0,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,0,0,.45*a,0)).add(new go.PathSegment(go.PathSegment.Bezier,a,.3*E,.55*a,0,a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,.5*E,.9*a,.8*E).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*a,.01*E)).add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.6*a,.2*E,a,.25*E)).add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.7*E,a,.8*E,.6*a,.8*E)).add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,.5*a,.75*E,.55*a,.95*E)).add(new go.PathSegment(go.PathSegment.Line,.25*a,E)).add(new go.PathSegment(go.PathSegment.Bezier,.45*a,.7*E,.45*a,.95*E,.5*a,.75*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.4*a,.8*E,0,.8*E)).add(new go.PathSegment(go.PathSegment.Bezier,.49*a,.01*E,0,.25*E,.4*a,.2*E).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.4*a,.6*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.15*a,E,.5*a,.75*E,.45*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Line,.85*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.6*a,.6*E,.55*a,.95*E,.5*a,.75*E));var b=.2,z=.3,oe=0,ie=b*Ce;return y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5+b+oe)*E,(.5-b+z)*a,(.5+ie+oe)*E,(.5-ie+z)*a,(.5+b+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+z)*a,(.5+oe)*E,(.5+ie+z)*a,(.5+b+oe)*E,(.5+b+z)*a,(.5+ie+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5-b+oe)*E,(1-.5+b+z)*a,(.5-ie+oe)*E,(.5+ie+z)*a,(.5-b+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.65*a,.36771243*E,(.5-ie+z)*a,(.5-b+oe)*E,(.5-b+z+.05)*a,(.5-ie+oe-.02)*E)),b=.2,z=0,oe=-.3,ie=b*Ce,y.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+z)*a,(.5+oe)*E,(.5+ie+z)*a,(.5+b+oe)*E,(.5+b+z)*a,(.5+ie+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5-b+oe)*E,(1-.5+b+z)*a,(.5-ie+oe)*E,(.5+ie+z)*a,(.5-b+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*a,(.5+oe)*E,(.5-ie+z)*a,(.5-b+oe)*E,(.5-b+z)*a,(.5-ie+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ie+z)*a,(.5+b+oe)*E,(.5-b+z)*a,(.5+ie+oe)*E,(.5-ie+z)*a,(.5+b+oe)*E)),b=.2,z=-.3,oe=0,ie=b*Ce,y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5-b+oe)*E,(1-.5+b+z-.05)*a,(.5-ie+oe-.02)*E,(.5+ie+z)*a,(.5-b+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*a,(.5+oe)*E,(.5-ie+z)*a,(.5-b+oe)*E,(.5-b+z)*a,(.5-ie+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5+b+oe)*E,(.5-b+z)*a,(.5+ie+oe)*E,(.5-ie+z)*a,(.5+b+oe)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,.6*E,(.5+ie+z)*a,(.5+b+oe)*E,(.5+b+z)*a,(.5+ie+oe)*E).close()),x.setSpots(.06,.33,.93,.68),x}),go.Shape.defineFigureGenerator("YinYang",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*.5,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,180,a*.5,a*.5,a*.5,a*.5)),y.add(new go.PathSegment(go.PathSegment.Arc,90,-180,a*.5,a*.75,a*.25,a*.25)),y.add(new go.PathSegment(go.PathSegment.Arc,90,180,a*.5,a*.25,a*.25,a*.25));var b=.1,z=.5,oe=.25;return y.add(new go.PathSegment(go.PathSegment.Move,(z+b)*a,oe*E)),y.add(new go.PathSegment(go.PathSegment.Arc,0,-360,a*z,E*oe,b*a,b*a).close()),y=new go.PathFigure(a*.5,0,!1),x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,-180,a*.5,a*.5,a*.5,a*.5)),oe=.75,y=new go.PathFigure((z+b)*a,oe*E,!0),x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,0,360,a*z,E*oe,b*a,b*a).close()),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Peace",function(ue,a,E){var x=.8535533905932737,y=.5*a,b=.5*E;return new go.Geometry().add(new go.PathFigure(y,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,y,b,y,b)).add(new go.PathSegment(go.PathSegment.Line,y,E)).add(new go.PathSegment(go.PathSegment.Move,y,b)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,x*E)).add(new go.PathSegment(go.PathSegment.Move,y,b)).add(new go.PathSegment(go.PathSegment.Line,x*a,x*E)))}),go.Shape.defineFigureGenerator("NotAllowed",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=.5,z=.5,oe=.5,ie=new go.PathFigure(z*a,(oe-b)*E);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z-b)*a,oe*E,(z-y)*a,(oe-b)*E,(z-b)*a,(oe-y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+b)*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,oe*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-b)*E,(z+b)*a,(oe-y)*E,(z+y)*a,(oe-b)*E)),b=.4,y=Ce*.4;var de=ee(),ge=ee(),pe=ee(),Qe=ee();ye(z,oe-b,z+y,oe-b,z+b,oe-y,z+b,oe,.42,de,ge,pe,Qe,Qe);var we=ee(),Ke=ee(),Ye=ee();ye(z,oe-b,z+y,oe-b,z+b,oe-y,z+b,oe,.58,Qe,Qe,Ye,we,Ke);var st=ee(),Ut=ee(),et=ee();ye(z,oe+b,z-y,oe+b,z-b,oe+y,z-b,oe,.42,st,Ut,et,Qe,Qe);var nt=ee(),ft=ee(),yt=ee();return ye(z,oe+b,z-y,oe+b,z-b,oe+y,z-b,oe,.58,Qe,Qe,yt,nt,ft),ie.add(new go.PathSegment(go.PathSegment.Move,yt.x*a,yt.y*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z-b)*a,oe*E,nt.x*a,nt.y*E,ft.x*a,ft.y*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-b)*E,(z-b)*a,(oe-y)*E,(z-y)*a,(oe-b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,pe.x*a,pe.y*E,de.x*a,de.y*E,ge.x*a,ge.y*E)),ie.add(new go.PathSegment(go.PathSegment.Line,yt.x*a,yt.y*E).close()),ie.add(new go.PathSegment(go.PathSegment.Move,et.x*a,et.y*E)),ie.add(new go.PathSegment(go.PathSegment.Line,Ye.x*a,Ye.y*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,oe*E,we.x*a,we.y*E,Ke.x*a,Ke.y*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+b)*E,(z+b)*a,(oe+y)*E,(z+y)*a,(oe+b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,et.x*a,et.y*E,st.x*a,st.y*E,Ut.x*a,Ut.y*E).close()),xe(de),xe(ge),xe(pe),xe(Qe),xe(we),xe(Ke),xe(Ye),xe(st),xe(Ut),xe(et),xe(nt),xe(ft),xe(yt),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Fragile",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*a,0)).add(new go.PathSegment(go.PathSegment.Line,.2*a,.15*E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,.29*a,.33*E)).add(new go.PathSegment(go.PathSegment.Line,.35*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.15*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.5*E,a,.25*E,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.55*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.45*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.45*a,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.5*E,0,.25*E).close()))}),go.Shape.setFigureParameter("HourGlass",0,new Ge("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(ue,a,E){var x=ue?ue.parameter1:NaN;(isNaN(x)||x<0)&&(x=30),x>a&&(x=a);var y=(a-x)/2,b=y+x;return new go.Geometry().add(new go.PathFigure(b,.5*E).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E)).add(new go.PathSegment(go.PathSegment.Line,y,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,a,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,.55*E).add(new go.PathSegment(go.PathSegment.Line,.6*a,0)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.45*E)).add(new go.PathSegment(go.PathSegment.Line,a,.45*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.55*E).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(ue,a,E){var x=new go.Geometry,y=Ce*.4,b=.4,z=.5,oe=.5,ie=ee(),de=ee(),ge=ee(),pe=ee(),Qe=new go.PathFigure((z-b)*a,oe*E,!1);x.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-b)*E,(z-b)*a,(oe-y)*E,(z-y)*a,(oe-b)*E)),ye(z,oe-b,z+y,oe-b,z+b,oe-y,z+b,oe,.44,ge,pe,de,ie,ie),Qe.add(new go.PathSegment(go.PathSegment.Bezier,de.x*a,de.y*E,ge.x*a,ge.y*E,pe.x*a,pe.y*E));var we=re(de.x,de.y);ye(z,oe-b,z+y,oe-b,z+b,oe-y,z+b,oe,.56,ie,ie,de,ge,pe);var Ke=re(de.x,de.y);Qe.add(new go.PathSegment(go.PathSegment.Line,(we.x*.1+.95*.9)*a,we.y*.1*E)),Qe.add(new go.PathSegment(go.PathSegment.Line,.85*a,we.y*.1*E)),Qe.add(new go.PathSegment(go.PathSegment.Line,.85*a,0)),Qe.add(new go.PathSegment(go.PathSegment.Line,a,0)),Qe.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),Qe.add(new go.PathSegment(go.PathSegment.Line,(Ke.x*.1+.9)*a,.15*E)),Qe.add(new go.PathSegment(go.PathSegment.Line,(Ke.x*.1+.9)*a,(Ke.y*.1+.05*.9)*E)),Qe.add(new go.PathSegment(go.PathSegment.Line,Ke.x*a,Ke.y*E)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,oe*E,ge.x*a,ge.y*E,pe.x*a,pe.y*E)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+b)*E,(z+b)*a,(oe+y)*E,(z+y)*a,(oe+b)*E)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(z-b)*a,oe*E,(z-y)*a,(oe+b)*E,(z-b)*a,(oe+y)*E)),b=.35,y=Ce*.35;var Ye=new go.PathFigure(z*a,(oe-b)*E,!1);x.add(Ye),Ye.add(new go.PathSegment(go.PathSegment.Bezier,(z-b)*a,oe*E,(z-y)*a,(oe-b)*E,(z-b)*a,(oe-y)*E)),Ye.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+b)*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E)),Ye.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,oe*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),Ye.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-b)*E,(z+b)*a,(oe-y)*E,(z+y)*a,(oe-b)*E));var st=new go.PathFigure((z-b)*a,oe*E,!1);return x.add(st),xe(ie),xe(de),xe(ge),xe(pe),xe(we),xe(Ke),x.spot1=new go.Spot(.202,.257),x.spot2=new go.Spot(.792,.739),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("GenderFemale",function(ue,a,E){var x=new go.Geometry,y=.375,b=0,z=-.125,oe=y*Ce,ie=new go.PathFigure((.525+b)*a,(.5+y+z)*E,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+y+b)*a,(.5+z)*E,(.5+oe+b)*a,(.5+y+z)*E,(.5+y+b)*a,(.5+oe+z)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5+b)*a,(.5-y+z)*E,(1-.5+y+b)*a,(.5-oe+z)*E,(.5+oe+b)*a,(.5-y+z)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+b)*a,(.5+z)*E,(.5-oe+b)*a,(.5-y+z)*E,(.5-y+b)*a,(.5-oe+z)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.475+b)*a,(.5+y+z)*E,(.5-y+b)*a,(.5+oe+z)*E,(.5-oe+b)*a,(.5+y+z)*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.475*a,.85*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.425*a,.85*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.425*a,.9*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.475*a,.9*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.475*a,E)),ie.add(new go.PathSegment(go.PathSegment.Line,.525*a,E)),ie.add(new go.PathSegment(go.PathSegment.Line,.525*a,.9*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.575*a,.9*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.575*a,.85*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.525*a,.85*E).close()),y=.325,b=0,z=-.125,oe=y*Ce;var ie=new go.PathFigure((1-.5+y+b)*a,(.5+z)*E,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5+b)*a,(.5+y+z)*E,(.5+y+b)*a,(.5+oe+z)*E,(.5+oe+b)*a,(.5+y+z)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+b)*a,(.5+z)*E,(.5-oe+b)*a,(.5+y+z)*E,(.5-y+b)*a,(.5+oe+z)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5+b)*a,(.5-y+z)*E,(.5-y+b)*a,(.5-oe+z)*E,(.5-oe+b)*a,(.5-y+z)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+y+b)*a,(.5+z)*E,(.5+oe+b)*a,(.5-y+z)*E,(1-.5+y+b)*a,(.5-oe+z)*E));var ie=new go.PathFigure((.525+b)*a,(.5+y+z)*E,!1);return x.add(ie),x.spot1=new go.Spot(.232,.136),x.spot2=new go.Spot(.682,.611),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicImplies",function(ue,a,E){var x=ue?ue.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(ue,a,E){var x=ue?ue.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Move,x*a,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,x*a,E))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)))}),go.Shape.defineFigureGenerator("LogicAnd",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(ue,a,E){var x=new go.Geometry().add(new go.PathFigure(.5*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*a,.5*E,.5*a,.5*E)));return x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicTruth",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,.5*a,0)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Move,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Move,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E)))}),go.Shape.defineFigureGenerator("LogicForAll",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,.25*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Move,0,E)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(ue,a,E){var x=.5;return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,0,x*E)).add(new go.PathSegment(go.PathSegment.Arc,180,180,x*a,x*E,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(ue,a,E){var x=.5;return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,x*E)).add(new go.PathSegment(go.PathSegment.Arc,0,180,x*a,x*E,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new Ge("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new Ge("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.3);var y=ue?ue.parameter2:NaN;isNaN(y)&&(y=.3);var b=(1-x)*a,z=(.5-y/2)*E,oe=(.5+y/2)*E,ie=new go.Geometry,de=new go.PathFigure(0,z,!0);ie.add(de),de.add(new go.PathSegment(go.PathSegment.Line,b,z)),de.add(new go.PathSegment(go.PathSegment.Line,b,0)),de.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),de.add(new go.PathSegment(go.PathSegment.Line,b,E)),de.add(new go.PathSegment(go.PathSegment.Line,b,oe)),de.add(new go.PathSegment(go.PathSegment.Line,0,oe).close()),ie.spot1=new go.Spot(0,z/E);var ge=Pe(0,oe/E,1,oe/E,b/a,1,1,.5,ee());return ie.spot2=new go.Spot(ge.x,ge.y),xe(ge),ie}),go.Shape.setFigureParameter("Arrow2",0,new Ge("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new Ge("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=30),x>a&&(x=a);var y=ue?ue.parameter2:NaN;isNaN(y)&&(y=30),y=Math.min(y,E/2);var b=a-x,z=(E-y)/2,oe=z+y,ie=new go.Geometry,de=new go.PathFigure(0,z,!0);ie.add(de),de.add(new go.PathSegment(go.PathSegment.Line,b,z)),de.add(new go.PathSegment(go.PathSegment.Line,b,0)),de.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),de.add(new go.PathSegment(go.PathSegment.Line,b,E)),de.add(new go.PathSegment(go.PathSegment.Line,b,oe)),de.add(new go.PathSegment(go.PathSegment.Line,0,oe).close()),ie.spot1=new go.Spot(0,z/E);var ge=Pe(0,oe/E,1,oe/E,b/a,1,1,.5,ee());return ie.spot2=new go.Spot(ge.x,ge.y),xe(ge),ie}),go.Shape.defineFigureGenerator("Chevron",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("DoubleArrow",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,.214*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,1*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,.786*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,1*E).close()),x}),go.Shape.setFigureParameter("DoubleEndArrow",0,new Ge("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.3);var y=(.5-x/2)*E,b=(.5+x/2)*E,z=new go.Geometry,oe=new go.PathFigure(a,.5*E,!0);z.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*a,b)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*a,E)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*a,y)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close());var ie=Pe(0,.5,.3,0,0,y/E,.1,y/E,ee());return z.spot1=new go.Spot(ie.x,ie.y),ie=Pe(.7,1,1,.5,0,b/E,1,b/E,ie),z.spot2=new go.Spot(ie.x,ie.y),xe(ie),z}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new Ge("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new Ge("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=40);var y=ue?ue.parameter2:NaN;isNaN(y)&&(y=100);var b=(E-x)/2,z=b+x,oe=(E-y)/2,ie=oe+y;(x>E||y>E)&&(y>x?(x=x*E/y,b=(E-x)/2,z=b+x,oe=0,ie=E):(b=0,z=E,oe=0,ie=E));var de=new go.Geometry,ge=new go.PathFigure(a,.5*E,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.7*a,ie)),ge.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ge.add(new go.PathSegment(go.PathSegment.Line,.3*a,z)),ge.add(new go.PathSegment(go.PathSegment.Line,.3*a,ie)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),ge.add(new go.PathSegment(go.PathSegment.Line,.3*a,oe)),ge.add(new go.PathSegment(go.PathSegment.Line,.3*a,b)),ge.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ge.add(new go.PathSegment(go.PathSegment.Line,.7*a,oe).close());var pe=Pe(0,.5,.3,oe/E,0,b/E,1,b/E,ee());return de.spot1=new go.Spot(pe.x,pe.y),pe=Pe(.7,ie/E,1,.5,0,z/E,1,z/E,pe),de.spot2=new go.Spot(pe.x,pe.y),xe(pe),de}),go.Shape.setFigureParameter("IBeamArrow",0,new Ge("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.3);var y=(.5-x/2)*E,b=(.5+x/2)*E,z=new go.Geometry,oe=new go.PathFigure(a,.5*E,!0);z.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*a,b)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),oe.add(new go.PathSegment(go.PathSegment.Line,0,E)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*a,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*a,y)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),z.spot1=new go.Spot(0,y/E);var ie=Pe(.7,1,1,.5,0,b/E,1,b/E,ee());return z.spot2=new go.Spot(ie.x,ie.y),xe(ie),z}),go.Shape.setFigureParameter("IBeamArrow2",0,new Ge("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new Ge("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=40);var y=ue?ue.parameter2:NaN;isNaN(y)&&(y=100);var b=(E-x)/2,z=b+x,oe=(E-y)/2,ie=oe+y;(x>E||y>E)&&(y>x?(x=x*E/y,b=(E-x)/2,z=b+x,oe=0,ie=E):(b=0,z=E,oe=0,ie=E));var de=new go.Geometry,ge=new go.PathFigure(a,.5*E,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.7*a,ie)),ge.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*a,z)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*a,ie)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ie)),ge.add(new go.PathSegment(go.PathSegment.Line,0,oe)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*a,oe)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*a,b)),ge.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ge.add(new go.PathSegment(go.PathSegment.Line,.7*a,oe).close()),de.spot1=new go.Spot(0,b/E);var pe=Pe(.7,ie/E,1,.5,0,z/E,1,z/E,ee());return de.spot2=new go.Spot(pe.x,pe.y),xe(pe),de}),go.Shape.setFigureParameter("Pointer",0,new Ge("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.1);var y=new go.Geometry,b=new go.PathFigure(a,.5*E,!0);y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,x*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),y.spot1=new go.Spot(x,.35);var z=Pe(.2,.65,1,.65,0,1,1,.5,ee());return y.spot2=new go.Spot(z.x,z.y),xe(z),y}),go.Shape.setFigureParameter("RoundedPointer",0,new Ge("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.3);var y=new go.Geometry,b=new go.PathFigure(a,.5*E,!0);y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*a,.75*E,x*a,.25*E).close()),y.spot1=new go.Spot(x,.35);var z=Pe(0,.65,1,.65,0,1,1,.5,ee());return y.spot2=new go.Spot(z.x,z.y),xe(z),y}),go.Shape.setFigureParameter("SplitEndArrow",0,new Ge("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.4);var y=(.5-x/2)*E,b=(.5+x/2)*E,z=new go.Geometry,oe=new go.PathFigure(a,.5*E,!0);z.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),oe.add(new go.PathSegment(go.PathSegment.Line,0,b)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),oe.add(new go.PathSegment(go.PathSegment.Line,0,y)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),z.spot1=new go.Spot(.2,.3);var ie=Pe(.7,1,1,.5,0,b/E,1,b/E,ee());return z.spot2=new go.Spot(ie.x,ie.y),xe(ie),z}),go.Shape.setFigureParameter("SplitEndArrow2",0,new Ge("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=50);var y=(E-x)/2,b=y+x;x>E&&(y=0,b=E);var z=new go.Geometry,oe=new go.PathFigure(a,.5*E,!0);z.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),oe.add(new go.PathSegment(go.PathSegment.Line,0,b)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),oe.add(new go.PathSegment(go.PathSegment.Line,0,y)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),z.spot1=new go.Spot(.2,y/E);var ie=Pe(.7,1,1,.5,0,b/E,1,b/E,ee());return z.spot2=new go.Spot(ie.x,ie.y),xe(ie),z}),go.Shape.setFigureParameter("SquareArrow",0,new Ge("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.7);var y=new go.Geometry,b=new go.PathFigure(a,.5*E,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,x*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,x*a,0).close()),y.spot1=go.Spot.TopLeft,y.spot2=new go.Spot(x,1),y}),go.Shape.defineFigureGenerator("Cone1",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=Ce*.1,z=new go.PathFigure(0,.9*E,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+b)*E,(.5+y)*a,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-y)*a,E,0,(.9+b)*E).close()),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.97),x}),go.Shape.defineFigureGenerator("Cone2",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.9*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.9*E,(1-.85/.9)*a,E,.85/.9*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.9*E).close());var b=new go.PathFigure(0,.9*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.9*E,(1-.85/.9)*a,.8*E,.85/.9*a,.8*E)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.82),x}),go.Shape.defineFigureGenerator("Cube1",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.15*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.85*E).close());var b=new go.PathFigure(.5*a,E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.15*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.5,.85),x}),go.Shape.defineFigureGenerator("Cube2",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.3*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,0).close());var b=new go.PathFigure(0,.3*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Move,.7*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.7,1),x}),go.Shape.defineFigureGenerator("Cylinder1",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var y=new go.Geometry,b=Ce*.5,z=new go.PathFigure(0,x,!0);y.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,Ce*x,(.5-b)*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,1*a,x,(.5+b)*a,0,1*a,Ce*x)),z.add(new go.PathSegment(go.PathSegment.Line,a,E-x)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,1*E,1*a,E-Ce*x,(.5+b)*a,1*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,(.5-b)*a,1*E,0,E-Ce*x)),z.add(new go.PathSegment(go.PathSegment.Line,0,x));var oe=new go.PathFigure(a,x,!1);return y.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,2*x,1*a,2*x-Ce*x,(.5+b)*a,2*x)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,x,(.5-b)*a,2*x,0,2*x-Ce*x)),y.spot1=new go.Spot(0,0,0,2*x),y.spot2=new go.Spot(1,1),y}),go.Shape.defineFigureGenerator("Cylinder2",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var y=new go.Geometry,b=Ce*.5,z=new go.PathFigure(0,E-x,!0);y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,x)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,Ce*x,(.5-b)*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,x,(.5+b)*a,0,a,Ce*x)),z.add(new go.PathSegment(go.PathSegment.Line,a,E-x)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,E-Ce*x,(.5+b)*a,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,(.5-b)*a,E,0,E-Ce*x));var oe=new go.PathFigure(0,E-x,!1);return y.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E-2*x,0,E-x-Ce*x,(.5-b)*a,E-2*x)),oe.add(new go.PathSegment(go.PathSegment.Bezier,a,E-x,(.5+b)*a,E-2*x,a,E-x-Ce*x)),y.spot1=new go.Spot(0,0),y.spot2=new go.Spot(1,1,0,-2*x),y}),go.Shape.defineFigureGenerator("Cylinder3",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var y=new go.Geometry,b=Ce*.5,z=new go.PathFigure(x,0,!0);y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a-x,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,a-Ce*x,0,a,(.5-b)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,(.5+b)*E,a-Ce*x,E)),z.add(new go.PathSegment(go.PathSegment.Line,x,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,Ce*x,E,0,(.5+b)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-b)*E,Ce*x,0));var oe=new go.PathFigure(x,0,!1);return y.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,2*x,.5*E,x+Ce*x,0,2*x,(.5-b)*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,x,E,2*x,(.5+b)*E,x+Ce*x,E)),y.spot1=new go.Spot(0,0,2*x,0),y.spot2=new go.Spot(1,1),y}),go.Shape.defineFigureGenerator("Cylinder4",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var y=new go.Geometry,b=Ce*.5,z=new go.PathFigure(a-x,0,!0);y.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,a-Ce*x,0,a,(.5-b)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,(.5+b)*E,a-Ce*x,E)),z.add(new go.PathSegment(go.PathSegment.Line,x,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,Ce*x,E,0,(.5+b)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-b)*E,Ce*x,0)),z.add(new go.PathSegment(go.PathSegment.Line,a-x,0));var oe=new go.PathFigure(a-x,0,!1);return y.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,a-2*x,.5*E,a-x-Ce*x,0,a-2*x,(.5-b)*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a-2*x,(.5+b)*E,a-x-Ce*x,E)),y.spot1=new go.Spot(0,0),y.spot2=new go.Spot(1,1,-2*x,0),y}),go.Shape.defineFigureGenerator("Prism1",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.25*a,.25*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var b=new go.PathFigure(.25*a,.25*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.408,.172),x.spot2=new go.Spot(.833,.662),x}),go.Shape.defineFigureGenerator("Prism2",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.25*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var b=new go.PathFigure(0,E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Move,0,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("Pyramid1",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*E).close());var b=new go.PathFigure(.5*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Pyramid2",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.85*E).close());var b=new go.PathFigure(.5*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.85*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Actor",function(ue,a,E){var x=new go.Geometry,y=.2,b=.1,z=Ce*y,oe=Ce*b,ie=.5,de=.1,ge=new go.PathFigure(ie*a,(de+b)*E,!0);x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ie-y)*a,de*E,(ie-z)*a,(de+b)*E,(ie-y)*a,(de+oe)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de-b)*E,(ie-y)*a,(de-oe)*E,(ie-z)*a,(de-b)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ie+y)*a,de*E,(ie+z)*a,(de-b)*E,(ie+y)*a,(de-oe)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de+b)*E,(ie+y)*a,(de+oe)*E,(ie+z)*a,(de+b)*E));var pe=.05,Qe=Ce*pe;ie=.05,de=.25;var we=new go.PathFigure(.5*a,.2*E,!0);return x.add(we),we.add(new go.PathSegment(go.PathSegment.Line,.95*a,.2*E)),ie=.95,de=.25,we.add(new go.PathSegment(go.PathSegment.Bezier,(ie+pe)*a,de*E,(ie+Qe)*a,(de-pe)*E,(ie+pe)*a,(de-Qe)*E)),we.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),we.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),we.add(new go.PathSegment(go.PathSegment.Line,.85*a,.35*E)),pe=.025,Qe=Ce*pe,ie=.825,de=.35,we.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de-pe)*E,(ie+pe)*a,(de-Qe)*E,(ie+Qe)*a,(de-pe)*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ie-pe)*a,de*E,(ie-Qe)*a,(de-pe)*E,(ie-pe)*a,(de-Qe)*E)),we.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),we.add(new go.PathSegment(go.PathSegment.Line,.55*a,E)),we.add(new go.PathSegment(go.PathSegment.Line,.55*a,.7*E)),pe=.05,Qe=Ce*pe,ie=.5,de=.7,we.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de-pe)*E,(ie+pe)*a,(de-Qe)*E,(ie+Qe)*a,(de-pe)*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ie-pe)*a,de*E,(ie-Qe)*a,(de-pe)*E,(ie-pe)*a,(de-Qe)*E)),we.add(new go.PathSegment(go.PathSegment.Line,.45*a,E)),we.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),we.add(new go.PathSegment(go.PathSegment.Line,.2*a,.35*E)),pe=.025,Qe=Ce*pe,ie=.175,de=.35,we.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de-pe)*E,(ie+pe)*a,(de-Qe)*E,(ie+Qe)*a,(de-pe)*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ie-pe)*a,de*E,(ie-Qe)*a,(de-pe)*E,(ie-pe)*a,(de-Qe)*E)),we.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E)),we.add(new go.PathSegment(go.PathSegment.Line,0,.6*E)),we.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),pe=.05,Qe=Ce*pe,ie=.05,de=.25,we.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de-pe)*E,(ie-pe)*a,(de-Qe)*E,(ie-Qe)*a,(de-pe)*E)),we.add(new go.PathSegment(go.PathSegment.Line,.5*a,.2*E)),x.spot1=new go.Spot(.2,.2),x.spot2=new go.Spot(.8,.65),x}),go.Shape.setFigureParameter("Card",0,new Ge("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(ue,a,E){var x=ue?ue.parameter1:NaN;isNaN(x)&&(x=.2);var y=new go.Geometry,b=new go.PathFigure(a,0,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,x*E)),b.add(new go.PathSegment(go.PathSegment.Line,x*a,0).close()),y.spot1=new go.Spot(0,x),y.spot2=go.Spot.BottomRight,y}),go.Shape.defineFigureGenerator("Collate",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,.5*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E));var b=new go.PathFigure(.5*a,.5*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,.25),x}),go.Shape.defineFigureGenerator("CreateRequest",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)&&(y=.1);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure(0,y*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,y*E)),z.add(new go.PathSegment(go.PathSegment.Move,0,(1-y)*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,(1-y)*E)),x}),go.Shape.defineFigureGenerator("Database",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=Ce*.1,z=new go.PathFigure(a,.1*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+b)*E,(.5+y)*a,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-y)*a,E,0,(.9+b)*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,(.1-b)*E,(.5-y)*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,(.5+y)*a,0,a,(.1-b)*E));var oe=new go.PathFigure(a,.1*E,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,a,(.1+b)*E,(.5+y)*a,.2*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*E,(.5-y)*a,.2*E,0,(.1+b)*E)),oe.add(new go.PathSegment(go.PathSegment.Move,a,.2*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,a,(.2+b)*E,(.5+y)*a,.3*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*E,(.5-y)*a,.3*E,0,(.2+b)*E)),oe.add(new go.PathSegment(go.PathSegment.Move,a,.3*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.4*E,a,(.3+b)*E,(.5+y)*a,.4*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*E,(.5-y)*a,.4*E,0,(.3+b)*E)),x.spot1=new go.Spot(0,.4),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("DataStorage",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,a,0,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.9*E,.25*a,.1*E).close()),x.spot1=new go.Spot(.226,0),x.spot2=new go.Spot(.81,1),x}),go.Shape.defineFigureGenerator("DiskStorage",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=Ce*.1,z=new go.PathFigure(a,.1*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+b)*E,(.5+y)*a,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-y)*a,E,0,(.9+b)*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,(.1-b)*E,(.5-y)*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,(.5+y)*a,0,a,(.1-b)*E));var oe=new go.PathFigure(a,.1*E,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,a,(.1+b)*E,(.5+y)*a,.2*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*E,(.5-y)*a,.2*E,0,(.1+b)*E)),oe.add(new go.PathSegment(go.PathSegment.Move,a,.2*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,a,(.2+b)*E,(.5+y)*a,.3*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*E,(.5-y)*a,.3*E,0,(.2+b)*E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("Display",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.25*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,a,0,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close()),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("DividedEvent",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)?y=.2:y<.15&&(y=.15);var b=Ce*.2,z=new go.PathFigure(0,.2*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,0,(.2-b)*E,(.2-b)*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.2*E,(.8+b)*a,0,a,(.2-b)*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,E,a,(.8+b)*E,(.8+b)*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*E,(.2-b)*a,E,0,(.8+b)*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.2*E));var oe=new go.PathFigure(0,y*E,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a,y*E)),x}),go.Shape.defineFigureGenerator("DividedProcess",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;(isNaN(y)||y<.1)&&(y=.1);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure(0,y*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,y*E)),x}),go.Shape.defineFigureGenerator("Document",function(ue,a,E){var x=new go.Geometry;E=E/.8;var y=new go.PathFigure(0,.7*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("ExternalOrganization",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;(isNaN(y)||y<.2)&&(y=.2);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure(y*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,y*E)),z.add(new go.PathSegment(go.PathSegment.Move,a,y*E)),z.add(new go.PathSegment(go.PathSegment.Line,(1-y)*a,0)),z.add(new go.PathSegment(go.PathSegment.Move,0,(1-y)*E)),z.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),z.add(new go.PathSegment(go.PathSegment.Move,(1-y)*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,a,(1-y)*E)),x}),go.Shape.defineFigureGenerator("ExternalProcess",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close());var b=new go.PathFigure(.1*a,.4*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Move,.9*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Move,.6*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Move,.4*a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.9*E)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("File",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var b=new go.PathFigure(.75*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Interrupt",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a,.5*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E));var b=new go.PathFigure(a,.5*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,E));var z=new go.PathFigure(a,.5*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("InternalStorage",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN,b=ue?ue.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var oe=new go.PathFigure(y*a,0,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),oe.add(new go.PathSegment(go.PathSegment.Move,0,b*E)),oe.add(new go.PathSegment(go.PathSegment.Line,a,b*E)),x}),go.Shape.defineFigureGenerator("Junction",function(ue,a,E){var x=new go.Geometry,y=1/Math.SQRT2,b=(1-1/Math.SQRT2)/2,z=Ce*.5,oe=.5,ie=new go.PathFigure(a,oe*E,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,oe*a,E,a,(oe+z)*E,(oe+z)*a,E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,oe*E,(oe-z)*a,E,0,(oe+z)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,oe*a,0,0,(oe-z)*E,(oe-z)*a,0)),ie.add(new go.PathSegment(go.PathSegment.Bezier,a,oe*E,(oe+z)*a,0,a,(oe-z)*E));var de=new go.PathFigure((b+y)*a,(b+y)*E,!1);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Line,b*a,b*E)),de.add(new go.PathSegment(go.PathSegment.Move,b*a,(b+y)*E)),de.add(new go.PathSegment(go.PathSegment.Line,(b+y)*a,b*E)),x}),go.Shape.defineFigureGenerator("LinedDocument",function(ue,a,E){var x=new go.Geometry;E=E/.8;var y=new go.PathFigure(0,.7*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close());var b=new go.PathFigure(.1*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.75*E)),x.spot1=new go.Spot(.1,0),x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("LoopLimit",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MagneticTape",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=.5,z=new go.PathFigure(.5*a,E,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,0,b*E,(b-y)*a,E,0,(b+y)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,b*a,0,0,(b-y)*E,(b-y)*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,b*E,(b+y)*a,0,a,(b-y)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,(b+.1)*a,.9*E,a,(b+y)*E,(b+y)*a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.15,.15),x.spot2=new go.Spot(.85,.8),x}),go.Shape.defineFigureGenerator("ManualInput",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*E).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MessageFromUser",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)&&(y=.7);var b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,y*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("MicroformProcessing",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)&&(y=.25);var b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,(1-y)*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("MicroformRecording",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("MultiDocument",function(ue,a,E){var x=new go.Geometry;E=E/.8;var y=new go.PathFigure(a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.44*E,.96*a,.47*E,.93*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.54*E,.86*a,.57*E,.83*a,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.4*a,.4*E,.4*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,0).close());var b=new go.PathFigure(.1*a,.2*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.54*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.44*E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.8,.77),x}),go.Shape.defineFigureGenerator("MultiProcess",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.1*a,.1*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E).close());var b=new go.PathFigure(.2*a,.1*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Move,.1*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.9*E)),x.spot1=new go.Spot(0,.2),x.spot2=new go.Spot(.8,1),x}),go.Shape.defineFigureGenerator("OfflineStorage",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)&&(y=.1);var b=1-y,z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close());var oe=new go.PathFigure(.5*y*a,y*E,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,(1-.5*y)*a,y*E)),x}),go.Shape.defineFigureGenerator("OffPageConnector",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("Or",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=.5,z=new go.PathFigure(a,b*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,b*a,E,a,(b+y)*E,(b+y)*a,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,b*E,(b-y)*a,E,0,(b+y)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,b*a,0,0,(b-y)*E,(b-y)*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,b*E,(b+y)*a,0,a,(b-y)*E));var oe=new go.PathFigure(a,.5*E,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*a,E)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),x}),go.Shape.defineFigureGenerator("PaperTape",function(ue,a,E){var x=new go.Geometry;E=E/.8;var y=new go.PathFigure(0,.7*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.3*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.3*E,.5*a,.6*E,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close()),x.spot1=new go.Spot(0,.49),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN,b=ue?ue.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(b)&&(b=.3);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN,b=ue?ue.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(b)&&(b=.3);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("Procedure",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)&&(y=.1);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure((1-y)*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,(1-y)*a,E)),z.add(new go.PathSegment(go.PathSegment.Move,y*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),x}),go.Shape.defineFigureGenerator("Process",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)&&(y=.1);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure(y*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Sort",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close());var b=new go.PathFigure(0,.5*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.5),x}),go.Shape.defineFigureGenerator("Start",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)&&(y=.25);var b=new go.PathFigure(y*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*a,.5*E,.25*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*a,.5*E,.25*a,.5*E));var z=new go.PathFigure(y*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),z.add(new go.PathSegment(go.PathSegment.Move,(1-y)*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,(1-y)*a,E)),x.spot1=new go.Spot(y,0),x.spot2=new go.Spot(1-y,1),x}),go.Shape.defineFigureGenerator("Terminator",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.25*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*a,.5*E,.25*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*a,.5*E,.25*a,.5*E)),x.spot1=new go.Spot(.23,0),x.spot2=new go.Spot(.77,1),x}),go.Shape.defineFigureGenerator("TransmittalTape",function(ue,a,E){var x=new go.Geometry,y=ue?ue.parameter1:NaN;isNaN(y)&&(y=.1);var b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,(1-y)*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,(1-y)*E).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("AndGate",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(.5+y)*a,0,a,(.5-y)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.5+y)*E,(.5+y)*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.55,1),x}),go.Shape.defineFigureGenerator("Buffer",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Clock",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=.5,z=new go.PathFigure(a,b*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,b*a,E,a,(b+y)*E,(b+y)*a,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,b*E,(b-y)*a,E,0,(b+y)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,b*a,0,0,(b-y)*E,(b-y)*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,b*E,(b+y)*a,0,a,(b-y)*E));var oe=new go.PathFigure(a,b*E,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a,b*E));var ie=new go.PathFigure(.8*a,.75*E,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,.8*a,.25*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.6*a,.25*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.6*a,.75*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.4*a,.75*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.4*a,.25*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*a,.25*E)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*a,.75*E)),x}),go.Shape.defineFigureGenerator("Ground",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Move,.3*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Move,.4*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,E)),x}),go.Shape.defineFigureGenerator("Inverter",function(ue,a,E){var x=new go.Geometry,y=Ce*.1,b=.1,z=.9,oe=.5,ie=new go.PathFigure(.8*a,.5*E,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,0,E)),ie.add(new go.PathSegment(go.PathSegment.Line,0,0)),ie.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E));var de=new go.PathFigure((z+b)*a,oe*E,!0);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+b)*E,(z+b)*a,(oe+y)*E,(z+y)*a,(oe+b)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(z-b)*a,oe*E,(z-y)*a,(oe+b)*E,(z-b)*a,(oe+y)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-b)*E,(z-b)*a,(oe-y)*E,(z-y)*a,(oe-b)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,oe*E,(z+y)*a,(oe-b)*E,(z+b)*a,(oe-y)*E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.4,.75),x}),go.Shape.defineFigureGenerator("NandGate",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=Ce*.4,z=Ce*.1,oe=.1,ie=.9,de=.5,ge=new go.PathFigure(.8*a,.5*E,!0);x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,E,.8*a,(.5+b)*E,(.4+y)*a,E)),ge.add(new go.PathSegment(go.PathSegment.Line,0,E)),ge.add(new go.PathSegment(go.PathSegment.Line,0,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(.4+y)*a,0,.8*a,(.5-b)*E));var pe=new go.PathFigure((ie+oe)*a,de*E,!0);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de+oe)*E,(ie+oe)*a,(de+z)*E,(ie+z)*a,(de+oe)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ie-oe)*a,de*E,(ie-z)*a,(de+oe)*E,(ie-oe)*a,(de+z)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de-oe)*E,(ie-oe)*a,(de-z)*E,(ie-z)*a,(de-oe)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ie+oe)*a,de*E,(ie+z)*a,(de-oe)*E,(ie+oe)*a,(de-z)*E)),x.spot1=new go.Spot(0,.05),x.spot2=new go.Spot(.55,.95),x}),go.Shape.defineFigureGenerator("NorGate",function(ue,a,E){var x=new go.Geometry,y=.5,b=Ce*y,z=0,oe=.5,ie=new go.PathFigure(.8*a,.5*E,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.7*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.75*E,.25*a,.25*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(z+b)*a,(oe-y)*E,.7*a,(oe-b)*E)),y=.1,b=Ce*.1,z=.9,oe=.5;var de=new go.PathFigure((z-y)*a,oe*E,!0);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-y)*E,(z-y)*a,(oe-b)*E,(z-b)*a,(oe-y)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(z+y)*a,oe*E,(z+b)*a,(oe-y)*E,(z+y)*a,(oe-b)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+y)*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(z-y)*a,oe*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E)),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.6,.75),x}),go.Shape.defineFigureGenerator("OrGate",function(ue,a,E){var x=new go.Geometry,y=.5,b=Ce*y,z=0,oe=.5,ie=new go.PathFigure(0,0,!0);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(z+b+b)*a,(oe-y)*E,.8*a,(oe-b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.8*a,(oe+b)*E,(z+b+b)*a,(oe+y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.75*E,.25*a,.25*E).close()),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("XnorGate",function(ue,a,E){var x=new go.Geometry,y=.5,b=Ce*y,z=.2,oe=.5,ie=new go.PathFigure(.1*a,0,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,E,.35*a,.25*E,.35*a,.75*E));var de=new go.PathFigure(.8*a,.5*E,!0);x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,E,.7*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,.45*a,.75*E,.45*a,.25*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(z+b)*a,(oe-y)*E,.7*a,(oe-b)*E)),y=.1,b=Ce*.1,z=.9,oe=.5;var ge=new go.PathFigure((z-y)*a,oe*E,!0);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-y)*E,(z-y)*a,(oe-b)*E,(z-b)*a,(oe-y)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(z+y)*a,oe*E,(z+b)*a,(oe-y)*E,(z+y)*a,(oe-b)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+y)*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(z-y)*a,oe*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E)),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.65,.75),x}),go.Shape.defineFigureGenerator("XorGate",function(ue,a,E){var x=new go.Geometry,y=.5,b=Ce*y,z=.2,oe=.5,ie=new go.PathFigure(.1*a,0,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,E,.35*a,.25*E,.35*a,.75*E));var de=new go.PathFigure(.2*a,0,!0);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(z+b)*a,(oe-y)*E,.9*a,(oe-b)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,E,.9*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,.45*a,.75*E,.45*a,.25*E).close()),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.8,.75),x}),go.Shape.defineFigureGenerator("Capacitor",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("Resistor",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,.5*E)),x}),go.Shape.defineFigureGenerator("Inductor",function(ue,a,E){var x=new go.Geometry,y=Ce*.1,b=.1,z=.1,oe=.5,ie=new go.PathFigure((z-y*.5)*a,E,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,0,(z-y)*a,E,(z-b)*a,0)),z=.3,ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,E,(z+b)*a,0,(z+y)*a,E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,0,(z-y)*a,E,(z-b)*a,0)),z=.5,ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,E,(z+b)*a,0,(z+y)*a,E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,0,(z-y)*a,E,(z-b)*a,0)),z=.7,ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,E,(z+b)*a,0,(z+y)*a,E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,0,(z-y)*a,E,(z-b)*a,0)),z=.9,ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+y*.5)*a,E,(z+b)*a,0,(z+y)*a,E)),x}),go.Shape.defineFigureGenerator("ACvoltageSource",function(ue,a,E){var x=new go.Geometry,y=Ce*.5,b=.5,z=.5,oe=.5,ie=new go.PathFigure((z-b)*a,oe*E,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-b)*E,(z-b)*a,(oe-y)*E,(z-y)*a,(oe-b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,oe*E,(z+y)*a,(oe-b)*E,(z+b)*a,(oe-y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+b)*E,(z+b)*a,(oe+y)*E,(z+y)*a,(oe+b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z-b)*a,oe*E,(z-y)*a,(oe+b)*E,(z-b)*a,(oe+y)*E)),ie.add(new go.PathSegment(go.PathSegment.Move,(z-b+.1)*a,oe*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+b-.1)*a,oe*E,z*a,(oe-b)*E,z*a,(oe+b)*E)),x}),go.Shape.defineFigureGenerator("DCvoltageSource",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.75*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),y.add(new go.PathSegment(go.PathSegment.Move,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("Diode",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Wifi",function(ue,a,E){var x=new go.Geometry,y=a,b=E;a=a*.38,E=E*.6;var z=Ce*.8,oe=.8,ie=0,de=.5,ge=(y-a)/2,pe=(b-E)/2,Qe=new go.PathFigure(ie*a+ge,(de+oe)*E+pe,!0);x.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(ie-oe)*a+ge,de*E+pe,(ie-z)*a+ge,(de+oe)*E+pe,(ie-oe)*a+ge,(de+z)*E+pe)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de-oe)*E+pe,(ie-oe)*a+ge,(de-z)*E+pe,(ie-z)*a+ge,(de-oe)*E+pe)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(ie-oe+z*.5)*a+ge,de*E+pe,ie*a+ge,(de-oe)*E+pe,(ie-oe+z*.5)*a+ge,(de-z)*E+pe)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de+oe)*E+pe,(ie-oe+z*.5)*a+ge,(de+z)*E+pe,ie*a+ge,(de+oe)*E+pe).close()),z=Ce*.4,oe=.4,ie=.2,de=.5;var we=new go.PathFigure(ie*a+ge,(de+oe)*E+pe,!0);x.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,(ie-oe)*a+ge,de*E+pe,(ie-z)*a+ge,(de+oe)*E+pe,(ie-oe)*a+ge,(de+z)*E+pe)),we.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de-oe)*E+pe,(ie-oe)*a+ge,(de-z)*E+pe,(ie-z)*a+ge,(de-oe)*E+pe)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ie-oe+z*.5)*a+ge,de*E+pe,ie*a+ge,(de-oe)*E+pe,(ie-oe+z*.5)*a+ge,(de-z)*E+pe)),we.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de+oe)*E+pe,(ie-oe+z*.5)*a+ge,(de+z)*E+pe,ie*a+ge,(de+oe)*E+pe).close()),z=Ce*.2,oe=.2,ie=.5,de=.5;var Ke=new go.PathFigure((ie-oe)*a+ge,de*E+pe,!0);x.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de-oe)*E+pe,(ie-oe)*a+ge,(de-z)*E+pe,(ie-z)*a+ge,(de-oe)*E+pe)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(ie+oe)*a+ge,de*E+pe,(ie+z)*a+ge,(de-oe)*E+pe,(ie+oe)*a+ge,(de-z)*E+pe)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de+oe)*E+pe,(ie+oe)*a+ge,(de+z)*E+pe,(ie+z)*a+ge,(de+oe)*E+pe)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(ie-oe)*a+ge,de*E+pe,(ie-z)*a+ge,(de+oe)*E+pe,(ie-oe)*a+ge,(de+z)*E+pe)),z=Ce*.4,oe=.4,ie=.8,de=.5;var Ye=new go.PathFigure(ie*a+ge,(de-oe)*E+pe,!0);x.add(Ye),Ye.add(new go.PathSegment(go.PathSegment.Bezier,(ie+oe)*a+ge,de*E+pe,(ie+z)*a+ge,(de-oe)*E+pe,(ie+oe)*a+ge,(de-z)*E+pe)),Ye.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de+oe)*E+pe,(ie+oe)*a+ge,(de+z)*E+pe,(ie+z)*a+ge,(de+oe)*E+pe)),Ye.add(new go.PathSegment(go.PathSegment.Bezier,(ie+oe-z*.5)*a+ge,de*E+pe,ie*a+ge,(de+oe)*E+pe,(ie+oe-z*.5)*a+ge,(de+z)*E+pe)),Ye.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de-oe)*E+pe,(ie+oe-z*.5)*a+ge,(de-z)*E+pe,ie*a+ge,(de-oe)*E+pe).close()),z=Ce*.8,oe=.8,ie=1,de=.5;var st=new go.PathFigure(ie*a+ge,(de-oe)*E+pe,!0);return x.add(st),st.add(new go.PathSegment(go.PathSegment.Bezier,(ie+oe)*a+ge,de*E+pe,(ie+z)*a+ge,(de-oe)*E+pe,(ie+oe)*a+ge,(de-z)*E+pe)),st.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de+oe)*E+pe,(ie+oe)*a+ge,(de+z)*E+pe,(ie+z)*a+ge,(de+oe)*E+pe)),st.add(new go.PathSegment(go.PathSegment.Bezier,(ie+oe-z*.5)*a+ge,de*E+pe,ie*a+ge,(de+oe)*E+pe,(ie+oe-z*.5)*a+ge,(de+z)*E+pe)),st.add(new go.PathSegment(go.PathSegment.Bezier,ie*a+ge,(de-oe)*E+pe,(ie+oe-z*.5)*a+ge,(de-z)*E+pe,ie*a+ge,(de-oe)*E+pe).close()),x}),go.Shape.defineFigureGenerator("Email",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Move,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.54*E)),b.add(new go.PathSegment(go.PathSegment.Move,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.55*a,.54*E)),x}),go.Shape.defineFigureGenerator("Ethernet",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.35*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,0).close());var b=new go.PathFigure(.1*a,E,!0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,E).close());var z=new go.PathFigure(.6*a,E,!0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,E).close());var oe=new go.PathFigure(0,.5*E,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*a,.5*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),oe.add(new go.PathSegment(go.PathSegment.Move,.75*a,.5*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.75*a,.6*E)),oe.add(new go.PathSegment(go.PathSegment.Move,.25*a,.5*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.25*a,.6*E)),x}),go.Shape.defineFigureGenerator("Power",function(ue,a,E){var x=new go.Geometry,y=Ce*.4,b=.4,z=.5,oe=.5,ie=ee(),de=ee(),ge=ee(),pe=ee();ye(z,oe-b,z+y,oe-b,z+b,oe-y,z+b,oe,.5,ie,ie,de,ge,pe);var Qe=re(de.x,de.y),we=new go.PathFigure(de.x*a,de.y*E,!0);x.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,oe*E,ge.x*a,ge.y*E,pe.x*a,pe.y*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+b)*E,(z+b)*a,(oe+y)*E,(z+y)*a,(oe+b)*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,(z-b)*a,oe*E,(z-y)*a,(oe+b)*E,(z-b)*a,(oe+y)*E)),ye(z-b,oe,z-b,oe-y,z-y,oe-b,z,oe-b,.5,ge,pe,de,ie,ie),we.add(new go.PathSegment(go.PathSegment.Bezier,de.x*a,de.y*E,ge.x*a,ge.y*E,pe.x*a,pe.y*E)),y=Ce*.3,b=.3,ye(z-b,oe,z-b,oe-y,z-y,oe-b,z,oe-b,.5,ge,pe,de,ie,ie),we.add(new go.PathSegment(go.PathSegment.Line,de.x*a,de.y*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,(z-b)*a,oe*E,pe.x*a,pe.y*E,ge.x*a,ge.y*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+b)*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,(z+b)*a,oe*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),ye(z,oe-b,z+y,oe-b,z+b,oe-y,z+b,oe,.5,ie,ie,de,ge,pe),we.add(new go.PathSegment(go.PathSegment.Bezier,de.x*a,de.y*E,pe.x*a,pe.y*E,ge.x*a,ge.y*E).close());var we=new go.PathFigure(.45*a,0,!0);return x.add(we),we.add(new go.PathSegment(go.PathSegment.Line,.45*a,.5*E)),we.add(new go.PathSegment(go.PathSegment.Line,.55*a,.5*E)),we.add(new go.PathSegment(go.PathSegment.Line,.55*a,0).close()),xe(ie),xe(de),xe(ge),xe(pe),xe(Qe),x.spot1=new go.Spot(.25,.45),x.spot2=new go.Spot(.75,.8),x}),go.Shape.defineFigureGenerator("Fallout",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E/2,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,180,360,a/2,E/2,a/2,E/2));function b(z,oe,ie){z.add(new go.PathSegment(go.PathSegment.Move,(.3+oe)*a,(.8+ie)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+oe)*a,(.5+ie)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(.1+oe)*a,(.5+ie)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(.3+oe)*a,(.8+ie)*E).close())}return b(y,0,0),b(y,.4,0),b(y,.2,-.3),x}),go.Shape.defineFigureGenerator("IrritationHazard",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.2*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.3*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*E).close()),x.spot1=new go.Spot(.3,.3),x.spot2=new go.Spot(.7,.7),x}),go.Shape.defineFigureGenerator("ElectricalHazard",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.37*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.11*E)),y.add(new go.PathSegment(go.PathSegment.Line,.77*a,.04*E)),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,.49*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.37*E)),y.add(new go.PathSegment(go.PathSegment.Line,.63*a,.86*E)),y.add(new go.PathSegment(go.PathSegment.Line,.77*a,.91*E)),y.add(new go.PathSegment(go.PathSegment.Line,.34*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.34*a,.78*E)),y.add(new go.PathSegment(go.PathSegment.Line,.44*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,.56*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.68*E).close()),x}),go.Shape.defineFigureGenerator("FireHazard",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.1*a,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.29*a,0,-.25*a,.63*E,.45*a,.44*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.51*a,.42*E,.48*a,.17*E,.54*a,.35*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.59*a,.18*E,.59*a,.29*E,.58*a,.28*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,.6*E,.8*a,.34*E,.88*a,.43*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.88*a,.31*E,.87*a,.48*E,.88*a,.43*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,E,1.17*a,.76*E,.82*a,.8*E).close()),x.spot1=new go.Spot(.07,.445),x.spot2=new go.Spot(.884,.958),x}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(ue,a,E){var x=new go.Geometry,y=.5,b=0,z=0,oe=y*Ce,ie=.4*Math.SQRT2/2+.5,de=.5-.5*Math.SQRT2/2,ge=1,pe=.5,Qe=.5,we=0,Ke=new go.PathFigure(ie*a,(1-de)*E,!1);return x.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,ge*a,pe*E,ge*a,.7*E,ge*a,pe*E)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Qe+b)*a,(we+b)*E,(.5+y+b)*a,(.5-oe+b)*E,(.5+oe+b)*a,(.5-y+b)*E)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+b)*a,(.5+z)*E,(.5-oe+b)*a,(.5-y+z)*E,(.5-y+b)*a,(.5-oe+z)*E)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(.35+b)*a,.9*E,(.5-y+b)*a,(.5+oe+z)*E,(.5-oe+b)*a,.9*E)),Ke.add(new go.PathSegment(go.PathSegment.Move,(.25+b)*a,.8*E)),Ke.add(new go.PathSegment(go.PathSegment.Line,(.35+b)*a,.9*E)),Ke.add(new go.PathSegment(go.PathSegment.Line,(.2+b)*a,.95*E)),x}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Move,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Move,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Move,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var b=new go.PathFigure(a,E,!1);x.add(b);var z=new go.PathFigure(0,.5*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.5*E,.2*a,.35*E,.3*a,.35*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.7*a,.65*E,.8*a,.65*E)),x}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close()),x}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.2*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E).close());var y=new go.PathFigure(0,.2*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),x}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.7*a,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,0,.6*a,.5*E,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,E,.4*a,.5*E,a,.5*E).close());var b=new go.PathFigure(.45*a,.73*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.73*E)),b.add(new go.PathSegment(go.PathSegment.Move,.38*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.63*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Move,.31*a,.27*E)),b.add(new go.PathSegment(go.PathSegment.Line,.56*a,.27*E)),x}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var b=new go.PathFigure(.335*a,(1-.555)*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.335*a,(1-.405)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.405)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.555)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.68*E,(1-.12)*a,.46*E,(1-.02)*a,.54*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.68*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.335*a,(1-.555)*E,.02*a,.54*E,.12*a,.46*E)),b.add(new go.PathSegment(go.PathSegment.Line,.365*a,(1-.595)*E));var z=.5-.285,oe=.5,ie=z,de=Math.PI/4,ge=4*(1-Math.cos(de))/(3*Math.sin(de)),pe=ge*.5,Qe=z,we=z,Ke=ge*Qe,Ye=ge*we;b.add(new go.PathSegment(go.PathSegment.Bezier,(oe-Qe)*a,ie*E,(oe-(Ke+Qe)/2)*a,(ie+(we+Ye)/2)*E,(oe-Qe)*a,(ie+Ye)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,oe*a,(ie-we)*E,(oe-Qe)*a,(ie-Ye)*E,(oe-Ke)*a,(ie-we)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(oe+Qe)*a,ie*E,(oe+Ke)*a,(ie-we)*E,(oe+Qe)*a,(ie-Ye)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*a,(1-.595)*E,(oe+Qe)*a,(ie+Ye)*E,(oe+(Ke+Qe)/2)*a,(ie+(we+Ye)/2)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*a,(1-.595)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.555)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.405)*E)),b.add(new go.PathSegment(go.PathSegment.Line,.335*a,(1-.405)*E));var st=new go.PathFigure(.2*a,E,!1);x.add(st),st.add(new go.PathSegment(go.PathSegment.Line,.2*a,.8*E));var Ut=new go.PathFigure(.8*a,E,!1);return x.add(Ut),Ut.add(new go.PathSegment(go.PathSegment.Line,.8*a,.8*E)),x}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.1*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,E).close());var b=new go.PathFigure(.2*a,.2*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.8*E)),x}),go.Shape.defineFigureGenerator("BpmnEventError",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var b=new go.PathFigure(a,E,!1);x.add(b);var z=new go.PathFigure(.1*a,E,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("Caution",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.05*a,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,.8*E,0,E,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.45*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.1*E,.5*a,0,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.95*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,E,a,E,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.05*a,E));var b=.05;return y.add(new go.PathSegment(go.PathSegment.Move,(.5-b)*a,.875*E)),y.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*a,.875*E,b*a,b*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.325*E,.575*a,.725*E,.625*a,.375*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.75*E,.375*a,.375*E,.425*a,.725*E)),x}),go.Shape.defineFigureGenerator("Recycle",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.45*a,.95*E,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.185*a,.85*E,.17*a,.95*E,.15*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.235*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,.625*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,.65*E)),y.add(new go.PathSegment(go.PathSegment.Line,.275*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.05*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.05*a,.575*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.1875*a,.95*E,0,.675*E,0,.7*E)),y.add(new go.PathSegment(go.PathSegment.Move,.45*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Line,.45*a,.775*E)),y.add(new go.PathSegment(go.PathSegment.Line,.22*a,.775*E));var b=new go.PathFigure(.475*a,.2*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.225*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,.275*a,.175*E)),b.add(new go.PathSegment(go.PathSegment.Line,.325*a,.05*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,.05*E,.35*a,0,.375*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.575*a,.375*E)),b.add(new go.PathSegment(go.PathSegment.Line,.525*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.475*E)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,.315*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.32*E)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.05*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.575*a,0,.65*a,.05*E,.625*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.38*a,.0105*E));var z=new go.PathFigure(.675*a,.575*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.875*a,.525*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.775*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.85*a,.95*E,a,.8*E,a,.85*E)),z.add(new go.PathSegment(go.PathSegment.Line,.65*a,.95*E)),z.add(new go.PathSegment(go.PathSegment.Line,.65*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.85*E)),z.add(new go.PathSegment(go.PathSegment.Line,.65*a,.725*E)),z.add(new go.PathSegment(go.PathSegment.Line,.65*a,.775*E)),z.add(new go.PathSegment(go.PathSegment.Line,.7*a,.775*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.775*E)),z.add(new go.PathSegment(go.PathSegment.Move,.675*a,.575*E)),z.add(new go.PathSegment(go.PathSegment.Line,.775*a,.775*E)),x}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(ue,a,E){var x=new go.Geometry,y=.5,b=Ce*.5,z=new go.PathFigure(a,y*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,y*a,E,a,(y+b)*E,(y+b)*a,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,y*E,(y-b)*a,E,0,(y+b)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,y*a,0,0,(y-b)*E,(y-b)*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,y*E,(y+b)*a,0,a,(y-b)*E));var oe=new go.PathFigure(y*a,0,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,y*a,.15*E)),oe.add(new go.PathSegment(go.PathSegment.Move,y*a,E)),oe.add(new go.PathSegment(go.PathSegment.Line,y*a,.85*E)),oe.add(new go.PathSegment(go.PathSegment.Move,0,y*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.15*a,y*E)),oe.add(new go.PathSegment(go.PathSegment.Move,a,y*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.85*a,y*E)),oe.add(new go.PathSegment(go.PathSegment.Move,y*a,y*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.58*a,.1*E)),oe.add(new go.PathSegment(go.PathSegment.Move,y*a,y*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.78*a,.54*E)),x}),go.Shape.defineFigureGenerator("Package",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.15*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var b=new go.PathFigure(0,.15*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.15*E).close()),x.spot1=new go.Spot(0,.1),x.spot2=new go.Spot(1,1),x}),go.Shape.defineFigureGenerator("Class",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var b=new go.PathFigure(0,.2*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*E).close());var z=new go.PathFigure(0,.5*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.5*E).close()),x}),go.Shape.defineFigureGenerator("Component",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E).close());var b=new go.PathFigure(0,.2*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*E).close());var z=new go.PathFigure(0,.6*E,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.45*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.45*a,.8*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.6*E).close()),x}),go.Shape.defineFigureGenerator("Boat Shipment",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.15*a,.6*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.85*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E));var b=new go.PathFigure(.15*a,.6*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),x}),go.Shape.defineFigureGenerator("Customer/Supplier",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*a,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,.66*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x}),go.Shape.defineFigureGenerator("Workcell",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("Supermarket",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.33*E)),y.add(new go.PathSegment(go.PathSegment.Move,a,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.66*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.66*E)),y.add(new go.PathSegment(go.PathSegment.Move,a,.66*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),x}),go.Shape.defineFigureGenerator("TruckShipment",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var b=new go.PathFigure(a,.8*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*E).close());var z=.1,oe=Ce*.1,ie=.2,de=.9,ge=new go.PathFigure((ie-z)*a,de*E,!0);x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de-z)*E,(ie-z)*a,(de-oe)*E,(ie-oe)*a,(de-z)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ie+z)*a,de*E,(ie+oe)*a,(de-z)*E,(ie+z)*a,(de-oe)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de+z)*E,(ie+z)*a,(de+oe)*E,(ie+oe)*a,(de+z)*E)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ie-z)*a,de*E,(ie-oe)*a,(de+z)*E,(ie-z)*a,(de+oe)*E).close()),z=.1,oe=Ce*.1,ie=.8,de=.9;var pe=new go.PathFigure((ie-z)*a,de*E,!0);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de-z)*E,(ie-z)*a,(de-oe)*E,(ie-oe)*a,(de-z)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ie+z)*a,de*E,(ie+oe)*a,(de-z)*E,(ie+z)*a,(de-oe)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,ie*a,(de+z)*E,(ie+z)*a,(de+oe)*E,(ie+oe)*a,(de+z)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ie-z)*a,de*E,(ie-oe)*a,(de+z)*E,(ie-z)*a,(de+oe)*E).close()),x}),go.Shape.defineFigureGenerator("KanbanPost",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.2*a,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),x}),go.Shape.defineFigureGenerator("Forklift",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0));var b=new go.PathFigure(0,.5*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var z=new go.PathFigure(.5*a,.8*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.1*E)),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.1*E)),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.8*E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.8*E));var oe=new go.PathFigure(.5*a,.7*E,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a,.7*E));var ie=.1,de=Ce*.1,ge=.1,pe=.9,Qe=new go.PathFigure((ge-ie)*a,pe*E,!0);x.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,ge*a,(pe-ie)*E,(ge-ie)*a,(pe-de)*E,(ge-de)*a,(pe-ie)*E)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(ge+ie)*a,pe*E,(ge+de)*a,(pe-ie)*E,(ge+ie)*a,(pe-de)*E)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,ge*a,(pe+ie)*E,(ge+ie)*a,(pe+de)*E,(ge+de)*a,(pe+ie)*E)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(ge-ie)*a,pe*E,(ge-de)*a,(pe+ie)*E,(ge-ie)*a,(pe+de)*E)),ie=.1,de=Ce*.1,ge=.4,pe=.9;var we=new go.PathFigure((ge-ie)*a,pe*E,!0);return x.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,ge*a,(pe-ie)*E,(ge-ie)*a,(pe-de)*E,(ge-de)*a,(pe-ie)*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ge+ie)*a,pe*E,(ge+de)*a,(pe-ie)*E,(ge+ie)*a,(pe-de)*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,ge*a,(pe+ie)*E,(ge+ie)*a,(pe+de)*E,(ge+de)*a,(pe+ie)*E)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ge-ie)*a,pe*E,(ge-de)*a,(pe+ie)*E,(ge-ie)*a,(pe+de)*E)),x}),go.Shape.defineFigureGenerator("RailShipment",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.1*a,.4*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.45*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.45*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.4*E).close());var b=new go.PathFigure(.45*a,.7*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.55*a,.7*E));var z=new go.PathFigure(.55*a,.4*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.4*E).close());var ge=.05,pe=Ce*.05,Qe=.175,we=.95,oe=new go.PathFigure((Qe-ge)*a,we*E,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,Qe*a,(we-ge)*E,(Qe-ge)*a,(we-pe)*E,(Qe-pe)*a,(we-ge)*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(Qe+ge)*a,we*E,(Qe+pe)*a,(we-ge)*E,(Qe+ge)*a,(we-pe)*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,Qe*a,(we+ge)*E,(Qe+ge)*a,(we+pe)*E,(Qe+pe)*a,(we+ge)*E)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(Qe-ge)*a,we*E,(Qe-pe)*a,(we+ge)*E,(Qe-ge)*a,(we+pe)*E));var ge=.05,pe=Ce*.05,Qe=.375,we=.95,ie=new go.PathFigure((Qe-ge)*a,we*E,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,Qe*a,(we-ge)*E,(Qe-ge)*a,(we-pe)*E,(Qe-pe)*a,(we-ge)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(Qe+ge)*a,we*E,(Qe+pe)*a,(we-ge)*E,(Qe+ge)*a,(we-pe)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,Qe*a,(we+ge)*E,(Qe+ge)*a,(we+pe)*E,(Qe+pe)*a,(we+ge)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(Qe-ge)*a,we*E,(Qe-pe)*a,(we+ge)*E,(Qe-ge)*a,(we+pe)*E));var ge=.05,pe=Ce*.05,Qe=.625,we=.95,de=new go.PathFigure((Qe-ge)*a,we*E,!0);x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,Qe*a,(we-ge)*E,(Qe-ge)*a,(we-pe)*E,(Qe-pe)*a,(we-ge)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(Qe+ge)*a,we*E,(Qe+pe)*a,(we-ge)*E,(Qe+ge)*a,(we-pe)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,Qe*a,(we+ge)*E,(Qe+ge)*a,(we+pe)*E,(Qe+pe)*a,(we+ge)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(Qe-ge)*a,we*E,(Qe-pe)*a,(we+ge)*E,(Qe-ge)*a,(we+pe)*E));var ge=.05,pe=Ce*.05,Qe=.825,we=.95,Ke=new go.PathFigure((Qe-ge)*a,we*E,!0);x.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,Qe*a,(we-ge)*E,(Qe-ge)*a,(we-pe)*E,(Qe-pe)*a,(we-ge)*E)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Qe+ge)*a,we*E,(Qe+pe)*a,(we-ge)*E,(Qe+ge)*a,(we-pe)*E)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,Qe*a,(we+ge)*E,(Qe+ge)*a,(we+pe)*E,(Qe+pe)*a,(we+ge)*E)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Qe-ge)*a,we*E,(Qe-pe)*a,(we+ge)*E,(Qe-ge)*a,(we+pe)*E).close());var Ye=new go.PathFigure(0,E,!1);return x.add(Ye),Ye.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x}),go.Shape.defineFigureGenerator("Warehouse",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var b=new go.PathFigure(0,.2*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*E).close());var z=new go.PathFigure(.15*a,E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.15*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.15*a,E).close());var oe=.05,ie=Ce*.05,de=.35,ge=.775,pe=new go.PathFigure((de-oe)*a,ge*E,!0);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,de*a,(ge-oe)*E,(de-oe)*a,(ge-ie)*E,(de-ie)*a,(ge-oe)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(de+oe)*a,ge*E,(de+ie)*a,(ge-oe)*E,(de+oe)*a,(ge-ie)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,de*a,(ge+oe)*E,(de+oe)*a,(ge+ie)*E,(de+ie)*a,(ge+oe)*E)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(de-oe)*a,ge*E,(de-ie)*a,(ge+oe)*E,(de-oe)*a,(ge+ie)*E).close()),x}),go.Shape.defineFigureGenerator("ControlCenter",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,.1*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E).close()),x}),go.Shape.defineFigureGenerator("Bluetooth",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.75*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),x}),go.Shape.defineFigureGenerator("Bookmark",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),x}),go.Shape.defineFigureGenerator("Bookmark",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),x}),go.Shape.defineFigureGenerator("Globe",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Move,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.75*a,0,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,.75*E,.75*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.25*a,E,0,.75*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,.25*E,.25*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,.15*a,.25*E,.15*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.85*a,.75*E,.85*a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Move,.1675*a,.15*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8325*a,.15*E,.35*a,.3*E,.65*a,.3*E)),y.add(new go.PathSegment(go.PathSegment.Move,.1675*a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8325*a,.85*E,.35*a,.7*E,.65*a,.7*E)),x}),go.Shape.defineFigureGenerator("Wave",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.25*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.25*E,.1*a,0,.2*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,.25*E,.425*a,.5*E,.575*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.25*E,.8*a,0,.9*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Move,0,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.75*E,.1*a,.5*E,.2*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,.75*E,.425*a,E,.575*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.75*E,.8*a,.5*E,.9*a,.5*E)),x}),go.Shape.defineFigureGenerator("Operator",function(ue,a,E){var x=new go.Geometry,y=.3,b=Ce*.3,z=.5,oe=.7,ie=new go.PathFigure((z-y)*a,oe*E,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-y)*E,(z-y)*a,(oe-b)*E,(z-b)*a,(oe-y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+y)*a,oe*E,(z+b)*a,(oe-y)*E,(z+y)*a,(oe-b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+y)*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z-y)*a,oe*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E));var de=new go.PathFigure(0,.7*E,!1);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,a,.7*E,0,0,a,0)),x}),go.Shape.defineFigureGenerator("TripleFanBlades",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.65*a,.3*E,.65*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.35*a,.5*E,.35*a,.3*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.65*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.3*a,.6*E,.1*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.2*a,E,.35*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.65*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,E,.7*a,.6*E,.9*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.8*a,E,.65*a,.95*E)),x}),go.Shape.defineFigureGenerator("CentrifugalPump",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,0,.075*E,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,E,0,E,.4*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.4*E,.8*a,E,.85*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),x}),go.Shape.defineFigureGenerator("Battery",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,.4*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.1*E));var b=new go.PathFigure(0,.6*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Move,0,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),x}),go.Shape.defineFigureGenerator("Delete",function(ue,a,E){var x=new go.Geometry,y=.5,b=Ce*.5,z=.5,oe=.5,ie=new go.PathFigure((z-y)*a,oe*E,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-y)*E,(z-y)*a,(oe-b)*E,(z-b)*a,(oe-y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+y)*a,oe*E,(z+b)*a,(oe-y)*E,(z+y)*a,(oe-b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+y)*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z-y)*a,oe*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E));var de=new go.PathFigure(.15*a,.5*E,!1);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.85*a,.5*E)),x}),go.Shape.defineFigureGenerator("Flag",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.1*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,0,.1*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.1*E,.15*a,0,.35*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,.65*a,.2*E,.85*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.5*E,.85*a,.6*E,.65*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.35*a,.4*E,.15*a,.4*E).close()),x}),go.Shape.defineFigureGenerator("Help",function(ue,a,E){var x=new go.Geometry,y=.5,b=Ce*.5,z=.5,oe=.5,ie=new go.PathFigure((z-y)*a,oe*E,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-y)*E,(z-y)*a,(oe-b)*E,(z-b)*a,(oe-y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z+y)*a,oe*E,(z+b)*a,(oe-y)*E,(z+y)*a,(oe-b)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+y)*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(z-y)*a,oe*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E).close()),y=.05,b=Ce*.05,z=.5,oe=.8;var de=new go.PathFigure((z-y)*a,oe*E,!1);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe-y)*E,(z-y)*a,(oe-b)*E,(z-b)*a,(oe-y)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(z+y)*a,oe*E,(z+b)*a,(oe-y)*E,(z+y)*a,(oe-b)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,z*a,(oe+y)*E,(z+y)*a,(oe+b)*E,(z+b)*a,(oe+y)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(z-y)*a,oe*E,(z-b)*a,(oe+y)*E,(z-y)*a,(oe+b)*E).close()),de.add(new go.PathSegment(go.PathSegment.Move,.5*a,.7*E)),de.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,.75*a,.475*E,.75*a,.225*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.35*E,.4*a,.2*E,.3*a,.25*E)),x}),go.Shape.defineFigureGenerator("Location",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,E,!0).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.975*a,.025*E,.5*a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*a,.5*E,.5*a,0,.025*a,.025*E).close()).add(new go.PathSegment(go.PathSegment.Move,.5*a,.2*E)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*a,.3*E,.1*a,.1*E).close()))}),go.Shape.defineFigureGenerator("Lock",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var b=new go.PathFigure(.2*a,.5*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.3*E,.25*a,0,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.3*E)),x}),go.Shape.defineFigureGenerator("Unlocked",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var b=new go.PathFigure(.2*a,.5*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.3*E,.25*a,0,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.35*E)),x}),go.Shape.defineFigureGenerator("Gear",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(.9375*a,.56246875*E,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Line,.80621875*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Bezier,.763*a,.3316875*E,.79840625*a,.39915625*E,.7834375*a,.3635*E)).add(new go.PathSegment(go.PathSegment.Line,.8566875*a,.23796875*E)).add(new go.PathSegment(go.PathSegment.Line,.76825*a,.14959375*E)).add(new go.PathSegment(go.PathSegment.Line,.67596875*a,.24184375*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*a,.19378125*E,.64228125*a,.2188125*E,.603875*a,.2021875*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.0625*E)).add(new go.PathSegment(go.PathSegment.Line,.4375*a,.0625*E)).add(new go.PathSegment(go.PathSegment.Line,.4375*a,.19378125*E)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*a,.239375*E,.39759375*a,.20190625*E,.36053125*a,.2176875*E)).add(new go.PathSegment(go.PathSegment.Line,.2379375*a,.14959375*E)).add(new go.PathSegment(go.PathSegment.Line,.14953125*a,.2379375*E)).add(new go.PathSegment(go.PathSegment.Line,.23934375*a,.3278125*E)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*a,.4375*E,.21765625*a,.36059375*E,.201875*a,.397625*E)).add(new go.PathSegment(go.PathSegment.Line,.0625*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Line,.0625*a,.5625*E)).add(new go.PathSegment(go.PathSegment.Line,.1938125*a,.5625*E)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*a,.67596875*E,.20221875*a,.603875*E,.21884375*a,.64228125*E)).add(new go.PathSegment(go.PathSegment.Line,.1495625*a,.76825*E)).add(new go.PathSegment(go.PathSegment.Line,.238*a,.8566875*E)).add(new go.PathSegment(go.PathSegment.Line,.3316875*a,.76296875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*a,.80621875*E,.36353125*a,.78340625*E,.3991875*a,.79840625*E)).add(new go.PathSegment(go.PathSegment.Line,.43753125*a,.9375*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.9375*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.80621875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*a,.760625*E,.602375*a,.79809375*E,.63946875*a,.78234375*E)).add(new go.PathSegment(go.PathSegment.Line,.76828125*a,.8566875*E)).add(new go.PathSegment(go.PathSegment.Line,.85671875*a,.76825*E)).add(new go.PathSegment(go.PathSegment.Line,.76065625*a,.67221875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*a,.56246875*E,.78234375*a,.63940625*E,.798125*a,.602375*E)).add(new go.PathSegment(go.PathSegment.Line,.9375*a,.56246875*E).close()).add(new go.PathSegment(go.PathSegment.Move,.5*a,.6*E)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*a,.5*E,.1*a,.1*E).close()))}),go.Shape.defineFigureGenerator("Hand",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,.3*E,0,.375*E,.05*a,.325*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.45*a,.075*E,.3*a,.225*E,.4*a,.175*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.525*a,.075*E,.46*a,.05*E,.525*a,.05*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.4*E,.525*a,.275*E,.475*a,.325*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.55*E,a,.4*E,a,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,.425*a,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.55*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.6*a,.7*E,.675*a,.55*E,.675*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,.575*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.575*a,.85*E,.65*a,.7*E,.65*a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,.525*a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.535*a,E,.61*a,.85*E,.61*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,.435*a,E,0,E).close()),x}),go.Shape.defineFigureGenerator("Map",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.2*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),y.add(new go.PathSegment(go.PathSegment.Move,.25*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Move,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.8*E)),x}),go.Shape.defineFigureGenerator("Eject",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E*.7)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.7).close());var b=new go.PathFigure(0,E*.6,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0).close()),x}),go.Shape.defineFigureGenerator("Pencil",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)).add(new go.PathSegment(go.PathSegment.Line,a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,E)).add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E).close()))}),go.Shape.defineFigureGenerator("Building",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*1,E*1,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.85)),y.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.85)),y.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.3)),y.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.3)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.3)),y.add(new go.PathSegment(go.PathSegment.Line,a,E*.3)),y.add(new go.PathSegment(go.PathSegment.Line,a,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.85)),y.add(new go.PathSegment(go.PathSegment.Line,a,E*.85).close());var b=new go.PathFigure(.126*a,.85*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.126*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.322*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.322*a,.85*E).close());var z=new go.PathFigure(.402*a,.85*E,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.402*a,.45*E)),z.add(new go.PathSegment(go.PathSegment.Line,.598*a,.45*E)),z.add(new go.PathSegment(go.PathSegment.Line,.598*a,.85*E).close());var oe=new go.PathFigure(.678*a,.85*E,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.678*a,.45*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.874*a,.45*E)),oe.add(new go.PathSegment(go.PathSegment.Line,.874*a,.85*E).close());var ie=new go.PathFigure(.5*a,.1*E,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*a,.3*E)),ie.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*a,.3*E).close()),x}),go.Shape.defineFigureGenerator("Staircase",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E*1,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*.8)),y.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.8)),y.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.6)),y.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.6)),y.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.4)),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.4)),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.2)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.2)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.15)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.15)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.35)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.35)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.15,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.15,E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.95).close()),x}),go.Shape.defineFigureGenerator("5Bars",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E*1,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.184,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.184,E*(1-.184)).close());var b=new go.PathFigure(a*.204,E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.204,E*(1-.184))),b.add(new go.PathSegment(go.PathSegment.Line,a*.388,E*(1-.184*2))),b.add(new go.PathSegment(go.PathSegment.Line,a*.388,E*1).close());var z=new go.PathFigure(a*.408,E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.408,E*(1-.184*2))),z.add(new go.PathSegment(go.PathSegment.Line,a*.592,E*(1-.184*3))),z.add(new go.PathSegment(go.PathSegment.Line,a*.592,E*1).close());var oe=new go.PathFigure(a*.612,E,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a*.612,E*(1-.184*3))),oe.add(new go.PathSegment(go.PathSegment.Line,a*.796,E*(1-.184*4))),oe.add(new go.PathSegment(go.PathSegment.Line,a*.796,E*1).close());var ie=new go.PathFigure(a*.816,E,!0);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,a*.816,E*(1-.184*4))),ie.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-.184*5))),ie.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1).close()),x}),go.Shape.defineFigureGenerator("PC",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,0).close());var b=new go.PathFigure(a*.055,.07*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.07)),b.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.1).close());var z=new go.PathFigure(a*.055,.13*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.13)),z.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.16)),z.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.16).close());var oe=new go.PathFigure(a*.055,.18*E,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.18)),oe.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.21)),oe.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.21).close());var ie=new go.PathFigure(a*1,0,!0);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,a*.4,0)),ie.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.65)),ie.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.65).close()),x}),go.Shape.defineFigureGenerator("Plane",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(.55*a,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.475*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.35*a,.525*E,0,.4*E,.225*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,.475*E)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,.35*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.325*E)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.325*E)),y.add(new go.PathSegment(go.PathSegment.Line,.85*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.2*E,.975*a,0,a,.08*E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Line,.55*a,E).close()),x}),go.Shape.defineFigureGenerator("Key",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*1,E*.5,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.9,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,.35*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,.35*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.15,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.35*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.65*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.15,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,.65*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,.65*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.6,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.65,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.7,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.85,.575*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.9,.6*E).close()),y.add(new go.PathSegment(go.PathSegment.Move,.17*a,.425*E)),y.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*a,.5*E,.075*a,.075*E).close()),x}),go.Shape.defineFigureGenerator("FilmTape",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,180,a*0,a*.3,a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.08,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.08,E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*1),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*1),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*2),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*2),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*3),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*3),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*4),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*4),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*5),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*5),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*6),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*6),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*7),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*7),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*8),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*8),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*9),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*9),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*10),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*10),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*11),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*11),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*12),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*12),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*13),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*13),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*14),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*14),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*15),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*15),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1));var b=new go.PathFigure(0,0,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*0)),b.add(new go.PathSegment(go.PathSegment.Arc,270,-180,a*1,a*.3,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1));var z=new go.PathFigure(a*.11,E*.1,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*0),E*.1)),z.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*0),E*.8)),z.add(new go.PathSegment(go.PathSegment.Line,a*.11,E*.8).close());var oe=new go.PathFigure(a*(.11+.24133333*1+.028*1),E*.1,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*1),E*.1)),oe.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*1),E*.8)),oe.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*1),E*.8).close());var ie=new go.PathFigure(a*(.11+.24133333*2+.028*2),E*.1,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*3+.028*2),E*.1)),ie.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*3+.028*2),E*.8)),ie.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*2),E*.8).close()),x}),go.Shape.defineFigureGenerator("FloppyDisk",function(ue,a,E){var x=new go.Geometry,y=8,b=y*Ce,z=new go.PathFigure(y,0,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.86,0)),z.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.14)),z.add(new go.PathSegment(go.PathSegment.Line,a,E-y)),z.add(new go.PathSegment(go.PathSegment.Bezier,a-y,E,a,E-b,a-b,E)),z.add(new go.PathSegment(go.PathSegment.Line,y,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,E-y,b,E,0,E-b)),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Bezier,y,0,0,b,b,0).close());var oe=new go.PathFigure(a*.83,0,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a*.83,E*.3)),oe.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*.3)),oe.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*0).close());var ie=new go.PathFigure(a*.83,E*1,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,a*.83,E*.5)),ie.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*.5)),ie.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*1).close());var de=new go.PathFigure(a*.78,E*.05,!1);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.05)),de.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.25)),de.add(new go.PathSegment(go.PathSegment.Line,a*.78,E*.25).close()),x}),go.Shape.defineFigureGenerator("SpeechBubble",function(ue,a,E){var x=ue?ue.parameter1:NaN;(isNaN(x)||x<0)&&(x=15),x=Math.min(x,a/3),x=Math.min(x,E/3);var y=x*Ce,b=E*.8,z=new go.Geometry,oe=new go.PathFigure(x,0,!0);return z.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,a-x,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,a,x,a-y,0,a,y)),oe.add(new go.PathSegment(go.PathSegment.Line,a,b-x)),oe.add(new go.PathSegment(go.PathSegment.Bezier,a-x,b,a,b-y,a-y,b)),oe.add(new go.PathSegment(go.PathSegment.Line,a*.7,b)),oe.add(new go.PathSegment(go.PathSegment.Line,a*.7,E)),oe.add(new go.PathSegment(go.PathSegment.Line,a*.55,b)),oe.add(new go.PathSegment(go.PathSegment.Line,x,b)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,b-x,y,b,0,b-y)),oe.add(new go.PathSegment(go.PathSegment.Line,0,x)),oe.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,y,y,0).close()),y>1?(z.spot1=new go.Spot(0,0,y,y),z.spot2=new go.Spot(1,.8,-y,-y)):(z.spot1=go.Spot.TopLeft,z.spot2=new go.Spot(1,.8)),z}),go.Shape.defineFigureGenerator("Repeat",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*.45,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*.9)),y.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.9)),y.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*.45).close());var b=new go.PathFigure(a*1,E*.55,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*.1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.55).close()),x}),go.Shape.defineFigureGenerator("Windows",function(ue,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close()).add(new go.PathSegment(go.PathSegment.Move,.4*a,.4*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,.8*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E).close()).add(new go.PathSegment(go.PathSegment.Move,.2*a,.1*E)).add(new go.PathSegment(go.PathSegment.Line,.2*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.1*E).close()).add(new go.PathSegment(go.PathSegment.Move,.1*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.1*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E).close()))}),go.Shape.defineFigureGenerator("Terminal",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*.1,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.9)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*.9).close());var b=new go.PathFigure(a*.1,E*.2,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.25)),b.add(new go.PathSegment(go.PathSegment.Line,a*.22,E*.285)),b.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.32)),b.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.37)),b.add(new go.PathSegment(go.PathSegment.Line,a*.275,E*.32)),b.add(new go.PathSegment(go.PathSegment.Line,a*.275,E*.25).close());var z=new go.PathFigure(a*.28,E*.37,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.37)),z.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.41)),z.add(new go.PathSegment(go.PathSegment.Line,a*.28,E*.41).close()),x}),go.Shape.defineFigureGenerator("Beaker",function(ue,a,E){var x=new go.Geometry,y=15,b=y*Ce,z=new go.PathFigure(a*.62,E*.475,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,E-y)),z.add(new go.PathSegment(go.PathSegment.Bezier,a-y,E,a,E-b,a-b,E)),z.add(new go.PathSegment(go.PathSegment.Line,y,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,E-y,b,E,0,E-b)),z.add(new go.PathSegment(go.PathSegment.Line,a*.38,E*.475)),z.add(new go.PathSegment(go.PathSegment.Line,a*.38,E*.03)),z.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*0)),z.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*0)),z.add(new go.PathSegment(go.PathSegment.Line,a*.62,E*.03).close()),b>1?(x.spot1=new go.Spot(0,0,b,b),x.spot2=new go.Spot(1,1,-b,-b)):(x.spot1=go.Spot.TopLeft,x.spot2=go.Spot.BottomRight),x}),go.Shape.defineFigureGenerator("Download",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*1,!0);x.add(y);var b=.1/.3;y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-b)).close());var z=new go.PathFigure(a*.4,E*0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.44)),z.add(new go.PathSegment(go.PathSegment.Line,a*.26,E*.44)),z.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.66)),z.add(new go.PathSegment(go.PathSegment.Line,a*(1-.26),E*.44)),z.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.44)),z.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*0).close()),x}),go.Shape.defineFigureGenerator("Bin",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*1,!0);x.add(y);var b=.1/.3;return y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-b)).close()),x}),go.Shape.defineFigureGenerator("Upload",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*1,!0);x.add(y);var b=.1/.3;y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-b)).close());var z=new go.PathFigure(a*.5,E*0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.26,E*.25)),z.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.25)),z.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.63)),z.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.63)),z.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.25)),z.add(new go.PathSegment(go.PathSegment.Line,a*.74,E*.25).close()),x}),go.Shape.defineFigureGenerator("EmptyDrink",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*.15,E*0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.85,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1).close()),x}),go.Shape.defineFigureGenerator("Drink",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*.15,E*0,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.85,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1).close());var b=new go.PathFigure(a*.235,E*.28,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.765,E*.28)),b.add(new go.PathSegment(go.PathSegment.Line,a*.655,E*.97)),b.add(new go.PathSegment(go.PathSegment.Line,a*.345,E*.97).close()),x}),go.Shape.defineFigureGenerator("4Arrows",function(ue,a,E){var x=new go.Geometry,y=new go.PathFigure(a*.5,E*0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*.25)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.25)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.35)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.5)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.65)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.65)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*.5)),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.35)),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.25)),y.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.25).close()),x}),go.Shape.defineFigureGenerator("Connector","Ellipse"),go.Shape.defineFigureGenerator("Alternative","TriangleUp"),go.Shape.defineFigureGenerator("Merge","TriangleUp"),go.Shape.defineFigureGenerator("Decision","Diamond"),go.Shape.defineFigureGenerator("DataTransmissions","Hexagon"),go.Shape.defineFigureGenerator("Gate","Crescent"),go.Shape.defineFigureGenerator("Delay","HalfEllipse"),go.Shape.defineFigureGenerator("Input","Parallelogram1"),go.Shape.defineFigureGenerator("ManualLoop","ManualOperation"),go.Shape.defineFigureGenerator("ISOProcess","Chevron"),go.Shape.defineFigureGenerator("MessageToUser","SquareArrow"),go.Shape.defineFigureGenerator("MagneticData","Cylinder1"),go.Shape.defineFigureGenerator("DirectData","Cylinder4"),go.Shape.defineFigureGenerator("StoredData","DataStorage"),go.Shape.defineFigureGenerator("SequentialData","MagneticTape"),go.Shape.defineFigureGenerator("Subroutine","Procedure")},84072:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;(function(){if(typeof window.GGBApplet=="function"){console.warn("deployggb.js was loaded twice");return}var isRenderGGBElementEnabled=!1,scriptLoadStarted=!1,html5AppletsToProcess=null,ggbHTML5LoadedCodebaseIsWebSimple=!1,ggbHTML5LoadedCodebaseVersion=null,ggbHTML5LoadedScript=null,GGBApplet=function(){"use strict";for(var Ge={},gt="5.0",re={},ee=null,xe=!1,Pe=!1,ye=null,Fe=!1,Ie=null,Ce=null,Be=0;Be4?parseFloat(At):5};Ge.setHTML5Codebase=function(At,ot){Ce=At,mt(At,ot)},Ge.setJavaCodebase=Ge.setJavaCodebaseVersion=Ge.isCompiledInstalled=Ge.setPreCompiledScriptPath=Ge.setPreCompiledResourcePath=function(){},Ge.setHTML5CodebaseVersion=function(At,ot){var Bt=parseFloat(At);if(Bt!==NaN&&Bt<5){console.log("The GeoGebra HTML5 codebase version "+Bt+" is deprecated. Using version latest instead.");return}Ie=At,at(At,ot)},Ge.getHTML5CodebaseVersion=function(){return ue},Ge.getParameters=function(){return re},Ge.setFontsCSSURL=function(At){z=At},Ge.setGiacJSURL=function(At){},Ge.setJNLPFile=function(At){Oe=At},Ge.setJNLPBaseDir=function(At){},Ge.inject=function(){function At(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var ot="auto",Bt=re.id,Ve,bt=!1,Ht=0;Ht=5)return!0;var At=Ge.getAppletObject();return At&&typeof At.recalculateEnvironments=="function"?(At.recalculateEnvironments(),!0):!1},Ge.startAnimation=function(){var At=Ge.getAppletObject();return At&&typeof At.startAnimation=="function"?(At.startAnimation(),!0):!1},Ge.stopAnimation=function(){var At=Ge.getAppletObject();return At&&typeof At.stopAnimation=="function"?(At.stopAnimation(),!0):!1},Ge.getAppletObject=function(){var At=re.id!==void 0?re.id:"ggbApplet";return window[At]},Ge.resize=function(){};var Ke=function(At,ot,Bt){var Ve=document.createElement("param");Ve.setAttribute("name",ot),Ve.setAttribute("value",Bt),At.appendChild(Ve)},Ye=function(At){return At&&At!=="false"},st=function(At,ot,Bt){ie(ue)<=4.2&&(Bt=!0);var Ve=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==ue||ggbHTML5LoadedCodebaseIsWebSimple&&!E)&&(Ve=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var bt=document.createElement("div");bt.classList.add("appletParameters","notranslate");var Ht=ot.width,Se=ot.height;if(ot.disableAutoScale=ot.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():ot.disableAutoScale,ot.width!==void 0)if(ie(ue)<=4.4)Ye(ot.showToolBar)&&(ot.height-=7),Ye(ot.showAlgebraInput)&&(ot.height-=37),ot.width<605&&Ye(ot.showToolBar)&&(ot.width=605,Ht=605);else{var Ct=100;(Ye(ot.showToolBar)||Ye(ot.showMenuBar))&&(ot.hasOwnProperty("customToolBar")&&(ot.customToolbar=ot.customToolBar),Ct=Ye(ot.showMenuBar)?245:155),Ht=5?(ot.appletOnLoad=function(vt){var Et=At.querySelector(".ggb_preview");Et&&Et.parentNode.removeChild(Et),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(We),window.GGBT_wsf_view&&$(window).trigger("resize"),nA(vt)},ve||We.appendChild(le)):bt.appendChild(le),We.appendChild(bt),ve||At.appendChild(We),setTimeout(function(){Ge.resize()},1)}else{var ce=document.createElement("div");ce.className="applet_scaler",ce.style.position="relative",ce.style.display="block",ce.appendChild(bt),At.appendChild(ce),ot.appletOnLoad=function(vt){Ge.resize(),nA(vt)}}function be(vt,Et){Et&&typeof Et.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(vt,Et.appletOnLoad):renderGGBElement(vt),Dt("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",Et)}function qe(vt,Et){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:vt,params:Et}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(rA){be(rA.article,rA.params)}),html5AppletsToProcess=null)},ie(ue)<5&&(vt.className+=" geogebraweb")):be(vt,Et)}if(Ve){scriptLoadStarted=!0;for(var lt=0;lt0?(eA.remove(),We.attr("id","fullscreencontent").show(),jQuery(nA).append(We),window.dispatchEvent(new Event("resize"))):st(eA,ot,!1),window.GGBT_wsf_view.launchFullScreen(nA)}else rt=Ve,st(At,ot,!1);if(!window.GGBT_wsf_view)for(Se=0;SeAt/4*3&&(eA=At/4*3),nA=eA/5.8,Ct.setAttribute("src",y),Ct.setAttribute("width",eA),Ct.setAttribute("height",nA);var We=(At-eA)/2,ve=(ot-nA)/2;Ct.style.left=We+"px",Ct.style.top=ve+"px",bt.appendChild(Ct)}}return bt.appendChild(Se),bt},ut=function(At){return At=At.toLowerCase(),At==="html5"||At==="screenshot"?At:"html5"},dt=["web","webSimple","web3d","tablet","tablet3d","phone"],at=function(At,ot){if(ue=At,ot){mt(ue,!0);return}var Bt=!xe;if(Bt){var Ve=ie(ue);!isNaN(Ve)&&Ve<4.4&&(Bt=!1)}var bt,Ht;window.location.protocol.substr(0,4)==="http"?bt=window.location.protocol:bt="http:";var Se=ue.indexOf("//");Se>0?Ht=ue:Se===0?Ht=bt+ue:Ht="https://www.geogebra.org/apps/5.2.814.0/";for(var Ct in dt)if(ue.slice(dt[Ct].length*-1)===dt[Ct]||ue.slice((dt[Ct].length+1)*-1)===dt[Ct]+"/"){mt(Ht,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Bt&&!ee.is3D&&!ee.AV&&!ee.SV&&!ee.CV&&!ee.EV2&&!ee.CP&&!ee.PC&&!ee.DA&&!ee.FI&&!ee.PV&&!Ye(re.showToolBar)&&!Ye(re.showMenuBar)&&!Ye(re.showAlgebraInput)&&!Ye(re.enableRightClick)&&(!re.appName||re.appName=="classic")?Ht+="webSimple/":Ht+="web3d/",mt(Ht,!1)},mt=function(At,ot){if(At.requirejs){_e=At;return}At.slice(-1)!=="/"&&(At+="/"),_e=At,ot===null&&(ot=At.indexOf("http")===-1),Ue=ot,a="web.nocache.js",E=!1;var Bt=_e.split("/");Bt.length>1&&(!ot&&Bt[Bt.length-2]==="webSimple"?(a="webSimple.nocache.js",E=!0):dt.indexOf(Bt[Bt.length-2])>=0&&(a=Bt[Bt.length-2]+".nocache.js")),Bt=At.split("/"),ue=Bt[Bt.length-3],ue.substr(0,4)==="test"?ue=ue.substr(4,1)+"."+ue.substr(5,1):(ue.substr(0,3)==="war"||ue.substr(0,4)==="beta")&&(ue="5.0");var Ve=parseFloat(ue);Ve!==NaN&&Ve<5&&At.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+Ve+" is deprecated. Using version latest instead."),at("5.0",ot))},Dt=function(At,ot){window.console&&window.console.log&&(!ot||typeof ot.showLogging=="undefined"||ot.showLogging&&ot.showLogging!=="false")&&console.log(At)};re.material_id!==void 0?pe(Mt):Mt();function Mt(){var At=gt;Ie!==null?At=Ie:parseFloat(At)<5&&(At="5.0"),at(At,!1),Ce!==null&&mt(Ce,Ue),Fe=!0}return Ge},GGBAppletUtils=function(){"use strict";function Ge(){return window.GGBT_wsf_edit!==void 0}function gt(Fe,Ie){Ie!=1?(Fe.style.transformOrigin="0% 0% 0px",Fe.style.webkitTransformOrigin="0% 0% 0px",Fe.style.transform="scale("+Ie+","+Ie+")",Fe.style.webkitTransform="scale("+Ie+","+Ie+")",Fe.style.maxWidth="initial",Fe.querySelector(".ggb_preview")!==null&&(Fe.querySelector(".ggb_preview").style.maxWidth="initial"),Fe.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Fe.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Fe.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Fe.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Fe.style.transform="none",Fe.style.webkitTransform="none")}function re(Fe,Ie,Ce,Be,Le,Oe){var _e=null;if(Oe!=null&&Oe!="")for(var Ue=Fe.parentNode;Ue!=null;)if((" "+Ue.className+" ").indexOf(" "+Oe+" ")>-1){_e=Ue;break}else Ue=Ue.parentNode;var rt=0,ue=0,a=0,E=0,x=0,y=0,b=0;if(_e)rt=_e.offsetWidth,ue=Math.max(Be?_e.offsetWidth:0,_e.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(rt=Math.min(window.innerWidth,document.documentElement.clientWidth),ue=Math.min(window.innerHeight,document.documentElement.clientHeight),a=rt):(rt=window.innerWidth,ue=window.innerHeight,a=window.innerWidth),Fe){var z=Fe.getBoundingClientRect();z.left>0&&z.left<=rt&&(Le===void 0||!Le)&&(document.dir==="rtl"?(x=rt-z.width-z.left,y=a<=480?10:30):(y=z.left,x=a<=480?10:30),E=y+x)}if(Fe&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var oe=Fe.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(E=40,b=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(E=0,b=40)}}return Fe&&((Ce===void 0||!Ce)&&Ie>0&&Ie+E1&&(Oe=!0)),Ie&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(Oe=!0),!(Fe.hasOwnProperty("disableAutoScale")&&Fe.disableAutoScale))Le=ee(Fe,Ie,Oe,Ce,Fe.scaleContainerClass);else return Be;return Oe&&(!Fe.hasOwnProperty("scale")||Be===1)?Le:Math.min(Be,Le)}function Pe(Fe){var Ie=Math.min(window.innerWidth,document.documentElement.clientWidth),Ce=Math.min(window.innerHeight,document.documentElement.clientHeight),Be=Fe.getBoundingClientRect(),Le=(Ie-Be.width)/2,Oe=(Ce-Be.height)/2;Oe<0&&(Oe=0),Fe.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(Le<40?Fe.style.left="40px":Fe.style.left=Le+"px",Fe.style.top=Oe+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(Oe<40?Fe.style.top="40px":Fe.style.top=Oe+"px",Fe.style.left=Le+"px")}function ye(Fe,Ie){var Ce=Fe.querySelector(".appletParameters");if(Ce){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Ie.id!==Ce.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Fe)}if(Ce.parentElement&&/fullscreen/.test(Ce.parentElement.className))return;var Be=xe(Ie,Fe);Ge()&&Ce.setAttribute("data-param-scale",Be);for(var Le=null,Oe=0;Oe=O)continue;if(j==jb){if(k=i.getAttribute(kb),k){var l,m=k.indexOf(lb);m>=O?(j=k.substring(O,m),l=k.substring(m+P)):(j=k,l=W),c[j]=l}}else if(j==mb){if(k=i.getAttribute(kb),k)try{d=eval(k)}catch(Ge){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(Ge){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(Ge){var gt=c[Ge];return gt==null?null:gt},r=d,webModule.__errFn=e}function B(){function Ge(Fe){var Ie=Fe.lastIndexOf(rb);Ie==-1&&(Ie=Fe.length);var Ce=Fe.indexOf(sb);Ce==-1&&(Ce=Fe.length);var Be=Fe.lastIndexOf(tb,Math.min(Ce,Ie));return Be>=O?Fe.substring(O,Be+P):W}function gt(Fe){if(!Fe.match(/^\w+:\/\//)){var Ie=o.createElement(ub);Ie.src=Fe+vb,Fe=Ge(Ie.src)}return Fe}function re(){var Fe=__gwt_getMetaProperty(wb);return Fe!=null?Fe:W}function ee(){for(var Fe=o.getElementsByTagName(_),Ie=O;IeO?Fe[Fe.length-P].href:W}function Pe(){var Fe=o.location;return Fe.href==Fe.protocol+zb+Fe.host+Fe.pathname+Fe.search+Fe.hash}var ye=re();return ye==W&&(ye=ee()),ye==W&&(ye=xe()),ye==W&&Pe()&&(ye=Ge(o.location.href)),ye=gt(ye),ye}function C(Ge){return Ge.match(/^\//)||Ge.match(/^[a-zA-Z]+:\/\//)?Ge:webModule.__moduleBase+Ge}function D(){var Ge=[],gt=O,re=[],ee=[];function xe(Fe){var Ie=ee[Fe](),Ce=re[Fe];if(Ie in Ce)return Ie;var Be=[];for(var Le in Ce)Be[Ce[Le]]=Le;throw r&&r(Fe,Be,Ie),null}if(__gwt_isKnownPropertyValue=function(Fe,Ie){return Ie in re[Fe]},webModule.__getPropMap=function(){var Fe={};for(var Ie in re)re.hasOwnProperty(Ie)&&(Fe[Ie]=xe(Ie));return Fe},webModule.__computePropValue=xe,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var Pe;try{Pe=Cb;var ye=Pe.indexOf(Db);ye!=-1&&(gt=parseInt(Pe.substring(ye+P),$),Pe=Pe.substring(O,ye))}catch(Fe){}return webModule.__softPermutationId=gt,C(Pe+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase="/js/mathematicalGraphics/"+name+"/",s[L].moduleBase=webModule.__moduleBase;var G=D();return F(),w(G),!0}return webModule},typeof window.web3d!="function"&&(window.web3d=GGBAppletUtils.makeModule("web3d","A18F540516513B1292CA7CEF2F6AFC7E")),typeof window.webSimple!="function"&&(window.webSimple=GGBAppletUtils.makeModule("webSimple","96B09BF1B436BF53F0DF54116700F16A")),window.GGBApplet=GGBApplet})()},77665:function(Ge,gt,re){"use strict";re.d(gt,{Ax:function(){return ye},Ds:function(){return Fe},KI:function(){return Ce},SI:function(){return Pe},f1:function(){return xe}});var ee=re(13952);function xe(Be){let Le=!0;if(Be.length>0){for(let Oe=0;OeE in a?Pe(a,E,{enumerable:!0,configurable:!0,writable:!0,value:x}):a[E]=x,Oe=(a,E)=>{for(var x in E||(E={}))Ce.call(E,x)&&Le(a,x,E[x]);if(Ie)for(var x of Ie(E))Be.call(E,x)&&Le(a,x,E[x]);return a},_e=(a,E)=>ye(a,Fe(E)),Ue=(a,E)=>{var x={};for(var y in a)Ce.call(a,y)&&E.indexOf(y)<0&&(x[y]=a[y]);if(a!=null&&Ie)for(var y of Ie(a))E.indexOf(y)<0&&Be.call(a,y)&&(x[y]=a[y]);return x},rt=(a,E,x)=>new Promise((y,b)=>{var z=de=>{try{ie(x.next(de))}catch(ge){b(ge)}},oe=de=>{try{ie(x.throw(de))}catch(ge){b(ge)}},ie=de=>de.done?y(de.value):Promise.resolve(de.value).then(z,oe);ie((x=x.apply(a,E)).next())});const ue=a=>{var E=a,{children:x}=E,y=Ue(E,["children"]);const[b,z]=(0,xe.useState)(!1);return xe.createElement(ee.ZP,_e(Oe({},y),{loading:b,onClick:oe=>rt(void 0,null,function*(){try{z(!0),yield y.onClick(oe),z(!1)}catch(ie){console.error(ie),z(!1)}})}),x)}},48102:function(Ge,gt,re){"use strict";var ee=re(86204),xe=re.n(ee),Pe=Object.defineProperty,ye=(Be,Le,Oe)=>Le in Be?Pe(Be,Le,{enumerable:!0,configurable:!0,writable:!0,value:Oe}):Be[Le]=Oe,Fe=(Be,Le,Oe)=>ye(Be,typeof Le!="symbol"?Le+"":Le,Oe),Ie=(Be,Le,Oe)=>new Promise((_e,Ue)=>{var rt=E=>{try{a(Oe.next(E))}catch(x){Ue(x)}},ue=E=>{try{a(Oe.throw(E))}catch(x){Ue(x)}},a=E=>E.done?_e(E.value):Promise.resolve(E.value).then(rt,ue);a((Oe=Oe.apply(Be,Le)).next())});class Ce extends ee.EventEmitter{constructor(Le,Oe){super(),Fe(this,"url"),Fe(this,"body"),Fe(this,"fullContent",""),Fe(this,"controller",null),Fe(this,"buffer",""),this.url=Le,this.body=Oe}startStream(){return Ie(this,null,function*(){this.controller=new AbortController;const{signal:Le}=this.controller;try{const Oe=yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"include",body:JSON.stringify(this.body),signal:Le});if(!Oe.ok)throw new Error(`\u8BF7\u6C42\u5931\u8D25: ${Oe.status}`);const _e=Oe.headers.get("content-type");if(!_e)throw new Error("\u54CD\u5E94\u5934\u7F3A\u5C11 content-type");if(_e.includes("application/json")){const ue=yield Oe.json();this.emit("error",ue);return}if(!_e.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const Ue=Oe.body.getReader(),rt=new TextDecoder("utf-8");for(;;){const{done:ue,value:a}=yield Ue.read();if(ue)break;const E=rt.decode(a,{stream:!0});this.buffer+=E;const x=this.buffer.split(` `);this.buffer=x.pop()||"";for(const y of x)if(y.startsWith("data:")){const b=y.slice(5).trim();if(b==="[DONE]")break;try{const z=JSON.parse(b);z.data&&this.handleData(z.data)}catch(z){this.buffer=y+` `+this.buffer,console.error("\u89E3\u6790 JSON \u5931\u8D25:",z)}}}this.emit("done",this.fullContent)}catch(Oe){Oe.name==="AbortError"?this.emit("cancelled",this.fullContent):this.emit("error",Oe.message)}})}handleData(Le){Le.content&&(this.fullContent+=Le.content,this.emit("data",{chunk:Le,full:this.fullContent}))}cancelRequest(){var Le;(Le=this.controller)==null||Le.abort()}}gt.Z=Ce},32456:function(Ge,gt,re){"use strict";re.d(gt,{Z:function(){return rt}});var ee=re(59301),xe=re(30641),Pe=re(77019),ye=re(5269),Fe={smartWrp:"smartWrp___NjRcB"},Ie=re(58531),Ce=re(38776),Be=re(27051),Le=re(59301),Oe=(ue,a,E)=>new Promise((x,y)=>{var b=ie=>{try{oe(E.next(ie))}catch(de){y(de)}},z=ie=>{try{oe(E.throw(ie))}catch(de){y(de)}},oe=ie=>ie.done?x(ie.value):Promise.resolve(ie.value).then(b,z);oe((E=E.apply(ue,a)).next())});const _e=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

\u5FEB\u901F\u6392\u5E8F\u7B97\u6CD5\u6F14\u793A