(self.webpackChunk=self.webpackChunk||[]).push([[3260],{87169:function(_e,Ct,oe){"use strict";oe.d(Ct,{Z:function(){return Ye}});var b=oe(54476),he=oe(59301),Be={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},Ie=Be,Ce=oe(7657),Ge=function(De,Te){return he.createElement(Ce.Z,(0,b.Z)({},De,{ref:Te,icon:Ie}))},Fe=he.forwardRef(Ge),Ye=Fe},12893:function(_e,Ct,oe){"use strict";oe.d(Ct,{Z:function(){return Ye}});var b=oe(54476),he=oe(59301),Be={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"minus-circle",theme:"outlined"},Ie=Be,Ce=oe(7657),Ge=function(De,Te){return he.createElement(Ce.Z,(0,b.Z)({},De,{ref:Te,icon:Ie}))},Fe=he.forwardRef(Ge),Ye=Fe},32134:function(_e,Ct,oe){"use strict";oe.d(Ct,{Z:function(){return Ye}});var b=oe(54476),he=oe(59301),Be={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"plus-circle",theme:"outlined"},Ie=Be,Ce=oe(7657),Ge=function(De,Te){return he.createElement(Ce.Z,(0,b.Z)({},De,{ref:Te,icon:Ie}))},Fe=he.forwardRef(Ge),Ye=Fe},89722:function(_e,Ct){"use strict";Ct.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},63581:function(_e,Ct){"use strict";Ct.Z={wrap:"wrap___ilWvf",deleteIcon:"deleteIcon___JBDG8",keywordTag:"keywordTag___iieCb",questionTitleEditorWrap:"questionTitleEditorWrap___MHB5s",choiceListWrap:"choiceListWrap___jB8b1",choiceWrap:"choiceWrap___QFkTc",choiceIndex:"choiceIndex___Mr2YO",judgementIndex:"judgementIndex___fUVWK",setAnswerBtn:"setAnswerBtn___Whox5",activeAnswer:"activeAnswer___fGU6Y",activeJudgementAnswer:"activeJudgementAnswer___wJv8P",actionWrapper:"actionWrapper___ERQ7k",addIcon:"addIcon___L9TE0",inputBorder:"inputBorder___Q5tRE",placeholder:"placeholder___p9sFY",blankInputNumberWrapper:"blankInputNumberWrapper___uEHb0",addBtn:"addBtn___WR5ZI",blankIndex:"blankIndex___x9Pny",baseInputWrapper:"baseInputWrapper___eVsG7",collapseWrapper:"collapseWrapper___ZTysU",panelHeader:"panelHeader___QSN9g",open:"open___B6FU9",close:"close___QX19r",hide:"hide___mn25n"}},97663:function(_e,Ct){"use strict";Ct.Z={flex_box_center:"flex_box_center___ycN2f",flex_space_between:"flex_space_between___LcS9e",flex_box_vertical_center:"flex_box_vertical_center___uwjPm",flex_box_center_end:"flex_box_center_end___Pc903",flex_box_column:"flex_box_column___AXEdv",bg:"bg___fm2Cw",title:"title___J3MCU",editIcon:"editIcon___i4Zll",titleLeft:"titleLeft___da61c",titleRight:"titleRight___EsdL6",formWrap:"formWrap___YTxC3",baseLineHeight:"baseLineHeight___TprCB",radioBtnWrapper:"radioBtnWrapper___Mt_XG",radiogroup:"radiogroup___EvkWh",easy:"easy___mSxtg",medium:"medium___NIaWN",hard:"hard___mddnD",baseFormItem:"baseFormItem___csbyb",cascaderPopup:"cascaderPopup___BttnF",selectdiv:"selectdiv___TAr4i",divitem:"divitem___iaXB2",bottmodiv:"bottmodiv___bmp6p",cancelBtn:"cancelBtn___Q4ZcL",confirmBtn:"confirmBtn___nRiCD",concat:"concat___jlPR1"}},58082:function(_e,Ct,oe){"use strict";var b=oe(59301),he=Object.defineProperty,Be=Object.getOwnPropertySymbols,Ie=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable,Ge=(ke,De,Te)=>De in ke?he(ke,De,{enumerable:!0,configurable:!0,writable:!0,value:Te}):ke[De]=Te,Fe=(ke,De)=>{for(var Te in De||(De={}))Ie.call(De,Te)&&Ge(ke,Te,De[Te]);if(Be)for(var Te of Be(De))Ce.call(De,Te)&&Ge(ke,Te,De[Te]);return ke};const Ye=ke=>React.createElement("svg",Fe({className:"jiangxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},ke),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143z",fill:"#98BDF7"}),React.createElement("path",{d:"m248.686 803.182-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#145DFF"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#98BDF7"}));Ct.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Im0yNDguNjg2IDgwMy4xODItNjUuODI5IDc1LjkyMlY2NTguMjg2aC03My4xNDN2MjIwLjgxOGwtNjUuODI4LTc1Ljk5NUwwIDg1MS4zODMgMTQ2LjI4NiAxMDI0IDI5Mi41NyA4NTEuNTN6IiBmaWxsPSIjMTQ1REZGIi8+PHBhdGggZD0iTTE0Ni4yODYgMCAwIDE1OC43Mmw0My44ODYgNTUuMjIzIDY1LjgyOC03NS45MjJ2MjI3LjY5M2g3My4xNDNWMTM4LjAyMWw2NS44MjkgNzUuOTIyIDQzLjg4NS01NS4yMjN6IiBmaWxsPSIjOThCREY3Ii8+PC9zdmc+"},39469:function(_e,Ct,oe){"use strict";var b=oe(59301),he=Object.defineProperty,Be=Object.getOwnPropertySymbols,Ie=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable,Ge=(ke,De,Te)=>De in ke?he(ke,De,{enumerable:!0,configurable:!0,writable:!0,value:Te}):ke[De]=Te,Fe=(ke,De)=>{for(var Te in De||(De={}))Ie.call(De,Te)&&Ge(ke,Te,De[Te]);if(Be)for(var Te of Be(De))Ce.call(De,Te)&&Ge(ke,Te,De[Te]);return ke};const Ye=ke=>React.createElement("svg",Fe({className:"shengxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},ke),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143zM248.686 803.182l-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#98BDF7"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#145DFF"}));Ct.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzek0yNDguNjg2IDgwMy4xODJsLTY1LjgyOSA3NS45MjJWNjU4LjI4NmgtNzMuMTQzdjIyMC44MThsLTY1LjgyOC03NS45OTVMMCA4NTEuMzgzIDE0Ni4yODYgMTAyNCAyOTIuNTcgODUxLjUzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Ik0xNDYuMjg2IDAgMCAxNTguNzJsNDMuODg2IDU1LjIyMyA2NS44MjgtNzUuOTIydjIyNy42OTNoNzMuMTQzVjEzOC4wMjFsNjUuODI5IDc1LjkyMiA0My44ODUtNTUuMjIzeiIgZmlsbD0iIzE0NURGRiIvPjwvc3ZnPg=="},4285:function(){"use strict";function _e(le,E,a,x){a===void 0&&(a=0),x===void 0&&(x=1/0),this._name=le,this._defaultValue=E,this._minimum=a,this._maximum=x}Object.defineProperty(_e.prototype,"name",{get:function(){return this._name},set:function(le){if(typeof le!="string"||le==="")throw new Error("Shape name must be a valid string.");this._name=le}}),Object.defineProperty(_e.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(le){if(typeof le!="number"||isNaN(le))throw new Error("The default value must be a real number, not: "+le);this._defaultValue=le}}),Object.defineProperty(_e.prototype,"minimum",{get:function(){return this._minimum},set:function(le){if(typeof le!="number"||isNaN(le))throw new Error("Minimum must be a real number, not: "+le);this._minimum=le}}),Object.defineProperty(_e.prototype,"maximum",{get:function(){return this._maximum},set:function(le){if(typeof le!="number"||isNaN(le))throw new Error("Maximum must be a real number, not: "+le);this._maximum=le}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(le,E){var a=go.Shape._FigureParameters[le];return a?a[E]:null},go.Shape.setFigureParameter=function(le,E,a){if(!(a instanceof _e))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+a);if(a.defaultValuea.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+a.defaultValue);var x=go.Shape._FigureParameters[le];x||(x=[],go.Shape._FigureParameters[le]=x),x[E]=a};var Ct=[];function oe(le,E){var a=Ct.pop();return a===void 0?new go.Point(le,E):(a.x=le,a.y=E,a)}function b(){var le=Ct.pop();return le===void 0?new go.Point:le}function he(le){Ct.push(le)}function Be(le,E,a,x,y,z,ne,re,ie){ie||(ie=new go.Point);var ge=le-a,fe=y-ne,Pe=NaN,Ue=NaN;if(ge===0)if(fe===0)le===a&&(Pe=le,Ue=E);else{var Me=(z-re)/fe,lt=z-Me*y;Pe=le,Ue=Me*Pe+lt}else if(fe===0){var Le=(E-x)/ge,be=E-Le*le;Pe=y,Ue=Le*Pe+be}else{var Le=(E-x)/ge,Me=(z-re)/fe,be=E-Le*le,lt=z-Me*y;Pe=(lt-be)/(Le-Me),Ue=Le*Pe+be}return ie.x=Pe,ie.y=Ue,ie}function Ie(le,E,a,x,y,z,ne,re,ie,ge,fe,Pe,Ue,Me){var lt=1-ie,Le=ie,be=le*lt+a*Le,Xe=E*lt+x*Le,nt=a*lt+y*Le,ye=x*lt+z*Le,gt=y*lt+ne*Le,pt=z*lt+re*Le,xt=be*lt+nt*Le,ut=Xe*lt+ye*Le,Kt=nt*lt+gt*Le,rn=ye*lt+pt*Le,It=xt*lt+Kt*Le,Zt=ut*lt+rn*Le;ge.x=be,ge.y=Xe,fe.x=xt,fe.y=ut,Pe.x=It,Pe.y=Zt,Ue.x=Kt,Ue.y=rn,Me.x=gt,Me.y=pt}var Ce=new go.Spot(.156,.156),Ge=new go.Spot(.844,.844),Fe=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new _e("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(le,E,a){var x=le?le.parameter1:NaN;(isNaN(x)||x<0)&&(x=5),x=Math.min(x,E/3),x=Math.min(x,a/3);var y=x*Fe,z=new go.Geometry().add(new go.PathFigure(x,0,!0).add(new go.PathSegment(go.PathSegment.Line,E-x,0)).add(new go.PathSegment(go.PathSegment.Bezier,E,x,E-y,0,E,y)).add(new go.PathSegment(go.PathSegment.Line,E,a-x)).add(new go.PathSegment(go.PathSegment.Bezier,E-x,a,E,a-y,E-y,a)).add(new go.PathSegment(go.PathSegment.Line,x,a)).add(new go.PathSegment(go.PathSegment.Bezier,0,a-x,y,a,0,a-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&&(z.spot1=new go.Spot(0,0,y,y),z.spot2=new go.Spot(1,1,-y,-y)),z}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,.5*E,a).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(le,E,a){return new go.Geometry().add(new go.PathFigure(E,a).add(new go.PathSegment(go.PathSegment.Line,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(le,E,a){return new go.Geometry().add(new go.PathFigure(E,a).add(new go.PathSegment(go.PathSegment.Line,0,a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(le,E,a){return new go.Geometry().add(new go.PathFigure(.5*E,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(le,E,a){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=a/2,x.endX=E,x.endY=a/2,x}),go.Shape.defineFigureGenerator("LineV",function(le,E,a){var x=new go.Geometry(go.Geometry.Line);return x.startX=E/2,x.startY=0,x.endX=E/2,x.endY=a,x}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,a/2,!1).add(new go.PathSegment(go.PathSegment.Line,E,a/2)).add(new go.PathSegment(go.PathSegment.Move,E/2,0)).add(new go.PathSegment(go.PathSegment.Line,E/2,a)))}),go.Shape.defineFigureGenerator("XLine",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,a,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)))}),go.Shape.defineFigureGenerator("LineRight",function(le,E,a){return new go.Geometry().add(new go.PathFigure(.25*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.25*E,a)))}),go.Shape.defineFigureGenerator("LineDown",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,.25*a,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,.75*a)).add(new go.PathSegment(go.PathSegment.Line,E,.25*a)))}),go.Shape.defineFigureGenerator("LineLeft",function(le,E,a){return new go.Geometry().add(new go.PathFigure(.75*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.75*E,a)))}),go.Shape.defineFigureGenerator("LineUp",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,.75*a,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,.25*a)).add(new go.PathSegment(go.PathSegment.Line,E,.75*a)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(le,E,a){var x=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(x*E,(1-x)*a,!1).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,x*a)).add(new go.PathSegment(go.PathSegment.Move,x*E,x*a)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,(1-x)*a)).add(new go.PathSegment(go.PathSegment.Move,0,a/2)).add(new go.PathSegment(go.PathSegment.Line,E,a/2)).add(new go.PathSegment(go.PathSegment.Move,E/2,0)).add(new go.PathSegment(go.PathSegment.Line,E/2,a)))}),go.Shape.defineFigureGenerator("CircleLine",function(le,E,a){var x=E/2,y=new go.Geometry().add(new go.PathFigure(E,E/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,x,x,x,x).close()));return y.spot1=Ce,y.spot2=Ge,y.defaultStretch=go.GraphObject.Uniform,y}),go.Shape.defineFigureGenerator("Line1",function(le,E,a){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=0,x.endX=E,x.endY=a,x}),go.Shape.defineFigureGenerator("Line2",function(le,E,a){var x=new go.Geometry(go.Geometry.Line);return x.startX=E,x.startY=0,x.endX=0,x.endY=a,x}),go.Shape.defineFigureGenerator("Curve1",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,E,a,Fe*E,0,E,(1-Fe)*a)))}),go.Shape.defineFigureGenerator("Curve2",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,E,a,0,Fe*a,(1-Fe)*E,a)))}),go.Shape.defineFigureGenerator("Curve3",function(le,E,a){return new go.Geometry().add(new go.PathFigure(E,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,a,E,Fe*a,Fe*E,a)))}),go.Shape.defineFigureGenerator("Curve4",function(le,E,a){return new go.Geometry().add(new go.PathFigure(E,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,a,(1-Fe)*E,0,0,(1-Fe)*a)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(le,E,a){return new go.Geometry().add(new go.PathFigure(E,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E,a).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new _e("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)?x=.1:x<-1?x=-1:x>1&&(x=1);var y=Math.abs(x)*E;if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-y,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E-y,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,y,a).close())),yE&&(x=E);var y=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-y,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E-y,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,y,a).close())),y.5&&(x=.5);var y=Math.abs(x)*E;if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,E-y,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-y,a)).add(new go.PathSegment(go.PathSegment.Line,y,a).close())),yE&&(x=E/2);var y=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,E-y,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-y,a)).add(new go.PathSegment(go.PathSegment.Line,y,a).close())),yE&&(x=E/2);var y=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-y,a)).add(new go.PathSegment(go.PathSegment.Line,y,a).close())):z.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,E-y,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())),y0&&(ne.add(new go.PathSegment(go.PathSegment.Move,E/2+re,E/2)),ne.add(new go.PathSegment(go.PathSegment.Arc,0,-360,y,y,re,re).close())),z.spot1=Ce,z.spot2=Ge,z.defaultStretch=go.GraphObject.Uniform,z}),go.Shape.defineFigureGenerator("Cloud",function(le,E,a){return new go.Geometry().add(new go.PathFigure(.08034461*E,.1944299*a,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*E,.05349299*a,-.09239631*E,.07836421*a,.1406031*E,-.0542823*a)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*E,.074219*a,.2450511*E,-.00697547*a,.3776197*E,-.01112067*a)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*E,.07004196*a,.4539471*E,0,.6066018*E,-.02526587*a)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*E,.08370865*a,.6914277*E,-.01904177*a,.8921095*E,-.01220843*a)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*E,.3194596*a,1.036446*E,.04105738*a,1.020377*E,.3022052*a)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*E,.562044*a,1.04448*E,.360238*a,.992256*E,.5219009*a)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*E,.8217117*a,1.032337*E,.5771781*a,1.018411*E,.8120651*a)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*E,.9156953*a,1.028411*E,.9571472*a,.8556702*E,1.052487*a)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*E,.9310455*a,.7431877*E,1.009325*a,.5624123*E,1.021761*a)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*E,.9344623*a,.4820677*E,1.031761*a,.3030112*E,1.002796*a)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*E,.870098*a,.2329994*E,1.01518*a,.03213784*E,1.01518*a)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*E,.6545475*a,-.02812061*E,.9032597*a,-.01205169*E,.6835638*a)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*E,.4265613*a,-.01812061*E,.6089503*a,-.00606892*E,.4555777*a)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*E,.1944299*a,-.01606892*E,.3892545*a,-.01205169*E,.1944299*a))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(le,E,a){var x=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(x*E,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,0)).add(new go.PathSegment(go.PathSegment.Line,E,x*a)).add(new go.PathSegment(go.PathSegment.Line,E,(1-x)*a)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,a)).add(new go.PathSegment(go.PathSegment.Line,x*E,a)).add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*a)).add(new go.PathSegment(go.PathSegment.Line,0,x*a).close())).setSpots(x/2,x/2,1-x/2,1-x/2)}),go.Shape.setFigureParameter("Pie",0,new _e("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new _e("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(le,E,a){var x=le?le.parameter1:NaN,y=le?le.parameter2:NaN;isNaN(x)&&(x=0),isNaN(y)&&(y=315);var z=x%360;z<0&&(z+=360);var ne=y%360,re=Math.min(E,a)/2;return new go.Geometry().add(new go.PathFigure(re,re).add(new go.PathSegment(go.PathSegment.Arc,z,ne,re,re,re,re).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(le,E,a){var x=Fe/Math.SQRT2*.5,y=Math.SQRT2/2,z=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(E,a,!0).add(new go.PathSegment(go.PathSegment.Bezier,y*E,z*a,E,(1-x)*a,(y+x)*E,(z+x)*a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close()))}),go.Shape.setFigureParameter("ThickCross",0,new _e("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(le,E,a){var x=le?le.parameter1:NaN;(isNaN(x)||x<0)&&(x=30);var y=Math.min(x,E)/2,z=E/2,ne=a/2;return new go.Geometry().add(new go.PathFigure(z-y,0,!0).add(new go.PathSegment(go.PathSegment.Line,z+y,0)).add(new go.PathSegment(go.PathSegment.Line,z+y,ne-y)).add(new go.PathSegment(go.PathSegment.Line,E,ne-y)).add(new go.PathSegment(go.PathSegment.Line,E,ne+y)).add(new go.PathSegment(go.PathSegment.Line,z+y,ne+y)).add(new go.PathSegment(go.PathSegment.Line,z+y,a)).add(new go.PathSegment(go.PathSegment.Line,z-y,a)).add(new go.PathSegment(go.PathSegment.Line,z-y,ne+y)).add(new go.PathSegment(go.PathSegment.Line,0,ne+y)).add(new go.PathSegment(go.PathSegment.Line,0,ne-y)).add(new go.PathSegment(go.PathSegment.Line,z-y,ne-y).close()))}),go.Shape.setFigureParameter("ThinCross",0,new _e("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(le,E,a){var x=le?le.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var y=Math.min(x,E)/2,z=E/2,ne=a/2;return new go.Geometry().add(new go.PathFigure(z-y,0,!0).add(new go.PathSegment(go.PathSegment.Line,z+y,0)).add(new go.PathSegment(go.PathSegment.Line,z+y,ne-y)).add(new go.PathSegment(go.PathSegment.Line,E,ne-y)).add(new go.PathSegment(go.PathSegment.Line,E,ne+y)).add(new go.PathSegment(go.PathSegment.Line,z+y,ne+y)).add(new go.PathSegment(go.PathSegment.Line,z+y,a)).add(new go.PathSegment(go.PathSegment.Line,z-y,a)).add(new go.PathSegment(go.PathSegment.Line,z-y,ne+y)).add(new go.PathSegment(go.PathSegment.Line,0,ne+y)).add(new go.PathSegment(go.PathSegment.Line,0,ne-y)).add(new go.PathSegment(go.PathSegment.Line,z-y,ne-y).close()))}),go.Shape.setFigureParameter("ThickX",0,new _e("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(le,E,a){var x=le?le.parameter1:NaN;if((isNaN(x)||x<0)&&(x=30),E===0||a===0){var y=new go.Geometry(go.Geometry.Rectangle);return y.startX=0,y.startY=0,y.endX=E,y.endY=a,y}else{var z=E/2,ne=a/2,re=Math.atan2(a,E),ie=x-Math.min(Math.cos(re)*x/2,z),ge=x-Math.min(Math.sin(re)*x/2,ne),y=new go.Geometry,fe=new go.PathFigure(ie,0,!0);return y.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,z,.2*a)),fe.add(new go.PathSegment(go.PathSegment.Line,E-ie,0)),fe.add(new go.PathSegment(go.PathSegment.Line,E,ge)),fe.add(new go.PathSegment(go.PathSegment.Line,.8*E,ne)),fe.add(new go.PathSegment(go.PathSegment.Line,E,a-ge)),fe.add(new go.PathSegment(go.PathSegment.Line,E-ie,a)),fe.add(new go.PathSegment(go.PathSegment.Line,z,.8*a)),fe.add(new go.PathSegment(go.PathSegment.Line,ie,a)),fe.add(new go.PathSegment(go.PathSegment.Line,0,a-ge)),fe.add(new go.PathSegment(go.PathSegment.Line,.2*E,ne)),fe.add(new go.PathSegment(go.PathSegment.Line,0,ge).close()),y}}),go.Shape.setFigureParameter("ThinX",0,new _e("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(le,E,a){var x=le?le.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var y=new go.Geometry,z=new go.PathFigure(.1*E,0,!0);return y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.9*a)),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.1*a).close()),y}),go.Shape.setFigureParameter("SquareIBeam",0,new _e("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.2);var y=new go.Geometry,z=new go.PathFigure(0,0,!0);return y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,x*a)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*E,x*a)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*E,(1-x)*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,(1-x)*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*E,(1-x)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*E,x*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,x*a).close()),y}),go.Shape.setFigureParameter("RoundedIBeam",0,new _e("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.5);var y=new go.Geometry,z=new go.PathFigure(0,0,!0);return y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,E,a,Math.abs(1-x)*E,.25*a,Math.abs(1-x)*E,.75*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*E,.75*a,x*E,.25*a).close()),y}),go.Shape.defineFigureGenerator("HalfEllipse",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,Fe*E,0,E,(.5-Fe/2)*a)).add(new go.PathSegment(go.PathSegment.Bezier,0,a,E,(.5+Fe/2)*a,Fe*E,a).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,a,E,0,E,a)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*E,.75*a,.5*E,.25*a).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(le,E,a){return new go.Geometry().add(new go.PathFigure(.5*E,a,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*a,.1*E,.8*a,0,.5*a)).add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.3*a,0,0,.45*E,0)).add(new go.PathSegment(go.PathSegment.Bezier,E,.3*a,.55*E,0,E,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,.5*a,.9*E,.8*a).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(le,E,a){return new go.Geometry().add(new go.PathFigure(.5*E,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*E,.01*a)).add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,.6*E,.2*a,E,.25*a)).add(new go.PathSegment(go.PathSegment.Bezier,.55*E,.7*a,E,.8*a,.6*E,.8*a)).add(new go.PathSegment(go.PathSegment.Bezier,.75*E,a,.5*E,.75*a,.55*E,.95*a)).add(new go.PathSegment(go.PathSegment.Line,.25*E,a)).add(new go.PathSegment(go.PathSegment.Bezier,.45*E,.7*a,.45*E,.95*a,.5*E,.75*a)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,.4*E,.8*a,0,.8*a)).add(new go.PathSegment(go.PathSegment.Bezier,.49*E,.01*a,0,.25*a,.4*E,.2*a).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.4*E,.6*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.15*E,a,.5*E,.75*a,.45*E,.95*a)),y.add(new go.PathSegment(go.PathSegment.Line,.85*E,a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.6*E,.6*a,.55*E,.95*a,.5*E,.75*a));var z=.2,ne=.3,re=0,ie=z*Fe;return y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*E,(.5+z+re)*a,(.5-z+ne)*E,(.5+ie+re)*a,(.5-ie+ne)*E,(.5+z+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+z+ne)*E,(.5+re)*a,(.5+ie+ne)*E,(.5+z+re)*a,(.5+z+ne)*E,(.5+ie+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*E,(.5-z+re)*a,(1-.5+z+ne)*E,(.5-ie+re)*a,(.5+ie+ne)*E,(.5-z+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.65*E,.36771243*a,(.5-ie+ne)*E,(.5-z+re)*a,(.5-z+ne+.05)*E,(.5-ie+re-.02)*a)),z=.2,ne=0,re=-.3,ie=z*Fe,y.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+z+ne)*E,(.5+re)*a,(.5+ie+ne)*E,(.5+z+re)*a,(.5+z+ne)*E,(.5+ie+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*E,(.5-z+re)*a,(1-.5+z+ne)*E,(.5-ie+re)*a,(.5+ie+ne)*E,(.5-z+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-z+ne)*E,(.5+re)*a,(.5-ie+ne)*E,(.5-z+re)*a,(.5-z+ne)*E,(.5-ie+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ie+ne)*E,(.5+z+re)*a,(.5-z+ne)*E,(.5+ie+re)*a,(.5-ie+ne)*E,(.5+z+re)*a)),z=.2,ne=-.3,re=0,ie=z*Fe,y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*E,(.5-z+re)*a,(1-.5+z+ne-.05)*E,(.5-ie+re-.02)*a,(.5+ie+ne)*E,(.5-z+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-z+ne)*E,(.5+re)*a,(.5-ie+ne)*E,(.5-z+re)*a,(.5-z+ne)*E,(.5-ie+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*E,(.5+z+re)*a,(.5-z+ne)*E,(.5+ie+re)*a,(.5-ie+ne)*E,(.5+z+re)*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.4*E,.6*a,(.5+ie+ne)*E,(.5+z+re)*a,(.5+z+ne)*E,(.5+ie+re)*a).close()),x.setSpots(.06,.33,.93,.68),x}),go.Shape.defineFigureGenerator("YinYang",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*.5,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,180,E*.5,E*.5,E*.5,E*.5)),y.add(new go.PathSegment(go.PathSegment.Arc,90,-180,E*.5,E*.75,E*.25,E*.25)),y.add(new go.PathSegment(go.PathSegment.Arc,90,180,E*.5,E*.25,E*.25,E*.25));var z=.1,ne=.5,re=.25;return y.add(new go.PathSegment(go.PathSegment.Move,(ne+z)*E,re*a)),y.add(new go.PathSegment(go.PathSegment.Arc,0,-360,E*ne,a*re,z*E,z*E).close()),y=new go.PathFigure(E*.5,0,!1),x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,-180,E*.5,E*.5,E*.5,E*.5)),re=.75,y=new go.PathFigure((ne+z)*E,re*a,!0),x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,0,360,E*ne,a*re,z*E,z*E).close()),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Peace",function(le,E,a){var x=.8535533905932737,y=.5*E,z=.5*a;return new go.Geometry().add(new go.PathFigure(y,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,y,z,y,z)).add(new go.PathSegment(go.PathSegment.Line,y,a)).add(new go.PathSegment(go.PathSegment.Move,y,z)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,x*a)).add(new go.PathSegment(go.PathSegment.Move,y,z)).add(new go.PathSegment(go.PathSegment.Line,x*E,x*a)))}),go.Shape.defineFigureGenerator("NotAllowed",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=.5,ne=.5,re=.5,ie=new go.PathFigure(ne*E,(re-z)*a);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*E,re*a,(ne-y)*E,(re-z)*a,(ne-z)*E,(re-y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+z)*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,re*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-z)*a,(ne+z)*E,(re-y)*a,(ne+y)*E,(re-z)*a)),z=.4,y=Fe*.4;var ge=b(),fe=b(),Pe=b(),Ue=b();Ie(ne,re-z,ne+y,re-z,ne+z,re-y,ne+z,re,.42,ge,fe,Pe,Ue,Ue);var Me=b(),lt=b(),Le=b();Ie(ne,re-z,ne+y,re-z,ne+z,re-y,ne+z,re,.58,Ue,Ue,Le,Me,lt);var be=b(),Xe=b(),nt=b();Ie(ne,re+z,ne-y,re+z,ne-z,re+y,ne-z,re,.42,be,Xe,nt,Ue,Ue);var ye=b(),gt=b(),pt=b();return Ie(ne,re+z,ne-y,re+z,ne-z,re+y,ne-z,re,.58,Ue,Ue,pt,ye,gt),ie.add(new go.PathSegment(go.PathSegment.Move,pt.x*E,pt.y*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*E,re*a,ye.x*E,ye.y*a,gt.x*E,gt.y*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-z)*a,(ne-z)*E,(re-y)*a,(ne-y)*E,(re-z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,Pe.x*E,Pe.y*a,ge.x*E,ge.y*a,fe.x*E,fe.y*a)),ie.add(new go.PathSegment(go.PathSegment.Line,pt.x*E,pt.y*a).close()),ie.add(new go.PathSegment(go.PathSegment.Move,nt.x*E,nt.y*a)),ie.add(new go.PathSegment(go.PathSegment.Line,Le.x*E,Le.y*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,re*a,Me.x*E,Me.y*a,lt.x*E,lt.y*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+z)*a,(ne+z)*E,(re+y)*a,(ne+y)*E,(re+z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,nt.x*E,nt.y*a,be.x*E,be.y*a,Xe.x*E,Xe.y*a).close()),he(ge),he(fe),he(Pe),he(Ue),he(Me),he(lt),he(Le),he(be),he(Xe),he(nt),he(ye),he(gt),he(pt),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Fragile",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*E,0)).add(new go.PathSegment(go.PathSegment.Line,.2*E,.15*a)).add(new go.PathSegment(go.PathSegment.Line,.3*E,.25*a)).add(new go.PathSegment(go.PathSegment.Line,.29*E,.33*a)).add(new go.PathSegment(go.PathSegment.Line,.35*E,.25*a)).add(new go.PathSegment(go.PathSegment.Line,.3*E,.15*a)).add(new go.PathSegment(go.PathSegment.Line,.4*E,0)).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*E,.5*a,E,.25*a,.75*E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.55*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,a)).add(new go.PathSegment(go.PathSegment.Line,.3*E,a)).add(new go.PathSegment(go.PathSegment.Line,.3*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.45*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.45*E,.5*a)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*E,.5*a,0,.25*a).close()))}),go.Shape.setFigureParameter("HourGlass",0,new _e("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(le,E,a){var x=le?le.parameter1:NaN;(isNaN(x)||x<0)&&(x=30),x>E&&(x=E);var y=(E-x)/2,z=y+x;return new go.Geometry().add(new go.PathFigure(z,.5*a).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a)).add(new go.PathSegment(go.PathSegment.Line,y,.5*a)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,E,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,.55*a).add(new go.PathSegment(go.PathSegment.Line,.6*E,0)).add(new go.PathSegment(go.PathSegment.Line,.3*E,.45*a)).add(new go.PathSegment(go.PathSegment.Line,E,.45*a)).add(new go.PathSegment(go.PathSegment.Line,.4*E,a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,.55*a).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(le,E,a){var x=new go.Geometry,y=Fe*.4,z=.4,ne=.5,re=.5,ie=b(),ge=b(),fe=b(),Pe=b(),Ue=new go.PathFigure((ne-z)*E,re*a,!1);x.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-z)*a,(ne-z)*E,(re-y)*a,(ne-y)*E,(re-z)*a)),Ie(ne,re-z,ne+y,re-z,ne+z,re-y,ne+z,re,.44,fe,Pe,ge,ie,ie),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ge.x*E,ge.y*a,fe.x*E,fe.y*a,Pe.x*E,Pe.y*a));var Me=oe(ge.x,ge.y);Ie(ne,re-z,ne+y,re-z,ne+z,re-y,ne+z,re,.56,ie,ie,ge,fe,Pe);var lt=oe(ge.x,ge.y);Ue.add(new go.PathSegment(go.PathSegment.Line,(Me.x*.1+.95*.9)*E,Me.y*.1*a)),Ue.add(new go.PathSegment(go.PathSegment.Line,.85*E,Me.y*.1*a)),Ue.add(new go.PathSegment(go.PathSegment.Line,.85*E,0)),Ue.add(new go.PathSegment(go.PathSegment.Line,E,0)),Ue.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),Ue.add(new go.PathSegment(go.PathSegment.Line,(lt.x*.1+.9)*E,.15*a)),Ue.add(new go.PathSegment(go.PathSegment.Line,(lt.x*.1+.9)*E,(lt.y*.1+.05*.9)*a)),Ue.add(new go.PathSegment(go.PathSegment.Line,lt.x*E,lt.y*a)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,re*a,fe.x*E,fe.y*a,Pe.x*E,Pe.y*a)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+z)*a,(ne+z)*E,(re+y)*a,(ne+y)*E,(re+z)*a)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*E,re*a,(ne-y)*E,(re+z)*a,(ne-z)*E,(re+y)*a)),z=.35,y=Fe*.35;var Le=new go.PathFigure(ne*E,(re-z)*a,!1);x.add(Le),Le.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*E,re*a,(ne-y)*E,(re-z)*a,(ne-z)*E,(re-y)*a)),Le.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+z)*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a)),Le.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,re*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),Le.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-z)*a,(ne+z)*E,(re-y)*a,(ne+y)*E,(re-z)*a));var be=new go.PathFigure((ne-z)*E,re*a,!1);return x.add(be),he(ie),he(ge),he(fe),he(Pe),he(Me),he(lt),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(le,E,a){var x=new go.Geometry,y=.375,z=0,ne=-.125,re=y*Fe,ie=new go.PathFigure((.525+z)*E,(.5+y+ne)*a,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+y+z)*E,(.5+ne)*a,(.5+re+z)*E,(.5+y+ne)*a,(.5+y+z)*E,(.5+re+ne)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*E,(.5-y+ne)*a,(1-.5+y+z)*E,(.5-re+ne)*a,(.5+re+z)*E,(.5-y+ne)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+z)*E,(.5+ne)*a,(.5-re+z)*E,(.5-y+ne)*a,(.5-y+z)*E,(.5-re+ne)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.475+z)*E,(.5+y+ne)*a,(.5-y+z)*E,(.5+re+ne)*a,(.5-re+z)*E,(.5+y+ne)*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.475*E,.85*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.425*E,.85*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.425*E,.9*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.475*E,.9*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.475*E,a)),ie.add(new go.PathSegment(go.PathSegment.Line,.525*E,a)),ie.add(new go.PathSegment(go.PathSegment.Line,.525*E,.9*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.575*E,.9*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.575*E,.85*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.525*E,.85*a).close()),y=.325,z=0,ne=-.125,re=y*Fe;var ie=new go.PathFigure((1-.5+y+z)*E,(.5+ne)*a,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*E,(.5+y+ne)*a,(.5+y+z)*E,(.5+re+ne)*a,(.5+re+z)*E,(.5+y+ne)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+z)*E,(.5+ne)*a,(.5-re+z)*E,(.5+y+ne)*a,(.5-y+z)*E,(.5+re+ne)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*E,(.5-y+ne)*a,(.5-y+z)*E,(.5-re+ne)*a,(.5-re+z)*E,(.5-y+ne)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+y+z)*E,(.5+ne)*a,(.5+re+z)*E,(.5-y+ne)*a,(1-.5+y+z)*E,(.5-re+ne)*a));var ie=new go.PathFigure((.525+z)*E,(.5+y+ne)*a,!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(le,E,a){var x=le?le.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,a)).add(new go.PathSegment(go.PathSegment.Move,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(le,E,a){var x=le?le.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,a)).add(new go.PathSegment(go.PathSegment.Move,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Move,x*E,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,x*E,a))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)))}),go.Shape.defineFigureGenerator("LogicAnd",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,a,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,0)).add(new go.PathSegment(go.PathSegment.Line,E,a))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)).add(new go.PathSegment(go.PathSegment.Line,E,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(le,E,a){var x=new go.Geometry().add(new go.PathFigure(.5*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)).add(new go.PathSegment(go.PathSegment.Move,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*E,.5*a,.5*E,.5*a)));return x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicTruth",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Move,.5*E,0)).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,a,!1).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Move,.5*E,a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,0,.5*a)).add(new go.PathSegment(go.PathSegment.Move,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a)))}),go.Shape.defineFigureGenerator("LogicForAll",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Move,.25*E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.75*E,.5*a))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Move,0,a)).add(new go.PathSegment(go.PathSegment.Line,E,a))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(le,E,a){var x=.5;return new go.Geometry().add(new go.PathFigure(0,a,!1).add(new go.PathSegment(go.PathSegment.Line,0,x*a)).add(new go.PathSegment(go.PathSegment.Arc,180,180,x*E,x*a,x*E,x*a)).add(new go.PathSegment(go.PathSegment.Line,E,a))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(le,E,a){var x=.5;return new go.Geometry().add(new go.PathFigure(E,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,x*a)).add(new go.PathSegment(go.PathSegment.Arc,0,180,x*E,x*a,x*E,x*a)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new _e("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new _e("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.3);var y=le?le.parameter2:NaN;isNaN(y)&&(y=.3);var z=(1-x)*E,ne=(.5-y/2)*a,re=(.5+y/2)*a,ie=new go.Geometry,ge=new go.PathFigure(0,ne,!0);ie.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,z,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,z,0)),ge.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),ge.add(new go.PathSegment(go.PathSegment.Line,z,a)),ge.add(new go.PathSegment(go.PathSegment.Line,z,re)),ge.add(new go.PathSegment(go.PathSegment.Line,0,re).close()),ie.spot1=new go.Spot(0,ne/a);var fe=Be(0,re/a,1,re/a,z/E,1,1,.5,b());return ie.spot2=new go.Spot(fe.x,fe.y),he(fe),ie}),go.Shape.setFigureParameter("Arrow2",0,new _e("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new _e("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=30),x>E&&(x=E);var y=le?le.parameter2:NaN;isNaN(y)&&(y=30),y=Math.min(y,a/2);var z=E-x,ne=(a-y)/2,re=ne+y,ie=new go.Geometry,ge=new go.PathFigure(0,ne,!0);ie.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,z,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,z,0)),ge.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),ge.add(new go.PathSegment(go.PathSegment.Line,z,a)),ge.add(new go.PathSegment(go.PathSegment.Line,z,re)),ge.add(new go.PathSegment(go.PathSegment.Line,0,re).close()),ie.spot1=new go.Spot(0,ne/a);var fe=Be(0,re/a,1,re/a,z/E,1,1,.5,b());return ie.spot2=new go.Spot(fe.x,fe.y),he(fe),ie}),go.Shape.defineFigureGenerator("Chevron",function(le,E,a){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*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a).close()),x}),go.Shape.defineFigureGenerator("DoubleArrow",function(le,E,a){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*E,.214*a)),y.add(new go.PathSegment(go.PathSegment.Line,.3*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,1*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.3*E,1*a)),y.add(new go.PathSegment(go.PathSegment.Line,.3*E,.786*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,1*a).close()),x}),go.Shape.setFigureParameter("DoubleEndArrow",0,new _e("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.3);var y=(.5-x/2)*a,z=(.5+x/2)*a,ne=new go.Geometry,re=new go.PathFigure(E,.5*a,!0);ne.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,.3*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,.3*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,0,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,.3*E,0)),re.add(new go.PathSegment(go.PathSegment.Line,.3*E,y)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,y)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,0).close());var ie=Be(0,.5,.3,0,0,y/a,.1,y/a,b());return ne.spot1=new go.Spot(ie.x,ie.y),ie=Be(.7,1,1,.5,0,z/a,1,z/a,ie),ne.spot2=new go.Spot(ie.x,ie.y),he(ie),ne}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new _e("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new _e("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=40);var y=le?le.parameter2:NaN;isNaN(y)&&(y=100);var z=(a-x)/2,ne=z+x,re=(a-y)/2,ie=re+y;(x>a||y>a)&&(y>x?(x=x*a/y,z=(a-x)/2,ne=z+x,re=0,ie=a):(z=0,ne=a,re=0,ie=a));var ge=new go.Geometry,fe=new go.PathFigure(E,.5*a,!0);ge.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,.7*E,ie)),fe.add(new go.PathSegment(go.PathSegment.Line,.7*E,ne)),fe.add(new go.PathSegment(go.PathSegment.Line,.3*E,ne)),fe.add(new go.PathSegment(go.PathSegment.Line,.3*E,ie)),fe.add(new go.PathSegment(go.PathSegment.Line,0,.5*a)),fe.add(new go.PathSegment(go.PathSegment.Line,.3*E,re)),fe.add(new go.PathSegment(go.PathSegment.Line,.3*E,z)),fe.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),fe.add(new go.PathSegment(go.PathSegment.Line,.7*E,re).close());var Pe=Be(0,.5,.3,re/a,0,z/a,1,z/a,b());return ge.spot1=new go.Spot(Pe.x,Pe.y),Pe=Be(.7,ie/a,1,.5,0,ne/a,1,ne/a,Pe),ge.spot2=new go.Spot(Pe.x,Pe.y),he(Pe),ge}),go.Shape.setFigureParameter("IBeamArrow",0,new _e("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.3);var y=(.5-x/2)*a,z=(.5+x/2)*a,ne=new go.Geometry,re=new go.PathFigure(E,.5*a,!0);ne.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,0,a)),re.add(new go.PathSegment(go.PathSegment.Line,0,0)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,0)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,y)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,y)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,0).close()),ne.spot1=new go.Spot(0,y/a);var ie=Be(.7,1,1,.5,0,z/a,1,z/a,b());return ne.spot2=new go.Spot(ie.x,ie.y),he(ie),ne}),go.Shape.setFigureParameter("IBeamArrow2",0,new _e("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new _e("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=40);var y=le?le.parameter2:NaN;isNaN(y)&&(y=100);var z=(a-x)/2,ne=z+x,re=(a-y)/2,ie=re+y;(x>a||y>a)&&(y>x?(x=x*a/y,z=(a-x)/2,ne=z+x,re=0,ie=a):(z=0,ne=a,re=0,ie=a));var ge=new go.Geometry,fe=new go.PathFigure(E,.5*a,!0);ge.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,.7*E,ie)),fe.add(new go.PathSegment(go.PathSegment.Line,.7*E,ne)),fe.add(new go.PathSegment(go.PathSegment.Line,.2*E,ne)),fe.add(new go.PathSegment(go.PathSegment.Line,.2*E,ie)),fe.add(new go.PathSegment(go.PathSegment.Line,0,ie)),fe.add(new go.PathSegment(go.PathSegment.Line,0,re)),fe.add(new go.PathSegment(go.PathSegment.Line,.2*E,re)),fe.add(new go.PathSegment(go.PathSegment.Line,.2*E,z)),fe.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),fe.add(new go.PathSegment(go.PathSegment.Line,.7*E,re).close()),ge.spot1=new go.Spot(0,z/a);var Pe=Be(.7,ie/a,1,.5,0,ne/a,1,ne/a,b());return ge.spot2=new go.Spot(Pe.x,Pe.y),he(Pe),ge}),go.Shape.setFigureParameter("Pointer",0,new _e("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.1);var y=new go.Geometry,z=new go.PathFigure(E,.5*a,!0);y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,x*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),y.spot1=new go.Spot(x,.35);var ne=Be(.2,.65,1,.65,0,1,1,.5,b());return y.spot2=new go.Spot(ne.x,ne.y),he(ne),y}),go.Shape.setFigureParameter("RoundedPointer",0,new _e("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.3);var y=new go.Geometry,z=new go.PathFigure(E,.5*a,!0);y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*E,.75*a,x*E,.25*a).close()),y.spot1=new go.Spot(x,.35);var ne=Be(0,.65,1,.65,0,1,1,.5,b());return y.spot2=new go.Spot(ne.x,ne.y),he(ne),y}),go.Shape.setFigureParameter("SplitEndArrow",0,new _e("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.4);var y=(.5-x/2)*a,z=(.5+x/2)*a,ne=new go.Geometry,re=new go.PathFigure(E,.5*a,!0);ne.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,0,z)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,0,y)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,y)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,0).close()),ne.spot1=new go.Spot(.2,.3);var ie=Be(.7,1,1,.5,0,z/a,1,z/a,b());return ne.spot2=new go.Spot(ie.x,ie.y),he(ie),ne}),go.Shape.setFigureParameter("SplitEndArrow2",0,new _e("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=50);var y=(a-x)/2,z=y+x;x>a&&(y=0,z=a);var ne=new go.Geometry,re=new go.PathFigure(E,.5*a,!0);ne.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,0,z)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,0,y)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,y)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,0).close()),ne.spot1=new go.Spot(.2,y/a);var ie=Be(.7,1,1,.5,0,z/a,1,z/a,b());return ne.spot2=new go.Spot(ie.x,ie.y),he(ie),ne}),go.Shape.setFigureParameter("SquareArrow",0,new _e("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.7);var y=new go.Geometry,z=new go.PathFigure(E,.5*a,!0);return y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,x*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,0)),z.add(new go.PathSegment(go.PathSegment.Line,x*E,0).close()),y.spot1=go.Spot.TopLeft,y.spot2=new go.Spot(x,1),y}),go.Shape.defineFigureGenerator("Cone1",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=Fe*.1,ne=new go.PathFigure(0,.9*a,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,(.9+z)*a,(.5+y)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*a,(.5-y)*E,a,0,(.9+z)*a).close()),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.97),x}),go.Shape.defineFigureGenerator("Cone2",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.9*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,E,.9*a,(1-.85/.9)*E,a,.85/.9*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.9*a).close());var z=new go.PathFigure(0,.9*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,E,.9*a,(1-.85/.9)*E,.8*a,.85/.9*E,.8*a)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.82),x}),go.Shape.defineFigureGenerator("Cube1",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.85*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.15*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.85*a).close());var z=new go.PathFigure(.5*E,a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.15*a)),z.add(new go.PathSegment(go.PathSegment.Move,.5*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.5,.85),x}),go.Shape.defineFigureGenerator("Cube2",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.3*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.3*E,0).close());var z=new go.PathFigure(0,.3*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.7*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Move,.7*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.7,1),x}),go.Shape.defineFigureGenerator("Cylinder1",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var y=new go.Geometry,z=Fe*.5,ne=new go.PathFigure(0,x,!0);y.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,Fe*x,(.5-z)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,1*E,x,(.5+z)*E,0,1*E,Fe*x)),ne.add(new go.PathSegment(go.PathSegment.Line,E,a-x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,1*a,1*E,a-Fe*x,(.5+z)*E,1*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,a-x,(.5-z)*E,1*a,0,a-Fe*x)),ne.add(new go.PathSegment(go.PathSegment.Line,0,x));var re=new go.PathFigure(E,x,!1);return y.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,2*x,1*E,2*x-Fe*x,(.5+z)*E,2*x)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,x,(.5-z)*E,2*x,0,2*x-Fe*x)),y.spot1=new go.Spot(0,0,0,2*x),y.spot2=new go.Spot(1,1),y}),go.Shape.defineFigureGenerator("Cylinder2",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var y=new go.Geometry,z=Fe*.5,ne=new go.PathFigure(0,a-x,!0);y.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,0,x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,Fe*x,(.5-z)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,x,(.5+z)*E,0,E,Fe*x)),ne.add(new go.PathSegment(go.PathSegment.Line,E,a-x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,a-Fe*x,(.5+z)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,a-x,(.5-z)*E,a,0,a-Fe*x));var re=new go.PathFigure(0,a-x,!1);return y.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a-2*x,0,a-x-Fe*x,(.5-z)*E,a-2*x)),re.add(new go.PathSegment(go.PathSegment.Bezier,E,a-x,(.5+z)*E,a-2*x,E,a-x-Fe*x)),y.spot1=new go.Spot(0,0),y.spot2=new go.Spot(1,1,0,-2*x),y}),go.Shape.defineFigureGenerator("Cylinder3",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var y=new go.Geometry,z=Fe*.5,ne=new go.PathFigure(x,0,!0);y.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E-x,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,E-Fe*x,0,E,(.5-z)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E-x,a,E,(.5+z)*a,E-Fe*x,a)),ne.add(new go.PathSegment(go.PathSegment.Line,x,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,Fe*x,a,0,(.5+z)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-z)*a,Fe*x,0));var re=new go.PathFigure(x,0,!1);return y.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,2*x,.5*a,x+Fe*x,0,2*x,(.5-z)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,x,a,2*x,(.5+z)*a,x+Fe*x,a)),y.spot1=new go.Spot(0,0,2*x,0),y.spot2=new go.Spot(1,1),y}),go.Shape.defineFigureGenerator("Cylinder4",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var y=new go.Geometry,z=Fe*.5,ne=new go.PathFigure(E-x,0,!0);y.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,E-Fe*x,0,E,(.5-z)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E-x,a,E,(.5+z)*a,E-Fe*x,a)),ne.add(new go.PathSegment(go.PathSegment.Line,x,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,Fe*x,a,0,(.5+z)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-z)*a,Fe*x,0)),ne.add(new go.PathSegment(go.PathSegment.Line,E-x,0));var re=new go.PathFigure(E-x,0,!1);return y.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,E-2*x,.5*a,E-x-Fe*x,0,E-2*x,(.5-z)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,E-x,a,E-2*x,(.5+z)*a,E-x-Fe*x,a)),y.spot1=new go.Spot(0,0),y.spot2=new go.Spot(1,1,-2*x,0),y}),go.Shape.defineFigureGenerator("Prism1",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.25*E,.25*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var z=new go.PathFigure(.25*E,.25*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),x.spot1=new go.Spot(.408,.172),x.spot2=new go.Spot(.833,.662),x}),go.Shape.defineFigureGenerator("Prism2",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.25*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,.75*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var z=new go.PathFigure(0,a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.25*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),z.add(new go.PathSegment(go.PathSegment.Move,0,.25*a)),z.add(new go.PathSegment(go.PathSegment.Line,.25*E,.5*a)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("Pyramid1",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.75*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*a).close());var z=new go.PathFigure(.5*E,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Pyramid2",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.85*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.85*a).close());var z=new go.PathFigure(.5*E,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.7*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.85*a)),z.add(new go.PathSegment(go.PathSegment.Move,.5*E,.7*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.85*a)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Actor",function(le,E,a){var x=new go.Geometry,y=.2,z=.1,ne=Fe*y,re=Fe*z,ie=.5,ge=.1,fe=new go.PathFigure(ie*E,(ge+z)*a,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ie-y)*E,ge*a,(ie-ne)*E,(ge+z)*a,(ie-y)*E,(ge+re)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge-z)*a,(ie-y)*E,(ge-re)*a,(ie-ne)*E,(ge-z)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ie+y)*E,ge*a,(ie+ne)*E,(ge-z)*a,(ie+y)*E,(ge-re)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge+z)*a,(ie+y)*E,(ge+re)*a,(ie+ne)*E,(ge+z)*a));var Pe=.05,Ue=Fe*Pe;ie=.05,ge=.25;var Me=new go.PathFigure(.5*E,.2*a,!0);return x.add(Me),Me.add(new go.PathSegment(go.PathSegment.Line,.95*E,.2*a)),ie=.95,ge=.25,Me.add(new go.PathSegment(go.PathSegment.Bezier,(ie+Pe)*E,ge*a,(ie+Ue)*E,(ge-Pe)*a,(ie+Pe)*E,(ge-Ue)*a)),Me.add(new go.PathSegment(go.PathSegment.Line,E,.6*a)),Me.add(new go.PathSegment(go.PathSegment.Line,.85*E,.6*a)),Me.add(new go.PathSegment(go.PathSegment.Line,.85*E,.35*a)),Pe=.025,Ue=Fe*Pe,ie=.825,ge=.35,Me.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge-Pe)*a,(ie+Pe)*E,(ge-Ue)*a,(ie+Ue)*E,(ge-Pe)*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ie-Pe)*E,ge*a,(ie-Ue)*E,(ge-Pe)*a,(ie-Pe)*E,(ge-Ue)*a)),Me.add(new go.PathSegment(go.PathSegment.Line,.8*E,a)),Me.add(new go.PathSegment(go.PathSegment.Line,.55*E,a)),Me.add(new go.PathSegment(go.PathSegment.Line,.55*E,.7*a)),Pe=.05,Ue=Fe*Pe,ie=.5,ge=.7,Me.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge-Pe)*a,(ie+Pe)*E,(ge-Ue)*a,(ie+Ue)*E,(ge-Pe)*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ie-Pe)*E,ge*a,(ie-Ue)*E,(ge-Pe)*a,(ie-Pe)*E,(ge-Ue)*a)),Me.add(new go.PathSegment(go.PathSegment.Line,.45*E,a)),Me.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),Me.add(new go.PathSegment(go.PathSegment.Line,.2*E,.35*a)),Pe=.025,Ue=Fe*Pe,ie=.175,ge=.35,Me.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge-Pe)*a,(ie+Pe)*E,(ge-Ue)*a,(ie+Ue)*E,(ge-Pe)*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ie-Pe)*E,ge*a,(ie-Ue)*E,(ge-Pe)*a,(ie-Pe)*E,(ge-Ue)*a)),Me.add(new go.PathSegment(go.PathSegment.Line,.15*E,.6*a)),Me.add(new go.PathSegment(go.PathSegment.Line,0,.6*a)),Me.add(new go.PathSegment(go.PathSegment.Line,0,.25*a)),Pe=.05,Ue=Fe*Pe,ie=.05,ge=.25,Me.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge-Pe)*a,(ie-Pe)*E,(ge-Ue)*a,(ie-Ue)*E,(ge-Pe)*a)),Me.add(new go.PathSegment(go.PathSegment.Line,.5*E,.2*a)),x.spot1=new go.Spot(.2,.2),x.spot2=new go.Spot(.8,.65),x}),go.Shape.setFigureParameter("Card",0,new _e("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(le,E,a){var x=le?le.parameter1:NaN;isNaN(x)&&(x=.2);var y=new go.Geometry,z=new go.PathFigure(E,0,!0);return y.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,x*a)),z.add(new go.PathSegment(go.PathSegment.Line,x*E,0).close()),y.spot1=new go.Spot(0,x),y.spot2=go.Spot.BottomRight,y}),go.Shape.defineFigureGenerator("Collate",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,.5*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a));var z=new go.PathFigure(.5*E,.5*a,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,.25),x}),go.Shape.defineFigureGenerator("CreateRequest",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)&&(y=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ne=new go.PathFigure(0,y*a,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,y*a)),ne.add(new go.PathSegment(go.PathSegment.Move,0,(1-y)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,E,(1-y)*a)),x}),go.Shape.defineFigureGenerator("Database",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=Fe*.1,ne=new go.PathFigure(E,.1*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,(.9+z)*a,(.5+y)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*a,(.5-y)*E,a,0,(.9+z)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.1*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,(.1-z)*a,(.5-y)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,.1*a,(.5+y)*E,0,E,(.1-z)*a));var re=new go.PathFigure(E,.1*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.2*a,E,(.1+z)*a,(.5+y)*E,.2*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*a,(.5-y)*E,.2*a,0,(.1+z)*a)),re.add(new go.PathSegment(go.PathSegment.Move,E,.2*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.3*a,E,(.2+z)*a,(.5+y)*E,.3*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*a,(.5-y)*E,.3*a,0,(.2+z)*a)),re.add(new go.PathSegment(go.PathSegment.Move,E,.3*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.4*a,E,(.3+z)*a,(.5+y)*E,.4*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*a,(.5-y)*E,.4*a,0,(.3+z)*a)),x.spot1=new go.Spot(0,.4),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("DataStorage",function(le,E,a){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*E,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*E,a,E,0,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*E,.9*a,.25*E,.1*a).close()),x.spot1=new go.Spot(.226,0),x.spot2=new go.Spot(.81,1),x}),go.Shape.defineFigureGenerator("DiskStorage",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=Fe*.1,ne=new go.PathFigure(E,.1*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,(.9+z)*a,(.5+y)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*a,(.5-y)*E,a,0,(.9+z)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.1*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,(.1-z)*a,(.5-y)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,.1*a,(.5+y)*E,0,E,(.1-z)*a));var re=new go.PathFigure(E,.1*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.2*a,E,(.1+z)*a,(.5+y)*E,.2*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*a,(.5-y)*E,.2*a,0,(.1+z)*a)),re.add(new go.PathSegment(go.PathSegment.Move,E,.2*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.3*a,E,(.2+z)*a,(.5+y)*E,.3*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*a,(.5-y)*E,.3*a,0,(.2+z)*a)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("Display",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.25*E,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*E,a,E,0,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.25*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*a).close()),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("DividedEvent",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)?y=.2:y<.15&&(y=.15);var z=Fe*.2,ne=new go.PathFigure(0,.2*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,0,0,(.2-z)*a,(.2-z)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.8*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,.2*a,(.8+z)*E,0,E,(.2-z)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,a,E,(.8+z)*a,(.8+z)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*a,(.2-z)*E,a,0,(.8+z)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.2*a));var re=new go.PathFigure(0,y*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E,y*a)),x}),go.Shape.defineFigureGenerator("DividedProcess",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;(isNaN(y)||y<.1)&&(y=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ne=new go.PathFigure(0,y*a,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,y*a)),x}),go.Shape.defineFigureGenerator("Document",function(le,E,a){var x=new go.Geometry;a=a/.8;var y=new go.PathFigure(0,.7*a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*a,.5*E,.4*a,.5*E,a).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("ExternalOrganization",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;(isNaN(y)||y<.2)&&(y=.2);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ne=new go.PathFigure(y*E,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,0,y*a)),ne.add(new go.PathSegment(go.PathSegment.Move,E,y*a)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-y)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Move,0,(1-y)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,y*E,a)),ne.add(new go.PathSegment(go.PathSegment.Move,(1-y)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,E,(1-y)*a)),x}),go.Shape.defineFigureGenerator("ExternalProcess",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*a).close());var z=new go.PathFigure(.1*E,.4*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Move,.9*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Move,.6*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Move,.4*E,.9*a)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,.9*a)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("File",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var z=new go.PathFigure(.75*E,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.75*E,.25*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Interrupt",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E,.5*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a));var z=new go.PathFigure(E,.5*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,a));var ne=new go.PathFigure(E,.5*a,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,0)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("InternalStorage",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN,z=le?le.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(z)&&(z=.1);var ne=new go.PathFigure(0,0,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var re=new go.PathFigure(y*E,0,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,y*E,a)),re.add(new go.PathSegment(go.PathSegment.Move,0,z*a)),re.add(new go.PathSegment(go.PathSegment.Line,E,z*a)),x}),go.Shape.defineFigureGenerator("Junction",function(le,E,a){var x=new go.Geometry,y=1/Math.SQRT2,z=(1-1/Math.SQRT2)/2,ne=Fe*.5,re=.5,ie=new go.PathFigure(E,re*a,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,re*E,a,E,(re+ne)*a,(re+ne)*E,a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,re*a,(re-ne)*E,a,0,(re+ne)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,re*E,0,0,(re-ne)*a,(re-ne)*E,0)),ie.add(new go.PathSegment(go.PathSegment.Bezier,E,re*a,(re+ne)*E,0,E,(re-ne)*a));var ge=new go.PathFigure((z+y)*E,(z+y)*a,!1);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,z*E,z*a)),ge.add(new go.PathSegment(go.PathSegment.Move,z*E,(z+y)*a)),ge.add(new go.PathSegment(go.PathSegment.Line,(z+y)*E,z*a)),x}),go.Shape.defineFigureGenerator("LinedDocument",function(le,E,a){var x=new go.Geometry;a=a/.8;var y=new go.PathFigure(0,.7*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*a,.5*E,.4*a,.5*E,a).close());var z=new go.PathFigure(.1*E,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,.75*a)),x.spot1=new go.Spot(.1,0),x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("LoopLimit",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*a)),y.add(new go.PathSegment(go.PathSegment.Line,.25*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MagneticTape",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=.5,ne=new go.PathFigure(.5*E,a,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,z*a,(z-y)*E,a,0,(z+y)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*E,0,0,(z-y)*a,(z-y)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,z*a,(z+y)*E,0,E,(z-y)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(z+.1)*E,.9*a,E,(z+y)*a,(z+y)*E,.9*a)),ne.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),ne.add(new go.PathSegment(go.PathSegment.Line,E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),x.spot1=new go.Spot(.15,.15),x.spot2=new go.Spot(.85,.8),x}),go.Shape.defineFigureGenerator("ManualInput",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*a).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MessageFromUser",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)&&(y=.7);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,y*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("MicroformProcessing",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)&&(y=.25);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,y*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,(1-y)*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x}),go.Shape.defineFigureGenerator("MicroformRecording",function(le,E,a){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*E,.25*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.85*a)),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,.75*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("MultiDocument",function(le,E,a){var x=new go.Geometry;a=a/.8;var y=new go.PathFigure(E,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,.44*a,.96*E,.47*a,.93*E,.45*a)),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.54*a,.86*E,.57*a,.83*E,.55*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*a,.4*E,.4*a,.4*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,.1*a)),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,.1*a)),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,0).close());var z=new go.PathFigure(.1*E,.2*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.54*a)),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.44*a)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.8,.77),x}),go.Shape.defineFigureGenerator("MultiProcess",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.1*E,.1*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,.1*a)),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,.9*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,.9*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,.2*a).close());var z=new go.PathFigure(.2*E,.1*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a)),z.add(new go.PathSegment(go.PathSegment.Move,.1*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.9*a)),x.spot1=new go.Spot(0,.2),x.spot2=new go.Spot(.8,1),x}),go.Shape.defineFigureGenerator("OfflineStorage",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)&&(y=.1);var z=1-y,ne=new go.PathFigure(0,0,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*E,a).close());var re=new go.PathFigure(.5*y*E,y*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,(1-.5*y)*E,y*a)),x}),go.Shape.defineFigureGenerator("OffPageConnector",function(le,E,a){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*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("Or",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=.5,ne=new go.PathFigure(E,z*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*E,a,E,(z+y)*a,(z+y)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,z*a,(z-y)*E,a,0,(z+y)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*E,0,0,(z-y)*a,(z-y)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,z*a,(z+y)*E,0,E,(z-y)*a));var re=new go.PathFigure(E,.5*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,0,.5*a)),re.add(new go.PathSegment(go.PathSegment.Move,.5*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),x}),go.Shape.defineFigureGenerator("PaperTape",function(le,E,a){var x=new go.Geometry;a=a/.8;var y=new go.PathFigure(0,.7*a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.3*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,E,.3*a,.5*E,.6*a,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*a,.5*E,.4*a,.5*E,a).close()),x.spot1=new go.Spot(0,.49),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN,z=le?le.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(z)&&(z=.3);var ne=new go.PathFigure(0,0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-z)*E,.5*a)),ne.add(new go.PathSegment(go.PathSegment.Line,E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN,z=le?le.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(z)&&(z=.3);var ne=new go.PathFigure(0,0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,(1-z)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-z)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x}),go.Shape.defineFigureGenerator("Procedure",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)&&(y=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ne=new go.PathFigure((1-y)*E,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,(1-y)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Move,y*E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,y*E,a)),x}),go.Shape.defineFigureGenerator("Process",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)&&(y=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ne=new go.PathFigure(y*E,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,y*E,a)),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Sort",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*a).close());var z=new go.PathFigure(0,.5*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.5),x}),go.Shape.defineFigureGenerator("Start",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)&&(y=.25);var z=new go.PathFigure(y*E,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*E,.5*a,.25*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*E,.5*a,.25*E,.5*a));var ne=new go.PathFigure(y*E,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,y*E,a)),ne.add(new go.PathSegment(go.PathSegment.Move,(1-y)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-y)*E,a)),x.spot1=new go.Spot(y,0),x.spot2=new go.Spot(1-y,1),x}),go.Shape.defineFigureGenerator("Terminator",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.25*E,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*E,.5*a,.25*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*E,.5*a,.25*E,.5*a)),x.spot1=new go.Spot(.23,0),x.spot2=new go.Spot(.77,1),x}),go.Shape.defineFigureGenerator("TransmittalTape",function(le,E,a){var x=new go.Geometry,y=le?le.parameter1:NaN;isNaN(y)&&(y=.1);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.75*E,(1-y)*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,(1-y)*a).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("AndGate",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,(.5+y)*E,0,E,(.5-y)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,(.5+y)*a,(.5+y)*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.55,1),x}),go.Shape.defineFigureGenerator("Buffer",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Clock",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=.5,ne=new go.PathFigure(E,z*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*E,a,E,(z+y)*a,(z+y)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,z*a,(z-y)*E,a,0,(z+y)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*E,0,0,(z-y)*a,(z-y)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,z*a,(z+y)*E,0,E,(z-y)*a));var re=new go.PathFigure(E,z*a,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E,z*a));var ie=new go.PathFigure(.8*E,.75*a,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,.8*E,.25*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.6*E,.25*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.6*E,.75*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.4*E,.75*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.4*E,.25*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*E,.25*a)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*E,.75*a)),x}),go.Shape.defineFigureGenerator("Ground",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Move,.2*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Move,.3*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.7*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Move,.4*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,a)),x}),go.Shape.defineFigureGenerator("Inverter",function(le,E,a){var x=new go.Geometry,y=Fe*.1,z=.1,ne=.9,re=.5,ie=new go.PathFigure(.8*E,.5*a,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,0,a)),ie.add(new go.PathSegment(go.PathSegment.Line,0,0)),ie.add(new go.PathSegment(go.PathSegment.Line,.8*E,.5*a));var ge=new go.PathFigure((ne+z)*E,re*a,!0);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+z)*a,(ne+z)*E,(re+y)*a,(ne+y)*E,(re+z)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*E,re*a,(ne-y)*E,(re+z)*a,(ne-z)*E,(re+y)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-z)*a,(ne-z)*E,(re-y)*a,(ne-y)*E,(re-z)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,re*a,(ne+y)*E,(re-z)*a,(ne+z)*E,(re-y)*a)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.4,.75),x}),go.Shape.defineFigureGenerator("NandGate",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=Fe*.4,ne=Fe*.1,re=.1,ie=.9,ge=.5,fe=new go.PathFigure(.8*E,.5*a,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,.4*E,a,.8*E,(.5+z)*a,(.4+y)*E,a)),fe.add(new go.PathSegment(go.PathSegment.Line,0,a)),fe.add(new go.PathSegment(go.PathSegment.Line,0,0)),fe.add(new go.PathSegment(go.PathSegment.Line,.4*E,0)),fe.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.5*a,(.4+y)*E,0,.8*E,(.5-z)*a));var Pe=new go.PathFigure((ie+re)*E,ge*a,!0);return x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge+re)*a,(ie+re)*E,(ge+ne)*a,(ie+ne)*E,(ge+re)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ie-re)*E,ge*a,(ie-ne)*E,(ge+re)*a,(ie-re)*E,(ge+ne)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge-re)*a,(ie-re)*E,(ge-ne)*a,(ie-ne)*E,(ge-re)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ie+re)*E,ge*a,(ie+ne)*E,(ge-re)*a,(ie+re)*E,(ge-ne)*a)),x.spot1=new go.Spot(0,.05),x.spot2=new go.Spot(.55,.95),x}),go.Shape.defineFigureGenerator("NorGate",function(le,E,a){var x=new go.Geometry,y=.5,z=Fe*y,ne=0,re=.5,ie=new go.PathFigure(.8*E,.5*a,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,a,.7*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*E,.75*a,.25*E,.25*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.5*a,(ne+z)*E,(re-y)*a,.7*E,(re-z)*a)),y=.1,z=Fe*.1,ne=.9,re=.5;var ge=new go.PathFigure((ne-y)*E,re*a,!0);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-y)*a,(ne-y)*E,(re-z)*a,(ne-z)*E,(re-y)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ne+y)*E,re*a,(ne+z)*E,(re-y)*a,(ne+y)*E,(re-z)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+y)*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ne-y)*E,re*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a)),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.6,.75),x}),go.Shape.defineFigureGenerator("OrGate",function(le,E,a){var x=new go.Geometry,y=.5,z=Fe*y,ne=0,re=.5,ie=new go.PathFigure(0,0,!0);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,(ne+z+z)*E,(re-y)*a,.8*E,(re-z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,a,.8*E,(re+z)*a,(ne+z+z)*E,(re+y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*E,.75*a,.25*E,.25*a).close()),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("XnorGate",function(le,E,a){var x=new go.Geometry,y=.5,z=Fe*y,ne=.2,re=.5,ie=new go.PathFigure(.1*E,0,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,.1*E,a,.35*E,.25*a,.35*E,.75*a));var ge=new go.PathFigure(.8*E,.5*a,!0);x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,a,.7*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,0,.45*E,.75*a,.45*E,.25*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.5*a,(ne+z)*E,(re-y)*a,.7*E,(re-z)*a)),y=.1,z=Fe*.1,ne=.9,re=.5;var fe=new go.PathFigure((ne-y)*E,re*a,!0);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-y)*a,(ne-y)*E,(re-z)*a,(ne-z)*E,(re-y)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+y)*E,re*a,(ne+z)*E,(re-y)*a,(ne+y)*E,(re-z)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+y)*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-y)*E,re*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a)),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.65,.75),x}),go.Shape.defineFigureGenerator("XorGate",function(le,E,a){var x=new go.Geometry,y=.5,z=Fe*y,ne=.2,re=.5,ie=new go.PathFigure(.1*E,0,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,.1*E,a,.35*E,.25*a,.35*E,.75*a));var ge=new go.PathFigure(.2*E,0,!0);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,(ne+z)*E,(re-y)*a,.9*E,(re-z)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,a,.9*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,0,.45*E,.75*a,.45*E,.25*a).close()),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.8,.75),x}),go.Shape.defineFigureGenerator("Capacitor",function(le,E,a){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,a)),y.add(new go.PathSegment(go.PathSegment.Move,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),x}),go.Shape.defineFigureGenerator("Resistor",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.5*a,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.3*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.4*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.7*E,.5*a)),x}),go.Shape.defineFigureGenerator("Inductor",function(le,E,a){var x=new go.Geometry,y=Fe*.1,z=.1,ne=.1,re=.5,ie=new go.PathFigure((ne-y*.5)*E,a,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,0,(ne-y)*E,a,(ne-z)*E,0)),ne=.3,ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,a,(ne+z)*E,0,(ne+y)*E,a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,0,(ne-y)*E,a,(ne-z)*E,0)),ne=.5,ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,a,(ne+z)*E,0,(ne+y)*E,a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,0,(ne-y)*E,a,(ne-z)*E,0)),ne=.7,ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,a,(ne+z)*E,0,(ne+y)*E,a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,0,(ne-y)*E,a,(ne-z)*E,0)),ne=.9,ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+y*.5)*E,a,(ne+z)*E,0,(ne+y)*E,a)),x}),go.Shape.defineFigureGenerator("ACvoltageSource",function(le,E,a){var x=new go.Geometry,y=Fe*.5,z=.5,ne=.5,re=.5,ie=new go.PathFigure((ne-z)*E,re*a,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-z)*a,(ne-z)*E,(re-y)*a,(ne-y)*E,(re-z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,re*a,(ne+y)*E,(re-z)*a,(ne+z)*E,(re-y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+z)*a,(ne+z)*E,(re+y)*a,(ne+y)*E,(re+z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*E,re*a,(ne-y)*E,(re+z)*a,(ne-z)*E,(re+y)*a)),ie.add(new go.PathSegment(go.PathSegment.Move,(ne-z+.1)*E,re*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z-.1)*E,re*a,ne*E,(re-z)*a,ne*E,(re+z)*a)),x}),go.Shape.defineFigureGenerator("DCvoltageSource",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.75*a,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*a)),y.add(new go.PathSegment(go.PathSegment.Move,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),x}),go.Shape.defineFigureGenerator("Diode",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Wifi",function(le,E,a){var x=new go.Geometry,y=E,z=a;E=E*.38,a=a*.6;var ne=Fe*.8,re=.8,ie=0,ge=.5,fe=(y-E)/2,Pe=(z-a)/2,Ue=new go.PathFigure(ie*E+fe,(ge+re)*a+Pe,!0);x.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(ie-re)*E+fe,ge*a+Pe,(ie-ne)*E+fe,(ge+re)*a+Pe,(ie-re)*E+fe,(ge+ne)*a+Pe)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge-re)*a+Pe,(ie-re)*E+fe,(ge-ne)*a+Pe,(ie-ne)*E+fe,(ge-re)*a+Pe)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(ie-re+ne*.5)*E+fe,ge*a+Pe,ie*E+fe,(ge-re)*a+Pe,(ie-re+ne*.5)*E+fe,(ge-ne)*a+Pe)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge+re)*a+Pe,(ie-re+ne*.5)*E+fe,(ge+ne)*a+Pe,ie*E+fe,(ge+re)*a+Pe).close()),ne=Fe*.4,re=.4,ie=.2,ge=.5;var Me=new go.PathFigure(ie*E+fe,(ge+re)*a+Pe,!0);x.add(Me),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ie-re)*E+fe,ge*a+Pe,(ie-ne)*E+fe,(ge+re)*a+Pe,(ie-re)*E+fe,(ge+ne)*a+Pe)),Me.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge-re)*a+Pe,(ie-re)*E+fe,(ge-ne)*a+Pe,(ie-ne)*E+fe,(ge-re)*a+Pe)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ie-re+ne*.5)*E+fe,ge*a+Pe,ie*E+fe,(ge-re)*a+Pe,(ie-re+ne*.5)*E+fe,(ge-ne)*a+Pe)),Me.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge+re)*a+Pe,(ie-re+ne*.5)*E+fe,(ge+ne)*a+Pe,ie*E+fe,(ge+re)*a+Pe).close()),ne=Fe*.2,re=.2,ie=.5,ge=.5;var lt=new go.PathFigure((ie-re)*E+fe,ge*a+Pe,!0);x.add(lt),lt.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge-re)*a+Pe,(ie-re)*E+fe,(ge-ne)*a+Pe,(ie-ne)*E+fe,(ge-re)*a+Pe)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(ie+re)*E+fe,ge*a+Pe,(ie+ne)*E+fe,(ge-re)*a+Pe,(ie+re)*E+fe,(ge-ne)*a+Pe)),lt.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge+re)*a+Pe,(ie+re)*E+fe,(ge+ne)*a+Pe,(ie+ne)*E+fe,(ge+re)*a+Pe)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(ie-re)*E+fe,ge*a+Pe,(ie-ne)*E+fe,(ge+re)*a+Pe,(ie-re)*E+fe,(ge+ne)*a+Pe)),ne=Fe*.4,re=.4,ie=.8,ge=.5;var Le=new go.PathFigure(ie*E+fe,(ge-re)*a+Pe,!0);x.add(Le),Le.add(new go.PathSegment(go.PathSegment.Bezier,(ie+re)*E+fe,ge*a+Pe,(ie+ne)*E+fe,(ge-re)*a+Pe,(ie+re)*E+fe,(ge-ne)*a+Pe)),Le.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge+re)*a+Pe,(ie+re)*E+fe,(ge+ne)*a+Pe,(ie+ne)*E+fe,(ge+re)*a+Pe)),Le.add(new go.PathSegment(go.PathSegment.Bezier,(ie+re-ne*.5)*E+fe,ge*a+Pe,ie*E+fe,(ge+re)*a+Pe,(ie+re-ne*.5)*E+fe,(ge+ne)*a+Pe)),Le.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge-re)*a+Pe,(ie+re-ne*.5)*E+fe,(ge-ne)*a+Pe,ie*E+fe,(ge-re)*a+Pe).close()),ne=Fe*.8,re=.8,ie=1,ge=.5;var be=new go.PathFigure(ie*E+fe,(ge-re)*a+Pe,!0);return x.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,(ie+re)*E+fe,ge*a+Pe,(ie+ne)*E+fe,(ge-re)*a+Pe,(ie+re)*E+fe,(ge-ne)*a+Pe)),be.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge+re)*a+Pe,(ie+re)*E+fe,(ge+ne)*a+Pe,(ie+ne)*E+fe,(ge+re)*a+Pe)),be.add(new go.PathSegment(go.PathSegment.Bezier,(ie+re-ne*.5)*E+fe,ge*a+Pe,ie*E+fe,(ge+re)*a+Pe,(ie+re-ne*.5)*E+fe,(ge+ne)*a+Pe)),be.add(new go.PathSegment(go.PathSegment.Bezier,ie*E+fe,(ge-re)*a+Pe,(ie+re-ne*.5)*E+fe,(ge-ne)*a+Pe,ie*E+fe,(ge-re)*a+Pe).close()),x}),go.Shape.defineFigureGenerator("Email",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Move,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,.45*E,.54*a)),z.add(new go.PathSegment(go.PathSegment.Move,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.55*E,.54*a)),x}),go.Shape.defineFigureGenerator("Ethernet",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.35*E,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.65*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.65*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,.35*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,.35*E,0).close());var z=new go.PathFigure(.1*E,a,!0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,a).close());var ne=new go.PathFigure(.6*E,a,!0,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.9*E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,.9*E,.6*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.6*E,.6*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.6*E,a).close());var re=new go.PathFigure(0,.5*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Move,.5*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,.5*E,.4*a)),re.add(new go.PathSegment(go.PathSegment.Move,.75*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,.75*E,.6*a)),re.add(new go.PathSegment(go.PathSegment.Move,.25*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,.25*E,.6*a)),x}),go.Shape.defineFigureGenerator("Power",function(le,E,a){var x=new go.Geometry,y=Fe*.4,z=.4,ne=.5,re=.5,ie=b(),ge=b(),fe=b(),Pe=b();Ie(ne,re-z,ne+y,re-z,ne+z,re-y,ne+z,re,.5,ie,ie,ge,fe,Pe);var Ue=oe(ge.x,ge.y),Me=new go.PathFigure(ge.x*E,ge.y*a,!0);x.add(Me),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,re*a,fe.x*E,fe.y*a,Pe.x*E,Pe.y*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+z)*a,(ne+z)*E,(re+y)*a,(ne+y)*E,(re+z)*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*E,re*a,(ne-y)*E,(re+z)*a,(ne-z)*E,(re+y)*a)),Ie(ne-z,re,ne-z,re-y,ne-y,re-z,ne,re-z,.5,fe,Pe,ge,ie,ie),Me.add(new go.PathSegment(go.PathSegment.Bezier,ge.x*E,ge.y*a,fe.x*E,fe.y*a,Pe.x*E,Pe.y*a)),y=Fe*.3,z=.3,Ie(ne-z,re,ne-z,re-y,ne-y,re-z,ne,re-z,.5,fe,Pe,ge,ie,ie),Me.add(new go.PathSegment(go.PathSegment.Line,ge.x*E,ge.y*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*E,re*a,Pe.x*E,Pe.y*a,fe.x*E,fe.y*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+z)*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*E,re*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),Ie(ne,re-z,ne+y,re-z,ne+z,re-y,ne+z,re,.5,ie,ie,ge,fe,Pe),Me.add(new go.PathSegment(go.PathSegment.Bezier,ge.x*E,ge.y*a,Pe.x*E,Pe.y*a,fe.x*E,fe.y*a).close());var Me=new go.PathFigure(.45*E,0,!0);return x.add(Me),Me.add(new go.PathSegment(go.PathSegment.Line,.45*E,.5*a)),Me.add(new go.PathSegment(go.PathSegment.Line,.55*E,.5*a)),Me.add(new go.PathSegment(go.PathSegment.Line,.55*E,0).close()),he(ie),he(ge),he(fe),he(Pe),he(Ue),x.spot1=new go.Spot(.25,.45),x.spot2=new go.Spot(.75,.8),x}),go.Shape.defineFigureGenerator("Fallout",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a/2,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,180,360,E/2,a/2,E/2,a/2));function z(ne,re,ie){ne.add(new go.PathSegment(go.PathSegment.Move,(.3+re)*E,(.8+ie)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,(.5+re)*E,(.5+ie)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,(.1+re)*E,(.5+ie)*a)),ne.add(new go.PathSegment(go.PathSegment.Line,(.3+re)*E,(.8+ie)*a).close())}return z(y,0,0),z(y,.4,0),z(y,.2,-.3),x}),go.Shape.defineFigureGenerator("IrritationHazard",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.2*E,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.3*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,.7*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.3*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*a).close()),x.spot1=new go.Spot(.3,.3),x.spot2=new go.Spot(.7,.7),x}),go.Shape.defineFigureGenerator("ElectricalHazard",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.37*E,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.11*a)),y.add(new go.PathSegment(go.PathSegment.Line,.77*E,.04*a)),y.add(new go.PathSegment(go.PathSegment.Line,.33*E,.49*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.37*a)),y.add(new go.PathSegment(go.PathSegment.Line,.63*E,.86*a)),y.add(new go.PathSegment(go.PathSegment.Line,.77*E,.91*a)),y.add(new go.PathSegment(go.PathSegment.Line,.34*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.34*E,.78*a)),y.add(new go.PathSegment(go.PathSegment.Line,.44*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.65*E,.56*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.68*a).close()),x}),go.Shape.defineFigureGenerator("FireHazard",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.1*E,a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.29*E,0,-.25*E,.63*a,.45*E,.44*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.51*E,.42*a,.48*E,.17*a,.54*E,.35*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.59*E,.18*a,.59*E,.29*a,.58*E,.28*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*E,.6*a,.8*E,.34*a,.88*E,.43*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.88*E,.31*a,.87*E,.48*a,.88*E,.43*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,a,1.17*E,.76*a,.82*E,.8*a).close()),x.spot1=new go.Spot(.07,.445),x.spot2=new go.Spot(.884,.958),x}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(le,E,a){var x=new go.Geometry,y=.5,z=0,ne=0,re=y*Fe,ie=.4*Math.SQRT2/2+.5,ge=.5-.5*Math.SQRT2/2,fe=1,Pe=.5,Ue=.5,Me=0,lt=new go.PathFigure(ie*E,(1-ge)*a,!1);return x.add(lt),lt.add(new go.PathSegment(go.PathSegment.Bezier,fe*E,Pe*a,fe*E,.7*a,fe*E,Pe*a)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(Ue+z)*E,(Me+z)*a,(.5+y+z)*E,(.5-re+z)*a,(.5+re+z)*E,(.5-y+z)*a)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+z)*E,(.5+ne)*a,(.5-re+z)*E,(.5-y+ne)*a,(.5-y+z)*E,(.5-re+ne)*a)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(.35+z)*E,.9*a,(.5-y+z)*E,(.5+re+ne)*a,(.5-re+z)*E,.9*a)),lt.add(new go.PathSegment(go.PathSegment.Move,(.25+z)*E,.8*a)),lt.add(new go.PathSegment(go.PathSegment.Line,(.35+z)*E,.9*a)),lt.add(new go.PathSegment(go.PathSegment.Line,(.2+z)*E,.95*a)),x}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(le,E,a){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,a)),y.add(new go.PathSegment(go.PathSegment.Move,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Move,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),x}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Move,0,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Move,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),x}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var z=new go.PathFigure(E,a,!1);x.add(z);var ne=new go.PathFigure(0,.5*a,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.5*a,.2*E,.35*a,.3*E,.35*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,.7*E,.65*a,.8*E,.65*a)),x}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.5*a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a).close()),x}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.2*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*a).close());var y=new go.PathFigure(0,.2*a,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.2*a)),x}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.7*E,a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.3*E,a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,0,.6*E,.5*a,0,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.7*E,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*E,a,.4*E,.5*a,E,.5*a).close());var z=new go.PathFigure(.45*E,.73*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.7*E,.73*a)),z.add(new go.PathSegment(go.PathSegment.Move,.38*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,.63*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Move,.31*E,.27*a)),z.add(new go.PathSegment(go.PathSegment.Line,.56*E,.27*a)),x}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var z=new go.PathFigure(.335*E,(1-.555)*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.335*E,(1-.405)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*E,(1-.405)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*E,(1-.555)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,E,.68*a,(1-.12)*E,.46*a,(1-.02)*E,.54*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.68*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.335*E,(1-.555)*a,.02*E,.54*a,.12*E,.46*a)),z.add(new go.PathSegment(go.PathSegment.Line,.365*E,(1-.595)*a));var ne=.5-.285,re=.5,ie=ne,ge=Math.PI/4,fe=4*(1-Math.cos(ge))/(3*Math.sin(ge)),Pe=fe*.5,Ue=ne,Me=ne,lt=fe*Ue,Le=fe*Me;z.add(new go.PathSegment(go.PathSegment.Bezier,(re-Ue)*E,ie*a,(re-(lt+Ue)/2)*E,(ie+(Me+Le)/2)*a,(re-Ue)*E,(ie+Le)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,re*E,(ie-Me)*a,(re-Ue)*E,(ie-Le)*a,(re-lt)*E,(ie-Me)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,(re+Ue)*E,ie*a,(re+lt)*E,(ie-Me)*a,(re+Ue)*E,(ie-Le)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*E,(1-.595)*a,(re+Ue)*E,(ie+Le)*a,(re+(lt+Ue)/2)*E,(ie+(Me+Le)/2)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*E,(1-.595)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*E,(1-.555)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*E,(1-.405)*a)),z.add(new go.PathSegment(go.PathSegment.Line,.335*E,(1-.405)*a));var be=new go.PathFigure(.2*E,a,!1);x.add(be),be.add(new go.PathSegment(go.PathSegment.Line,.2*E,.8*a));var Xe=new go.PathFigure(.8*E,a,!1);return x.add(Xe),Xe.add(new go.PathSegment(go.PathSegment.Line,.8*E,.8*a)),x}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.1*E,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,a).close());var z=new go.PathFigure(.2*E,.2*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.8*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.8*a)),x}),go.Shape.defineFigureGenerator("BpmnEventError",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.33*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.33*E,.5*a).close()),x}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var z=new go.PathFigure(E,a,!1);x.add(z);var ne=new go.PathFigure(.1*E,a,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.9*E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a).close()),x}),go.Shape.defineFigureGenerator("Caution",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.05*E,a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.1*E,.8*a,0,a,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,.45*E,.1*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.55*E,.1*a,.5*E,0,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.95*E,.9*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,a,E,a,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.05*E,a));var z=.05;return y.add(new go.PathSegment(go.PathSegment.Move,(.5-z)*E,.875*a)),y.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*E,.875*a,z*E,z*a)),y.add(new go.PathSegment(go.PathSegment.Move,.5*E,.75*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.325*a,.575*E,.725*a,.625*E,.375*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.75*a,.375*E,.375*a,.425*E,.725*a)),x}),go.Shape.defineFigureGenerator("Recycle",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.45*E,.95*a,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,.95*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.185*E,.85*a,.17*E,.95*a,.15*E,.9*a)),y.add(new go.PathSegment(go.PathSegment.Line,.235*E,.75*a)),y.add(new go.PathSegment(go.PathSegment.Line,.3*E,.625*a)),y.add(new go.PathSegment(go.PathSegment.Line,.35*E,.65*a)),y.add(new go.PathSegment(go.PathSegment.Line,.275*E,.45*a)),y.add(new go.PathSegment(go.PathSegment.Line,.05*E,.45*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.05*E,.575*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.1875*E,.95*a,0,.675*a,0,.7*a)),y.add(new go.PathSegment(go.PathSegment.Move,.45*E,.95*a)),y.add(new go.PathSegment(go.PathSegment.Line,.45*E,.775*a)),y.add(new go.PathSegment(go.PathSegment.Line,.22*E,.775*a));var z=new go.PathFigure(.475*E,.2*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.225*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,.275*E,.175*a)),z.add(new go.PathSegment(go.PathSegment.Line,.325*E,.05*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.4*E,.05*a,.35*E,0,.375*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.575*E,.375*a)),z.add(new go.PathSegment(go.PathSegment.Line,.525*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.75*E,.475*a)),z.add(new go.PathSegment(go.PathSegment.Line,.85*E,.315*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.32*a)),z.add(new go.PathSegment(go.PathSegment.Line,.65*E,.05*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.575*E,0,.65*E,.05*a,.625*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.38*E,.0105*a));var ne=new go.PathFigure(.675*E,.575*a,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.875*E,.525*a)),ne.add(new go.PathSegment(go.PathSegment.Line,E,.775*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.85*E,.95*a,E,.8*a,E,.85*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.65*E,.95*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.65*E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*E,.85*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.65*E,.725*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.65*E,.775*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*E,.775*a)),ne.add(new go.PathSegment(go.PathSegment.Line,E,.775*a)),ne.add(new go.PathSegment(go.PathSegment.Move,.675*E,.575*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.775*E,.775*a)),x}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(le,E,a){var x=new go.Geometry,y=.5,z=Fe*.5,ne=new go.PathFigure(E,y*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,y*E,a,E,(y+z)*a,(y+z)*E,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,y*a,(y-z)*E,a,0,(y+z)*a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,y*E,0,0,(y-z)*a,(y-z)*E,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E,y*a,(y+z)*E,0,E,(y-z)*a));var re=new go.PathFigure(y*E,0,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,y*E,.15*a)),re.add(new go.PathSegment(go.PathSegment.Move,y*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,y*E,.85*a)),re.add(new go.PathSegment(go.PathSegment.Move,0,y*a)),re.add(new go.PathSegment(go.PathSegment.Line,.15*E,y*a)),re.add(new go.PathSegment(go.PathSegment.Move,E,y*a)),re.add(new go.PathSegment(go.PathSegment.Line,.85*E,y*a)),re.add(new go.PathSegment(go.PathSegment.Move,y*E,y*a)),re.add(new go.PathSegment(go.PathSegment.Line,.58*E,.1*a)),re.add(new go.PathSegment(go.PathSegment.Move,y*E,y*a)),re.add(new go.PathSegment(go.PathSegment.Line,.78*E,.54*a)),x}),go.Shape.defineFigureGenerator("Package",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.15*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var z=new go.PathFigure(0,.15*a,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,0)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.65*E,.15*a).close()),x.spot1=new go.Spot(0,.1),x.spot2=new go.Spot(1,1),x}),go.Shape.defineFigureGenerator("Class",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,.2*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.2*a).close());var ne=new go.PathFigure(0,.5*a,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,.5*a).close()),x}),go.Shape.defineFigureGenerator("Component",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E,a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a).close());var z=new go.PathFigure(0,.2*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.45*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Line,.45*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.2*a).close());var ne=new go.PathFigure(0,.6*a,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.45*E,.6*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.45*E,.8*a)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.6*a).close()),x}),go.Shape.defineFigureGenerator("Boat Shipment",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.15*E,.6*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.15*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,.15*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.85*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,.85*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*E,.6*a));var z=new go.PathFigure(.15*E,.6*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.85*E,.6*a)),x}),go.Shape.defineFigureGenerator("Customer/Supplier",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E,a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*E,.33*a)),y.add(new go.PathSegment(go.PathSegment.Line,.66*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.33*E,.33*a)),y.add(new go.PathSegment(go.PathSegment.Line,.33*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.33*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a).close()),x}),go.Shape.defineFigureGenerator("Workcell",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.65*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.65*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,.35*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,.35*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x}),go.Shape.defineFigureGenerator("Supermarket",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.33*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.33*a)),y.add(new go.PathSegment(go.PathSegment.Move,E,.33*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.66*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.66*a)),y.add(new go.PathSegment(go.PathSegment.Move,E,.66*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),x}),go.Shape.defineFigureGenerator("TruckShipment",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(E,.8*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,.8*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.8*a).close());var ne=.1,re=Fe*.1,ie=.2,ge=.9,fe=new go.PathFigure((ie-ne)*E,ge*a,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge-ne)*a,(ie-ne)*E,(ge-re)*a,(ie-re)*E,(ge-ne)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ie+ne)*E,ge*a,(ie+re)*E,(ge-ne)*a,(ie+ne)*E,(ge-re)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge+ne)*a,(ie+ne)*E,(ge+re)*a,(ie+re)*E,(ge+ne)*a)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ie-ne)*E,ge*a,(ie-re)*E,(ge+ne)*a,(ie-ne)*E,(ge+re)*a).close()),ne=.1,re=Fe*.1,ie=.8,ge=.9;var Pe=new go.PathFigure((ie-ne)*E,ge*a,!0);return x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge-ne)*a,(ie-ne)*E,(ge-re)*a,(ie-re)*E,(ge-ne)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ie+ne)*E,ge*a,(ie+re)*E,(ge-ne)*a,(ie+ne)*E,(ge-re)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ie*E,(ge+ne)*a,(ie+ne)*E,(ge+re)*a,(ie+re)*E,(ge+ne)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ie-ne)*E,ge*a,(ie-re)*E,(ge+ne)*a,(ie-ne)*E,(ge+re)*a).close()),x}),go.Shape.defineFigureGenerator("KanbanPost",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.2*E,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,0)),y.add(new go.PathSegment(go.PathSegment.Move,.5*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),y.add(new go.PathSegment(go.PathSegment.Move,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,a)),x}),go.Shape.defineFigureGenerator("Forklift",function(le,E,a){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*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,.4*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0));var z=new go.PathFigure(0,.5*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.8*a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.5*a));var ne=new go.PathFigure(.5*E,.8*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.5*E,.1*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*E,.1*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*E,.8*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*E,.8*a));var re=new go.PathFigure(.5*E,.7*a,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E,.7*a));var ie=.1,ge=Fe*.1,fe=.1,Pe=.9,Ue=new go.PathFigure((fe-ie)*E,Pe*a,!0);x.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,fe*E,(Pe-ie)*a,(fe-ie)*E,(Pe-ge)*a,(fe-ge)*E,(Pe-ie)*a)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ie)*E,Pe*a,(fe+ge)*E,(Pe-ie)*a,(fe+ie)*E,(Pe-ge)*a)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,fe*E,(Pe+ie)*a,(fe+ie)*E,(Pe+ge)*a,(fe+ge)*E,(Pe+ie)*a)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ie)*E,Pe*a,(fe-ge)*E,(Pe+ie)*a,(fe-ie)*E,(Pe+ge)*a)),ie=.1,ge=Fe*.1,fe=.4,Pe=.9;var Me=new go.PathFigure((fe-ie)*E,Pe*a,!0);return x.add(Me),Me.add(new go.PathSegment(go.PathSegment.Bezier,fe*E,(Pe-ie)*a,(fe-ie)*E,(Pe-ge)*a,(fe-ge)*E,(Pe-ie)*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ie)*E,Pe*a,(fe+ge)*E,(Pe-ie)*a,(fe+ie)*E,(Pe-ge)*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,fe*E,(Pe+ie)*a,(fe+ie)*E,(Pe+ge)*a,(fe+ge)*E,(Pe+ie)*a)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ie)*E,Pe*a,(fe-ge)*E,(Pe+ie)*a,(fe-ie)*E,(Pe+ge)*a)),x}),go.Shape.defineFigureGenerator("RailShipment",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.1*E,.4*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.45*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,.45*E,.9*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,.9*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,.4*a).close());var z=new go.PathFigure(.45*E,.7*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.55*E,.7*a));var ne=new go.PathFigure(.55*E,.4*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.9*E,.4*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.9*E,.9*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*E,.9*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*E,.4*a).close());var fe=.05,Pe=Fe*.05,Ue=.175,Me=.95,re=new go.PathFigure((Ue-fe)*E,Me*a,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,Ue*E,(Me-fe)*a,(Ue-fe)*E,(Me-Pe)*a,(Ue-Pe)*E,(Me-fe)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,(Ue+fe)*E,Me*a,(Ue+Pe)*E,(Me-fe)*a,(Ue+fe)*E,(Me-Pe)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,Ue*E,(Me+fe)*a,(Ue+fe)*E,(Me+Pe)*a,(Ue+Pe)*E,(Me+fe)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,(Ue-fe)*E,Me*a,(Ue-Pe)*E,(Me+fe)*a,(Ue-fe)*E,(Me+Pe)*a));var fe=.05,Pe=Fe*.05,Ue=.375,Me=.95,ie=new go.PathFigure((Ue-fe)*E,Me*a,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,Ue*E,(Me-fe)*a,(Ue-fe)*E,(Me-Pe)*a,(Ue-Pe)*E,(Me-fe)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(Ue+fe)*E,Me*a,(Ue+Pe)*E,(Me-fe)*a,(Ue+fe)*E,(Me-Pe)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,Ue*E,(Me+fe)*a,(Ue+fe)*E,(Me+Pe)*a,(Ue+Pe)*E,(Me+fe)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(Ue-fe)*E,Me*a,(Ue-Pe)*E,(Me+fe)*a,(Ue-fe)*E,(Me+Pe)*a));var fe=.05,Pe=Fe*.05,Ue=.625,Me=.95,ge=new go.PathFigure((Ue-fe)*E,Me*a,!0);x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,Ue*E,(Me-fe)*a,(Ue-fe)*E,(Me-Pe)*a,(Ue-Pe)*E,(Me-fe)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(Ue+fe)*E,Me*a,(Ue+Pe)*E,(Me-fe)*a,(Ue+fe)*E,(Me-Pe)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,Ue*E,(Me+fe)*a,(Ue+fe)*E,(Me+Pe)*a,(Ue+Pe)*E,(Me+fe)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(Ue-fe)*E,Me*a,(Ue-Pe)*E,(Me+fe)*a,(Ue-fe)*E,(Me+Pe)*a));var fe=.05,Pe=Fe*.05,Ue=.825,Me=.95,lt=new go.PathFigure((Ue-fe)*E,Me*a,!0);x.add(lt),lt.add(new go.PathSegment(go.PathSegment.Bezier,Ue*E,(Me-fe)*a,(Ue-fe)*E,(Me-Pe)*a,(Ue-Pe)*E,(Me-fe)*a)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(Ue+fe)*E,Me*a,(Ue+Pe)*E,(Me-fe)*a,(Ue+fe)*E,(Me-Pe)*a)),lt.add(new go.PathSegment(go.PathSegment.Bezier,Ue*E,(Me+fe)*a,(Ue+fe)*E,(Me+Pe)*a,(Ue+Pe)*E,(Me+fe)*a)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(Ue-fe)*E,Me*a,(Ue-Pe)*E,(Me+fe)*a,(Ue-fe)*E,(Me+Pe)*a).close());var Le=new go.PathFigure(0,a,!1);return x.add(Le),Le.add(new go.PathSegment(go.PathSegment.Line,E,a).close()),x}),go.Shape.defineFigureGenerator("Warehouse",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,.2*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.2*a).close());var ne=new go.PathFigure(.15*E,a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.15*E,.5*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.4*E,.5*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.4*E,a)),ne.add(new go.PathSegment(go.PathSegment.Line,.15*E,a).close());var re=.05,ie=Fe*.05,ge=.35,fe=.775,Pe=new go.PathFigure((ge-re)*E,fe*a,!0);return x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ge*E,(fe-re)*a,(ge-re)*E,(fe-ie)*a,(ge-ie)*E,(fe-re)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ge+re)*E,fe*a,(ge+ie)*E,(fe-re)*a,(ge+re)*E,(fe-ie)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ge*E,(fe+re)*a,(ge+re)*E,(fe+ie)*a,(ge+ie)*E,(fe+re)*a)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ge-re)*E,fe*a,(ge-ie)*E,(fe+re)*a,(ge-re)*E,(fe+ie)*a).close()),x}),go.Shape.defineFigureGenerator("ControlCenter",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Move,.1*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a).close()),x}),go.Shape.defineFigureGenerator("Bluetooth",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.75*a,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.75*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*a)),x}),go.Shape.defineFigureGenerator("Bookmark",function(le,E,a){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,a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Move,.2*E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Move,.2*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,.4*a)),x}),go.Shape.defineFigureGenerator("Bookmark",function(le,E,a){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,a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Move,.2*E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Move,.2*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,.8*E,.4*a)),x}),go.Shape.defineFigureGenerator("Globe",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Move,0,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Move,.5*E,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,.75*E,0,E,.25*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,.75*a,.75*E,a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,.25*E,a,0,.75*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,.25*a,.25*E,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,.15*E,.25*a,.15*E,.75*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,.85*E,.75*a,.85*E,.25*a)),y.add(new go.PathSegment(go.PathSegment.Move,.1675*E,.15*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8325*E,.15*a,.35*E,.3*a,.65*E,.3*a)),y.add(new go.PathSegment(go.PathSegment.Move,.1675*E,.85*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8325*E,.85*a,.35*E,.7*a,.65*E,.7*a)),x}),go.Shape.defineFigureGenerator("Wave",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.25*a,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,.25*a,.1*E,0,.2*E,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*E,.25*a,.425*E,.5*a,.575*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,E,.25*a,.8*E,0,.9*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.75*a)),y.add(new go.PathSegment(go.PathSegment.Move,0,.25*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,.75*a,.1*E,.5*a,.2*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*E,.75*a,.425*E,a,.575*E,a)),y.add(new go.PathSegment(go.PathSegment.Bezier,E,.75*a,.8*E,.5*a,.9*E,.5*a)),x}),go.Shape.defineFigureGenerator("Operator",function(le,E,a){var x=new go.Geometry,y=.3,z=Fe*.3,ne=.5,re=.7,ie=new go.PathFigure((ne-y)*E,re*a,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-y)*a,(ne-y)*E,(re-z)*a,(ne-z)*E,(re-y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+y)*E,re*a,(ne+z)*E,(re-y)*a,(ne+y)*E,(re-z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+y)*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne-y)*E,re*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a));var ge=new go.PathFigure(0,.7*a,!1);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,E,.7*a,0,0,E,0)),x}),go.Shape.defineFigureGenerator("TripleFanBlades",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.5*E,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.65*a,.65*E,.3*a,.65*E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,.35*E,.5*a,.35*E,.3*a)),y.add(new go.PathSegment(go.PathSegment.Move,.5*E,.65*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,a,.3*E,.6*a,.1*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.65*a,.2*E,a,.35*E,.95*a)),y.add(new go.PathSegment(go.PathSegment.Move,.5*E,.65*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,E,a,.7*E,.6*a,.9*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.65*a,.8*E,a,.65*E,.95*a)),x}),go.Shape.defineFigureGenerator("CentrifugalPump",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.4*E,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,0,.075*a,0,.5*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.4*E,a,0,a,.4*E,a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.4*a,.8*E,a,.85*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,0)),x}),go.Shape.defineFigureGenerator("Battery",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.1*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.1*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Move,.4*E,.1*a)),y.add(new go.PathSegment(go.PathSegment.Line,.4*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,.1*a));var z=new go.PathFigure(0,.6*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,0,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.4*a)),x}),go.Shape.defineFigureGenerator("Delete",function(le,E,a){var x=new go.Geometry,y=.5,z=Fe*.5,ne=.5,re=.5,ie=new go.PathFigure((ne-y)*E,re*a,!0);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-y)*a,(ne-y)*E,(re-z)*a,(ne-z)*E,(re-y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+y)*E,re*a,(ne+z)*E,(re-y)*a,(ne+y)*E,(re-z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+y)*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne-y)*E,re*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a));var ge=new go.PathFigure(.15*E,.5*a,!1);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.85*E,.5*a)),x}),go.Shape.defineFigureGenerator("Flag",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.1*a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Move,0,.1*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.1*a,.15*E,0,.35*E,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,E,.1*a,.65*E,.2*a,.85*E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.5*a,.85*E,.6*a,.65*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,.35*E,.4*a,.15*E,.4*a).close()),x}),go.Shape.defineFigureGenerator("Help",function(le,E,a){var x=new go.Geometry,y=.5,z=Fe*.5,ne=.5,re=.5,ie=new go.PathFigure((ne-y)*E,re*a,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-y)*a,(ne-y)*E,(re-z)*a,(ne-z)*E,(re-y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne+y)*E,re*a,(ne+z)*E,(re-y)*a,(ne+y)*E,(re-z)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+y)*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(ne-y)*E,re*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a).close()),y=.05,z=Fe*.05,ne=.5,re=.8;var ge=new go.PathFigure((ne-y)*E,re*a,!1);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re-y)*a,(ne-y)*E,(re-z)*a,(ne-z)*E,(re-y)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ne+y)*E,re*a,(ne+z)*E,(re-y)*a,(ne+y)*E,(re-z)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,ne*E,(re+y)*a,(ne+y)*E,(re+z)*a,(ne+z)*E,(re+y)*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(ne-y)*E,re*a,(ne-z)*E,(re+y)*a,(ne-y)*E,(re+z)*a).close()),ge.add(new go.PathSegment(go.PathSegment.Move,.5*E,.7*a)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.2*a,.75*E,.475*a,.75*E,.225*a)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,.35*a,.4*E,.2*a,.3*E,.25*a)),x}),go.Shape.defineFigureGenerator("Location",function(le,E,a){return new go.Geometry().add(new go.PathFigure(.5*E,a,!0).add(new go.PathSegment(go.PathSegment.Line,.75*E,.5*a)).add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,.975*E,.025*a,.5*E,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*E,.5*a,.5*E,0,.025*E,.025*a).close()).add(new go.PathSegment(go.PathSegment.Move,.5*E,.2*a)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*E,.3*a,.1*E,.1*a).close()))}),go.Shape.defineFigureGenerator("Lock",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.5*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*a));var z=new go.PathFigure(.2*E,.5*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,.2*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.3*a,.25*E,0,.75*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.3*a)),x}),go.Shape.defineFigureGenerator("Unlocked",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.5*a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*a));var z=new go.PathFigure(.2*E,.5*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,.2*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.3*a,.25*E,0,.75*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.35*a)),x}),go.Shape.defineFigureGenerator("Gear",function(le,E,a){return new go.Geometry().add(new go.PathFigure(.9375*E,.56246875*a,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*E,.4375*a)).add(new go.PathSegment(go.PathSegment.Line,.80621875*E,.4375*a)).add(new go.PathSegment(go.PathSegment.Bezier,.763*E,.3316875*a,.79840625*E,.39915625*a,.7834375*E,.3635*a)).add(new go.PathSegment(go.PathSegment.Line,.8566875*E,.23796875*a)).add(new go.PathSegment(go.PathSegment.Line,.76825*E,.14959375*a)).add(new go.PathSegment(go.PathSegment.Line,.67596875*E,.24184375*a)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*E,.19378125*a,.64228125*E,.2188125*a,.603875*E,.2021875*a)).add(new go.PathSegment(go.PathSegment.Line,.5625*E,.0625*a)).add(new go.PathSegment(go.PathSegment.Line,.4375*E,.0625*a)).add(new go.PathSegment(go.PathSegment.Line,.4375*E,.19378125*a)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*E,.239375*a,.39759375*E,.20190625*a,.36053125*E,.2176875*a)).add(new go.PathSegment(go.PathSegment.Line,.2379375*E,.14959375*a)).add(new go.PathSegment(go.PathSegment.Line,.14953125*E,.2379375*a)).add(new go.PathSegment(go.PathSegment.Line,.23934375*E,.3278125*a)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*E,.4375*a,.21765625*E,.36059375*a,.201875*E,.397625*a)).add(new go.PathSegment(go.PathSegment.Line,.0625*E,.4375*a)).add(new go.PathSegment(go.PathSegment.Line,.0625*E,.5625*a)).add(new go.PathSegment(go.PathSegment.Line,.1938125*E,.5625*a)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*E,.67596875*a,.20221875*E,.603875*a,.21884375*E,.64228125*a)).add(new go.PathSegment(go.PathSegment.Line,.1495625*E,.76825*a)).add(new go.PathSegment(go.PathSegment.Line,.238*E,.8566875*a)).add(new go.PathSegment(go.PathSegment.Line,.3316875*E,.76296875*a)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*E,.80621875*a,.36353125*E,.78340625*a,.3991875*E,.79840625*a)).add(new go.PathSegment(go.PathSegment.Line,.43753125*E,.9375*a)).add(new go.PathSegment(go.PathSegment.Line,.5625*E,.9375*a)).add(new go.PathSegment(go.PathSegment.Line,.5625*E,.80621875*a)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*E,.760625*a,.602375*E,.79809375*a,.63946875*E,.78234375*a)).add(new go.PathSegment(go.PathSegment.Line,.76828125*E,.8566875*a)).add(new go.PathSegment(go.PathSegment.Line,.85671875*E,.76825*a)).add(new go.PathSegment(go.PathSegment.Line,.76065625*E,.67221875*a)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*E,.56246875*a,.78234375*E,.63940625*a,.798125*E,.602375*a)).add(new go.PathSegment(go.PathSegment.Line,.9375*E,.56246875*a).close()).add(new go.PathSegment(go.PathSegment.Move,.5*E,.6*a)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*E,.5*a,.1*E,.1*a).close()))}),go.Shape.defineFigureGenerator("Hand",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.5*a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.1*E,.3*a,0,.375*a,.05*E,.325*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.45*E,.075*a,.3*E,.225*a,.4*E,.175*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.525*E,.075*a,.46*E,.05*a,.525*E,.05*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,.4*a,.525*E,.275*a,.475*E,.325*a)),y.add(new go.PathSegment(go.PathSegment.Line,.9*E,.4*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,.55*a,E,.4*a,E,.55*a)),y.add(new go.PathSegment(go.PathSegment.Line,.425*E,.55*a)),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,.55*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.6*E,.7*a,.675*E,.55*a,.675*E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Line,.4*E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Line,.575*E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.575*E,.85*a,.65*E,.7*a,.65*E,.85*a)),y.add(new go.PathSegment(go.PathSegment.Line,.4*E,.85*a)),y.add(new go.PathSegment(go.PathSegment.Line,.525*E,.85*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.535*E,a,.61*E,.85*a,.61*E,a)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*a,.435*E,a,0,a).close()),x}),go.Shape.defineFigureGenerator("Map",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,.2*a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.25*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Line,.25*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),y.add(new go.PathSegment(go.PathSegment.Move,.25*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.25*E,.8*a)),y.add(new go.PathSegment(go.PathSegment.Move,.5*E,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),y.add(new go.PathSegment(go.PathSegment.Move,.75*E,0)),y.add(new go.PathSegment(go.PathSegment.Line,.75*E,.8*a)),x}),go.Shape.defineFigureGenerator("Eject",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E,a)),y.add(new go.PathSegment(go.PathSegment.Line,E,a*.7)),y.add(new go.PathSegment(go.PathSegment.Line,0,a*.7).close());var z=new go.PathFigure(0,a*.6,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,0).close()),x}),go.Shape.defineFigureGenerator("Pencil",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*E,.1*a)).add(new go.PathSegment(go.PathSegment.Line,E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.9*E,a)).add(new go.PathSegment(go.PathSegment.Line,.1*E,.2*a).close()))}),go.Shape.defineFigureGenerator("Building",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*1,a*1,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,0,a*.85)),y.add(new go.PathSegment(go.PathSegment.Line,.046*E,a*.85)),y.add(new go.PathSegment(go.PathSegment.Line,.046*E,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,0,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,0,a*.3)),y.add(new go.PathSegment(go.PathSegment.Line,.046*E,a*.3)),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*E,a*.3)),y.add(new go.PathSegment(go.PathSegment.Line,E,a*.3)),y.add(new go.PathSegment(go.PathSegment.Line,E,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*E,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*E,a*.85)),y.add(new go.PathSegment(go.PathSegment.Line,E,a*.85).close());var z=new go.PathFigure(.126*E,.85*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.126*E,.45*a)),z.add(new go.PathSegment(go.PathSegment.Line,.322*E,.45*a)),z.add(new go.PathSegment(go.PathSegment.Line,.322*E,.85*a).close());var ne=new go.PathFigure(.402*E,.85*a,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.402*E,.45*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.598*E,.45*a)),ne.add(new go.PathSegment(go.PathSegment.Line,.598*E,.85*a).close());var re=new go.PathFigure(.678*E,.85*a,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.678*E,.45*a)),re.add(new go.PathSegment(go.PathSegment.Line,.874*E,.45*a)),re.add(new go.PathSegment(go.PathSegment.Line,.874*E,.85*a).close());var ie=new go.PathFigure(.5*E,.1*a,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*E,.3*a)),ie.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*E,.3*a).close()),x}),go.Shape.defineFigureGenerator("Staircase",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a*1,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E*.2,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.2,a*.8)),y.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.8)),y.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.6)),y.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.6)),y.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.4)),y.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*.4)),y.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*.2)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.2)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.15)),y.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.15)),y.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.35)),y.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.35)),y.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.55)),y.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*.55)),y.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.15,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.15,a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,0,a*.95).close()),x}),go.Shape.defineFigureGenerator("5Bars",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,a*1,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E*.184,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.184,a*(1-.184)).close());var z=new go.PathFigure(E*.204,a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.204,a*(1-.184))),z.add(new go.PathSegment(go.PathSegment.Line,E*.388,a*(1-.184*2))),z.add(new go.PathSegment(go.PathSegment.Line,E*.388,a*1).close());var ne=new go.PathFigure(E*.408,a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E*.408,a*(1-.184*2))),ne.add(new go.PathSegment(go.PathSegment.Line,E*.592,a*(1-.184*3))),ne.add(new go.PathSegment(go.PathSegment.Line,E*.592,a*1).close());var re=new go.PathFigure(E*.612,a,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E*.612,a*(1-.184*3))),re.add(new go.PathSegment(go.PathSegment.Line,E*.796,a*(1-.184*4))),re.add(new go.PathSegment(go.PathSegment.Line,E*.796,a*1).close());var ie=new go.PathFigure(E*.816,a,!0);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,E*.816,a*(1-.184*4))),ie.add(new go.PathSegment(go.PathSegment.Line,E*1,a*(1-.184*5))),ie.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1).close()),x}),go.Shape.defineFigureGenerator("PC",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.3,0).close());var z=new go.PathFigure(E*.055,.07*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.07)),z.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.1)),z.add(new go.PathSegment(go.PathSegment.Line,E*.055,a*.1).close());var ne=new go.PathFigure(E*.055,.13*a,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.13)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.16)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.055,a*.16).close());var re=new go.PathFigure(E*.055,.18*a,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.18)),re.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.21)),re.add(new go.PathSegment(go.PathSegment.Line,E*.055,a*.21).close());var ie=new go.PathFigure(E*1,0,!0);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,E*.4,0)),ie.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.65)),ie.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.65).close()),x}),go.Shape.defineFigureGenerator("Plane",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(.55*E,a,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,.4*E,.7*a)),y.add(new go.PathSegment(go.PathSegment.Line,.1*E,.475*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.35*E,.525*a,0,.4*a,.225*E,.45*a)),y.add(new go.PathSegment(go.PathSegment.Line,.4*E,.475*a)),y.add(new go.PathSegment(go.PathSegment.Line,.15*E,.35*a)),y.add(new go.PathSegment(go.PathSegment.Line,.2*E,.325*a)),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,.325*a)),y.add(new go.PathSegment(go.PathSegment.Line,.85*E,.1*a)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,.2*a,.975*E,0,E,.08*a)),y.add(new go.PathSegment(go.PathSegment.Line,.7*E,.45*a)),y.add(new go.PathSegment(go.PathSegment.Line,.6*E,.95*a)),y.add(new go.PathSegment(go.PathSegment.Line,.55*E,a).close()),x}),go.Shape.defineFigureGenerator("Key",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*1,a*.5,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E*.9,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,.4*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,.35*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.45,.35*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.3,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.15,.2*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.35*a)),y.add(new go.PathSegment(go.PathSegment.Line,0,.65*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.15,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.3,.8*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.45,.65*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,.65*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.6,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.65,.55*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.7,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.75,.55*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.8,.6*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.85,.575*a)),y.add(new go.PathSegment(go.PathSegment.Line,E*.9,.6*a).close()),y.add(new go.PathSegment(go.PathSegment.Move,.17*E,.425*a)),y.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*E,.5*a,.075*E,.075*a).close()),x}),go.Shape.defineFigureGenerator("FilmTape",function(le,E,a){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,E*0,E*.3,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,0,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.08,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.08,a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*1),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*1),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*2),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*2),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*3),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*3),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*4),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*4),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*5),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*5),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*6),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*6),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*7),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*7),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*8),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*8),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*9),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*9),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*10),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*10),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*11),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*11),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*12),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*12),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*13),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*13),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*14),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*14),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*15),a*.95)),y.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*15),a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1));var z=new go.PathFigure(0,0,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*1,a*0)),z.add(new go.PathSegment(go.PathSegment.Arc,270,-180,E*1,E*.3,E*.055)),z.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1));var ne=new go.PathFigure(E*.11,a*.1,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*1+.028*0),a*.1)),ne.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*1+.028*0),a*.8)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.11,a*.8).close());var re=new go.PathFigure(E*(.11+.24133333*1+.028*1),a*.1,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*2+.028*1),a*.1)),re.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*2+.028*1),a*.8)),re.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*1+.028*1),a*.8).close());var ie=new go.PathFigure(E*(.11+.24133333*2+.028*2),a*.1,!1);return x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*3+.028*2),a*.1)),ie.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*3+.028*2),a*.8)),ie.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*2+.028*2),a*.8).close()),x}),go.Shape.defineFigureGenerator("FloppyDisk",function(le,E,a){var x=new go.Geometry,y=8,z=y*Fe,ne=new go.PathFigure(y,0,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E*.86,0)),ne.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.14)),ne.add(new go.PathSegment(go.PathSegment.Line,E,a-y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E-y,a,E,a-z,E-z,a)),ne.add(new go.PathSegment(go.PathSegment.Line,y,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,a-y,z,a,0,a-z)),ne.add(new go.PathSegment(go.PathSegment.Line,0,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,y,0,0,z,z,0).close());var re=new go.PathFigure(E*.83,0,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E*.83,a*.3)),re.add(new go.PathSegment(go.PathSegment.Line,E*.17,a*.3)),re.add(new go.PathSegment(go.PathSegment.Line,E*.17,a*0).close());var ie=new go.PathFigure(E*.83,a*1,!1);x.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,E*.83,a*.5)),ie.add(new go.PathSegment(go.PathSegment.Line,E*.17,a*.5)),ie.add(new go.PathSegment(go.PathSegment.Line,E*.17,a*1).close());var ge=new go.PathFigure(E*.78,a*.05,!1);return x.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.05)),ge.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.25)),ge.add(new go.PathSegment(go.PathSegment.Line,E*.78,a*.25).close()),x}),go.Shape.defineFigureGenerator("SpeechBubble",function(le,E,a){var x=le?le.parameter1:NaN;(isNaN(x)||x<0)&&(x=15),x=Math.min(x,E/3),x=Math.min(x,a/3);var y=x*Fe,z=a*.8,ne=new go.Geometry,re=new go.PathFigure(x,0,!0);return ne.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E-x,0)),re.add(new go.PathSegment(go.PathSegment.Bezier,E,x,E-y,0,E,y)),re.add(new go.PathSegment(go.PathSegment.Line,E,z-x)),re.add(new go.PathSegment(go.PathSegment.Bezier,E-x,z,E,z-y,E-y,z)),re.add(new go.PathSegment(go.PathSegment.Line,E*.7,z)),re.add(new go.PathSegment(go.PathSegment.Line,E*.7,a)),re.add(new go.PathSegment(go.PathSegment.Line,E*.55,z)),re.add(new go.PathSegment(go.PathSegment.Line,x,z)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,z-x,y,z,0,z-y)),re.add(new go.PathSegment(go.PathSegment.Line,0,x)),re.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,y,y,0).close()),y>1?(ne.spot1=new go.Spot(0,0,y,y),ne.spot2=new go.Spot(1,.8,-y,-y)):(ne.spot1=go.Spot.TopLeft,ne.spot2=new go.Spot(1,.8)),ne}),go.Shape.defineFigureGenerator("Repeat",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*0,a*.45,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*.9)),y.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.9)),y.add(new go.PathSegment(go.PathSegment.Line,E*.65,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.2,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.2,a*.45).close());var z=new go.PathFigure(E*1,a*.55,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*1)),z.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.55)),z.add(new go.PathSegment(go.PathSegment.Line,E*.7,a*.55)),z.add(new go.PathSegment(go.PathSegment.Line,E*.7,a*.1)),z.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.1)),z.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*0)),z.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*0)),z.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*.55).close()),x}),go.Shape.defineFigureGenerator("Windows",function(le,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close()).add(new go.PathSegment(go.PathSegment.Move,.4*E,.4*a)).add(new go.PathSegment(go.PathSegment.Line,.4*E,.8*a)).add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a)).add(new go.PathSegment(go.PathSegment.Line,.9*E,.4*a).close()).add(new go.PathSegment(go.PathSegment.Move,.2*E,.1*a)).add(new go.PathSegment(go.PathSegment.Line,.2*E,.6*a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,.6*a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,.1*a).close()).add(new go.PathSegment(go.PathSegment.Move,.1*E,.6*a)).add(new go.PathSegment(go.PathSegment.Line,.1*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a).close()))}),go.Shape.defineFigureGenerator("Terminal",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*0,a*.1,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.1)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.9)),y.add(new go.PathSegment(go.PathSegment.Line,E*0,a*.9).close());var z=new go.PathFigure(E*.1,a*.2,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.1,a*.25)),z.add(new go.PathSegment(go.PathSegment.Line,E*.22,a*.285)),z.add(new go.PathSegment(go.PathSegment.Line,E*.1,a*.32)),z.add(new go.PathSegment(go.PathSegment.Line,E*.1,a*.37)),z.add(new go.PathSegment(go.PathSegment.Line,E*.275,a*.32)),z.add(new go.PathSegment(go.PathSegment.Line,E*.275,a*.25).close());var ne=new go.PathFigure(E*.28,a*.37,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.37)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.41)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.28,a*.41).close()),x}),go.Shape.defineFigureGenerator("Beaker",function(le,E,a){var x=new go.Geometry,y=15,z=y*Fe,ne=new go.PathFigure(E*.62,a*.475,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E,a-y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,E-y,a,E,a-z,E-z,a)),ne.add(new go.PathSegment(go.PathSegment.Line,y,a)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,a-y,z,a,0,a-z)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.38,a*.475)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.38,a*.03)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.36,a*0)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.64,a*0)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.62,a*.03).close()),z>1?(x.spot1=new go.Spot(0,0,z,z),x.spot2=new go.Spot(1,1,-z,-z)):(x.spot1=go.Spot.TopLeft,x.spot2=go.Spot.BottomRight),x}),go.Shape.defineFigureGenerator("Download",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*0,a*1,!0);x.add(y);var z=.1/.3;y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*.755,a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*.93,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.64,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.61,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.39,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.36,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.07,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.755),a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.8),a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*0,a*(1-z)).close());var ne=new go.PathFigure(E*.4,a*0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.44)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.26,a*.44)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.66)),ne.add(new go.PathSegment(go.PathSegment.Line,E*(1-.26),a*.44)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.44)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*0).close()),x}),go.Shape.defineFigureGenerator("Bin",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*0,a*1,!0);x.add(y);var z=.1/.3;return y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*.755,a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*.93,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.64,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.61,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.39,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.36,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.07,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.755),a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.8),a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*0,a*(1-z)).close()),x}),go.Shape.defineFigureGenerator("Upload",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*0,a*1,!0);x.add(y);var z=.1/.3;y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*.755,a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*.93,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.64,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.61,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.39,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.36,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*.07,a*(1-z))),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.755),a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*(1-.8),a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*0,a*(1-z)).close());var ne=new go.PathFigure(E*.5,a*0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,E*.26,a*.25)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.25)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.63)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.63)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.25)),ne.add(new go.PathSegment(go.PathSegment.Line,E*.74,a*.25).close()),x}),go.Shape.defineFigureGenerator("EmptyDrink",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*.15,a*0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E*.85,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.7,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*1).close()),x}),go.Shape.defineFigureGenerator("Drink",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*.15,a*0,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E*.85,a*0)),y.add(new go.PathSegment(go.PathSegment.Line,E*.7,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*1).close());var z=new go.PathFigure(E*.235,a*.28,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.765,a*.28)),z.add(new go.PathSegment(go.PathSegment.Line,E*.655,a*.97)),z.add(new go.PathSegment(go.PathSegment.Line,E*.345,a*.97).close()),x}),go.Shape.defineFigureGenerator("4Arrows",function(le,E,a){var x=new go.Geometry,y=new go.PathFigure(E*.5,a*0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,E*.65,a*.25)),y.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.25)),y.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.35)),y.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.5)),y.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.65)),y.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.55)),y.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.55)),y.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.65,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*1)),y.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.75)),y.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.55)),y.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*.55)),y.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*.65)),y.add(new go.PathSegment(go.PathSegment.Line,E*0,a*.5)),y.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*.35)),y.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.45)),y.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.25)),y.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*.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")},20063: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 _e={},Ct="5.0",oe={},b=null,he=!1,Be=!1,Ie=null,Ce=!1,Ge=null,Fe=null,Ye=0;Ye4?parseFloat(Qe):5};_e.setHTML5Codebase=function(Qe,Oe){Fe=Qe,rn(Qe,Oe)},_e.setJavaCodebase=_e.setJavaCodebaseVersion=_e.isCompiledInstalled=_e.setPreCompiledScriptPath=_e.setPreCompiledResourcePath=function(){},_e.setHTML5CodebaseVersion=function(Qe,Oe){var Et=parseFloat(Qe);if(Et!==NaN&&Et<5){console.log("The GeoGebra HTML5 codebase version "+Et+" is deprecated. Using version latest instead.");return}Ge=Qe,Kt(Qe,Oe)},_e.getHTML5CodebaseVersion=function(){return le},_e.getParameters=function(){return oe},_e.setFontsCSSURL=function(Qe){ne=Qe},_e.setGiacJSURL=function(Qe){},_e.setJNLPFile=function(Qe){De=Qe},_e.setJNLPBaseDir=function(Qe){},_e.inject=function(){function Qe(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var Oe="auto",Et=oe.id,Gt,vt=!1,wt=0;wt=5)return!0;var Qe=_e.getAppletObject();return Qe&&typeof Qe.recalculateEnvironments=="function"?(Qe.recalculateEnvironments(),!0):!1},_e.startAnimation=function(){var Qe=_e.getAppletObject();return Qe&&typeof Qe.startAnimation=="function"?(Qe.startAnimation(),!0):!1},_e.stopAnimation=function(){var Qe=_e.getAppletObject();return Qe&&typeof Qe.stopAnimation=="function"?(Qe.stopAnimation(),!0):!1},_e.getAppletObject=function(){var Qe=oe.id!==void 0?oe.id:"ggbApplet";return window[Qe]},_e.resize=function(){};var lt=function(Qe,Oe,Et){var Gt=document.createElement("param");Gt.setAttribute("name",Oe),Gt.setAttribute("value",Et),Qe.appendChild(Gt)},Le=function(Qe){return Qe&&Qe!=="false"},be=function(Qe,Oe,Et){ie(le)<=4.2&&(Et=!0);var Gt=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==le||ggbHTML5LoadedCodebaseIsWebSimple&&!a)&&(Gt=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var vt=document.createElement("div");vt.classList.add("appletParameters","notranslate");var wt=Oe.width,Ae=Oe.height;if(Oe.disableAutoScale=Oe.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():Oe.disableAutoScale,Oe.width!==void 0)if(ie(le)<=4.4)Le(Oe.showToolBar)&&(Oe.height-=7),Le(Oe.showAlgebraInput)&&(Oe.height-=37),Oe.width<605&&Le(Oe.showToolBar)&&(Oe.width=605,wt=605);else{var dt=100;(Le(Oe.showToolBar)||Le(Oe.showMenuBar))&&(Oe.hasOwnProperty("customToolBar")&&(Oe.customToolbar=Oe.customToolBar),dt=Le(Oe.showMenuBar)?245:155),wt=5?(Oe.appletOnLoad=function(qt){var ca=Qe.querySelector(".ggb_preview");ca&&ca.parentNode.removeChild(ca),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(et),window.GGBT_wsf_view&&$(window).trigger("resize"),ct(qt)},An||et.appendChild(ot)):vt.appendChild(ot),et.appendChild(vt),An||Qe.appendChild(et),setTimeout(function(){_e.resize()},1)}else{var Bt=document.createElement("div");Bt.className="applet_scaler",Bt.style.position="relative",Bt.style.display="block",Bt.appendChild(vt),Qe.appendChild(Bt),Oe.appletOnLoad=function(qt){_e.resize(),ct(qt)}}function Ht(qt,ca){ca&&typeof ca.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(qt,ca.appletOnLoad):renderGGBElement(qt),It("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",ca)}function ht(qt,ca){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:qt,params:ca}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(zn){Ht(zn.article,zn.params)}),html5AppletsToProcess=null)},ie(le)<5&&(qt.className+=" geogebraweb")):Ht(qt,ca)}if(Gt){scriptLoadStarted=!0;for(var On=0;On0?(on.remove(),et.attr("id","fullscreencontent").show(),jQuery(ct).append(et),window.dispatchEvent(new Event("resize"))):be(on,Oe,!1),window.GGBT_wsf_view.launchFullScreen(ct)}else Ve=Gt,be(Qe,Oe,!1);if(!window.GGBT_wsf_view)for(Ae=0;AeQe/4*3&&(on=Qe/4*3),ct=on/5.8,dt.setAttribute("src",y),dt.setAttribute("width",on),dt.setAttribute("height",ct);var et=(Qe-on)/2,An=(Oe-ct)/2;dt.style.left=et+"px",dt.style.top=An+"px",vt.appendChild(dt)}}return vt.appendChild(Ae),vt},xt=function(Qe){return Qe=Qe.toLowerCase(),Qe==="html5"||Qe==="screenshot"?Qe:"html5"},ut=["web","webSimple","web3d","tablet","tablet3d","phone"],Kt=function(Qe,Oe){if(le=Qe,Oe){rn(le,!0);return}var Et=!he;if(Et){var Gt=ie(le);!isNaN(Gt)&&Gt<4.4&&(Et=!1)}var vt,wt;window.location.protocol.substr(0,4)==="http"?vt=window.location.protocol:vt="http:";var Ae=le.indexOf("//");Ae>0?wt=le:Ae===0?wt=vt+le:wt="https://www.geogebra.org/apps/5.2.814.0/";for(var dt in ut)if(le.slice(ut[dt].length*-1)===ut[dt]||le.slice((ut[dt].length+1)*-1)===ut[dt]+"/"){rn(wt,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Et&&!b.is3D&&!b.AV&&!b.SV&&!b.CV&&!b.EV2&&!b.CP&&!b.PC&&!b.DA&&!b.FI&&!b.PV&&!Le(oe.showToolBar)&&!Le(oe.showMenuBar)&&!Le(oe.showAlgebraInput)&&!Le(oe.enableRightClick)&&(!oe.appName||oe.appName=="classic")?wt+="webSimple/":wt+="web3d/",rn(wt,!1)},rn=function(Qe,Oe){if(Qe.requirejs){Te=Qe;return}Qe.slice(-1)!=="/"&&(Qe+="/"),Te=Qe,Oe===null&&(Oe=Qe.indexOf("http")===-1),We=Oe,E="web.nocache.js",a=!1;var Et=Te.split("/");Et.length>1&&(!Oe&&Et[Et.length-2]==="webSimple"?(E="webSimple.nocache.js",a=!0):ut.indexOf(Et[Et.length-2])>=0&&(E=Et[Et.length-2]+".nocache.js")),Et=Qe.split("/"),le=Et[Et.length-3],le.substr(0,4)==="test"?le=le.substr(4,1)+"."+le.substr(5,1):(le.substr(0,3)==="war"||le.substr(0,4)==="beta")&&(le="5.0");var Gt=parseFloat(le);Gt!==NaN&&Gt<5&&Qe.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+Gt+" is deprecated. Using version latest instead."),Kt("5.0",Oe))},It=function(Qe,Oe){window.console&&window.console.log&&(!Oe||typeof Oe.showLogging=="undefined"||Oe.showLogging&&Oe.showLogging!=="false")&&console.log(Qe)};oe.material_id!==void 0?Pe(Zt):Zt();function Zt(){var Qe=Ct;Ge!==null?Qe=Ge:parseFloat(Qe)<5&&(Qe="5.0"),Kt(Qe,!1),Fe!==null&&rn(Fe,We),Ce=!0}return _e},GGBAppletUtils=function(){"use strict";function _e(){return window.GGBT_wsf_edit!==void 0}function Ct(Ce,Ge){Ge!=1?(Ce.style.transformOrigin="0% 0% 0px",Ce.style.webkitTransformOrigin="0% 0% 0px",Ce.style.transform="scale("+Ge+","+Ge+")",Ce.style.webkitTransform="scale("+Ge+","+Ge+")",Ce.style.maxWidth="initial",Ce.querySelector(".ggb_preview")!==null&&(Ce.querySelector(".ggb_preview").style.maxWidth="initial"),Ce.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Ce.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Ce.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Ce.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Ce.style.transform="none",Ce.style.webkitTransform="none")}function oe(Ce,Ge,Fe,Ye,ke,De){var Te=null;if(De!=null&&De!="")for(var We=Ce.parentNode;We!=null;)if((" "+We.className+" ").indexOf(" "+De+" ")>-1){Te=We;break}else We=We.parentNode;var Ve=0,le=0,E=0,a=0,x=0,y=0,z=0;if(Te)Ve=Te.offsetWidth,le=Math.max(Ye?Te.offsetWidth:0,Te.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(Ve=Math.min(window.innerWidth,document.documentElement.clientWidth),le=Math.min(window.innerHeight,document.documentElement.clientHeight),E=Ve):(Ve=window.innerWidth,le=window.innerHeight,E=window.innerWidth),Ce){var ne=Ce.getBoundingClientRect();ne.left>0&&ne.left<=Ve&&(ke===void 0||!ke)&&(document.dir==="rtl"?(x=Ve-ne.width-ne.left,y=E<=480?10:30):(y=ne.left,x=E<=480?10:30),a=y+x)}if(Ce&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var re=Ce.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(a=40,z=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(a=0,z=40)}}return Ce&&((Fe===void 0||!Fe)&&Ge>0&&Ge+a1&&(De=!0)),Ge&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(De=!0),!(Ce.hasOwnProperty("disableAutoScale")&&Ce.disableAutoScale))ke=b(Ce,Ge,De,Fe,Ce.scaleContainerClass);else return Ye;return De&&(!Ce.hasOwnProperty("scale")||Ye===1)?ke:Math.min(Ye,ke)}function Be(Ce){var Ge=Math.min(window.innerWidth,document.documentElement.clientWidth),Fe=Math.min(window.innerHeight,document.documentElement.clientHeight),Ye=Ce.getBoundingClientRect(),ke=(Ge-Ye.width)/2,De=(Fe-Ye.height)/2;De<0&&(De=0),Ce.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ke<40?Ce.style.left="40px":Ce.style.left=ke+"px",Ce.style.top=De+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(De<40?Ce.style.top="40px":Ce.style.top=De+"px",Ce.style.left=ke+"px")}function Ie(Ce,Ge){var Fe=Ce.querySelector(".appletParameters");if(Fe){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Ge.id!==Fe.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Ce)}if(Fe.parentElement&&/fullscreen/.test(Fe.parentElement.className))return;var Ye=he(Ge,Ce);_e()&&Fe.setAttribute("data-param-scale",Ye);for(var ke=null,De=0;De=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(_e){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(_e){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(_e){var Ct=c[_e];return Ct==null?null:Ct},r=d,webModule.__errFn=e}function B(){function _e(Ce){var Ge=Ce.lastIndexOf(rb);Ge==-1&&(Ge=Ce.length);var Fe=Ce.indexOf(sb);Fe==-1&&(Fe=Ce.length);var Ye=Ce.lastIndexOf(tb,Math.min(Fe,Ge));return Ye>=O?Ce.substring(O,Ye+P):W}function Ct(Ce){if(!Ce.match(/^\w+:\/\//)){var Ge=o.createElement(ub);Ge.src=Ce+vb,Ce=_e(Ge.src)}return Ce}function oe(){var Ce=__gwt_getMetaProperty(wb);return Ce!=null?Ce:W}function b(){for(var Ce=o.getElementsByTagName(_),Ge=O;GeO?Ce[Ce.length-P].href:W}function Be(){var Ce=o.location;return Ce.href==Ce.protocol+zb+Ce.host+Ce.pathname+Ce.search+Ce.hash}var Ie=oe();return Ie==W&&(Ie=b()),Ie==W&&(Ie=he()),Ie==W&&Be()&&(Ie=_e(o.location.href)),Ie=Ct(Ie),Ie}function C(_e){return _e.match(/^\//)||_e.match(/^[a-zA-Z]+:\/\//)?_e:webModule.__moduleBase+_e}function D(){var _e=[],Ct=O,oe=[],b=[];function he(Ce){var Ge=b[Ce](),Fe=oe[Ce];if(Ge in Fe)return Ge;var Ye=[];for(var ke in Fe)Ye[Fe[ke]]=ke;throw r&&r(Ce,Ye,Ge),null}if(__gwt_isKnownPropertyValue=function(Ce,Ge){return Ge in oe[Ce]},webModule.__getPropMap=function(){var Ce={};for(var Ge in oe)oe.hasOwnProperty(Ge)&&(Ce[Ge]=he(Ge));return Ce},webModule.__computePropValue=he,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var Be;try{Be=Cb;var Ie=Be.indexOf(Db);Ie!=-1&&(Ct=parseInt(Be.substring(Ie+P),$),Be=Be.substring(O,Ie))}catch(Ce){}return webModule.__softPermutationId=Ct,C(Be+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase=window.ENV==="build"?"/react/build/js/mathematicalGraphics/"+name+"/":"/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})()},25676:function(_e,Ct,oe){"use strict";oe.d(Ct,{Ax:function(){return Ie},Ds:function(){return Ce},KI:function(){return Fe},SI:function(){return Be},f1:function(){return he}});var b=oe(11662);function he(Ye){let ke=!0;if(Ye.length>0){for(let De=0;Dea in E?Be(E,a,{enumerable:!0,configurable:!0,writable:!0,value:x}):E[a]=x,De=(E,a)=>{for(var x in a||(a={}))Fe.call(a,x)&&ke(E,x,a[x]);if(Ge)for(var x of Ge(a))Ye.call(a,x)&&ke(E,x,a[x]);return E},Te=(E,a)=>Ie(E,Ce(a)),We=(E,a)=>{var x={};for(var y in E)Fe.call(E,y)&&a.indexOf(y)<0&&(x[y]=E[y]);if(E!=null&&Ge)for(var y of Ge(E))a.indexOf(y)<0&&Ye.call(E,y)&&(x[y]=E[y]);return x},Ve=(E,a,x)=>new Promise((y,z)=>{var ne=ge=>{try{ie(x.next(ge))}catch(fe){z(fe)}},re=ge=>{try{ie(x.throw(ge))}catch(fe){z(fe)}},ie=ge=>ge.done?y(ge.value):Promise.resolve(ge.value).then(ne,re);ie((x=x.apply(E,a)).next())});const le=E=>{var a=E,{children:x}=a,y=We(a,["children"]);const[z,ne]=(0,he.useState)(!1);return he.createElement(b.ZP,Te(De({},y),{loading:z,onClick:re=>Ve(void 0,null,function*(){try{ne(!0),yield y.onClick(re),ne(!1)}catch(ie){console.error(ie),ne(!1)}})}),x)}},40888:function(_e,Ct,oe){"use strict";var b=oe(86204),he=oe.n(b),Be=Object.defineProperty,Ie=(Ye,ke,De)=>ke in Ye?Be(Ye,ke,{enumerable:!0,configurable:!0,writable:!0,value:De}):Ye[ke]=De,Ce=(Ye,ke,De)=>Ie(Ye,typeof ke!="symbol"?ke+"":ke,De),Ge=(Ye,ke,De)=>new Promise((Te,We)=>{var Ve=a=>{try{E(De.next(a))}catch(x){We(x)}},le=a=>{try{E(De.throw(a))}catch(x){We(x)}},E=a=>a.done?Te(a.value):Promise.resolve(a.value).then(Ve,le);E((De=De.apply(Ye,ke)).next())});class Fe extends b.EventEmitter{constructor(ke,De){super(),Ce(this,"url"),Ce(this,"body"),Ce(this,"fullContent",""),Ce(this,"controller",null),Ce(this,"buffer",""),this.url=ke,this.body=De}startStream(){return Ge(this,null,function*(){this.controller=new AbortController;const{signal:ke}=this.controller;try{const De=yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"include",body:JSON.stringify(this.body),signal:ke});if(!De.ok)throw new Error(`\u8BF7\u6C42\u5931\u8D25: ${De.status}`);const Te=De.headers.get("content-type");if(!Te)throw new Error("\u54CD\u5E94\u5934\u7F3A\u5C11 content-type");if(Te.includes("application/json")){const le=yield De.json();this.emit("error",le);return}if(!Te.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const We=De.body.getReader(),Ve=new TextDecoder("utf-8");for(;;){const{done:le,value:E}=yield We.read();if(le)break;const a=Ve.decode(E,{stream:!0});this.buffer+=a;const x=this.buffer.split(` `);this.buffer=x.pop()||"";for(const y of x)if(y.startsWith("data:")){const z=y.slice(5).trim();if(z==="[DONE]")break;try{const ne=JSON.parse(z);ne.data&&this.handleData(ne.data)}catch(ne){this.buffer=y+` `+this.buffer,console.error("\u89E3\u6790 JSON \u5931\u8D25:",ne)}}}this.emit("done",this.fullContent)}catch(De){De.name==="AbortError"?this.emit("cancelled",this.fullContent):this.emit("error",De.message)}})}handleData(ke){ke.content&&(this.fullContent+=ke.content,this.emit("data",{chunk:ke,full:this.fullContent}))}cancelRequest(){var ke;(ke=this.controller)==null||ke.abort()}}Ct.Z=Fe},90973:function(_e,Ct,oe){"use strict";oe.d(Ct,{Z:function(){return ut}});var b=oe(59301),he=oe(62052),Be=oe(66328),Ie=oe(84821),Ce=oe(18369),Ge=oe(56102),Fe={answer:"answer___UngkO",imgWrap:"imgWrap___ORTRf",codeCopy:"codeCopy___re8vm",runCode:"runCode___MYs9m"},Ye=oe(8591),ke=oe(11611),De=oe(19825),Te=oe(30084),We=oe(10787),Ve=oe(10939),le=oe(43428),E=oe(95237),a=oe(43604),x={smartWrp:"smartWrp___NjRcB"},y=oe(58466),z=oe(2751),ne=oe(47451),re=oe(59301),ie=(Kt,rn,It)=>new Promise((Zt,Qe)=>{var Oe=vt=>{try{Gt(It.next(vt))}catch(wt){Qe(wt)}},Et=vt=>{try{Gt(It.throw(vt))}catch(wt){Qe(wt)}},Gt=vt=>vt.done?Zt(vt.value):Promise.resolve(vt.value).then(Oe,Et);Gt((It=It.apply(Kt,rn)).next())});const ge=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

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